Что определяет скорость копирования SVN - PullRequest
1 голос
/ 15 сентября 2010

Какие факторы определяют скорость вызова svn copy при упаковке тега из транка для релиза?

Я использую git год или два, и в недавнем проекте, который у меня естьМне пришлось вернуться к использованию Subversion, и вызову svn copy требуется от 2 до 25 минут для завершения на моем компьютере, прежде чем я фиксирую, без особой корреляции с тем, сколько кода меняется каждый раз.

Какие шагивы обычно принимаете, чтобы ускорить процесс упаковки или, по крайней мере, сделать его несколько более предсказуемым?

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

1 Ответ

7 голосов
/ 15 сентября 2010

Это зависит от того, выполняете ли вы svn copy в хранилище или на вашем диске.Команда принимает два аргумента: source и destination , каждый из которых может быть папкой в ​​рабочей копии или URL-адресом в хранилище.

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

Однако, если target является URL-адресом в хранилище, то копирование будет происходить в хранилище немедленно (нетсовершать надо).Это операция O (1), которая должна быть быстрой.
Если вы используете этот синтаксис, не забудьте указать сообщение фиксации.Кроме того, если вы хотите использовать созданную вами ветку / тег, вам придется либо проверить его (что снова занимает много времени), либо переключить на него текущую рабочую копию (что должно быть быстрым, посколькув ветке пока не должно быть никаких изменений).

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