При командной работе над проектом обновление рабочей копии необходимо для получения любых изменений, внесенных другими разработчиками проекта с момента вашего последнего обновления. Используйте svn update для синхронизации вашей рабочей копии с последней правкой в хранилище.
$ svn updateU foo.cU bar.cUpdated to revision 2.В данном случае, кто-то другой зафиксировал изменения в файлах foo.c и bar.c после вашего последнего обновления, и Subversion обновила вашу рабочую копию, включив эти изменения.
Рассмотрим поподробнее информацию, выводимую командой svn update. Когда сервер отправляет изменения в вашу рабочую копию, для каждого элемента выводится латинская буква - код, определяющий действие, выполненное Subversion для приведения вашей рабочей копии в актуальное состояние:
U foo
Файл foo был U pdated - обновлен (получил изменения с сервера).
A foo
Файл или каталог foo был A dded - добавлен в рабочую копию.
D foo
Файл или каталог foo был D eleted - удален из рабочей копии.
R foo
Файл или каталог foo был R eplaced - заменен в рабочей копии; это значит, что foo был удален, а новый элемент с таким же именем был добавлен. Несмотря на то, что они могут иметь одинаковое имя, хранилище рассматривает их как разные объекты с отдельной историей.
|
|
G foo
Файл foo получил новые изменения из хранилища, однако ваша локальная копия в то же время содержит ваши собственные изменения. Изменения, полученные из хранилища, либо не пересекаются, либо они точно такие же как ваши локальные изменения, поэтому Subversion успешно выполнила mer G ed - слияние изменений хранилища с файлом.
C foo
Файл foo получил от сервера C onflicting - конфликтующие изменения. Изменения с сервера пересекаются с вашими изменениями файла. Такое перекрытие просто нуждается в разрешении человеком (вами).
Внесение изменений в рабочую копию
Как правило, целесообразнее всего работать отдельно по каждому частному изменению (или набору изменений), такому как реализация новой функциональной возможности, исправление ошибки и т. п. Здесь вы будете пользоваться такими командами Subversion как svn add, svn delete, svn copy и svn move. Однако, если вы просто редактируете файлы, которые уже находятся под контролем Subversion, ни одна из этих команд вам не нужна. В своей рабочей копии вы можете делать следующие изменения: