diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2013-08-16 13:23:42 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2013-08-16 13:23:42 +0100 |
commit | 3f93d55e1ee34f82f041fd9ebe5c30f2bf5f086e (patch) | |
tree | ee41479f4aa3743f991cd2e713cd70077d653469 /dgit | |
parent | c5093665159d5b56155e5bbd38f127eac816545b (diff) |
fix dstdir
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -372,7 +372,8 @@ sub fetch_from_archive () { } } -sub clone () { +sub clone ($) { + my ($dstdir) = @_; die "dry run makes no sense with clone" if $dryrun; get_archive_dsc(); $dsc_hash = $dsc->{$ourdscfield}; @@ -383,7 +384,6 @@ sub clone () { } else { print "last upload to archive has NO git hash\n"; } - my $dstdir = "$package"; my $branch = uploadbranch(); if (check_for_git()) { print "cloning existing git history\n"; @@ -482,14 +482,20 @@ sub dopush () { } sub cmd_clone { + my $dstdir; if (@ARGV==1) { ($package) = @ARGV; - } elsif (@ARGV==2) { + } elsif (@ARGV==2 && $ARGV[1] =~ m#^\w#) { ($package,$suite) = @ARGV; + } elsif (@ARGV==2 && $ARGV[1] =~ m#^[./]#) { + ($package,$dstdir) = @ARGV; + } elsif (@ARGV==3) { + ($package,$suite,$dstdir) = @ARGV; } else { die; } - clone(); + $dstdir ||= "$package"; + clone($dstdir); } sub branchsuite () { |