Thursday, April 23, 2009

The big fat X.Org supermodule

I've been using a git supermodule for nearly 2 months now and it works great. So here it is, do with it what you will.

git://people.freedesktop.org/~whot/xorg.git

It includes all the modules I care about to get a server running.

The advantages of git submodule are simply that I have a known working tree I can easily share between my test machines. Whenever I update a component, I can test it and easily revert back to the previous working version if needed.

Advantages for you: if you pull from that tree, you're running a version that at least compiles and runs on my hardware. That doesn't mean it's bug-free of course, but it's a start if you want to get into X server testing.

Disadvantages: I update input stuff often, other stuff when needed. So if you care about the latest and greatest graphics patches, you will need to maintain your own tree. Such is life.

Updating is easy: git pull and git submodule update.

The git submodule interface is missing one important feature to make this workflow better (automatic rebasing), but that'll hopefully be fixed in a future git version.

3 comments:

dileX said...

Hi whot,

unfortunately, there is a step missing between 3 and 4:

$ git submodule init

1. git clone git://people.freedesktop.org/~whot/xorg.git
2. cd xorg
3. git pull
4. git submodule update

Thanks for your tipps concerning git and tig. They are very helpful in daily life.

Keep on the good work.

Kind Regards,
- dileX -

dileX said...

To make it perfect:
Can you please add a suitable build-script or just the one you use?

That would make testing easier :-).

-dileX

Bryan Goldstein said...

what do you use to build all of the submodules once you have them checked out?