Emmet Hikory writes:
> Jacob Nevins wrote:
>> (Guess: are you switching a single working directory between trunk
>> and S2_4? This is currently fraught, requiring "make maintainer-clean" and
>> starting again. This bites me in my mad git-svn setup.)
>     Ah, yes, precisely.  Thanks for the explanation: I wondered why
> it didn't work.  I had thought that git reset --hard would be sufficient,
> but perhaps that requires being less agressive with info/exclude :)
>     Strangely, it had worked previously for some of my deeper history
> investigation, but perhaps I just got lucky (or went far enough back
> in time that the build system figured my machine was lying to it).

This is a relatively recent thing.
This -dev post from February 24 refers:
(sorry, self-signed certificate on gratuitously-https site)

>     Do I need to do anything other than `make maintainer-clean` to
> operate in this manner, or are there other tricks that are important
> if porting patches to stable branches for accurate testing?

I have a single git repository that I synchronise with upstream with
git-svn. I don't have one working directory per branch because of fears
about what happens to the svn metadata when you clone. Until recently,
it's been sufficient to "git checkout S2_4" then "make" -- it re-runs
autogen as necessary, remembering my options to 'configure', and options
only applicable to newer branches don't faze older ones -- it requires a
rebuild from clean, but ccache and a fast machine make this bearable.
(No need for git reset of any kind.)

Post patch #3230, my procedure for switching between trunk and older
branches is:
$ make maintainer-clean
$ git checkout <new-branch>
$ ./autogen.sh --no-configure-run
$ ./configure [my-favourite-configure-options] CC="ccache gcc" CXX="ccache g++"
$ make

ccache is still effective at making this more or less tolerable. But I
should probably look into how hard it would be to maintain multiple
working directories while using git-svn, since this is all a bit mad.

Freeciv-dev mailing list

Reply via email to