X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=TODO.BRANCH;h=0b28a74104d6885aa2fe68f68bae9e1cc903016d;hb=e0b5aa648f47d5ec6f3368b23f4aeada81f45546;hp=7e843ae38d5f066466346d777489043ddfd9662c;hpb=2528232969c0f5a7244a6e7d2dea8147790db3a1;p=dgit.git diff --git a/TODO.BRANCH b/TODO.BRANCH index 7e843ae3..0b28a741 100644 --- a/TODO.BRANCH +++ b/TODO.BRANCH @@ -1,20 +1,81 @@ - Tag rename unfinished business (things resulting from searching for `tag' where searching for `debiantag' wouldn't find them) - - rpush negotiation for which tag to sign - - test suite tests/lib + - 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 ? + + - there is some confusion between $split_brain (did we actually + generate any commits) and quiltmode_splitbrain (might we have done, + including in previous pushes); search for $split_brain and check + that use sites are correct + 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 ----------- +Test that, where appropriate, maint view tags are pushed to dgit git repo + + + * Provide --gpbpq[=:] options + + * Document --quilt=unapplied|gbp|dpm + + * Mention new --quilt=* in debian/changelog + + * Mention in-archive copy fix in debian/changelog + + * Test --quilt=* + + + * 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 + + * Add in-archive-move test case -Provide --gpbpq[=:] options -Document --quilt=unapplied|gbp|dpm