require_once("../../liberislabs.php"); $pagedata=array( 'name' => 'index', 'title' => 'GNULib Stable HOWTO', 'jumbotron_title' => 'GNULib Stable HOWTO', ); show_page_top($pagedata); show_jumbotron($pagedata); ?>
upstream | tracks git://git.savannah.gnu.org/gnulib.git |
stable | the stable snapshot we produce, based on upstream |
master | the debian branch, based on stable (optional) |
$ git clone git://git.savannah.gnu.org/gnulib.git $ git branch -m master upstream
$ git remote add erislabs git://erislabs.net/gnulib.git $ git fetch erislabs $ git branch stable erislabs/stable
$ git branch stable upstream
$ git checkout upstream $ git pull
$ git tag snapshot-start upstream
$ git checkout upstream $ ./gnulib-tool --create-megatestdir --with-tests --dir=t 2>&1 | tee create.out $ cd t $ ./do-autobuild 2>&1 | tee ../build.out $ cd ..
$ grep -L rc=0 t/logs/*
$ git checkout stable $ git merge upstream
$ git checkout upstream <all conflicting paths except NEWS.stable> $ git commit -a
$ git checkout upstream $ git pull
$ git log --oneline --reverse --topo-order snapshot-start..upstream > ../stable.log
$ git checkout stable
$ git show commitid
$ stable-cherry-pick commitid(stable-cherry-pick source)
$ git tag -d snapshot-start
$ git tag stable/yymmdd
$ git archive --format=tar --prefix=gnulib-yymmdd-stable/ stable/yymmdd | gzip -9 > ../gnulib-yymmdd-stable.tar.gz