[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Preferred git branch structure when upstream moves from tarballs to git



Hello Ansgar,

On Tue 07 May 2019 at 06:30PM +02, Ansgar wrote:

> So in a way the problem is that the documentation needs to exist.  git-
> debrebase or dgit (to a lesser extend) implement a Debian-specific
> version control system on top of Git.  git-debrebase makes this most
> obvious: the Git history it generates is pretty much unlike anything
> you would ever get from regular Git usage (counterexamples welcome), it
> mangles your Git commits into a specific format it expects
> (laundering), mangles rebased branches into fast-forward merges with
> pseudomerges; all this does not happen in regular Git usage.
>
> dgit has less of these problems, but still does things different from
> regular git usage (again pseudomerges to make rebases fast-forward for
> example); there are other issues as well such as its suggested use for
> NMUs feeling rather unfriendly as it moves the packaging to another VCS
> than the maintainer uses with a disjoint history...

dgit does the bare minimum required to interoperate with the Debian
archive.  If you don't use dgit, the need to handle the archive's
idiosyncrasies (e.g. the concept of NMUs) doesn't go away, but instead
is all done by a human.  And this introduces the risk of overwriting
NMUs, missing security fixes etc.

I am very happy that dgit is watching my back when it comes to dealing
with the Debian archive.  As an experienced DD I have a pretty solid
grasp of how ftp-master works, but it is useful to have a tool checking
my assumptions as I go.

> It illustrates my other main gripe with dgit/git-debrebase: it makes it
> harder to share in-progress work, in fact git-debrebase discourages
> people from doing so:
>
> | Note that each time you conclude a debrebase you introduce a
> | pseudomerge into your git history, which may make it harder to read.
>
> | A simple convention you can use to minimise the number of
> | pseudomerges is to git debrebase conclude only right before you
> | upload or push to salsa.debian.org.
>
> Yes, one can avoid some of the problems by pushing a non-fast-forward,
> non-interchange branch.  But that differs from the regular workflow
> and, again, requires more advanced Git knowledge.

This, and other things in your mail to which I'm replying, are
legitimate criticisms of git-debrebase, but not of dgit.

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature


Reply to: