Диалоговое окно журнала ревизий

Для каждого сделанного и зафиксированного изменения вы должны ввести сообщение журнала, описывающее это изменение. Таким образом, вы позже сможете выяснить, что было изменено и почему, и у вас будет подробный журнал всего процесса разработки.

Диалог журнала ревизий извлекает и отображает все эти сообщения журнала. Окно разделено на три части:

Но возможности диалога намного шире: предусмотрены команды контекстного меню, при помощи которых можно получить дополнительную информацию об истории проекта.

Вызов диалога журнала ревизий

Рисунок 4.16. Диалоговое окно журнала ревизий

Диалоговое окно журнала ревизий


Есть несколько мест, из которых можно вызвать диалоговое окно журнала:

  • Из контекстного меню TortoiseSVN

  • Со страницы свойств

  • Из окна выполнения после окончания обновления. В этом случае диалог журнала отображает только те ревизии, которые были изменены с момента последнего обновления

  • Из обозревателя хранилища

Если хранилище недоступно, вы увидите диалог Перейти в автономный режим?, который описывает «Автономный режим».

Действия в журнале ревизий

В верхней панели есть столбец Действия, содержащий значки с обозначением того, что было сделано в этой ревизии. Всего есть четыре различных значка, каждый из которых показывается в своей позиции.

Если в ревизии были изменены файл или папка, в первой колонке отображается значок изменён.

Если в ревизии были добавлены файлы или папки, то во второй колонке отображается значок добавлен.

Если в ревизии были удалены файлы или папки, то в третьей колонке отображается значок удалён.

Если в ревизии файлы или папки были перемещены, то в четвёртой колонке отображается значок перемещён.

Если ревизия переместила или переименовала файл или директорию, то в четвертой колонке отображается значок перемещен.

Если ревизия заменила файл или директорию при перемещении/переименовании, то в четвертой колонке отображается значок перемещено с заменой.

Если ревизия объединила файл или директорию, то в четвертой колонке отображается иконка слито.

Если в ревизии есть обратное слияние файла или директории, то в четвертой колонке отображается значок обратное слияние.

Получение дополнительной информации

Рисунок 4.17. Контекстное меню верхней панели диалогового окна журнала ревизий

Контекстное меню верхней панели диалогового окна журнала ревизий


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

Сравнить с рабочей копией

Сравнивает выбранную ревизию с вашей рабочей копией. По умолчанию в качестве программы сравнения используется TortoiseMerge, поставляемая с TortoiseSVN. Если диалог журнала вызван для папки, он отобразит список изменённых файлов, и позволит просмотреть изменения, сделанные в каждом отдельном файле.

Сравнить с рабочей базой с просмотром авторства

Получает авторство для выбранной ревизии и файла рабочей ревизии BASE, и и сравнивает полученные результаты с применением визуального средства просмотра различий. Прочтите «Авторство различий» для дополнительной информации. (только файлы)

Показать изменения как объединённые различия

Позволяет просмотреть сделанные в выбранной ревизии изменения в виде объединённого файла различий (Unified-Diff) (формат заплаток GNU). Отображаются только различия (с несколькими строками контекста). Этот вид сложнее для изучения, чем визуальное сравнение файлов, но позволяет показать все изменения в файле в компактном формате.

Если вы удерживаете клавишу Shift при выборе пункта меню, то сначала появится диалог, в котором вы можете установить параметры для объединенных различий. Эти параметры включают возможность игнорировать изменения в окончаниях строк и пробельных символах.

Сравнить с предыдущей ревизией

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

Сравнить с предыдущей ревизией с просмотром авторства

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

Сохранить ревизию в...

Сохраняет выбранную ревизию в файл и у вас есть старая ревизия этого файла. (только файлы)

Открыть / Открыть с помощью...

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

Авторство...

Получает авторство файла для выбранной ревизии. (только файлы)

Обзор хранилища

Открывает обозреватель хранилища для исследования выделенных файлов или папок в хранилище, какими они были в выбранной ревизии.

Создать ответвление/метку из ревизии

Создаёт ответвление или метку из выбранной ревизии. Это полезно, например, если вы забыли создать метку и уже зафиксировали некоторые изменения, не предназначенные для этого выпуска.

Обновить элемент до ревизии

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

Если вы желаете навсегда убрать более раннее изменение, используйте вместо этого Вернуть к этой ревизии.

Вернуть к этой ревизии

Возвращает к более ранней ревизии. Если вы уже выполнили несколько изменений, и затем решили, что вам действительно необходимо вернуться назад, к состоянию как в ревизии N, то это та команда, которая вам нужна. Изменения отменяются в вашей рабочей копии, так что эта операция не влияет на хранилище, пока вы не зафиксировали эти изменения. Обратите внимание, что она отменяет все изменения, сделанные после выбранной ревизии, заменяя файл/папку более ранней версией.

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

За сценой происходит следующее: Subversion выполняет обратное слияние всех изменений, сделанных после выбранной ревизии, отменяя результат этих предыдущих фиксаций.

Если после выполнения этого действия вы решите отменить отмену и вернуть вашу рабочую копию обратно, в прежнее неизменённое состояние, вы должны использовать TortoiseSVNУбрать изменения из Проводника Windows, которое отбросит локальные изменения, произведённые этим обратным слиянием.

Если вы просто желаете посмотреть, как выглядели файл или папка в этой ранней ревизии, воспользуйтесь вместо этого Обновить до ревизии или Сохранить ревизию как....

Отменить изменения из этой ревизии

Отменяет изменения, которые были сделаны в выбранной ревизии. Изменения отменяются в вашей рабочей копии, так что эта операция не влияет на хранилище вообще! Обратите внимание: отменяются изменения, сделанные только в этой ревизии. Эта операция не заменяет целиком файл в вашей рабочей копии файлом более ранней ревизии. Это очень полезно для отмены более ранних изменений, после которых были произведены другие, не связанные с ними, изменения.

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

За сценой происходит следующее: Subversion выполняет обратное слияние одной этой ревизии, отменяя результат предыдущей фиксации.

Вы можете отменить отмену как описано выше в Вернуть к этой ревизии.

Слить ревизию с...

Производит слияние выделенных ревизий с другой рабочей копией. При помощи диалога выбора папки можно выбрать рабочую копию для проведения слияния, но после этого не предоставляется ни запроса подтверждения, ни возможности выполнить пробное слияние. Хорошей практикой является производить слияние с неизменённой рабочей копией, чтобы вы смогли отменить изменения, если слияние не сработает! Это полезная возможность, если вы желаете слить выбранные ревизии из одного ответвления с другим.

Извлечь...

Выполняет свежее извлечение выбранной папки из заданной ревизии. При этом открывается окно, в котором необходимо подтвердить URL-адрес и ревизию, а также выбрать место для извлечения.

Экспорт...

Экспортирует выделенный файл/папку из выбранной ревизии. При этом открывается диалог для подтверждения URL-адреса и ревизии, а также выбора места для размещения экспорта.

Изменить автора / сообщение журнала

Отредактировать сообщение журнала или автора, относящихся к одной из предыдущих фиксаций. Прочтите «Изменение сообщения журнала и автора», чтобы узнать, как это работает.

Показать свойства ревизии

Позволяет просмотреть и отредактировать любое свойство ревизии, а не только сообщение журнала или автора. Подробнее - «Изменение сообщения журнала и автора».

Копировать в буфер обмена

Копирует в буфер обмена подробности записей журнала для выбранных ревизий. При этом будут скопированы номер ревизии, автор, дата, сообщение журнала и список изменённых объектов для каждой ревизии.

Найти в сообщениях журнала...

Выполняет поиск в сообщениях журнала указанного вами текста. Поиск будет производиться в введённых сообщениях, а также в сводке выполненных действий, создаваемой Subversion (отображаемой в нижней панели). Поиск не зависит от регистра.

Создать рецензию code collaborator

Это меню отображается, если установлен инструментарий SmartBear code collaborator. При первом запуске появляется диалог, в котором пользователю предлагается ввести свои учетные данные для code collaborator и SVN. Когда настройки сохранены, диалог больше не появляется при вызове меню, за исключением ситуации, когда пользователь удерживает клавишу Ctrl при выполнении пункта меню. Конфигурация и выбранные ревизии используются для запуска графического интерфейса пользователя клиента code collaborator, который создает новую рецензию для выбранных ревизий.

Рисунок 4.18. Диалог настроек Code Collaborator

Диалог настроек Code Collaborator


Рисунок 4.19. Контекстное меню верхней панели для двух выбранных ревизий

Контекстное меню верхней панели для двух выбранных ревизий


Если выделить сразу две ревизии (применяя для этого, как обычно, клавишу Ctrl), контекстное меню изменится и в нём будет меньше возможностей:

Сравнить ревизии

Сравнивает две выбранные ревизии с использованием визуального средства просмотра различий. По умолчанию, в качестве такого средства используется TortoiseMerge, поставляемая с TortoiseSVN.

Если вы выберите эту опцию для папок, появится диалог со списком изменённых файлов, в котором можно выбрать дальнейшие возможные действия по сравнению. Больше о диалоге сравнения ревизий можно прочитать в «Сравнение папок».

Авторство ревизий

Получает авторство для двух ревизий и сравнивает полученные результаты с применением визуального средства просмотра различий. Для получения более подробной информации прочтите «Авторство различий».

Показать различия как объединённые различия

Просмотр различий между двумя выбранными ревизиями в виде объединённого файла различий. Это работает и для файлов, и для папок.

Копировать в буфер обмена

Копирует сообщения журнала в буфер обмена, как описано выше.

Найти в сообщениях журнала...

Искать в сообщениях журнала, как описано выше.

Если выбрать две или больше ревизий (используя, как обычно, Ctrl или Shift), контекстное меню будет включать пункт для отмены всех изменений, которые сделаны в выбранных ревизиях. Это простейший путь откатить изменения из группы ревизий за один подход.

Также можно произвести слияние выбранных ревизий с другой рабочей копией, как было описано выше.

Если у всех выбранных ревизий один автор, вы можете изменить автора всех этих ревизий сразу.

Рисунок 4.20. Контекстное меню нижней панели окна журнала

Контекстное меню нижней панели окна журнала


Нижняя панель окна журнала также имеет контекстное меню, которое предоставляет следующие возможности:

Показать изменения

Показать изменения в выбранной ревизии для выбранного файла.

Авторство изменений

Получает авторство для выбранной и предыдущей ревизий выделенного файла и сравнивает полученные результаты с применением визуального средства просмотра различий. Прочтите «Авторство различий» для дополнительной информации.

Показать как объединённые различия

Показывает изменения в формате объединённых различий. Это контекстное меню доступно только для файлов, отображаемых как изменённый.

Открыть / Открыть с помощью...

Открывает выбранный файл либо в программе просмотра по умолчанию для этого типа файлов, либо в другой выбранной вами программе.

Авторство...

Открывает диалог авторства, позволяет посмотреть авторство в выбранной ревизии.

Отменить изменения из этой ревизии

Отменяет изменения, сделанные в выделенном файле в этой ревизии.

Показать свойства

Позволяет посмотреть свойства Subversion для выбранных элементов.

Журнал

Показывает журнал ревизий для одного выбранного файла.

Получить информацию о слияниях

Показывает журнал ревизий для единственного выбранного файла, включая слитые изменения. Больше информации об этом содержит «Возможности по отслеживанию слияний».

Сохранить ревизию в...

Сохраняет выбранную ревизию в файл, чтобы вы могли получить и более старую ревизию этого файла.

Экспорт...

Экспортирует выбранные элементы в этой ревизии в папку сохраняя иерархию файлов.

Когда выбрано несколько файлов в нижней панели окна журнала контекстное меню изменяется на следующее:

Рисунок 4.21. Нижняя панель диалога журнала с контекстным меню при нескольких выбранных файлах.

Нижняя панель диалога журнала с контекстным меню при нескольких выбранных файлах.


Сохранить ревизию в...

Сохраняет выбранную ревизию в файл, чтобы вы могли получить и более старую ревизию этого файла.

Показать множество изменений...

Показать изменения, сделанные в выбранных файлах выбранных ревизий. Обратите внимание, что функциональность показа изменений вызывается несколько раз, что может запустить несколько копий вашей утилиты показа различий, или только добавить новую вкладку сравнения в утилите. Если вы выбрали более 15 файлов, то вам будет предложено подтвердить действие.

Открыть множество локальных файлов...

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

Если вы удерживаете клавишу Ctrl при вызове команды, файлы рабочей копии всегда загружаются в Visual Studio. Это работает только при следующих условиях: Visual Studio должно быть запущено в том же контексте пользователя и иметь тот же уровень целостности процесса (process integrity level) [выполняемый как админ или нет] как и TortoiseProc.exe. Желательно иметь решение (solution) с загруженными изменёнными файлами, хотя это и не обязательно. Будут загружены только файлы существующие на диске с расширениями [.cpp, .h, .cs, .rc, .resx, .xaml, .js, .html, .htm, .asp, .aspx, .php, .css and .xml]. В Visual Studio может быть загружено максимум 100 файлов за раз, и файлы всегда загружаются в новые вкладки запущенного экземпляра Visual Studio. Преимущество просмотра изменений кода в Visual Studio заключается в том, что вы можете использовать встроенную навигацию по коду, поиск ссылок, статический анализ кода и другие инструменты встроенные в Visual Studio.

Экспорт...

Экспортировать выбранные файлы/папки выбранной ревизии. Вызывает диалог для подтверждения адреса URL и ревизии, и выбора местоположения для экспорта.

Подсказка

Вы можете заметить, что иногда мы упоминаем изменения, а иногда - различия. В чём разница?

Subversion использует номера ревизий подразумевая 2 разные вещи. Ревизия вообще представляет состояние хранилища в точке времени, но также она может использована для представления набора изменений, созданного этой ревизией. Например, «Done in r1234» означает, что изменения зафиксированные в ревизии r1234 реализуют функциональность X. Чтобы было понятно, какой смысл используется, мы используем два разных термина.

Если выбрать две ревизии, N и M, в контекстном меню будет предложено показать различия между двумя этими ревизиями. В терминах Subversion это diff -r M:N.

Если выбрать единственную ревизию N, в контекстном меню будет предложено показать изменения, сделанные в этой ревизии. В терминах Subversion это diff -r N-1:N или diff -c N.

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

Получение большего количества сообщений журнала

По нескольким причинам в окне журнала не всегда отображаются все когда-либо сделанные изменения:

  • В большом хранилище могут быть сотни или даже тысячи изменений, и получение их всех может занять много времени. Обычно вас интересуют самые недавние изменения. По умолчанию, число извлекаемых сообщений журнала ограничено 100, но вы можете изменить это значение во вкладке TortoiseSVNНастройки («Настройки диалогов TortoiseSVN - 1» ),

  • Если отмечен флажок Останавливаться на копировании/переименовании, отображение журнала будет остановлено в точке, где выбранные файл или папка были скопированы из другого места в хранилище. Это может пригодиться при просмотре ответвлений (или меток), поскольку остановка происходит на корне ответвления и это позволяет быстро определить изменения, сделанные только в этом ответвлении.

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

    Когда окно журнала вызывается из диалога 'Слияние', по умолчанию флажок установлен всегда. Так сделано потому, что при слиянии наиболее часто интересуют изменения в ответвлениях, и в этом случае движение дальше корня ответвления не имеет смысла.

    Обратите внимание: сейчас Subversion реализует переименование как пару копирование/удаление, так что переименование файла или папки также останавливает отображение журнала в случае, если установлен этот флажок.

Если вы желаете просмотреть остальные сообщения журнала, нажмите на Следующие 100 для извлечения следующей сотни сообщений. Вы можете повторять это столько раз, сколько вам нужно.

Рядом с этой кнопкой расположена многофункциональная кнопка, которая запоминает последнюю функцию, для которой вы её использовали. Щёлкните на стрелке для просмотра доступных вариантов.

Если вы желаете просмотреть определённый диапазон ревизий, используйте Показать ряд.... Появится диалог, предлагающий ввести начальную и конечную ревизии.

Если вы желаете просмотреть все сообщения, начиная с ведущей (HEAD) ревизии и заканчивая ревизией 1, используйте Показать все.

Чтобы обновить последнюю ревизию в случае были другие фиксации пока диалог журнала был открыт нажмите клавишу F5.

Чтобы обновить кэш журнала, нажмите Ctrl-F5 ключи.

Текущая ревизия рабочей копии

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

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

Возможности по отслеживанию слияний

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

Рисунок 4.22. Диалог журнала, показывающий ревизии с отслеженными слияниями

Диалог журнала, показывающий ревизии с отслеженными слияниями

Если вы желаете посмотреть подробно, какие ревизии были слиты как часть этой фиксации, используйте флажок Включая слитые ревизии. При этом будут заново получены сообщения журнала, но при этом также будут добавлены в нужные места сообщения журнала из ревизий, которые были слиты. Слитые ревизии показываются серым, потому что они представляют изменения, сделанные в другой части дерева.

Конечно же, слияние никогда не бывает простым! Во время разработки возможности в ответвлении, вероятно, иногда производились слияния обратно из ствола для сохранения согласованности ответвления с основной линией разработки. Поэтому история слияний ответвления также включает ещё один слой истории слияний. Эти различные слои показываются в диалоге журнала при помощи уровня отступов.

Изменение сообщения журнала и автора

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

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

Subversion позволяет изменить свойства ревизии в любое удобное для вас время. Но, поскольку такие изменения не могут быть отменены (эти изменения не версируются), эта возможность по умолчанию отключена. Для того, чтобы её включить, вы должны установить ловушку pre-revprop-change (перед-изменением-свойства_ревизии). Пожалуйста, за подробным описанием того, как это сделать, обратитесь к главе Hook Scripts (Скрипты ловушек) в Книге о Subversion. Прочтите «Скрипты ловушек, выполняемые на стороне сервера», в котором содержатся несколько дополнительных заметок о реализации ловушек на компьютере с Windows.

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

Предупреждение

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

Важно

С тех пор как TortoiseSVN хранит кэш всей информации журнала, правки автора и сообщений журнала будут показаны только локально у вас. Другие пользователи TortoiseSVN будут видеть кэшированных авторов и сообщения журнала пока не обновят кэш журнала. Смотрите «Обновление вида»

Фильтрация сообщений журнала

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

Щелкните по иконке поиска для выбора направления поиска и выберите режим Регулярное выражение. Обычно, достаточно простой подстрокового поиска, но если необходимы более гибкие условия поиска, то используйте регулярные выражения. Если задержать курсор над строкой поиска, то появится всплывающая подсказка как использовать регулярные выражения или подстроковые функции. Фильтры просто проверяют соответствует ли ваша строка фильтра записям в журнале и только затем с записями, которые соответствуют строке фильтра.

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

Alice Bob -Eve
      

ищет строки содержащие Alice и Bob, но не Eve

Alice -Bob +Eve
      

ищет строки содержащие Alice, но не Bob, или строки содержащие Eve.

-Case +SpecialCase
      

ищет строки не содержащие Case, но включающие строки содержащие SpecialCase.

!Alice Bob
      

ищет строки не содержащие Alice и Bob

!-Alice -Bob
      

вы помните правила Де Моргана? NOT(NOT Alice AND NOT Bob) сокращается до (Alice OR Bob).

"Alice and Bob"
      

ищет дословное выражение «Alice and Bob»

""
      

ищет двойные кавычки везде в тексте

"Alice says ""hi"" to Bob"
      

ищет дословное выражение «Alice says "hi" to Bob».

Описание использования регулярных выражений в поиске выходит за рамки данного руководства, но вы можете найти онлайн документацию и обучающую программу по данному адресу http://www.regular-expressions.info/.

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

Вы можете также отфильтровать имена путей в нижней панели, используя флажок Скрыть несвязанные измененённые пути . Изменённые пути это те пути, которые содержат путь, показываемый в журнале. Если вы забрали журнал для какой-то папки, то это означает что только в той папке и ниже. Для файла означает только этот файл. Обычно список путей показывает любые другие пути, которые были затронуты в той же фиксации, но в сером цвете. Если же флажок отмечен, то эти пути не отображаются.

Иногда установленный порядок работы требует, чтобы сообщения журнала соответствовали определённому формату, и это иногда означает, что текст, описывающий изменения, не виден в краткой сводке, показываемой в верхней панели. Свойство tsvn:logsummary может быть использовано для извлечения части сообщения журнала, которая будет показана в верхней панели. Прочтите «Свойства проекта в TortoiseSVN», чтобы узнать, как применить это свойство.

Никакого форматирования журнала в обозревателе хранилища

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

Статистическая информация

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

Страница статистики

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

Страница 'Фиксации по автору'

Рисунок 4.23. Гистограмма Фиксации-по-автору

Гистограмма Фиксации-по-автору


Этот график показывает, кто из авторов и насколько активно работал над проектом в виде простой гистограммы, гистограммы с накоплением ("стопкой") или секторной диаграммы.

Рисунок 4.24. Секторная диаграмма Фиксации-по-автору

Секторная диаграмма Фиксации-по-автору


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

Страница 'Фиксации по датам'

Рисунок 4.25. График Фиксации-по-датам

График Фиксации-по-датам


Эта страница предоставляет график деятельности по проекту в разрезе количества фиксаций и авторов. Это даёт некоторое представление о том, когда велась работа над проектом, и кто в какое время работал.

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

По умолчанию, анализ производится с учётом регистра, так что пользователи PeterEgan и PeteRegan рассматриваются как разные авторы. Однако в большинстве случаев регистр в именах пользователей не важен, и иногда они вводятся по-разному, поэтому бывает желательно, чтобы пользователи DavidMorgan и davidmorgan рассматривались как один человек. Используйте флажок Авторы без учёта регистра для указания способа обращения с именами пользователей.

Обратите внимание, статистика охватывает тот же период, что и окно журнала. И если оно отображает только одну ревизию, то и статистика сообщит вам не очень много.

Автономный режим

Рисунок 4.26. Диалог перехода в автономный режим

Диалог перехода в автономный режим


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

Здесь у вас есть три возможности:

Автономно в этот раз

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

Всегда работать автономно

Оставаться в автономном режиме, пока проверка хранилища не будет запрошена специально. См. «Обновление вида».

Отмена

Если вы не желаете продолжать операцию с возможно устаревшими данными, просто отмените.

Флажок Применять по умолчанию позволяет сделать так, чтобы это окно больше не появлялось и всегда применять опцию, которую вы затем выберите. Вы сможете изменить (или убрать) выбор по умолчанию и после этого, используя TortoiseSVNНастройки.

Обновление вида

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

Если вы используете кэширование журнала, и вы думаете, что содержимое сообщения или его автор были изменены, вы можете воспользоваться Shift-F5 или Ctrl-F5 для повторного получения отображаемых сообщений с сервера и обновления кэша журнала. Обратите внимание: это относится только к сообщениям, отображаемым в данный момент, и не делает недействительным весь кэш для этого хранилища.