X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit;h=eb42b00dee0cb75d71e803280ff1c9f3677a2417;hb=10971841444e359f4ca8d490822c390cc7bca890;hp=ede7010c9ca2e5bf955841f3e8c81b0db35364fd;hpb=a4e7ac2715ea7077ccedb190a783c64c06a9c539;p=dgit.git diff --git a/dgit b/dgit index ede7010c..eb42b00d 100755 --- a/dgit +++ b/dgit @@ -144,6 +144,7 @@ our %opts_cfg_insertpos = map { sub parseopts_late_defaults(); sub setup_gitattrs(;$); +sub check_gitattrs($$); our $keyid; @@ -1698,6 +1699,7 @@ sub mktree_in_ud_here () { runcmd qw(git config gc.auto 0); rmtree('.git/objects'); symlink '../../../../objects','.git/objects' or die $!; + setup_gitattrs(1); } sub git_write_tree () { @@ -3255,6 +3257,8 @@ END lrfetchref_used lrfetchref(); + check_gitattrs($hash, "fetched source tree"); + unshift @end, $del_lrfetchrefs; return $hash; } @@ -3349,7 +3353,7 @@ END print GAO <) { + chomp or die; + s/^\d+\s+\w+\s+\w+\s+(\d+)\t// or die; + next if $1 == 0; + next unless m{(?:^|/)\.gitattributes$}; + + # oh dear, found one + print STDERR <(), and returns undef @@ -3567,6 +3601,7 @@ sub clone ($) { mkdir $dstdir or fail "create \`$dstdir': $!"; changedir $dstdir; runcmd @git, qw(init -q); + setup_new_tree(); clone_set_head(); my $giturl = access_giturl(1); if (defined $giturl) { @@ -3585,7 +3620,6 @@ sub clone ($) { $vcsgiturl =~ s/\s+-b\s+\S+//g; runcmd @git, qw(remote add vcs-git), $vcsgiturl; } - setup_new_tree(); clone_finish($dstdir); } @@ -6101,6 +6135,8 @@ sub import_dsc_result { my ($dstref, $newhash, $what_log, $what_msg) = @_; my @cmd = (@git, qw(update-ref -m), $what_log, $dstref, $newhash); runcmd @cmd; + check_gitattrs($newhash, "source tree"); + progress "dgit: import-dsc: $what_msg"; } @@ -6305,6 +6341,11 @@ sub cmd_setup_useremail { setup_useremail(1); } +sub cmd_setup_gitattributes { + badusage "no arguments allowed to dgit setup-useremail" if @ARGV; + setup_gitattrs(1); +} + sub cmd_setup_new_tree { badusage "no arguments allowed to dgit setup-tree" if @ARGV; setup_new_tree();