X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=TODO.BRANCH;h=69efcae653abc316bd8f08c956ac0ad4bc2479f4;hb=0c398a9586ef4807c3e6f2eec87173b2e081369a;hp=361e95e4262746daf69c77886e90f728a2e71ba2;hpb=38fe7f334ee8a8ad529878158571ed9cf2507c99;p=dgit.git diff --git a/TODO.BRANCH b/TODO.BRANCH index 361e95e4..69efcae6 100644 --- a/TODO.BRANCH +++ b/TODO.BRANCH @@ -1,27 +1,69 @@ -Tag rename unfinished business -(things resulting from searching for `tag' where searching for - `debiantag' wouldn't find them) - - - protocol version 4 - implies ability to sign new tag (this is already there - so simply advertising version 4 will work) - needs also new ability to sign old-format tag in split - brain way - - - many actual tests - - - other tag should be [dgit Maintainer-Tag quilt=$quilt-mode] + - 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 ? Want tests for - - accepting old and new version tags + - start repo with old tag, push with new tag, run "old" dgit to push again with new tag, push again with old tag + - 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 + + * Remove lrfetchrefs at end of fetch_from_archive, for tidyness