If-Koubou

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

Проследяване на версии с подмяна (SVN) за начинаещи (Как да)

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

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

Прелог

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

Преглед

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

Какво е Subversion?

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

От "Субверсия" "Червена книга":

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

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

Какво е Versioning?

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

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

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

ревизия

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

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

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

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

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

Сливане

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

Ангажира

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

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

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

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

Позволявам да се счупят

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

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

На Linux

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

sudo aptitude install subversion

На DD-WRT

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

opkg актуализация; opkg инсталирате subversion-клиент

В Windows

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

Създайте "хранилището"

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

  • Преминете към уебсайта на Google Code hosting и създайте нов проект.
  • На следващата страница попълнете задължителните полета и изберете типа на "системата за управление на версията", която ще бъде подривна.

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

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

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

Една бележка за проекта hotfortech: Този проект е предназначен да бъде обвивка за функциите, добавени към DD-WRT на How-To Geek (които аз лично използвам), както и някои лични ощипвания. Макар че този проект е насочен към работа във връзка с публикуваните тук статии относно начина на живот, той все още е моят частен проект. Това е, че е много подходящ за моя 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/ hotfortech-dd-wrt-само за четене

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

В Windows

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

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

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

На Linux / DD-WRT

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

Свин нагоре

В Windows

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

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

На Linux / DD-WRT

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

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

В Windows

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

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

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

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

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

Системните администратори ще кодират пътя си от кодирането.