This is the mail archive of the
frysk@sourceware.org
mailing list for the frysk project.
Doing a vendor branch import and merge if libunwind
- From: Mark Wielaard <mark at klomp dot org>
- To: frysk <frysk at sources dot redhat dot com>
- Date: Thu, 22 Nov 2007 15:07:31 +0100
- Subject: Doing a vendor branch import and merge if libunwind
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