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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to