Подтвердить что ты не робот

Subversion. Каковы различия между проверкой SVN и командами обновления SVN?

Я понимаю, что команда "SVN checkout" выполнит первоначальный доступ к файлам из репозитория Subversion и приведет их локально к вашему рабочему каталогу/копии и что команда "SVN update" получит изменения в файле ( s) из репозитория, если изменения были сделаны другими.

Мне кажется, что "обновление" - это всего лишь частный случай "проверки", то есть когда происходит проверка, он получает все файлы, так как пока не существует локально, и, следовательно, ВСЕ файлы "изменены" ", и что за кулисами эти команды делают в основном одно и то же. Я предполагаю, что команды существуют отдельно как средство упрощения?

Или, есть ли другие различия между командами, например, "обновление SVN" получает файлы, которые получают новые файлы (файлы, которые существуют в репозитории, которых у вас нет в вашей рабочей копии) или просто обновления существующих файлов

4b9b3361

Ответ 1

Как я вижу, большая разница заключается в том, что checkout создает рабочую копию, тогда как update сбрасывает изменения в рабочую копию existing. p >

Ответ 2

svn checkout копирует все файлы с версией из данного каталога в репозиторий при данной ревизии (по умолчанию HEAD) и копирует их на локальный компьютер. Он также генерирует все скрытые каталоги .svn и метаданные внутри них, которые делают эти файлы рабочей копией.

svn export копирует все файлы с версией из данного каталога в репозитории при данной ревизии (по умолчанию HEAD) и копирует их на локальный компьютер, но создает стандартный иерархический каталог. (Он не создает рабочую копию, которая может быть обновлена ​​или проверена обратно).

svn update применяет изменения к существующей рабочей копии. Если при этом обнаружен конфликт, пользователь будет предупрежден и должен решить эту проблему, прежде чем сможет совершить какие-либо изменения. При использовании svn commit требуется, чтобы рабочая копия была обновлена ​​(т.е. такая же ревизия, что и HEAD).

Ответ 3

Обновление обновит вашу проверочную версию до последней версии (или указанной другой ревизии) в репозитории. Если вы внесли изменения в свою рабочую копию, они все равно будут доступны после обновления. Если файлы были добавлены или удалены в репозиторий, это будет отражено в вашей рабочей копии. Если есть изменения как в вашей локальной копии, так и в репозитории, SVN попытается объединить все изменения для вас, если это не сработает, это будет означать конфликт, который вы разрешите вручную.

Ответ 4

Subversion использует скрытые каталоги метаданных, чтобы включить предоставляемые ею функции. Эти .svn-каталоги - это то, что делает каталог в рабочей копии Subversion - без них это просто каталог, и Subversion не может с ним справиться.

UPDATE - это операция, выполняемая над рабочей копией Subversion; нет .svn каталогов, нет UPDATE. CHECKOUT - это операция, которая создает рабочую копию.

Ответ 5

svn update приносит только разницу в файлах от версии пользователя до последней доступной версии. Если никаких различий нет.

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

Ответ 6

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

svn: E175002: Невозможно подключиться к репозиторию по URL 'https://********'.

svn: E175002: Запрос OPTIONS возвратил неверный XML в ответ: ****. "

Единственный способ обновить текущие версии в локальном каталоге - это использовать команду svn update.