From 6a009a8fe0fa46c0d92d51300566c7afcf21ed2e Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 25 Sep 2016 14:48:41 +0100 Subject: [PATCH] Overwrite: Provide --overwrite=VERSION option Signed-off-by: Ian Jackson --- TODO.BRANCH | 10 ---------- dgit | 3 +++ dgit.1 | 22 ++++++++++++++++++++++ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/TODO.BRANCH b/TODO.BRANCH index 7d39b29c..141a3aab 100644 --- a/TODO.BRANCH +++ b/TODO.BRANCH @@ -1,14 +1,4 @@ - - in dopush (?), we need to sort out synthetic fast forard - this should not depend entirely on quilt mode - but will always be needed if quiltmode_splitbrain - - We want a --overwrite=VERSION option which 1. adjusts - the version used above, and 2. does the same thing in any - quilt mode. If no split brain it should make the pseudomerge - on the user's HEAD. - - SPLIT BRAIN * Check archive allegedly supports split brain mode before running diff --git a/dgit b/dgit index c0d21831..2bd938e5 100755 --- a/dgit +++ b/dgit @@ -4561,6 +4561,9 @@ sub parseopts () { } elsif (m/^--no-rm-on-error$/s) { push @ropts, $_; $rmonerror = 0; + } elsif (m/^--overwrite=(.*)$/s) { + push @ropts, $_; + $overwrite_version = $1; } elsif (m/^--(no-)?rm-old-changes$/s) { push @ropts, $_; $rmchanges = !$1; diff --git a/dgit.1 b/dgit.1 index 87ad0fce..8769f723 100644 --- a/dgit.1 +++ b/dgit.1 @@ -330,6 +330,28 @@ This can be useful with build, if you plan to commit later. (dgit push will still ensure that the .dsc you upload and the git tree you push are identical, so this option won't make broken pushes.) .TP +.BI --overwrite= previous-version +Declare that even though your git branch is not a descendant of +.IR previous-version +according to the revision history, in fact, it really does contain +all the (wanted) changes from that version. +.I previous-version +ought to be the version currently in the archive. + +dgit push will make a +pseudo-merge (that is, something that looks like the result +of git merge -s ours) to stitch the archive's version into your own +git history, so that your push is a fast forward from the archive. + +This option is useful if you are the maintainer, and you have +incorporated NMU changes into your own git workflow in way that +doesn't make your branch a fast forward from the NMU. + +(In quilt mode +.BR gbp ", " dpm " or " unpatched , +implying a split between the dgit view and the +maintainer view, the pseudo-merge will appear only in the dgit view.) +.TP .BI --deliberately- something Declare that you are deliberately doing .IR something . -- 2.30.2