[darcs-users] darcs patch: Revert --restrict-paths removal. (and 2 more)
David Caldwell
david at porkrind.org
Mon Jan 5 10:36:09 UTC 2009
On 1/4/09 4:38 PM +0000 Eric Kow wrote:
> Hi David,
>
> I'm almost ready to apply this patch, thanks to Florent's review, but
> before I do so, I would like to see a use case of where this would
> actually be a good thing to have. Could you supply one, preferably in
> the form a a user manual patch?
I have a few fake darcs repos in the test section of a perl module I'm
writing. I want to be able to test the module without having darcs
installed so that the CPAN automated testers can do it for me.
> P.S. typo: s/tempering/tampering/
I'm going to add a new patch to fix it because that particular patch was a
straight rollback patch (I didn't write those docs) so it seems a little
dirty to rollback and then amend... But if you'd rather have it that way
then let me know and I'll do it.
> On Sun, Jan 04, 2009 at 17:29:27 +0100, Florent Becker wrote:
>
>> Would it make sense to have a per-repository whitelist of safe paths
>> which would otherwise be rejected as unsafe?
It would actually make a little more sense in my case. What might make even
more sense is to change the path restriciton checker. It appears to
complain if "_darcs" is anywhere in the path, when it seems to me it's only
bad if it's the first component. That leaves symlinks and "x/../_darcs"
style paths as a possible attack. ".." is already taken care of in the
is_malicious_path function. Symlinks don't appear naturally in darcs, but
specific repositories might create them with a makefile or something. To be
very safe it would require a "resolve symlinks" pass before the check,
which might be annoying to implement.
I've added one new patch to this set. It improves the error reporting in
the malicious path situation. When I try to pull my repo's testing patch I
now get this:
> darcs failed: Malicious path in patch:
> ./t/darcs-2/_darcs
> ./t/darcs-2/_darcs/format
> ./t/darcs-2/_darcs/hashed_inventory
> ./t/darcs-2/_darcs/pristine.hashed
> ./t/darcs-hashed/_darcs
> ./t/darcs-hashed/_darcs/format
> ./t/darcs-hashed/_darcs/hashed_inventory
> ./t/darcs-hashed/_darcs/pristine.hashed
>
./t/darcs-hashed/_darcs/pristine.hashed/da39a3ee5e6b4b0d3255bfef95601890afd80709
> ./t/darcs-old/_darcs
> ./t/darcs-old/_darcs/inventory
> ./t/darcs-old/_darcs/pristine
>
> If you are sure this is ok then you can run again with the
--dont-restrict-paths option.
I think this is a better thing to do than a straight documentation patch,
as no one really cares about the option until you have to avoid the check.
And when the issue hits you it's nice to have the info right there instead
of having to root around in the manual (or the source code) for what the
error means and what you can do about it.
-David
-------------- next part --------------
Fri Jan 2 02:17:05 PST 2009 David Caldwell <david at porkrind.org>
* Revert --restrict-paths removal.
Fri Jan 2 02:17:26 PST 2009 David Caldwell <david at porkrind.org>
* Add --restrict-paths (and --dont-restrict-paths) to "darcs pull".
Fri Jan 2 02:17:37 PST 2009 David Caldwell <david at porkrind.org>
* Add --restrict-paths (and --dont-restrict-paths) to "darcs apply".
Sun Jan 4 18:42:08 PST 2009 David Caldwell <david at porkrind.org>
* Fix typo in --dont-restrict-paths documentation.
Mon Jan 5 02:16:28 PST 2009 David Caldwell <david at porkrind.org>
* Print malicious paths and optional way around them when they cause a failure.
New patches:
[Revert --restrict-paths removal.
David Caldwell <david at porkrind.org>**20090102101705
Ignore-this: 1fba1f9a589aaabb1fa27a268f7c972e
] hunk ./src/Darcs/Arguments.lhs 32
DarcsOption( .. ), option_from_darcsoption,
help, list_options, list_files,
help_on_match,
- any_verbosity, disable,
+ any_verbosity, disable, restrict_paths,
notest, test, working_repo_dir,
testByDefault,
remote_repo,
hunk ./src/Darcs/Arguments.lhs 463
working_repo_dir :: DarcsOption
possibly_remote_repo_dir :: DarcsOption
disable :: DarcsOption
+restrict_paths :: DarcsOption
pipe_interactive, all_pipe_interactive, all_interactive, all_patches, interactive, pipe,
human_readable, diffflags, allow_problematic_filenames, noskip_boring,
hunk ./src/Darcs/Arguments.lhs 1498
\end{code}
\begin{options}
+--dont-restrict-paths, --restrict-paths
+\end{options}
+By default darcs is only allowed to manage and modify files and directories
+contained inside the current repository and not being part of any darcs
+repository's meta data (including the current one). This is mainly for
+security, to protect you from spoofed patches modifying arbitrary files
+with sensitive data---say, in your home directory---or tempering with any
+repository's meta data to switch off this safety guard.
+
+But sometimes you may want to manage a group of ``sub'' repositories'
+preference files with a global repository, or use darcs in some other
+advanced way. The best way is probably to put
+\verb!ALL dont-restrict-paths! in \verb!_darcs/prefs/defaults!. This turns
+off all sanity checking for file paths in patches.
+
+Path checking can be temporarily turned on with \verb!--restrict-paths! on
+the command line, when pulling or applying unknown patches.
+
+\begin{code}
+restrict_paths =
+ DarcsMultipleChoiceOption
+ [DarcsNoArgOption [] ["restrict-paths"] RestrictPaths
+ "don't allow darcs to touch external files or repo metadata",
+ DarcsNoArgOption [] ["dont-restrict-paths"] DontRestrictPaths
+ "allow darcs to modify any file or directory (unsafe)"]
+\end{code}
+
+\begin{options}
--allow-unrelated-repos
\end{options}
By default darcs checks and warns user if repositories are unrelated when
[Add --restrict-paths (and --dont-restrict-paths) to "darcs pull".
David Caldwell <david at porkrind.org>**20090102101726
Ignore-this: dd3bc04632d341be16709e0aee6753ec
] hunk ./src/Darcs/Commands/Pull.lhs 41
test, dry_run,
set_default, summary, working_repo_dir, remote_repo,
set_scripts_executable, nolinks,
- network_options, umask_option, allow_unrelated_repos
+ network_options, umask_option, allow_unrelated_repos, restrict_paths
)
import Darcs.Repository ( Repository, SealedPatchSet, identifyRepositoryFor, withGutsOf,
amInRepository, withRepoLock, ($-), tentativelyMergePatches,
hunk ./src/Darcs/Commands/Pull.lhs 97
ignoretimes,
remote_repo,
set_scripts_executable,
- umask_option] ++
+ umask_option,
+ restrict_paths] ++
network_options,
command_basic_options = [match_several,
all_interactive,
[Add --restrict-paths (and --dont-restrict-paths) to "darcs apply".
David Caldwell <david at porkrind.org>**20090102101737
Ignore-this: f6ab937573bf0d5397361ddefed902c9
] hunk ./src/Darcs/Commands/Apply.lhs 46
all_interactive, sendmail_cmd,
leave_test_dir, happy_forwarding,
dry_run, print_dry_run_message_and_exit,
- set_scripts_executable
+ set_scripts_executable, restrict_paths
)
import qualified Darcs.Arguments as DarcsArguments ( cc )
import Darcs.RepoPath ( toFilePath, useAbsoluteOrStd )
hunk ./src/Darcs/Commands/Apply.lhs 108
happy_forwarding,
sendmail_cmd,
ignoretimes, nocompress,
- set_scripts_executable, umask_option],
+ set_scripts_executable, umask_option,
+ restrict_paths],
command_basic_options = [verify,
all_interactive]++dry_run++
[apply_conflict_options,
[Fix typo in --dont-restrict-paths documentation.
David Caldwell <david at porkrind.org>**20090105024208
Ignore-this: 16197eeef34dedddeda036b47747f234
] hunk ./src/Darcs/Arguments.lhs 1504
contained inside the current repository and not being part of any darcs
repository's meta data (including the current one). This is mainly for
security, to protect you from spoofed patches modifying arbitrary files
-with sensitive data---say, in your home directory---or tempering with any
+with sensitive data---say, in your home directory---or tampering with any
repository's meta data to switch off this safety guard.
But sometimes you may want to manage a group of ``sub'' repositories'
[Print malicious paths and optional way around them when they cause a failure.
David Caldwell <david at porkrind.org>**20090105101628
Ignore-this: cdb706087869e19e046bc0dd424ca38d
] hunk ./src/Darcs/CommandsAux.hs 55
check_paths :: Patchy p => [DarcsFlag] -> FL p C(x y) -> IO ()
check_paths opts patches
= if check_is_on && or (mapFL has_malicious_path patches)
- then fail "Malicious path"
- -- TODO: print patch(es) and path(s)
+ then fail $ unlines $ ["Malicious path in patch:"] ++
+ (map (\s -> " " ++ s) $ concat $ mapFL malicious_paths patches) ++
+ ["", "If you are sure this is ok then you can run again with the --dont-restrict-paths option."]
+ -- TODO: print patch(es)
-- NOTE: should use safe Doc printer, this can be evil chars
else return ()
where
hunk ./src/Darcs/CommandsAux.hs 71
has_malicious_path :: Patchy p => p C(x y) -> Bool
has_malicious_path patch =
+ case malicious_paths patch of
+ [] -> False
+ _ -> True
+
+malicious_paths :: Patchy p => p C(x y) -> [String]
+malicious_paths patch =
let paths = list_touched_files patch in
hunk ./src/Darcs/CommandsAux.hs 78
- any is_malicious_path paths
+ filter is_malicious_path paths
{-|
What is a malicious path?
Context:
[TAG 2.2.0pre2
Petr Rockai <me at mornfall.net>**20090104115909]
[Bump darcs version to 2.2.0pre2, in configure.ac.
Petr Rockai <me at mornfall.net>**20090104115743]
[Distribute README in Cabal-based tarballs.
Petr Rockai <me at mornfall.net>**20090104111358]
[Cabal does not allow listing of autogen'd modules in exposed-modules.
Petr Rockai <me at mornfall.net>**20090104111344]
[Fix a bug in release/distributed-context generation in Setup.lhs.
Petr Rockai <me at mornfall.net>**20090104111242]
[Fix an off-by-one error in patch counting code in Setup.lhs.
Petr Rockai <me at mornfall.net>**20090104111202]
[Bump version to 2.1.98.2, in darcs.cabal.
Petr Rockai <me at mornfall.net>**20090104085835]
[Tweak cabal build instructions.
Trent W. Buck <trentbuck at gmail.com>**20090104101303]
[make stringify cut the string
florent.becker at ens-lyon.org**20090104102125
Ignore-this: e1a0cd83fce5085f60b812d894ca26e7
This avoids choking utilities such as grep (or emacs' internal grep) which parse haskell files line-by-line.
]
[Resolve conflicts in GNUmakefile.
Petr Rockai <me at mornfall.net>**20090104085641]
[Resolve conflicts in darcs.cabal.
Petr Rockai <me at mornfall.net>**20090104085621]
[TAG 2.2.0pre1
Petr Rockai <me at mornfall.net>**20081219015734]
[Bump cabal version to 2.1.98.1.
Petr Rockai <me at mornfall.net>**20081219013855]
[Include autoconf.mk in GNUmakefile for make dist.
Petr Rockai <me at mornfall.net>**20081219013036]
[Add Cabal-based build instructions to README.
Petr Rockai <me at mornfall.net>**20090104092142]
[make unit's return value depend on all tests
Florent Becker <florent.becker at ens-lyon.org>**20090102184930
Ignore-this: fce3636c70bcb4a80413823c88e3ac6a
]
[Resolve issue1285: remove "cabal test" intermediaries.
Trent W. Buck <trentbuck at gmail.com>**20090103095347]
[Resolve issue1206: Countable Nouns.
Trent W. Buck <trentbuck at gmail.com>**20090101062452
Use the conventional term "Countable" instead of "Numbered".
]
[remove --restrct-paths from the manual
Jason Dagit <dagit at codersbase.com>**20081115205752]
[remove unused export restrict_paths in Arguments
Jason Dagit <dagit at codersbase.com>**20081115205717]
[Workaround issue1292: disable Haskeline by default, for now.
Judah Jacobson <judah.jacobson at gmail.com>**20081230062721
Ignore-this: 36e64538118d4788a6f6d50a6bbdb930
The Haskeline backend doesn't return non-ASCII input in a way that Darcs can process. The next
release of Haskeline should make it easier to resolve this issue.
]
[Improve readability of bug reporting.
Trent W. Buck <trentbuck at gmail.com>**20081226120833
Moving "at <location>" to the first line gives the descriptive string
a line all to itself. For example, darcs show bug:
darcs: bug at src/Darcs/Commands/ShowBug.lhs:57 compiled Nov 4 2008 12:05:43
This is actually a fake bug in darcs.
]
[Use imperative mood for primitive matcher help.
Trent W. Buck <trentbuck at gmail.com>**20081228114434]
[Check GADT witnesses when doing Cabal-based builds.
Petr Rockai <me at mornfall.net>**20081228111229]
[Fix haddock error
Eric Kow <kowey at darcs.net>**20081227204218
Ignore-this: 60f05d20e5f37312f6b477067114fac7
]
[Haddock for primitiveMatchers (untested).
Trent W. Buck <trentbuck at gmail.com>**20081227141921]
[Rewrite primitive matcher examples.
Trent W. Buck <trentbuck at gmail.com>**20081227141845]
[Rewrite "darcs help --match" output.
Trent W. Buck <trentbuck at gmail.com>**20081227141819
Add an introductory paragraph, and put all the examples into a single
code block, since one-line paragraphs are kind hard to read.
]
[Delete superfluous "Introduction" headings.
Trent W. Buck <trentbuck at gmail.com>**20081227034129
I don't think it's useful to grant a subsection heading to the single
introductory paragraph of a section.
]
[Refactor error text for readability.
Trent W. Buck <trentbuck at gmail.com>**20081109144007]
[Tweak user manual's title page.
Trent W. Buck <trentbuck at gmail.com>**20081227011031
It annoyed me that the user manual was just called "Darcs", not "Darcs
User Manual".
]
[Improve readability of bug reporting.
Trent W. Buck <trentbuck at gmail.com>**20081226104243
Moving "at <location>" to the first line gives the descriptive string
a line all to itself. For example, darcs show bug:
darcs: bug at src/Darcs/Commands/ShowBug.lhs:57 compiled Nov 4 2008 12:05:43
This is actually a fake bug in darcs.
]
[Haddockize developer comment.
Trent W. Buck <trentbuck at gmail.com>**20081214041902]
[Fix a memory leak in Darcs.Repository.Repair.
Petr Rockai <me at mornfall.net>**20081223122227
The way we repaired patches forced the whole repository into memory. We now
only store patches that we have actually changed and "zip" them back into the
repository using replaceInFL.
]
[resolve issue1273: Work around a race in download code.
Petr Rockai <me at mornfall.net>**20081225211634
When we had multiple darcsen downloading the same repo, with cache enabled,
they would stomp on each other's temporary files and die horribly.
]
[Fix GNU-isms (cp -a, sed -i) in tests/repair-corrupt.sh.
Petr Rockai <me at mornfall.net>**20081224083145]
[Darcs.ColorPrinter: factor out getPolicy call
gwern0 at gmail.com**20081222180227
Ignore-this: aee5b5415ee8bbfe1dac06e240b90080
Less redundancy. 'getPolicy' is being called with the same args, and it's
not like the environmental variables are going to change in between each
call.
]
[Add a rudimentary test for repair of a corrupt repository.
Petr Rockai <me at mornfall.net>**20081223084036]
[Make it possible to run just specific tests from cabal commandline.
Petr Rockai <me at mornfall.net>**20081223083742
All of `cabal test repair-corrupt bugs/newlines bugs/issue27.sh` should work as
expected. The implementation is not very efficient, but seems to work fine.
]
[Neatify "cabal test" option munging in Setup.lhs.
Petr Rockai <me at mornfall.net>**20081223080811]
[Sort the list of tests that are run by cabal.
Petr Rockai <me at mornfall.net>**20081223073642]
[Remove now-unused replacePristine.
Petr Rockai <me at mornfall.net>**20081210065138]
[Add missing tests-related files to darcs.cabal.
Petr Rockai <me at mornfall.net>**20081219012851]
[Bump version to 2.2.0pre1.
Petr Rockai <me at mornfall.net>**20081219010555]
[resolve issue948: rewrite darcsman.
Trent W. Buck <trentbuck at gmail.com>**20081221081934
Significant changes are:
- Avoid duplicating groups from TheCommands.
- Due to growing command_helps, list commands in SYNOPSIS.
- Use subsections (.SS) for groups.
- Include (with fancy markup!) command arguments.
- Include darcs help --match.
- Copy-and-paste description from darcs.cabal.
- Remove AUTHORS section as suggested by man-pages(7).
- Declare my copyright.
]
[Tweak punctuation in "darcs help --match".
Trent W. Buck <trentbuck at gmail.com>**20081221080949
Manpages treat apostrophes in the first line specially. Use `TeX
style' quotes instead, so this string can be included in the manpage.
Also omit mention of &&, || and ! until I find time to clarify that
they are aliases for the human-readable and, or and not.
]
[To "make dist" we need .depend.
Trent W. Buck <trentbuck at gmail.com>**20081219014641
I have also excluded slowdisttest, because it depends on darcs (via
test_unit) and thus needs to compile things.
Finally, splitting the "include" line in two again hopefully fixes a
confusing transient error because to build .depend, autoconf.mk must
already be built and sourced!
This is essentially a partial rollback of the following patches:
Sat Oct 25 12:22:08 EST 2008 Trent W. Buck <trentbuck at gmail.com>
* Refactor targets that prevent "include autoconf.mk" (and .depend).
As well as being clearer, this is now a good deal more liberal. For
example, it won't rebuild .depend during "make maintainer-clean".
Sun Nov 2 15:53:59 EST 2008 Trent W. Buck <trentbuck at gmail.com>
* Merge autoconf.mk and .depend inclusion.
In a declarative expert system like Make, it shouldn't matter where
.depend is included. Actual experiments suggest that it does, and
putting it at the top will help avoid illogical behaviour.
]
[Bump darcs version to 2.2 in cabal file.
Salvatore Insalaco <kirby81 at gmail.com>**20081217104953
Ignore-this: 14e33b627ddde6759addb286f6fe2fa
]
[Remove pkgconfig check for curl on Windows.
Salvatore Insalaco <kirby81 at gmail.com>**20081217104754
Ignore-this: 663d4019bb8da4277a2b3a96450e3cc4
]
[Disable haskeline on Windows by default.
Salvatore Insalaco <kirby81 at gmail.com>**20081217104336
Ignore-this: 9c1f7748012a3f836b741632de9c80df
]
[Add missing modules (Autoconf, ThisVersion) to the cabal file
Ian Lynagh <igloo at earth.li>**20081216011742]
[fix list command to select accepted patches only
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081215201740
Ignore-this: 3578f67dfa0a05ac350b4398592233ba
]
[Have "make tags" generate TAGS, too.
Trent W. Buck <trentbuck at gmail.com>**20081213085308]
[Move format documentation hunks from Init.lhs to formats.tex.
Trent W. Buck <trentbuck at gmail.com>**20081214032133
This discussion already takes place in formats.tex; having parts of it
in Init.lhs is confusing both for readers and for contributors trying
to keep the documentation up-to-date.
This patch doesn't attempt to refactor or properly integrate the
hunks; it just moves them verbatim.
]
[The cache is enabled by default.
Trent W. Buck <trentbuck at gmail.com>**20081214024439]
[Minor cleanups in Get, Convert, Flags
Florent Becker <florent.becker at ens-lyon.org>**20081212155718
Ignore-this: d6e2418e6225d8f40bb22edc94c68fed
]
[Remove --no-pristine test which is no longer relevant
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081212104743
Ignore-this: 6fd58a45ff45c53d723d79057502881f
]
[Remove unused import
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081212104644
Ignore-this: 58ba17e56f47fed8e535b5b3a7f43000
]
[Do not use replacePristine in copyFullRepository.
Petr Rockai <me at mornfall.net>**20081210065120]
[fix regression in default behavior or check.
David Roundy <droundy at darcs.net>**20081208131416
Ignore-this: 28a7edd9f5b3afddcf246fd1657775f9
At the same time, clean up default handling of test just a tad.
]
[fix bug in check.
David Roundy <droundy at darcs.net>**20081207141115
Ignore-this: a177fb977e77c79cd5d0d0ba4ca987d2
]
[Tell user it's safe to abort after external merge
Florent Becker <florent.becker at ens-lyon.org>**20081212100311
Ignore-this: 9dcc44849ccf3acb79a4a5dcc35cd6ba
]
[avoid ln -f flag to fix api doc building
Simon Michael <simon at joyful.com>**20081209204655
Ignore-this: b09aa246e752cfa0a701090b9b94252
]
[Remove the choice between --pristine-tree and --no-pristine-tree.
Eric Kow <kowey at darcs.net>**20081209110027
Ignore-this: b3e36e81099e912663d3a1b6268f8848
This just removes the switches and their documentation, not the code that
actually creates such repositories or recognises --no-pristine-tree
repositories.
]
[fix bug in checkpoint generation.
David Roundy <droundy at darcs.net>**20081210154208
Ignore-this: 1eee1b2d44e459096ac59eb0dd837afc
]
[Remove obsolete (unused) checkPristineAgainstCwd and checkPristine.
Petr Rockai <me at mornfall.net>**20081210062937]
[Fix build flags of darcs executable in cabal.
Salvatore Insalaco <kirby81 at gmail.com>**20081209184405
Ignore-this: fa6c521300d6a60237418e22733ad6fa
]
[Remove all references to makeRelative
Salvatore Insalaco <kirby81 at gmail.com>**20081209183850
Ignore-this: 846533678645a299a976ec48d2719cdf
]
[Fix whitespace in Darcs.ProgressPatches
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081209164902
Ignore-this: 6e9aa4ae6f857ea904a48744aeb80bf2
]
[add a list all selected things command to text_select
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081209155352
Ignore-this: e3ec0367f2a52aaa0f7bd4e273c12e81
]
[resolve issue1249: remove makeRelative usage in defaultrepo
Salvatore Insalaco <kirby81 at gmail.com>**20081209121553
Ignore-this: 2670c16531c03c93b7d82111c28d51e4
makeRelative causes issues with Windows absolute paths
e.g. c:\something. It is used only in defaultrepo, and
it appears to be a leftover from previous path management.
This patch removes it, making defaultrepo management more
like "regular" command line repo management.
Note that the makeRelative code is not removed in this
patch, just the usage.
]
[resolve issue1165: tag feedback for progress in get
florent.becker at ens-lyon.org**20081209115229
Ignore-this: 91d3217e38e6b8e5d581ef27059c1cc9
Make darcs get print the following as its progression indicator:
42/1664 back to: TAG ada strawberry
Where "ada strawberry" is the most recent tag that was effectively fetched.
This makes it easier to know when to hit Ctrl-C
]
[Some cleaning in progress.hs, move it to src/, split darcsish bits
florent.becker at ens-lyon.org**20081209112803
Ignore-this: 96ed60798c193b67821399476786f859
Split src/Darcs/Progress.hs into:
- src/Progress.hs for the general functionalities, might be worth releasing
outside darcs proper
- src/Darcs/ProgressPatches.hs for the darcsish stuff, progressFL
and progressRL
]
[Simplify build dependencies: put is_tag in Patch.Info
florent.becker at ens-lyon.org**20081208102357
Ignore-this: b6d44e86a4f12e9dc5f8f32bbc50df23
]
[cut unused run_test
David Roundy <droundy at darcs.net>**20081207141201
Ignore-this: cdc8a2b58695be5ac318b3e5634339cd
]
[resolve issue1247: avoid reference to removed $CTAGS variable.
Trent W. Buck <trentbuck at gmail.com>**20081207022013
This was just a simple typo on my part.
]
[Further simplify "darcs put" help.
Trent W. Buck <trentbuck at gmail.com>**20081207040323]
[Refactor "darcs put" help.
Trent W. Buck <trentbuck at gmail.com>**20081206112917]
[Expose modules as a library in darcs.cabal
Eric Kow <kowey at darcs.net>**20081125102729
Ignore-this: 4bfd8b48d4bf0519e7cb803ae62266b3
]
[Added support for using the utf8-string library if it's available
Rob Hoelz <rob at hoelzro.net>**20080809171510]
[Refactor "darcs dist" help.
Trent W. Buck <trentbuck at gmail.com>**20081130011414]
[tests/*: rm IFS hack from selected subset
gwern0 at gmail.com**20081130234814
Ignore-this: 46af9351b82f9d8d8b497e9c1cce6b21
]
[Fix haddock error
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081130111241
Ignore-this: ab270cce2bc0aaa5c2d1f284705a027d
]
[Refactor "darcs tag" help.
Trent W. Buck <trentbuck at gmail.com>**20081129224224]
[Refactor "darcs check" help.
Trent W. Buck <trentbuck at gmail.com>**20081129120817]
[Refactor "darcs unrevert" help.
Trent W. Buck <trentbuck at gmail.com>**20081129115913]
[Enable haskeline by default in the Cabal file.
Judah Jacobson <judah.jacobson at gmail.com>**20081129165047
Ignore-this: feeab33d5e512487a13b1a09300f5a60
]
[Don't use the terminfo package on Windows (Cabal).
Judah Jacobson <judah.jacobson at gmail.com>**20081128194821
This lets us use terminfo by default while not breaking the Windows build.
]
[Rollback disabling of terminfo by default.
Judah Jacobson <judah.jacobson at gmail.com>**20081128173611]
[Refactor "darcs mark-conflicts" help.
Trent W. Buck <trentbuck at gmail.com>**20081129015407]
[Refactor "darcs whatsnew" help.
Trent W. Buck <trentbuck at gmail.com>**20081129045756]
[resolve issue1238: refactor "darcs setpref" help.
Trent W. Buck <trentbuck at gmail.com>**20081128125305]
[Disable terminfo by default (Cabal)
Eric Kow <kowey at darcs.net>**20081128120951
Ignore-this: 18de9bcaf3b380cf8c1d1b6565321297
Salvatore points out that the terminfo package does not install on Windows
]
[Refactor take/repeat as replicate.
Trent W. Buck <trentbuck at gmail.com>**20081128114653]
[Refactor "darcs transfer-mode" help.
Trent W. Buck <trentbuck at gmail.com>**20081127123101]
[Bump cabal version to 2.1.2.3
Eric Kow <kowey at darcs.net>**20081126195252
Ignore-this: 78bcf676f83a67ff547ad9aa529166c3
]
[Disable external-zlib by default (darcs.cabal)
Eric Kow <kowey at darcs.net>**20081126195237
Ignore-this: bfac85e5425df8d8386abd586934d17d
]
[Remove unit testing modules form darcs.cabal
Eric Kow <kowey at darcs.net>**20081125101839
Ignore-this: 66a158494870dd8d548d66fc6a7658eb
]
[Refactor "darcs add" help.
Trent W. Buck <trentbuck at gmail.com>**20081124134407]
[Refactor "darcs amend-record" help.
Trent W. Buck <trentbuck at gmail.com>**20081124134349]
[Refactor "darcs repair" help.
Trent W. Buck <trentbuck at gmail.com>**20081124134152]
[Refactor "darcs help" help.
Trent W. Buck <trentbuck at gmail.com>**20081124133935]
[resolve issue1199: Backup files darcs added after external merge
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081125092916
Ignore-this: bc5c1365bdf4ca70073a85712f00e21c
]
[Remove empty literate blocks from src/*.lhs.
Trent W. Buck <trentbuck at gmail.com>**20081124113021
I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
]
[Remove empty literate blocks from src/Darcs/*.lhs.
Trent W. Buck <trentbuck at gmail.com>**20081124112956
I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
]
[Remove empty literate blocks from src/Darcs/Repository/*.lhs.
Trent W. Buck <trentbuck at gmail.com>**20081124112938
I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
]
[Remove empty literate blocks from src/Darcs/Patch/*.lhs.
Trent W. Buck <trentbuck at gmail.com>**20081124112916
I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
]
[Remove empty literate blocks from src/Darcs/Commands/*.lhs.
Trent W. Buck <trentbuck at gmail.com>**20081124112636
I used perl -pi -0 -e 's/\n*\\end{code}\n*\\begin{code}\n*/\n\n/g'.
]
[Fix haddock for unsafeDiffAtPaths.
Reinier Lamers <tux_rocker at reinier.de>**20081115211420
Ignore-this: f857de0b4f2d3fa2c7daa18b7a52a224
]
[Add very rudimentary haddocks in Darcs.Patch.{Non,Real}.hs
Jason Dagit <dagit at codersbase.com>**20081123204958]
[Appease ghc-6.10 type witnesses in SelectChanges.
Jason Dagit <dagit at codersbase.com>**20081123085733
Ignore-this: b4db36fc77072c2dbefc27496cbc33e
]
[Appease ghc-6.10 on witness types in Repository.Internal.
Jason Dagit <dagit at codersbase.com>**20081123085140
Ignore-this: 73899c04b7af77af77a33798abd7ec41
Introduce a local function, doChanges, so we can give more rigid types.
]
[Appease ghc-6.10 on witness types.
Jason Dagit <dagit at codersbase.com>**20081123083650
Ignore-this: 916417e4ae63cf9e966a1c703716690f
Introduces f and g_s as local functions to appease the ghc-6.10 type
checker.
]
[Point to new shorter URL for binaries wiki page.
Eric Kow <kowey at darcs.net>**20081122083014]
[Rollback IFS removal
Eric Kow <kowey at darcs.net>**20081121230952
Removing this seems to break for the case where there is a space in the
path
rolling back:
Fri Nov 21 21:29:21 GMT 2008 gwern0 at gmail.com
* tests/*.sh: rm vitiated IFS variable
Originally there to help portable_pwd on Cygwin. We no longer need it.
]
[Appease ghc-6.10 witnesses in Real.hs.
Jason Dagit <dagit at codersbase.com>**20081121174926
Ignore-this: 5b9d1a02a88ced416d650bffa2a76645
Introduce a local function to get rid of another non-rigid type in a
pattern match.
]
[Appease ghc-6.10 witnesses in Prim.lhs.
Jason Dagit <dagit at codersbase.com>**20081121173215
Ignore-this: 9289f3ece580ccdff1ba583aa1140562
I introduce sc in the where-clause so that the case-expression can
have a rigid type at the point of pattern match. This patch would
have a few less redundant bits, except that the existentials wouldn't
quite unify otherwise. This is why I introduced p1'.
]
[tests/*.sh: rm vitiated IFS variable
gwern0 at gmail.com**20081121212921
Ignore-this: f795b7ad4f9a52a9b59cdcca24fa7de9
Originally there to help portable_pwd on Cygwin. We no longer need it.
]
[documentation/website: Fix bigpage compilation.
Eric Kow <kowey at darcs.net>**20081121092030
Bigpage should be compiled from doc/manual/darcs.tex, not src/darcs.tex
The first is a giant tex file manufactured by preproc; the second is
what used to be the literate source in darcs.lhs.
]
[Use let to avoid duplication in Darcs.Patch.Real.
Dmitry Kurochkin <dmitry.kurochkin at gmail.com>**20081120223434
Ignore-this: 76b6f7c7c88c0a95436878b1cdc77caa
]
[Make darcs.pdf just a copy of darcs_print.pdf and likewise for darcs.ps
Eric Kow <kowey at darcs.net>**20081119175845
Ignore-this: 79407b453c89224d6bb895fff40ba596
This fixes a likely regression in which darcs.pdf was compiled from
darcs.tex and not darcs_print.tex. It seems like darcs.tex exists for
tools like latex2html. Perhaps a better solution would be for that file
to be called darcs_html.tex.
]
[Remove seemingly unused ps/pdf targets
Eric Kow <kowey at darcs.net>**20081119174858
Ignore-this: b6765af06196140b3a7934841306da1d
These targets, for example, copy src/foo.pdf to doc/manual/foo.pdf
But it seems like the makefile is instead designed to compile these
from doc/manual/foo.tex directly.
]
[Remove OPTIONS_GHC that GHC-6.10.1 warns as "deprecated"
Thorkil Naur <naur at post11.tele.dk>**20081120170402
Remove all occurrences of -fallow-undecidable-instances,
-fbang-patterns, and -fffi in {-# OPTIONS_GHC ... #-} lines. GHC-6.10.1
warns that these options are deprecated. In addition, remove nearby -cpp
options. The removed OPTIONS_GHC options are all covered by
corrresponding LANGUAGE options.
]
[add newlines to the default entries so we don't break the file
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081120091932
Ignore-this: 47cfad0c016be68d8f21fdd5cc68210f
]
[bump package version number for hackage
Jason Dagit <dagit at codersbase.com>**20081120091843]
[correctly add Distribution/ShellHarness.hs to darcs.cabal
Jason Dagit <dagit at codersbase.com>**20081120091826]
[sdist errors on trying to move tests/shell_harness
Jason Dagit <dagit at codersbase.com>**20081120090417
This may not be an idea solution, but for now I just remove
tests/shell_harness from the cabal file. Perhaps it should be
replaced with mention to the new shell_harness.hs.
]
[bump version number in darcs.cabal
Jason Dagit <dagit at codersbase.com>**20081120090401]
[issue1043b now also resolved by David
Eric Kow <kowey at darcs.net>**20081120000307]
[resolve issue1043: avoid use of sort_coalesceFL in Patch.Real.
David Roundy <droundy at darcs.net>**20081119150234
Ignore-this: 79003144c8571ef746108e09192cb4ed
The trouble was that sort_coalesceFL does the "coalescing" which isn't
governed by strict rules. This might have been fixed by changing
sort_coalesceFL to also run canonize, but the cleaner solution is to
simply acknowledge that what I really wanted was just to join together
pairs of inverses, which is much easier than the problem
sort_coalesceFL is trying to solve.
]
[code clarification
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081025204519]
[resolve issue1117: warn if file does not exist in whatsnew
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081119155734
Ignore-this: 96cb2370609e7acd9d0137725f5e56b5
]
[shell_harness.hs hSetBuffering stdout NoBuffering
Thorkil Naur <naur at post11.tele.dk>**20081118220043
Not a big deal, but this makes the output from shell_harness.hs a
bit more entertaining.
]
[Harden release/STATE munger.
Trent W. Buck <trentbuck at gmail.com>**20081118012512
This fixes the short name DARCS_VERSION_WITH_PATCHES when
release/STATE looks like "2.1.1rc2 (release candidate 2)" rather than
"2.1.1rc2 (+ 533 patches)".
]
[resolve issue1101: also display cc'ed recipients
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081115133214
Ignore-this: 9955a84598aa60e14f5471c02ec0d9b8
]
[Move make_repo_name after identifyRepoFormat in get.
Dmitry Kurochkin <dmitry.kurochkin at gmail.com>**20081118114246
Ignore-this: a1d4f7f0b3321652acd3ea1288d6bff5
Fixes darcs printing "Directory already exists, creating repository as"
in case of bad repo or network failure, when no directory is created in
fact.
]
[Trivially extend unit test to work with Pavel's extended make_email.
Eric Kow <kowey at darcs.net>**20081118122415
Note that this only passes in an empty list of extra headers. It may
also be useful in the future to automatically generate extra headers
for our write-read test.
]
[tests/README: add a section warning about use of 'yes' and 'find'
gwern0 at gmail.com**20081117205213
Ignore-this: 618f92168403e6261fd68218fec82656
]
[tests/*: per kowey, replace all portable_pwd with hspwd
gwern0 at gmail.com**20081117193340
Ignore-this: bca937aa253b5a13feae0ea8a3edf152
]
[tests/lib: scrap portable_pwd definition for alias to hspwd
gwern0 at gmail.com**20081117192517
Ignore-this: ff9d290cf3d430c4de2d7e426dff79d3
]
[Replace workaround with fix (Windows' sort doesn't have -o).
Trent W. Buck <trentbuck at gmail.com>**20081118014158
rolling back:
Mon Nov 17 07:44:22 EST 2008 Eric Kow <E.Y.Kow at brighton.ac.uk>
* Work around difference between Windows and Cygwin sort program in test
M ./tests/query_manifest.sh +2
]
[Refactor Cabal package description.
Trent W. Buck <trentbuck at gmail.com>**20081118071254
Based on the homepage description.
]
[Consistently punctuate cabal flag descriptions.
Trent W. Buck <trentbuck at gmail.com>**20081118105924]
[Test for darcs send with --in-reply-to option
Pavel Shramov <shramov at mexmat.net>**20081117185534]
[Add --in-reply-to flag for send command
Pavel Shramov <shramov at mexmat.net>**20081117102056
Patch adds --in-reply-to flag to darcs send and
modifies make_email function in Darcs/Email.hs to
accept list of additional headers.
With --in-reply-to option two additional headers will be
added to email - In-Reply-To and References.
]
[in make file, quote the "$(DARCS_VERSION_WITH_PATCHES)" variable
zooko at zooko.com**20081117141727
Ignore-this: 7f350c4b8b8e815e867dc88b38695b58
Because the release candidate version has spaces in its version string.
]
[Darcs works with regex-compat 0.92.
Trent W. Buck <trentbuck at gmail.com>**20081117111239]
[don't run posthook if the command terminated with exitWith.
David Roundy <droundy at darcs.net>**20081116230521
Ignore-this: d87d2bb442060d54284eef6bc27cc766
This is a change in policy, and means that for instance darcs pull -a will
only run the posthook if there are patches to pull. It does mean that we
have to be careful how we exit commands, since this adds new meaning to
"exitWith ExitSuccess", but my audit of the code shows that this is only
used when I wouldn't want to run the posthook anyhow.
Actually, I found two gratuitous uses of exitWith ExitSuccess, and have
removed them.
]
[tests/README.test_maintainers.txt: add a section on the use of lib
gwern0 at gmail.com**20081117155840
Ignore-this: 8bdf4592849569c34c209eb40104c72f
]
[tests/*.sh: remove "set -ev" from all callers of lib
gwern0 at gmail.com**20081117152754
Ignore-this: 8f00e36a574db7cd7ccd64c6610944e4
]
[tests/lib: rm shebang header
gwern0 at gmail.com**20081117152152
Ignore-this: d6e4907818407ba473bf8ee972aff7fb
]
[mv lib.sh -> lib & update callers
gwern0 at gmail.com**20081117152050
Ignore-this: 449b1a8deb686421d74afce2e3518fbb
]
[tests/*.sh: factor out windows abortion
gwern0 at gmail.com**20081115210959
Ignore-this: 4b0d0fb42b53e43d8f3b8ca082566864
]
[tests/*.sh: factour out ~61 of the 'not' definitions to lib.sh
gwern0 at gmail.com**20081115205735
Ignore-this: 889d88e1a4eb0c17447502fde02fdd0f
]
[tests/*.sh: factor out definitions of portable_pwd to lib.sh
gwern0 at gmail.com**20081115201847
Ignore-this: dda84abdcd2e833273e5a0f9668deeb
]
[+tests/lib.sh: library for test scripts
gwern0 at gmail.com**20081115201608
Ignore-this: 639f1e602f31949f93daab6053793127
This adds a file to the tests directory for storing function definitions. This will cut down on silliness like 'not' being defined in 63 different scripts - the exact same way.
]
[Remove mention of unstable branch from the homepage
Eric Kow <kowey at darcs.net>**20081117131411]
[Add --disable-unit to configure script
Eric Kow <kowey at darcs.net>**20081117115625
Note that with this patch alone, this has no effect other than to disable
the test for QuickCheck
]
[Work around difference between Windows and Cygwin sort program in test
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081116204422]
[Add DARCS_TESTING_HOME to shell harness
Eric Kow <eric.kow at gmail.com>**20081116180124
This enables Petr's workaround for Windows not using $HOME by default
]
[Conditionally compile out reset_umask on Windows
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081116161631]
[import Arguments just once in WhatsNew
Jason Dagit <dagit at codersbase.com>**20081115210750]
[clean up unused exports in Arguments.lhs
Jason Dagit <dagit at codersbase.com>**20081115205224]
[tighten up imports in preproc.hs
Jason Dagit <dagit at codersbase.com>**20081115193944]
[tighten imports in Commands.lhs
Jason Dagit <dagit at codersbase.com>**20081115193414]
[tighten up imports in Tag.lhs
Jason Dagit <dagit at codersbase.com>**20081115192839]
[tighten up imports in Replace.lhs
Jason Dagit <dagit at codersbase.com>**20081115192052]
[tighten up imports in Commands.Dist
Jason Dagit <dagit at codersbase.com>**20081115191113]
[remove unused export for isa from Arguments
Jason Dagit <dagit at codersbase.com>**20081115185607]
[Appease Windows by replacing find(1) with globbing.
Trent W. Buck <trentbuck at gmail.com>**20081116020213
On Windows, there are two utilities named "find". The cygwin version
is Unix-like, but the native Windows version behaves more like grep.
If %PATH% makes the latter the default, $(shell find) does completely
the wrong thing.
Therefore we use $(wildcard) instead. This is actually better in
every respect bar one: it does not recurse. This means that if
someone starts creating Haskell files in subsubsubdirs of src, they
won't be included by the current globs.
Note that in GNU make, a glob expands to nothing if there are no
matches. By contrast, sh globs expand to themselves in that case.
]
[issue525 fixed by David's patch
Eric Kow <kowey at darcs.net>**20081115225739]
[Fix Darcs.Patch.Prim haddock
Eric Kow <kowey at darcs.net>**20081115224010]
[resolve issue525: canonize output of sort_coalesceFL in AmendRecord.
David Roundy <droundy at darcs.net>**20081115211925
Ignore-this: cb7485c971d7d8d6f7ffce9f9ec40e98
]
[Make test-network a .PHONY target
Eric Kow <kowey at darcs.net>**20081114101217
Ignore-this: 58b2f5d4ee869f2105f8a05e42766dc4
]
[Create the .darcs directory in the test-network dir
Eric Kow <kowey at darcs.net>**20081114101151
Ignore-this: d2d05cf3d18ba75c6a00f9c7500c298d
]
[Remove obsolete test-franchise .PHONY entry from makefile
Eric Kow <kowey at darcs.net>**20081114101117
Ignore-this: 8d5d36dba70acaa297310ac94f7d8256
]
[Use Control.OldException if compiling shell harness with GHC 6.10
Eric Kow <kowey at darcs.net>**20081114093740
Ignore-this: 5219c7e1b5a1dc4dbc607a729288e54d
]
[use ShellHarness in Setup.lhs
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112183809
Ignore-this: 5322065b2d5d5595c01d22ca7ff527f
]
[Use the shell harness in Makefile
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112194558
Ignore-this: bd01f57e24a840ddd474dca912258ef0
]
[make ShellHarness a module
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112193615
Ignore-this: 814fb721a9a91bf35c189355c21e6e61
]
[move shell_harness to Distribution/ShellHarness.hs
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112183642
Ignore-this: 1ae7f4587a9542a595e78e6523c8fbb0
]
[remove bash shell_harness
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081113194438
Ignore-this: 3621d4992e6cf5fbe8a1a8e1340a64a0
]
[on "make darcs-snapshot" make a copy of the executable in a directory named "snapshots" and named with its version number including patch count
zooko at zooko.com**20081113175008
Ignore-this: 75ddfaf921e1e84ddf86cd1fef8cb77e
]
[replace `test -e' in makefile with either `test -d' or `test -f'
Karel Gardas <kgardas at objectsecurity.com>**20081113173715
Ignore-this: 1ba6cf3262142b0d09f84570aab9b16a
This patch replaces usage of `test -e' in makefile with either usage
of `test -d' for testing directory of `test -f' for testing file. The
reason is that GNU make is using /bin/sh for running its commands and
`test -e' is not supported by Solaris' shell.
]
[Update darcs.cabal to reflect removal of homegrown filepath modules
Eric Kow <kowey at darcs.net>**20081112162303
Ignore-this: 90192f5d97a18402fe43cb6f951755dd
]
[Generalise use of --optghc to all GHCFLAGS for haddock
Eric Kow <kowey at darcs.net>**20081112162233
Ignore-this: b6bf56c82079b4e722f2faa53dccb9d2
This makes it possible for me to make api-doc with GHC 6.10
]
[Remove deprecated (and now unused) homegrown filepath modules
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112154607
Ignore-this: 61d94b19c737251607d57e91b5b4a8d7
]
[Replace homegrown code with filepath functions in Darcs.Commands.Dist
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081113171047
Ignore-this: 673e6775d0c90b880478e1b0f2ef11e3
]
[Remove homegrown code with filepath equivalents in Darcs.Commands.Mv
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112154541
Ignore-this: 57950f6ca7c396753fe8f13f05c3ecf2
]
[Replace homegrown code with filepath equivalents in Darcs.Commands.Add
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112153944
Ignore-this: ee2e76b00e9683c6ffddb149648ae0af
]
[Specifically import System.FilePath.Posix in darcs commands
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112153509
Ignore-this: 2a024c22ad2122fe5354b2982821273b
We want to document the fact that we are only using forward
slashes.
]
[Replace FilePathUtils.(///) with filepath equivalent in Darcs.Diff
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112153114
Ignore-this: 59798326958df9e1c89864a35cd8ab5f
]
[Copy UglyFileName.patch_filename into Darcs.Commands.Send
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112150818
Ignore-this: 36db426613ee907dad21996b1ab38c55
(which is the only place where it is used)
]
[Replace UglyFileName with filepath equivalents in Darcs.CommandsAux
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112150646
Ignore-this: 79ef4a080cf711300b7953a8901cae98
]
[Replace our breakup with filepath's splitDirectories in Darcs.Lock
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081112150313
Ignore-this: 3b460204007863fe65a71dccac701bed
]
[make finds more portable
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081113125703
Ignore-this: 6f1b6ac29c96d200b93cad86013f5062
This patch changes the way find -exec is used before. OpenBSD does
not support the -exec rm -f {} + syntax. So we stick to the less
performant -exec rm -f {} \;
]
[Replace liftM with fmap in Darcs.Repository.Prefs
Eric Kow <kowey at darcs.net>**20081112202148
Ignore-this: aa04437e8d10cf9f26c6a760fedbaff6
]
[Tidy up type signatures in Darcs.Repository.Prefs
Eric Kow <kowey at darcs.net>**20081112202001
Ignore-this: 52b1925994627ce27b982fec4deefbc
]
[Tidy up global_cache_dir
Eric Kow <kowey at darcs.net>**20081112201354
Ignore-this: f06c8f86c96eda4fe600c6731553b28b
]
[Resolve conflict between my UserProfile override and DARCS_TESTING_HOME
Eric Kow <kowey at darcs.net>**20081112200457
Ignore-this: bceb8957061cea385cb8b4bbb7eec49e
We undo the UserProfile because it had no useful effect
]
[Enable .darcs location override through DARCS_TESTING_HOME that also works on Windows.
Petr Rockai <me at mornfall.net>**20081111222806
With only overriding $HOME, on win32 we get darcs still looking into the
windows-specific user data directory for .darcs, which in turn breaks the
testsuite (which relies on overriding HOME). This patch should address that
problem, albeit in a little inelegant fashion.
]
[Override UserProfile environment variable in (Perl) shell_harness
Eric Kow <kowey at darcs.net>**20081112171634
Ignore-this: 36fcf89e63d690a662288f34432c472b
]
[Replace UglyFileName with filepath equivalents in Darcs.RepoPath
Eric Kow <eric.kow at gmail.com>**20081028141522
Ignore-this: c685595782a0eb01e7b7c37da991e7b9
]
[Replace FilePathUtils.(///) with filepath equivalent in preproc
Eric Kow <eric.kow at gmail.com>**20081027173947
Ignore-this: 99a21202f798d6423d047afe4b417403
]
[Specify that we want System.FilePath.Posix in Darcs.External
Eric Kow <eric.kow at gmail.com>**20081027172514
Ignore-this: 8548e7e86f2c5dff1ddf0806e48bda15
to prevent the accidental creation of patches with backslashes
in their paths.
]
[Replace UglyFileName normalisation in Darcs.External
Eric Kow <eric.kow at gmail.com>**20081027170454
Ignore-this: 53c57c63eead2574dcf3e211b376fd7f
with System.FilePath equivalent
]
[Replace basename with filepath's takeDirectory in Darcs.External.
Eric Kow <eric.kow at gmail.com>**20081027165405
Ignore-this: 2a3eec675e9f63cc0549317564bfee54
Note that basename was a misnomer in the original code.
]
[Replace (++ "/" ++) with filepath's (</>) in Darcs.External.cloneTree
Eric Kow <eric.kow at gmail.com>**20081027165044
Ignore-this: 2c820b01f52de3544dd05f87e88dbc50
]
[Replace absolute_dir with ioAbsoluteOrRemote in Darcs.Repository
Eric Kow <eric.kow at gmail.com>**20081027155955
Ignore-this: 8f745c354308ca9406dbb2e54f66b600
only very superficially though
]
[Switch from absolute_dir to ioAbsoluteOrRemote in commands
Eric Kow <eric.kow at gmail.com>**20081027142933
Ignore-this: 79e892ea2f0732367b8d293b550946e9
Note that this is only a superficial change, but it brings
us one step closer to getting rid of FilePathUtils.
]
[Add an AbsoluteOrRemotePath type
Eric Kow <eric.kow at gmail.com>**20081024170048
Ignore-this: 8b2ec1303eea170b88f2c8081efd1315
]
[Trivial style improvement
Duncan Coutts <duncan at haskell.org>**20081112133456]
[Fix compile failure in gzReadFilePS without HAVE_OLD_BYTESTRING
Duncan Coutts <duncan at haskell.org>**20081112131210
The previous #ifdef HAVE_OLD_BYTESTRING changes made it work for
ghc-6.6 but fail for ghc-6.8+. This should work both ways round.
]
[Isolate overriding-defaults.sh failures to that test.
Petr Rockai <me at mornfall.net>**20081111222759
When this test previously failed, it left broken .darcs/defaults around. We
trap exits now and fixup the broken file.
]
[Fix shell_harness so it uses --ignore-times
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081112105646
Ignore-this: 4b07a9727f723ad917ec6145728c21e2
]
[Silence haskell_policy complaining about Setup.lhs.
Petr Rockai <me at mornfall.net>**20081111222951]
[Allow "cabal test tests network bugs" as suggested by Trent.
Petr Rockai <me at mornfall.net>**20081111110411]
[Include the testsuite in Cabal sdist.
Petr Rockai <me at mornfall.net>**20081111095747]
[Fixes to the release/distributed-* file generation in Cabal sDistHook.
Petr Rockai <me at mornfall.net>**20081111095332]
[Bundle the version/context data (produced by Setup.lhs sdist) in the tarball.
Petr Rockai <me at mornfall.net>**20081111093452]
[Update Cabal file lists to match reality.
Petr Rockai <me at mornfall.net>**20081111093426]
[Bundle version and context data in Cabal source distribution.
Petr Rockai <me at mornfall.net>**20081111093342]
[Implement runTests hook for Cabal.
Petr Rockai <me at mornfall.net>**20081111082551
This makes it possible to run "cabal test", "cabal test bugs" and "cabal test
network". It has some Ctrl+C issues which probably relate to naive use of
"system" to run programs.
]
[Darcs works with regex-compat 0.91.
Trent W. Buck <trentbuck at gmail.com>**20081111023911
Debian has been using this version for some time.
]
[Refactor DARCS_FILES to work around Solaris' buggy find(1).
Trent W. Buck <trentbuck at gmail.com>**20081112010502
Sorry this is so ugly; at least it's still much shorter than the
whitelist that existed before I started refactoring the makefile.
]
[Remove silly sort.
Trent W. Buck <trentbuck at gmail.com>**20081107023723
If .depend is doing its job, this list shouldn't need to be sorted,
and in any case $^ (but not $+) implicitly sorts and uniquifies.
]
[Fix filepath test
Eric Kow <kowey at darcs.net>**20081111210909
Ignore-this: 5d3e1f532ce652620b964a9e693a82e5
]
[Fix get test (it was assuming a clean directory)
Eric Kow <kowey at darcs.net>**20081111210615
Ignore-this: f73f5529f1f14d257ec3009492411444
Also make it clean up after itself and use more standard temp names.
]
[Resolve issue1223: Fix broken init.sh test
Eric Kow <kowey at darcs.net>**20081111205233
Ignore-this: 6c619ab1614abe13d7eb15b320211733
]
[Fix regression in configure test for zlib.
Eric Kow <kowey at darcs.net>**20081111171554
Ignore-this: df51bbbe12ebaf20d66e193f6960548f
I had replaced an
if test foo -a bar = baz
with
if bar = baz
]
[Use conditional compilation for Salvatore's strict readFile fix
Eric Kow <kowey at darcs.net>**20081111145114
Ignore-this: bf4e3159d1bdd2cadbb7b007c64f5e6d
]
[Fix gzReadFilePS to close file descriptor even on old bytestrings.
Salvatore Insalaco <kirby81 at gmail.com>**20081108084939
BL.readFile is not strict enough, and it actually leaves the file descriptor opened. This should not happen, and probably it's a bug with older bytestrings (the one shipped with ghc 6.8.x).
This causes issues on Windows, where an opened file cannot be deleted.
Using strict bytestring readFile, and then converting them to lazy bytestring (should be O(1)) fix the problem.
]
[Add configure check for bytestring 0.9.1
Eric Kow <kowey at darcs.net>**20081111115319
Ignore-this: f25fef6236879a1a2ad0ab44e337faee
This introduces a HAVE_OLD_BYTESTRING flag
]
[Simplify bytestring check.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081111115258
Ignore-this: 58feb27fd83415b6b539bd4a2ebd7216
Either base-2.0 (which includes Data.ByteString) or the bytestring package
are now required.
]
[resolve issue844: don't call gzwrite with zero length.
David Roundy <droundy at darcs.net>**20081111145122
Ignore-this: ac80c1db0fad3279ccee3b7b5f1f87ea
]
[Avoid exporting cleanupRepositoryReplay.
Petr Rockai <me at mornfall.net>**20081111100548
We instead let replayRepository take the post-replay action as a parameter and
clean up automatically when it's done. Looks like a safer API to me.
]
[Remove literacy stub from Darcs.Patch.Choices.
Trent W. Buck <trentbuck at gmail.com>**20081109110636]
[Remove literacy stub from Darcs.Patch.Info.
Trent W. Buck <trentbuck at gmail.com>**20081109110434]
[Remove literacy stub from Darcs.Patch.Read.
Trent W. Buck <trentbuck at gmail.com>**20081109110254]
[Remove literacy stub from Darcs.Patch.Test.
Trent W. Buck <trentbuck at gmail.com>**20081109110103]
[Remove literacy stub from Darcs.Patch.Real.
Trent W. Buck <trentbuck at gmail.com>**20081109105434]
[Remove literacy stub from Darcs.Patch.Non.
Trent W. Buck <trentbuck at gmail.com>**20081109105400]
[Remove literacy stub from Darcs.Patch.Depends.
Trent W. Buck <trentbuck at gmail.com>**20081109105308]
[Remove literacy stub from Darcs.Patch.Check.
Trent W. Buck <trentbuck at gmail.com>**20081109105222]
[Remove literacy stub from Darcs.Patch.Viewing.
Trent W. Buck <trentbuck at gmail.com>**20081109104757]
[Remove literacy stub from Darcs.Patch.Unit.
Trent W. Buck <trentbuck at gmail.com>**20081109104720]
[Remove literacy stub from Darcs.Patch.QuickCheck.
Trent W. Buck <trentbuck at gmail.com>**20081109104633]
[Remove literacy stub from Darcs.Patch.Permutations.
Trent W. Buck <trentbuck at gmail.com>**20081109104610]
[Remove literacy stub from Darcs.Patch.Patchy.
Trent W. Buck <trentbuck at gmail.com>**20081109104516]
[Remove literacy stub from Darcs.Patch.Bundle.
Trent W. Buck <trentbuck at gmail.com>**20081109104403]
[Remove literacy stub from Darcs.Patch.FileName.
Trent W. Buck <trentbuck at gmail.com>**20081109103658]
[Remove literacy stub from Darcs.Patch.Set.
Trent W. Buck <trentbuck at gmail.com>**20081109102952]
[Remove literacy stub from Darcs.Patch.MatchData.
Trent W. Buck <trentbuck at gmail.com>**20081109102546]
[Remove literacy stub from Darcs.Repository.HashedRepo.
Trent W. Buck <trentbuck at gmail.com>**20081109105612
The deleted comments here are duplicated elsewhere.
]
[Remove literacy stub from Darcs.Repository.Pristine.
Trent W. Buck <trentbuck at gmail.com>**20081109105012]
[Remove literacy stub from Darcs.Repository.HashedIO.
Trent W. Buck <trentbuck at gmail.com>**20081109104947]
[Remove literacy stub from Darcs.Repository.Cache.
Trent W. Buck <trentbuck at gmail.com>**20081109104933]
[Remove literacy stub from Darcs.Repository.
Trent W. Buck <trentbuck at gmail.com>**20081109104840]
[Remove literacy stub from Darcs.Repository.Format.
Trent W. Buck <trentbuck at gmail.com>**20081109103758]
[Remove literacy stub from Darcs.Repository.ApplyPatches.
Trent W. Buck <trentbuck at gmail.com>**20081109102829]
[Remove literacy stub from Darcs.Repository.InternalTypes.
Trent W. Buck <trentbuck at gmail.com>**20081109102801]
[Remove literacy stub from Darcs.Repository.Checkpoint.
Trent W. Buck <trentbuck at gmail.com>**20081109102321]
[Make --match 'date "after year"' work into the future.
Petr Rockai <me at mornfall.net>**20081109211305]
[Add a test for matching 'date "after year"' working for future patches.
Petr Rockai <me at mornfall.net>**20081109203045]
[Remove franchise build file and test scripts.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081110153528
Ignore-this: 85d1b68798815121f5b2ed24d54fc9eb
David feels that having more than one build system is a bad idea.
]
[Restore configure check for QuickCheck 2.1
Eric Kow <kowey at darcs.net>**20081110152808
Ignore-this: 470ec554bb115c783fb105b29ae3bd44
]
[Fix Repair.applyAndFix.
Petr Rockai <me at mornfall.net>**20081106101557
The way I have got the recursion versus syncing slurpies backwards is actually
pretty embarassing. We also use syncSlurpy to avoid unneccessary (likely slow)
syncs while keeping memory use at bay. This fix should make repair and check
run much faster in much less memory.
]
[Resolve conflicts between darcs repair and literacy removal patches
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081110152620
Ignore-this: d7f097d054a22db40ac135551da48da1
]
[Introduce syncSlurpy, that syncs slurpy to disk as needed.
Petr Rockai <me at mornfall.net>**20081106102101
syncSlurpy takes an IO action that does the actual syncing, but only calls it
when neccessary to prevent memory blowups. It is fairly cheap to call often
(ie. after every applied patch). The sync threshold is currently hardcoded to
~100M.
]
[Move Cabal based build to repository root
Eric Kow <eric.kow at gmail.com>**20081109112502
Note that we use the Setup.lhs extension because the franchise based
build uses Setup.hs and we want to avoid introducing a spurious
dependency on the franchise patches.
]
[Remove makefile instructions to test franchise build
Eric Kow <eric.kow at gmail.com>**20081108001051]
[Remove now superfluous darcs.cabal.in
Eric Kow <eric.kow at gmail.com>**20081108000445]
[Refactor Repository.Repair.replayRepository to get rid of CanRepair.
Petr Rockai <me at mornfall.net>**20081105234638
We now instead return the new (repaired) patchset that needs to be written out
to the caller, and let them handle it.
]
[Remove literacy stub from Darcs.SlurpDirectory.Internal.
Trent W. Buck <trentbuck at gmail.com>**20081109105853]
[Remove literacy stub from Darcs.SelectChanges.
Trent W. Buck <trentbuck at gmail.com>**20081109105159]
[Remove literacy stub from Darcs.Ordered.
Trent W. Buck <trentbuck at gmail.com>**20081109104306]
[Remove literacy stub from Darcs.SignalHandler.
Trent W. Buck <trentbuck at gmail.com>**20081109103602]
[Remove literacy stub from Darcs.Sealed.
Trent W. Buck <trentbuck at gmail.com>**20081109103520]
[Remove literacy stub from Darcs.TheCommands.
Trent W. Buck <trentbuck at gmail.com>**20081109103449]
[Remove literacy stub from Darcs.TouchesFiles.
Trent W. Buck <trentbuck at gmail.com>**20081109103419]
[Remove literacy stub from Darcs.RemoteApply.
Trent W. Buck <trentbuck at gmail.com>**20081109103301]
[Remove literacy stub from Darcs.PrintPatch.
Trent W. Buck <trentbuck at gmail.com>**20081109103028]
[Remove literacy stub from Darcs.Show.
Trent W. Buck <trentbuck at gmail.com>**20081109102720]
[Remove literacy stub from Darcs.SlurpDirectory.
Trent W. Buck <trentbuck at gmail.com>**20081109102637]
[Work around grep -Fw platform differences in haskell_policy.sh
Thorkil Naur <naur at post11.tele.dk>**20081110013603
Experiments have demonstrated that grep -Fw behaviour depends on the platform,
even for the same grep --version. This patch removes the F flag which, in the
present context, seems unnecessary. Removing the F flag appears to iron out the platform
differences.
]
[shell_harness script in haskell
Christian Kellermann <Christian.Kellermann at nefkom.net>**20081107121607
Ignore-this: 46d1138c233788cb00b71071e5f9b8ff
]
[Avoid test issue1017_whatsnew_stack.sh looping under buildbot control
Thorkil Naur <naur at post11.tele.dk>**20081109122052
The replaced "yes | head -n count" mechanism for generating a large file loops when
run via Python under Mac OS X. This, apparently, makes the test loop when run by the Mac OS X buildbot
slaves. The replacement mechanism is not nearly as elegant as I would like, so better suggestions are
welcome.
]
[Remove literacy stub from CommandLine.
Trent W. Buck <trentbuck at gmail.com>**20081109102016]
[Remove literacy stub from Darcs.Hopefully.
Trent W. Buck <trentbuck at gmail.com>**20081109101604]
[Remove literacy stub from Darcs.Global.
Trent W. Buck <trentbuck at gmail.com>**20081109101536]
[Remove literacy stub from Darcs.CheckFileSystem.
Trent W. Buck <trentbuck at gmail.com>**20081109101331]
[Remove literacy stub from Darcs.Bug.
Trent W. Buck <trentbuck at gmail.com>**20081109101257]
[Remove literacy stub from Darcs.IO.
Trent W. Buck <trentbuck at gmail.com>**20081109101235]
[Remove literacy stub from Darcs.Flags.
Trent W. Buck <trentbuck at gmail.com>**20081109100625]
[Haddockize Darcs.Lock.
Trent W. Buck <trentbuck at gmail.com>**20081109111134]
[Fix haddock bugs in ByteStringUtils
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081109012226]
[Reformat Darcs.URL comments as haddock.
Eric Kow <eric.kow at gmail.com>**20081023233730]
[Resolve conflicts (lstat vs de-literate)
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081109153040
Ignore-this: 39ae84ed11bd9fe823fcc5cd8596674a
The conflits were between Reinier's lstat-saving patches on the one
hand and the Diff haddockisation on the other.
]
[hopefully less buggy version of get_unrecorded_in_files
Reinier Lamers <tux_rocker at reinier.de>**20081031215944
Ignore-this: 9f4f2320a1784cf6f7546ab23eb6bf61
]
[make whatsnew use the lstat-saving functions to scan the working copy
tux_rocker at reinier.de**20081026194636
Ignore-this: 54b7a07b7b1d49b3d20050bc905db665
]
[make get_unrecorded_private work with type witnesses again
tux_rocker at reinier.de**20081026190612
Ignore-this: 97418e6487ef9c9508473d4c65f295ca
]
[add a get_unrecorded_in_files to check for unrecorded changes in a subset of working directory
tux_rocker at reinier.de**20081026164009
Ignore-this: 7d36ff983e8745049101a92f5b2326fb
]
[Keep OS X happy by passing a path to find(1).
Trent W. Buck <trentbuck at gmail.com>**20081109113440]
[Remove tabs in franchise build.
Eric Kow <kowey at darcs.net>**20081109005653
Ignore-this: c5f57b86fa6bfd5f5f006dd0923d631
]
[Move issue1017 test back into tests
Eric Kow <kowey at darcs.net>**20081109005826
Ignore-this: 8b4f4f4673e6a07405a4c279385c373c
It was not consistently failing, and we still don't know why
it failed the last time.
rolling back:
Fri Nov 7 13:11:17 GMT 2008 Eric Kow <kowey at darcs.net>
* Move issue1017 test back to bugs.
]
[make unrecord work with type witnesses.
David Roundy <droundy at darcs.net>**20081107123400
Ignore-this: 183ca39f8ec9af923468ecc243cba26
]
[add franchise target for type witness testing.
David Roundy <droundy at darcs.net>**20081107123051
Ignore-this: 5df886520744de6d11992e9e6b3f9758
]
[cut dead code from Unrecord.
David Roundy <droundy at darcs.net>**20081103021520
Ignore-this: 847fdfc20ab9a65a9d3527590fe51f3b
]
[be more verbose when type witnesses are enabled in franchise.
David Roundy <droundy at darcs.net>**20081103014635
Ignore-this: d417d1b1aafbbedd5f9b6d1e4dbb25a2
]
[enable type witnesses for show commands.
David Roundy <droundy at darcs.net>**20081103014338
Ignore-this: 5c538bb49432f16bc8dc03140d17cb1d
]
[Fix cabal file for lhs -> hs transition.
Salvatore Insalaco <kirby81 at gmail.com>**20081108080448]
[Add issue1189 fix suggested by Duncan to Cabal build
Eric Kow <eric.kow at gmail.com>**20081108000200]
[Haddockize Lcs.
Trent W. Buck <trentbuck at gmail.com>**20081108082950]
[Extend zlib franchise test to look for zlib 0.5.0.0
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081102141525
Ignore-this: 1cf8e14867b91c05b34d978980d9188a
]
[switch to zlib 0.5.0.0 with new interface for specifying decompressed size
Ganesh Sittampalam <ganesh at earth.li>**20081026102650]
[Move issue1017 test back to bugs.
Eric Kow <kowey at darcs.net>**20081107131117
Ignore-this: 9e19d7392378f4d5e8d029b15e6f962d
One of our Mac buildbots owners reports that their buildbot
was taking forever to run. It seemed to be hanging on this
step.
]
[Remove dangling .lhs references.
Trent W. Buck <trentbuck at gmail.com>**20081107024222
Sorry about this, folks; it seems my conflict merging had a few bugs.
]
[Add comment to test pref
Eric Kow <kowey at darcs.net>**20081106161155
Ignore-this: 634b224e4338a1ff0abc47a6903220be
]
[Fix typo in documentation
Eric Kow <kowey at darcs.net>**20081106153606
Ignore-this: b52ecbb2fb3aa432c04a9abb6086239
]
[resolve issue1189: define HAVE_SIGNALS in franchise build.
David Roundy <droundy at darcs.net>**20081106130431
Ignore-this: db3217e4ba459bb32d489b744227f5b8
Incidentally, ctrl-C handling seems also to be broken on the non-Windows
cabal build in release/, but I can't see how to fix it. Or maybe
HAVE_SIGNALS is defined using some Deep Magic?
]
[Use make -j4 to run disttest.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081106114326
Ignore-this: 5818b80001e1ce589057b6adc61c4973
Trent had done some Makefile cleanups to eliminate the naughty practice
of calling $(MAKE) -j4 within make. This patch restores the parallel
builds (which makes tests run faster) without the naughtiness.
]
[Change "Repairing patch" to "Replaying patch" as progress report in replayRepository.
Petr Rockai <me at mornfall.net>**20081105224132]
[Tweak issue1012 test to use temp1 as tempdir name
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081106112750
Ignore-this: e2d0263a3652f01a6e202deeaef19408
]
[Clean up after previous tests in issue1017 test
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081106112723
Ignore-this: 9e6c6f1f3f617cfb9ec93666ee13c51d
]
[Refactor test_network target.
Trent W. Buck <trentbuck at gmail.com>**20081106013245]
[Let DARCS_FILES and UNIT_FILES cope with .lhs/.hs renames.
Trent W. Buck <trentbuck at gmail.com>**20081106094142
I'm sorry this makes UNIT_FILES so ugly.
The big advantage of this is that it lets me rename .lhs files without
editing the GNUmakefile in the same patch -- thereby avoiding some
icky conflictors.
]
[clean up .lhs versions of ThisVersion and Autoconf to make transition easier
Ganesh Sittampalam <ganesh at earth.li>**20081105090209
Ignore-this: e8448d3962aeb832fc8fcdc0da8f9e32
]
[resolve issue864: check non-force replace against pending
Tommy Pettersson <ptp at lysator.liu.se>**20081004235719
The replace was checked against pure pristine, so the answer to if it could
be applied to pending without force was sometimes wrong.
]
[Avoid using pkgconfig-depends for libcurl (cabal)
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081103150412
Ignore-this: 681d35599ab44961a2164ca54b4d5617
This is a workaround to a Cabal library bug in "which ldOptions are
passed directly to ghc without any escaping" whereas "they should be
escaped with the -optl prefix"
http://hackage.haskell.org/trac/hackage/ticket/389
]
[change tabs to spaces in cabal's Setup.hs
Jason Dagit <dagit at codersbase.com>**20081028032910]
[Use exceptions again in cabal Setup.hs
Duncan Coutts <duncan at haskell.org>**20081027043635
Needed to handle calling darcs when it's not available.
Uses CPP to make it work with ghc-6.8 and 6.10
]
[Make building with HTTP package work via cabal
Duncan Coutts <duncan at haskell.org>**20081027034031]
[Add the location of the darcs repo to the cabal file
Duncan Coutts <duncan at haskell.org>**20081027004425
Cabal-1.6 allows this meta-data to be given in the .cabal file
and in a machine readable format.
]
[Update cabal file for renamed ByteStringUtils module
Duncan Coutts <duncan at haskell.org>**20081027003824]
[When not using external zlib binding require z C lib (in cabal file)
Duncan Coutts <duncan at haskell.org>**20081027003414
It was working before but probably only because some other C lib
needed zlib, probably curl. This is more correct.
]
[Add the other modules and extra src files to the cabal file
Duncan Coutts <duncan at haskell.org>**20081027003315
Needed for cabal sdist to work.
]
[Support building with libwww via Cabal
Duncan Coutts <duncan at haskell.org>**20081026232738]
[Update darcs.cabal for HAVE_SIGINFO_H
Duncan Coutts <duncan at haskell.org>**20081026232647]
[Make Setup.hs work with ghc-6.8 and 6.10 by not using exceptions
Duncan Coutts <duncan at haskell.org>**20081026202912
The exceptions api changed between 6.8 and 6.10.
]
[Add cabal support files under release/ directory
Duncan Coutts <duncan at haskell.org>**20081026195706]
[Add all required language extensions to .cabal.in file
Don Stewart <dons at galois.com>**20081025225427]
[issue 1017 now fixed
Ganesh Sittampalam <ganesh at earth.li>**20081025122754]
[Restore 'pass/fail' output in shell_harness.
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081105093446
Ignore-this: 93d9a4fba1f83b79a5b7b63c87e0e955
rolling back accidentally applied patch:
Fri Oct 24 06:57:55 BST 2008 Trent W. Buck <trentbuck at gmail.com>
* Colour test output in Emacs' M-x compile.
]
[Refactor away boilerplate in naughty ./configure-circumventing profile targets.
Trent W. Buck <trentbuck at gmail.com>**20081105052235]
[Resolve conflicts.
Trent W. Buck <trentbuck at gmail.com>**20081105014527
Mostly conflicts were between Trent's make refactoring and Kowey's
copy-and-paste job to add support for building profiled object files
and executables in parallel to the non-profiled build.
]
[Typo: make distclean and maintainer-clean rules cumulative.
Trent W. Buck <trentbuck at gmail.com>**20081104235641]
[Refactor TAGS targets.
Trent W. Buck <trentbuck at gmail.com>**20081104132834
Renamed targets to match default output files, obviating PHONY.
Removed the ugly manual sorting, as exuberant ctags sorts by default.
Moved cleanup into distclean.
Added C inputs to dependency list.
Avoid abusing $ETAGS and $CTAGS for hasktags.
]
[autoconf.mk doesn't depend on darcs.cgi.in.
Trent W. Buck <trentbuck at gmail.com>**20081104130338
The old version was saying things "autoconf.mk depends on
darcs.cgi.in", which isn't quite right. The replacement is shorter
and more correct.
]
[Delete unused "register" target.
Trent W. Buck <trentbuck at gmail.com>**20081104124530]
[Move cleanup rules to appropriate target (clean/distclean).
Trent W. Buck <trentbuck at gmail.com>**20081104124116]
[Resolve conflicts.
Trent W. Buck <trentbuck at gmail.com>**20081104123359]
[Merge autoconf.mk and .depend inclusion.
Trent W. Buck <trentbuck at gmail.com>**20081102045359
In a declarative expert system like Make, it shouldn't matter where
.depend is included. Actual experiments suggest that it does, and
putting it at the top will help avoid illogical behaviour.
It also reduces the makefile's length by several lines.
]
[Make .hs.in of trivial .lhs.in files.
Trent W. Buck <trentbuck at gmail.com>**20081029025407]
[Make .hs of trivial .lhs files.
Trent W. Buck <trentbuck at gmail.com>**20081029025326]
[Split darcs.lhs into darcs.tex and darcs.hs.
Trent W. Buck <trentbuck at gmail.com>**20081026063231
After all, the Main module and main function don't really have
anything to do with the introductory chapters of the user manual.
I used these commands and then some touch-ups:
$ sed '/\\begin{code}/,/\\end{code}/d' src/darcs.lhs >src/darcs.tex
$ darcs mv src/darcs.lhs src/darcs.hs
$ sed --in-place '/\\end{code}/,/\\begin{code}/d' src/darcs.hs
]
[Only .lhs (not .hs) files could possibly be TeX sources.
Trent W. Buck <trentbuck at gmail.com>**20081025141537]
[Typo: remove silly circular dependency.
Trent W. Buck <trentbuck at gmail.com>**20081025121957]
[Don't warn unless ALL alternatives are missing.
Trent W. Buck <trentbuck at gmail.com>**20081025120102]
[If installed, use rubber(1) to quieten TeX.
Trent W. Buck <trentbuck at gmail.com>**20081025113643]
[Typo.
Trent W. Buck <trentbuck at gmail.com>**20081025113607]
[Turn procedural assignments (:=) into declarations (=).
Trent W. Buck <trentbuck at gmail.com>**20081025100744]
[Refactor .hi rule.
Trent W. Buck <trentbuck at gmail.com>**20081025100732]
[Refactor install rules.
Trent W. Buck <trentbuck at gmail.com>**20081025100527
Importantly, this means that if you just do "make" it will either
build PDF or PS, but not both (with a preference for PDF).
The "installbin" target has been renamed to "install", since 1) that's
the convention, and 2) it was already installing non-binary stuff,
namely the bash completion and manpage.
Leverages concatenative rules (::) to reduce repetition.
]
[Refactor targets that prevent "include autoconf.mk" (and .depend).
Trent W. Buck <trentbuck at gmail.com>**20081025012208
As well as being clearer, this is now a good deal more liberal. For
example, it won't rebuild .depend during "make maintainer-clean".
]
[Generate TEXSOURCES programmatically.
Trent W. Buck <trentbuck at gmail.com>**20081025011935]
[Generate DARCS_FILES by blacklist, not whitelist.
Trent W. Buck <trentbuck at gmail.com>**20081025010803
This attempt is far from perfect, but at least it works.
]
[Use $@ and $* to shrink test_harness.
Trent W. Buck <trentbuck at gmail.com>**20081024085740
Note that I have also removed the use of @ to hide what make is doing.
It is better to use "make --silent" to hide such noise, because then I
can debug problems in the makefile by running *without* --silent,
rather than having to temporarily remove the @'s.
]
[Refactor test rules.
Trent W. Buck <trentbuck at gmail.com>**20081024034429
Now the target names correspond to the darcs switches, e.g. "make
test-darcs-2" instead of "make test-format2". There are some legacy
pointers so the old targets still work, but they probably put the
results in a different directory.
]
[Don't call GHC on autoconf.mk in .depend rule.
Trent W. Buck <trentbuck at gmail.com>**20081024031700
I don't know why, but $^ included autoconf.mk. I used $(filter) to
remove it, and put all the deps on one line while I was at it.
]
[Miscellaneous refactoring.
Trent W. Buck <trentbuck at gmail.com>**20081023050926]
[Replace procedural := with declarative =.
Trent W. Buck <trentbuck at gmail.com>**20081023034044
When you do "x = a b" in make, it doesn't get evaluated until you
actually attempt to refer to $x in a rule, because make is an expert
system. The reason := exists is because if you do
f = $(shell really-slow-command)
and then try to build a bunch of object files, $f will cause
really-slow-command to be run separately for each one. Since we're
just doing internal stuff like $(patsubst), we don't need := and using
it makes it harder to reason about the system, because it's no longer
declarative.
]
[Obviate SRC_DIRS altogether.
Trent W. Buck <trentbuck at gmail.com>**20081023030139
Note that find -delete would be better, but it is not standard:
http://www.opengroup.org/onlinepubs/009695399/utilities/find.html
]
[Ameliorative ChangeLog mode hint for Emacs.
Trent W. Buck <trentbuck at gmail.com>**20081104125751
This patch makes Emacs use outline (hierarchical) mode, and to
recognize "darcs (N)" as a first-level heading and " * foo" as a
third-level heading. Treating the latter correctly, as second-level
headings, is beyond my capabilities.
I'd prefer that this file be moved to "NEWS" and formatted as outline-
mode expects: each Nth-level heading starts with N stars and a space.
]
[quickCheck tests for QuickCheck 2.1
Florent Becker <florent.becker at ens-lyon.org>**20081006135708]
[add yet another braindead file path to file path canonicalization test
Reinier Lamers <tux_rocker at reinier.de>**20081103222552
Ignore-this: a2b2f6f8c47a14943dd99a6a1d0a5c7d
]
[Add bug script for issue1196
Reinier Lamers <tux_rocker at reinier.de>**20081103222106
Ignore-this: a91333382a944602881b388da4606eca
]
[Fix "make bugs" target in makefile
Reinier Lamers <tux_rocker at reinier.de>**20081103221941
Ignore-this: 541567455acb0308bbbcf8eb4fe4c83b
]
[Try a bit harder to hack darcs pathname canonicalization in tests
Reinier Lamers <tux_rocker at reinier.de>**20081103211112
Ignore-this: 3b419ed6b5c3b4d8529ca045d8c63548
]
[Typo: install-pdf was trying to install *.ps.
Trent W. Buck <trentbuck at gmail.com>**20081025122922]
[Typo.
Trent W. Buck <trentbuck at gmail.com>**20081025083214]
[Add conventional install-ps/pdf/html targets.
Trent W. Buck <trentbuck at gmail.com>**20081024085052
See info page (make)Standard Targets.
]
[Use new "ps", "pdf" and "html" targets.
Trent W. Buck <trentbuck at gmail.com>**20081024084215]
[Clean hspwd.
Trent W. Buck <trentbuck at gmail.com>**20081024081050]
[Colour test output in Emacs' M-x compile.
Trent W. Buck <trentbuck at gmail.com>**20081024055755
This change means doing M-x compile RET make test RET in an ordinary
Emacs will highlight failed tests in red, and working tests in green.
This makes it easier to spot problems.
The down side is that yes/no is less clear than passed/failed.
]
[Reduce loquacity of haddock targets.
Trent W. Buck <trentbuck at gmail.com>**20081023072048
I think that if someone runs "make api-doc", it's not useful to
immediately print
echo "Generating html"
Generating html
Therefore I'm removing these lines.
]
[Fix some predicates I accidentally reversed.
Trent W. Buck <trentbuck at gmail.com>**20081023072013]
[release/debian is long gone.
Trent W. Buck <trentbuck at gmail.com>**20081023071427]
[Make it obvious why deps are being filtered.
Trent W. Buck <trentbuck at gmail.com>**20081023070847]
[Leverage gmake's order-only dependencies.
Trent W. Buck <trentbuck at gmail.com>**20081023051023]
[-fregs-graph seems to be a problem on both ghc 6.6 and 6.10
Jason Dagit <dagit at codersbase.com>**20081028032741
This flag doesn't seem to cause a problem on 6.8, but having
does seem to cause a problem for 6.6 and 6.10.
]
[Resolve conflict between make darcs_p and make continuous
Eric Kow <E.Y.Kow at brighton.ac.uk>**20081102122954
Ignore-this: 385fc4a7bd4b617f1c073f97c860c6ad
]
[restore -auto-all to profiling options
Ganesh Sittampalam <ganesh at earth.li>**20081026144023]
[avoid .depend doubling in size on every make
Ganesh Sittampalam <ganesh at earth.li>**20081026141924
Ignore-this: e106a7ba53738279ebb8293eeea16679
]
[Also clean intermediate profiling files.
Eric Kow <eric.kow at gmail.com>**20081026145926]
[Do not use -threaded when building darcs_p
Eric Kow <eric.kow at gmail.com>**20081026145415]
[Clean up how darcs_p is built
Eric Kow <eric.kow at gmail.com>**20081026145406
Treat GHCFLAGS_P as an alternative to GHCFLAGS, not an addition.
]
[Rename DARCS_OBJS_P and GHCFLAGS_P
Eric Kow <eric.kow at gmail.com>**20081026145619
from DARCS_P_OBJS and GHC_PROF_FLAGS
]
[Allow the profiling and non-profiling versions of darcs to co-exist
Eric Kow <eric.kow at gmail.com>**20081026135910
by teaching the Makefile about the suffixes .p_hi and .p_o.
]
[Add -fregs-graph to build instructions for SHA1.o
Eric Kow <eric.kow at gmail.com>**20081026133031
This helps us avoid a GHC error when building the profiling version of darcs,
namely: RegAllocLinear.getStackSlotFor: out of stack slots, try -fregs-graph
]
[replace a hoogle workaround with a comment, we now index names beginning with _
Simon Michael <simon at joyful.com>**20081103165516
Ignore-this: 537874d6183556322091ff063ba1015b
]
[Make haddock aware of CommandLine module comment.
Trent W. Buck <trentbuck at gmail.com>**20081102011801]
[Refactor QuickCheck 2 test.
Trent W. Buck <trentbuck at gmail.com>**20081103101155
This makes the output resemble autoconf, so Emacs colours it by default.
It also means the user gets information before the test starts.
Lastly, it redirects the stderr of grep, as GNU grep's manpage recommends.
]
[Use cute short form of $(dir) and $(notdir).
Trent W. Buck <trentbuck at gmail.com>**20081025113759]
[Refactor dependency declaration for helper utils.
Trent W. Buck <trentbuck at gmail.com>**20081025011633
The .hs/.lhs deps that "disappear" are still in autoconf.mk.in.
]
[Turn descriptive commands into comments.
Trent W. Buck <trentbuck at gmail.com>**20081024032405
I don't think there's any point in printing "I'm deleting information
you can't recover" immediately before doing so, without offering an
abort step. Therefore, that message can just be an ordinary comment
in the makefile.
]
[Quieten removal of "Main" intermediaries.
Trent W. Buck <trentbuck at gmail.com>**20081023093107
This matches the quietness in the "darcs" target in GNUmakefile.
]
[Add conventional "pdf", "ps" and "html" targets.
Trent W. Buck <trentbuck at gmail.com>**20081023070550
See info page (make)Standard Targets.
]
[Don't override MAKEFLAGS's -j.
Trent W. Buck <trentbuck at gmail.com>**20081023065134
Make does hairy things within $MAKEFLAGS (which is included in $MAKE)
to ensure that -j does the right thing in the presence of nested
makes. Overriding this with $(MAKE) -j4 is almost certainly naughty.
Instead, you should do "make -j4 disttest" or implicitly, with
"MAKEFLAGS=j4 darcs record --test".
]
[Use ANNOUNCE_GHC convention for darcs.
Trent W. Buck <trentbuck at gmail.com>**20081024085359]
[Conventionalize make rule for hspwd.
Trent W. Buck <trentbuck at gmail.com>**20081024033900]
[Reduce disttest noise for teetotalers.
Trent W. Buck <trentbuck at gmail.com>**20081103094530
Without wine installed, "make disttest" was printing nine copies of:
/bin/sh: wine: not found
test: 1: =: argument expected
This DOES NOT fix the case where wine is installed, but GHC is not
available from wine:
wine runghc Setup.hs configure
wine: could not load L"C:\\windows\\system32\\runghc.exe": Module not found
make: *** [disttest] Error 126
]
[resolve conflict in makefile.
David Roundy <droundy at darcs.net>**20081103002009
Ignore-this: 3677a2bad189f858b1ac06e56b9e4c2f
]
[fixup SRC_DIRS
Ganesh Sittampalam <ganesh at earth.li>**20081029190715]
[a slight simplification
Ganesh Sittampalam <ganesh at earth.li>**20081028185358]
[clarify SlurpDirectory interface
Ganesh Sittampalam <ganesh at earth.li>**20081028072911]
[cleanup some patterns
Ganesh Sittampalam <ganesh at earth.li>**20081028065424]
[simplify slurp_has_anycase
Ganesh Sittampalam <ganesh at earth.li>**20081026200442]
[another obvious use of the SlurpyMap
Ganesh Sittampalam <ganesh at earth.li>**20081026192715]
[bug fix
Ganesh Sittampalam <ganesh at earth.li>**20081026185518]
[make use of the SlurpyDir Map in the obvious places
Ganesh Sittampalam <ganesh at earth.li>**20081026153749]
[dumb changeover of SlurpDir contents from [] to Map
Ganesh Sittampalam <ganesh at earth.li>**20081026135906]
[refactor Slurpy to common up name component between File/Dir
Ganesh Sittampalam <ganesh at earth.li>**20081026123722]
[TAG stable 2008-11-17 (with 2.1.2)
Eric Kow <kowey at darcs.net>**20081117104434]
Patch bundle hash:
3f10ca0940149eed7f62b1df659e344948b39107
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 304 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20090105/982ca505/attachment-0001.pgp
More information about the darcs-users
mailing list