Live builds (was: Merged proto package)
Florian Mickler
florian at mickler.org
Tue Apr 20 13:09:42 PDT 2010
On Tue, 20 Apr 2010 15:54:43 +0200
Dirk Wallenstein <halsmit at t-online.de> wrote:
> On Mon, Apr 19, 2010 at 01:19:30PM +0200, Florian Mickler wrote:
> > On Sun, 18 Apr 2010 19:30:31 +0200
> > Dirk Wallenstein <halsmit at t-online.de> wrote:
> >
> > > A full-fledged meta-git repo management tool suite would be nice. Such
> > > an application would, for example, be able to:
> > > - inform about the state of the modules (dirty, ahead of origin/master,
> > > not on master, etc)
> > > - swap in and out personal trees. Maybe simply per symlinks.
> > > - check out a particular katamari version of each module
> > >
> > > Does something similar exist already? One might assume that all larger
> > > projects, like for example desktop environments, could need something
> > > like that.
> > >
> >
> > check out peter hutterer's git supermodule:
> >
> > $> git clone git://people.freedesktop.org/~whot/X11R7.5.git
> > $> cd X11R7.5
> > $> git submodule init && git submodule update
> > $> ./TINDERBOX /opt/xorg-7.5
> >
> > and the corresponding man-pages... :)
> >
> > cheers,
> > Flo
> I've hacked a script that informs me about deviations from the normal
> case, which is 'HEAD == master == origin/master' , to get an
> understanding of the current state. It answers "Did I edit libX11 at
> some point?", "Did I insert private comments in some module while
> exploring?", and such, nothing more. But you can put it in front of
> `build.sh -p` or jhbuild to catch unwanted conflicts when pulling:
>
> ./xbuild-state.py || (echo -n "continue? (*|^C)" ; read a ) && build.sh -p ...
this would probably be a
$> git status || ( echo -n "continue? (*|^C)"; read a) && build.sh -p
in the supermodule.
or a
$> git status > /dev/null || git submodule | grep -v "^ " && \
( echo -n "continue? (*|^C)"; read a) && build.sh -p
or a
$> git status > /dev/null || git submodule summary && \
( echo -n "continue? (*|^C)"; read a) && build.sh -p
example use of the supermodule:
$> cd driver/xf86-video-intel
#[hack, commit, hack, commit]
$> ../../extras/mesa/drm
#[hack,commit,hack]
$> cd ../..
$> git status > /dev/null && jhbuild
$> git status
[snip]
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: driver/xf86-video-intel
# modified: extras/mesa/drm
[snip]
$> git diff
diff --git a/driver/xf86-video-intel b/driver/xf86-video-intel
index 9acf107..72fd7d1 160000
--- a/driver/xf86-video-intel
+++ b/driver/xf86-video-intel
@@ -1 +1 @@
-Subproject commit 9acf10762b5f3d3b1b33ea07792a936a25e45010
+Subproject commit 72fd7d191c33c8d0b75b06ab0717d7ca0d4e019a
diff --git a/extras/mesa/drm b/extras/mesa/drm
--- a/extras/mesa/drm
+++ b/extras/mesa/drm
@@ -1 +1 @@
-Subproject commit c9065c5963db1b8196d278c47b8da2c33a3c49d1
+Subproject commit c9065c5963db1b8196d278c47b8da2c33a3c49d1-dirty
$> git add extras/mesa/drm
$> git add driver/xf86-video-intel
$> git commit -m "hacked on drm and intel"
$> git diff
diff --git a/extras/mesa/drm b/extras/mesa/drm
--- a/extras/mesa/drm
+++ b/extras/mesa/drm
@@ -1 +1 @@
-Subproject commit c9065c5963db1b8196d278c47b8da2c33a3c49d1
+Subproject commit c9065c5963db1b8196d278c47b8da2c33a3c49d1-dirty
$> cd extras/mesa/drm
$> git stash
Saved working directory and index state WIP on master: c9065c5 Correct the Solaris definitions of atomic_add & atomic_dec
HEAD is now at c9065c5 Correct the Solaris definitions of atomic_add & atomic_dec
$> cd ../..
$> git status > /dev/null && echo "jhbuild"
jhbuild
>
> But don't look too hard at the script. It's also not python-3 ready.
>
> Greetings,
> Dirk
cheers,
Flo
More information about the xorg-devel
mailing list