Hello,

Please review the topic ExternalProject_GitUpdate

ExternalProject handles git remote branches by commit hash. Due to this,
the git repository ends in detached states, and local commits are discarded.

This patch uses "git pull --rebase" for remote branches instead of git
checkout. If there are local changes, "git stash" is used to save the
changes and restore them after the pull. If any of these operation
fails, it tries to restore the original status and exits with a fatal
error, asking the user to resolve the conflicts manually.

This also makes the behaviour of ExternalProject using git more similar
to the svn version, and probably more likely to what the user expects by
setting GIT_TAG to a branch.


Cheers,
 Daniele
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to