Re: [darcs-devel] darcs patch: Add --{allow, dont-allow, mark}-conflicts to darcs pull.
Excerpts from Tommy Pettersson's message of Wed Jan 16 21:18:15 +0100 2008: On Wed, Jan 16, 2008 at 07:36:30PM +, Nicolas Pouillard wrote: Wed Jan 16 20:34:26 CET 2008 [EMAIL PROTECTED] * Add --{allow,dont-allow,mark}-conflicts to darcs pull. This patch also merge the --external option to pull_conflicts_options like with apply. Hmmm... I don't think merging --external-merger to the multi-choice option is a good idea. A common case is to have 'ALL external-merger my_favorite_merger in the .darcs/defaults file, and expect 'darcs apply --mark-conflicts' to use my_favorite_merger. So, does makes sense to extract the external-merger option from the multi-choice option for both pull and apply? -- Nicolas Pouillard aka Ertai ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] announcing darcs 2.0.0pre2
David Roundy wrote: On Thu, Jan 03, 2008 at 11:11:40AM +, Simon Marlow wrote: Anyhow, could you retry this test with the above change in methodology, and let me know if (a) the pull is still slow the first time and (b) if it's much faster the second time (after the reverse unpull/pull)? I think I've done it in both directions now, and it got faster, but still much slower than darcs1: $ time darcs2 unpull --from-tag 2007-09-25 -a Finished unpulling. 58.68s real 50.64s user 6.36s system 97% darcs2 unpull --from-tag 2007-09-25 -a $ time darcs2 pull -a ../ghc-darcs2 Pulling from ../ghc-darcs2... Finished pulling and applying. 53.28s real 44.62s user 7.10s system 97% darcs2 pull -a ../ghc-darcs2 This is still an order of magnitude slower than darcs1 for the same operation. (these times are now on the local filesystem, BTW) I've recently found the problem leading to this slowdown (I believe) and get about an order-of-magnitude improvement in the speed of a pull of 400 patches in the ghc repository. It turned out to be an issue that scaled with the size (width) of the repository, not with the number of patches (which had been the obvious suspect), which was causing trouble when applying to the pristine cache. At this point, darcs-2 outperforms darcs-1 on most tests that I've tried, so it'd be a good time to find some more performance problems, if you can... and I don't doubt that there are more out there. Certainly a lot faster, nice work! Though it's still not as fast as darcs-1 here. New figures: $ time darcs2 unpull --from-tag 2007-09-25 -a Finished unpulling. 18.83s real 15.27s user 1.53s system 89% darcs2 unpull --from-tag 2007-09-25 -a $ time darcs2 pull ../ghc-darcs2-other -a Finished pulling and applying. 10.38s real 7.69s user 1.50s system 88% darcs2 pull ../ghc-darcs2-other - I repeated the darcs-1 timings for comparison: $ time darcs unpull --from-tag 2007-09-25 -a Finished unpulling. 8.04s real 7.14s user 0.90s system 99% darcs unpull --from-tag 2007-09-25 -a $ time darcs pull ~/ghc-HEAD -a Finished pulling and applying. 7.90s real 4.90s user 0.98s system 74% darcs pull ~/ghc-HEAD -a In this case darcs-1 is pulling more patches (530 vs. 400), because I'm using the latest GHC HEAD repo. Also the darcs-1 repository being pulled from is on a different, NFS mounted, filesystem, whereas the darcs-2 timings were made using repos on the same local filesystem. In all cases I tried things a few times to let caches etc. fill up. Can you repeat these? Cheers, Simon ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Add --{allow, dont-allow, mark}-conflicts to darcs pull.
On Thu, Jan 17, 2008 at 09:26:46AM +0100, Nicolas Pouillard wrote: Excerpts from Tommy Pettersson's message of Wed Jan 16 21:18:15 +0100 2008: On Wed, Jan 16, 2008 at 07:36:30PM +, Nicolas Pouillard wrote: Wed Jan 16 20:34:26 CET 2008 [EMAIL PROTECTED] * Add --{allow,dont-allow,mark}-conflicts to darcs pull. This patch also merge the --external option to pull_conflicts_options like with apply. Hmmm... I don't think merging --external-merger to the multi-choice option is a good idea. A common case is to have 'ALL external-merger my_favorite_merger in the .darcs/defaults file, and expect 'darcs apply --mark-conflicts' to use my_favorite_merger. So, does makes sense to extract the external-merger option from the multi-choice option for both pull and apply? Absolutely! In fact, I thought this was the case for Apply, until I just looked at the code and saw it treats --external-merge (without 'r' at the end) as a multi-choice of the other conflict options. Maybe I was confusing it with the --diff-command option, which is how --external-merger (with 'r' at the end) should work, imho. But to have Pull equal Apply in semantics of external-merge (whatever they are), as is now done with your patch, is of course the right thing. -- Tommy Pettersson [EMAIL PROTECTED] ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] darcs patch: Check that using 'record --look-for-add --all' left an...
Thu Jan 17 12:51:59 CET 2008 [EMAIL PROTECTED] * Check that using 'record --look-for-add --all' left an empty pending patch. New patches: [Check that using 'record --look-for-add --all' left an empty pending patch. [EMAIL PROTECTED] { hunk ./tests/look_for_add.sh 2 #!/bin/sh + +cat empty_pending EOF +{ +} +EOF +check_empty_pending() { + echo pending == + cat _darcs/patches/pending + echo pending == + [ -z _darcs/patches/pending ] || cmp _darcs/patches/pending ../empty_pending +} + set -ev test $DARCS || DARCS=$PWD/../darcs hunk ./tests/look_for_add.sh 23 $DARCS init mkdir dir $DARCS record -a -m add_dir -A x --look-for-adds +check_empty_pending echo zig dir/foo echo zag foo mkdir dir2 hunk ./tests/look_for_add.sh 29 echo hi dir2/foo2 $DARCS record -a -m add_foo -A x --look-for-adds +check_empty_pending cd ../temp2 $DARCS init $DARCS pull -a ../temp1 } Context: [add changelog entry for rollback. David Roundy [EMAIL PROTECTED]**20080116212037] [rollback my simplification of conflict options for pull and apply. David Roundy [EMAIL PROTECTED]**20080116211650] [eliminate apply_conflict_options and pull_[same] in favor of unified conflict_options. David Roundy [EMAIL PROTECTED]**20080116205623] [reimplement rollback. David Roundy [EMAIL PROTECTED]**20080116203644] [fix pull.pl test to show off rollback error. David Roundy [EMAIL PROTECTED]**20080110230904] [fix bug where get could produce a darcs-2 repository from a darcs-1 repo incorrectly. David Roundy [EMAIL PROTECTED]**20080116194547] [fix replacePristine to work regardless of current working directory. David Roundy [EMAIL PROTECTED]**20080116162528 This is intended to be a property of all Repository functions except those that explicitly mention the current directory in their name. ] [treat errors in reading current pristine cache as corruption in darcs repair. David Roundy [EMAIL PROTECTED]**20080116162427] [make withCurrentDirectory succeed even if old directory has been removed. David Roundy [EMAIL PROTECTED]**20080116162358] [fixed bug triggered by conflict-doppleganger test. David Roundy [EMAIL PROTECTED]**20080116161548] [make doppelganger test more verbose. David Roundy [EMAIL PROTECTED]**20080116161421] [fix bugs in date parsing pointed out by Mark. David Roundy [EMAIL PROTECTED]**20080115235341] [treat partially-specified dates as more vague matches. David Roundy [EMAIL PROTECTED]**20080115213601 i.e. if you --match date 2007 you'll get all the patches in 2007, not just those on January 1, 2007. ] [issue31, issue187: Update date matching so we test for an actual match in some cases, not just date parsing. Mark Stosberg [EMAIL PROTECTED]**20080110030400 This revealed some bugs which have yet to be fixed, so the test is still failing. ] [Add --{allow,dont-allow,mark}-conflicts to darcs pull. [EMAIL PROTECTED] This patch also merge the --external option to pull_conflicts_options like with apply. ] [Use http://darcs.net/repos/stable instead of http://abridgegame.org/darcs. [EMAIL PROTECTED] [Fix darcs repair with darcs1 format. [EMAIL PROTECTED] Using withCurentDirectory was wrong because this function wants to restore the current directory. In this case it no longer exists (.../newpristine) because renamed to .../pristine. ] [Add a test case for darcs repair. [EMAIL PROTECTED] In fact both darcs1 and hashed format are broken. ] [major speedup in applyHashed. David Roundy [EMAIL PROTECTED]**20080115191825 This should make darcs pull on very large repositories (i.e. the ghc repository) equivalent to the speed of darcs1, possibly faster. The change is that now each named patch is applied to the pristine cache in memory, with writing the changed files and directories to disk happening only at the end. This reduces disk activity, and also reduces the number of sha1 hashes that are computed, with a small increase in the worst-case memory use. This is achieved by caching the hashes of slurped files in the Slurpy itself, which allows us to identify dirty files. ] [fix issue588 by simplifying pending handling. David Roundy [EMAIL PROTECTED]**20080115162143] [add test for issue588 (thanks to Nicolas Pouillard!). David Roundy [EMAIL PROTECTED]**20080115152504] [Fix a bug in darcs repair: go to the repo dir and slurp the new pristine dir. [EMAIL PROTECTED] [fix perl bug script code. David Roundy [EMAIL PROTECTED]**20080115215954] [add some changelog entries Tommy Pettersson [EMAIL PROTECTED]**20080115214838] [add some changelog entries Tommy Pettersson [EMAIL PROTECTED]**2007204931] [improve existing-bug test suite driver. David Roundy [EMAIL PROTECTED]**20080115204455] [mark doppleganger test as currently buggy. David Roundy [EMAIL PROTECTED]**20080115201835] [add directory for unresolved bug test scripts. David Roundy [EMAIL PROTECTED]**20080115201733] [Issue81: Add test which shows that old and
[darcs-devel] darcs patch: Move rollback to another section of TheCommands.
Thu Jan 17 13:53:40 CET 2008 [EMAIL PROTECTED] * Move rollback to another section of TheCommands. New patches: [Move rollback to another section of TheCommands. [EMAIL PROTECTED] { hunk ./src/Darcs/TheCommands.lhs 71 Group_name Direct modification of the repository:, Command_data tag, Command_data setpref, -Command_data rollback, Group_name Querying the repository:, Command_data diff_command, Command_data changes, hunk ./src/Darcs/TheCommands.lhs 81 Group_name Copying patches between repositories with working copy update:, Command_data pull, Command_data obliterate, Hidden_command unpull, +Command_data rollback, Command_data push, Command_data send, Command_data apply, } Context: [add changelog entry for rollback. David Roundy [EMAIL PROTECTED]**20080116212037] [rollback my simplification of conflict options for pull and apply. David Roundy [EMAIL PROTECTED]**20080116211650] [eliminate apply_conflict_options and pull_[same] in favor of unified conflict_options. David Roundy [EMAIL PROTECTED]**20080116205623] [reimplement rollback. David Roundy [EMAIL PROTECTED]**20080116203644] [fix pull.pl test to show off rollback error. David Roundy [EMAIL PROTECTED]**20080110230904] [fix bug where get could produce a darcs-2 repository from a darcs-1 repo incorrectly. David Roundy [EMAIL PROTECTED]**20080116194547] [fix replacePristine to work regardless of current working directory. David Roundy [EMAIL PROTECTED]**20080116162528 This is intended to be a property of all Repository functions except those that explicitly mention the current directory in their name. ] [treat errors in reading current pristine cache as corruption in darcs repair. David Roundy [EMAIL PROTECTED]**20080116162427] [make withCurrentDirectory succeed even if old directory has been removed. David Roundy [EMAIL PROTECTED]**20080116162358] [fixed bug triggered by conflict-doppleganger test. David Roundy [EMAIL PROTECTED]**20080116161548] [make doppelganger test more verbose. David Roundy [EMAIL PROTECTED]**20080116161421] [fix bugs in date parsing pointed out by Mark. David Roundy [EMAIL PROTECTED]**20080115235341] [treat partially-specified dates as more vague matches. David Roundy [EMAIL PROTECTED]**20080115213601 i.e. if you --match date 2007 you'll get all the patches in 2007, not just those on January 1, 2007. ] [issue31, issue187: Update date matching so we test for an actual match in some cases, not just date parsing. Mark Stosberg [EMAIL PROTECTED]**20080110030400 This revealed some bugs which have yet to be fixed, so the test is still failing. ] [Add --{allow,dont-allow,mark}-conflicts to darcs pull. [EMAIL PROTECTED] This patch also merge the --external option to pull_conflicts_options like with apply. ] [Use http://darcs.net/repos/stable instead of http://abridgegame.org/darcs. [EMAIL PROTECTED] [Fix darcs repair with darcs1 format. [EMAIL PROTECTED] Using withCurentDirectory was wrong because this function wants to restore the current directory. In this case it no longer exists (.../newpristine) because renamed to .../pristine. ] [Add a test case for darcs repair. [EMAIL PROTECTED] In fact both darcs1 and hashed format are broken. ] [major speedup in applyHashed. David Roundy [EMAIL PROTECTED]**20080115191825 This should make darcs pull on very large repositories (i.e. the ghc repository) equivalent to the speed of darcs1, possibly faster. The change is that now each named patch is applied to the pristine cache in memory, with writing the changed files and directories to disk happening only at the end. This reduces disk activity, and also reduces the number of sha1 hashes that are computed, with a small increase in the worst-case memory use. This is achieved by caching the hashes of slurped files in the Slurpy itself, which allows us to identify dirty files. ] [fix issue588 by simplifying pending handling. David Roundy [EMAIL PROTECTED]**20080115162143] [add test for issue588 (thanks to Nicolas Pouillard!). David Roundy [EMAIL PROTECTED]**20080115152504] [Fix a bug in darcs repair: go to the repo dir and slurp the new pristine dir. [EMAIL PROTECTED] [fix perl bug script code. David Roundy [EMAIL PROTECTED]**20080115215954] [add some changelog entries Tommy Pettersson [EMAIL PROTECTED]**20080115214838] [add some changelog entries Tommy Pettersson [EMAIL PROTECTED]**2007204931] [improve existing-bug test suite driver. David Roundy [EMAIL PROTECTED]**20080115204455] [mark doppleganger test as currently buggy. David Roundy [EMAIL PROTECTED]**20080115201835] [add directory for unresolved bug test scripts. David Roundy [EMAIL PROTECTED]**20080115201733] [Issue81: Add test which shows that old and hashed formats consider dopplegangers
Re: [darcs-devel] [Revctrl] DARCS correctness question
On Thu, Jan 17, 2008 at 01:57:23PM +1100, William Uther wrote: If I have two Darcs workspaces, each of which have the same set of patches, but in different orders, should these workspaces be identical (even in the presence of conflicts)? The pristine trees should be, but the way the conflicts are marked in the working directory need not be. # Now we'll check for differences in the result cd .. diff site2/myfile site3/myfile $ diff -q site2/myfile site3/myfile echo OK Files site2/myfile and site3/myfile differ $ diff -q site2/_darcs/pristine/myfile site3/_darcs/pristine/myfile echo OK OK Thanks Ian ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] libwww bug
Hi David. I have found time to work on darcs at last. Here is fix for failure with xmonad repository. The problem was that server sent Content-Encoding: x-gzip header. libwww did not know how to handle it and just discarded all content. There is also another small fix for copyUrl. I have more time to work on darcs now and I plan to start working on API changes we discussed earlier. Also my patches for curl pipelining are in CVS now (but not released yet) and I will use it in darcs. I think both curl and libwww will provide the same API and common parts should be moved to separate module. Regards, Dmitry 2008/1/11, David Roundy [EMAIL PROTECTED]: On Fri, Jan 11, 2008 at 02:05:05AM +0300, Dmitry Kurochkin wrote: Here is a patch which adds basic error reporting in libwww. Now it should fail on error and print error code at least. Libwww still doesn't fail, it just returns an empty file. Is the repo you get failure with public? Sure, it's the xmonad repository http://code.haskell.org/xmonad and I've got a local repository that's missing a few patches and has a couple that aren't in the main repository. When I do a darcs send --dry-run, I get a failure. I don't think this is specific to this repository, but I'll send you (offlist) a tarball of my repository anyhow. I'll be very interested in hearing whether you get the same error. David 2008/1/10, David Roundy [EMAIL PROTECTED]: On Fri, Jan 04, 2008 at 03:57:09PM -0500, David Roundy wrote: I can confirm a speedup of better than a factor of four in download times using the new libwww code by Dmitry that I'm right now pushing: Alas, it appears that there is a bug in the libwww code. I am able to reproducibly trigger errors with my xmonad repository, in which a download fails without giving a failure message. It exits with success, but the downloaded file has size zero. :( So I'm deprecating the libwww bindings for now (making them non-default, but leaving them there, so interested folks could compile with them using configure --with-libwww), and plan to remove them before the 2.0 release, unless they get fixed (and I don't have time to fix them). ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel libwww_fix.dpatch Description: Binary data ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] Impossible case in darcs PatchRead.lhs or Patch/Read.lhs
I sent the mail below to [EMAIL PROTECTED], but I can't see any trace of it anywhere, so maybe it got lost. I can follow up, though, with something useful: it appears that the patch in question got silently eaten by our goddamned web filter (and converted into a message about inappropriate material)! darcs could handle this a bit more smoothly, in particular some form of patch file validation would be sensible, together with reporting the name of the failing patch! The patch in question happens to contain a copy of Utopia by Thomas More (test data for Yi?): this is obviously regarded as inappropriate and subversive content by the UK government! Actually, it would be even better if darcs could download all of the patches as a single http request, but I guess that would require more cooperation from the server than the current model allows; even better as an https request to bypass the crap that proxies produce. -- Forwarded message -- Date: Tue, 15 Jan 2008 18:59:33 + (GMT) From: Michael Abbott [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Impossible case in darcs PatchRead.lhs or Patch/Read.lhs Running darcs get http://code.haskell.org/yi produces one of the following responses (depending on version). Running the darcs-1.0.9-i386-linux binary, as downloaded from darcs.net, produces the message: $ darcs get http://code.haskell.org/yi ... FINISHED --18:23:31-- Downloaded: 5,562,103 bytes in 1370 files Applying patch 551 of 1370... darcs: bug in darcs! Impossible case at PatchRead.lhs:58 compiled 18:47:46 Aug 28 2007 Please report this to [EMAIL PROTECTED], If possible include the output of 'darcs --exact-version'. $ darcs --exact-version darcs compiled on Aug 28 2007, at 18:50:44 # configured Sat Jun 16 09:59:48 PDT 2007 ./configure /usr/local/share/config.site /usr/local/etc/config.site Context: [TAG 1.0.9 Tommy Pettersson [EMAIL PROTECTED]**20070603213706] $ Alternatively, after downloading and building darcs from the repository using darcs get --verbose --partial http://darcs.net/repos/stable the error message has moved slightly: $ darcs get http://code.haskell.org/yi/ Directory '/home/mga83/working/Haskell/yi' already exists, creating repository as '/home/mga83/working/Haskell/yi_0' Copying patch 1370 of 1370... done. Applying patch 551 of 1370... darcs: bug in darcs! Impossible case at src/Darcs/Patch/Read.lhs:58 compiled 18:37:35 Jan 15 2008 Please report this to [EMAIL PROTECTED], If possible include the output of 'darcs --exact-version'. $ darcs --version 1.1.0pre1 (unknown) $ darcs --exact-version | wc -l 1433 $ By the way, the page http://www.darcs.net/manual/node3.html suggests downloading the darcs repository from http://abridgegame.org/repos/darcs -- this appears to be a case of bit rot! I hope this report is helpful. Unfortunately searching bugs.darcs.net doesn't seem to work and just hangs. ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] libwww bug
On Thu, Jan 17, 2008 at 03:29:22PM +0300, Dmitry Kurochkin wrote: Hi David. I have found time to work on darcs at last. Here is fix for failure with xmonad repository. The problem was that server sent Content-Encoding: x-gzip header. libwww did not know how to handle it and just discarded all content. Thanks for the bugfix! There is also another small fix for copyUrl. I have more time to work on darcs now and I plan to start working on API changes we discussed earlier. Also my patches for curl pipelining are in CVS now (but not released yet) and I will use it in darcs. I think both curl and libwww will provide the same API and common parts should be moved to separate module. I'll look forward to these patches! What changes did you have to make for curl pipelining? These are changes in libcurl itself? -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] libwww bug
2008/1/17, David Roundy [EMAIL PROTECTED]: On Thu, Jan 17, 2008 at 03:29:22PM +0300, Dmitry Kurochkin wrote: Hi David. I have found time to work on darcs at last. Here is fix for failure with xmonad repository. The problem was that server sent Content-Encoding: x-gzip header. libwww did not know how to handle it and just discarded all content. Thanks for the bugfix! There is also another small fix for copyUrl. I have more time to work on darcs now and I plan to start working on API changes we discussed earlier. Also my patches for curl pipelining are in CVS now (but not released yet) and I will use it in darcs. I think both curl and libwww will provide the same API and common parts should be moved to separate module. I'll look forward to these patches! What changes did you have to make for curl pipelining? These are changes in libcurl itself? Yes, these are changes for better (current pipelining option is pretty useless) pipelining in libcurl. Here are 2 threads on this topic: http://thread.gmane.org/gmane.comp.web.curl.library/17197 http://thread.gmane.org/gmane.comp.web.curl.library/17378 Regards, Dmitry -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Add --{allow, dont-allow, mark}-conflicts to darcs pull.
Excerpts from Tommy Pettersson's message of Thu Jan 17 12:18:19 +0100 2008: On Thu, Jan 17, 2008 at 09:26:46AM +0100, Nicolas Pouillard wrote: Excerpts from Tommy Pettersson's message of Wed Jan 16 21:18:15 +0100 2008: On Wed, Jan 16, 2008 at 07:36:30PM +, Nicolas Pouillard wrote: Wed Jan 16 20:34:26 CET 2008 [EMAIL PROTECTED] * Add --{allow,dont-allow,mark}-conflicts to darcs pull. This patch also merge the --external option to pull_conflicts_options like with apply. Hmmm... I don't think merging --external-merger to the multi-choice option is a good idea. A common case is to have 'ALL external-merger my_favorite_merger in the .darcs/defaults file, and expect 'darcs apply --mark-conflicts' to use my_favorite_merger. So, does makes sense to extract the external-merger option from the multi-choice option for both pull and apply? Absolutely! In fact, I thought this was the case for Apply, until I just looked at the code and saw it treats --external-merge (without 'r' at the end) as a multi-choice of the other conflict options. Yes, that's why I've done the same thing to pull. Maybe I was confusing it with the --diff-command option, which is how --external-merger (with 'r' at the end) should work, imho. Hum, what is the external-merge*r* thing you talk about, I only know about external-merge. But to have Pull equal Apply in semantics of external-merge (whatever they are), as is now done with your patch, is of course the right thing. Yes, but having --external-merge out of this option group could ease the case you've talk about. So I vote for having --external-merge out the multi-choice group for both pull and apply. -- Nicolas Pouillard aka Ertai ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] libwww bug
On Thu, Jan 17, 2008 at 04:07:26PM +0300, Dmitry Kurochkin wrote: 2008/1/17, David Roundy [EMAIL PROTECTED]: What changes did you have to make for curl pipelining? These are changes in libcurl itself? Yes, these are changes for better (current pipelining option is pretty useless) pipelining in libcurl. Here are 2 threads on this topic: http://thread.gmane.org/gmane.comp.web.curl.library/17197 http://thread.gmane.org/gmane.comp.web.curl.library/17378 Oh yay, so you're now an expert on how pipelining works in libcurl! :) Any chance we can get something like priority queuing? (Now that you know the code better...) -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] darcs patch: Added test for issue381. (and 1 more)
Note: I had to edit the context of Marnix's patch to make it apply cleanly, which is probably a bad thing to do in the general case. But I'm guessing that send.sh hasn't changed between then and now. Tue Jan 9 21:08:35 GMT 2007 Marnix Klooster [EMAIL PROTECTED] * Added test for issue381. Thu Jan 17 16:17:04 GMT 2008 Eric Kow [EMAIL PROTECTED] * Move issue381 test to bugs directory. New patches: [Added test for issue381. Marnix Klooster [EMAIL PROTECTED]**20070109210835] { hunk ./tests/send.sh 32 $DARCS send --author=me -a [EMAIL PROTECTED] --sendmail-command='grep ^To: [EMAIL PROTECTED] %' ../temp2 # Test that the --subject parameter sets the subject + +# Test that editor is called when --output is used with --edit-description +DARCS_EDITOR=cat $DARCS send --author=me -a --output=bundle --edit-description ../temp2 baz 21 +grep add_foo_bar baz $DARCS send --author=me -a --subject=it works --sendmail-command='grep ^Subject: it works$ %' ../temp2 # Test that the --output-auto-name parameter outputs what we expect } [Move issue381 test to bugs directory. Eric Kow [EMAIL PROTECTED]**20080117161704] { addfile ./bugs/issue381.sh hunk ./bugs/issue381.sh 1 +#!/bin/sh +set -ev + +test $DARCS || DARCS=$PWD/../darcs +DARCS_EDITOR=echo +export DARCS_EDITOR + +rm -rf temp1 temp2 +mkdir temp1 temp2 + +cd temp2 +$DARCS init + +# Test that editor is called when --output is used with --edit-description +DARCS_EDITOR=cat $DARCS send --author=me -a --output=bundle --edit-description ../temp2 baz 21 +grep add_foo_bar baz +$DARCS send --author=me -a --subject=it works --sendmail-command='grep ^Subject: it works$ %' ../temp2 + +cd .. +rm -rf temp1 temp2 hunk ./tests/send.sh 32 $DARCS send --author=me -a [EMAIL PROTECTED] --sendmail-command='grep ^To: [EMAIL PROTECTED] %' ../temp2 # Test that the --subject parameter sets the subject - -# Test that editor is called when --output is used with --edit-description -DARCS_EDITOR=cat $DARCS send --author=me -a --output=bundle --edit-description ../temp2 baz 21 -grep add_foo_bar baz -$DARCS send --author=me -a --subject=it works --sendmail-command='grep ^Subject: it works$ %' ../temp2 # Test that the --output-auto-name parameter outputs what we expect $DARCS send --author=me -a --subject=it works --output test1.dpatch ../temp2 } Context: [add changelog entry for rollback. David Roundy [EMAIL PROTECTED]**20080116212037] [rollback my simplification of conflict options for pull and apply. David Roundy [EMAIL PROTECTED]**20080116211650] [eliminate apply_conflict_options and pull_[same] in favor of unified conflict_options. David Roundy [EMAIL PROTECTED]**20080116205623] [reimplement rollback. David Roundy [EMAIL PROTECTED]**20080116203644] [fix pull.pl test to show off rollback error. David Roundy [EMAIL PROTECTED]**20080110230904] [Use http://darcs.net/repos/stable instead of http://abridgegame.org/darcs. [EMAIL PROTECTED] [Add --{allow,dont-allow,mark}-conflicts to darcs pull. [EMAIL PROTECTED] This patch also merge the --external option to pull_conflicts_options like with apply. ] [fix bug where get could produce a darcs-2 repository from a darcs-1 repo incorrectly. David Roundy [EMAIL PROTECTED]**20080116194547] [fix replacePristine to work regardless of current working directory. David Roundy [EMAIL PROTECTED]**20080116162528 This is intended to be a property of all Repository functions except those that explicitly mention the current directory in their name. ] [treat errors in reading current pristine cache as corruption in darcs repair. David Roundy [EMAIL PROTECTED]**20080116162427] [make withCurrentDirectory succeed even if old directory has been removed. David Roundy [EMAIL PROTECTED]**20080116162358] [fixed bug triggered by conflict-doppleganger test. David Roundy [EMAIL PROTECTED]**20080116161548] [make doppelganger test more verbose. David Roundy [EMAIL PROTECTED]**20080116161421] [Fix darcs repair with darcs1 format. [EMAIL PROTECTED] Using withCurentDirectory was wrong because this function wants to restore the current directory. In this case it no longer exists (.../newpristine) because renamed to .../pristine. ] [Add a test case for darcs repair. [EMAIL PROTECTED] In fact both darcs1 and hashed format are broken. ] [fix bugs in date parsing pointed out by Mark. David Roundy [EMAIL PROTECTED]**20080115235341] [treat partially-specified dates as more vague matches. David Roundy [EMAIL PROTECTED]**20080115213601 i.e. if you --match date 2007 you'll get all the patches in 2007, not just those on January 1, 2007. ] [issue31, issue187: Update date matching so we test for an actual match in some cases, not just date parsing. Mark Stosberg [EMAIL PROTECTED]**20080110030400 This revealed some bugs which have yet to be fixed, so the test is still failing. ] [fix perl bug script code. David Roundy [EMAIL PROTECTED]**20080115215954] [add some changelog entries Tommy Pettersson [EMAIL
Re: [darcs-devel] darcs patch: Add --{allow, dont-allow, mark}-conflicts to darcs pull.
On Jan 17, 2008 9:59 AM, Tommy Pettersson [EMAIL PROTECTED] wrote: On Thu, Jan 17, 2008 at 03:19:43PM +0100, Nicolas Pouillard wrote: So I vote for having --external-merge out the multi-choice group for both pull and apply. Sounds good. Yes, me too. And perhaps it should be renamed to --external-merger to reflect it does no longer perform a merge, but only selects the merger to use. I definitely prefer the name --external-merge, or perhaps --external-merge-conflicts. The problem is that merger is a noun, not a verb. David ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Move rollback to another section of TheCommands.
On Thu, Jan 17, 2008 at 04:48:57PM +0100, Nicolas Pouillard wrote: Excerpts from David Roundy's message of Thu Jan 17 16:36:16 +0100 2008: On Thu, Jan 17, 2008 at 12:56:42PM +, Nicolas Pouillard wrote: Thu Jan 17 13:53:40 CET 2008 [EMAIL PROTECTED] * Move rollback to another section of TheCommands. Content-Description: A darcs patch for your repository! New patches: [Move rollback to another section of TheCommands. [EMAIL PROTECTED] { hunk ./src/Darcs/TheCommands.lhs 71 Group_name Direct modification of the repository:, Command_data tag, Command_data setpref, -Command_data rollback, Group_name Querying the repository:, Command_data diff_command, Command_data changes, hunk ./src/Darcs/TheCommands.lhs 81 Group_name Copying patches between repositories with working copy update:, Command_data pull, Command_data obliterate, Hidden_command unpull, +Command_data rollback, Command_data push, Command_data send, Command_data apply, This doesn't seem quite right, as rollback doesn't copy patches between repositories. But then, neither does obliterate. :( I'm not sure how to best improve the organization here. It seems that obliterate, unpull and rollback deserve their own section :) Yeah, that would be reasonable. Something like Undoing previously recorded changes? And maybe we could move unrecord into the same section? It makes sense keeping it next to record, but doesn't make so much sense for it to be far from obliterate. -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Check that using 'record --look-for-add --all' left an...
Excerpts from David Roundy's message of Thu Jan 17 16:55:15 +0100 2008: On Thu, Jan 17, 2008 at 11:55:02AM +, Nicolas Pouillard wrote: Thu Jan 17 12:51:59 CET 2008 [EMAIL PROTECTED] * Check that using 'record --look-for-add --all' left an empty pending patch. Thanks for the patch! I'm working right now to get it into the bugs/ directory, as I'm not quite sure how to fix this one... Ok, but IMHO this makes --look-for-adds for more buggy than before. -- Nicolas Pouillard aka Ertai ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] Roundup bug tracker at bugs.darcs.net switched to PostgreSQL backend
On Thu, Jan 17, 2008 at 08:45:16AM -0500, Mark Stosberg wrote: Last night I switched the bug tracking system from using the slow anydbms backend to a faster PostreSQL backend. Thanks, Mark! It's already *much* snappier, which will make it considerably easier to deal with. :) This morning I noticed some e-mail communications to the bug tracker were appearing in duplicate (but not others): http://bugs.darcs.net/issue590 http://bugs.darcs.net/issue589 If someone who has server access has a minute to take a look soon, that would be great. Otherwise I can poke around tonight. As far as I'm aware, I didn't change anything related to e-mail settings. It could be that the report was just submitted twice... that's pretty common, particularly if they get held up in moderation. -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Move rollback to another section of TheCommands.
On Thu, Jan 17, 2008 at 12:56:42PM +, Nicolas Pouillard wrote: Thu Jan 17 13:53:40 CET 2008 [EMAIL PROTECTED] * Move rollback to another section of TheCommands. Content-Description: A darcs patch for your repository! New patches: [Move rollback to another section of TheCommands. [EMAIL PROTECTED] { hunk ./src/Darcs/TheCommands.lhs 71 Group_name Direct modification of the repository:, Command_data tag, Command_data setpref, -Command_data rollback, Group_name Querying the repository:, Command_data diff_command, Command_data changes, hunk ./src/Darcs/TheCommands.lhs 81 Group_name Copying patches between repositories with working copy update:, Command_data pull, Command_data obliterate, Hidden_command unpull, +Command_data rollback, Command_data push, Command_data send, Command_data apply, This doesn't seem quite right, as rollback doesn't copy patches between repositories. But then, neither does obliterate. :( I'm not sure how to best improve the organization here. -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Added test for issue381. (and 1 more)
On 17/01/2008, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Note: I had to edit the context of Marnix's patch to make it apply cleanly, Argh, what bad writing. What I meant was that just trying to apply the patch would take far longer than I was willing to wait while darcs did its commutations. Being impatient, I just went in and swapped out the contexts. -- Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow PGP Key ID: 08AC04F9 ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] Roundup bug tracker at bugs.darcs.net switched to PostgreSQL backend
Last night I switched the bug tracking system from using the slow anydbms backend to a faster PostreSQL backend. This morning I noticed some e-mail communications to the bug tracker were appearing in duplicate (but not others): http://bugs.darcs.net/issue590 http://bugs.darcs.net/issue589 If someone who has server access has a minute to take a look soon, that would be great. Otherwise I can poke around tonight. As far as I'm aware, I didn't change anything related to e-mail settings. Mark ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Add --{allow, dont-allow, mark}-conflicts to darcs pull.
On Thu, Jan 17, 2008 at 05:36:41PM +0100, Tommy Pettersson wrote: On Thu, Jan 17, 2008 at 11:10:43AM -0500, David Roundy wrote: On Jan 17, 2008 9:59 AM, Tommy Pettersson [EMAIL PROTECTED] wrote: Yes, me too. And perhaps it should be renamed to --external-merger to reflect it does no longer perform a merge, but only selects the merger to use. I definitely prefer the name --external-merge, or perhaps --external-merge-conflicts. The problem is that merger is a noun, not a verb. Hm, being a noun was actually my point to why I felt it was a better name for an option telling what external merger to use. But I'm not a native English speaker, so my preferences may be very wrong :-), and changing the name of an option can have other bad implications. Right, my grammar mistake. But merger does not mean something that merges as eater would mean something that eats, but rather an act or instance of merging. -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Add --{allow, dont-allow, mark}-conflicts to darcs pull.
On Thu, Jan 17, 2008 at 11:10:43AM -0500, David Roundy wrote: On Jan 17, 2008 9:59 AM, Tommy Pettersson [EMAIL PROTECTED] wrote: Yes, me too. And perhaps it should be renamed to --external-merger to reflect it does no longer perform a merge, but only selects the merger to use. I definitely prefer the name --external-merge, or perhaps --external-merge-conflicts. The problem is that merger is a noun, not a verb. Hm, being a noun was actually my point to why I felt it was a better name for an option telling what external merger to use. But I'm not a native English speaker, so my preferences may be very wrong :-), and changing the name of an option can have other bad implications. -- Tommy Pettersson [EMAIL PROTECTED] ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] [issue589] Impossible case in darcs PatchRead.lhs or Patch/Read.lhs
Michael, could this download be passing through a proxy that might modify the files? Could you diff the contents of your _darcs/patches directory agains that of the attached yi.tar.bz2? Absolute, and this was definitely the trigger. It took me a while to figure it out (there are some 1,500 patches in Yi) but, yes, for whatever reason our web poxy decided to transform one patch into something completely different. So perhaps this transforms the issue from an outright bug into an unfriendly behaviour. I see two points: 1. The error message implies that the problem is entirely the fault of darcs (and so of course gives little hint about identifying the true culprit). 2. Evidently darcs fails to do any checking on the patches before processing them. A CRC checksum might be a good thing. Actually, the fact that darcs fetchs each of 1500 patches as separate http requests is itself rather painful: takes much longer than it would if this could be done as a single http or https request -- and using https would bypass any brain damaged proxy to further benefit! ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] [issue589] buggy error message: Impossible case in darcs PatchRead.lhs or Patch/Read.lhs
On Thu, Jan 17, 2008 at 04:57:52PM +, Michael Abbott wrote: Michael, could this download be passing through a proxy that might modify the files? Could you diff the contents of your _darcs/patches directory agains that of the attached yi.tar.bz2? Absolute, and this was definitely the trigger. It took me a while to figure it out (there are some 1,500 patches in Yi) but, yes, for whatever reason our web poxy decided to transform one patch into something completely different. So perhaps this transforms the issue from an outright bug into an unfriendly behaviour. I see two points: 1. The error message implies that the problem is entirely the fault of darcs (and so of course gives little hint about identifying the true culprit). I'd say this is the bug (and will retitle it accordingly). We should state what's actually happening here. 2. Evidently darcs fails to do any checking on the patches before processing them. A CRC checksum might be a good thing. This is handled in the upcoming --darcs-2 and --hashed formats. Actually, the fact that darcs fetchs each of 1500 patches as separate http requests is itself rather painful: takes much longer than it would if this could be done as a single http or https request -- and using https would bypass any brain damaged proxy to further benefit! This is another issue. You could certainly use https if you like (and if your libcurl supports it), just change your URL. We're working on request pipelining for darcs 2. -- David Roundy Department of Physics Oregon State University -- title: Impossible case in darcs PatchRead.lhs or Patch/Read.lhs - buggy error message: Impossible case in darcs PatchRead.lhs or Patch/Read.lhs __ Darcs bug tracker [EMAIL PROTECTED] http://bugs.darcs.net/issue589 __ ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] darcs patch: Refactor test/bug harness calls in Makef... (and 2 more)
There's a definite drawback to this makefile refactor, in that now we're really fragile/sensitive to whitespace and other annoying things. Then again, fixing the makefile is a little bit easier. Thu Jan 17 17:17:06 GMT 2008 Eric Kow [EMAIL PROTECTED] * Refactor test/bug harness calls in Makefile. Thu Jan 17 17:22:15 GMT 2008 Eric Kow [EMAIL PROTECTED] * Fix cannot stat `../tests/{lib,perl_harness}' in Makefile. Thu Jan 17 16:23:29 GMT 2008 Eric Kow [EMAIL PROTECTED] * Canonize Andrew J. Kroll and Erik Schnetter. Wrong email address for Erik. Googled name for Andrew. New patches: [Refactor test/bug harness calls in Makefile. Eric Kow [EMAIL PROTECTED]**20080117171706] { hunk ./GNUmakefile 331 PERL_HARNESS := perl perl_harness SHELL_HARNESS := perl shell_harness -test_shell: darcs - @echo Running sh tests on old-fashioned repositories... - @rm -rf test_shell.dir cp -R tests test_shell.dir - @cd test_shell.dir rm -rf .darcs; \ +# $1 - description +# $2 - setup +# $3 - discard +# $4 - type +# $5 - harness +define harness + @echo Running $4 tests on $1 repositories... + @rm -rf test-$4-$1.dir cp -R tests test-$4-$1.dir + @cd test-$4-$1.dir rm -rf .darcs; mkdir .darcs;\ + $2;\ + if [ -r $(TEST_FILTER_FILE) ];\ + then grep \.$4 $(TEST_FILTER_FILE) | grep -v '^#' | $3 | xargs $5; \ + else ls *.$4 | sort -r | $3 | xargs $5; fi + @echo Done running tests on $1 repositories... +endef + +# $1 - description +# $2 - setup +# $3 - discard +# $4 - type +# $5 - harness +define bug_harness + @echo Demonstrating $4 bugs on $1 repositories... + @rm -rf bugs-$4-$1.dir cp -R bugs bugs-$4-$1.dir + @cd bugs-$4-$1.dir rm -rf .darcs; mkdir .darcs;\ + cp -R ../tests/{lib,perl_harness} .;\ + $2;\ if [ -r $(TEST_FILTER_FILE) ];\ hunk ./GNUmakefile 359 - then grep \.sh $(TEST_FILTER_FILE) | grep -v '^#' | xargs $(SHELL_HARNESS); \ - else ls *.sh | sort -r | xargs $(SHELL_HARNESS); fi - @echo Done running tests on old-fashioned repositories... + then bugs=1 grep \.$4 $(TEST_FILTER_FILE) | grep -v '^#' | $3 | xargs $5; \ + else bugs=1 ls *.$4 | sort -r | $3 | xargs $5; fi + @echo Done demonstrating bugs on $1 repositories... +endef + +# $1 - description +# $2 - setup +# $3 - discard +shell_harness=$(call harness,$1,$2,$3,sh,$(SHELL_HARNESS)) +perl_harness=$(call harness,$1,$2,$3,perl,$(PERL_HARNESS)) +shell_bugs=$(call bug_harness,$1,$2,$3,sh,$(SHELL_HARNESS)) +perl_bugs=$(call bug_harness,$1,$2,$3,perl,$(PERL_HARNESS)) + +test_shell: darcs + $(call shell_harness,old-fashioned,:,cat) # for the format2 tests, we skip the hashed_inventory.sh test, since explicitly # creates the old-fashioned format that's incompatible with darcs-2. hunk ./GNUmakefile 378 test_shell_format2: darcs - @echo Running tests on darcs-2 repositories... - @rm -rf test_shell_format2.dir cp -R tests test_shell_format2.dir - @cd test_shell_format2.dir \ - rm -rf .darcs; \ - mkdir .darcs; \ - echo ALL --darcs-2 .darcs/defaults; \ - if [ -r $(TEST_FILTER_FILE) ];\ - then grep \.sh $(TEST_FILTER_FILE) | grep -v '^#' | \ - grep -v hashed_inventory.sh | xargs $(SHELL_HARNESS); \ - else ls *.sh | sort -r | grep -v hashed_inventory.sh | xargs $(SHELL_HARNESS); fi - @echo Done running tests on darcs-2 repositories... + $(call shell_harness,darcs-2,\ + echo ALL --darcs-2 .darcs/defaults,\ + grep -v hashed_inventory.sh) test_shell_hashed: darcs hunk ./GNUmakefile 383 - @echo Running tests on hashed repositories... - @rm -rf test_shell_hashed.dir cp -R tests test_shell_hashed.dir - @cd test_shell_hashed.dir \ - rm -rf .darcs; \ - mkdir .darcs; \ - echo ALL --hashed .darcs/defaults; \ - if [ -r $(TEST_FILTER_FILE) ];\ - then grep \.sh $(TEST_FILTER_FILE) | grep -v '^#' | xargs $(SHELL_HARNESS); \ - else ls *.sh | sort | xargs $(SHELL_HARNESS); fi - @echo Done running tests on hashed repositories... + $(call shell_harness,hashed,\ + echo ALL --hashed .darcs/defaults,cat) test_perl: darcs hunk ./GNUmakefile 387 - @echo Running sh tests on old-fashioned reositories... - @rm -rf test_perl.dir cp -R tests test_perl.dir - @cd test_perl.dir rm -rf .darcs; \ - if [ -r $(TEST_FILTER_FILE) ];\ - then grep \.pl $(TEST_FILTER_FILE) | grep -v '^#' | xargs $(PERL_HARNESS); \ - else ls *.pl | sort -r | xargs $(PERL_HARNESS); fi - @echo Done running tests on old-fashioned repositories... + $(call perl_harness,old-fashioned,:,cat) test_perl_format2: darcs hunk ./GNUmakefile 390 - @echo Running tests on darcs-2 repositories... - @rm -rf test_perl_format2.dir cp -R tests test_perl_format2.dir - @cd test_perl_format2.dir \ - rm -rf .darcs; \ - mkdir .darcs; \ - echo ALL --darcs-2 .darcs/defaults; \ - if [ -r $(TEST_FILTER_FILE) ];\ - then grep \.pl $(TEST_FILTER_FILE) | grep -v '^#' | xargs $(PERL_HARNESS); \ - else ls *.pl | sort -r | xargs $(PERL_HARNESS); fi - @echo Done running tests on darcs-2 repositories... + $(call perl_harness,darcs-2,\ + echo ALL
[darcs-devel] darcs patch: Actually run perl tests. (and 1 more)
Not sure this is the right place to put the 'Checking for conflicts' message though. Thu Jan 17 20:01:49 GMT 2008 Eric Kow [EMAIL PROTECTED] * Actually run perl tests. Fix my harness refactor. Thu Jan 17 20:12:08 GMT 2008 Eric Kow [EMAIL PROTECTED] * Tell user when we are checking for conflicts. Otherwise we mislead the user into thinking the slow part is the 'diffing dir...' New patches: [Actually run perl tests. Eric Kow [EMAIL PROTECTED]**20080117200149 Fix my harness refactor. ] { hunk ./GNUmakefile 335 # $2 - setup # $3 - discard # $4 - type -# $5 - harness +# $5 - extension +# $6 - harness define harness @echo Running $4 tests on $1 repositories... @rm -rf test-$4-$1.dir cp -R tests test-$4-$1.dir hunk ./GNUmakefile 343 @cd test-$4-$1.dir rm -rf .darcs; mkdir .darcs;\ $2;\ if [ -r $(TEST_FILTER_FILE) ];\ - then grep \.$4 $(TEST_FILTER_FILE) | grep -v '^#' | $3 | xargs $5; \ - else ls *.$4 | sort -r | $3 | xargs $5; fi + then grep \.$5 $(TEST_FILTER_FILE) | grep -v '^#' | $3 | xargs $6; \ + else ls *.$5 | sort -r | $3 | xargs $6; fi @echo Done running tests on $1 repositories... endef hunk ./GNUmakefile 348 -# $1 - description -# $2 - setup -# $3 - discard -# $4 - type -# $5 - harness define bug_harness @echo Demonstrating $4 bugs on $1 repositories... @rm -rf bugs-$4-$1.dir cp -R bugs bugs-$4-$1.dir hunk ./GNUmakefile 356 cp -R ../tests/perl_harness .;\ $2;\ if [ -r $(TEST_FILTER_FILE) ];\ - then bugs=1 grep \.$4 $(TEST_FILTER_FILE) | grep -v '^#' | $3 | xargs $5; \ - else bugs=1 ls *.$4 | sort -r | $3 | xargs $5; fi + then bugs=1 grep \.$5 $(TEST_FILTER_FILE) | grep -v '^#' | $3 | xargs $6; \ + else bugs=1 ls *.$5 | sort -r | $3 | xargs $6; fi @echo Done demonstrating bugs on $1 repositories... endef hunk ./GNUmakefile 364 # $1 - description # $2 - setup # $3 - discard -shell_harness=$(call harness,$1,$2,$3,sh,$(SHELL_HARNESS)) -perl_harness=$(call harness,$1,$2,$3,perl,$(PERL_HARNESS)) -shell_bugs=$(call bug_harness,$1,$2,$3,sh,$(SHELL_HARNESS)) -perl_bugs=$(call bug_harness,$1,$2,$3,perl,$(PERL_HARNESS)) +shell_harness=$(call harness,$1,$2,$3,shell,sh,$(SHELL_HARNESS)) +perl_harness=$(call harness,$1,$2,$3,perl,pl,$(PERL_HARNESS)) +shell_bugs=$(call bug_harness,$1,$2,$3,shell,sh,$(SHELL_HARNESS)) +perl_bugs=$(call bug_harness,$1,$2,$3,perl,pl,$(PERL_HARNESS)) test_shell: darcs $(call shell_harness,old-fashioned,:,cat) } [Tell user when we are checking for conflicts. Eric Kow [EMAIL PROTECTED]**20080117201208 Otherwise we mislead the user into thinking the slow part is the 'diffing dir...' ] hunk ./src/Darcs/Repository/Internal.lhs 452 pend' :/\: pw - return $ merge (pc :\/: anonymous (fromPrims pend) :: NilFL) let pwprim = joinPatches $ mapFL_FL patchcontents pw Sealed standard_resolved_pw = standard_resolution pwprim + putVerbose Checking for conflicts... mapM_ backupByCopying $ list_touched_files standard_resolved_pw have_conflicts - announce_merge_conflicts cmd opts standard_resolved_pw have_unrecorded_conflicts - check_unrecorded_conflicts opts pc Context: [move debugMessage to Darcs.Utils. David Roundy [EMAIL PROTECTED]**20080117190043] [fix bug in running of test suite with hashed repos and add test for bug. David Roundy [EMAIL PROTECTED]**20080117185403] [add a couple more debug messages. David Roundy [EMAIL PROTECTED]**20080117185059] [clean up debug output in record. David Roundy [EMAIL PROTECTED]**20080117183922] [fix bug where record --look-for-adds left patches in pending. David Roundy [EMAIL PROTECTED]**20080117182618] [mark look_for_add.sh as buggy. David Roundy [EMAIL PROTECTED]**20080117160348] [Check that using 'record --look-for-add --all' left an empty pending patch. [EMAIL PROTECTED] [Canonize Andrew J. Kroll and Erik Schnetter. Eric Kow [EMAIL PROTECTED]**20080117162329 Wrong email address for Erik. Googled name for Andrew. ] [Fix cannot stat `../tests/{lib,perl_harness}' in Makefile. Eric Kow [EMAIL PROTECTED]**20080117172215] [Refactor test/bug harness calls in Makefile. Eric Kow [EMAIL PROTECTED]**20080117171706] [update docs on rollback. David Roundy [EMAIL PROTECTED]**20080117152948] [libwww: do not fail when server reports Content-Encoding. Dmitry Kurochkin [EMAIL PROTECTED]**20080117121621] [libwww: use waitNextUrl instead of libwww_wait_next_url in copyUrl. Dmitry Kurochkin [EMAIL PROTECTED]**20080117121544] [Move issue381 test to bugs directory. Eric Kow [EMAIL PROTECTED]**20080117161704] [Added test for issue381. Marnix Klooster [EMAIL PROTECTED]**20070109210835] [add changelog entry for rollback. David Roundy [EMAIL PROTECTED]**20080116212037] [rollback my simplification of conflict options for pull and apply. David Roundy [EMAIL PROTECTED]**20080116211650] [eliminate apply_conflict_options and pull_[same] in favor of unified conflict_options. David Roundy [EMAIL PROTECTED]**20080116205623] [reimplement rollback.
Re: [darcs-devel] darcs patch: Actually run perl tests. (and 1 more)
On Thu, Jan 17, 2008 at 08:14:54PM +, [EMAIL PROTECTED] wrote: Not sure this is the right place to put the 'Checking for conflicts' message though. Thu Jan 17 20:01:49 GMT 2008 Eric Kow [EMAIL PROTECTED] * Actually run perl tests. Fix my harness refactor. Thu Jan 17 20:12:08 GMT 2008 Eric Kow [EMAIL PROTECTED] * Tell user when we are checking for conflicts. Otherwise we mislead the user into thinking the slow part is the 'diffing dir...' Thanks for the patch! However, I've now moved both of these messages to debugMessage, since I'd rather keep --verbose free for useful (i.e. non-progress) output. -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Add test for issue194. (and 1 more)
On Thu, Jan 17, 2008 at 08:58:02PM +, [EMAIL PROTECTED] wrote: Some tests from the bug tracker (thanks to their respective reporters). Not neccessarily sanity-checked. Thu Jan 17 20:41:47 GMT 2008 Eric Kow [EMAIL PROTECTED] * Add test for issue194. Prior to darcs2, this triggered a bug in function reconcile_unwindings. Thu Jan 17 20:57:05 GMT 2008 Eric Kow [EMAIL PROTECTED] * issue549 - Pekka Pessi's rollback test. Applied. Thanks! -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] [Revctrl] DARCS correctness question
On 17/01/2008, at 11:45 PM, Ian Lynagh wrote: On Thu, Jan 17, 2008 at 01:57:23PM +1100, William Uther wrote: If I have two Darcs workspaces, each of which have the same set of patches, but in different orders, should these workspaces be identical (even in the presence of conflicts)? The pristine trees should be, but the way the conflicts are marked in the working directory need not be. In OT theory, a set of patches that are all transformed to apply should result in _identical_ output, regardless of order. If the output really is identical, then shouldn't the conflicts be marked up in the same way? My understanding from this that the merger patches are NOT identical. You claim that this isn't a problem - i.e. you seem to be claiming that merger patches do not need to obey the same correctness requirements as normal patches. Can you point me to a formal justification for this? Thanks, Will:-} ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] darcs patch: Add test for issue194. (and 1 more)
Some tests from the bug tracker (thanks to their respective reporters). Not neccessarily sanity-checked. Thu Jan 17 20:41:47 GMT 2008 Eric Kow [EMAIL PROTECTED] * Add test for issue194. Prior to darcs2, this triggered a bug in function reconcile_unwindings. Thu Jan 17 20:57:05 GMT 2008 Eric Kow [EMAIL PROTECTED] * issue549 - Pekka Pessi's rollback test. New patches: [Add test for issue194. Eric Kow [EMAIL PROTECTED]**20080117204147 Prior to darcs2, this triggered a bug in function reconcile_unwindings. ] { addfile ./tests/issue194.sh hunk ./tests/issue194.sh 1 +set -ev + +test $DARCS || DARCS=$PWD/../darcs +ACTUAL_DARCS=`which $DARCS` +DARCSPATH=`dirname $ACTUAL_DARCS` +PATH=$DARCSPATH:$PATH +export PATH + +mkdir temp1; cd temp1 ; $DARCS init ; cd .. +$DARCS get temp1 temp2 +cd temp2/ ; echo 'x' _darcs/prefs/author ; cd .. +cd temp1/ ; echo 'x' _darcs/prefs/author ; cd .. + +cd temp1/ +touch test ; $DARCS record +$DARCS add test ; $DARCS record -a -m 'test' +$DARCS mv test best ; $DARCS record -a -m 'test - best' +$DARCS mv best test ; $DARCS record -a -m 'best - test' +cd .. + +cd temp2/ +touch test2 +$DARCS add test2 ; $DARCS record -a -m 'test2' +$DARCS mv test2 best ; $DARCS record -a -m 'test2 - best' +$DARCS mv best test2 ; $DARCS record -a -m 'best - test2' + +$DARCS pull ../temp1/ -a +cd .. + +rm -rf temp1 temp2 } [issue549 - Pekka Pessi's rollback test. Eric Kow [EMAIL PROTECTED]**20080117205705] { addfile ./tests/rollback.sh hunk ./tests/rollback.sh 1 +set -ev + +test $DARCS || DARCS=$PWD/../darcs +ACTUAL_DARCS=`which $DARCS` +DARCSPATH=`dirname $ACTUAL_DARCS` +PATH=$DARCSPATH:$PATH +export PATH + +range=0 1 2 + +mkdir temp1 cd temp1 $DARCS init +touch f $DARCS add f +for i in $range +do + echo $i f $DARCS record -A me --ignore-time -m p$i --all f +done + +cd .. mkdir temp2 cd temp2 $DARCS init + +set -x + +: Demonstrate problem with regrem +for i in $range +do + $DARCS pull --patch p$i ../temp1 --all + if $DARCS whatsnew ; then + : Resolve conflict - rollback our patch + $DARCS revert --all + yes | $DARCS rollback --patch-name x0 + $DARCS revert --all + fi + : Create local change and record it + echo X$i f $DARCS record -A me --ignore-time -m x$i --all f +done hunk ./tests/rollback.sh 36 +cd .. +rm -rf temp1 temp2 + } Context: [move debugMessage to Darcs.Utils. David Roundy [EMAIL PROTECTED]**20080117190043] [fix bug in running of test suite with hashed repos and add test for bug. David Roundy [EMAIL PROTECTED]**20080117185403] [add a couple more debug messages. David Roundy [EMAIL PROTECTED]**20080117185059] [clean up debug output in record. David Roundy [EMAIL PROTECTED]**20080117183922] [fix bug where record --look-for-adds left patches in pending. David Roundy [EMAIL PROTECTED]**20080117182618] [mark look_for_add.sh as buggy. David Roundy [EMAIL PROTECTED]**20080117160348] [Check that using 'record --look-for-add --all' left an empty pending patch. [EMAIL PROTECTED] [Canonize Andrew J. Kroll and Erik Schnetter. Eric Kow [EMAIL PROTECTED]**20080117162329 Wrong email address for Erik. Googled name for Andrew. ] [Fix cannot stat `../tests/{lib,perl_harness}' in Makefile. Eric Kow [EMAIL PROTECTED]**20080117172215] [Refactor test/bug harness calls in Makefile. Eric Kow [EMAIL PROTECTED]**20080117171706] [update docs on rollback. David Roundy [EMAIL PROTECTED]**20080117152948] [libwww: do not fail when server reports Content-Encoding. Dmitry Kurochkin [EMAIL PROTECTED]**20080117121621] [libwww: use waitNextUrl instead of libwww_wait_next_url in copyUrl. Dmitry Kurochkin [EMAIL PROTECTED]**20080117121544] [Move issue381 test to bugs directory. Eric Kow [EMAIL PROTECTED]**20080117161704] [Added test for issue381. Marnix Klooster [EMAIL PROTECTED]**20070109210835] [add changelog entry for rollback. David Roundy [EMAIL PROTECTED]**20080116212037] [rollback my simplification of conflict options for pull and apply. David Roundy [EMAIL PROTECTED]**20080116211650] [eliminate apply_conflict_options and pull_[same] in favor of unified conflict_options. David Roundy [EMAIL PROTECTED]**20080116205623] [reimplement rollback. David Roundy [EMAIL PROTECTED]**20080116203644] [fix pull.pl test to show off rollback error. David Roundy [EMAIL PROTECTED]**20080110230904] [Use http://darcs.net/repos/stable instead of http://abridgegame.org/darcs. [EMAIL PROTECTED] [Add --{allow,dont-allow,mark}-conflicts to darcs pull. [EMAIL PROTECTED] This patch also merge the --external option to pull_conflicts_options like with apply. ] [fix bug where get could produce a darcs-2 repository from a darcs-1 repo incorrectly. David Roundy [EMAIL PROTECTED]**20080116194547] [fix replacePristine to work regardless of current working directory. David Roundy [EMAIL PROTECTED]**20080116162528 This is intended to be a property of all Repository functions except those that explicitly mention the current directory in their name. ] [treat errors
Re: [darcs-devel] [Revctrl] DARCS correctness question
On Fri, Jan 18, 2008 at 08:39:43AM +1100, William Uther wrote: On 17/01/2008, at 11:45 PM, Ian Lynagh wrote: On Thu, Jan 17, 2008 at 01:57:23PM +1100, William Uther wrote: If I have two Darcs workspaces, each of which have the same set of patches, but in different orders, should these workspaces be identical (even in the presence of conflicts)? The pristine trees should be, but the way the conflicts are marked in the working directory need not be. In OT theory, a set of patches that are all transformed to apply should result in _identical_ output, regardless of order. If the output really is identical, then shouldn't the conflicts be marked up in the same way? My understanding from this that the merger patches are NOT identical. You claim that this isn't a problem - i.e. you seem to be claiming that merger patches do not need to obey the same correctness requirements as normal patches. Can you point me to a formal justification for this? The patches aren't identical because they're in a different order. It's perfectly normal in darcs that changes in different order are described by different patches--in fact it's the basis of the whole system. If you reorder the changes into the same order, then the patches are the same. Merger patches do obey precisely the same correctness requirements as any normal patches. The conflict marking does depend on the order of changes in the repository, but this doesn't really matter, since conflict-marking is not fundamental to how darcs works. It's something that's done to the working directory for the convenience of the user. We could remove this feature and darcs would be just as correct (although rather more awkward to use). -- David Roundy Department of Physics Oregon State University ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] a measurement of using 7z instead of gz to compress patches
On Thu, Jan 17, 2008 at 10:02:40AM +0900, Stephen J. Turnbull wrote: zooko writes: In short, it probably isn't worth it, unless the new repository formats (which I haven't looked at) tend to bundle more patches together into one file for the compression tool to find redundancy in: Better to use zip format than tar, as zip has an index (that's why it's used by jar files and Python eggs, IIRC). Doesn't 7zip have a full archive mode like zip? Well, the tar version compresses much better than zip because it is streaming and doesn't have an index. since you tar then gzip, it doesn't compress each patch independently but rather compresses a single stream containing all the patches. since patches are extremely similar, this results in substantial improvements over individually compressing each file like zip does in order to individually access them via its index. John -- John Meacham - ⑆repetae.net⑆john⑈ ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] [Revctrl] DARCS correctness question
William Uther writes: In OT theory, a set of patches that are all transformed to apply should result in _identical_ output, regardless of order. If the output really is identical, then shouldn't the conflicts be marked up in the same way? Why would you expect that? Merger markup expresses a superposition (hello, physicists!) of two texts; there's always a choice of order when serializing. My understanding from this that the merger patches are NOT identical. The patches are the same, the notation is changed. That is, like most systems, darcs marks the conflicts like this: status quo post patch applied first temporally atext atext === btext btext btext conflicting change due to patch applied second temporally not changes proposed by patch earlier in some arbitrary but global order atext atext === btext btext btext changes proposed by patch later in some arbitrary but global order The latter will give consistent results, I think, but the former definitely will be nondeterministic. Doing this the way you expect *and* in a way that is easy for users to understand is hard, I suspect. For example, in git, Mercurial, or Darcs, you could just sort on some handy SHA1, but this would probably be confusing in the best of all possible world for the case of cherry- picking exactly one patch, because sometimes mine would appear on top and sometimes yours would appear on top, and the SHA1s are not human-meaningful. In the world we live in where most systems give status quo status to the patch applied to the repo earlier in temporal order, I'm sure it would disconcert most users. ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] [Revctrl] DARCS correctness question
On 18/01/2008, at 8:57 AM, David Roundy wrote: On Fri, Jan 18, 2008 at 08:39:43AM +1100, William Uther wrote: On 17/01/2008, at 11:45 PM, Ian Lynagh wrote: On Thu, Jan 17, 2008 at 01:57:23PM +1100, William Uther wrote: If I have two Darcs workspaces, each of which have the same set of patches, but in different orders, should these workspaces be identical (even in the presence of conflicts)? The pristine trees should be, but the way the conflicts are marked in the working directory need not be. In OT theory, a set of patches that are all transformed to apply should result in _identical_ output, regardless of order. If the output really is identical, then shouldn't the conflicts be marked up in the same way? My understanding from this that the merger patches are NOT identical. You claim that this isn't a problem - i.e. you seem to be claiming that merger patches do not need to obey the same correctness requirements as normal patches. Can you point me to a formal justification for this? The patches aren't identical because they're in a different order. It's perfectly normal in darcs that changes in different order are described by different patches--in fact it's the basis of the whole system. If you reorder the changes into the same order, then the patches are the same. Yes. But the resulting state after applying a series of patches should be the same, regardless of the order in which you've commuted the patches. Merger patches do obey precisely the same correctness requirements as any normal patches. Ok. The conflict marking does depend on the order of changes in the repository, but this doesn't really matter, since conflict-marking is not fundamental to how darcs works. It's something that's done to the working directory for the convenience of the user. We could remove this feature and darcs would be just as correct (although rather more awkward to use). Okie. I think I understand this better now after Stephen's response. Darcs' state is a partial order (represented using 'merger patches') and the particular way you serialise that for display is irrelevant. Thanks for the help, Will:-} ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Add --dont-allow-conflicts to darcs pull.
Wagner Ferenc wrote: Nicolas Pouillard [EMAIL PROTECTED] writes: Excerpts from Nicolas Pouillard's message of Wed Jan 16 11:23:52 +0100 2008: Excerpts from Tommy Pettersson's message of Wed Jan 16 11:22:00 +0100 2008: On Wed, Jan 16, 2008 at 02:52:45AM +, Nicolas Pouillard wrote: Wed Jan 16 03:47:06 CET 2008 [EMAIL PROTECTED] * Add --dont-allow-conflicts to darcs pull. It also adds --allow-conflicts that is the default behavior of pull. I only looked at this patch quickly, but it looks like it differs from the conflict options to the Apply command in a surprise-prone way. I think the options should be: --mark-conflicts(default behavior for Pull) --allow-conflicts(...but don't mark them) --dont-allow-conflicts(default behavior for Append) You're right, I will resubmit a patch then. I've just sent another patch (that amend this one). Speaking of this, wouldn't it be reasonable to make pull default to --dont-allow-conflicts if there are unrecorded changes in the repo? Yes, please!!! Cheers Ben ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] darcs patch: Add --{allow, dont-allow, mark}-conflicts to darcs pull.
Tommy Pettersson writes: So it should be --external-mergeror then? Just kidding! ;-) --external-merge-tool, I think. Too long, IMHO. ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
Re: [darcs-devel] [Revctrl] DARCS correctness question
William Uther writes: Why would you expect that? Merger markup expresses a superposition (hello, physicists!) of two texts; there's always a choice of order when serializing. Well, in OT theory a large effort is made to make sure that the same serialization is made in all cases. It is a bug if different orders appear. That's one way of proving that the result is correct (you'll get an empty diff). But there are other ways of doing it, and if you choose a particular serialization, you have to show that which serialization is chosen doesn't matter. Ahh. I think that might have cleared up my confusion. Would it be correct to say that DARCS is versioning partially ordered text, and it is just choosing which total order to display to the user differently? I don't have a good feeling for that. It's a reasonable analogy, I suppose. ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] darcs patch: Issue395: avoid single letter patch name... (and 2 more)
Thu Jan 17 21:06:34 EST 2008 Mark Stosberg [EMAIL PROTECTED] * Issue395: avoid single letter patch names in the test suite. Thu Jan 17 22:02:41 EST 2008 Mark Stosberg [EMAIL PROTECTED] * use --ignore-time in tests instead of sleep, for faster, more reliable results Thu Jan 17 22:16:06 EST 2008 Mark Stosberg [EMAIL PROTECTED] * issue578: steve and monica test for rolling back a rollback New patches: [Issue395: avoid single letter patch names in the test suite. Mark Stosberg [EMAIL PROTECTED]**20080118020634] { hunk ./tests/pull.pl 97 -darcs 'record -lam A --author [EMAIL PROTECTED]'; +darcs 'record -lam AA --author [EMAIL PROTECTED]'; hunk ./tests/pull.pl 99 -darcs 'record --ignore-times -lam B --author [EMAIL PROTECTED]'; +darcs 'record --ignore-times -lam BB --author [EMAIL PROTECTED]'; hunk ./tests/pull.pl 101 -darcs 'record --ignore-times -lam C --author [EMAIL PROTECTED]'; -like(echo_to_darcs(, rollback -p C -a -m unC -A me), qr/Finished rolling back/); +darcs 'record --ignore-times -lam CC --author [EMAIL PROTECTED]'; +like(echo_to_darcs(, rollback -p CC -a -m unC -A me), qr/Finished rolling back/); hunk ./tests/pull.pl 108 -like(echo_to_darcs(, rollback -p B -a -m unB -A me), qr/Finished rolling back/); +like(echo_to_darcs(, rollback -p BB -a -m unB -A me), qr/Finished rolling back/); } [use --ignore-time in tests instead of sleep, for faster, more reliable results Mark Stosberg [EMAIL PROTECTED]**20080118030241] { hunk ./tests/changes.pl 37 -sleep 1; # helps make sure we detect changes. hunk ./tests/changes.pl 38 -my $out = darcs(qq(record -A x -a -m foo record num $i date.t)); +my $out = darcs(qq(record --ignore-time -A x -a -m foo record num $i date.t)); hunk ./tests/conflict-doppleganger.pl 50 -my $out = darcs record -A base -am 'adding a.txt'; +my $out = darcs record --ignore-time -A base -am 'adding a.txt'; hunk ./tests/conflict-doppleganger.pl 67 -my $out = darcs record -A $repo -am 'recording an identical change'; +my $out = darcs record --ignore-time -A $repo -am 'recording an identical change'; } [issue578: steve and monica test for rolling back a rollback Mark Stosberg [EMAIL PROTECTED]**20080118031606] { addfile ./tests/steve_and_monica_rollback.sh hunk ./tests/steve_and_monica_rollback.sh 1 +#!/bin/bash + +# Issue578: A conflict rollback case for Darcs2 + +darcs --version + +export EMAIL=tester + +rm -rf tmp_steve tmp_monica + +mkdir tmp_steve +mkdir tmp_monica + +cd tmp_steve +darcs init --darcs-2 +echo A foo +darcs add foo +darcs record -Asteve -am 'Anote' + +# Should this be necessary? +sleep 1; +echo B foo +darcs record -Asteve -am 'Bnote' + +# Show the history as Steve sees it. +darcs changes -s +echo ## + +cd ../tmp_monica +darcs init --darcs-2 +echo Afoo +darcs add foo +echo Zbar +darcs add bar +darcs record -Amonica -am 'AZnote' +darcs pull -a ../tmp_steve +darcs changes +echo ## +yes | darcs rollback -a -m newpatch -A me --match 'exact Anote' + +# previous failure result: darcs failed: cannot roll back a 'rollback' patch. + } Context: [issue549 - Pekka Pessi's rollback test. Eric Kow [EMAIL PROTECTED]**20080117205705] [Add test for issue194. Eric Kow [EMAIL PROTECTED]**20080117204147 Prior to darcs2, this triggered a bug in function reconcile_unwindings. ] [fix issue381, send allows --edit-description with --output. David Roundy [EMAIL PROTECTED]**20080117210250] [fix bug in pull.pl test. David Roundy [EMAIL PROTECTED]**20080117205042] [make progress messages print with debugMessage. David Roundy [EMAIL PROTECTED]**20080117203354] [Tell user when we are checking for conflicts. Eric Kow [EMAIL PROTECTED]**20080117201208 Otherwise we mislead the user into thinking the slow part is the 'diffing dir...' ] [Actually run perl tests. Eric Kow [EMAIL PROTECTED]**20080117200149 Fix my harness refactor. ] [tiny cleanup in Send. David Roundy [EMAIL PROTECTED]**20080117191703] [move debugMessage to Darcs.Utils. David Roundy [EMAIL PROTECTED]**20080117190043] [fix bug in running of test suite with hashed repos and add test for bug. David Roundy [EMAIL PROTECTED]**20080117185403] [add a couple more debug messages. David Roundy [EMAIL PROTECTED]**20080117185059] [clean up debug output in record. David Roundy [EMAIL PROTECTED]**20080117183922] [fix bug where record --look-for-adds left patches in pending. David Roundy [EMAIL PROTECTED]**20080117182618] [Canonize Andrew J. Kroll and Erik Schnetter. Eric Kow [EMAIL PROTECTED]**20080117162329 Wrong email address for Erik. Googled name for Andrew. ] [Fix cannot stat `../tests/{lib,perl_harness}' in Makefile. Eric Kow [EMAIL PROTECTED]**20080117172215] [Refactor test/bug harness calls in Makefile. Eric Kow [EMAIL PROTECTED]**20080117171706] [Move issue381 test to bugs directory. Eric Kow [EMAIL PROTECTED]**20080117161704] [Added test for issue381. Marnix Klooster [EMAIL PROTECTED]**20070109210835] [mark
[darcs-devel] new bugs.darcs.net home page
I have now updated the homepage of http://bugs.darcs.net to be more useful. It now runs a more useful query for the bugs to display by default, eliminating bugs that are in any state of being resolved, wont-fix, etc. This should make it easier to find bugs that actually need attention. Also, the number at the bottom of page is now also a useful indicator of how many bugs are really open and need attention. That number is about 211 instead of over 500, as it was before. This number still encompasses bugs that aren't urgent, are wishlist items, or are stalled. Mark -- http://mark.stosberg.com/ ___ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel
[darcs-devel] darcs patch: Refactor y/n prompts. (and 8 more)
[Resending due to silly mailserver stuff. Sorry for any noise] Dusting off some old patches. Might not actually be ready for public consumption. Fri Oct 19 22:33:07 BST 2007 Eric Kow [EMAIL PROTECTED] * Refactor y/n prompts. Mon Nov 5 01:55:25 GMT 2007 Eric Kow [EMAIL PROTECTED] * Create ssh CM socket in $HOME/.darcs if possible. Mon Nov 5 02:19:56 GMT 2007 Eric Kow [EMAIL PROTECTED] * Give ssh CM socket a unique name for each darcs process. Delete the socket in the unlikely event that a previous darcs had a socket with the same name left over. Mon Nov 5 19:25:30 GMT 2007 Eric Kow [EMAIL PROTECTED] * Modernise Data.Map import. Mon Nov 5 19:26:36 GMT 2007 Eric Kow [EMAIL PROTECTED] * Remove now obsolete wrapper for Map (we now require GHC = 6.4). Mon Nov 5 01:29:30 GMT 2007 Eric Kow [EMAIL PROTECTED] * More concise backup warning. Mon Nov 19 04:13:26 GMT 2007 Eric Kow [EMAIL PROTECTED] * Simplify getCurrentDirectorySansDarcs out of existence. It was buggy and needlessly complicated. Mon Nov 19 17:44:22 GMT 2007 Eric Kow [EMAIL PROTECTED] * Fix corner case in sansDarcs. Pointed out by Kevin Quick. Fri Jan 18 07:37:20 GMT 2008 Eric Kow [EMAIL PROTECTED] * Fix conflicts. - my sansDarcs - Kevin Quick's tempdir_loc simplifications New patches: [Refactor y/n prompts. Eric Kow [EMAIL PROTECTED]**20071019213307] { hunk ./src/Darcs/Commands/MarkConflicts.lhs 84 - in the working directory.\nAre you sure? ) yn + in the working directory.\nAre you sure? ) replace ./src/Darcs/Commands/MarkConflicts.lhs [A-Za-z_0-9] promptChar promptYorn hunk ./src/Darcs/Commands/Record.lhs 313 -do yorn - promptChar Do you want to add a long comment? yn +do yorn - promptChar Do you want to add a long comment? replace ./src/Darcs/Commands/Record.lhs [A-Za-z_0-9] promptChar promptYorn hunk ./src/Darcs/Repository/Internal.lhs 502 - ++ unwords fs++\nProceed?) yn + ++ unwords fs++\nProceed?) hunk ./src/Darcs/Repository/Internal.lhs 713 -do yorn - promptChar - This operation will make unrevert impossible!\nProceed? - yn +do yorn - promptChar This operation will make unrevert impossible!\nProceed? replace ./src/Darcs/Repository/Internal.lhs [A-Za-z_0-9] promptChar promptYorn hunk ./src/Darcs/Utils.lhs 14 -view_file, edit_file, promptChar, promptCharFancy, without_buffering, +view_file, edit_file, promptYorn, promptCharFancy, without_buffering, hunk ./src/Darcs/Utils.lhs 202 -promptChar :: String - [Char] - IO Char -promptChar p chs = promptCharFancy p chs Nothing [] +promptYorn :: [Char] - IO Char +promptYorn p = promptCharFancy p yn Nothing [] } [Create ssh CM socket in $HOME/.darcs if possible. Eric Kow [EMAIL PROTECTED]**20071105015525] { hunk ./src/Darcs/External.hs 766 - tmp - tempdir_loc - let tmpDarcsSsh = tmp ++ darcs-ssh - createDirectoryIfMissing False tmpDarcsSsh - return $ tmpDarcsSsh ++ / ++ addr + tmp - (fmap (/// .darcs) $ getEnv HOME) +`catch` \_ - tempdir_loc + let tmpDarcsSsh = tmp /// darcs-ssh + createDirectoryIfMissing True tmpDarcsSsh + return $ tmpDarcsSsh /// addr + +(///) :: FilePath - FilePath - FilePath +d /// f = d ++ / ++ f } [Give ssh CM socket a unique name for each darcs process. Eric Kow [EMAIL PROTECTED]**20071105021956 Delete the socket in the unlikely event that a previous darcs had a socket with the same name left over. ] { hunk ./src/Darcs/External.hs 25 +import System.Posix.Process ( getProcessID ) hunk ./src/Darcs/External.hs 28 - renameFile, renameDirectory, copyFile ) + removeFile, renameFile, renameDirectory, copyFile ) hunk ./src/Darcs/External.hs 65 +#ifdef WIN32 +import Darcs.Utils ( showHexLen ) +import Data.Bits ( (..) ) +import System.Random ( randomIO ) +#endif hunk ./src/Darcs/External.hs 751 + removeFile cmPath `catch` \_ - return () hunk ./src/Darcs/External.hs 775 +#ifdef WIN32 + r - randomIO + let suffix = (showHexLen 6 (r .. 0xFF :: Int)) +#else + suffix - show `fmap` getProcessID +#endif hunk ./src/Darcs/External.hs 783 - return $ tmpDarcsSsh /// addr + return $ tmpDarcsSsh /// addr ++ suffix } [Modernise Data.Map import. Eric Kow [EMAIL PROTECTED]**20071105192530] { hunk ./src/Lcs.lhs 45 -import qualified Map ( lookup, empty, insertWith ) +import qualified Data.Map as Map ( lookup, empty, insertWith ) } [Remove now obsolete wrapper for Map (we now require GHC = 6.4). Eric Kow [EMAIL PROTECTED]**20071105192636] { hunk ./GNUmakefile 50 - Lcs.lhs Map.hs \ + Lcs.lhs \ hunk ./src/Map.hs 1 -{-# OPTIONS -cpp #-} --- --- Copyright (C) 2004-5 Don Stewart - http://www.cse.unsw.edu.au/~dons --- --- This program is free software; you can redistribute it and/or --- modify it under the terms of the GNU