chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
directory refactoring: dgit clone: call record_maintree
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index 9aadaf0d4753c5231c0d3d6ea95c05311397e4f0..a67c12cb09ceac540f5d4f359987cbe68abcbd5c 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-635,6
+635,7
@@
our %defcfg = ('dgit.default.distro' => 'debian',
our %gitcfgs;
our @gitcfgsources = qw(cmdline local global system);
our %gitcfgs;
our @gitcfgsources = qw(cmdline local global system);
+our $invoked_in_git_tree = 1;
sub git_slurp_config () {
# This algoritm is a bit subtle, but this is needed so that for
sub git_slurp_config () {
# This algoritm is a bit subtle, but this is needed so that for
@@
-684,6
+685,7
@@
sub cfg {
sub not_necessarily_a_tree () {
# needs to be called from pre_*
@gitcfgsources = grep { $_ ne 'local' } @gitcfgsources;
sub not_necessarily_a_tree () {
# needs to be called from pre_*
@gitcfgsources = grep { $_ ne 'local' } @gitcfgsources;
+ $invoked_in_git_tree = 0;
}
sub access_basedistro__noalias () {
}
sub access_basedistro__noalias () {
@@
-3588,6
+3590,7
@@
sub clone ($) {
mkdir $dstdir or fail "create \`$dstdir': $!";
changedir $dstdir;
runcmd @git, qw(init -q);
mkdir $dstdir or fail "create \`$dstdir': $!";
changedir $dstdir;
runcmd @git, qw(init -q);
+ record_maindir();
setup_new_tree();
clone_set_head();
my $giturl = access_giturl(1);
setup_new_tree();
clone_set_head();
my $giturl = access_giturl(1);
@@
-6797,6
+6800,7
@@
$cmd =~ y/-/_/;
my $pre_fn = ${*::}{"pre_$cmd"};
$pre_fn->() if $pre_fn;
my $pre_fn = ${*::}{"pre_$cmd"};
$pre_fn->() if $pre_fn;
+record_maindir if $invoked_in_git_tree;
git_slurp_config();
my $fn = ${*::}{"cmd_$cmd"};
git_slurp_config();
my $fn = ${*::}{"cmd_$cmd"};