public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
* Doing a vendor branch import and merge if libunwind
@ 2007-11-22 14:07 Mark Wielaard
  2007-11-22 21:26 ` Andrew Cagney
  0 siblings, 1 reply; 4+ messages in thread
From: Mark Wielaard @ 2007-11-22 14:07 UTC (permalink / raw)
  To: frysk

Hi,

Since there was an somewhat important memory clobbering patch in
upstream libunwind I decided to refresh our libunwind copy. And since
the patch was so small (the rest was really stuff we already had in our
tree, but were not also upstream) I hoped this was easy. It was a bit of
a struggle though, but mostly because I don't know git enough. Here is
what I did. Comments on how to improve this process appreciated.

- Get the libunwind vendor branch
  $ git-checkout vendor/LIBUNWIND
- Remove old stuff
  $ rm -rf frysk-import/libunwind
- Get upstream stuff and put it in
  (make sure you don't accidentially copy over the upstream .git dir)
  $ cp -r ~/upstream/libunwind frysk-import/
- Commit (use a commit messsage like "Import of libunwind version   
          libunwind-20071122") and push
  $ git-commit -a && git-push

The vendor branch is now updated

- Merge to the trunk
  $ git-checkout master
  $ git-merge vendor/LIBUNWIND
- Resolve the conflicts using git-rm for files not needed,
  editing files with conflict markers and git-add each one after
  resolving the issues.
- Do a full clean build and double check the test results.
  [.. lots of time passes...]
- Commit and push the result (git will have generated a merge message
  for you already that you can use in the commit).
  $ got commit && git push

If too much time has passed since the start the push will fail. Trying
to do a git fetch origin; git rebase origin seem to fail, so you have to
just do a git pull && git push then (which creates an extra merge
message, but that seems just fine).

If we have a good workflow we should update the webpages.
Thanks to Tim for helping me out when I got stuck on irc.

Cheers,

Mark

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Doing a vendor branch import and merge if libunwind
  2007-11-22 14:07 Doing a vendor branch import and merge if libunwind Mark Wielaard
@ 2007-11-22 21:26 ` Andrew Cagney
  2007-11-23 12:29   ` Mark Wielaard
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cagney @ 2007-11-22 21:26 UTC (permalink / raw)
  To: Mark Wielaard; +Cc: frysk

Mark Wielaard wrote:
> Hi,
>
> Since there was an somewhat important memory clobbering patch in
> upstream libunwind I decided to refresh our libunwind copy. And since
> the patch was so small (the rest was really stuff we already had in our
> tree, but were not also upstream) I hoped this was easy. It was a bit of
> a struggle though, but mostly because I don't know git enough. Here is
> what I did. Comments on how to improve this process appreciated.
>   
> - Get the libunwind vendor branch
>   $ git-checkout vendor/LIBUNWIND
>   
Perhaps instead of "remove"; "replace"
> - Remove old stuff
>   $ rm -rf frysk-import/libunwind
> - Get upstream stuff and put it in
>   (make sure you don't accidentially copy over the upstream .git dir)
>   $ cp -r ~/upstream/libunwind frysk-import/
> - Commit (use a commit messsage like "Import of libunwind version   
>           libunwind-20071122") and push
>   $ git-commit -a && git-push
>
> The vendor branch is now updated
>
> - Merge to the trunk
>   $ git-checkout master
>   $ git-merge vendor/LIBUNWIND
> - Resolve the conflicts using git-rm for files not needed,
>   editing files with conflict markers and git-add each one after
>   resolving the issues.
> - Do a full clean build and double check the test results.
>   [.. lots of time passes...]
> - Commit and push the result (git will have generated a merge message
>   for you already that you can use in the commit).
>   $ got commit && git push
>
> If too much time has passed since the start the push will fail. Trying
> to do a git fetch origin; git rebase origin seem to fail, so you have to
> just do a git pull && git push then (which creates an extra merge
> message, but that seems just fine).
>
> If we have a good workflow we should update the webpages.
> Thanks to Tim for helping me out when I got stuck on irc.
>
>   
Please don't hold back here; this is clearly far better than what we 
have now; so should replace what we have now

Andrew



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Doing a vendor branch import and merge if libunwind
  2007-11-22 21:26 ` Andrew Cagney
@ 2007-11-23 12:29   ` Mark Wielaard
  2007-11-23 19:29     ` Andrew Cagney
  0 siblings, 1 reply; 4+ messages in thread
From: Mark Wielaard @ 2007-11-23 12:29 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: frysk

Hi Andrew,

On Thu, 2007-11-22 at 16:26 -0500, Andrew Cagney wrote:
> > If we have a good workflow we should update the webpages.
> > Thanks to Tim for helping me out when I got stuck on irc.
> >   
> Please don't hold back here; this is clearly far better than what we 
> have now; so should replace what we have now

Yeah, you are right. I was just holding back since I am not sure this is
really the best workflow. But it does seem to work. So I cleaned up the
working a bit and added it to the end of htdocs/build/git-fu.html.

Please update and expand if you know a better way to do it.

The thing you don't record now in git is the 'extra fixes needed for
this new import' step. I am not sure you can actually do that nicely,
because if you commit immediately after the merge to trunk, but before
you fix things up to resolve either conflicts or new stuff needed to
compiler/run correctly you are left with a commit that won't
compiler/run the tests correctly, which is bad if someone really wants
to use bisect for example.

I pushed the git-fu.html change, but that did give me an error (I assume
from the server): "/git/frysk.git/hooks/update-htdocs: line 21:
git-archive: command not found"
And http://sourceware.org/frysk/build/git-fu.html hasn't been updated
with the new changes.

Cheers,

Mark

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Doing a vendor branch import and merge if libunwind
  2007-11-23 12:29   ` Mark Wielaard
@ 2007-11-23 19:29     ` Andrew Cagney
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Cagney @ 2007-11-23 19:29 UTC (permalink / raw)
  To: Mark Wielaard; +Cc: frysk

Mark Wielaard wrote:
> Hi Andrew,
>
> On Thu, 2007-11-22 at 16:26 -0500, Andrew Cagney wrote:
>   
>>> If we have a good workflow we should update the webpages.
>>> Thanks to Tim for helping me out when I got stuck on irc.
>>>   
>>>       
>> Please don't hold back here; this is clearly far better than what we 
>> have now; so should replace what we have now
>>     
>
> Yeah, you are right. I was just holding back since I am not sure this is
> really the best workflow. But it does seem to work. So I cleaned up the
> working a bit and added it to the end of htdocs/build/git-fu.html.
>
>   
Thanks.
> Please update and expand if you know a better way to do it.
>
> The thing you don't record now in git is the 'extra fixes needed for
> this new import' step. I am not sure you can actually do that nicely,
> because if you commit immediately after the merge to trunk, but before
> you fix things up to resolve either conflicts or new stuff needed to
> compiler/run correctly you are left with a commit that won't
> compiler/run the tests correctly, which is bad if someone really wants
> to use bisect for example.
>
>   
Nurdin handled this by doing the merge onto a branch cut from mainline.  
Once all was resolved he merged that.

> I pushed the git-fu.html change, but that did give me an error (I assume
> from the server): "/git/frysk.git/hooks/update-htdocs: line 21:
> git-archive: command not found"
> And http://sourceware.org/frysk/build/git-fu.html hasn't been updated
> with the new changes.
>
> Cheers,
>
> Mark
>
>   

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-23 19:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-22 14:07 Doing a vendor branch import and merge if libunwind Mark Wielaard
2007-11-22 21:26 ` Andrew Cagney
2007-11-23 12:29   ` Mark Wielaard
2007-11-23 19:29     ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).