Просмотр истории SVN
С помощью команд svn можно получать прошлые версии по времени или номеру ревизии, а также просматривать конкретные изменения, внесённые в определённой версии. Для просмотра истории svn можно использовать следующие четыре команды:
svn log:Используется для отображения автора ревизии, даты, пути и т. д.
-
svn diff:Используется для отображения подробной информации о конкретных изменениях на уровне строк.
-
svn cat:Извлекает файл определённой ревизии и отображает его на текущем экране.
-
svn list:Отображает каталог или файлы, существующие в определённой ревизии.
1、svn log
Может отображать всю информацию. Если вы хотите просмотреть информацию только между двумя конкретными ревизиями, можно использовать:
root@example:~/svn/example01/trunk# svn log -r 6:8 ------------------------------------------------------------------------ r6 | user02 | 2016-11-07 02:01:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html first. ------------------------------------------------------------------------ r7 | user01 | 2016-11-07 02:23:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html second ------------------------------------------------------------------------ r8 | user01 | 2016-11-07 02:53:13 +0800 (Mon, 07 Nov 2016) | 1 line SVN readme. ------------------------------------------------------------------------
Если вы хотите просмотреть информацию об изменениях в ревизии для определённого файла, можно использоватьsvn logпуть к файлу.
root@example:~/svn/example01# svn log trunk/HelloWorld.html ------------------------------------------------------------------------ r7 | user01 | 2016-11-07 02:23:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html second ------------------------------------------------------------------------ r6 | user02 | 2016-11-07 02:01:26 +0800 (Mon, 07 Nov 2016) | 1 line change HelloWorld.html first. ------------------------------------------------------------------------ r5 | user01 | 2016-11-07 01:50:03 +0800 (Mon, 07 Nov 2016) | 1 line ------------------------------------------------------------------------ r4 | user01 | 2016-11-07 01:45:43 +0800 (Mon, 07 Nov 2016) | 1 line Add function to accept input and to display array contents ------------------------------------------------------------------------ r3 | user01 | 2016-11-07 01:42:35 +0800 (Mon, 07 Nov 2016) | 1 line ------------------------------------------------------------------------ r2 | user01 | 2016-08-23 17:29:02 +0800 (Tue, 23 Aug 2016) | 1 line first file ------------------------------------------------------------------------
Если вы хотите получить информацию о каталоге, нужно добавить-v。
Если вы хотите отобразить информацию о каталоге, ограниченную N записями, используйтеsvn log -l N -v。
root@example:~/svn/example01/trunk# svn log -l 5 -v ------------------------------------------------------------------------ r6 | user02 | 2016-11-07 02:01:26 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: M /trunk/HelloWorld.html change HelloWorld.html first. ------------------------------------------------------------------------ r5 | user01 | 2016-11-07 01:50:03 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: M /trunk/HelloWorld.html ------------------------------------------------------------------------ r4 | user01 | 2016-11-07 01:45:43 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: M /trunk/HelloWorld.html Add function to accept input and to display array contents ------------------------------------------------------------------------ r3 | user01 | 2016-11-07 01:42:35 +0800 (Mon, 07 Nov 2016) | 1 line Changed paths: A /trunk/HelloWorld.html (from /trunk/helloworld.html:2) D /trunk/helloworld.html ------------------------------------------------------------------------ r2 | user01 | 2016-08-23 17:29:02 +0800 (Tue, 23 Aug 2016) | 1 line Changed paths: A /trunk/helloworld.html first file ------------------------------------------------------------------------
2、svn diff
Используется для проверки подробностей исторических изменений.
- Проверка локальных изменений
- Сравнение рабочей копии с репозиторием
- Сравнение репозитория с репозиторием
(1) Если вы используете svn diff без каких-либо параметров, он сравнит ваши рабочие файлы с «чистой» копией, кэшированной в .svn.
root@example:~/svn/example01/trunk# svn diff 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
(2) Сравнение рабочей копии и репозитория
Сравните вашу рабочую копию с файлом rule.txt в ревизии 3 в репозитории.
svn diff -r 3 rule.txt
(3) Сравнение репозитория с репозиторием
Передайте два номера ревизий, разделённых двоеточием, через -r (revision), и эти две ревизии будут сравнены.
Сравните изменения этого файла между ревизиями 2 и 3 в рабочей копии svn.
svn diff -r 2:3 rule.txt
3、svn cat
Если вы просто хотите проверить прошлую версию, не просматривая различия, вы можете использовать svn cat
svn cat -r 版本号 rule.txt
Эта команда отобразит содержимое файла на этом номере ревизии.
4、svn list
svn listВы можете просматривать файлы в каталоге, не загружая их в локальный каталог:
$ svn list http://192.168.0.1/example01 README branches/ clients/ tags/Другие расширения