Hi,

Chiming in here as I'm finding myself in the situation of needing to use
submodules for one of my packages due to upstream... decisions....

I took a look over Loong Jin's patches, and in the default case they
seem to work, which is awesome!  I've rebased them to master, and fixed
a regression that floated up in the meantime with the packaging
self-tests and the new code:

        http://git.debian.org/?p=users/seanius/git-buildpackage.git

I'm a bit concerned about the muckery with the working tree though.

I'm not sure that stashing and branch switching is really the right way
to go here.  Really I'm not sure that we should be messing with the
working tree at all (maybe just fail regardless if the working tree is
dirty, since orig.tar.gz creation is kinda important).  but if gbp is
already doing that internally (is it?) maybe it's not such a problem.  

but anyway, specifically with stash, it can only handle files already
staged.  If you have files changed but not staged, then stash will miss
them, and later stash will fail to to pop, causing gbp to abort.

So if you're going the stash route, i think you'll need to change it to
do the following:

at archive time:

 * if the tree is dirty, stash with a pre-determined message stash1
 * if the tree is still dirty, (unstaged) git add . && stash with stash2

at pop time:

 * check for both stash1 and stash2, and only try to pop them if found


does that make sense?  what do you think?  In the meantime, I'll
continue using Loong Jin's patches and just pay closer attention when it
comes to building the tarballs.


        sean

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to