On Monday 12,July,2010 11:59 PM, Guido Günther wrote: > Hi Chow, > On Mon, Jul 12, 2010 at 03:27:42PM +0800, Chow Loong Jin wrote: >> On Monday 12,July,2010 03:10 PM, Guido Günther wrote: >>> severity 588752 normal >>> thanks >>> >>> Hi, >>> >>> On Mon, Jul 12, 2010 at 05:17:29AM +0800, Chow Loong Jin wrote: >>>> Package: git-buildpackage >>>> Version: 0.4.65ubuntu1 >>>> Severity: important >>>> >>>> >>>> As mentioned in the subject, without pristine-tar in use, or using >>>> --git-no-pristine-tar, git-buildpackage fails with submodules in two areas: >>>> >>>> * Creating the orig tarball from tag or upstream-branch >>>> * Exporting the contents of the debian-branch to a separate directory >>>> (--git-export-dir) >>>> >>>> In both cases, the contents of the submodule is left out, meaning that the >>>> contents of the submodule are missing from both the exported directory and >>>> orig >>>> tarball, leading to it being completely missing from the generated package. >>>> >>>> This is due to git-archive not handling submodules, as it only exports the >>>> contents of a tree-ish, which does not include submodules by >>>> design. git-buildpackage relies on git-archive both for exporting the >>>> directory, as well as for generating the tarball. A possible solution >>>> would be >>>> to workaround these two areas, by looping through each submodule and >>>> exporting to the export-dir or catenating the contents into the generated >>>> tarball. >>> Thanks for your analysis! Yes, with submodules we need to loop over >>> submodules. Seems other have stumbled of the not subarchive-awareness of >>> git-archive too: >>> >>> http://github.com/meitar/git-archive-all.sh >> >> Yes, I had also taken a look at git-archive-all.sh prior to filing this bug >> report. Is anyone already working on this issue? If not, then I will get to >> work >> translating relevant parts of git-archive-all.sh into Python and integrating >> its >> functionality within the git-buildpackage script as soon as possible, as >> Banshee's daily builds[1] have to be suspended until this issue is fixed. I >> will, of course, attach my patch here when I am done. > AFAIK nobody is working on this yet, so go ahead and let me know if I > can help with anything! > Cheers, > -- Guido
Alright, I've gotten around to coding up support for this, which can be found at git://git.debian.org/users/hyperair-guest/git-buildpackage.git under the "submodule-support" branch. I've only patched in support for git-buildpackage, and it only works when the submodules in the debian-branch = the submodules in the upstream-branch at the moment. Is there some way in git-buildpackage where I can checkout the current upstream branch without nuking any local changes in the event of --git-ignore-new? Perhaps via stash or something -- Kind regards, Loong Jin
signature.asc
Description: OpenPGP digital signature