Били ли сте някога да работите по проект с възможността да проследявате промените си, както и да ги възстановявате? How-To Geek обяснява как да използва популярната система за проследяване на версии, Subversion (a.k.a SVN).
Изображение от Ясно неясно
Това ръководство ще ви даде възможност да използвате клиент за подмяна на изображения като цяло и, ако имате такъв, на вашия маршрутизатор * DD-WRT. Това ръководство по никакъв начин не е окончателно ръководство за Subversion и много информация може да бъде намерена на Subversion Red Book. Това ръководство е предназначено само за да ви даде кратък отговор на най-основните въпроси.
Възможно е да има многобройни причини, поради които бихте искали да сте в състояние да "проверите" най-новия код за софтуерен проект, който използва система за издаване на версии. По този начин можете да се възползвате от последните неиздавани промени, да помогнете за тестване и дори за развитие. В това ръководство ще разгледаме някои основни SVN терминология, ще покажем как да инсталирате SVN клиента на Linux, Windows и ако имате един маршрутизатор DD-WRT с поддръжка на OPKG. Също така включихме пример за проект, който можете да направите за плащане и да използвате за този маршрутизатор.
Subversion в никакъв случай не е единствената съществуваща система за контрол на версиите, а алтернативите включват Git (създаден от основателя на Linux ядрото Linus Torvalds), Mercurial и PerForce, които да назоват няколко. С това казано, той е един от свободните, зрял и широко използван в световен мащаб.
От "Субверсия" "Червена книга":
Subversion е безплатен / отворен източник версия система за контрол (VCS). Това означава, че Subversion управлява файловете и директорите, както и промените, направени към тях, с течение на времето. Това ви позволява да възстановите по-старите версии на данните си или да прегледате историята на промените на данните ви. В това отношение много хора мислят за система за контрол на версията като нещо като "машина за време".
Забележка: Тази книга е крайното събиране на знания за подривна дейност и ви препоръчваме да се позовете на него по всички теми, свързани с Subversion.
Версията е процес, при който състоянието на проекта се запазва в даден момент. Този вид процедура често се използва за управление на разработката на софтуер, така че работата може да продължи да подобрява проекта или да добавя функции, като същевременно може да проследи какво се е променило от последната обща точка "запазване". За да се разработи, този вид процедура може да бъде полезен за един човек, но още повече за група хора, всички работещи по същия проект. Това е така, защото обикновено когато работите по проект като група, има разпределение на отговорностите и различни хора променят различни аспекти на проекта. Без механизъм за създаване на версии би било много трудно всички хора да са в синхрон с последните работни промени от всички останали.
В хранилището
Това хранилище е мястото, където се съхраняват всички данни от всички различни места. В света на подрив, от гледна точка на клиента, сървърът държи базата данни на проекта. Тази база данни съдържа всички файлове, които са част от проекта, с всичките им предишни версии.
ревизия
Когато се създаде хранилище, се дава нула (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 е, че ще даде възможност за анонимна версия само за четене на вашия проект. Ако не искате да се справите с неприятностите за създаване на собствен проект, можете анонимно да прегледате хранилището на този автор.
Една бележка за проекта 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 (щракнете с десния бутон на мишката), за да го използвате. Всъщност, ако се опитате да го извикате от стартовото меню, ще получите:
"Обновяване" и "Обединяване" на работното ви копие
Ако работите върху кода с колегите или вие сами актуализирате кода от няколко местоположения (например лаптоп, работен плот или дори маршрутизатор), ще трябва да актуализирате работното си копие, преди да извършите последните промени.
На Linux / DD-WRT
Командата да направите това на тези POSIX системи е просто:
Свин нагоре
В Windows
"Обвържете" вашите промени
Това е, трябва да сте свободни от конфликти и да сте готови да актуализирате хранилището с промените си.
Тук трябва да отбележим, че е обичайна практика да добавяте "съобщение" към ангажимента, за да можете лесно да си спомните защо са направени промените. Всъщност, хранилището на Google прави това задължително предварително изискване за извършване.
На Linux / DD-WRT
Това е пример за ангажимента, който съм направил към проекта hotfortech, който го вдигна до версия 19:
svn commit -m "се актуализира, за да отрази новата антена реклама пакет връзка"
В Windows
Заключителни бележки
Това трябва да е достатъчно, за да започнете. Препоръчваме ви да прочетете справочните книги на 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
Още функции са предстоящи и ще бъдат добавени в бъдеще.
Системните администратори ще кодират пътя си от кодирането.