Как я могу заставить git clone --recursive AB использовать репозитории субмодулей в A? - PullRequest
3 голосов
/ 29 марта 2012

Похоже, что если в проекте A имеются подмодули с удаленными URL-адресами, то git clone --recursive A B настаивает на том, чтобы извлекать копии каждого хранилища подмодулей из удаленного URL-адреса. Есть ли способ заставить git клонировать репозитории субмодулей из копий в A вместо извлечения из удаленных репозиториев?

Полагаю, я мог бы сделать что-то вроде:

git clone A B
cd A
git submodule --quiet foreach 'echo [submodule \"$path\"]\\n path = $path\\n url = $toplevel/$path ' > ../B/.gitmodules
cd ../B
git submodule sync
git submodule update --init --recursive
git checkout .gitmodules
cd ..

Есть ли более простой способ?

1 Ответ

1 голос
/ 30 марта 2012

Все локально?

cp -r A B

[ответ на комментарий]

Если A грязный, то:

   (cd A; git stash)
   cp -r A B
   (cd B; git stash drop)
   (cd A; git stash apply)
...