Управление исходным кодом: Работа с различными проектами с файлами в одних и тех же каталогах - PullRequest
0 голосов
/ 10 апреля 2011

Мы используем инструмент, который жизненно важен для создания наших проектов, который размещает файлы по всей своей файловой структуре. Например

Код может быть сохранен примерно так

  • корень / код / ​​project1
  • корень / код / ​​project2
  • корень / код / ​​project3

Некоторые связанные установочные файлы могут находиться в другом каталоге

  • корень / setupfile / project1
  • корень / setupfile / project2
  • корень / setupfile / project3

Он делает это для ряда каталогов, и он немного больше вложен, чем в упрощенном примере выше. Эти проекты должны иметь свои файлы в этих местах, иначе они не могут быть использованы.

Мы используем часть программного обеспечения для запуска наших проектов на внешнем компоненте, и это требует довольно странной настройки. Программное обеспечение может быть запущено только из Windows.

Какая система управления исходным кодом может обрабатывать такую ​​компоновку? (Мой основной опыт - SVN, так что это мой ориентир) В идеале мы хотели бы только проверить проекты, над которыми мы сейчас работаем. Было бы неплохо просмотреть все файлы из конкретного проекта завтра.

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

Любые предложения будут с благодарностью приняты!

Edit:

Я думаю, что Симлинки, вероятно, путь - спасибо за помощь!

1 Ответ

1 голос
/ 10 апреля 2011

Как насчет использования символических ссылок?Например, предположим, что я извлекаю проекты из svn в:

  • / working-копии / project1
  • / working-копии / project2
  • / working-копии /project3

Затем создайте символические ссылки (здесь я использую синтаксис * nix):

  • ln -s / working-copy / project1 / src root / code / project1
  • ln -s / working-copy / project2 / root src / code / project2
  • ln -s / working-copy / project3 / root src / code / project3
  • ln -s / working-copy / project1 / config root / setupfile / project1
  • ln -s / working-copy / project2 / config root / setupfile / project2
  • ln -s / working-copy / project3 / config root / setupfile / project3

Получает ли это то, что вам нужно для этого инструмента?

...