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

debdir git branch for lightweight debian/-only contributions

Hi all.

I've been experimenting a bit with git-subtree (from git/contrib/, now
installed by default as part of Git in Debian Jessie, yay!) in order to
allow for minimal clones of and contributions to the debian/ content.

This might potentially be useful to remove the barrier for quick
packaging contributions to large packages. Take redeclipse-data for
example, where a full git clone is around 0.8G, and this method allows
for cloning (and pushing back up) the debian/ part in 300K.

What do you think? Is it something that can be worthwhile? Is there many
that feel clone size is an issue? Would this help?

In any case it was an interesting experiment that I though I might
share, I have set up a debdir branch using this method in the
redeclipse-data git://git.debian.org/pkg-games/redeclipse-data.git
repository, if anyone wants to have a look.

== Setup ==
(Assuming "master" has debian/ and upstream content combined)
The debdir branch is created and published simply using

$ git checkout master
$ git subtree split -P debian -b debdir
$ git push origin debdir

== Contributing to debdir ==
To clone only the debdir branch, use

$ git clone --single-branch --branch debdir $url

Then make commits as usual, and the just push back to the debdir branch.

Note that the contributions can be done without git-subtree.

== Merge debdir ==
If a combined master is desired as the end result, someone with a full
clone will need to merge the new commits in debdir back into master,
like so

$ git checkout master
$ git subtree merge -P debian debdir

== Update debdir ==
If commits are made to the debian/ content in the combined master
branch, these needs to be re-split out into the debdir branch in order
to keep it updated, like so

$ git checkout master
$ git subtree push -P debian . debdir
$ git push origin debdir

Martin Erik Werner <martinerikwerner@gmail.com>

Reply to: