[Mesa-dev] [Mesa3d-dev] Separate demos repository

Jakob Bornecrantz jakob at vmware.com
Thu May 20 12:37:30 PDT 2010


On 2010-05-20 20.18, Eric Anholt wrote:
> On Wed, 28 Apr 2010 11:00:45 +0000, José Fonseca<jfonseca at vmware.com>  wrote:
>    
>> Ping.
>>
>> 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?
>>
>> Jose
>>      
> 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
>
> Yuck.
>
> Anyway, that resulting tree plus the changes I had in the other tree
> rebased on it is now pushed to:
>
> git+ssh://git.freedesktop.org/git/mesa/demos
>
> I think commit messages are hooked up, too.
>    
Nice work Eric, thanks for doing this!

I'm wondering if you didn't by accident committed the Makefile generated 
by automake?

Cheers Jakob.


More information about the mesa-dev mailing list