summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-06-04 17:01:40 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-07-16 16:47:47 +0100
commitded07ffa9b1056c1a0f27c3b51ba81c3cb16b0ff (patch)
treeec3db410808c373a0bcaae6c4570092561fbb318 /dgit
parenta4264dc02181058e3c94227bb6686aeed308e285 (diff)
Split brain: Actually generate .gitignore patch
Close our FH onto the file, and run git diff to fill it with the actual diff. Add the file to series. Use git add and git commit to commit the patch to the private git branch. Now most of the code to generate the .gitignore properly is present, I think, but not debugged.
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit15
1 files changed, 13 insertions, 2 deletions
diff --git a/dgit b/dgit
index 92f96ce..40c7f3e 100755
--- a/dgit
+++ b/dgit
@@ -2596,9 +2596,20 @@ updates to users of the official Debian archive view of the package.
[dgit version $our_version]
---
END
- die 'xxx gitignore';
-
+ close GIPATCH or die "$gipatch: $!";
+ runcmd shell_cmd "exec >>$gipatch", @git, qw(diff),
+ $unapplied, $headref, "--", keys %$editedignores;
+ open SERIES, "+>>", "debian/patches/series" or die $!;
+ defined seek SERIES, -1, 2 or $!==EINVAL or die $!;
+ my $newline;
+ defined read SERIES, $newline, 1 or die $!;
+ print SERIES "\n" or die $! unless $newline eq "\n";
+ print SERIES "auto-gitignore\n" or die $!;
+ close SERIES or die $!;
+ runcmd @git, qw(add -- debian/patches/series), $gipatch;
+ commit_admin "Commit patch to update .gitignore";
}
+
die 'xxx memoisation via git-reflog';
die 'xxx fast forward (should not depend on quilt mode, but will always be needed if we did $split_brain)';
}