[darcs-devel] RT #303

Aaron Denney wnoise at ofb.net
Mon Apr 4 14:18:16 PDT 2005


attached are patches to
(a) provide a better errero message for "darcs init" in an existing
repo. (fixes RT 303)
(b) changes types of the functions used in (a) to match how they're
used.
b depends on a.

I still think these functions should be renamed, but I haven't done so.
It seems like this would be the perfect use of "darcs replace", but when
I tried to do so it was not terribly smooth, and that maken me a bit
leery of trying to use it.

-- 
Aaron Denney
-><-
-------------- next part --------------

New patches:

[RT #303
Aaron Denney <wnoise at ofb.net>**20050403143516
 A better error message on failures of am_not_in_repo, i.e. when calling
 "darcs init" in a pre-existing repository.
] {
hunk ./Repository.lhs 125
-                      if air then return (Nothing, "")
+                      if air then return (Nothing, "You may not run this"
+                                  ++ " command in a repository.")
}

[Cleanup command_prereq.  Failures and succeses exclusive.
Aaron Denney <wnoise at ofb.net>**20050403165740
 Instead of returning (Maybe FilePath, String), it returns
 Either String FilePath.
] {
hunk ./DarcsCommands.lhs 115
-                  command_prereq :: [DarcsFlag] -> IO (Maybe FilePath, String),
+                  command_prereq :: [DarcsFlag] -> IO (Either String FilePath),
hunk ./DarcsCommands.lhs 210
-           (maybe_fix, complaint) <- command_prereq cmd opts
+           maybe_fix <- command_prereq cmd opts
hunk ./DarcsCommands.lhs 212
-                  Just f -> return f
-                  Nothing -> fail $ "Can't run command " ++
+                  Right f -> return f
+                  Left complaint -> fail $ "Can't run command " ++
hunk ./DarcsCommands.lhs 233
- (is_ok, complaint) <- (command_prereq cmd) opts
- case is_ok of
-   Nothing -> fail $ "Unable to \"darcs "++ command_name cmd ++
+ location <- command_prereq cmd opts
+ case location of
+   Left complaint -> fail $ "Unable to \"darcs "++ command_name cmd ++
hunk ./DarcsCommands.lhs 237
-   Just fix_path -> do
+   Right fix_path -> do
hunk ./Get.lhs 91
-                    command_prereq = \_ -> return $ (Just "", ""),
+                    command_prereq = \_ -> return $ Right "",
hunk ./Repository.lhs 122
-am_not_in_repo :: [DarcsFlag] -> IO (Maybe FilePath, String)
+am_not_in_repo :: [DarcsFlag] -> IO (Either String FilePath)
hunk ./Repository.lhs 125
-                      if air then return (Nothing, "You may not run this"
+                      if air then return (Left $ "You may not run this"
hunk ./Repository.lhs 127
-                             else return $ (Just "", "")
+                             else return $ Right ""
hunk ./Repository.lhs 129
-am_in_repo :: [DarcsFlag] -> IO (Maybe FilePath, String)
+am_in_repo :: [DarcsFlag] -> IO (Either String FilePath)
hunk ./Repository.lhs 135
-a_i_r :: FilePath -> IO (Maybe FilePath, String)
+a_i_r :: FilePath -> IO (Either String FilePath)
hunk ./Repository.lhs 140
-     then return $ (Just dir, "")
+     then return $ Right dir
hunk ./Repository.lhs 146
-                else return (Nothing,
+                else return (Left $
hunk ./Repository.lhs 154
-maybe_in_repo :: [DarcsFlag] -> IO (Maybe FilePath, String)
+maybe_in_repo :: [DarcsFlag] -> IO (Either String FilePath)
hunk ./Repository.lhs 165
-     then return $ (Just dir, "")
+     then return $ Right dir
hunk ./Repository.lhs 172
-                        return (Just "", "")
+                        return $ Right ""
hunk ./darcs.lhs 34
-import Maybe ( isJust )
hunk ./darcs.lhs 710
-          is_valid' <- sequence $ map
+          is_valid <- sequence $ map
hunk ./darcs.lhs 713
-          let is_valid = map fst is_valid'
hunk ./darcs.lhs 714
-                   filter (isJust.snd) $ zip the_commands is_valid
+                   filter (isRight.snd) $ zip the_commands is_valid
hunk ./darcs.lhs 722
-  run_the_command (head argv) (tail argv) the_commands
+  run_the_command (head argv) (tail argv) the_commands where
+    isRight (Right _) = True
+    isRight _ = False
}

Context:

['darcs add' prints errors to stderr, fail when no files added (fixes #53)
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050403192831] 
[Add test for darcs add behaviour on missing files.
Ralph Corderoy <ralph at inputplus.co.uk>**20041108134847
 Test for desired behaviour on adding a non-existant file, adding a file
 already added, etc.
] 
[(RT#318) set output file to stdout explicitly in tar invocation (dist)
Benedikt Schmidt <beschmi at cloaked.de>**20050404102300] 
[Remove another use of GHC internals
Ian Lynagh <igloo at earth.li>**20050402223849] 
[Hack to avoid confusing cpp
Ian Lynagh <igloo at earth.li>**20050402223406] 
[Set funfolding-use-threshold=20 for SHA1 rather than using ugly code
Ian Lynagh <igloo at earth.li>**20050402215145] 
[Avoid cpp \ line continuation
Ian Lynagh <igloo at earth.li>**20050402194918] 
[Extra parens around assignment used as truth value
Ian Lynagh <igloo at earth.li>**20050402193328] 
[Replace sequence_ $ map with mapM_
Ian Lynagh <igloo at earth.li>**20050402192231] 
[Remove duplicate \end{code}
Ian Lynagh <igloo at earth.li>**20050402190212] 
[Fix which header to look in for execvp_no_vtalarm
Ian Lynagh <igloo at earth.li>**20050402185440] 
[make some more flag descriptions lowercase
Tommy Pettersson <ptp at lysator.liu.se>**20050403131742] 
[initial test for optimize
Mark Stosberg <mark at summersault.com>**20050403023609] 
[changelog update -- "--modernize-patches":
Mark Stosberg <mark at summersault.com>**20050403005708] 
[changelog update for "darcs annotate missing_file.txt" fix
Mark Stosberg <mark at summersault.com>**20050403005547] 
[remove debug output from annotate failure message.
David Roundy <droundy at abridgegame.org>**20050402223235] 
[specify author in resolve.pl.
David Roundy <droundy at abridgegame.org>**20050402205329] 
[add --modernize-patches option to optimize.
David Roundy <droundy at abridgegame.org>**20050402201902] 
[automated tests for 'resolve'.
Mark Stosberg <mark at summersault.com>**20050402144236
 
 This depends on echo_to_darcs() in Test::Darcs.
] 
[resolve conflict
Mark Stosberg <mark at summersault.com>**20050402132627] 
[refactor: get rid of test warnings
Mark Stosberg <mark at summersault.com>**20050320200712] 
[flag description should be in lowercase.
David Roundy <droundy at abridgegame.org>**20050402184740] 
[add documentation for _darcs/prefs/motd to "Configuring Darcs"
Mark Stosberg <mark at summersault.com>**20050402130713] 
[better document _darcs/prefs/email
Mark Stosberg <mark at summersault.com>**20050402130320] 
[typo fix: sevaral -> several
Mark Stosberg <mark at summersault.com>**20050402125818] 
[fix bug with $DARCS not being exported
Mark Stosberg <mark at summersault.com>**20050402014854
 
 This patch fixes the bug with $DARCS not being exported in unpull.pl.
 It should also also fix the problem some people had with this script
 hanging. 
 
 It depends on adding echo_to_darcs() to Test::Darcs, which is in a separate
 patch, which may not have an official dependency, since --ask-deps was taking
 too long.
 
 Hopefully, if other test scripts are hanging, we can fix them like this, too. 
 
 Thanks to Schwern for some of the logic help here. 
 
     Mark
] 
[bug fix: add needed call to IPC::Open2;
Mark Stosberg <mark at summersault.com>**20050402014231] 
[add echo_to_darcs to Test::Darcs
Mark Stosberg <mark at summersault.com>**20050401134748] 
[Changelog update
Mark Stosberg <mark at summersault.com>**20050401133627] 
[add to --match/--matches regexp match for author
Tommy Pettersson <ptp at lysator.liu.se>**20050401205908] 
[get rid of tab in RemoteApply.
David Roundy <droundy at abridgegame.org>**20050401123126] 
[get rid of tabs in Put.lhs.
David Roundy <droundy at abridgegame.org>**20050401123114] 
[fix a few minor bugs in the date matcher.
David Roundy <droundy at abridgegame.org>**20050401121118] 
[Work around shopt extglob being off for some users
Tuukka Hastrup <Tuukka.Hastrup at iki.fi>**20050401060527] 
[resolve conflict in Patch.
David Roundy <droundy at abridgegame.org>**20050401112959] 
[update Changelog for RT#305 - "--patch" removed from 'darcs changes'
Mark Stosberg <mark at summersault.com>**20050331212123] 
[resolve conflict in DarcsArguments.
David Roundy <droundy at abridgegame.org>**20050401112333] 
[use comment verbatim in xml output
glaweh at physik.fu-berlin.de**20050325103229
 without this patch, newlines were added before and after the comment
 content; additionally, the comment's first line was indented.
 both effects made it quite hard to transform the comment to html <pre>
 environments.
] 
[introduce withRepoLock to get rid of hardcoded "./_darcs/lock" strings
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050331163645] 
[GNUmakefile: add test_coding_standards target, included in test/check
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050331193442
 Currently it ensures that Haskell sources files contain no TABs. I
 checked that David prefers darcs sources to be tab-free. I found TABs
 only in a couple of places, so I figured it would be a good idea to
 remove them and enforce this in the future.
] 
[remove TABs from Haskell source files
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050331191041] 
[optimize most common case for add
Benedikt Schmidt <beschmi at cloaked.de>**20050331131244
 try_to_shrink is O(n^2) where n is the number of patches. The most common
 case is a list containing only AddFile/AddDir patches where shrink is
 not necessary
] 
[Work around the colon issue in bash_completion
Tuukka Hastrup <Tuukka.Hastrup at iki.fi>**20050329174505] 
[improve 'changes' description by mentioning 'changelog'
Mark Stosberg <mark at summersault.com>**20050320210306
 
 I intentionally removed 'human-readable' from the description,
 since 'changes' now has XML output as well. 
] 
[RT#231 - ChangeLog update
Mark Stosberg <mark at summersault.com>**20050319162549] 
[make formatting of command name more consistent
Mark Stosberg <mark at summersault.com>**20041108032029] 
[add documentation and license for sendmail-command
Benedikt Schmidt <beschmi at cloaked.de>**20050330154205] 
[fix conflict with Tomasz' conflict resolution and mine.
David Roundy <droundy at abridgegame.org>**20050331120513] 
[fix typo
Tommy Pettersson <ptp at lysator.liu.se>**20050330172211] 
[PR#194: add "X-Darcs-Version:" header to 'darcs send' messages
Karel Gardas <kgardas at objectsecurity.com>**20050330161821] 
[Record.lhs: merge imports of Directory and System.Directory
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050330190301] 
[be a bit quicker in unit.
David Roundy <droundy at abridgegame.org>**20050330142629] 
[resolve conflict in whatsnew.pl.
David Roundy <droundy at abridgegame.org>**20050330142532] 
[Add a dummy handleToFd to win32/System/Posix.hs to avoid configure workaround on windows.
peter at zarquon.se**20050328193453] 
[fix bugs in whatsnew.pl that I don't understand.
David Roundy <droundy at abridgegame.org>**20050330135557
 i.e. this was trial-and-error bugfixing.  :(
] 
[fix non-existent file tests in record.pl.
David Roundy <droundy at abridgegame.org>**20050330135111] 
[if user specifies only nonexisting files on record, then exit.
David Roundy <droundy at abridgegame.org>**20050330134133] 
[comment out unpull all test that hangs on me... :(
David Roundy <droundy at abridgegame.org>**20050330133459] 
[fix double-import of stuff from Directory.
David Roundy <droundy at abridgegame.org>**20050330132638] 
[PR#231: fix record to report any non-existent file/directory given as an argument
Karel Gardas <kgardas at objectsecurity.com>**20050324091401] 
[Uncommon file not actually being created
schwern at pobox.com**20050324073620
 
 On OS X at least (perhaps elsewhere) `date >> \\` produces
 sh: -c: line 2: syntax error: unexpected end of file
 
 Replaced with Shell::Command's touch() so that the file named \ is actually
 created.
] 
[migrate missed_resolution.pl to Test::Darcs for better portability
Mark Stosberg <mark at summersault.com>**20050324032502] 
[clarify docs for "apply --cc"
Mark Stosberg <mark at summersault.com>**20050323021830] 
[clarify 'apply --reply=FROM' docs
Mark Stosberg <mark at summersault.com>**20050323021333] 
[RT#233 - add test for unpull --last 1
Mark Stosberg <mark at summersault.com>**20050321034712] 
[RT#233 - test that unpull confirms after selecting "all"
Mark Stosberg <mark at summersault.com>**20050321033623] 
[export $DARCS from Test::Darcs in case we need it
Mark Stosberg <mark at summersault.com>**20050321031827
 
 This seems to be the best way to handle piping input
 into darcs(). I can use open2() directly in my code
 along with $DARCS to solve that problem.
] 
[RT#233 Add stub test scripts for 'unpull' and 'unrecord'
Mark Stosberg <mark at summersault.com>**20050321022222] 
[fix TODO test (it was acciddently passing)
Mark Stosberg <mark at summersault.com>**20050320204631] 
[RT#225 - get rid of some warnings in the put.pl test
Mark Stosberg <mark at summersault.com>**20050320204357] 
[fix silly test failure
Mark Stosberg <mark at summersault.com>**20050320200824] 
[refactor to use Test::Darcs for better portability
Mark Stosberg <mark at summersault.com>**20050319162341] 
[RT#225 - some first tests for 'put', including TODO tests for setting the default REPO
Mark Stosberg <mark at summersault.com>**20050320195440] 
[RT#225 - a better "do nothing" message for put.
Mark Stosberg <mark at summersault.com>**20050320175622
 
 No need to get sassy and tell the user what they want.
] 
[a new test for 'push' without a repo argument, and other cleanups
Mark Stosberg <mark at summersault.com>**20050320175120] 
[switch to cwd() for better portability
Mark Stosberg <mark at summersault.com>**20050320174152] 
[migrate to Test::Darcs for better portability
Mark Stosberg <mark at summersault.com>**20050320173514] 
[RT#225 - provide a more helpful message when 'put' fails
Mark Stosberg <mark at summersault.com>**20050320165530] 
[Shell::Command to replace shell calls in perl tests
schwern at pobox.com**20050312033530
 
 The perl tests make shell calls for trivial things which can be done
 just fine in Perl like touch, mkdir, rm -rf.  These are compatibility
 problems waiting to happen.
 
 There is an existing module which provides Perl functions similar to common
 shell commands, Shell::Command.  It is a wrapper around the core module
 ExtUtils::Command.  I've provided a copy here so darcs users do not have to
 download and install it to run the tests.
 
 This patch converts add.pl to use Shell::Command eliminating all `` calls
 in that test as a demonstration.
] 
[Convert add_in_subdir test to Perl
schwern at pobox.com**20050324060312
 
 To demonstrate converting a shell test into Perl using Shell::Command for
 better portability, diagnostics and debugging.
 
 Its pretty much a straightforward line-by-line mapping.
] 
[add sendmail-command option (#115)
Benedikt Schmidt <beschmi at cloaked.de>**20050327030747
 - sendmail-command specifies the commandline used to send mail, the
   commandline can contain some format strings to specify the recipient
 - the sendmail-command option is used on windows and is used instead of
   mapi if specified
             
] 
[RT#231 - new TODO test illustrating a bug is still present
Mark Stosberg <mark at summersault.com>**20050319203457] 
[RT#231 - test for recording nonexistent files
Mark Stosberg <mark at summersault.com>**20050319162406] 
[refactor: use Test::Darcs for better portability
Mark Stosberg <mark at summersault.com>**20050319154204] 
[RT#245 - ChangeLog update and test
Mark Stosberg <mark at summersault.com>**20050319154739] 
[RT#266 - add ChangeLog entry
Mark Stosberg <mark at summersault.com>**20050319152907] 
[refactor: fix test warning output and start Test::Darcs migration
Mark Stosberg <mark at summersault.com>**20050319164331] 
[RT#278 - Add warnings to unpull, unrecord and amend-record docs
Mark Stosberg <mark at summersault.com>**20050319141334] 
[RT#278 - resolve ticket with updated docs about unpull
Mark Stosberg <mark at summersault.com>**20050319023020] 
[clarify description of --ask-deps option
Tommy Pettersson <ptp at lysator.liu.se>**20050319134738] 
[[RT #258] accept darcs help foo as equivalent to darcs foo --help.
David Roundy <droundy at abridgegame.org>**20050316133828] 
[add newline to end of "Nothing to do" message in apply.
David Roundy <droundy at abridgegame.org>**20050316131617] 
[make apply work with patch bundle given as a relative path from a subdirectory.
David Roundy <droundy at abridgegame.org>**20050316131549] 
[RT#25 - document that GUI is not currently functional.
Mark Stosberg <mark at summersault.com>**20050319023847] 
[Fix RT#266. Introduce is_symlink instead of isnt_symlink.
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050317121210] 
[PR#245: whatsnew --look-for-adds implies --summary usage
Karel Gardas <kgardas at objectsecurity.com>**20050316194755] 
[give more detail in test_commute.
David Roundy <droundy at abridgegame.org>**20050316132849] 
[update documentation for unrecord and unpull
Tommy Pettersson <ptp at lysator.liu.se>**20050313232216
 Document --from and --last options, and change from single patch to multiple
 patches
] 
[make unrecord and unpull take --from and --last options
Tommy Pettersson <ptp at lysator.liu.se>**20050313231641] 
[fix typo
Tommy Pettersson <ptp at lysator.liu.se>**20050313225130] 
[new match option match_severla_or_last
Tommy Pettersson <ptp at lysator.liu.se>**20050313215644
 It only lets you select patches in a way so that everything
 can be commuted to the end.  Good for removal.
] 
[fix typo
Tommy Pettersson <ptp at lysator.liu.se>**20050313213009] 
[Eliminate Can't exec "cd" error
Nigel Rowe <rho at swiftdsl.com.au>**20050315002116] 
[add missing newline to 'put'
Mark Stosberg <mark at summersault.com>**20050315011639] 
[make Patch export really_eq_patches.
David Roundy <droundy at abridgegame.org>**20050314135346] 
[Declare sloppy_atomic_create
Nigel Rowe <rho at swiftdsl.com.au>**20050314105803
 Eliminate warning when compiling Lock.lhs
] 
[[RT#268] Ship Test::Harness and Test::More
schwern at pobox.com**20050313195506
 
 So we don't have to worry about what version of the Test modules users have,
 just ship em with darcs.  They're small.
 
 PS  I threw in the Test::Tutorial and Test::TAP files even though they're just
 documentation.  Makes upgrading easier (can just copy everything, don't have
 to worry about other files), they're small and who knows, someone might
 actually read them.
] 
[write_patch reads old patch and only writes if new or changed
Tommy Pettersson <ptp at lysator.liu.se>**20050313141722] 
[get rid of commute_to_before in remove_from_unrevert_context
Tommy Pettersson <ptp at lysator.liu.se>**20050312124442
 as suggested by David Roundy
] 
[change Conflictor data type to support multiple (as opposed to repeated) conflicts.
David Roundy <droundy at abridgegame.org>**20050313200940] 
[typo fix - stray bracket in '--with-wx' help
Martin Bays <mbays at freeshell.org>**20050312203521] 
[a TODO test which confirms that RT#266 is a regression
Mark Stosberg <mark at summersault.com>**20050312220846
 
 I suspect of the recent symlink patches introduced this. 
 Search 'darcs changes' for 'sym' to find it. 
] 
[RT#152 a TODO test for resolve after a conflict
Mark Stosberg <mark at summersault.com>**20050312035601
 
 When pushing a conflict, darcs reports "There is a conflict".
 However, running 'darcs resolve' in the repo with the conflict
 reports no conflict. That seems like a big.
] 
[RT#10 demostrate conflict resolution bug is resolved
Mark Stosberg <mark at summersault.com>**20050312024532
 
 I translated the original shell script into (mostly!) Perl.
 
 I also tried running the shell script, and it passed to.
 
 It appears this bug has been fixed.
 
 Having this test in the test suite will help to prevent a regression.
 
     Mark
] 
[copyedit section about special patches and pending in best_practices
Martin Bays <mbays at freeshell.org>**20050311211035] 
[fix typo: 'n -> \n
Martin Bays <mbays at freeshell.org>**20050312175555] 
[Allow parens to be optional when calling darcs() test command in some cases.
Mark Stosberg <mark at summersault.com>**20050312142220] 
[Test::Darcs.  darcs() instead of `$DARCS ...`
schwern at pobox.com**20050312031120
 
 All the perl tests repeat this mantra to find darcs:
 
   use vars qw/$DARCS/;
 
   die 'darcs not found' unless $ENV{DARCS} || (-x "$ENV{PWD}/../darcs");
   $DARCS = $ENV{DARCS} || "$ENV{PWD}/../darcs";
 
 And then they call $DARCS directly via a shell command.  `$DARCS ...`
 Repeated code is bad and all that shell is likely to become a compatibility
 liability.
 
 This patch creats a library Test::Darcs and in it darcs() which replaces
 `$DARCS ...`.  I've converted add.pl to use it as a demonstration.
 
 One of the issues is now in order to run an individual Perl test file you
 must add -Ilib/perl so it can find Test::Darcs.  Alternatively one can 
 add "use lib qw(lib/perl)" to all the Perl tests.  I don't know which is
 better for darcs developers.  The latter is redundant but potentially less
 confusing.
 
 More testing libraries for tests/lib/perl to follow.
 
] 
[turn wishful test into a TODO block so test script will succeed
Mark Stosberg <mark at summersault.com>**20041214024314] 
[test for changes --last affecting only given files
Mark Stosberg <mark at summersault.com>**20041026122610
 
 I added a test to confirm that "--last" only considers patches that
 the given files are in.
 
 It fails now because this is not implemented yet. You can save this test until
 you are ready to do that. :)
 
     Mark
] 
[MOre ChangeLog updates
Mark Stosberg <mark at summersault.com>**20050312140805] 
[get rid of needless warnings in test suite run.
Mark Stosberg <mark at summersault.com>**20050312140247
 
 Thanks to Schwern for pointing this out. 
] 
[RT #255 Comprehensible shell test output
schwern at pobox.com**20050311212647] 
[fix ghc 6.4 issue in SlurpDirectory.
David Roundy <droundy at abridgegame.org>**20050312130245] 
[typo fix - s/direcotry/directory/
Mark Stosberg <mark at summersault.com>**20050311150658] 
[resolve conflict in SlurpDirectory.
David Roundy <droundy at abridgegame.org>**20050311134239] 
[refuse to use mmap on nfs systems.
David Roundy <droundy at abridgegame.org>**20050311123821] 
[fix short description of --tag-name (which should be just --tag) in optimize.
David Roundy <droundy at abridgegame.org>**20050310130040] 
[command description and help patch
peter at syncad.com**20050309230427] 
[RT#165 - TODO test for pull/rollback bug
Mark Stosberg <mark at summersault.com>**20050310031811] 
[another TODO test for mv with absolute paths. This one is for the target argument.
Mark Stosberg <mark at summersault.com>**20050309210815] 
[add TODO test for mv with absolute paths
Mark Stosberg <mark at summersault.com>**20050309210134
 
 I'm using the ExtUtils::Command module as a perceived improvement for
 portability for some Unixy comands. It's part of the core Perl distribution so
 every should have it. (Although there are still more system calls which could
 be converted). 
 
     Mark
 
] 
[record.pl conflict resolution and new tests
Mark Stosberg <mark at summersault.com>**20050309135405] 
[adding test for 'record --logfile'
Mark Stosberg <mark at summersault.com>**20041211213218] 
[provide example e-mail address format in prompt.
Mark Stosberg <mark at summersault.com>**20050310023528] 
[make slurp_read_and_write_dirty respect --set-scripts-executable.
David Roundy <droundy at abridgegame.org>**20050309135827] 
[recommend that test suite is run as part of the install process
Mark Stosberg <mark at summersault.com>**20050308174621] 
[add section about special patches and pending to best_practices
Tommy Pettersson <ptp at lysator.liu.se>**20050307213134] 
[RT#143, adding ChangeLog entry
Mark Stosberg <mark at summersault.com>**20050308151004] 
[make record.pl a TODO test and s/darcs/\$DARCS/.
David Roundy <droundy at abridgegame.org>**20050309122530] 
[bugfix reverse without invert for pull_lasts in PatchChoices
Tommy Pettersson <ptp at lysator.liu.se>**20050308165709
 The buggy return value is not used at present, but it migth be some day.
] 
[more changelog updates: mention diff, unrecord, unpull and put improvements
Mark Stosberg <mark at summersault.com>**20050309002610] 
[RT#247: a TODO test for files name "\"
Mark Stosberg <mark at summersault.com>**20050309025808
 
 The TODO block can be removed when the code is updated for the test to pass.
] 
[convert whatsnew-with-absolutes-paths tests to a TODO test.
Mark Stosberg <mark at summersault.com>**20050309025427
 
 TODO tests still 'succeed' when the test fails, thus test should now be OK to
 'apply' to darcs before the code is written to match it. Hopefully, it may even
 be an incentive to help get started on that. 
 
] 
[switch to more portable constructs.
Mark Stosberg <mark at summersault.com>**20050309025351] 
[test for record with absolute paths (current failing)
Mark Stosberg <mark at summersault.com>**20041024000931] 
[a test for whatsnew with absolute paths
Mark Stosberg <mark at summersault.com>**20041023235658
 It was recently reported on the -users list that 'whatsnew' doesn't work with absolute paths.
 This test confirms that bug (It current fails). 
] 
[tag needs author flag in tag.pl test.
David Roundy <droundy at abridgegame.org>**20050308131311] 
[document add command with symbolic links and boring option
Tommy Pettersson <ptp at lysator.liu.se>**20050308105604] 
[fix bug in new tag code pointed out by Mark (which caused his tests to fail).
David Roundy <droundy at abridgegame.org>**20050308125801] 
[some tests for darcs tag.
Mark Stosberg <mark at summersault.com>**20050308033818
 
 These tests were made to verify the new functionality by Josef
 to include the tag name on the command line. 
 
 Currently there are two failing tests which illustrate that success is being reported
 different in this case, and more importantly, that the patch names generated are in 
 a new format which does include 'tagged' in the name. 
] 
[improve doc for tag name
Mark Stosberg <mark at summersault.com>**20050308033739] 
[Command tag now accepts patchname on the command line
Josef Svenningsson <josef.svenningsson at gmail.com>**20050306013356] 
[A new command: put
Josef Svenningsson <josef.svenningsson at gmail.com>**20050305153255] 
[Stylistic changes to Slurpy-pruning code (David's suggestions).
Kannan Goundan <kannan at cakoose.com>**20050306213842] 
[user must confirm choice 'a' for unrecord and unpull
Tommy Pettersson <ptp at lysator.liu.se>**20050306201403] 
[update test suite for new multi-select interface to unrecord and unpull
Tommy Pettersson <ptp at lysator.liu.se>**20050306185536] 
[make unrecord and unpull use same interface as pull, to select multiple patches
Tommy Pettersson <ptp at lysator.liu.se>**20050306183140] 
[add function commute_to_end to Depends
Tommy Pettersson <ptp at lysator.liu.se>**20050306173752] 
[add function with_selected_last_changes_reversed to SelectChanges
Tommy Pettersson <ptp at lysator.liu.se>**20050306141917] 
[make remove_from_unrevert_context take a list of patches
Tommy Pettersson <ptp at lysator.liu.se>**20050306140701
 This will enable unpull and unrecord en masse
] 
[resolve conflict with symlink error message fix.
David Roundy <droundy at abridgegame.org>**20050305164054] 
[Better error message when trying to add a symbolic link
chucky at dtek.chalmers.se**20050305134958] 
[When creating replicas to run "diff" on, only copy what's necessary.
kannan at cakoose.com**20050303042827] 
[Added functions to selectively prune a Slurpy tree.
kannan at cakoose.com**20050303042606] 
[fix MacOS hard link HFS+ problem with GUI editors.
David Roundy <droundy at abridgegame.org>**20050305151537
 On HFS+, MacOS X has to emulate hard links, since they don't exist on the
 filesystem.  It does this moderately well, but many editors (including
 xcode, which is written by Apple) can't handle files that have formerly had
 hard links made.  All files created by darcs were in this category, since
 we reused our lock-grabbing code to create files.  I've modified the code
 to instead use the sloppy lock-grabbing code when we just want to create a
 file (which isn't really a lock).  This *should* fix the bug on MacOS X.
] 
[add explanatory comment regarding snprintf on win32.
David Roundy <droundy at abridgegame.org>**20050305150309
 It's amazing some of the stuff I've learned working on darcs!
] 
[Fix an off-by-one bug in win32 mkstemp.
Josef Svenningsson <josef.svenningsson at gmail.com>**20050303151956] 
[add (optional) statistics output to list_authors.
David Roundy <droundy at abridgegame.org>**20050305134613
 I was just curious...
] 
[fix LaTeX markup: ellipsis and a dash
Tommy Pettersson <ptp at lysator.liu.se>**20050224021423] 
[fix broken footnote in best_practises
Tommy Pettersson <ptp at lysator.liu.se>**20050304003052] 
[improve tests on commutation.
David Roundy <droundy at abridgegame.org>**20050302125743] 
[give more info when new_elegant_merge fails.
David Roundy <droundy at abridgegame.org>**20050302125717] 
[use commute_no_merger in simple_commute_conflict.
David Roundy <droundy at abridgegame.org>**20050302125640] 
[fix bugs and simplify code in conflictor commutation.
David Roundy <droundy at abridgegame.org>**20050302125452] 
[update docs to reflect how darcs mv (and unix mv) actually work.
Mark Stosberg <mark at summersault.com>**20050228192022
 
 I also updated the help syntax to use brackets, like 'darcs record' does.
] 
[Fix path to pending_buggy in user message
Thomas Zander <TZander at Factotummedia.nl>**20050225135841] 
[when patch has already been applied, exit with nicer message.
David Roundy <droundy at abridgegame.org>**20050226134928] 
[eliminate inappropriate singular flags in changes.
David Roundy <droundy at abridgegame.org>**20050225123849] 
[Improve diagnostic message with apply refuses to patch.
Mark Stosberg <mark at summersault.com>**20050226033747
 
 Sometimes it's confusing when apply refuses to apply a patch
 that would cause a conflict. 
 
 This is a documentation patch which explains to the user who to 
 cause darcs to apply the patch and mark the conflicts anyway, 
 if that's what they want. 
] 
[be more stubborn when running quickCheck tests patiently.
David Roundy <droundy at abridgegame.org>**20050224134503] 
[sort commands in "Ambiguous command" message.
David Roundy <droundy at abridgegame.org>**20050220141036] 
[Help texts clarification
Thomas Zander <zander at kde.org>**20050219165049] 
[fix bug in new confictor commute code.
David Roundy <droundy at abridgegame.org>**20050219192453] 
[implement some of the conflictor commutation in a more testable manner.
David Roundy <droundy at abridgegame.org>**20050219164032
 This is the start to verifying individually that all the portions of the
 conflictor commutation are correct, since they form these little sets
 (which are checed in the unit test).
] 
[don't import head twice (fixes ghc 6.4 warning).
David Roundy <droundy at abridgegame.org>**20050219120649] 
[move nubsort from PatchCommute to DarcsUtils
Benedikt Schmidt <beschmi at cloaked.de>**20050219100534
 and change all nub . sort calls to nubsort.
] 
[fix get over sftp using the putty sftp client
Benedikt Schmidt <beschmi at cloaked.de>**20050219095413
 psftp doesn't change to the directory given on the commandline as
 user at host:dir. Change url given as arg to user at host: and add a
 cd dir command to the batchfile.
] 
[add exec_interactive and use it instead of system in some places
Benedikt Schmidt <beschmi at cloaked.de>**20050218022204
 exec_interactive just uses rawSystem wich works on posix systems
 (using execvp) and should work on windows too.
] 
[clarify message and nub . sort instead of other way around
Benedikt Schmidt <beschmi at cloaked.de>**20050218014042] 
[merge_three_patches-test-use-DARCS-not-darcs-for-get-tempOld-tempB
petersen at haskell.org**20050217052705] 
[fix bug in what_sl test.
David Roundy <droundy at abridgegame.org>**20050217133957] 
[canonize peter strand.
David Roundy <droundy at abridgegame.org>**20050217130626] 
[fix non-matching regexp in unit test
Will <will at glozer.net>**20050217074209] 
[add self-test routines to cgi
Will <will at glozer.net>**20050217071519] 
[Revert to old behaviour for "whatsnew -sl" wrt. showing modified files (bug #210 in RT)
peter at zarquon.se**20050216231858] 
[#217: darcs test suite ignores ~/.darcs
Yuval Kogman <nothingmuch at woobling.org>**20050216000637
 Every test run has env HOME=`pwd` prepended to it, which causes darcs to look
 for .darcs in the src/darcs/test directory, instead of the actual home of the
 user running the test suite.
] 
[Less ambiguous (and context-insensitive) docpatch for --look-for-adds
Yuval Kogman <nothingmuch at woobling.org>**20050215233402
 lookforadds is documented in a way that could be interpreted as 'running "darcs
 whatsnew -l" will add files to the repo'. This doc patch tries to clarify the
 issue, but does a bad job of it.
 
 The reason is that lookforadds is documented once, while it actually means two
 different things in two different contexes - recording, and whatsnewing. The
 changed texts try to make sense in both contexes.
 
 Splitting the lookforadds documentation is beyond me, as it requires code
 modifications, but would definately be the Right Thing to do.
] 
[add -lposix4 -lpthread to LDFLAGS when present, needed on Solaris
Samuel Tardieu <sam at rfc1149.net>**20050214170152] 
[add a couple more commutation tests.
David Roundy <droundy at abridgegame.org>**20050214134235] 
[fix darcs-unstable to work with ghc 6.4.
David Roundy <droundy at abridgegame.org>**20050212162509] 
[fixes to make darcs work with ghc 6.4.
David Roundy <droundy at abridgegame.org>**20050212125212] 
[quote filename passed to $EDITOR
Benedikt Schmidt <beschmi at cloaked.de>**20050210193135
 fix bug when working directory contains spaces reported by
 Steven E. Harris.
] 
[fix bug in merger tests.
David Roundy <droundy at abridgegame.org>**20050210131025] 
[extend subcommute tests.
David Roundy <droundy at abridgegame.org>**20050209135706] 
[add subcommutation tests.
David Roundy <droundy at abridgegame.org>**20050208135139] 
[fix commuteFP.
David Roundy <droundy at abridgegame.org>**20050208134536] 
[change tab to spaces.
David Roundy <droundy at abridgegame.org>**20050207131451] 
[improvements for darcs add and adding parent directories
Benedikt Schmidt <beschmi at cloaked.de>**20050206000516
 Don't check for parents of recursively added files and
 order files given on commandline. Add test for new
 behaviour.
] 
[index.html.in: "Darcs is a revision control system."
Thomas Schwinge <schwinge at nic-nac-project.de>**20050206150322
 I'd suggest this change; IMHO there's no need to compare darcs to CVS.
] 
[Remove doubled 'on' from index.html.in.
Thomas Schwinge <schwinge at nic-nac-project.de>**20050206145156] 
[use DarcsIO classes for apply_to_filepaths.
David Roundy <droundy at abridgegame.org>**20050206142024] 
[canonize AJ... :)
David Roundy <droundy at abridgegame.org>**20050205212437] 
[RT#201 - add test for takeLock failure on pull
Mark Stosberg <mark at summersault.com>**20050206040412] 
[changelog updates
Mark Stosberg <mark at summersault.com>**20050206030948] 
[new DarcsIO framework (as yet unused).
David Roundy <droundy at abridgegame.org>**20050205163008
 This new framework is intended to unify the current apply_to_slurpy and
 (hopefully) patch_check codes.  It also will allow us to apply a patch
 directly to a filesystem, without first slurping the directory.  This
 should allow (for example) faster gets.
 
 The code isn't yet complete.  Both PatchApply.apply and the instance of
 WriteableDirectory in SlurpDirectory are incomplete, but hopefully you can
 get an idea of where this is going.
 
 We may be able to replace many places where slurpies are used with code
 written in the ReadableDirectory monad.
] 
[Beautification
Ian Lynagh <igloo at earth.li>**20050205131851] 
[clarify how bad the situation is when failure happens in pull.
David Roundy <droundy at abridgegame.org>**20050205135901
 This adds a function to DarcsUtils which can be used to add clarifications
 to existing error messages, so no information is lost to the user (although
 calling functions lose the type of the exception that was thrown).  It
 would be a good idea to throw these clarifications around pretty
 liberally.  I just did this to pull because that's where the relevant bug
 report (#201) was filed.
 
 I also reordered the writing to pending so less information will be lost if
 there is a problem writing changes to the working directory.
] 
[automatically add parent directories for darcs add
Benedikt Schmidt <beschmi at cloaked.de>**20050205014603
 
 Instead of complaining that the parent directory of the file isn't
 in the repo, add parent directories recursively. (See Bug #20)
] 
[update web page to reflect new stable release.
David Roundy <droundy at abridgegame.org>**20050205120152] 
[make favicon alpha transparent.
David Roundy <droundy at abridgegame.org>**20050205115820] 
[TAG 1.0.2
David Roundy <droundy at abridgegame.org>**20050204123805] 
[bump version number to 1.0.2 (at last!)
David Roundy <droundy at abridgegame.org>**20050204123749] 
[Delete doubled timestamp and trailing whitespace
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050202151133] 
[use slurp_recordeds in Record.lhs.
David Roundy <droundy at abridgegame.org>**20050201125158] 
[add slurp_recordeds, which does multiple slurps simultaneously and efficiently.
David Roundy <droundy at abridgegame.org>**20050129114939] 
[resolve conflict in ChangeLog.
David Roundy <droundy at abridgegame.org>**20050202113908] 
[TAG 1.0.2rc4
David Roundy <droundy at abridgegame.org>**20050202112450] 
[move version to 1.0.2rc4
David Roundy <droundy at abridgegame.org>**20050202112434] 
[fix makefile problem with darcs-createrepo.
David Roundy <droundy at abridgegame.org>**20050201123415] 
[fix makefile bug where darcs got relinked.
David Roundy <droundy at abridgegame.org>**20050201115547
 The trouble was that it's hard to tell make that compiling a haskell file
 produces both a .o file and a .hi file, so there was a dummy rule for
 creating a .hi from a .o which was causing relinking.
] 
[Convert ChangeLog to a more Debian-like format
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050202100003] 
[be more careful not to do unnecesary slurps in write_pending.
David Roundy <droundy at abridgegame.org>**20050201115209] 
[Fix confusion about the pristine tree.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050130211338] 
[Complete relinking documentation.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050130205404] 
[Fix TeX typo.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050130205256] 
[Compare the right files when relinking.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050201021020
 When deciding whether to relink, we were comparing the wrong files.
 This could cause us to relink files that are not identical, which
 could cause repository corruption.
] 
[Update copyright message: 2002-2005
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050131133625] 
[Build-depend on libcurl2 or libcurl3
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050131133404
 
 Darcs builds perfectly okay with libcurl3, so there's no need to force
 using an older version of this lib.
 
] 
[Show patch number while (verbosely) downloading patches
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050131121046] 
[give better error message when pushing over unsupported protocols.
David Roundy <droundy at abridgegame.org>**20050130215919] 
[Close both ends of pipes.
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050130201542] 
[really fix repair this time.
David Roundy <droundy at abridgegame.org>**20050129213231
 Foolish David ought to test his patches before sending them off to the
 central repository...
] 
[don't be so paranoid in buggy pending error message.
David Roundy <droundy at abridgegame.org>**20050129211235] 
[re-write DARCS_WGET docs.
Mark Stosberg <mark at summersault.com>**20050129143939
 
 Thanks to David Roundy for clarifying these and Dave Roberts for noticing
 that they needed to be improved.
 
 I checked the source code to confirm how it works, but a fact check 
 of this update is certainly welcome.
 
     Mark
] 
[fix recently-introduced bug in darcs repair.
David Roundy <droundy at abridgegame.org>**20050129201344] 
[make optimize --no-compress behave as documented.
David Roundy <droundy at abridgegame.org>**20050129201302] 
[try to avoid email loops.
David Roundy <droundy at abridgegame.org>**20050129150828] 
[remove rss news from web page.
David Roundy <droundy at abridgegame.org>**20050129125119
 The javascript link thing seems to be broken.
] 
[TAG 1.0.2rc3
David Roundy <droundy at abridgegame.org>**20050129122928] 
[bump to version 1.0.2rc3.
David Roundy <droundy at abridgegame.org>**20050129122912] 
[don't create a filename too long to fit in buffer.
David Roundy <droundy at abridgegame.org>**20050129120603
 The "\n" in the filename was making it one character too long... besides
 which, it's usually kinder to never create filenames with trailing
 newlines.  :)
] 
[Show files starting with . in CGI script
Kim Hansen <kim.hansen at hp.com>**20050128180541
 Files like .htaccess were not shown i the web interface.
 This patch changes the use of glob to opendir/readdir/closedir.
 It also shows repositories starting with ..
] 
[fix markup in best_practices
Tommy Pettersson <ptp at lysator.liu.se>**20050128235516] 
[add explanation to section Basics in best_practices
Tommy Pettersson <ptp at lysator.liu.se>**20050128235324] 
[change from `current' to `pristine' in best_practices
Tommy Pettersson <ptp at lysator.liu.se>**20050128235128] 
[Document --relink and --no-pristine-tree.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050128204513] 
[Fix memory and file descriptor leaks at error handling time
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050128204255
 
 This patch fixes the most "obvious" memory and file descriptor leaks
 in allthe error handling paths. I'm not yet convinced that I got 'em
 all, but I guess this is at least better than nothing...
 
] 
[repos-[new|old] => [new|old]-repos
thies at thieso.net**20050128202058
 
 see: http://article.gmane.org/gmane.comp.version-control.darcs.user/5329
 
 PS: i don't know if this is the RightWay(tm) to send stuff like this, just trying;-) re, tc
] 
[fix bug in (unused function) mapPS.
David Roundy <droundy at abridgegame.org>**20050128123024] 
[attributions conflict resolution.
David Roundy <droundy at abridgegame.org>**20050128113918] 
[sprinkle some attributes for this release into the ChangeLog
Mark Stosberg <mark at summersault.com>**20050128011125
 
 I added a few attributions, but I don't have a complete list. Feel free to
 update others if you care (and especially if I got any wrong!).  
] 
[Slurp again in Get, but only if slurping is cheap.
Juliusz Chroboczek <jch at pps.jussieu.fr>*-20050124005142] 
[Remove obsolete code (commented out).
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125071412] 
[Fix soul-hurting hardcoded file descriptor number
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050127235644] 
[Fix eye-hurting whitespace
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050127234921
 
 I admit that I don't like indenting with whitespaces either,
 but since the file is basically written with 4-spaces, I'll
 keep this habit (unless anybody allows me to send a larger
 patch :-)
 
] 
[Fix off-by-one error in WIN32 version of mkstemp()
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050127234048
 
 This patch solves different issues with the mkstemp() funktion provided
 for WIN32 versions of darcs:
 
 - THIS PATCH IS NOT TESTED: I'VE GOT NO WINDOWS AROUND!
 - Move file-local variable into the mkstemp() since it's only used
   by mkstemp().
 - Remove unneeded variable p2.
 - Remove unneeded variable fd by directly returning the result of
   open().
 - Correctly return EINVAL if the supplied template isn't at least
   6 bytes long and doesn't end in 6 consecutive 'XXXXXX'.
 - Write 6 bytes of hex garbage instead of 5 bytes of decimal garbage.
   This was caused because the final \0 wasn't put into account for
   the snprintf() call.
] 
[resolve conflict with my stupid self.
David Roundy <droundy at abridgegame.org>**20050128110739
 I tagged 1.0.2 twice, having unpulled once, but now both versions got sent
 to the central repository--one to darcs-unstable and one to darcs.  :(
 Foolish David.  I had thought that I had intercepted them before they
 arrived and passed tests.  So now I'm picking up the pieces.
] 
[TAG 1.0.2rc2
David Roundy <droundy at abridgegame.org>**20050127113814] 
[bump version (so soon!) to 1.0.2rc2.
David Roundy <droundy at abridgegame.org>**20050127113757] 
[TAG 1.0.2rc2
David Roundy <droundy at abridgegame.org>**20050127114756] 
[bump version (so soon!) to 1.0.2rc2
David Roundy <droundy at abridgegame.org>**20050127114738] 
[Tweaks to maybe_relink.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050126181118
 Thanks to Jan-Benedict Glaw
] 
[quote filenames in win32 exec
Will <will at glozer.net>**20050127001406] 
[Clarified success message for darcs pull.
jemfinch at supybot.com**20050127065323
 When I first ran darcs pull, I saw the success message "Finished pulling" and
 wondered whether Darcs had just downloaded the patches, or whether it had
 also applied them.  To me (a new Darcs user) "pull" sounds like an exclusively
 network operation, so I wasn't sure whether the patches would be applied.  I
 think adding "and applying" clarifies to users that darcs pull not only grabs
 the patches, but applies them as well.
] 
[TAG 1.0.2rc1
David Roundy <droundy at abridgegame.org>**20050126140813] 
[bump version number to 1.0.2rc1.
David Roundy <droundy at abridgegame.org>**20050126140758] 
[when takeLock fails, give the directory in which it failed.
David Roundy <droundy at abridgegame.org>**20050126135015] 
[Fix off-by-one error
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050125151229] 
[Fix misleading comment.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125164549] 
[Minor documentation tweaks: current -> pristine.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125164544] 
[Rename -foo-current-cache to --foo-pristine-tree.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125162400] 
[Grok both _darcs/current and _darcs/pristine.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125161236
 This needed some restructuring, as each of the Pristine formats now
 has different possible names.  In particular, flags processing was
 moved into Pristine.
] 
[Current becomes Pristine throughout the source.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125145155] 
[Check return value of fstat()
Jan-Benedict Glaw <jbglaw at lug-owl.de>**20050125110032] 
[implement slurpInfinite and mmapSlurpInfinite.
David Roundy <droundy at abridgegame.org>**20050125141218] 
[fix potential problem when a delayed directory is in a temporary directory.
David Roundy <droundy at abridgegame.org>**20050125140113
 This is really a theoretical problem, but it may happen that the directory
 a delayed temp directory is located in will be deleted before darcs exits
 (presumably after the delayed dir is no longer needed), in which case
 trying to move into the former directory will fail.  Also, we weren't
 immediately leaving the delayed dir, which is something the "with"
 functions should always do.
] 
[Use withDelayedDir in surely_slurp_Current.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125135618] 
[Implement withDelayedDir
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125135520] 
[update ChangeLog again.
David Roundy <droundy at abridgegame.org>**20050125125746
 I hope to release darcs 1.0.2rc1 as soon as Juliusz gets his "current"
 changes done (which I'd like to release with 1.0.2).
] 
[fix bug causing crash when getting from a local repo owned by someone else.
David Roundy <droundy at abridgegame.org>**20050125122455] 
[wrap main in with_atexit
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050125084411] 
[add AtExit.lhs
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050125075257] 
[fixed bug in get --partial not applying patches
andrew at siaris.net**20050124100341] 
[Use defaultrepo for relinking when no sibling.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050124010959] 
[More paranoia when relinking.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050124010002] 
[Slurp again in Get, but only if slurping is cheap.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050124005142] 
[Implement maybe_slurp_recorded.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050124005128] 
[Don't slurp twice when getting.
Juliusz Chroboczek <jch at pps.jussieu.fr>*-20050121185241] 
[speed up whatsnew -l just a tad.
David Roundy <droundy at abridgegame.org>**20050123221105] 
[Limit the number of lines printed on fetch failure.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050120202139] 
[fix bug in push.pl test.
David Roundy <droundy at abridgegame.org>**20050123144629] 
[filter out conflict markers in prefs/ files.
David Roundy <droundy at abridgegame.org>**20050123143514] 
[fix bug in tests/pull.pl, which formerly caused no trouble.
David Roundy <droundy at abridgegame.org>**20050123143438] 
[give better error messages when unable to access a repository.
David Roundy <droundy at abridgegame.org>**20050123141034
 Well, at least give *more* error messages...
] 
[add failing test case for changes after a directory rename.
David Roundy <droundy at abridgegame.org>**20050123133557] 
[fix bug in changes when directory has been moved.
David Roundy <droundy at abridgegame.org>**20050123131245] 
[remove test for error message that has been removed.
David Roundy <droundy at abridgegame.org>**20050123124402] 
[add configurable character encoding to cgi
Will <will at glozer.net>**20050122210109] 
[remove uname details from user-agent string
Will <will at glozer.net>**20050122172004] 
[use "impossible" to report error cases that should never occur.
David Roundy <droundy at abridgegame.org>**20050122154355] 
[Implement optimize --relink.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050122010834] 
[Implement list_slurpy_files, a variant of list_slurpy.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050122010809] 
[Implement --relink flag.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050122010728] 
[Implement --sibling flag.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050122010214] 
[Export maybeRelink to Haskell.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050122010023] 
[Implement C version of maybe_relink.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050122005946] 
[Fix non-modular access to current (breaks current.none).
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050121203134
 Touching _darcs/current outside of Current cannot be done now; this
 directory might not exist.
] 
[Make get and init grok --current-cache-foo.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050120194945] 
[Implement the options --current-cache-foo.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050120194805
 This just creates the options, it doesn't use them yet.
] 
[Make surely_slurp_Current use checkpoints.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050120190349
 This makes it possible to use partial repositories with no current.
 It also makes no current repositories much faster if they've got a
 reasonably recent checkpoint.
] 
[Don't slurp twice when getting.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050121185241] 
[Documentation fix: not everyone is working on darcs itself.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20050121183827] 
[start making commutation more modular...
David Roundy <droundy at abridgegame.org>**20050119132816
 This is the first step in making the commutation code easier to test piece
 by piece.  The change is the introductio of a Perhaps type, which indicates
 whether the commutation succeeded, failed, or if the algorithm doesn't know
 how to do the commutation.  This way each sub-commute function should
 create a group on sets of patches where the result isn't unknown (I may be
 getting my terminology here mixed up as to what is a group).
 
 In any case, the idea is that if A and B commute to A' and B', then A' and
 B' must commute back of course to A and B, and invert B and invert A had
 better commute to invert A' and invert B', etc, forming a closed set of
 patches (a group?).  And all these operations must be achieved with the
 same subcommute function, which means we can test that subcommute function
 in isolation from the rest of the algorithm.
 
 So you can expect some new QuickCheck tests to be coming up, which will
 operate on individual (hopefully, ideally) "primitive" commute functions,
 which will be as small as is possible while still consistent with the above
 properties.
] 
[fix bug in simple_commute_conflict.
David Roundy <droundy at abridgegame.org>**20050116144700] 
[implement backwards force_commuting.
David Roundy <droundy at abridgegame.org>**20050114125130] 
[fix bug in commuting secondary conflictors.
David Roundy <droundy at abridgegame.org>**20050111122439] 
[remove tests that ought to fail for conflictors.
David Roundy <droundy at abridgegame.org>**20050110134914] 
[fix check_patch on Conflictors.
David Roundy <droundy at abridgegame.org>**20050110134856] 
[fix commute bug in Conflictors.
David Roundy <droundy at abridgegame.org>**20050110134755] 
[Be less lazy at the end of lists
Ian Lynagh <igloo at earth.li>**20050109174414] 
[remove debug traces from PatchCommute.
David Roundy <droundy at abridgegame.org>**20050109142321] 
[fix bug in Conflictor commutation.
David Roundy <droundy at abridgegame.org>**20050109141251] 
[fix bug in Conflictor commutation of recursive conflicts.
David Roundy <droundy at abridgegame.org>**20050109131414] 
[conflictor code does need Control.Monad.when.
David Roundy <droundy at abridgegame.org>**20050108172544] 
[simplify slurp_has using get_slurp
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20041221193648] 
[simplify slurp_hasfile using get_slurp
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20041221182015] 
[simplify slurp_modfile using get_slurp_context
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20041221175117] 
[implement get_slurp using get_slurp_context
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20041221170352] 
[simplify addslurp using get_slurp_context
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20041221140040] 
[simplify slurp_remove using get_slurp_context_maybe
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20041221131818] 
[add get_slurp_context, get_slurp_context_maybe and get_slurp_context_list
Tomasz Zielonka <tomasz.zielonka at gmail.com>**20041221064941
 These functions allow to split a slurpy to a subtree specified by a file path
 and the rest of the tree (context). Hopefully this will allow to move most
 of slurpy traversal code to one place.
] 
[Infrastructure for lazy patch parsing
Ian Lynagh <igloo at earth.li>**20050104233618] 
[add Conflictor patch type.
David Roundy <droundy at abridgegame.org>**20050102154349] 
[fix bug in get --partial when checkpointed tag is preceded by patch not in tag.
David Roundy <droundy at abridgegame.org>**20050121131948
 This fix would be more thorough if I made optimize reorder the patches so
 that this didn't happen.  However, that's potentially a slow and dangerous
 optimization, so I'm leaving it for future implementation.
] 
[add test for partial repos
Tommy Pettersson <ptp at lysator.liu.se>**20050117003129] 
[update the ChangeLog.
David Roundy <droundy at abridgegame.org>**20050120134351] 
[get_curl now gets the version from autoconf, via a parameter
ketil at ii.uib.no**20050120094246] 
[Include system info (from uname) in comment
ketil at ii.uib.no**20050120090740] 
[more standard format string, include curl version
ketil at ii.uib.no**20050119120822] 
[added 'darcs 1.0.1' to User-Agent when using HTTP
ketil at ii.uib.no**20050115103050] 
[Added request to include --exact-version info in bug report
marnix.klooster at ssaglobal.com**20050117053621] 
[document trackdown a bit more
Tommy Pettersson <ptp at lysator.liu.se>**20050117010501] 
[add --patches etc flags to changes.
David Roundy <droundy at abridgegame.org>**20050115141425] 
[clarify --ask-deps docs
Mark Stosberg <mark at summersault.com>**20050114152216
 
 This moves a paragraph about dependencies below the --ask-deps option, which
 clarifies which direction the dependencies work.
] 
[make --ask-deps a multiple-choice option
Tommy Pettersson <ptp at lysator.liu.se>**20050114162455] 
[Add "Thumbs.db" to default boring prefs.
Matt Brubeck <mbrubeck at cs.hmc.edu>**20050114161252
 Thumbs.db is a system file generated by Windows Explorer, when viewing a
 folder that contains image files.
] 
[Added linux kernel boring stuff to default boring list
Kirill Smelkov <kirr at landau.phys.spbu.ru>**20050114104331
 
 I added
 .o.cmd
 .ko
 .ko.cmd
 .mod.c
 .tmp_versions
] 
[Avoid #ifdefs for posix imports
peter at zarquon.se**20050111150419] 
[do not unconditionally append darcs to etc
Jim Radford <radford at blackbean.org>**20050111191748
 The makefile takes care of appending darcs to the etc directory when
 needed so do not do it (again) unconditionally in configure.ac.
 
] 
[Allow ncurses in addition to curses
sreindl at triobit.de**20050110052431] 
[clean up check_a_patch.
David Roundy <droundy at abridgegame.org>**20050110134842] 
[clean up merge_three_patches test script.
David Roundy <droundy at abridgegame.org>**20050109141321] 
[eliminate deprecated read_repo_patches, which was only used once.
David Roundy <droundy at abridgegame.org>**20050109131532] 
[add a little more documentation for --match, --patch and --tag
Mark Stosberg <mark at summersault.com>**20050108175143] 
[move doc chunk to make docs easier to read in the code.
Mark Stosberg <mark at summersault.com>**20050108174424] 
[fix bug in merger commutation and add test case illustrating problem.
David Roundy <droundy at abridgegame.org>**20050108153759] 
[Lessen the scare factor in 'darcs send' which said: 'Sending by email to'
zander at kde.org**20050108135028
 after which it started asking for user-permission, while the initial message
 gave the impression it would not.
 Now it says: 'Found email to send to a at b.com'
] 
[update darcs-users mailing list address to @darcs.net
Tommy Pettersson <ptp at lysator.liu.se>**20050107000618] 
[further improve optimize docs based on feedback from David R
Mark Stosberg <mark at summersault.com>**20050106231247] 
[clarify RSS feed is of stable repo
Mark Stosberg <mark at summersault.com>**20050106144547] 
[flesh out patch options docs for annotate in more detail. 
Mark Stosberg <mark at summersault.com>**20050102222711] 
[improve docs for --partial, --checkpoint and optimize
Mark Stosberg <mark at summersault.com>**20050106040024
 
 I moved the documentation for --partial and --checkpoint from the "common
 options" section into few commands that actually use them.
 
 I also tried to add details about what exactly these do and when to use them.
 
 Special thanks to Juliusz Chroboczek for his input here.
 
 Notice that I need left one 'TODO' in the patch that seemed worth fixing, and
 easy enough to do soon.
 
     Mark
 
] 
[Use isHexDigit, not isDigit, when looking for =nn QP characters
Ian Lynagh <igloo at earth.li>**20050104233209] 
[s/~/ /
Mark Stosberg <mark at summersault.com>**20050104182645] 
[be clearer that '--unified' is usually darcs-specific.
Mark Stosberg <mark at summersault.com>**20050102223336] 
[fix posix imports for win32 builds
Will <will at glozer.net>**20050104004332] 
[do not use `-e' as a short form of --set-scripts-executable option
Karel Gardas <kgardas at objectsecurity.com>**20050102190722] 
[enhance `pull' command to support --set/dont-set-scripts-executable options
Karel Gardas <kgardas at objectsecurity.com>**20050101223751] 
[enhance `apply' command to support --set/dont-set-scripts-executable options
Karel Gardas <kgardas at objectsecurity.com>**20050101223645] 
[fix syntax errors in my last doc patch that prevented darcs from compiling.
Mark Stosberg <mark at summersault.com>**20050101192840] 
[clarify annotate docs
Mark Stosberg <mark at summersault.com>**20041231153708
 
 I think a primary reason that annotate has been confusing is because it is
 documented as provided 'useful information'. This is too vague to be useful
 information. :)
 
 So I tried to figure out exactly what annotate does do, and be explicit
 in the documentation about that.
 
 I was a little surprised that annotate didn't have a line number option.
 It seems it already has the ability to report when a specific line was last changed. 
 
 If this were to be implemented, it would be nice to support relative and absolute line ranges,
 so you could express: "Report on lines within 10 lines from here".
] 
[replace `if' with `when' to improve readability in my recent slurp changes
Karel Gardas <kgardas at objectsecurity.com>**20041230222254] 
[remove some GHC 6.0.3 compatibility #ifdefs
Karel Gardas <kgardas at objectsecurity.com>**20041230203913] 
[make darcs changes --context support --to-patch, etc
Anthony Towns <aj at azure.humbug.org.au>**20041222203754] 
[rename 'unix script to 'script' in Karel's patch
Mark Stosberg <mark at summersault.com>**20041229224115] 
[enhance `get' command to support --set/donot-set-unix-scripts-executable options
Karel Gardas <kgardas at objectsecurity.com>**20041228222948] 
[enhance slurp write related and repository apply_patches functions to support executable scripts
Karel Gardas <kgardas at objectsecurity.com>**20041228212713
 This patch enhances slurp write related functions and repository
 apply_patches function to make Unix scripts executable if appropriate
 -e/--set-unix-scripts-executable option is used.
] 
[add --set-unix-scripts-executable and --donot-set-unix-scripts-executable options support
Karel Gardas <kgardas at objectsecurity.com>**20041228123330] 
[add FileSystem module with basic implementation of make_executable function
Karel Gardas <kgardas at objectsecurity.com>**20041228114555
 This patch adds FileSystem module which is intended to provide various
 file system related functions and hide under-laying OS
 functionality. Currently only `make_executable' function is provided
 which makes file executable for its owner and owner group on
 Unix(-like) OSes and does nothing on Win32 OSes.
] 
[revert nice error message on patch parsing.
David Roundy <droundy at abridgegame.org>**20041229153258
 The problem was that darcs tries parsing patch bundles different ways to
 see whether it's been mime-encoded or not, and failing with errorDoc rather
 than by returning Nothing breaks that.  If we want nicer messages for parse
 errors, we should switch from Maybe (Patch, PackedString) to Either Doc
 (Patch, PackedString).
] 
[add configure option to fix path to sendmail even if it's not present.
David Roundy <droundy at abridgegame.org>**20041229151244] 
[Add RSS feed of latest repo changes to darcs.net homepage.
Mark Stosberg <mark at summersault.com>**20041229004651
 
 A temporary preview of this is here:
 http://mark.stosberg.com/Tech/darcs/front.html
 
 David suggested it would be desirable to also have the author's
 named displayed. That appears to be possible because that information 
 is in the feed in an <author> tag. However, I don't have the patience
 to make that work tonight. If someone else wants to, feel free.
 
] 
[bash completion made more robust regarding shell special chars
Guillaume Outters <guillaume.outters at free.fr>**20041228231448
 IFS set to CR, for correct spliting of darcs --list-option entries containing spaces.
 We escape all special characters using printf %q, so that the shell passes us our parameters back as we want them.
] 
[avoid duplicated code in commute and commute_no_merger.
David Roundy <droundy at abridgegame.org>**20041222142807] 
[Reorganize breakup of Patch to avoid circular dependencies.
David Roundy <droundy at abridgegame.org>**20041221141512] 
[resolve conflict with whitespace change.
David Roundy <droundy at abridgegame.org>**20041221130035] 
[Rejig patch headings so documentation makes some sense again
Ian Lynagh <igloo at earth.li>**20041217174449] 
[Merge changes
Ian Lynagh <igloo at earth.li>**20041217165950] 
[Split Patch up more. Unfortunately needs a .hi-boot file.
Ian Lynagh <igloo at earth.li>**20041211024030] 
[disallow accidently pushing to the current repo
Mark Stosberg <mark at summersault.com>**20041219172359] 
[Test for pulling from current repo before setting it as the default
Mark Stosberg <mark at summersault.com>**20041219171533] 
[Some more tests for push. 
Mark Stosberg <mark at summersault.com>**20041219163241] 
[provide better stripCr implementation
Will <will at glozer.net>**20041219031418] 
[add konquerer workaround to cgi annotate
Will <will at glozer.net>**20041219024435] 
[use fail when possible for errors.
David Roundy <droundy at abridgegame.org>**20041218153234] 
[address #114 - provide a better error when you accidently try to pull from yourself
Mark Stosberg <mark at summersault.com>**20041218025451
 
 This was my first real experiment with Haskell, so someone who knows better
 will probably want to rewrite it. :) 
 
 Also, this only addresses the 'pull' case. It may be better put this logic in a
 shared routine, so it be used by 'push' and elsewhere.  
] 
[remove trailing whitespace
simons at cryp.to**20041218004144] 
[don't import type 'Patch' twice
simons at cryp.to**20041218004106] 
[remove duplicate imports (error in ghc-6.3)
simons at cryp.to**20041218002402] 
[avoid conflicts by importing only 'bug' from DarcsUtils
simons at cryp.to**20041218002301] 
[Fix manual to state 'darcs get' has --tag, not --tag-name
zander at kde.org**20041217153547] 
[strip trailing CR in pref files
Will <will at glozer.net>**20041216073907] 
[fix typo in mingw reference
Lode Leroy <lode_leroy at hotmail.com>**20041202131840] 
[fix bug that left junk equal to identity patch in pending.
David Roundy <droundy at abridgegame.org>**20041215134337] 
[typo fix
Mark Stosberg <mark at summersault.com>**20041215023027] 
[removing Amending patches from basic documentation
Mark Stosberg <mark at summersault.com>**20041106030942
 
 I really like this clear description of what Amend record is actually doing.
 I've submitted a patch to the stable repo to merge some of the wording here
 into the (currently sparse) docs for admend-record.
 
 Amend-record is a more advanced, dangerous command which doesn't belong in a
 "Basics" section, so I removed it here.
] 
[improve documentation clarity
Mark Stosberg <mark at summersault.com>**20041106030733] 
[improve formatting of 'working' and 'current'
Mark Stosberg <mark at summersault.com>**20041106030657] 
[documentation, basics on creating patches
Tommy Pettersson <ptp at lysator.liu.se>**20041103111151] 
[update webpage to say 1.0.1 is latest stable source now.
David Roundy <droundy at abridgegame.org>**20041214134854] 
[TAG 1.0.1
David Roundy <droundy at abridgegame.org>**20041214131758] 
Patch bundle hash:
cdde7cc7a48636a310d2f0d4eb2bc7cb5f6045db


More information about the darcs-devel mailing list