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