This patch cannot possibly destabilize the darcs executable, so it is fine to
apply it.  Also, I think it is a good idea.

Regards,

Zooko


New patches:

[import James Webb's deps.pl
[EMAIL PROTECTED] {
adddir ./tools
addfile ./tools/deps.pl
hunk ./tools/deps.pl 1
+#!/usr/bin/perl -w
+#
+# Darcs patch dependency grapher v0.1. Usage:
+#
+#   cd myrepo
+#   deps.pl [subset] | dot -Tps -o deps.eps
+#   gv deps.eps
+#
+# Where the optional 'subset' argument is the path to a repository
+# which is a subset of the current one, in which case only the extra
+# patches will be graphed. Both repositories must be local and not
+# partial.
+#
+# Hint: Try using dot -Gsize=50,50 for large graphs, otherwise
+# Ghostscript may fall over.
+#
+# WARNING: Darcs commands will be run against both repositories. They
+# should be restored to their original condition afterwards, but
+# things might break.
+#
+# Comments to james,webb#sygneca,com.
+#
+# ------------------------------------------------------------------------
+# Copyright (c) 2005 Sygneca Ltd.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License (GPL)
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# The full license text is at http://www.gnu.org/copyleft/gpl.html
+# ------------------------------------------------------------------------
+
+use FileHandle;
+use IPC::Open2;
+use Cwd;
+
+$pwd = getcwd();
+
+# Create sentinel patch to avoid leaving darcs
+system("touch DEPS_TEMPORARY_FILE");
+system("darcs add DEPS_TEMPORARY_FILE > /dev/null");
+system("darcs record -a --no-test -m DEPS_TEMPORARY_PATCH DEPS_TEMPORARY_FILE 
> /dev/null");
+
+# Use a blank repo if none is supplied
+if($ARGV[0]) {
+       chdir($ARGV[0]);
+} else {
+       mkdir("/tmp/darcsdeps$$");
+       chdir("/tmp/darcsdeps$$");
+       system("darcs init");
+}
+
+# Start talking
+open2(*IN, *OUT, "darcs pull '$pwd'");
+
+$patches = [];
+
+# Get patch descriptions
+parse_patch();
+$total = $patch->{total}-1;
+while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
+       $patches->[$patch->{num}] = $patch;
+       print OUT "w";
+       parse_patch();
+}
+
+rewind_to(1);
+
+# Find dependencies by saying 'no' to each patch in turn and
+# seeing which ones disappear.
+while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
+       print STDERR "\rExamining patch $patch->{num} of $total.";
+       $seen = [];
+       $dep = $patches->[$patch->{num}];
+       print OUT "n";
+       parse_patch();
+       while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
+               $seen->[$patch->{num}] = 1;
+               print OUT "w";
+               parse_patch();
+       }
+       for $i ($dep->{num}+1 .. $total) {
+               if(!$seen->[$i]) {
+                       push(@{$patches->[$i]{deps}}, $dep);
+               }
+       }
+       rewind_to($dep->{num});
+       print OUT "y";
+       parse_patch();
+}
+
+# Clean up
+print OUT "q";
+chdir($pwd);
+system("rm -rf /tmp/darcsdeps$$");
+system("echo -n y | darcs unpull -p DEPS_TEMPORARY_PATCH > /dev/null");
+print STDERR "\rDone.                                 \n";
+
+# Simplify transitive deps
+for $n (1..$#{$patches}) {
+       $patch = $patches->[$n];
+       $v = {};
+       for $d (@{$patch->{deps}}) {
+               simplify($d, $v);
+       }
+       $ndeps = [];
+       for $d (@{$patch->{deps}}) {
+               if(!$v->{$d->{num}}) { push(@$ndeps, $d); }
+       }
+       $patch->{deps} = $ndeps;
+}
+
+# Spit out the dot file
+print "digraph deps {\n";
+print "\trankdir=LR;\n";
+print "\tnode [ shape=box ];\n";
+for $p (1..$#$patches) {
+       ($t = $patches->[$p]{title}) =~ s/("|\\)/\\$1/g;
+       print "\tp$p [ label = \"$t\" ];\n";
+       for $d (@{$patches->[$p]{deps}}) {
+               print "\tp$d->{num} -> p$p;\n";
+       }
+}
+print "}\n";
+
+sub simplify {
+       my ($p, $v) = @_;
+       for $d (@{$p->{deps}}) {
+               $v->{$d->{num}} = 1;
+               simplify($d, $v);
+       }
+}
+       
+sub rewind_to {
+       while($patch->{num} != $_[0]) {
+               # Hack to make Darcs re-ask about every patch
+               print OUT "kwk";
+               parse_patch();
+               parse_patch();
+               parse_patch();
+       }
+}
+       
+sub parse_patch {
+       $patch = {};
+       chomp($_ = <IN>);
+       defined($_) or die;
+       while(/^$|ynWvxqadjk|Pulling from/i) { chomp($_ = <IN>); }
+       /(.*)  (.*)/ or die $_;
+       $patch->{date} = $1;
+       $patch->{author} = $2;
+       chomp($_ = <IN>);
+       /^  (\*|UNDO:|tagged) (.*)/ or die $_;
+       $patch->{type} = $1;
+       $patch->{title} = ($1 eq "UNDO:" || $1 eq "tagged") ? $1 . " " .$2 : $2;
+       $patch->{desc} = "";
+       $patch->{deps} = [];
+       my $l = "";
+       while(defined($c = getc IN)) {
+               $l .= $c;
+               if($l =~ /^Shall I pull this patch\? \(([0-9]*)\/([0-9]*)\)/) {
+                       $patch->{num} = $1;
+                       $patch->{total} = $2;
+                       return;
+               }
+               if($c eq "\n") {
+                       $l =~ s/^  //;
+                       $patch->{desc} .= $l;
+                       $l = "";
+               }
+       }
+       die $patch->{title};
+}
}

[Initial import
Jamie Webb**20051207131433
 Version fetched from
 http://www.abridgegame.org/pipermail/darcs-users/2005-June/007705.html
 Author: Jamie Webb      
] {
addfile ./darcs-deps
hunk ./darcs-deps 1
+#!/usr/bin/perl -w
+#
+# Darcs patch dependency grapher v0.1. Usage:
+#
+#   cd myrepo
+#   deps.pl [subset] | dot -Tps -o deps.eps
+#   gv deps.eps
+#
+# Where the optional 'subset' argument is the path to a repository
+# which is a subset of the current one, in which case only the extra
+# patches will be graphed. Both repositories must be local and not
+# partial.
+#
+# Hint: Try using dot -Gsize=50,50 for large graphs, otherwise
+# Ghostscript may fall over.
+#
+# WARNING: Darcs commands will be run against both repositories. They
+# should be restored to their original condition afterwards, but
+# things might break.
+#
+# Comments to james,webb#sygneca,com.
+#
+# ------------------------------------------------------------------------
+# Copyright (c) 2005 Sygneca Ltd.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License (GPL)
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# The full license text is at http://www.gnu.org/copyleft/gpl.html
+# ------------------------------------------------------------------------
+
+use FileHandle;
+use IPC::Open2;
+use Cwd;
+
+$pwd = getcwd();
+
+# Create sentinel patch to avoid leaving darcs
+system("touch DEPS_TEMPORARY_FILE");
+system("darcs add DEPS_TEMPORARY_FILE > /dev/null");
+system("darcs record -a --no-test -m DEPS_TEMPORARY_PATCH DEPS_TEMPORARY_FILE 
> /dev/null");
+
+# Use a blank repo if none is supplied
+if($ARGV[0]) {
+       chdir($ARGV[0]);
+} else {
+       mkdir("/tmp/darcsdeps$$");
+       chdir("/tmp/darcsdeps$$");
+       system("darcs init");
+}
+
+# Start talking
+open2(*IN, *OUT, "darcs pull '$pwd'");
+
+$patches = [];
+
+# Get patch descriptions
+parse_patch();
+$total = $patch->{total}-1;
+while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
+       $patches->[$patch->{num}] = $patch;
+       print OUT "w";
+       parse_patch();
+}
+
+rewind_to(1);
+
+# Find dependencies by saying 'no' to each patch in turn and
+# seeing which ones disappear.
+while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
+       print STDERR "\rExamining patch $patch->{num} of $total.";
+       $seen = [];
+       $dep = $patches->[$patch->{num}];
+       print OUT "n";
+       parse_patch();
+       while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
+               $seen->[$patch->{num}] = 1;
+               print OUT "w";
+               parse_patch();
+       }
+       for $i ($dep->{num}+1 .. $total) {
+               if(!$seen->[$i]) {
+                       push(@{$patches->[$i]{deps}}, $dep);
+               }
+       }
+       rewind_to($dep->{num});
+       print OUT "y";
+       parse_patch();
+}
+
+# Clean up
+print OUT "q";
+chdir($pwd);
+system("rm -rf /tmp/darcsdeps$$");
+system("echo -n y | darcs unpull -p DEPS_TEMPORARY_PATCH > /dev/null");
+print STDERR "\rDone.                                 \n";
+
+# Simplify transitive deps
+for $n (1..$#{$patches}) {
+       $patch = $patches->[$n];
+       $v = {};
+       for $d (@{$patch->{deps}}) {
+               simplify($d, $v);
+       }
+       $ndeps = [];
+       for $d (@{$patch->{deps}}) {
+               if(!$v->{$d->{num}}) { push(@$ndeps, $d); }
+       }
+       $patch->{deps} = $ndeps;
+}
+
+# Spit out the dot file
+print "digraph deps {\n";
+print "\trankdir=LR;\n";
+print "\tnode [ shape=box ];\n";
+for $p (1..$#$patches) {
+       ($t = $patches->[$p]{title}) =~ s/("|\\)/\\$1/g;
+       print "\tp$p [ label = \"$t\" ];\n";
+       for $d (@{$patches->[$p]{deps}}) {
+               print "\tp$d->{num} -> p$p;\n";
+       }
+}
+print "}\n";
+
+sub simplify {
+       my ($p, $v) = @_;
+       for $d (@{$p->{deps}}) {
+               $v->{$d->{num}} = 1;
+               simplify($d, $v);
+       }
+}
+       
+sub rewind_to {
+       while($patch->{num} != $_[0]) {
+               # Hack to make Darcs re-ask about every patch
+               print OUT "kwk";
+               parse_patch();
+               parse_patch();
+               parse_patch();
+       }
+}
+       
+sub parse_patch {
+       $patch = {};
+       chomp($_ = <IN>);
+       defined($_) or die;
+       while(/^$|ynWvxqadjk|Pulling from/i) { chomp($_ = <IN>); }
+       /(.*)  (.*)/ or die $_;
+       $patch->{date} = $1;
+       $patch->{author} = $2;
+       chomp($_ = <IN>);
+       /^  (\*|UNDO:|tagged) (.*)/ or die $_;
+       $patch->{type} = $1;
+       $patch->{title} = ($1 eq "UNDO:" || $1 eq "tagged") ? $1 . " " .$2 : $2;
+       $patch->{desc} = "";
+       $patch->{deps} = [];
+       my $l = "";
+       while(defined($c = getc IN)) {
+               $l .= $c;
+               if($l =~ /^Shall I pull this patch\? \(([0-9]*)\/([0-9]*)\)/) {
+                       $patch->{num} = $1;
+                       $patch->{total} = $2;
+                       return;
+               }
+               if($c eq "\n") {
+                       $l =~ s/^  //;
+                       $patch->{desc} .= $l;
+                       $l = "";
+               }
+       }
+       die $patch->{title};
+}
}

[Update syntax for darcs 1.0.3
Toni Timonen <[EMAIL PROTECTED]>**20051207131527] {
hunk ./darcs-deps 154
-       while(/^$|ynWvxqadjk|Pulling from/i) { chomp($_ = <IN>); }
+       while(/^$|ynWvpxqadjk|Pulling from/i) { chomp($_ = <IN>); }
}

[Added copyright information
Toni Timonen <[EMAIL PROTECTED]>**20051207131624] {
hunk ./darcs-deps 21
-# Comments to james,webb#sygneca,com.
+# Comments to ttimonen#movial.fi
+#             james,webb#sygneca,com.
+#
hunk ./darcs-deps 27
+# Copyright (c) 2005 Movial Corporation
}

[Do transitivity relation analysis in O(E) time.
Toni Timonen <[EMAIL PROTECTED]>**20051207131657] {
hunk ./darcs-deps 110
+       print STDERR "\rPatch $n  ";
hunk ./darcs-deps 138
-       for $d (@{$p->{deps}}) {
-               $v->{$d->{num}} = 1;
-               simplify($d, $v);
+       if(!$p->{fulld}) {
+           my $fd = {};
+           for $d (@{$p->{deps}}) {
+               $fd->{$d->{num}} = 1;
+               simplify($d, $fd);
+           }
+           $p->{fulld}=$fd;
+       }
+       for $d (keys %{$p->{fulld}}) {
+           $v->{$d} = 1;
}

[remove deps.pl -- about to import Toni Timonen's version instead
[EMAIL PROTECTED] {
hunk ./tools/deps.pl 1
-#!/usr/bin/perl -w
-#
-# Darcs patch dependency grapher v0.1. Usage:
-#
-#   cd myrepo
-#   deps.pl [subset] | dot -Tps -o deps.eps
-#   gv deps.eps
-#
-# Where the optional 'subset' argument is the path to a repository
-# which is a subset of the current one, in which case only the extra
-# patches will be graphed. Both repositories must be local and not
-# partial.
-#
-# Hint: Try using dot -Gsize=50,50 for large graphs, otherwise
-# Ghostscript may fall over.
-#
-# WARNING: Darcs commands will be run against both repositories. They
-# should be restored to their original condition afterwards, but
-# things might break.
-#
-# Comments to james,webb#sygneca,com.
-#
-# ------------------------------------------------------------------------
-# Copyright (c) 2005 Sygneca Ltd.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License (GPL)
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# The full license text is at http://www.gnu.org/copyleft/gpl.html
-# ------------------------------------------------------------------------
-
-use FileHandle;
-use IPC::Open2;
-use Cwd;
-
-$pwd = getcwd();
-
-# Create sentinel patch to avoid leaving darcs
-system("touch DEPS_TEMPORARY_FILE");
-system("darcs add DEPS_TEMPORARY_FILE > /dev/null");
-system("darcs record -a --no-test -m DEPS_TEMPORARY_PATCH DEPS_TEMPORARY_FILE 
> /dev/null");
-
-# Use a blank repo if none is supplied
-if($ARGV[0]) {
-       chdir($ARGV[0]);
-} else {
-       mkdir("/tmp/darcsdeps$$");
-       chdir("/tmp/darcsdeps$$");
-       system("darcs init");
-}
-
-# Start talking
-open2(*IN, *OUT, "darcs pull '$pwd'");
-
-$patches = [];
-
-# Get patch descriptions
-parse_patch();
-$total = $patch->{total}-1;
-while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
-       $patches->[$patch->{num}] = $patch;
-       print OUT "w";
-       parse_patch();
-}
-
-rewind_to(1);
-
-# Find dependencies by saying 'no' to each patch in turn and
-# seeing which ones disappear.
-while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
-       print STDERR "\rExamining patch $patch->{num} of $total.";
-       $seen = [];
-       $dep = $patches->[$patch->{num}];
-       print OUT "n";
-       parse_patch();
-       while($patch->{title} ne "DEPS_TEMPORARY_PATCH") {
-               $seen->[$patch->{num}] = 1;
-               print OUT "w";
-               parse_patch();
-       }
-       for $i ($dep->{num}+1 .. $total) {
-               if(!$seen->[$i]) {
-                       push(@{$patches->[$i]{deps}}, $dep);
-               }
-       }
-       rewind_to($dep->{num});
-       print OUT "y";
-       parse_patch();
-}
-
-# Clean up
-print OUT "q";
-chdir($pwd);
-system("rm -rf /tmp/darcsdeps$$");
-system("echo -n y | darcs unpull -p DEPS_TEMPORARY_PATCH > /dev/null");
-print STDERR "\rDone.                                 \n";
-
-# Simplify transitive deps
-for $n (1..$#{$patches}) {
-       $patch = $patches->[$n];
-       $v = {};
-       for $d (@{$patch->{deps}}) {
-               simplify($d, $v);
-       }
-       $ndeps = [];
-       for $d (@{$patch->{deps}}) {
-               if(!$v->{$d->{num}}) { push(@$ndeps, $d); }
-       }
-       $patch->{deps} = $ndeps;
-}
-
-# Spit out the dot file
-print "digraph deps {\n";
-print "\trankdir=LR;\n";
-print "\tnode [ shape=box ];\n";
-for $p (1..$#$patches) {
-       ($t = $patches->[$p]{title}) =~ s/("|\\)/\\$1/g;
-       print "\tp$p [ label = \"$t\" ];\n";
-       for $d (@{$patches->[$p]{deps}}) {
-               print "\tp$d->{num} -> p$p;\n";
-       }
-}
-print "}\n";
-
-sub simplify {
-       my ($p, $v) = @_;
-       for $d (@{$p->{deps}}) {
-               $v->{$d->{num}} = 1;
-               simplify($d, $v);
-       }
-}
-       
-sub rewind_to {
-       while($patch->{num} != $_[0]) {
-               # Hack to make Darcs re-ask about every patch
-               print OUT "kwk";
-               parse_patch();
-               parse_patch();
-               parse_patch();
-       }
-}
-       
-sub parse_patch {
-       $patch = {};
-       chomp($_ = <IN>);
-       defined($_) or die;
-       while(/^$|ynWvxqadjk|Pulling from/i) { chomp($_ = <IN>); }
-       /(.*)  (.*)/ or die $_;
-       $patch->{date} = $1;
-       $patch->{author} = $2;
-       chomp($_ = <IN>);
-       /^  (\*|UNDO:|tagged) (.*)/ or die $_;
-       $patch->{type} = $1;
-       $patch->{title} = ($1 eq "UNDO:" || $1 eq "tagged") ? $1 . " " .$2 : $2;
-       $patch->{desc} = "";
-       $patch->{deps} = [];
-       my $l = "";
-       while(defined($c = getc IN)) {
-               $l .= $c;
-               if($l =~ /^Shall I pull this patch\? \(([0-9]*)\/([0-9]*)\)/) {
-                       $patch->{num} = $1;
-                       $patch->{total} = $2;
-                       return;
-               }
-               if($c eq "\n") {
-                       $l =~ s/^  //;
-                       $patch->{desc} .= $l;
-                       $l = "";
-               }
-       }
-       die $patch->{title};
-}
rmfile ./tools/deps.pl
}

[move darcs-deps to tools/deps.pl
[EMAIL PROTECTED] {
move ./darcs-deps ./tools/deps.pl
}

Context:

[call unnamed patches "changes" in interactive patch selection dialogue
Tommy Pettersson <[EMAIL PROTECTED]>**20060113203829
 It currently affects record, revert and amend, but will generally do
 "the right thing".
] 
[fix win32 build breaks
Will <[EMAIL PROTECTED]>**20060112054853] 
[fix content-type in rss output of cgi
Will <[EMAIL PROTECTED]>**20060110052938] 
[resolve conflict
Tommy Pettersson <[EMAIL PROTECTED]>**20060108173148] 
[Obey normal autoconf conventions.
Dave Love <[EMAIL PROTECTED]>**20051117190231
 Allows you to `make install prefix=...', for instance, and doesn't change
 default for sysconfdir.
] 
[add link to darcs-unstable repo on darcs home page
Tommy Pettersson <[EMAIL PROTECTED]>**20060107212721] 
[Don't say "yes" in an infinite loop.
Bill Trost <[EMAIL PROTECTED]>**20060108162605
 I ended up with this test hanging forever because the while loop wasn't getting
 a SIGPIPE because of the way my editor environment (no controlling tty?) was
 set up. We have a pretty good idea of how many "y"s are needed anyhow.
] 
[fix crash caused by tests failing on amend-record
Zachary P. Landau <[EMAIL PROTECTED]>**20060108174722] 
[More canonization
Eric Kow <[EMAIL PROTECTED]>**20060108235935
 
 canonized : Mark Stosberg, Erik Schnetter, Joeri van Ruth 
 identified: Richard Smith, Victor Hugo Borja Rodriguez
 
] 
[Improved single-character prompt (RT #261)
Eric Kow <[EMAIL PROTECTED]>**20060108225741
 
 In the dialogue prompting for a single character as a response, if the
 user just presses enter, we behave is if we got an invalid response.
 This way, the user gets a little bit of feedback that he should respond
 differently.
   
 Also: refactors the case where there is a default answer and where the
 user may press '?' for help.
 
] 
[Corrections to bugfix for (RT #466)
Eric Kow <[EMAIL PROTECTED]>**20060108225411
 
 The bug fix for case insensitive filesystems was incorrect because
  1. canonicalizePath does not canonicalise the same filename with
     different cases into the same entry
  2. RT #466 affects case sensitive and case insensitive file 
     systems alike (i.e. the bug description was wrong)
  3. canonicalizePath is not available in ghc 6.2.2
 
 This correction also has the advantage of being much simpler and closer
 to what David Roundy suggested on the bug tracker.  We remove the old
 file from the slurpy so that it doesn't get mistaken for the new file.  
 
] 
[use _darcs/pristine in regression tests
Eric Kow <[EMAIL PROTECTED]>**20060108222000] 
[Make the "record --pipe" docs match the program behavior.
Bill Trost <[EMAIL PROTECTED]>**20060107050910] 
[Make --exact-version also work if darcs is built from "make dist" tar ball
Marnix Klooster <[EMAIL PROTECTED]>**20060106205857
 
 This is to prevent "darcs --exact-version" outputting something like
 
   darcs compiled on Mar  2 2005, at 10:56:16
   unknown
 
 as it does when building from the output of "make dist", e.g., from the
 official tarballs at darcs.net.  (This is what a lot of people and distros do.
 Gentoo does this, and I'm using Gentoo, and I want to be able to do "darcs
 --exact-version" and have it output something sensible.)
 
 The reason that this problem occurs is that while doing 'make predist' (in the
 'predist' preference), Context.hs was nicely preserved by predist_copy, but
 then thrown away by distclean which calls clean.  So the resulting tarball has
 no Context.hs, which results in the "unknown" exact version.
 
 The solution consists of the following:
 
  * Only remove Context.hs in "clean" if it can be rebuilt using its rule
    in automake.mk (i.e., if _darcs/inventory exists, so if we are in a
    repository).
 
  * Target realclean is renamed to the newer maintainer-clean and extended a
    little, according to the GNU make manual (not strictly necessary).
 
 As a result of this, we now follow GNU makefile conventions more closely.  See
 the rules in the "Standard Targets for Users" section of the GNU make manual
 (currently at http://www.gnu.org/software/make/manual/html_node/make_127.html),
 and an interpretation of these rules in the "What Gets Cleaned" section of the
 GNU automake manual (currently at
 http://www.gnu.org/software/automake/manual/html_node/Clean.html).
 
 Thanks to Taral <[EMAIL PROTECTED]> for the above info.
] 
[Coalesce setpref (issue70 and RT #349)
Eric Kow <[EMAIL PROTECTED]>**20051230230842] 
[only create log file when a long comment was requested
Zachary P. Landau <[EMAIL PROTECTED]>**20060108181034] 
[Use temporary file when editing send description.
Zachary P. Landau <[EMAIL PROTECTED]>**20051217212051] 
[Extended date matching functionality. 
Eric Kow <[EMAIL PROTECTED]>**20051228210942
 (issue31 and RT #34)
 
 Now accepts ISO 8601 intervals (mostly) as well as a larger subset of
 English (including times like "yesterday at noon").
 
 Note: also includes corrections to ISO 8601 date/time parsing, using
 a more elegant technique of building dates up. 
 
] 
[Partial implementation of iso 8601 dates
Eric Kow <[EMAIL PROTECTED]>**20051228123040
 (issue31) - first step 
 
 reluctant to implement (ambiguous!): 
   * years > 9999  
   * truncated representations with implied century (89 for 1989) 
 unimplemented: 
   * time intervals -- this might be good to have in darcs
   * negative dates (BC)                    
 
] 
[Allow rename to different case (RT #466, case-insensitive file systems)
Eric Kow <[EMAIL PROTECTED]>**20060106000141
 
 Creates an exception in the check that the new name does not already exists;
 it's ok if both names reduce to the same canonical path
 
] 
[Update "darcs init" documentation to match its behavior.
Bill Trost <[EMAIL PROTECTED]>**20060105040737] 
[Invert 'file exists already' error message in mv
Eric Kow <[EMAIL PROTECTED]>**20051230220431
 
 mv used the wrong error message for --case-ok and opposite 
 
] 
[bug fixes for darcs help
Eric Kow <[EMAIL PROTECTED]>**20051230011003] 
[Canonize myself and almost all other contributers.
Eric Kow <[EMAIL PROTECTED]>**20051229140428
 Add function to append name to email address 
 
 Merged: Marnix Klooster, Eric Kow, Andres Loeh, Esa Ilari Vuokko 
 
 Looked up name on Google for most orphaned email addresses.
 Hope nobody actually objects to this.
 
] 
[add a --without-docs option to configure
[EMAIL PROTECTED] 
[only print 'making executable' in verbose mode
Eric Kow <[EMAIL PROTECTED]>**20051226182817] 
[fix for Issue14 remove darcs-createrepo
Jason Dagit <[EMAIL PROTECTED]>**20051224002230] 
[Support --interactive option in changes command (issue #59).
Zachary P. Landau <[EMAIL PROTECTED]>**20051221052049] 
[Fix type incompatibility between C code and Haskell foreign declaration.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20060106154108] 
[Move patchSetToPatches to Repository.lhs
Zachary P. Landau <[EMAIL PROTECTED]>**20051219043719] 
[Use _darcs/pristine instead of _darcs/current.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051215180814
 All versions of Darcs since 1.0.2rc1 are able to handle either name.  This
 will break compatibility of new repositories with older versions.
] 
[fix pathname in comment in darcs.cgi.in
[EMAIL PROTECTED] 
[Do not document "darcs query manifest" twice.
Erik Schnetter <[EMAIL PROTECTED]>**20051222125103] 
[Rename git.c to gitlib.c
Erik Schnetter <[EMAIL PROTECTED]>**20051222115318
 
 On case-insensitive file systems, the source files Git.lhs and git.c
 lead to the same object file git.o.  Renaming git.c to gitlib.c solves
 this problem.
] 
[Remove periods from the AC_MSG_CHECKING call for the release state.
Matt Kraai <[EMAIL PROTECTED]>**20051220174536] 
[Implementation of help command
Eric Kow <[EMAIL PROTECTED]>**20051218172558
 (RT #307)
 
 Provides a command to display usage information on the screen.
  darcs help           = darcs --help
  darcs help --verbose = darcs --extended-help
  darcs help command   = darcs command --help
 
 This implementation understands abbreviated commands and subcommands.
 Slightly refactors darcs.lhs.
 
] 
[reorganize comments (and add a comment) in Depends.lhs.
David Roundy <[EMAIL PROTECTED]>**20051218122029] 
[fix bug in doesDirectoryReallyExist.
David Roundy <[EMAIL PROTECTED]>**20051020121710
 We were failing with an exception if there was no such object.  The error
 message was:
 
 Fail: getSymbolicLinkStatus: does not exist
] 
[fix type of foreign calls in FastPackedString.
David Roundy <[EMAIL PROTECTED]>**20050920125800] 
[rename RepoTypes to PatchSet.
David Roundy <[EMAIL PROTECTED]>**20050917133920] 
[remove PatchSequence, which has long been obsolete.
David Roundy <[EMAIL PROTECTED]>**20050917133313
 The patch removes remaining vestiges of PatchSequence, which was obsoleted
 long ago by PatchSet (which stores patches in the opposite order (better
 for lazy use) and which has additional information about tags that allows
 us to avoid looking at old history.
] 
[correction for send.sh test
Eric Kow <[EMAIL PROTECTED]>**20051218095652
 previously failed on (at least) MacOS X 10.3.9
 
] 
[RemoteApply no longer depends on cd, use --repodir instead.
[EMAIL PROTECTED]
 
 This is a minor change to make darcs no longer use cd
 before applying patches to a remote repository. 
 Now the --repodir option for the apply command is used.
 
 This patch came from a hack to rssh[http://sf.net/projects/rssh]
 to allow using darcs as a restricted command without depending
 on the cd binary.
 
http://sf.net/tracker/index.php?func=detail&aid=1351939&group_id=65349&atid=510643
] 
[Support signed push
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129082159] 
[Fix typo in multirepo pull.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051217201918] 
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051217201903] 
[add changelog entry for multirepo pull.
David Roundy <[EMAIL PROTECTED]>**20051215122808] 
[add support for pulling from multiple repositories simultaneously.
David Roundy <[EMAIL PROTECTED]>**20050919125012] 
[Use POSIX-style option for 'head', instead of obsolescent syntax
Marnix Klooster <[EMAIL PROTECTED]>**20051216111731] 
[Clarify wording for changes that can't be unreverted
[EMAIL PROTECTED] 
[Set attachment filename when sending a patch bundle by e-mail.
Zachary P. Landau <[EMAIL PROTECTED]>**20051217195009] 
[save long comment file if a test fails during record
Zachary P. Landau <[EMAIL PROTECTED]>**20051216023948] 
[modernize amend-record.pl to be more portable.
Mark Stosberg <[EMAIL PROTECTED]>**20050402133417
 
 This depends on the new "echo_to_darcs()" function in Test::Darcs
] 
[implementation of --set-scripts-executable on local darcs get
[EMAIL PROTECTED]
 proposed fix for issue38
 
 The --set-scripts-executable flag is normally evaluated when you apply
 patches.  But when you do a local darcs get, no patches are applied.
 So as a solution, we traverse the directory on local darcs get , and set
 any script files to be executable. 
 
 Note: one flaw in this patch is that it duplicates the definition of
 what a script is -- a file that starts with #! -- in PatchApply.lhs and
 Get.lhs.  It might be good to refactor these somehow.
 
] 
[extended set-scripts-executable test
[EMAIL PROTECTED]
 added check for local darcs get (issue 38) as well as initial sanity check
  
] 
[Fix merge conflicts.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051214223217] 
[Add --subject flag to 'darcs send'
Joeri van Ruth <[EMAIL PROTECTED]>**20051205120301] 
[print out the patch name when a test fails.
Zachary P. Landau <[EMAIL PROTECTED]>**20051205055109] 
[Fix mistyped /dev/null, fixes --sendmail-command in Windows
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129160120] 
[Use \ as path separator for GnuPG in Windows -- makes apply --verify work
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129164533] 
[make dangers and recommended use of "Amend" clearer in the docs.
Mark Stosberg <[EMAIL PROTECTED]>**20051213140523
 
 I think it's important to be clearer about when it's appropriate to use 
'amend',
 so I moved some notes into the short and mid-length help texts.
] 
[update web page to reflect 1.0.5 as latest stable source.
Tommy Pettersson <[EMAIL PROTECTED]>**20051213111137] 
[fix handling of absolute paths containing drive letters
Will <[EMAIL PROTECTED]>**20051208054737
 This fixes issue 47 where paths containing drive letters (i.e. on windows)
 are not treated as absolute paths.
] 
[bump version to 1.0.6pre1
Tommy Pettersson <[EMAIL PROTECTED]>**20051208092839] 
[revert maybe_relink and atomic_create to original C code.
David Roundy <[EMAIL PROTECTED]>**20051208131213] 
[resolve conflicts between stable and unstable.
David Roundy <[EMAIL PROTECTED]>**20051206134818] 
[Merge changes
Ian Lynagh <[EMAIL PROTECTED]>**20051008225210] 
[fix mkstemp implementation for win32
Peter Strand <[EMAIL PROTECTED]>**20050810211303] 
[Implement parts of System.Posix.(IO|Files) for win32
[EMAIL PROTECTED] 
[implement RawMode with library functions instead of ffi
[EMAIL PROTECTED] 
[call hsc2hs without output filename argument
[EMAIL PROTECTED] 
[Rename compat.c to c_compat.c to avoid object filename conflict with Compat.hs
[EMAIL PROTECTED] 
[Move atomic_create/sloppy_atomic_create to Compat
Ian Lynagh <[EMAIL PROTECTED]>**20050730141703] 
[Split the raw mode stuff out into its own .hsc file. Windows needs some TLC
Ian Lynagh <[EMAIL PROTECTED]>**20050730134030] 
[Move maybe_relink out of compat.c
Ian Lynagh <[EMAIL PROTECTED]>**20050730131205] 
[Remove is_symlink
Ian Lynagh <[EMAIL PROTECTED]>**20050730122255] 
[Move mkstemp to Compat.hs
Ian Lynagh <[EMAIL PROTECTED]>**20050730020918] 
[Start Compat.hs, and move stdout_is_a_pipe from compat.c
Ian Lynagh <[EMAIL PROTECTED]>**20050730004829] 
[TAG 1.0.5
Tommy Pettersson <[EMAIL PROTECTED]>**20051207112730] 
[add changelog entry
Tommy Pettersson <[EMAIL PROTECTED]>**20051207112704] 
[bump version to 1.0.5
Tommy Pettersson <[EMAIL PROTECTED]>**20051204161803] 
[TAG 1.0.5rc2
Tommy Pettersson <[EMAIL PROTECTED]>**20051204152416] 
[add changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20051204151312] 
[bump version to 1.0.5rc2
Tommy Pettersson <[EMAIL PROTECTED]>**20051204150926] 
[skip tests that fail because of windows or msys
Will <[EMAIL PROTECTED]>**20051204035855] 
[use autoconf to determine which GHC modules to use
Will <[EMAIL PROTECTED]>**20051204022613
 GNUmakefile had the util and text packages hard coded, but the util package
 appears to be missing from the current ghc-6-4-branch.  Instead of hard
 coding packages, use autoconf to include them when necessary.
] 
[use System.Posix.sleep and fix the win32 implementation
Will <[EMAIL PROTECTED]>**20051204002859
 Make Lock.lhs use the sleep function from System.Posix rather than importing
 the C implementation.  Also fix the the win32 implementation to call SleepEx
 rather than sleep from unistd.h which has been deprecated in recent versions
 of mingw.
] 
[Make --help and --list-commands ignore other options
[EMAIL PROTECTED]
 Proposed implementation of issue34 on the wishlist.
 
 If --help is one of the options you provide, then darcs prints
 the help and does nothing else, no matter what order you put
 the options in.  Similar behaviour for --list-commands.
 
] 
[Make send --ouput - to print to stdout
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051129201708] 
[Support apply --verify for bundles signed by GnuPG in Windows
Esa Ilari Vuokko <[EMAIL PROTECTED]>**20051126223238] 
[TAG 1.0.5rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20051125191739] 
[add some changelog entries
Tommy Pettersson <[EMAIL PROTECTED]>**20051125191633] 
[remove tabs from darcs source file
Tommy Pettersson <[EMAIL PROTECTED]>**20051120200002] 
[Added a test for changes --context patch selection.
Daniel Bünzli <[EMAIL PROTECTED]>**20051120170157] 
[Emacs ediff-merge example and explanation of --external-merge.
Dave Love <[EMAIL PROTECTED]>**20051117154924] 
[Fix patch selection for command changes --context
Daniel Bünzli <[EMAIL PROTECTED]>**20051117145112] 
[fix bug in amInRepository.
David Roundy <[EMAIL PROTECTED]>**20051117131208
 This is the bug that causes issue9.  I'm a bit uncertain about this
 patch--it looks obvious, but this is pretty subtle code.
] 
[fix bug where darcs tries to delete open tempfile on win32
Will <[EMAIL PROTECTED]>**20051117023516] 
[bump version to 1.0.5rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20051117111128] 
[Fixed documentation of DARCS_GET_HTTP with curl.
Daniel Bünzli <[EMAIL PROTECTED]>**20051117062547] 
[add --dont-edit-description opposite to --edit-description.
David Roundy <[EMAIL PROTECTED]>**20051116115632] 
[Flag superfluous input using Test::Builder
Florian Weimer <[EMAIL PROTECTED]>**20051112160533
 
 This change makes sure that the test case that triggers this error
 condition fails in a clean way (especially if test planning is not used,
 but it should work with plans as well).
] 
[English and markup fixes.
Dave Love <[EMAIL PROTECTED]>**20051114224845] 
[update web page to reflect 1.0.4 as latest stable source.
David Roundy <[EMAIL PROTECTED]>**20051113210144] 
[TAG 1.0.4
David Roundy <[EMAIL PROTECTED]>**20051113134431] 
[bump version number to 1.0.4.
David Roundy <[EMAIL PROTECTED]>**20051112170053] 
[fix, move default markings of Query Manifest flags right
Tommy Pettersson <[EMAIL PROTECTED]>**20051112185325
 Files are included and dirs are not, by default.
] 
[make determine_release_state.pl work properly for actual releases.
David Roundy <[EMAIL PROTECTED]>**20051112171734] 
[add note in docs about bug with DARCS_DONT_ESCAPE_ISPRINT with GHC 6.4
Tommy Pettersson <[EMAIL PROTECTED]>**20051112153628] 
[set DARCS_EDITOR in send.sh so darcs won't actually call a real editor.
David Roundy <[EMAIL PROTECTED]>**20051112145118] 
[Add BUGS section.
Dave Love <[EMAIL PROTECTED]>**20051112135212
 The info should also be added to the manual somewhere appropriate.
] 
[Add bug address to help text.
Dave Love <[EMAIL PROTECTED]>**20051112105924] 
[fix bug in darcs_completion when you match the "." character.
David Roundy <[EMAIL PROTECTED]>**20051112140357] 
[add a few more changelog entries.
David Roundy <[EMAIL PROTECTED]>**20051111133638] 
[fix bug in code for external conflict resolution.
David Roundy <[EMAIL PROTECTED]>**20051111132557] 
[spelling fix in docs.
David Roundy <[EMAIL PROTECTED]>**20051111123035] 
[use substrPS for more robust searching for the patch bundle hash.
David Roundy <[EMAIL PROTECTED]>**20051110145918] 
[speed up replace by first checking on each line if there might be a match.
David Roundy <[EMAIL PROTECTED]>**20051110143047
 The idea is that if there is no substring match, there won't be a token
 match, and we can save huge amounts of time.  On my very simple test
 (replacing if with fi in all of darcs' files), the speedup took us from 30
 seconds to 3 seconds to pull.
] 
[implement FastPackedString.substrPS, which searches for a substring.
David Roundy <[EMAIL PROTECTED]>**20051110140311] 
[make pull.pl work on MacOS X using ugly hack.
[EMAIL PROTECTED]
 For some reason ghc on MacOX X gives an Unknown error 0 where it ought to
 give a "permission denied" error.  This change just makes us recognize this
 and turns the test failure into a TODO check.
] 
[add a couple of changelog entries.
David Roundy <[EMAIL PROTECTED]>**20051108132617] 
[make sftp honor the SSH_PORT env variable.
David Roundy <[EMAIL PROTECTED]>**20051108131847] 
[Fix spurious failure of the revert test case
Florian Weimer <[EMAIL PROTECTED]>**20051107195237
 
 "darcs revert -a" does not require confirmation.
] 
[Check for excess input in test cases
Florian Weimer <[EMAIL PROTECTED]>**20051107195045
 
 This change also fixes a latent race condition (by adding a call to
 waitpid): darcs might not have run to completion when echo_to_darcs
 returns.
] 
[During tests, do not exit silently when a write fails
Florian Weimer <[EMAIL PROTECTED]>**20051107194913] 
[Avoid putting a wrongly-named directory in dist tarball if the name we wanted 
already exists in $TMPDIR
Simon McVittie <http://www.pseudorandom.co.uk/>**20051106145821] 
[fix example in doc to work with version 1.0.3 and above
Tommy Pettersson <[EMAIL PROTECTED]>**20051106232940
 Discovered and fix suggested by Pavel Pisa.
] 
[update version number to 1.0.4rc3.
David Roundy <[EMAIL PROTECTED]>**20051108120613] 
[TAG 1.0.4rc2
David Roundy <[EMAIL PROTECTED]>**20051106121631] 
[rewrite hunk application code to reinstate consistency checking.
David Roundy <[EMAIL PROTECTED]>**20051105190307
 In the optimization, Ian dropped checking that the "old" state of the file
 matches what the patch thinks.  This works fine until a repository becomes
 corrupt, at which point it makes the corruption harder to pinpoint (and
 makes it able to sneak by longer without being seen).
] 
[mark as TODO a merge bug that was uncovered by another bugfix.
David Roundy <[EMAIL PROTECTED]>**20051105184800
 This doesn't look like a pleasant bug, but the fix is a real fix, which I
 want to get into the stable release.
] 
[add test for newlineless patches.
David Roundy <[EMAIL PROTECTED]>**20051105171242] 
[fix bug in record --ask-deps
David Roundy <[EMAIL PROTECTED]>**20051103014858
 This fixes the "pull_firsts_middles called badly" bug.  It's a bit of an
 ugly hack to work around the Ian's ugly hack that makes:
 $ echo a | darcs record -m foo
 as memory-efficient (and time-efficient, too) as
 $ darcs record --all -m foo
 I do have some ideas how we might be able to avoid some of this
 ugliness...
] 
[add changelog entry for RT#476 bugfix.
David Roundy <[EMAIL PROTECTED]>**20051102145144] 
[Implement caching of git sequences in GitRepo.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051031132139] 
[Reorganized command overview in manual.
[EMAIL PROTECTED] 
[Remove obsolete comment.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051027183940] 
[Use gitCommitDatePS instead of gitCommitDate when choosing Git ancestors.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051027182421] 
[Use PackedStrings when parsing Git authors.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051027182400] 
[Use the new breakFirstPairPS instead of break2PS.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051027180138] 
[Change breakFirstPairPS to return slightly larger strings.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051027180107] 
[properly quote paths so that paths with spaces in them are okay
[EMAIL PROTECTED] 
[fix up debug printouts in cygwin-wrapper.bash
[EMAIL PROTECTED] 
[smoother invocation of cygwin-wrapper.bash -- it detects fully-qualified path 
to itself by leading /
[EMAIL PROTECTED] 
[Use packed strings when parsing Git commits.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051026005323] 
[Implement break2PS.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051026005236] 
[Choose better ancestors for Git merges.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051025215522
 The common ancestor will be chosen optimally assuming that the Git
 ancestry graph is a semilattice and commit dates are monotonic.  If
 the Git ancestry graph is unstructured, the youngest ancestor will
 be chosen.
 
 If Git dates are not ordered, all bets are off.
 
 The algorithm is at least O(h*w^2), where h is the height of the
 ancestry graph and w is the number of ancestors, but profiling shows
 that this doesn't matter much -- commuting patches is what takes all
 the time.
] 
[Implement gitCommitDate.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051025213832] 
[Clarify docs for building darcs-git.
Juliusz Chroboczek <[EMAIL PROTECTED]>**20051025231344] 
[give better error messages when cloning trees
David Roundy <[EMAIL PROTECTED]>**20051020124139
 Also make cloneSubTree ignore nonexistent objects.  I belive this solves
 the issue with bug #562.
] 
[fix html package inclusion in user manual
Andres Loeh <[EMAIL PROTECTED]>**20051013200817] 
[improve command-line help for put.
David Roundy <[EMAIL PROTECTED]>**20051014115911] 
[add warning to docs about inefficiency of put.
David Roundy <[EMAIL PROTECTED]>**20051013124058] 
[add the new put command to list in doc
Tommy Pettersson <[EMAIL PROTECTED]>**20051013103518] 
[update documentation on matching ranges
Tommy Pettersson <[EMAIL PROTECTED]>**20051012163804
 The matching patch at either end of a range is included in the output.
] 
[document DARCS_DONT_ESCAPE_TRAILING_CR
Tommy Pettersson <[EMAIL PROTECTED]>**20051012140458] 
[fix typo
Tommy Pettersson <[EMAIL PROTECTED]>**20051010190733] 
[avoid duplicated code for constructing patch bundles in Push.
David Roundy <[EMAIL PROTECTED]>**20051011123752] 
[remove *.ko files from the default boring regexps.
David Roundy <[EMAIL PROTECTED]>**20051011131624
 They could be Korean translations rather than kernel modules.
] 
[add changelog entry for #544.
David Roundy <[EMAIL PROTECTED]>**20051009115143] 
[fix bug #544, caused by outputing changes --context with escaping and coloring.
David Roundy <[EMAIL PROTECTED]>**20051009114941] 
[add test for bug #544
David Roundy <[EMAIL PROTECTED]>**20051009114914] 
[bump version to 1.0.4rc2
Tommy Pettersson <[EMAIL PROTECTED]>**20051010164926] 
[TAG 1.0.4rc1
Tommy Pettersson <[EMAIL PROTECTED]>**20051008101653] 
Patch bundle hash:
5e534f7ddb3e1c9150ce07935fb991f356f3ea05


_______________________________________________
darcs-devel mailing list
darcs-devel@darcs.net
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel

Reply via email to