our (@dget) = qw(dget);
our (@dput) = qw(dput);
our (@debsign) = qw(debsign);
-our (@cleancmd) = qw(debian/rules clean);
our $keyid;
our $debug = 0;
}
sub check_not_dirty () {
- my $output = cmdoutput @git, qw(status --porcelain);
- if (length $output) {
- my $m = "tree dirty:\n$output\n";
- if (!$dryrun) {
- die $m;
- } else {
- warn $m;
- }
- }
+ runcmd @git, qw(diff --quiet);
}
sub commit_quilty_patch () {
}
print DEBUG "checking for quilty\n", Dumper(\@files);
if (@files == 2) {
+ my $m = "Commit Debian 3.0 (quilt) metadata";
+ print "$m\n";
runcmd_ordryrun @git, qw(add), @files;
- runcmd_ordryrun
- @git, qw(commit -m), "Commit Debian 3.0 (quilt) metadata";
+ runcmd_ordryrun @git, qw(commit -m), $m;
}
}
sub dopush () {
print DEBUG "actually entering push\n";
- runcmd @cleancmd;
my $clogp = parsechangelog();
$package = $clogp->{Source};
my $dscfn = "${package}_$clogp->{Version}.dsc";
push @$om, $2;
} elsif (m/^--existing-package=(.*)/s) {
$existing_package = $1;
- } elsif (m/^--clean-command=(.*)/s) {
- @cleancmd = split /\s+/, $1;
} else {
die "$_ ?";
}
does an `upload', pushing the current HEAD to the archive (as a source
package) and to dgit-repos (as git commits). This also involves
making a signed git tag, and signing the files to be uploaded to the
-archive. dgit push does a
-.BR "debian/rules clean" .
+archive.
.SH WORKFLOW - SIMPLE
It is always possible with dgit to clone or fetch a package, make
changes in git (using git-commit) on the suite branch
name of an existing package. Without --new we can just use the
package we are trying to push. But with --new that will not work, so
we guess that
-.TP
-.BI --clean-command= "cmd arg arg"
-dgit push needs to clean the tree to make sure the
.SH CONFIGURATION
dgit looks at the following git config keys to control its behaviour.
You may set them with git-config (either in system-global or per-tree