Подмодули git - единственный безопасный способ иметь рабочие копии в рабочих копиях? - PullRequest
17 голосов
/ 28 мая 2009

В моем сценарии у меня есть программа, которая анализирует файлы ввода данных и создает другие файлы вывода данных. Я хочу, чтобы программа управления версиями управляла версией файлов данных, и, в качестве предпочтения, я хочу, чтобы рабочая копия файлов данных была в рабочей копии программы. Я хочу, чтобы программа и данные управлялись версией отдельно, чтобы уменьшить «шум». Программа не зависит от файлов данных.

Если я использую подмодули git, то, когда что-то происходит в каталоге данных (я думаю, зафиксированные обновления), система контроля версий программы отмечает, что есть обновление с подмодулем. Что было бы полезно, если бы программа зависела от данных, но это не так.

В таком случае возможно ли иметь рабочую копию в другой рабочей копии без использования подмодулей git?

Ответы [ 2 ]

20 голосов
/ 28 мая 2009

Можно просто «вложить» рабочие копии в Git. Так что, если вы клонируете свой программный репозиторий, то внутри него клонируются ваши файлы данных, тогда вы можете работать с ними независимо. Когда Git выполняет файловые операции, он ищет up в дереве каталогов, ища каталог .git, поэтому операции Git, выполняемые в хранилище данных, не влияют на хранилище программ. Если вы сделаете это, вы можете добавить имя каталога данных в .gitignore, чтобы уменьшить шум из репозитория программы.

1 голос
/ 30 ноября 2009

Это также полезный обходной путь при работе с Heroku и rails в ситуациях, когда у вас есть плагины, которые должны быть версионированы. В настоящее время Heroku не поддерживает подмодули git, поэтому размещение рабочих копий кажется лучшим решением. В этом случае вы не захотите добавлять каталог плагинов в .gitignore, так как в этом случае вы не сможете загрузить свои плагины при нажатии на heroku, но сами по себе. Надеемся, что в итоге Heroku будет поддерживать подмодули git.

...