Для лучшего понимания: делает в svn branch является копией какой-либо другой ветви (ствол)? Я имею в виду, что svn не тракает какое-либо отношение между ними? Итак, я могу создать имя копии как ветку myproject-x.y.z, зафиксировать ее, и это будет ветка? Итак, я мог бы использовать операции, такие как merge? Спасибо.Есть ли в svn ветке простая копия?
ответ
Да, вы должны сделать копию дерева проекта в репозитории, используя команду svn copy. Будет создана копия исходного кода. Вы можете выбрать любое имя для филиала, который вы хотите.
Теперь вы копируете, вы можете проверить код.
$ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
A my-calc-branch/Makefile
A my-calc-branch/integer.c
A my-calc-branch/button.c
Checked out revision 341.
$
Subversion осознает историю вашей ветки и знает, когда она отделилась от ствола. Чтобы выполнить синхронизацию слияния, сначала убедитесь, что рабочая копия ветки «чистая», что она не имеет локальных изменений, о которых сообщает статус svn. Затем просто выполните:
$ pwd
/home/user/my-calc-branch
$ svn merge ^/calc/trunk
--- Merging r345 through r356 into '.':
U button.c
U integer.c
--- Recording mergeinfo for merge of r345 through r356 into '.':
U .
$
Используйте svn status чтобы проверить изменения кода из главной копии.
$ svn status
M .
M button.c
M integer.c
$
Смотрите мой любимый http://svnbook.red-bean.com/
Да, если вы svn copy source_url/trunk source_url/myproject-x.y.z -m "Insert comment here"
, вы создали филиал myproject-x.y.z
. Между ними нет явной отслеживаемой связи. Сделав больше коммитов на myproject-x.y.z
, вы можете объединить его в trunk
, но вы также можете объединить его в гипотетический branch_b
.
Нужно использовать команду svn copy
, а не dos copy
или Unix/Linux/OSX cp
.
Когда вы говорите, «Так что я могу создать имя копии в качестве филиала MyProject-x.y.z, совершить это, и это будет филиал?» вы могли бы включить пример командной строки из того, что вы подразумеваете под именем «create copy name as branch myproject-x.y.z»? –
. Я хочу скопировать только файлы проекта, а не файлы .svn. – user710818