GNOME Bugzilla – Bug 581547
build -C shouldn't nuke modules that have .git
Last modified: 2009-05-06 18:21:14 UTC
-C says "try to force checkout and autogen on failure". svn.py just runs another checkout when this occurs, but git.py removes the entire directory, forcing the download of the git repository again. While this is useful for the svn->git conversion, when a git module fails, the download is unnecessary and also removes changes committed to the local branch. I'm not familiar with git, but is there some way to force a clean checkout from the existing .git repository?
"Force checkout" has also been updated in Subversion to wipe the directory first (as part of bug 580000), so all version controls are consistent in their "force checkout" action. Perhaps it could be changed to offer wipe+checkout and force checkout as different options, and force checkout would "svn co" into the directory, or "git reset"; what was the situation you found the old svn force_checkout behaviour satisfactory ?
What we actually wanted was the "force autogen on failure" part of -C. So breaking that out into a separate option seems like the best idea.
commit d7969abf8c27579510313dc07f974ffaf26780b2 Author: Frederic Peters <fpeters@0d.be> Date: Wed May 6 20:17:21 2009 +0200 change trycheckout to try autogen.sh before forcing a checkout The trycheckout option is used in both terminal and tinderbox frontends, typically for non-attended installations, in case of failure it will now first fallback to trying ./autogen.sh, and in case of a second failure go back to forcing a checkout, wiping the original directory. (GNOME #581547) Tell me if it doesn't suit your needs.