chiark / gitweb /
Split brain: dgit-repos-server: Permit pushing maintainer tag too
[dgit.git] / TODO.BRANCH
index 69efcae653abc316bd8f08c956ac0ad4bc2479f4..a8377a823c483bb938fcb398eab8db88503ba6ad 100644 (file)
@@ -2,9 +2,24 @@
  - 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 ?
+
+    On push with split brain, do synthetic fast forward if as follows:
+       - find previous push (archive version, import, whatever
+          is result of fetch into the dgit remote tracking branch)
+       - find its version number
+       - find the tag we fetched during git_fetch_us in lrfetchrefs_f
+           [*] this may need us to arrange to fetch it
+           that is, find the DEP-14 tag
+       - find the corresponding dgit tag
+       - the dgit tag should be a descendant of the DEP-14 tag
+       - what we are pushing should be a descendant of the DEP-14 tag
+       - then we can make it also a descendant of the dgit tag
+          (make it: in dgit view only, in split brain mode)
+
+    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 psuedomerge
+    on the user's HEAD.
 
 
 Want tests for
@@ -29,41 +44,19 @@ Test that, where appropriate, maint view tags are pushed to dgit git repo
 
  * Test all three new --quilt=unapplied|gbp|dpm
 
+ * Mention in-archive copy fix in debian/changelog
 
- * 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)
+ * Mention in changelog that:
+   Remove lrfetchrefs at end of fetch_from_archive, for tidyness
 
-         archive dsc must always be regarded
-              as ff from (or same as) dgit-repos
-               err depending on version number ?
+ * Want drs-quilt-gbp test.
 
-       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
+ * Mention on changelog or docs that we no longer set a fetch spec for
+   the dgit remote (which doesn't really work anyway)
 
-        xxx actually, no, we need to stop from squashing our
-       lrref with + updates
+ * Split quilt-gbp-build-modes into one with sbuild and one without
 
- * Mention in-archive copy fix in debian/changelog
+ * Add t-tstunt-parsechangelog to various tests
 
- * Add in-archive-move test case
 
- * Remove lrfetchrefs at end of fetch_from_archive, for tidyness
+Check BTS