On Sun, May 05, 2019 at 08:31:14PM +0100, Ian Jackson wrote: > --overwrite is intended for this situation. The documentation talking > about "NMU changes" is speaking loosely, and should mention "changes > in uploads which weren't done with git" too. > > It will make a pseudomerge of the synthetic import. Is that a problem > for you ?
I'd been hoping to avoid the pseudomerge and have the histories be exactly identical, but I probably shouldn't be too precious about that, and you make a good point about allowing people with existing dgit clones to fast-forward. > I think the documentation should encourage you to use --overwrite. > Indeed I would encourage you to do that. > > You are free to use --deliberately-not-fast-forward if you want to, > although I think it is less desirable. > > HTH. > > If this makes some kind of sense I think we should treat this as a > docs bug. That makes sense now, and I agree. FWIW, I found the documentation reasonably clear as far as it went, but the things I was missing were: * an explicit indication about --deliberately-not-fast-forward being non-fast-forwarding either from a synthetic local import or from the dgit server history; * an indication of which camp this particular situation falls into of the two options that are presented in various places and why, that is, the situation of a gap between two dgit pushes in which non-dgit uploads had happened. In fact, now that I reread it, dgit-maint-native(7) is fairly clear, but I found the reference documentation of the two options a bit ambiguous. (A side note while I'm looking at this anyway: the use of "rewind" as a synonym for "non-fast-forwarding", while somewhat common in git terminology, is unfortunate. The terms seem to be borrowed from video playback systems, where "rewind" is often just the exact opposite of "fast-forward", and so when I see "rewinding history" in a few places in dgit(1) my initial interpretation is that it must mean "updating a ref to point to an ancestor of the commit that it previously pointed to", whereas I think dgit(1) means "any push that isn't a fast-forward". I don't know if I'm the only one for whom it has that connotation.) Thanks for the clarification, -- Colin Watson [cjwat...@debian.org]