Как поддерживать отдельные репозитории SVN для одного и того же проекта? - PullRequest
0 голосов
/ 05 мая 2009

Я использую большой (тысячи исходных файлов) публичный проект с незначительными (десяток исходных файлов) локальными изменениями и дополнениями. Локальные модификации не имеют отношения к другим пользователям большого проекта. Проект использует SVN, как и мы для наших собственных проектов. Я хочу иметь возможность получать обновления от проекта при его обновлении и включать наши изменения; Я также хочу, чтобы наши изменения оставались под контролем исходного кода.

В настоящее время я просто svn обновляю нашу рабочую копию большого проекта, когда это необходимо, извлекаю наши изменения в другой каталог и копирую наши изменения в соответствующие каталоги большого проекта с некоторой ручной сверкой модификаций. Это выполнимо; это редко изменяется, не имеет большого значения, и этот способ работает. Но если бы вещи с нашей или их стороны менялись чаще, это было бы не практично. Есть ли лучший способ?

Ответы [ 4 ]

2 голосов
/ 05 мая 2009

Вы действительно хотите использовать один репозиторий, разветвить существующий проект, чтобы создать свою версию, а затем использовать эту ветвь. Когда основная версия изменяется, вы можете просто объединить их обновления с вашей веткой (так как вы получите только те изменения, которые были сделаны с момента последнего объединения, это намного проще, чем вручную объединять 2 дерева)

Если вы не можете добавить свой проект в основной репозиторий и должны поддерживать свой собственный, тогда svk - это то, на что стоит обратить внимание.

1 голос
/ 05 мая 2009

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

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

1 голос
/ 05 мая 2009

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

0 голосов
/ 05 мая 2009

Вы можете посмотреть в SVK для этого. Хотя прошло некоторое время, поэтому я не могу дать вам подробные заклинания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...