dgit and git-dpm (was Re: Standardizing the layout of git packaging repositories)
- To: debian developers <debian-devel@lists.debian.org>
- Subject: dgit and git-dpm (was Re: Standardizing the layout of git packaging repositories)
- From: Ian Jackson <ijackson@chiark.greenend.org.uk>
- Date: Tue, 28 Oct 2014 19:17:49 +0000
- Message-id: <[🔎] 21583.60381.571851.949119@chiark.greenend.org.uk>
- In-reply-to: <CAA0ZO6B6NrAM3c4za6B+UTg113NOYPmt05onCPiSbQkpAk5BkQ@mail.gmail.com>
- References: <87a96x6vhw.fsf@hope.eyrie.org> <20140823095854.GA24963@smurf.noris.de> <8761hjhxmv.fsf@hope.eyrie.org> <CAA0ZO6AWMS=8ODay1YTnxK+ymUZuUvcdhuEcdN=+bQG3yEa4hQ@mail.gmail.com> <87d2bpw8da.fsf@hope.eyrie.org> <20140824213429.59c13b40@anarchist> <CAA0ZO6BhdzgqWqHy4ncx5AOYybjeUJT0uiRKNp7C9homjPQ+9g@mail.gmail.com> <CAA0ZO6BVezhxXO=+_1ae_oOxhQCY0SFYcpJOd+A8-5q2dTG_8Q@mail.gmail.com> <7a5d5ead-7bdb-4f6e-bf49-cc617d486012@email.android.com> <CAA0ZO6A4YdDrzi-bWOeEAqgkbGytQ-epH12_0PA8R2w2VnmonQ@mail.gmail.com> <20140827064025.GC21692@smurf.noris.de> <050e747a-4fe7-4023-aac6-ec79dd693145@email.android.com> <53FDEDFD.8020805@gmail.com> <CAA0ZO6B6NrAM3c4za6B+UTg113NOYPmt05onCPiSbQkpAk5BkQ@mail.gmail.com>
Brian May writes ("Re: Standardizing the layout of git packaging repositories"):
> However, with git-dpm, no branch is ever destroyed. Every branch is always
> merged into the Debian branch. The Debian branch itself always heads in a
> single forward direction and this branch is never rebased. Furthermore,
> because this is a pseudo-standard, everything can expect this is what will
> happen.
>
> See http://git-dpm.alioth.debian.org/ for details.
I have an experimental version of dgit (not yet uploaded anywhere)
which handles .pc differently: the dgit git tree does not contain .pc.
I wrote some (frankly quite terrifying) code to reconstruct a .pc from
the artifacts available to dgit (mainly debian/patches and ../*orig*).
I used my new dgit to clone xwit (since that's listed as the example
in the git-dpm page) and the dgit git tree for 3.4-15 is almost
identical to that at the alioth tag debian-3.4-15. There is one
difference: dgit's tree does not contain .gitignore. I don't think
the lack of .gitignore is important for git-dpm users. (Arguably it's
a bug that git-buildpackage et al remove it.)
Also, it appears that the successive git-dpm uploads in a suite are
fast-forwarding - usually, at least. (I don't know if this is
enforced.)
I think what this means is that the git-dpm git branch is suitable,
directly, for use with `dgit push'.
If you use dgit to build and push from the git-dpm branch, your source
package will contain .gitignore (which is good, of course). Another
developer who dgit clones your package will get your git-dpm history.
If they then NMU for a bugfix, they will make commits on the end of
your git-dpm history. Does git-dpm's workflow easily permit the
incorporation of such a bugfix into the git-dpm history ?
I have one further question: is it possible, with git-dpm, to
construct a commit to build and upload from which (a) has the
commit and tree structure required for git-dpm, and (b) has an
arbitrary commit as an ancestor (somewhere) ?
If you are the maintainer and are using dgit, you will need to do that
operation when you are incorporating a non-dgit NMU. Such an NMU will
be represented as an ad-hoc commit structure on the end of your
history.
Thanks,
Ian.
Reply to: