hi.

   http://people.debian.org/~srivasta/Serializing_Git_Branches.pdf has a 
demonstration of the differences in history given an upstream and two feature 
branches with two commits each, using git-dpm and git-debcherry.

   Manoj

On August 25, 2014 11:01:17 PM PDT, Brian May <br...@microcomaustralia.com.au> 
wrote:
>Ok, so I have looked at both gbp-pq and git-dpm.
>
>To me, the key difference is different way they store the patches.
>There
>are minor differences in user interfaces, etc, however I don't consider
>these to be so important.
>
>(apologies if this has already been said or contradicted, I am finding
>it
>hard to keep up with these threads)
>
>
>gbp-pq
>---------
>Tutorial:
>https://honk.sigxcpu.org/piki/development/debian_packages_in_git/
>
>In gbp-pq, the authoritative source is always the patches in
>debian/patches. The patch-queue is just for convenience, so you can
>update
>patches with standard git commands. There is no history kept of the
>patch-queue branch. Possibly the patch-queue branch shouldn't be pushed
>to
>remote repositories, because rebasing is expected. This makes it
>simple.
>History is kept of debian/patches. It is not possible to refer to
>patches
>with commit id, because this won't last a rebase or reedit. However,
>comparing different Debian versions with patches applied won't be so
>easy,
>you will have to check out two copies, manually apply the patches, and
>then
>do a diff.
>
>git-dpm
>----------
>Tutorial: http://git-dpm.alioth.debian.org/examples.html
>
>git-dpm keeps every version of every patch in git. As a result, every
>patch
>in debian/patches has a hash referencing the git commit. After merged
>into
>the Debian branch, this hash will not disappear even if the patch is
>deleted or changed. You can provide the commit id of the patch, if ever
>required (most cases the latest patch file might be better choice). As
>above, history is also kept of the debian/patches directory. I believe
>if
>you do a diff between two debian tags you will get the patches
>included.
>
>summary
>-----------
>There are two options I haven't looked at: dgit and git-debcherry (or
>is
>that got-debcherry?) - mainly because I can't find these using Google.
>
>gbp-pq and git-dpm are not compatible methods. It is not possible to
>use git-dpm or a gbp-pq repostory or vis versa. If you use gbp-pq on
>a git-dpm repository, it will work, however, you will not preserve the
>patches in git where git-dpm expects to find them. So git-dpm will get
>confused and do the wrong thing the next time it is run.
>
>Somebody mentioned the ease of bisect. If you bisect a gbp-pq tree, you
>won't get the patches applied unless your testing does this. If you
>bisect
>the git-dpm tree, you will get the patches applied. bisecting on the
>Debian
>branch should be easy enough I think, despite the extra merges. I
>haven't
>done this myself.
>
>I am tending to side towards the git-dpm, because I like the idea of
>every
>git commit being preserved.
>
>gbp-pq feels to me like a version of quilt enhanced to support git for
>making local changes. As such if you want to work locally on a project
>without git-dpm support, and you don't want to change that, gbp-pq
>might be
>the best choice. Which is a lot better then basic quilt, however not as
>good as git-dpm for distributed development.
>
>I hope I haven't made too many mistakes :-)
>-- 
>Brian May <br...@microcomaustralia.com.au>

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

Reply via email to