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

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



Sam Hartman writes ("Re: Preferred git branch structure when upstream moves from tarballs to git"):
> I was going to argue that I thought teaching gbp pq was easier than
> dgit, and that's true up until you have to update a patch.

I'm sorry not to really deal with your whole mail, but this (and a few
more statements like it in your email) is a category error.

dgit is not an alternative to gbp pq.  dgit is (amongst other things)
a tool a maintainer can use *together with* gbp pq, to publish their
git history.

A maintainer who is currently using gbp pq can (and IMO generally
should) use `dgit push' to do their uploads, rather than dput/dupload.

Ansgar was pointing to the git-debrebase manpage.  git-debrebase *is*
an alternative to gbp pq.  Both git-debrebase and gbp pq are
alternatives to git-dpm and to use of raw quilt.


Block diagrams:

For the maintainer:

          gbp pq  |  git-debrebase  |  git-dpm  |  quilt  | ...
       ---------------------------------------------------------
             dgit push[-source]     |   dupload / dput      

       Maintainer must choose one from top row ("git workflow"), and
       then one from the bottom row ("upload/publication tool").
       Most but not yet quite all gitish workflows are supported by
       dgit push.

What I am primarily advocating for in this thread is that maintainers
should choose `dgit push-source' over `dput' (where this is possible).
This is the only way for a maintainer to provide users with the git
history in a sensible form (ie, a form which does not require the user
to know what special git practices the maintainer has adopted).


For the user/downstream:

       git           ||   git + quilt, gbp, ???   ||  dpkg-source
                     ||    (depends on package)   ||   quilt
       --------------||---------------------------||--------------
       dgit clone    ||    git clone salsa        ||  apt-get
        /fetch       ||    aka debcheckout        ||    source

       User must choose one stack.


For the NMUer:

       git           ||   git + quilt, gbp, ???   ||  dpkg-source
                     ||    (depends on package)   ||   quilt
       --------------||---------------------------||----------------
       dgit clone    ||   debcheckout             ||  apt-get source
       -------------------------------------------||----------------
       dgit push     |    dput / dupload          ||  dput

       NMUer must choose a stack, although if they use a gitish
       workflow they can mix-and-match upload tools.


Ian.

-- 
Ian Jackson <ijackson@chiark.greenend.org.uk>   These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.


Reply to: