[Xcb] repository history repaired

Jamey Sharp jamey at minilop.net
Mon Sep 11 22:38:12 PDT 2006

When we imported XCB's CVS repository into GIT, nobody noticed that the
earliest history was missing. It turns out that back in 2003 I
rearranged the CVS repository by moving *,v files around on the server,
discarding two formative years of XCB's history in the process.

This weekend I merged the original history back together with the more
modern changes, and after a lot of help from Eric Anholt and some
experimentation on my own I think I have that history correctly grafted
into our GIT repository. (Eric, thanks much for your patience, which I
abused horribly.)

I believe existing clones of the repository should continue to work, and
our signed tags and published SHA1 hashes remain valid. In other words,
if you don't care about the history, you shouldn't have to do anything.
However, you can browse the corrected history through gitweb, and new
clones will have all the corrected commits available.

If you want the correct history in your local copy, you need to get a
fresh clone of the repository (I couldn't coerce git-pull into fetching
the new commits). Then run this command from your top-level XCB working

echo 142724e7e10f0f3107570d4b56dd1a1e2ef212e4 \
	82f6fe21f5e448b0e66929f05b3e3c06bde01287 >> .git/info/grafts

I hope that future versions of git-clone will clone the grafts file as

To achieve this pleasant state of affairs, I only had to copy the
contents of .git/objects/pack from the repository constructed by
parsecvs into /git/xcb.git/objects/pack at freedesktop.org, and set up
the correct grafts file as described on the GIT wiki:
If people tell me I've broken things in some way that my testing hasn't
revealed, I guess I only need to delete those files from the server and
we'll be back where we were.

At this point, the tags 'start' and 'pre_sendrequest' still refer to the
first try at importing from CVS. I could move them to point at the
corrected history, but I thought I'd wait until people can confirm I
haven't broken things. Also, parsecvs apparently didn't create a tag
object for them, but only a lightweight tag. Dunno if we care.

Carl, I think you should be able to take the same approach to fix
Cairo's history problems that you described in May:

Conclusion: gitweb is more useful now, but please inspect things to make
sure I haven't broken them.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/xcb/attachments/20060911/2e4713c5/attachment.pgp

More information about the Xcb mailing list