Commit b61c52db authored by Simon Marlow's avatar Simon Marlow

remove set-origin and set-push commands; add "remote set-url [--push]" (to match git syntax).

parent c3740c90
...@@ -224,19 +224,32 @@ sub scmall { ...@@ -224,19 +224,32 @@ sub scmall {
my @scm_args; my @scm_args;
my $pwd; my $pwd;
my @args;
my ($repo_base, $checked_out_tree) = getrepo(); my ($repo_base, $checked_out_tree) = getrepo();
parsePackages; parsePackages;
@args = ();
if ($command =~ /^remote$/) { if ($command =~ /^remote$/) {
if (@_ < 2) { while (@_ > 0 && $_[0] =~ /^-/) {
help(); push(@args,shift);
} }
if (@_ < 1) { help(); }
$subcommand = shift; $subcommand = shift;
$branch_name = shift; if ($subcommand ne 'add' && $subcommand ne 'rm' && $subcommand ne 'set-url') {
if ($subcommand ne 'add' && $subcommand ne 'rm') { help();
}
while (@_ > 0 && $_[0] =~ /^-/) {
push(@args,shift);
}
if (($subcommand eq 'add' || $subcommand eq 'rm') && @_ < 1) {
help(); help();
} elsif (@_ < 1) { # set-url
$branch_name = 'origin';
} else {
$branch_name = shift;
} }
} elsif ($command eq 'new' || $command eq 'fetch') { } elsif ($command eq 'new' || $command eq 'fetch') {
if (@_ < 1) { if (@_ < 1) {
...@@ -246,6 +259,9 @@ sub scmall { ...@@ -246,6 +259,9 @@ sub scmall {
} }
} }
push(@args, @_);
print "args: @args\n";
for $line (@packages) { for $line (@packages) {
$localpath = $$line{"localpath"}; $localpath = $$line{"localpath"};
...@@ -315,12 +331,6 @@ sub scmall { ...@@ -315,12 +331,6 @@ sub scmall {
or ($scm eq "git" and "send-email")); or ($scm eq "git" and "send-email"));
$want_remote_repo = 1; $want_remote_repo = 1;
} }
elsif ($command =~ /^set-origin$/) {
@scm_args = ("remote", "set-url", "origin", $path);
}
elsif ($command =~ /^set-push$/) {
@scm_args = ("remote", "set-url", "--push", "origin", $path);
}
elsif ($command =~ /^fetch$/) { elsif ($command =~ /^fetch$/) {
@scm_args = ("fetch", "$branch_name"); @scm_args = ("fetch", "$branch_name");
} }
...@@ -332,6 +342,8 @@ sub scmall { ...@@ -332,6 +342,8 @@ sub scmall {
@scm_args = ("remote", "add", $branch_name, $path); @scm_args = ("remote", "add", $branch_name, $path);
} elsif ($subcommand eq 'rm') { } elsif ($subcommand eq 'rm') {
@scm_args = ("remote", "rm", $branch_name); @scm_args = ("remote", "rm", $branch_name);
} elsif ($subcommand eq 'set-url') {
@scm_args = ("remote", "set-url", $branch_name, $path);
} }
} }
else { else {
...@@ -342,20 +354,20 @@ sub scmall { ...@@ -342,20 +354,20 @@ sub scmall {
if (repoexists ($scm, $localpath)) { if (repoexists ($scm, $localpath)) {
if ($want_remote_repo) { if ($want_remote_repo) {
if ($scm eq "darcs") { if ($scm eq "darcs") {
scm (".", $scm, @scm_args, @_, "--repodir=$localpath", $path); scm (".", $scm, @scm_args, @args, "--repodir=$localpath", $path);
} else { } else {
# git pull doesn't like to be used with --work-dir # git pull doesn't like to be used with --work-dir
# I couldn't find an alternative to chdir() here # I couldn't find an alternative to chdir() here
scm ($localpath, $scm, @scm_args, @_, $path, "master"); scm ($localpath, $scm, @scm_args, @args, $path, "master");
} }
} else { } else {
# git status *must* be used with --work-dir, if we don't chdir() to the dir # git status *must* be used with --work-dir, if we don't chdir() to the dir
scm ($localpath, $scm, @scm_args, @_); scm ($localpath, $scm, @scm_args, @args);
} }
} }
elsif ($local_repo_unnecessary) { elsif ($local_repo_unnecessary) {
# Don't bother to change directory in this case # Don't bother to change directory in this case
scm (".", $scm, @scm_args, @_); scm (".", $scm, @scm_args, @args);
} }
elsif ($tag eq "") { elsif ($tag eq "") {
message "== Required repo $localpath is missing! Skipping"; message "== Required repo $localpath is missing! Skipping";
...@@ -383,11 +395,10 @@ Supported commands: ...@@ -383,11 +395,10 @@ Supported commands:
* --partial * --partial
* fetch * fetch
* send * send
* set-origin
* set-push
* new * new
* remote add <branch-name> * remote add <branch-name>
* remote rm <branch-name> * remote rm <branch-name>
* remote set-url [--push] <branch-name>
Available package-tags are: Available package-tags are:
END END
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment