chiark / gitweb /
git-debrebase: Snag on repeated conversions
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 19 Aug 2018 22:25:48 +0000 (23:25 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 19 Aug 2018 22:43:08 +0000 (23:43 +0100)
If debrebase-last says we are ahead of some previous gdr work, it is
carrying on is unlikely to be helpful.  It would only be sensible if
the package is vacillating between branch formats, and this is
reflected and visible in the branch history.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
git-debrebase
tests/tests/gdr-import-dgitview

index 614a576..3ac55a0 100644 (file)
@@ -19,6 +19,8 @@ dgit (6.7~) unstable; urgency=medium
   * git-debrebase: convert-from-gbp: Improve messages.  Closes:#906641.
   * git-debrebase: Highly experimental merge resolution support,
     enabled only with special command line option.
+  * git-debrebase: Check in convert-from-* whether ffq-prev or
+    debrebase-last indicate that we are already in gdr format.
 
  --
 
index 059d02b..d80c8d3 100755 (executable)
@@ -2416,6 +2416,9 @@ sub begin_convert_from () {
 
     fail "ffq-prev exists, this is already managed by git-debrebase!"
        if $ffq_prev && git_get_ref $ffq_prev;
+    snag 'already-converted',
+       "ahead of debrebase-last, this is already managed by git-debrebase!"
+       if $gdrlast && git_get_ref $gdrlast && is_fast_fwd $gdrlast, $head;
     return ($head, undef);
 }
 
index 3670deb..18d06f5 100755 (executable)
@@ -38,7 +38,8 @@ t-ref-head
 t-git-debrebase --noop-ok convert-from-dgit-view
 t-ref-head
 
-t-git-debrebase convert-from-dgit-view --always-convert-anyway
+t-git-debrebase -falready-converted convert-from-dgit-view \
+        --always-convert-anyway
 t-expect-fail E:'ref varies' t-ref-head
 t-gdr-good laundered