Bootstrapping every checkout

Pavel Pisa ppisa4lists at pikron.com
Sun Mar 4 21:56:01 UTC 2012


Hello Gedare,

On Sunday 04 March 2012 07:12:05 Gedare Bloom wrote:
> On Sun, Mar 4, 2012 at 12:19 AM, Ralf Corsepius
>
> <ralf.corsepius at rtems.org> wrote:
> > On 03/04/2012 06:00 AM, Gedare Bloom wrote:
> >> Hi
> >>
> >> I'm finding it cumbersome to re-run bootstrap each time I checkout a
> >> branch that has some changes that touch the build-related files in my
> >> experimental branches.
> >
> > Use multiple parallel checkouts.
>
> Yes I always did this when we used CVS; I was hoping there might be
> some nicer solution available.

You know probably next but I try anyway

 - for multiple local git checkout you can preserve (almost) all network
   bandwidth and space for history copies and still work with multiple
   separate checkouts when you use --reference option of GIT clone.

     git clone --reference /home/user/rtems/my-rtems-main-clone \
         git://git.rtems.org/rtems.git
      
   You can then push/pull changes to the rtems.org remote from
   the clone directly. You can
         
     cd /home/user/rtems/my-rtems-main-clone
     git pull /home/user/rtems/above-temporary-clone

   The GIT objects base works well even if you clone
   different person clone/development fork of
   the repo than "main" local clone is because most of the
   objects (file states or contents) are shared anyway.

 - In the theory, if you run configure with --enable-maintainer-mode
   then subsequent make invocations should rerun automake and autoconf
   in these subdirectories where Makefile, config.h, configure etc..
   prerequisites has newer date than auto-tools generated files.
   And GIT checkout newer changes dates of created files to their
   original commit in date.

   So it should work well after almost each possible RTEMS versions switch.
   I am not fully sure if it would work well when some directories
   with local config.ac are removed or added. But it depends probably
   on a way how elaborated is auto-tools integration into the project.

   But I am really retarded when it comes to auto-tools and their more
   advanced use so somebody with more knowledge (Joel, Ralf) could help
   and say if I am right in my expectations and check if RTEMS
   auto-tools build Makefile rules strong enough to catch all
   these situations or suggest when bootstrap has to be really run again.

Best wishes,

             Pavel



More information about the devel mailing list