2013-05-31 3 views
0

SVN: Externals «http://svn.3rdapp.com/project/subdir/subdir/ Библиотеки/MYDIR/подкаталог»Git: клон/поддерево/фильтр только поддиректории третьей партии Lib

SVN позволяет разработчикам включать подкаталоги библиотек 3-й партии на подкаталоги их собственное репо.

Я хотел бы включить в свой проект только подкаталог сторонней библиотеки, вероятно, как поддерево, которое можно редактировать, а новые восходящие изменения сливаются с моими изменениями.

В частности, https://github.com/openid/php-openid/tree/master/Auth, включенный в Vendor/Auth без каких-либо файлов или истории из других каталогов.

+0

Аналогичный вопрос: [comb-subtree-merge-with-sparse-checkout-in-git] (http://stackoverflow.com/questions/9707612/combine-subtree-merge-with-sparse-checkout-in- git) – MrYellow

+0

Спасибо за downvote, просто потому, что у вас не было такой ситуации. Я могу опубликовать ответ в будущем, показывая, как GIT используется с Bower/Grunt и т. Д., Чтобы преодолеть эти недостатки, присущие его дизайну. – MrYellow

ответ

0

Вы можете использовать функцию sparseCheckout Git, которая была представлена ​​в версии 1.7.0. Он позволяет включать в ваш проект определенные вспомогательные каталоги репозитория. Попробуйте это следующие шаги:

  1. мерзавец клон https://github.com/openid/php-openid.git Vendor/Auth
  2. кд Производитель/Auth
  3. мерзавца конфигурация core.sparsecheckout правда
  4. эхо Auth /> .git/Инфо/разреженный контроль
  5. мерзавца чтение дерево -m -u ГОЛОВА

В выше шаге 4, Auth подкаталога (который вы в nt) добавляется в файл .git/info/sparse-checkout.

Если позже вы решите изменить, какой подкаталог вы хотели бы использовать, просто отредактируйте файл sparse-checkout и повторите шаг # 5.

+0

Можно ли использовать sparsecheckout и read-tree с поддеревом? Было бы хорошо иметь возможность обновлять стороннюю библиотеку отдельно от основного репо. – MrYellow