[CMake] Prevent ExternalProject from updating git submodules
Hendrik Sattler
post at hendrik-sattler.de
Mon Oct 24 23:29:58 EDT 2016
Hi,
you can tell git where your copy of tree remote url is. This is site-specific and does not change the repository:
git config remote."$origirl".url "$newurl"
HS
Am 25. Oktober 2016 03:52:12 MESZ, schrieb Tim Rae <timothy.rae at sbibits.com>:
>Hi all,
>
>I'm using ExternalProject_Add to add the popular C++ library range-v3
>to
>one of our projects. However, since the build server only has local
>intranet access, and therefore can't access the main github repository,
>
>we have put a clone of that repo on our local gitlab:
>
>ExternalProject_Add(range-v3
> PREFIX ${PREFIX_DIR}
> GIT_REPOSITORY ${LOCAL_GITLAB_URI}
>)
>
>The problem is that range-v3 has a documentation submodule that points
>to github, so `git clone ${LOCAL_GITLAB_URI} --recursive` would fail
>when github is inaccessible, whereas git clone works fine without the
>recursive flag.
>
>I found a previous message from Tim Gallagher on the mailing list
>reporting the same problem, but it looks like the issue was never
>addressed upstream.
>
>https://cmake.org/pipermail/cmake/2015-March/060100.html
>
>Unfortunately, specifying GIT_SUBMODULES "" will add all submodules, so
>
>it doesn't appear that variable will help to solve the issue. I would
>suggest either having a special value like "__NONE__", or having a new
>boolean variable like INIT_GIT_SUBMODULES; either of which can be used
>to disable the automatic initialization of submodules entirely.
>
>You could also change the default to NOT pull in submodules. This would
>
>be much better IMHO, as the current behavior is unintuitive. Most
>developers (e.g. myself until yesterday) don't even know what a
>submodule is, and are only familiar with using git clone, as opposed to
>
>git clone --recursive. Obviously this would be a breaking change
>though,
>so I understand that you probably don't want to go with this option.
>
>For now I have "solved" the problem by adding a new commit to our
>range-v3 fork removing all git submodules, however this makes it more
>difficult to get the upstream changes in, so I highly recommend adding
>an option to disable the automatic initialization of git submodules.
>
>Best regards,
>Tim
>
>--
>*This correspondence (including any attachments) is for the intended
>recipient(s) only. It may contain confidential or privileged
>information or
>both. No confidentiality or privilege is waived or lost by any
>mis-transmission. If you receive this correspondence by mistake, please
>
>contact the sender immediately, delete this correspondence (and all
>attachments) and destroy any hard copies. You must not use, disclose,
>copy,
>distribute or rely on any part of this correspondence (including any
>attachments) if you are not the intended recipient(s). 本
>メッセージに記載および添付されている情報 (以 下、総称して「本情報」といいます。)は、本来の受信者による使用のみを 意
>図しています。誤送信等により
>本 情報を取得された場合でも、本情報に係る 秘 密、または法律上の秘匿特権が失われるものではありません。本電子メールを 受
>取られた方が、本来の受
>信者ではない場合には、本情報及びそのコピー すべ てを削除・破棄し、本電子メールが誤って届い た旨を発信者宛てにご通知下さい ま
>すようお願いしま
>す。本情報の閲覧、発信または本情報に基づく いかなる行 為も明確に禁止されていることをご了承くださ い。*
>--
>
>Powered by www.kitware.com
>
>Please keep messages on-topic and check the CMake FAQ at:
>http://www.cmake.org/Wiki/CMake_FAQ
>
>Kitware offers various services to support the CMake community. For
>more information on each offering, please visit:
>
>CMake Support: http://cmake.org/cmake/help/support.html
>CMake Consulting: http://cmake.org/cmake/help/consulting.html
>CMake Training Courses: http://cmake.org/cmake/help/training.html
>
>Visit other Kitware open-source projects at
>http://www.kitware.com/opensource/opensource.html
>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/cmake
--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
More information about the CMake
mailing list