chiark / gitweb /
Test suite: t-commit: honour $majorv for major version
[dgit.git] / TODO.BRANCH
index defdeeef5407441d104bd5b2f4f34aa261ab8e46..e342f1afc64f8df60e1d01dc25041c5f07ae9308 100644 (file)
@@ -1,22 +1,68 @@
 
-Tag rename unfinished business
-(things resulting from searching for `tag' where searching for
- `debiantag' wouldn't find them)
+ - 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
+     * On push, if ff fixup mode enabled, check debian/changelog,
+       and maybe make fake merge, maybe in dgit view, maybe
+       elsewhere ?
 
- - i_resp_previously, previously should include which tags ?
-     replay prevention  all of them
- - rpush negotiation for which tag to sign
- - test suite tests/lib
- - many actual tests
 
- - other tag should be [dgit Maintainer-Tag quilt=$quilt-mode]
+Want tests for
 
+ - start repo with old tag, push with new tag, run
+   "old" dgit to push again with new tag, push again with
+   old tag
 
-Want tests for
- - accepting old and new version tags
  - rejecting push of same version with one tag when then the other
 
-----------
 
-Provide --gpbpq[=:] options
-Document --quilt=unapplied|gbp|dpm
+Test that, where appropriate, maint view tags are pushed to dgit git repo
+
+
+ * Provide --gpbpq[=:] options
+
+ * Document --quilt=unapplied|gbp|dpm
+
+ * Mention new tag format in debian/changelog
+
+ * Mention new --quilt=* in debian/changelog
+
+ * Test all three new --quilt=unapplied|gbp|dpm
+
+
+ * IN ARCHIVE COPY Consider and implement fast-forward fixup
+
+    - On fetch, check if specified git hash is ff from
+      existing dgit branch, the same way we do for constructed
+      dscs.  The .dsc tells us the git tree but not necessarily
+      the git hash.
+
+    ...ERR MAYBE...
+      
+         complicated there are many branches
+              dgit-repos: refs/dgit/suite
+               archive dsc
+              local; remotes/dgit/dgit/suite
+                         must be ff
+                         may contain dscs
+               local: dgit/suite (not relevant to fetch)
+
+         archive dsc must always be regarded
+              as ff from (or same as) dgit-repos
+               err depending on version number ?
+
+       this code is what needs changing
+               } else {
+           fail "git head (".lrref()."=$lastpush_hash) is not a ".
+               "descendant of archive's .dsc hash ($dsc_hash)";
+       }
+       it just needs to generate the fake merge and set $hash
+       the archive skew stuff is all fine with this
+
+        xxx actually, no, we need to stop from squashing our
+       lrref with + updates
+
+ * Mention in-archive copy fix in debian/changelog
+
+ * Add in-archive-move test case
+