TortoiseSVN – свободен и с отворен код Microsoft Windows инструмент за системата за контрол на версии Apache Subversion с лиценз от GNU General Public License (GPL). TortoiseSVN управлява файлове и директории в реално време. Файловете се съхраняват в централно хранилище. Принципът на работата на хранилището е сходен с този на стандартен файлов сървър, като освен това допълнително се запаметява всяка извършена промяна върху файл или директория. Това позволява лесно възстановяване на по-стари версии на файлове и преглед на историята на всички извършени до момента промени.

TortoiseSVN
Информация
РазработчикTim Kemp [1]
Начална версия2002[2]
Последна версия1.9.2
Програмен езикC++
Операционна системаMicrosoft Windows
Размер20.3 MB
Вид софтуерSubversion client
ЛицензGNU General Public License
Уебсайтtortoisesvn.net
TortoiseSVN в Общомедия

През 2007 г. TortoiseSVN спечели наградата на SourceForge.net за най-добър инструмент за разработване.[3]

TortoiseSVN може да бъде интегриран в Microsoft Visual Studio чрез използване на инструменти като VsTortoise.

Версиите на TortoiseSVN от 1.9 вече не могат да бъдат използвани с Windows XP и работят само на Windows Vista и по-нови операционни системи.

Основни черти редактиране

 
TortoiseSVN – подменю.

Интегриране с файлов мениджър редактиране

TortoiseSVN се интегрира безпроблемно в Windows шел (като например Windows Explorer). Това позволява на потребителя да продължи да работи с инструментите, с които е свикнал, без да му се налага да отваря приложението всеки път при необходимост от използване функциите за контрол на версиите, предоставени от Subversion.[4]

Контекстното меню на TortoiseSVN е съвместимо с различни файлови мениджъри, което не задължава потребителя да използва Windows Explorer-a, може да го използва и чрез File/Open диалоговия прозорец.

Икони редактиране

Състоянието на всеки файл с подверсии в себе си се индицира от малка иконка върху тази на файла. По този начин потребителят вижда в какво състояние е работното му копие.

Графичен интерфейс редактиране

Когато потребителя преглежда промените на файл или папка, може да кликне върху избраната версия, за да види коментарите за нея, при качването и за съхранение. Може също така да види детайлно какво е променено във всеки файл, като го избере от списъка и кликне на него два пъти.

В диалогови прозорци се появяват всички файлове или папки, които могат да бъдат съхранени. Потребителя може да избере кои файлове иска да бъдат съхранени, като маркира тяхното квадратче(checkbox).

Лесен достъп до Subversion командите редактиране

Всички Subversion команди са достъпни от менюто на Windows Explorer. TortoiseSVN добавя собствено подменю там.

Контекстни менюта редактиране

Всички команди на TortoiseSVN са видими в контекстното меню на Windows Explorer. Повечето от тях са директно видими, когато щракнете с десния бутон върху файл или папка. Командите, които са достъпни, зависят от това дали файлът или папката са под контрола на Subversion.

Drag and Drop функция редактиране

Възможност за претегляне на файлове или папки на ново място вътре в работното копие, използвайки десен бутон на мишка (drag-and-drop), или добавяне на нов неверсиониран файл с помощта на същата drag-and-drop функция в директория, в която се използва версионирането.[5]

Автентикация редактиране

Ако хранилището е защитено с парола, появява се диалоговия прозорец за въвеждане на потребителско име и парола. Чекбокс Save authentication в прозореца позволява на TortoiseSVN да запамети въведените идентификационни данни в Subversion директория: %APPDATA%\Subversion\auth в три поддиректории:

  • svn.simple съдържа идентификационни данни за стандартна автентикация (username/password). Паролата се съхранява с използването на WinCrypt API.
  • svn.ssl.server съдържа SSL сертификати.
  • svn.username съдържа идентификационни данни за автентикация само с потребителското име (без използване на парола).

Премахването на запазените автентикационни данни се осъществява на страницата „Saved Data“ в диалоговия прозорец с настройки на TortoiseSVN. Бутонът Clear all изтрива кешираните автентикационни данни от всички хранилища.

История на създаване редактиране

Идеята за Subversion клиент за Windows е дошла от вече съществуващ подобен CVS клиент с название TortoiseCVS. Разработването на TortoiseSVN започва през 2002 г. Създателят на TortoiseSVN, Тим Кемп (Tim Kemp), използва кода на TortoiseCVS като основа за TortoiseSVN. След това той започва да работи по проекта и регистрира домейн tortoisesvn.org където слага оригиналния код.

По стечение на обстоятелствата, точно по същото време Стефан Кюнг (Stefan Küng) търси добра и свободно разпространявана система за контрол на версиите и открва Subversion и сорс кода на TortoiseSVN. Към този момент TortoiseSVN все още не е напълно готов за използване инструмент. Кюнг се присъединява към проекта и се е включва в разработването му. Той пренаписва повечето от вече съществуващия код и започва да създава команди и да добавя нови функционалности към проекта.

След като Subversion става по-стабилна система за контрол на версиите, все повече потребители започват да използват TortoiseSVN като клиент за Subversion. Потребителската база започва да расте бързо. Любе Онкен (Lübbe Onken) предлага своята помощ в създаването на иконите и логото на TortoiseSVN.

Към настоящия момент той се занимава с поддръжката на уебсайта на TortoiseSVN и с превод на TortoiseSVN на различни езици.

Съпоставка на TortoiseSVN и TortoiseGit редактиране

Sync/Update и Commit

 

След дясно кликане върху работната папка, ще ви се отворят различни прозорци с функционалности [6]:

Git Sync е Pull и Push в същото време (ще разгледаме тези операции късно). В SVN, съответните операции са Update и Commit.

Git Commit  регистрира модификациите на файлове в работната папка.

SVN Update  актуализира локално целия код, който е добавен или променен от други разработчици в хранилището, след вашето последно check-out или lastupdate. С други думи, уеднаквява вашата локална папка с хранилището. Този метод също е на разположение в Git като Update To Revision след като веднъж хранилището е създадено или клонирано.

SVN Commit  е операцията за качване на вашите модификации към хранилището.

Команди, общи за TortoiseSVN и TortoiseGit редактиране

 
Команди в подменю TortoiseSVN (ляво) и TortoiseGit (дясно).

Show Log – Показва списъка с модификации.

Check For Modifications – Показва списъка с модификации заедно с файловете, които не са били добавени в хранилището.

Resolve(d) – Метод за решаване на конфликти в кода между хранилището и локалната (работната) директория.

Revert – Ако на потребителя не му харесват локално направените модификации, той може да се върне към оригиналната версия от хранилището.

Clean Up – Ако нещо се случи по време на извършването на дадена команда, системата може да остане в нестабилно състояние. Тази команда позволява да се реши този проблем.

Rename – Преименува файл или папка в локална директория. Ако се използва стандартната функция за преименуването в Windows Explorer, това може да доведе до невъзможността за определяне на наследяването между версиите на файлове.

Delete – Изтрива файл или папка от локална директория. Също като преименуването, изтриването в Windows Explorer не дава възможността на Git и SVN да бъдат оповестени за промените и наследяването няма да бъде запазено.

Switch – Този метод позволява на потребителя да превключва между trunk (SVN) или master (Git) или branch.

Merge – Позволява да се обединят модификациите направени в branch и trunk/master.

Create Branch/Tag – Позволява създаване на branch и tag.

Settings – Настройка на конфигурациите на TortoiseGit и TortoiseSVN.

Add – Добавя файлове към проекта, които Git и SVN ще използват при следващия commit. В Git това се казва staging.

Create Patch (Serial) – Метод, създаващ patch за модификациите, направени в локална директория.

Apply Patch (Serial) – Прилагане на patch в локална директория.

Help – Помощна документация за TortoiseGit и TortoiseSVN.

About – Информация за TortoiseGit и TortoiseSVN.

Специфични за TortoiseSVN команди редактиране

Revision Graph – Показва графика с branch-ове и tag-ове в хранилището.

Get/Release Lock – Позволява заключване на някои от файловете в хранилището с цел никой друг да не може да ги модифицира, докато потребителят работи по тях.

Relocate – Ако местоположението на хранилището е променено, позволява да се зададе ново местоположение.

Специфични за TortoiseGit команди редактиране

Fetch – Метод за получаване на модификациите от отдалечен източник (remote source) в локалното хранилище, без да ги обединява (merge).

Pull – Метод за получаване на модификациите(като Fetch), като ги обединява(merge) с локалното хранилище.

Push – Изпращане на текущата модификация в отдалечено хранилище (remote repository).

Diff (With Previous Version) – Показва промените в работна директория в сравнение с предишната версия.

Stash Save – Съхранява текущата модификация в локалната директория без да я изпраща в хранилището.

Bisect Start – Намира промяната, предизвикала даден проблем и премества указателя HEAD ако е необходимо.

Submodule Add – Добавя друг Git проект/хранилище към текущо хранилище. Промените (commits) остават разделени.

Вижте също редактиране

  • TortoiseCVS, аналогичен инструмент за работа с CVS
  • TortoiseGit, аналогичен инструмент за работа с Git
  • TortoiseHg, аналогичен инструмент за работа с Mercurial

Източници редактиране

Външни препратки редактиране

Официален уебсайт