Начална » как да » Проследяване на версиите с Subversion (SVN) за начинаещи

    Проследяване на версиите с Subversion (SVN) за начинаещи

    Искали ли сте някога да работите по проект с възможност да проследявате промените си, както и да ги възстановите? How-To Geek обяснява как да се използва популярната система за проследяване на версии, Subversion (a.k.a SVN).

    Изображение от ясно изразено

    Прелог

    Това ръководство ще има за цел да ви даде възможност да използвате клиента на подривна дейност като цяло и, ако имате такъв, на вашия * DD-WRT маршрутизатор. Това ръководство по никакъв начин не е окончателно ръководство за Subversion и много информация може да бъде намерена в Червената книга на Subversion. Това ръководство има за цел само да ви даде стенографски отговор на най-основните въпроси.

    Преглед

    Може да има много причини, поради които бихте искали да можете да „изтеглите” най-новия код за софтуерен проект, който използва система за управление на версиите. Това ви позволява да се възползвате от най-новите все още неиздавани промени, да помогнете при тестването и дори в развитието. В това ръководство ще разгледаме някои основни SVN терминологии, покажете как да инсталирате SVN клиента на Linux, Windows и ако имате един вашият OPKG маршрутизатор DD-WRT. Ние също така включихме пример за проект, който можете да поръчате и да използвате за посочения маршрутизатор.

    Какво е Subversion?

    Subversion по никакъв начин не е единствената съществуваща система за контрол на версиите, а алтернативите включват Git (създаден от основателя на Linux ядрото на Linus Torvalds), Mercurial и PerForce, за да назовем само няколко. С това каза, че е един от свободните, той е зрял и широко се използва в световен мащаб.

    Излизане от "Червената книга" на Subversion:

    Subversion е свободен / отворен код система за контрол на версиите (VCS). Това означава, че Subversion управлява файлове и директории, както и промените, направени в тях с течение на времето. Това ви позволява да възстановите по-стари версии на данните си или да прегледате историята на промените в данните ви. В тази връзка много хора мислят за система за контрол на версиите като нещо като "машина на времето".

    Забележка: Тази книга е най-доброто събиране на знания за подривна дейност и ви препоръчваме да се обърнете към него по всички теми, свързани с Subversion.

    Какво е версия?

    Версията е процес, при който се запазва състоянието на проекта в даден момент. Този вид процедура често се използва за управление на разработката на софтуера, така че работата може да продължи да подобрява проекта или да добавя функции, като в същото време може да проследява какво се е променило от последната обща точка за „запазване“. За да се доразвие, този вид процедура може да бъде полезна за един човек, но още повече за група хора, всички работещи по един и същ проект. Това е така, защото обикновено, когато се работи по проект като група, има разпределение на отговорностите и различните хора променят различни аспекти на проекта. Без механизъм за управление на версиите, би било много трудно всички да бъдат синхронизирани с последните промени в работата.

    терминология

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

    ревизия

    Когато се създава хранилище, се дава номерът на ревизията нула (0). Този номер се увеличава с един (1) всеки път, когато се извърши фиксиране. Номерът на редакцията е глобален за хранилището. Това означава, че няма отделен номер на ревизия за отделни файлове в хранилището, дори ако в този файл не се промени нищо за този конкретен запис.

    Работното копие

    Работното копие е локално копие (или „проверка“) на конкретна версия. Обикновено тази версия, когато е отменена, е „най-новата“ (наричана още „глава“), но може да бъде поискана и предишна. Потребителят може да направи с местното копие всичко, което той / тя желае, със знанието, че в най-лошия случай те биха могли да си поръчат отново кода. Освен това това копие е „частно“. Това е така, защото докато не актуализирате или не извършите копие, няма да видите промените на други хора, нито ще видите вашите.

    Актуализиране и разрешаване на конфликти

    Местното работно копие може да се актуализира. Това означава, че ако сте „проверили“ определена версия и докато работите, версията в хранилището е актуализирана, можете да актуализирате работното си копие до последната. Всъщност сървърът ще ви попречи да извършите промените, преди да актуализирате последната версия, за да съответства на хранилището. Това се прави, за да ви принуди да разрешавате конфликти локално, преди дори да помислите за извършване на промени в хранилището.

    Сливане

    Обединяването се отнася до процеса, чрез който промененият код се смесва в една версия. Това може да доведе и до разрешаване на конфликти.

    Ангажира

    Извършването е процес, при който промените, които сте направили в локалното копие, ще бъдат обединени обратно в хранилището. Това е най-опасната част от процеса, тъй като тук промените, които сте направили, могат да повлияят на други хора, използващи същото хранилище. Ето защо това обикновено се прави след известно внимание, с консенсуса на екипа и след като сте разрешили конфликти за сливане.

    Работен процес

    Най-основният работен процес от гледна точка на потребителя, когато се използва подризация, е следният:

    1. Проверете съществуващия код (обикновено „главата“).
    2. Направете промени, добавете файлове и като цяло разработете кода.
    3. Актуализирайте до последната версия, за да се уверите, че локалното ви копие е синхронизирано с актуализациите в хранилището.
    4. Локално сливане и разрешаване на конфликти, ако е необходимо.
    5. Завършете обединените промени в хранилището.
    6. GoTo стъпка 2.

    Да получим крекинг

    Инсталирайте клиента

    За да можете да използвате Subversion, трябва да инсталирате клиента на вашата машина.

    На Linux

    Трябва само да инсталирате пакета. На Ubuntu / Mint, това ще стане с:

    sudo aptitude инсталирате subversion

    На DD-WRT

    Ако сте следвали „Как да инсталирате допълнителен софтуер на домашния си маршрутизатор (DD-WRT)“, можете да инсталирате svn клиента, като просто издадете:

    opkg update; opkg инсталира subversion-client

    В Windows

    Докато ние дълбоко geek потребители могат да започнат да забравят, че GUI дори съществува понякога, не всеки има. Ако искате да използвате клиент за Windows, за да се свържете с SVN хранилище, най-популярният от тях е „Tortoise“. За да го използвате, просто изтеглете програмата и я инсталирайте в обичайния “следващ, следващ, завършете”.

    Създайте „хранилище“

    Въпреки че няма да навлизаме в подробности за това как да настроите подривен сървър в това ръководство, алтернативата на Google не е лош старт за начинаещия потребител. За да създадете хранилище в Google:

    • Отправете се до хостинг сайта на Google Code и „създайте“ нов проект.
    • На следващата страница попълнете задължителните полета и изберете вида на „системата за контрол на версиите“, която ще бъде подривна.

      Забележка: Може да искате да хвърлите поглед върху разликата между лицензите, предлагани от Google, преди да изберете един за проекта.
    • Кликнете върху „Създаване на проект“.
    "Checkout" вашето работно копие

    След като проектът е създаден, трябва да можете да намерите инструкциите за достъп до него в раздела „Източник“.

    Хубавото на кода на Google е, че той ще активира анонимна версия само за четене за вашия проект. Ако не искате да се справяте с неудобството да създавате свой собствен проект, можете да проверите анонимно хранилището на този писател..

    Една бележка за hotfortech проекта: Този проект е предназначен да бъде обвивка за функциите, които са били добавени към DD-WRT на How-To Geek (които аз лично използвам) плюс някои лични ощипвам. Въпреки че този проект е насочен към работа във връзка с публикуваните тук статии за howtogeek, той все още е моят частен проект. Тоест, той е много подходящ за моя Buffalo рутер (AR71xx архитектура), моите лични капризи и е предразположен към случаен брудж.

    На Linux / DD-WRT

    Създайте директорията, в която да работите, например в DD-WRT, която може да бъде:

    mkdir -p / jffs / svn; cd / jffs / svn

    Пълната команда в Linux се състои от самата команда SVN, директивата за “checkout”, адреса на хранилището и директорията за проверка. Създайте празна директория и изпълнете командата по-долу:

    svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ само за четене

    Имайте предвид, че в примера по-горе версията само за четене се проверява. Ако сте избрали да създадете собствено хранилище, ще трябва да използвате връзката httpS.

    В Windows

    Тъй като костенурката е разширение на обвивката, ще трябва да използвате контекстното меню на Windows File Explorer (с десен бутон), за да го използвате. Всъщност, ако се опитате да го извикате от началното меню, ще получите:

    • Създайте празна директория.
    • Кликнете с десния бутон върху него, за да изведете контекстното меню.
    • Изберете „SVN Checkout“:
    • Копирайте и поставете връзката за проект (ако имате такъв) в текстовото поле „URL“:
    • В зависимост от размера на вашия проект това може да отнеме известно време, но когато приключите с „Плащане“, трябва да видите нещо подобно:
    • Може да започнете да се развивате.

    „Актуализиране“ и „Обединяване“ на вашето работно копие
    Ако работите по кода с колеги или сами сте актуализирали кода от няколко местоположения (т.е. лаптоп, настолен компютър или дори маршрутизатор), ще трябва да актуализирате работното си копие, преди да извършите последните промени.

    На Linux / DD-WRT

    Командата за това на тези POSIX системи е просто:

    SVN нагоре

    В Windows

    • Кликнете с десния бутон в работната директория и изберете „SVN Update“:
    • Ако срещнете конфликти, опитайте да следвате инструкциите на екрана и използвайте преценката си какво да правите с тях.

    „Извършване“ на промените
    Това е, трябва да сте свободни от конфликти и да сте готови да актуализирате хранилището с промените си.
    Тук трябва да се отбележи, че е обичайна практика да се добави съобщение за вписване в съобщението, за да може лесно да се напомни защо са направени промените. В действителност хранилището на Google прави това задължително предварително изискване за извършване.

    На Linux / DD-WRT

    Това е пример за ангажимента, който направих за проекта hotfortech, който го увеличи до версия 19:

    svn commit -m „актуализиран, за да отразява новата връзка за анти-рекламен пакет“

    В Windows

    • Кликнете с десния бутон в работната директория и изберете „SVN Commit“:
    • Трябва да бъдете посрещнати от прозорец, който ви позволява да отбележите съобщение от дневника:
    • Натиснете OK и когато бъдете подканени за парола, дайте генерираната от Google парола.
    • Ако фиксацията е била успешна, трябва да видите нещо като:
    • Това е, трябва да можете да се ангажирате като BOSS.

    Заключителни бележки
    Това трябва да е достатъчно, за да започнете. Препоръчваме ви да прочетете SVN справочните книги, за да получите по-задълбочено и по-добро разбиране за всички употреби, опции и предупреждения на SVN. Също така ви напомняме (отново), че Subversion не е единствената система за контрол на версиите и GIT (създаден от Линус Торвалдс основател на Linux ядрото) изглежда набира популярност през последните години.

    Ако решите да стартирате “running-config.sh” от проекта hotfortech на вашия рутер, ще откриете, че в момента той ще се инсталира за вас: Anti-ads-pack, скриптът за маниакални грешки Opkg, както и неща като пълния GNU “ls”, “less”, “BASH” и други.

    /jffs/svn/hotfortech-dd-wrt/running-conf.sh

    Очакват се още функции и ще бъдат добавени в бъдеще.


    Системните администратори ще кодират изхода си от кодирането.