1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
Tag rename unfinished business
(things resulting from searching for `tag' where searching for
`debiantag' wouldn't find them)
- 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
- 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 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
|