chiark / gitweb /
TODO.BRANCH: More notes about our plans
[dgit.git] / TODO.BRANCH
1 Tag rename unfinished business
2 (things resulting from searching for `tag' where searching for
3  `debiantag' wouldn't find them)
4
5  - protocol version 4
6       implies ability to sign new tag (this is already there
7          so simply advertising version 4 will work)
8       needs also new ability to sign old-format tag in split
9          brain way
10
11  - many actual tests
12
13  - other tag should be [dgit Maintainer-Tag quilt=$quilt-mode]
14
15  - in dopush (?), we need to sort out synthetic fast forard
16     this should not depend entirely on quilt mode
17     but will always be needed if quiltmode_splitbrain
18      * On push, if ff fixup mode enabled, check debian/changelog,
19        and maybe make fake merge, maybe in dgit view, maybe
20        elsewhere ?
21
22  - there is some confusion between $split_brain (did we actually
23    generate any commits) and quiltmode_splitbrain (might we have done,
24    including in previous pushes); search for $split_brain and check
25    that use sites are correct
26
27
28 Want tests for
29  - start repo with old tag, push with new tag, run
30    "old" dgit to push again with new tag, push again with
31    old tag
32  - rejecting push of same version with one tag when then the other
33
34 Test that, where appropriate, maint view tags are pushed to dgit git repo
35
36
37  * Provide --gpbpq[=:] options
38
39  * Document --quilt=unapplied|gbp|dpm
40
41  * Mention new --quilt=* in debian/changelog
42
43  * Mention in-archive copy fix in debian/changelog
44
45  * Test --quilt=*
46
47
48  * IN ARCHIVE COPY Consider and implement fast-forward fixup
49
50     - On fetch, check if specified git hash is ff from
51       existing dgit branch, the same way we do for constructed
52       dscs.  The .dsc tells us the git tree but not necessarily
53       the git hash.
54
55     ...ERR MAYBE...
56       
57          complicated there are many branches
58                dgit-repos: refs/dgit/suite
59                archive dsc
60                local; remotes/dgit/dgit/suite
61                           must be ff
62                           may contain dscs
63                local: dgit/suite (not relevant to fetch)
64
65          archive dsc must always be regarded
66                as ff from (or same as) dgit-repos
67                err depending on version number ?
68
69        this code is what needs changing
70         } else {
71             fail "git head (".lrref()."=$lastpush_hash) is not a ".
72                 "descendant of archive's .dsc hash ($dsc_hash)";
73         }
74        it just needs to generate the fake merge and set $hash
75        the archive skew stuff is all fine with this
76
77         xxx actually, no, we need to stop from squashing our
78         lrref with + updates
79
80  * Add in-archive-move test case
81