[Mesa-dev] [Mesa3d-dev] Separate demos repository
brianp at vmware.com
Fri May 21 07:34:59 PDT 2010
Eric Anholt wrote:
> On Thu, 20 May 2010 15:45:00 -0400, Kristian Høgsberg <krh at bitplanet.net> wrote:
>> On Thu, May 20, 2010 at 3:18 PM, Eric Anholt <eric at anholt.net> wrote:
>>> On Wed, 28 Apr 2010 11:00:45 +0000, José Fonseca <jfonseca at vmware.com> wrote:
>>>> Could someone with administrative rights on fdo please make an empty
>>>> git://anongit.freedesktop.org/mesa/demos repos, so that we can push this
>>>> branch into it?
>>> Sorry for the delay. I wanted to get a few things done right when
>>> making the new repo:
>>> 1) Don't include all of the Mesa history to keep repo size down.
>>> 2) Keep history of the changes to the demos so annotate works.
>>> 3) Move the demos to src/ so people just coming to the project see a
>>> normal-looking tree.
>>> This sure sounded easy with git-filter-branch. We'd done something like
>>> this with git-split for xcb, and git-filter-branch looked basically like
>>> git-split but with more options. The ugly part is that the tree-filter
>>> takes a very long time, but git mv (unlike git rm) requires a
>>> checked-out tree so you can't index-filter it. Here's how the history
>>> I've pushed came about. I started with:
>>> commit 1391db428fe7b8f3d1c078da98dc1a231b54347f
>>> Author: Wiktor Janas <wixorpeek at gmail.com>
>>> Date: Tue May 4 19:50:26 2010 +0200
>>> u_blitter: fix creating fragment shaders
>>> See FDO bug #27887.
>>> Signed-off-by: Marek Olšák <maraeo at gmail.com>
>>> And then:
>>> # Remove everything in src/
>>> git filter-branch --index-filter "git rm -rf --cached src" HEAD
>>> # Remove all the do-nothing commits that now exist
>>> git filter-branch --prune-empty HEAD
>>> # Remove the nouveau import commit that was now empty, and confused the next filter
>>> git filter-branch --parent-filter "sed 's|-p d57c2aff039d2a1422d0bc4d8e2b850c33d7e95c||'" HEAD
>>> # Now actually move progs/ to src/
>>> git filter-branch -f --index-filter \
>>> 'git ls-files -s | sed "s-\tprogs/-\tsrc/-" |
>>> GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
>>> git update-index --index-info &&
>>> mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD
>>> Anyway, that resulting tree plus the changes I had in the other tree
>>> rebased on it is now pushed to:
>>> I think commit messages are hooked up, too.
>> Very nice... though, shoudn't we also drop the docs, doxygen, include
>> and configs subdirectories?
> Yeah, probably. I'm calling it a night at this point though. Also
> fixed up the generated Makefile in revision control, pulled in the
> changes from Mesa master that weren't in (except for the last cygwin
> fix, and getprocaddress still needs work).
Looks pretty good, Eric.
Don't worry about the getprocaddress test for now, just omit it from
There's a bunch of other clean-ups to be done (ex: convert more
programs to use glew) that I'll try to do in my spare time.
Are we OK to start committing there?
More information about the mesa-dev