chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
ec16cbb
)
git-debrebase: wip, before abolish Dgit.pm's global
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Thu, 24 Aug 2017 14:24:07 +0000
(15:24 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sat, 16 Jun 2018 11:25:49 +0000
(12:25 +0100)
git-debrebase
patch
|
blob
|
history
diff --git
a/git-debrebase
b/git-debrebase
index 801b552ab5b5a142f382f720aac78d506078d493..c999dd62c89390f5ffdee37b2d502245515ab6bd 100755
(executable)
--- a/
git-debrebase
+++ b/
git-debrebase
@@
-110,9
+110,7
@@
use POSIX;
use Data::Dumper;
use Getopt::Long qw(:config posix_default gnu_compat bundling);
use Data::Dumper;
use Getopt::Long qw(:config posix_default gnu_compat bundling);
-use Debian::Dgit qw(:DEFAULT $wa);
-
-$wa = '.git/debrebase/work';
+use Debian::Dgit qw(:DEFAULT :playground);
sub badusage ($) {
my ($m) = @_;
sub badusage ($) {
my ($m) = @_;
@@
-143,10
+141,27
@@
sub D_UPS () { return 0x2; } # upstream files
sub D_PAT_ADD () { return 0x4; } # debian/patches/ extra patches at end
sub D_PAT_OTH () { return 0x8; } # debian/patches other changes
sub D_PAT_ADD () { return 0x4; } # debian/patches/ extra patches at end
sub D_PAT_OTH () { return 0x8; } # debian/patches other changes
-our $rd = ".git/git-debrebase";
-our $ud = "$rd/work";
+
+our $playprefix = 'debrebase';
+our $rd;
+
our @git = qw(git);
our @git = qw(git);
+sub in_workarea ($) {
+ my ($sub) = @_;
+ changedir "$playground/work";
+ my $r = eval { $sub->(); };
+ changedir $maindir;
+}
+
+sub fresh_workarea () {
+ do {
+ local $playground;
+ fresh_playground "$playprefix/work";
+ };
+ in_workarea sub { playtree_setup };
+}
+
sub get_differs ($$) {
my ($x,$y) = @_;
# This resembles quiltify_trees_differ, in dgit, a bit.
sub get_differs ($$) {
my ($x,$y) = @_;
# This resembles quiltify_trees_differ, in dgit, a bit.
@@
-692,6
+707,9
@@
enabledebug if $debuglevel;
my $toplevel = cmdoutput @git, qw(rev-parse --show-toplevel);
chdir $toplevel or die "chdir $toplevel: $!";
my $toplevel = cmdoutput @git, qw(rev-parse --show-toplevel);
chdir $toplevel or die "chdir $toplevel: $!";
+fresh_playground $playprefix;
+$rd = ensure_a_playground "playprefix/misc";
+
my $cmd = shift @ARGV;
my $cmdfn = $cmd;
$cmdfn =~ y/-/_/;
my $cmd = shift @ARGV;
my $cmdfn = $cmd;
$cmdfn =~ y/-/_/;