All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
c4d33b2)
since the repo isn't there yet. It was actually checking the repo type
of the parent directory, which caused several unexpected behaviors.
* Avoid creating parent directory for a checkout that will ultimately be
skipped.
* Avoid creating parent directory for a checkout that will ultimately be
skipped.
+ * Don't try to test the repo type when doing a checkout, that can't work
+ since the repo isn't there yet. It was actually checking the repo type
+ of the parent directory, which caused several unexpected behaviors.
- -- Joey Hess <joeyh@debian.org> Sat, 03 Nov 2007 13:58:39 -0400
+ -- Joey Hess <joeyh@debian.org> Sat, 03 Nov 2007 14:04:47 -0400
mr (0.11) unstable; urgency=low
mr (0.11) unstable; urgency=low
} #}}}
sub findcommand { #{{{
} #}}}
sub findcommand { #{{{
- my ($action, $dir, $topdir, $subdir) = @_;
+ my ($action, $dir, $topdir, $subdir, $is_checkout) = @_;
if (exists $config{$topdir}{$subdir}{$action}) {
return $config{$topdir}{$subdir}{$action};
}
if (exists $config{$topdir}{$subdir}{$action}) {
return $config{$topdir}{$subdir}{$action};
}
+ if ($is_checkout) {
+ return undef;
+ }
+
my $rcs=rcs_test(@_);
if (defined $rcs &&
my $rcs=rcs_test(@_);
if (defined $rcs &&
$ENV{MR_CONFIG}=$configfiles{$topdir};
my $lib=exists $config{$topdir}{$subdir}{lib} ?
$config{$topdir}{$subdir}{lib}."\n" : "";
$ENV{MR_CONFIG}=$configfiles{$topdir};
my $lib=exists $config{$topdir}{$subdir}{lib} ?
$config{$topdir}{$subdir}{lib}."\n" : "";
+ my $is_checkout=($action eq 'checkout');
- if ($action eq 'checkout') {
if (-d $dir) {
print "mr $action: $dir already exists, skipping checkout\n" if $verbose;
return SKIPPED;
if (-d $dir) {
print "mr $action: $dir already exists, skipping checkout\n" if $verbose;
return SKIPPED;
- my $skiptest=findcommand("skip", $dir, $topdir, $subdir);
- my $command=findcommand($action, $dir, $topdir, $subdir);
+
+ my $skiptest=findcommand("skip", $dir, $topdir, $subdir, $is_checkout);
+ my $command=findcommand($action, $dir, $topdir, $subdir, $is_checkout);
if (defined $skiptest) {
my $test="set -e;".$lib.
if (defined $skiptest) {
my $test="set -e;".$lib.
- if ($action eq 'checkout' && ! -d $dir) {
+ if ($is_checkout && ! -d $dir) {
print "mr $action: creating parent directory $dir\n" if $verbose;
system("mkdir", "-p", $dir);
}
print "mr $action: creating parent directory $dir\n" if $verbose;
system("mkdir", "-p", $dir);
}
}
$ENV{MR_REPO}=getcwd();
}
$ENV{MR_REPO}=getcwd();
- my $command=findcommand("register", $ENV{MR_REPO}, $directory, 'DEFAULT');
+ my $command=findcommand("register", $ENV{MR_REPO}, $directory, 'DEFAULT', 0);
if (! defined $command) {
die "mr register: unknown repository type\n";
}
if (! defined $command) {
die "mr register: unknown repository type\n";
}