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.