[cairo] XCB 1.0rc1 renaming patch

Carl Worth cworth at cworth.org
Mon Oct 2 16:13:53 PDT 2006

On Sat, 30 Sep 2006 13:35:51 -0700, Ian Osgood wrote:
>  boilerplate/cairo-boilerplate.c |   50 ++++---
>  src/cairo-xcb-surface.c         |  261 ++++++++++++++++++++-------------------
>  src/cairo-xcb-xrender.h         |   12 +-
>  src/cairo-xcb.h                 |   14 +-
>  4 files changed, 172 insertions(+), 165 deletions(-)

That's all the review I need to do here. You XCB guys own the XCB
backend, and it's good to see it getting brought up to date.

So, once you get the version check added, (as Behdad mentioned),
please feel free to push this out to cairo's master tree if you can,
(or ask me for help if you can't).

> (Git question: once a patch has been decided upon, how do I git rid
> of the local commit so it doesn't interfere with pulls from the main
> repository?)

An easy thing to do is to do your own commit on a separate branch. You
could have done that from the beginning with:

	git checkout -b xcb-rename
	# hack, hack, hack

But it's easy enough to do after the fact as well:

	# Create the new branch
	git checkout -b xcb-rename
	# Then move the master branch back to origin
	git branch -d master
	git checkout -b origin
	git checkout -b master

The second part there could also be done in fewer steps with
"git checkout master; git reset --hard origin" but that reset command
is a bit dangerous, (and particularly destructive to uncommitted
changes), so I prefer to recommend approaches that don't use that.

Anyway, if you have all that in place, then when you update your
origin and find that it has the changes you want, (after having gone
through an emailed patch), then you can just delete your xcb-rename
branch with:

	git branch -D xcb-rename

But, an alternative to all of that is to just push out your own change
yourself. That's easier on me, (no need to apply a patch from email
and push it out), and easier for you to ensure that what you wanted
actually made it to the tree. So that's the easiest thing to do.

And all I ask there is to try to avoid merge commits for things like a
single patch. That is, if you want to push out some commits on the
xcb-rename branch but origin has already progressed beyond the point
where xcb-rename originally branched, then you can do the following to
rebase the branch on top of the new point:

	git checkout xcb-rename
	git rebase origin

(This is an alternative to "git pull . origin" which would work to
merge in the new changes from origin into the current branch, but
would result in an annoying merge commit).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20061002/650b1ebd/attachment.pgp

More information about the cairo mailing list