Subject: Re: StGit question

From: Clark Williams <[email-masked]>
Date: Fri, 12 Sep 2008 07:41:11 -0500

Karl Hasselström wrote:
> On 2008-09-11 12:04:06 -0500, Clark Williams wrote:
> 
>> Are there any guidelines or best-practices for sharing StGit trees?
> 
> See below. ;-)
> 
>> I'm working with the Linux -rt patchset and I need to be able to
>> share my tree with other people. What I'd *like* to do is push git
>> tree's up to a git server, let other people fetch them and have them
>> be able to 'stg uncommit' to get back to my stack state. The problem
>> is that when someone uncommits, you lose the patch names. If you're
>> trying to create an RPM out of a stack, this causes problems :).
>>
>> Is there something I can do or something that we can do to StGit to
>> make it possible for an 'uncommit' to restore the original patch
>> name? It looks like I could modify the commit message, so that the
>> first line is the patch name, but that's not very nice for people
>> scanning commits.
>>
>> Or am I missing something completely trivial that will make my life
>> easier?
> 
> You've probably already found this and dismissed it, but
> 
>   $ stg uncommit foo bar baz woo wee aaahh
> 
> will uncommit six patches and give them those names. So if you just
> share the output of
> 
>   $ stg series --applied --noprefix
> 
> along with your branch, the other end will be able to recreate a
> series with the same names. (In not-quite-bleeding-edge stg's, "series
> --applied" is spelled "applied".)

Ahhhh, no I hadn't found this. Cool! I wonder if I could save the series in the
branch, so that someone could just checkout the branch and do:

$ stg uncommit $(cat stg-series)

Or, maybe I'll look at adding a --series or --file option to uncommit?

I suspect some chicken-and-egg problems here, but this is workable. And when you're
talking >500 patches, anything you can do to automate is a wonderful thing :).

> 
> As for merging your work once both of you have made changes to the
> series, the current solution is "stg sync", which you'll have to ask
> Catalin about. The patch stack log in my experimental branch is
> designed to allow for true 3-way merging of patch series, so that
> you'd be able to get your colleague's latest modifications with a
> simple "stg merge" command, but that merge currently exists only in a
> couple of mails to this list -- there isn't even a prototype
> implementation -- so I expect you'll have more luck with "stg sync"
> right now ...
> 

Most of the time it's not more than one or two patches difference, so I think that it
can be handled manually for now. I'll definitely keep an eye on sync and merge though...

Thanks,
Clark