Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab4.doc
Скачиваний:
29
Добавлен:
02.04.2015
Размер:
713 Кб
Скачать
☆

Сравнение рабочей копии с хранилищем

Если в --revision (-r) указан один номер, то рабочая копия сравнивается с указанной правкой хранилища.

$ svn diff --revision 3 rules.txt

Index: rules.txt

===================================================================

--- rules.txt (revision 3)

+++ rules.txt (working copy)

@@ -1,4 +1,5 @@

Be kind to others

Freedom = Responsibility

Everything in moderation

-Chew with your mouth open

+Chew with your mouth closed

+Listen when others are speaking

$

Сравнение хранилища с хранилищем

Если через --revision (-r) передаются две правки, разделенные двоеточием, то непосредственно сравниваются две правки.

$ svn diff --revision 2:3 rules.txt

Index: rules.txt

===================================================================

--- rules.txt (revision 2)

+++ rules.txt (revision 3)

@@ -1,4 +1,4 @@

Be kind to others

-Freedom = Chocolate Ice Cream

+Freedom = Responsibility

Everything in moderation

Chew with your mouth open

$

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

$ svn diff --revision 4:5 http://svn.red-bean.com/repos/example/trunk/text/rules.txt

…

$

Svn cat

Если вы хотите проанализировать ранние версии файла, а не различия между двумя файлами, можно воспользоваться svn cat:

$ svn cat --revision 2 rules.txt

Be kind to others

Freedom = Chocolate Ice Cream

Everything in moderation

Chew with your mouth open

$

Или вы можете перенаправить вывод прямо в файл:

$ svn cat --revision 2 rules.txt > rules.txt.v2

$

Наверное, вам интересно, почему для замены файла старой правкой мы не воспользовались svn update --revision. Есть несколько причин, по которым нам оказалось предпочтительнее воспользоваться svn cat.

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

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

Svn list

Команда svn list показывает содержимое каталога в хранилище, при этом не закачивая его на локальную машину:

$ svn list http://svn.collab.net/repos/svn

README

branches/

clients/

tags/

trunk/

Если вам нужна более подробная информация, воспользуйтесь флагом --verbose (-v), и вы увидете что-то подобное:

$ svn list --verbose http://svn.collab.net/repos/svn

2755 harry 1331 Jul 28 02:07 README

2773 sally Jul 29 15:07 branches/

2769 sally Jul 29 12:07 clients/

2698 harry Jul 24 18:07 tags/

2785 sally Jul 29 19:07 trunk/

Колонки показывают правку, в которой файл или каталог последний раз изменялись, имя пользователя, вносившего изменения, размер (если это файл), дату последнего изменения и имя элемента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]