СВН;использовать ленивые копии для существующих версий (веток) при первоначальной фиксации - PullRequest
0 голосов
/ 03 августа 2010

Привет, ребята, я перехожу к Subversion.

У меня есть 2 разных сайта, основанные на одной и той же кодовой базе с большими различиями (они отличаются примерно на 15%).На обоих сайтах> 10K файлов.Когда я разрабатываю что-то для «A», я иногда синхронизирую «B» с изменениями, или изменения могут быть специфическими для «A», или наоборот.

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

Я знаю, что подобное сжатие в любом случае будет применяться к файловой системе svn, но будет ли это полностью нормально, если я первоначально передам их как две ветви?Или я должен

  • создать и зафиксировать структуру папок по умолчанию,
  • зафиксировать 'A' как первую ветвь,
  • скопировать 1-ю ветвь как 2-ю ветвь
  • обновить рабочую копию,
  • удалить 2-ую ветку в рабочей копии,
  • скопировать сайт 'B' во 2-ую ветку в рабочей копии,
  • Зафиксируйте

, чтобы сервер знал (или нет?) неизмененные файлы между ветвями и сохранял их как ленивые копии?

Кстати, некоторые даты файлов могут отличаться, хотя они имеют одинаковыесодержание, как обычно.

Ответы [ 2 ]

0 голосов
/ 07 августа 2010

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

Таким образом, с точки зрения размера, начальный коммит со всеми ветвями полностью в порядке, даже приводит к немного меньшему размеру репо из-за меньшегоrevisions.

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

0 голосов
/ 03 августа 2010

Я думаю, что вы на правильном пути, чтобы минимизировать объем хранилища в SVN.

Я бы порекомендовал следующую технику:

  • зафиксировать "A" как ветку в репо
  • удаленную копию (также известную как ветку) "A" в новуюветвь «B» - A и B теперь совершенно одинаковы
  • извлеките «B» в качестве нового проекта / папки (вне вашего каталога «A»)
  • добавить измененные файлы в «B» (я уверен, что дата изменения не будет считаться разницей)
  • зафиксировать «B»

Удачи!

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