Tortoisesvn что за программа

TortoiseSVN — это бесплатный Windows-клиент с открытыми исходным кодом для системы управления версиями Apache Subversion. Системы управления версиями ещё называют системами контроля версий. Файлы хранятся в центральном хранилище-репозитории. Хранилище больше похоже на обычный файловый сервер, кроме того он запоминает каждое изменение когда-либо сделанное в ваших файлах и директориях. Это позволяет вам восстановить старые версии ваших файлов и посмотреть историю изменений — как, когда и кто изменял ваши данные.

TortoiseSVN это открытое программное обеспечение, разработанное под лицензией GNU (GPL). Оно бесплатно как для скачивания, так и для персонального или коммерческого использования на любом количестве компьютеров.

Subversion — свободная централизованная система управления версиями, официально выпущенная в 2004 году компанией CollabNet. С 2010 года Subversion является одним из проектов Apache Software Foundation и официально называется Apache Subversion.

Зачем сисадмину системы контроля версий, он же не разработчик? А для хранения версий конфигурационных файлов. Например, мы уже много лет используем SVN для конфигурационных файлов DNS серверов. Всегда можно посмотреть кто, когда и что именно исправил в DNS. И откатить изменения при желании.

Что такое СИСТЕМА КОНТРОЛЯ ВЕРСИЙ? SVN или GIT?

Очень удобно в крупных компаниях, где админов больше одного человека.

Сейчас очень популярен git, но его не всегда удобно использовать для маленьких задач.

SVN — это не бэкап!

Возможности TortoiseSVN

  • Интеграция с оболочкой Windows (контекстное меню)
  • Простой доступ к командам Subversion
  • Для работы не требуется IDE
  • Информационные значки на иконках файлов для индикации состояния файла
  • Версионирование папок.
  • Атомарные фиксации
  • Версированные метаданные
  • Возможность выбора сетевого уровня
  • Единый способ обработки данных
  • Эффективные ветки и метки
  • На сайте доступно множество версий локализаций пакета

Интеграция с оболочкой

TortoiseSVN интегрируется непосредственно в оболочку Windows (т.е. в Проводник). Это значит, что вы можете работать с уже знакомыми инструментами, и вам не надо переключаться на другое приложение каждый раз, когда вам необходимы функции для управления версиями!

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

Пометки на значках

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

TortoiseSVN Demo

Графический интерфейс пользователя

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

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

Простой доступ к командам Subversion

Все команды Subversion доступны из контекстного меню Проводника. TortoiseSVN добавляет туда собственное подменю.

Возможности Subversion

Версирование папок

CVS отслеживает только историю отдельных файлов, тогда как Subversion реализует «виртуальную» версионную файловую систему, которая отслеживает изменения в целых деревьях папок во времени. Файлы и папки являются версированными. В результате, есть команды переместить и копировать, реально выполняемые на стороне клиента и работающие непосредственно с файлами и папками.

Атомарные фиксации

Фиксация сохраняется в хранилище либо полностью, либо не сохраняется вообще. Это позволяет разработчикам фиксировать изменения, собранные в логически связанные части.

Версированные метаданные

Каждый файл и папка имеет прикреплённый невидимый набор «свойств». Вы можете создавать и сохранять произвольные пары ключ/значение для собственных нужд. Свойства тоже версируются во времени, как и содержимое файла.

Возможность выбора сетевого уровня

В Subversion есть абстрагируемое понятие доступа к хранилищу, которое упрощает реализацию новых сетевых механизмов. «Усовершенствованный» сетевой сервер Subversion является модулем для веб-сервера Apache, который использует для взаимодействия диалект HTTP под названием WebDAV/DeltaV. Это даёт Subversion большие преимущества в стабильности и совместимости, и предоставляет различные ключевые возможности без дополнительных затрат: проверка личности (аутентификация), проверка прав доступа (авторизация), сжатие потока данных при передаче, просмотр хранилища. Также доступна меньшая, автономная версия сервера Subversion, взаимодействующая по собственному протоколу, который легко может быть туннелирован через ssh.

Единый способ обработки данных

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

Читайте также:
Что за программа itunes u на Айфоне

Эффективные ветки и метки

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

Установка TortoiseSVN

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

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

Вся работа производится через контекстное меню.

Источник: dzen.ru

TortoiseSVN — клиент для системы контроля версий Subversion

TortoiseSVN

TortoiseSVN — это бесплатный Windows-клиент с открытыми исходным кодом для системы управления версиями Apache Subversion. Системы управления версиями ещё называют системами контроля версий. Файлы хранятся в центральном хранилище-репозитории. Хранилище больше похоже на обычный файловый сервер, кроме того он запоминает каждое изменение когда-либо сделанное в ваших файлах и директориях. Это позволяет вам восстановить старые версии ваших файлов и посмотреть историю изменений — как, когда и кто изменял ваши данные.

TortoiseSVN это открытое программное обеспечение, разработанное под лицензией GNU (GPL). Оно бесплатно как для скачивания, так и для персонального или коммерческого использования на любом количестве компьютеров.

Subversion — свободная централизованная система управления версиями, официально выпущенная в 2004 году компанией CollabNet. С 2010 года Subversion является одним из проектов Apache Software Foundation и официально называется Apache Subversion.

Зачем сисадмину системы контроля версий, он же не разработчик? А для хранения версий конфигурационных файлов. Например, мы уже много лет используем SVN для конфигурационных файлов DNS серверов. Всегда можно посмотреть кто, когда и что именно исправил в DNS. И откатить изменения при желании.

Очень удобно в крупных компаниях, где админов больше одного человека.

Сейчас очень популярен git, но его не всегда удобно использовать для маленьких задач.

Возможности TortoiseSVN

  • Интеграция с оболочкой Windows (контекстное меню)
  • Простой доступ к командам Subversion
  • Для работы не требуется IDE
  • Информационные значки на иконках файлов для индикации состояния файла
  • Версионирование папок.
  • Атомарные фиксации
  • Версированные метаданные
  • Возможность выбора сетевого уровня
  • Единый способ обработки данных
  • Эффективные ветки и метки
  • На сайте доступно множество версий локализаций пакета

Интеграция с оболочкой

TortoiseSVN интегрируется непосредственно в оболочку Windows (т.е. в Проводник). Это значит, что вы можете работать с уже знакомыми инструментами, и вам не надо переключаться на другое приложение каждый раз, когда вам необходимы функции для управления версиями!

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

Пометки на значках

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

Графический интерфейс пользователя

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

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

Простой доступ к командам Subversion

Все команды Subversion доступны из контекстного меню Проводника. TortoiseSVN добавляет туда собственное подменю.

Возможности Subversion

Версирование папок

CVS отслеживает только историю отдельных файлов, тогда как Subversion реализует «виртуальную» версионную файловую систему, которая отслеживает изменения в целых деревьях папок во времени. Файлы и папки являются версированными. В результате, есть команды переместить и копировать, реально выполняемые на стороне клиента и работающие непосредственно с файлами и папками.

Атомарные фиксации

Фиксация сохраняется в хранилище либо полностью, либо не сохраняется вообще. Это позволяет разработчикам фиксировать изменения, собранные в логически связанные части.

Версированные метаданные

Каждый файл и папка имеет прикреплённый невидимый набор «свойств». Вы можете создавать и сохранять произвольные пары ключ/значение для собственных нужд. Свойства тоже версируются во времени, как и содержимое файла.

Возможность выбора сетевого уровня

В Subversion есть абстрагируемое понятие доступа к хранилищу, которое упрощает реализацию новых сетевых механизмов. «Усовершенствованный» сетевой сервер Subversion является модулем для веб-сервера Apache, который использует для взаимодействия диалект HTTP под названием WebDAV/DeltaV. Это даёт Subversion большие преимущества в стабильности и совместимости, и предоставляет различные ключевые возможности без дополнительных затрат: проверка личности (аутентификация), проверка прав доступа (авторизация), сжатие потока данных при передаче, просмотр хранилища. Также доступна меньшая, автономная версия сервера Subversion, взаимодействующая по собственному протоколу, который легко может быть туннелирован через ssh.

Читайте также:
Super fast что это за программа

Единый способ обработки данных

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

Эффективные ветки и метки

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

Установка TortoiseSVN

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

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

Вся работа производится через контекстное меню.

Источник: internet-lab.ru

Системы контроля версий и клиенты для Windows: TortoiseSVN

Скачиваем установочный пакет с http://tortoisesvn.net/downloads.html и запускаем установку.
svninstall01
Жмем “Далее” до тех пор, пока не дойдем до окошка
svninstall03
Обратите внимание на клиента командной строки. Я сначала не устанавливал его, но сейчас думаю, что лучше поставить. Так что ставим галочку и продолжаем установку.
Клиент интегрируется в оболочку Windows, т.е. почти все операции производятся через контекстное меню Проводника. Когда-то мне это показалось очень удобным, сейчас я в этом уже не уверен.

Создание центрального репозитория

Поскольку TortoiseSVN полностью интегрируется в проводник, вызываем окно Проводника Windows, открываем диск V: и вызываем контекстное меню для V:VesionControl:
svn_rep001
Создаем в этом каталоге репозиторий

По идее крайне желательно создать всю структуру каталогов и уже потом можно запускать RepoBrowser
svn_rep003
Прежде чем помещать файлы в SVN, не помешает узнать, а какие файлы эта система будет обрабатывать, а какие – нет.
Есть несколько вариантов установки, какие файлы игнорировать, а какие нет.
Первый вариант состоит в редактировании установок SVN. Это глобальные настройки, касаться они будут всех репозиториев – как созданных, так и будущих. Вызовем TortoiseSVN Settings

Появится окно вида

В строке Global ignore pattern перечислены маски файлов, которые будут игнорироваться SVN. Можно добавить сюда свои варианты (например, *._ls *.bak *.dwl*). Одно “но” – я не увидел, как здесь добавлять каталоги (ведь может потребоваться игнорировать целые каталоги – например, временные каталоги компиляции debug-версий). Теоретически можно редактировать конфигурационные файлы, но я этим не занимался.
Второй способ – выбрать “неотслеживаемый” файл и в конт.меню для него вызвать TortoiseSVN – Ignore file. К сожалению, этот вариант “проходит” только после создания репозитория. Кроме того, если файлов / каталогов много, работа по их добавлению в “игнор” быстро превращается в муку.

Помещение в центральный репозиторий данных с сетевого диска

Выберем каталог, который мы хотим поместить в SVN (например, начнем с каталога Apps):
svn_rep004
Импортируем этот каталог в SVN. Аналогичным образом импортируем другие каталоги, которые собираемся отслеживать (dotnet, settings)
Если вдруг такой номер не прокатывает, открываем RepositoryBrowser и просто «Перетаскиваем» нужные каталоги в окно RepositoryBrowser
svn_rep007
В появившемся диалоговом окне проверяем адрес репозитория, и, если все нормально, жмем ОК:

Каждый “перетащенный” каталог после импорта надо “обновить”, т.е. выполнить т.н. Checkout:

Обратите внимание на значения, установленные в выделенной области. Измените каталог, в котором выполняется Checkout на реальный (в данном случае v:dotnet).
Можно пойти более простым путем – напрямую выполнить импорт нужного каталога в SVN: в контекстном меню выбрать TortoiseSVN – Import. Правда, после этого все равно придется выполнить проверку (Checkout).

Создание локальной рабочей копии на компьютере разработчика

На данный момент центральный репозиторий у нас сформирован и худо-бедно что-то в себе держит. Теперь создадим локальную рабочую копию.
Создадим каталог, например, c:svn_work и после этого вызовем “Экспорт” из SVN-репозитория:

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

Преобразование сетевого диска в рабочую копию

Точно так же, через Export, выполняем экспорт текущего состояния центрального репозитория в сетевой диск V:. Конечно, TortoiseSVN задаст вопрос – а точно ли мы уверены, что так и надо делать? Ведь диск-то не пустой!
Отвечаем “Да”, и в результате получаем на сетевом диске рабочую копию.

Внесение изменений в центральный репозиторий

В нашей локальной рабочей копии (которая лежит в каталоге c:svn_work) в каталоге Apps создадим новый каталог, например, svn_test, и внутри него текстовый файлик NewTestText.txt с любым содержимым.
Обновим центральный репозиторий:

Читайте также:
Программа полтава что это такое

Синхронизация изменений с рабочими копиями

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

Восстановление состояния

Допустим, сложилась ситуация, когда необходимо восстановить “все как было час / день / месяц / полгода назад”. Рассмотрим восстановление для локальной рабочей копии, т.к. для серверной все будет абсолютно аналогично.
Вариантов, как обычно, несколько: можно открыть RepositoryBrowser и восстановить оттуда, или можно восстановить по контекстному меню. Я рассмотрю только вариант работы из контекстного меню.
Итак, открываем в Проводнике нашу рабочую копию и вызываем контекстное меню.

Выбираем Update to revision.

Можно обновить до текущей версии (HEAD, значение установлено по умолчанию) либо до какой-то ревизии. В SVN каждая ревизия имеет свой порядковый номер. Поскольку удержать в памяти, какая ревизия за что отвечала, невозможно, нажимаем кнопку Show log:

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

Ветвление разработки

Иногда приходится ставить опасные эксперименты – меняются некоторые служебные файлы или функции, меняется алгоритм, или еще что-то. При этом хочется и исходную разработку не порушить, и эксперименты проводить достаточно безболезненно для окружающих.
Такая вещь есть, называется “ветка”, “ветвление разработки”. Грубо говоря, выполняется “снимок” текущего состояния, и этот снимок начинает собственное развитие, слабо связанное с основным направлением. Если развитие было успешным, то снимок можно “влить” обратно в основную разработку. Ну или выбросить, если результат оказался плачевным.

Создание ветки

Попробуем создать ветку. Скажу честно – по сравнению с тем же SourceTree создание ветки, и работа с ней в TortoiseSVN лично меня не впечатлила. Вообще никак.
Для создания ветки в контекстном меню выбираем TortoiseSVN – Branch / Tag:


Необходимо задать каталог, в котором будет храниться ветка. Мне кажется это не очень удачным решением, т.к. неизбежно возникнет путаница (каталог должен отличаться от того, для которого создается ветка).
Допустим, заменим каталог Apps на Apps_v01, укажем, что надо использовать HEAD ревизию, и чуть ниже установим обе галочки – и «Создать зависимые каталоги», и «Переключиться на новую ветку».
Для эксперимента удалим любые два каталога, и выполним обновление ветки. Получается, что ветка обновилась только на локальной рабочей копии. Обновим ветку в репозитории. Правый клик – SVN Commit. В окне Repsitory Browser можно увидеть каталог Apps и Apps_v01.

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

В появившемся окне выбираем, на какую ветку надо выполнить переключение:

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

Слияние ветки с основным направлением

Объединим ветку с основным деревом. Перед слиянием крайне желательно выполнить коммит для текущей ветки, чтобы не потерять изменения и иметь возможность к ним вернуться.

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

Указываем, что надо объединять с v:, объединять все ревизии, жмем Next. В следующем окне меняем только глубину: полностью рекурсивно.

Попробуем нажать Merge и проверим результат выполнения в RepositoryBrowser. Что самое грустное – я сразу не увидел, в какой я нахожусь ветке.

Сначала я остановился на SVN как на более простой (как мне казалось) системе. Система действительно проста, но не без недостатков:

  1. Графический клиент под Windows, удовлетворяющий всем требованиям, фактически один: TortoiseSVN.
  2. Работа с ветками показалась мне крайне неудобной и непрозрачной.

Тем не менее система отработала без малого полтора года и для начала свою задачу выполнила на 100%: а) приучила к некоторой дисциплине и б) сняла страх перед такой достаточно экзотической задачей.
Но, к сожалению, несколько последних экспериментов показали, что SVN недостаточно… как бы сказать… недостаточно гибок, маловато в нем можно сделать, используя только TortoiseSVN.

Источник: autolisp.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru