Hello, On Mon 29 Oct 2018 at 02:02PM GMT, Ian Jackson wrote:
> Sean Whitton writes ("Bug#903377: convert-from-gbp: `diverged', --overwrite > if no previous dgit push"): >> On Mon 09 Jul 2018 at 10:48AM +0100, Ian Jackson wrote: >> > has arguably made things worse for a different use case: if the user >> > goes straight from (i) gbp without dgit, to (ii) gdr with dgit, then >> > the new pseudomerge generation cannot work. So there will be a new >> > message about that. >> >> How offputting will this message be? Sorry, I don't have a convenient >> test case, since I always upload with dgit ;) > > It is generated by this code: > > + print STDERR f_ <<END, "$@"; > +Cannot confirm dgit view: %s > +Failed to stitch in dgit view (see messages above). > +dgit --overwrite will be needed on the first dgit push after conversion. > +END > > If you look in the body of the anon sub $previous_dgit_view you'll see > the things which might appear in the %s. > > This message is not a snag; it just goes to stderr. Unlike dgit, gdr > is not, in general, very chatty, so the user will probably actually > see it. Good. Your -will require I<--overwrite>. Try pushing without this option first, -and then dgit will suggest using it if it is needed. +will have to pass I<--overwrite> to dgit. git-debrebase will normally +tell you if this is will be needed. seems right. >> +In some cases where you used B<git debrebase convert-from-gbp> since >> +the last upload, it is not possible for dgit to make your history >> +fast-forwarding from the history on B<dgit-repos>. In such cases you >> +will require I<--overwrite>. Try pushing without this option first, >> +and then dgit will suggest using it if it is needed. > > This is not really right. It does not make sense to try first without > --overwrite, and then pass it if dgit complains that it is needed. > The purpose of --overwrite is to reassure dgit that everything is OK. > The only effect is to carry on rather than stopping, in certain cases. > > If you are going to pass --overwrite if dgit complains that it wants > it, you might as well pass it unconditionally (unless you were a dgit > developer and wanted to check that dgit was correctly flagging this > issue). Ah, indeed. > Anyway, now that git-debrebase convert-from-{gbp,unapplied} will make > the pseudomerge when it can, I think (hope!) that either (i) gdr will > make the psuedomerge and --overwrite won't be needed or (ii) gdr will > not be able to make the psuedomerge but will advise the user that > --overwrite will be needed. > > So I think the user should use --overwrite iff gdr advised them that > it would be needed. In that case they need to check that the > changelog doesn't lie. Right. > The background to all of this is that --overwrite (without a version > number) is pretty safe: dgit will check that the version being > overwritten is mentioned in a not-UNRELEASED entry in your > debian/changelog. So you can only lose work from --overwrite in a > scenario which contains something isomorphic to this: > [...] > I notice persistent difficulties around when to use --overwrite. I > wonder if it needs a much longer discussion in one of the more > discursive manpages. I think so. Going to file a bug. -- Sean Whitton
signature.asc
Description: PGP signature