summaryrefslogtreecommitdiff
path: root/darcs-all
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-11-11 11:32:01 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-11-11 11:32:01 +0000
commitebaa8c99e67440522c619b2ee8c250191b5d1397 (patch)
tree6f633be18713cac5f03fa1dc85325fc7eb9ea02a /darcs-all
parenta35d65c3465de9661325a9295715b1ef298eb888 (diff)
downloadhaskell-ebaa8c99e67440522c619b2ee8c250191b5d1397.tar.gz
Make "./darcs-all optimize --relink" do the right thing
Diffstat (limited to 'darcs-all')
-rw-r--r--darcs-all10
1 files changed, 8 insertions, 2 deletions
diff --git a/darcs-all b/darcs-all
index 9defa0cc50..08fa8c5f52 100644
--- a/darcs-all
+++ b/darcs-all
@@ -125,6 +125,7 @@ sub darcsall {
my $path;
my $tag;
my @repos;
+ my $command = $_[0];
my ($repo_base, $checked_out_tree) = getrepo();
@@ -148,7 +149,12 @@ sub darcsall {
if (-d "$localpath/_darcs") {
if ($want_remote_repo) {
- darcs (@_, "--repodir", $localpath, $path);
+ if ($command =~ /^opt/) {
+ # Allows ./darcs-all optimize --relink
+ darcs (@_, "--repodir", $localpath, "--sibling=$path");
+ } else {
+ darcs (@_, "--repodir", $localpath, $path);
+ }
} else {
darcs (@_, "--repodir", $localpath);
}
@@ -272,7 +278,7 @@ sub main {
# Hack around whatsnew failing if there are no changes
$ignore_failure = 1;
}
- if ($command =~ /^(pul|pus|sen|put)/) {
+ if ($command =~ /^(pul|pus|sen|put|opt)/) {
$want_remote_repo = 1;
}
darcsall @_;