[Cmake-commits] CMake branch, next, updated. v2.8.8-2710-g0811843

David Cole david.cole at kitware.com
Wed Apr 25 17:43:50 EDT 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  08118430d645ef0f8bb9f4429cee534b0fcb2a71 (commit)
       via  987c017f6b1b49ab832c244166e30e07260432da (commit)
      from  283b8fe1ed285f15ee3b408ec070e8a98bb29413 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=08118430d645ef0f8bb9f4429cee534b0fcb2a71
commit 08118430d645ef0f8bb9f4429cee534b0fcb2a71
Merge: 283b8fe 987c017
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Wed Apr 25 17:43:48 2012 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Apr 25 17:43:48 2012 -0400

    Merge topic 'fix-12564-avoid-git-re-clones' into next
    
    987c017 ExternalProject: Avoid unnecessary git clones (#12564)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=987c017f6b1b49ab832c244166e30e07260432da
commit 987c017f6b1b49ab832c244166e30e07260432da
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Wed Apr 25 17:30:18 2012 -0400
Commit:     David Cole <david.cole at kitware.com>
CommitDate: Wed Apr 25 17:30:18 2012 -0400

    ExternalProject: Avoid unnecessary git clones (#12564)
    
    In the case of git, only track the repository in the
    repository info dependency tracking file. Not the tag.
    
    The download step should only re-run if the repository changes.
    The download step should NOT re-run if the tag changes.
    
    The update step is an 'always' re-running step, and so should
    already re-run, unless it's been eliminated by use of
    
      UPDATE_COMMAND ""

diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index 301d1fc..1997572 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -1079,9 +1079,15 @@ function(_ep_add_download_command name)
       set(git_tag "master")
     endif()
 
+    # For the download step, and the git clone operation, only the repository
+    # should be recorded in a configured RepositoryInfo file. If the repo
+    # changes, the clone script should be run again. But if only the tag
+    # changes, avoid running the clone script again. Let the 'always' running
+    # update step checkout the new tag.
+    #
     set(repository ${git_repository})
     set(module)
-    set(tag ${git_tag})
+    set(tag)
     configure_file(
       "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
       "${stamp_dir}/${name}-gitinfo.txt"

-----------------------------------------------------------------------

Summary of changes:
 Modules/ExternalProject.cmake |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list