summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdgit38
1 files changed, 17 insertions, 21 deletions
diff --git a/dgit b/dgit
index 0809c29..bc84afb 100755
--- a/dgit
+++ b/dgit
@@ -19,7 +19,7 @@
use strict;
-use Debian::Dgit;
+use Debian::Dgit qw(:DEFAULT :playground);
setup_sigwarn();
use IO::Handle;
@@ -1668,13 +1668,9 @@ sub create_remote_git_repo () {
our ($dsc_hash,$lastpush_mergeinput);
our ($dsc_distro, $dsc_hint_tag, $dsc_hint_url);
-our $ud = '.git/dgit/unpack';
sub prep_ud () {
- my $d = $ud;
- rmtree($d);
- mkpath '.git/dgit';
- mkdir $d or die $!;
+ fresh_playground 'dgit/unpack';
}
sub mktree_in_ud_here () {
@@ -2053,7 +2049,7 @@ sub generate_commits_from_dsc () {
# See big comment in fetch_from_archive, below.
# See also README.dsc-import.
prep_ud();
- changedir $ud;
+ changedir $playground;
my @dfi = dsc_files_info();
foreach my $fi (@dfi) {
@@ -2463,8 +2459,8 @@ END
@output = $lastpush_mergeinput;
}
}
- changedir '../../../..';
- rmtree($ud);
+ changedir $maindir;
+ rmtree $playground;
return @output;
}
@@ -4170,7 +4166,7 @@ END
if (madformat_wantfixup($format)) {
# user might have not used dgit build, so maybe do this now:
if (quiltmode_splitbrain()) {
- changedir $ud;
+ changedir $playground;
quilt_make_fake_dsc($upstreamversion);
my $cachekey;
($dgithead, $cachekey) =
@@ -4183,7 +4179,7 @@ END
$actualhead, $dgithead,
$archive_hash);
$maintviewhead = $actualhead;
- changedir '../../../..';
+ changedir $maindir;
prep_ud(); # so _only_subdir() works, below
} else {
commit_quilty_patch();
@@ -4214,13 +4210,13 @@ END
}
}
- changedir $ud;
+ changedir $playground;
progress "checking that $dscfn corresponds to HEAD";
runcmd qw(dpkg-source -x --),
$dscpath =~ m#^/# ? $dscpath : "../../../$dscpath";
my ($tree,$dir) = mktree_in_ud_from_only_subdir("source package");
check_for_vendor_patches() if madformat($dsc->{format});
- changedir '../../../..';
+ changedir $maindir;
my @diffcmd = (@git, qw(diff --quiet), $tree, $dgithead);
debugcmd "+",@diffcmd;
$!=0; $?=-1;
@@ -5009,7 +5005,7 @@ END
my $dgitview = git_rev_parse 'HEAD';
- changedir '../../../..';
+ changedir $maindir;
# When we no longer need to support squeeze, use --create-reflog
# instead of this:
ensuredir ".git/logs/refs/dgit-intern";
@@ -5034,7 +5030,7 @@ END
runcmd @git, qw(update-ref -m), $cachekey, "refs/$splitbraincache",
$dgitview;
- changedir '.git/dgit/unpack/work';
+ changedir "$playground/work";
my $saved = maybe_split_brain_save $headref, $dgitview, "converted";
progress "dgit view: created ($saved)";
@@ -5333,7 +5329,7 @@ END
my $headref = git_rev_parse('HEAD');
prep_ud();
- changedir $ud;
+ changedir $playground;
my $upstreamversion = upstreamversion $version;
@@ -5345,7 +5341,7 @@ END
die 'bug' if $split_brain && !$need_split_build_invocation;
- changedir '../../../..';
+ changedir $maindir;
runcmd_ordryrun_local
@git, qw(pull --ff-only -q .git/dgit/unpack/work master);
}
@@ -5456,7 +5452,7 @@ END
sub quilt_check_splitbrain_cache ($$) {
my ($headref, $upstreamversion) = @_;
# Called only if we are in (potentially) split brain mode.
- # Called in $ud.
+ # Called in playground.
# Computes the cache key and looks in the cache.
# Returns ($dgit_view_commitid, $cachekey) or (undef, $cachekey)
@@ -6132,10 +6128,10 @@ sub build_source {
} else {
my @cmd = (@dpkgsource, qw(-b --));
if ($split_brain) {
- changedir $ud;
+ changedir $playground;
runcmd_ordryrun_local @cmd, "work";
my @udfiles = <${package}_*>;
- changedir "../../..";
+ changedir $maindir;
foreach my $f (@udfiles) {
printdebug "source copy, found $f\n";
next unless
@@ -6143,7 +6139,7 @@ sub build_source {
($f =~ m/\.debian\.tar(?:\.\w+)$/ &&
$f eq srcfn($version, $&));
printdebug "source copy, found $f - renaming\n";
- rename "$ud/$f", "../$f" or $!==ENOENT
+ rename "$playground/$f", "../$f" or $!==ENOENT
or fail "put in place new source file ($f): $!";
}
} else {