chiark / gitweb /
dgit: When generating orig+debian/patches view, copy debian/ from HEAD.
[dgit.git] / dgit
diff --git a/dgit b/dgit
index d0cbd327677204e72839bc767a71fc5d8b92a29a..d62694a90818c7d461324381f57a3eb4d6b3afc2 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -48,7 +48,7 @@ our $absurdity = undef; ###substituted###
 our @rpushprotovsn_support = qw(4 3 2); # 4 is new tag format
 our $protovsn;
 
-our $isuite = 'unstable';
+our $isuite;
 our $idistro;
 our $package;
 our @ropts;
@@ -565,6 +565,7 @@ sub cmd_help () {
 our $td = $ENV{DGIT_TEST_DUMMY_DIR} || "DGIT_TEST_DUMMY_DIR-unset";
 
 our %defcfg = ('dgit.default.distro' => 'debian',
+              'dgit.default.default-suite' => 'unstable',
               'dgit.default.old-dsc-distro' => 'debian',
               'dgit-suite.*-security.distro' => 'debian-security',
               'dgit.default.username' => '',
@@ -4298,7 +4299,8 @@ sub fetchpullargs () {
        $isuite = branchsuite();
        if (!$isuite) {
            my $clogp = parsechangelog();
-           $isuite = getfield $clogp, 'Distribution';
+           my $clogsuite = getfield $clogp, 'Distribution';
+           $isuite= $clogsuite if $clogsuite ne 'UNRELEASED';
        }
     } elsif (@ARGV==1) {
        ($isuite) = @ARGV;
@@ -5414,6 +5416,7 @@ sub quilt_fixup_multipatch ($$$) {
 
     rmtree '.pc';
 
+    runcmd @git, qw(checkout -f), $headref, qw(-- debian);
     my $unapplied=git_add_write_tree();
     printdebug "fake orig tree object $unapplied\n";
 
@@ -6445,6 +6448,10 @@ END
 
 
 sub parseopts_late_defaults () {
+    $isuite //= cfg("dgit-distro.$idistro.default-suite", 'RETURN-UNDEF')
+       if defined $idistro;
+    $isuite //= cfg('dgit.default.default-suite');
+
     foreach my $k (keys %opts_opt_map) {
        my $om = $opts_opt_map{$k};