From 6469c4d72b031e3dccce7051db812bd03208bd85 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Thu, 26 Mar 2009 23:14:45 +0100 Subject: [PATCH] doc: update README-hacking. * README-hacking: We now use git and git submodules. Reported by Ralf Wildenhues and Alexandre Duret-Lutz. --- ChangeLog | 6 +++++ README-hacking | 62 ++++++++++++++++++++++++++++++++++++++++++++------ THANKS | 1 + 3 files changed, 62 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2713a500..c163347d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-03-26 Akim Demaille + + doc: update README-hacking. + * README-hacking: We now use git and git submodules. + Reported by Ralf Wildenhues and Alexandre Duret-Lutz. + 2009-03-26 Akim Demaille lalr1.cc: avoid GCC 4.3 warnings. diff --git a/README-hacking b/README-hacking index 1116a6c0..a63cabbd 100644 --- a/README-hacking +++ b/README-hacking @@ -39,31 +39,79 @@ Obviously, if you are reading these notes, you did manage to check out this package from the repository. For the record, you will find all the relevant information on: - http://savannah.gnu.org/cvs/?group_id=56 + http://savannah.gnu.org/git/?group=bison + +Bison uses Git submodules: subscriptions to other Git repositories. +In particular it uses gnulib, the GNU portability library. To ask Git +to perform the first checkout of the submodules, run + + $ git submodule update --init + +Git submodule support is weak before versions 1.6 and later, you +should probably upgrade Git if your version is older. The next step is to get other files needed to build, which are extracted from other source packages: - $ ./bootstrap + $ ./bootstrap And there you are! Just - $ ./configure - $ make - $ make check + $ ./configure + $ make + $ make check At this point, there should be no difference between your local copy, and the master copy: - $ cvs diff + $ git diff should output no difference. Enjoy! +* Updating + +The use of submodules make things somewhat different because git does +not support recursive operations: submodules must be taken care of +explicitly by the user. + +** Updating Bison + +If you pull a newer version of a branch, say via `git pull', you might +import requests for updated submodules. A simple `git diff' will +reveal if the current version of the submodule (i.e., the actual +contents of the gnulib directory) and the current request from the +subscriber (i.e., the reference of the version of gnulib that the +Bison reporitory requests) differ. To upgrade the submodules (i.e., +to check out the version that is actually requested by the subscriber, +run `git submodule update'. + + $ git pull + $ git submodule update + +** Updating a submodule +To update a submodule, say gnulib, do as follows: + +Get the most recent version of the master branch from git. + + $ cd gnulib + $ git fetch + $ git checkout -b master --track origin/master + +Make sure Bison can live with that version of gnulib. + + $ cd .. + $ ./bootstrap + $ make distcheck + +Register your changes. + + $ git checkin ... + ----- -Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software +Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff --git a/THANKS b/THANKS index d7addddd..4c847f52 100644 --- a/THANKS +++ b/THANKS @@ -75,6 +75,7 @@ Piotr Gackiewicz gacek@intertel.com.pl Quoc Peyrot chojin@lrde.epita.fr R Blake blakers@mac.com Raja R Harinath harinath@cs.umn.edu +Ralf Wildenhues Ralf.Wildenhues@gmx.de Richard Stallman rms@gnu.org Robert Anisko anisko_r@epita.fr Satya Kiran Popuri satyakiran@gmail.com -- 2.45.2