Praćenje verzija sa subverzijom (SVN) za početnike

Sadržaj:

Praćenje verzija sa subverzijom (SVN) za početnike
Praćenje verzija sa subverzijom (SVN) za početnike

Video: Praćenje verzija sa subverzijom (SVN) za početnike

Video: Praćenje verzija sa subverzijom (SVN) za početnike
Video: How to Fix Global Menu GTK Theme Buttons in Ubuntu - YouTube 2024, Studeni
Anonim
Jeste li ikada željeli raditi na projektu s mogućnošću praćenja i vraćanja promjena? How-To Geek objašnjava Kako koristiti popularni sustav za praćenje verzija, Subversion (a.k.a SVN).
Jeste li ikada željeli raditi na projektu s mogućnošću praćenja i vraćanja promjena? How-To Geek objašnjava Kako koristiti popularni sustav za praćenje verzija, Subversion (a.k.a SVN).

Slika jasno dvosmislena

Prelog

Ovaj će vam vodič pružiti mogućnost da uopće koristite subverziju klijenta i, ako ga imate, na vašem DD-WRT usmjerivaču. Ovaj vodič nikako nije konačan vodič za Subversion i puno informacija može se naći na Subversion Red Book. Ovaj vodič namijenjen je samo da vam pruži kratak odgovor na najosnovnija pitanja.

Pregled

Moglo bi postojati brojni razlozi zbog kojih biste željeli "naplatiti" najnoviji kod za softverski projekt koji koristi verzijski sustav. To vam omogućuje da iskoristite najnovije još neobjavljene izmjene, pomažete u testiranju i čak razvoju. U ovom vodiču proći ćemo neke osnovne SVN terminologije, pokazati kako instalirati SVN klijent na Linux, Windows i ako imate jedan vaš OPKG omogućen DD-WRT usmjerivač. Uključili smo i primjer projekta koji možete provjeriti i koristiti za navedeni usmjerivač.

Što je Subversion?

Subversion ni u kom slučaju nije jedini sustav kontrole verzije koji postoji, a alternative uključuju Git (koji je stvorio Linus Torvalds, osnivač Linux jezgre), Mercurial i PerForce u ime nekoliko. Uz to, to je jedan od slobodnih, zreli i široko korišten širom svijeta.

Od Subverzije "Crvena knjiga":

Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”

Napomena: Ova knjiga je konačna zbirka znanja o subverziji i preporučujemo vam da se na njega uputite na sve teme povezane s Subversionom.

Što je verzija?

Verzija je proces u kojem se stanje projekta u određenom vremenu sprema. Ovakav postupak često se koristi za upravljanje razvojem softvera kako bi rad mogao nastaviti poboljšavati projekt ili dodati značajke, a moći će pratiti što se promijenilo od zadnje ukupne točke "spremanja". Da bi razradio, ova vrsta postupka može biti korisna za jednu osobu, ali još više za skupinu ljudi, a svi koji rade na istom projektu. To je zato što, obično, kada se radi o projektu kao grupi, postoji raspodjela odgovornosti i različiti ljudi mijenjaju različite aspekte projekta. Bez mehanizma za verzije, bilo bi vrlo teško zadržati sve u sinkronizaciji na najnovijim radnim promjenama od svih ostalih.

Terminologija

Repozitorij Repozitorij je mjesto gdje se pohranjuju svi podaci s različitih mjesta. U svijetu subverzije, s gledišta klijenta, to je poslužitelj koji sadrži bazu podataka projekta. Ova baza podataka sadrži sve datoteke koje su dio projekta sa svim njihovim prošlim verzijama.

Revizija

Kada se stvori spremište, dobiva se broj revizije nula (0). Ovaj broj se povećava za jedan (1) svaki put kada se izvrši izvršavanje. Broj revizije globalni je za repozitorij. To jest, da ne postoji pojedinačni broj revizije za pojedine datoteke u spremištu, čak i ako se ništa ne promijeni u toj datoteci za određenu vrstu obveze.

Radna kopija

Radna kopija je lokalna kopija (ili "naplata") određene verzije. Ovu inačicu obično je "najnoviji" (tzv. "Glava"), ali se može zatražiti prethodna verzija. Korisnik može učiniti s lokalnom kopijom sve što on želi, znajući da se, u najgorem slučaju, ponovno mogu ponovno provjeriti kod. Štoviše, ova kopija je "privatna". To je zato što dok ne ažurirate ili izvršite svoju kopiju, nećete vidjeti promjene drugih ljudi, niti će vidjeti vašu.

Ažuriranje i rješavanje sukoba

Lokalna radna kopija može se ažurirati. To jest, Ako ste "odjavili" neku verziju, a dok ste radili, ažurirana je inačica u spremištu, a radnu kopiju možete ažurirati na najnovije. Zapravo, poslužitelj će vas spriječiti da izvršite svoje izmjene prije nego što ažurirate na najnoviju verziju kako bi se podudarale s repozitorijem. To je učinjeno kako bi vas prisilili da riješite konflikte na lokalnoj razini, prije nego što mislite da ste izvršili promjene u repozitoriju.

stapanje

Spajanje se odnosi na postupak pomoću kojeg se promijenjeni kôd uklopio u jednu verziju. To također može značiti rješavanje sukoba.

obvezuje

Obvezivanje je postupak u kojem će promjene koje ste napravili u lokalnoj kopiji spojili u spremište. Ovo je najopasniji dio procesa, jer je ovdje da promjene koje ste napravili mogu utjecati na druge ljude koji koriste isti spremište. Zato se to obično obavlja nakon nekog razmatranja, uz konsenzus tima i nakon što riješite bilo kakve sukobe spajanja.

Tijek rada

Najosnovniji tijek rada iz perspektive korisnika kada koristi subverziju je ovo:

1. Check out postojeći kôd (obično "glavu"). 2. Izvršite izmjene, dodajte datoteke i općenito razvite kôd. 3. Ažurirajte na najnoviju verziju kako biste bili sigurni da je lokalna kopija sinkronizirana s ažuriranjima u repozitoriji. 4. Ako je potrebno, lokalno spojite i riješite sukobe. 5. Obvezujemo spojene promjene u spremište. 6. Idite na korak 2.

Omogućuje pucanje

Instalirajte klijenta

Da biste mogli koristiti subverziju, morate instalirati klijenta na svoj stroj.

Na Linuxu

Trebate samo instalirati paket. Na Ubuntu / Mint, to će biti učinjeno s:

sudo aptitude install subversion

Na DD-WRT

Ako ste slijedili "Kako instalirati dodatni softver na kućnom usmjerivaču (DD-WRT)", možete instalirati svn klijent jednostavno izdavanjem:

opkg update; opkg install subversion-client

U sustavu Windows

Dok duboki geek korisnici mogu početi zaboraviti da GUI katkada postoji, a ne svatko ima. Ako želite koristiti Windows klijenta za povezivanje s SVN repozitorijem, daleko najpopularnija je "Tortoise". Da biste ga koristili, jednostavno preuzmite program i instalirajte ga u redoviti način "sljedeći, sljedeći, završni".

Izradite "skladište"

Iako nećemo ući u puno detalja o tome kako postaviti subverzivni poslužitelj u ovom vodiču, Googleova alternativa nije loš početak za novajlijeg korisnika. Za izradu Googleovog spremišta:

  • Pređite na web-lokaciju za hosting Google Code i stvorite novi projekt.

    Image
    Image
  • Na sljedećoj stranici, popunite obavezna polja i odaberite vrstu "sustava kontrole verzije" kako bi bila subverzija.

    Image
    Image

    Napomena: preporučujemo da pogledate koja je razlika između licenci koje Google nudi, prije nego što odaberete jedan za projekt.

  • Kliknite "Izradi projekt".

" Checkout" svoju radnu kopiju

Nakon što je vaš projekt izrađen, trebali biste pronaći upute za pristupnicu na kartici "Izvor".

Lijepa stvar oko Google koda jest da će omogućiti anonimnu verziju samo za čitanje za vaš projekt. Ako se ne želite nositi s gnjavažom o stvaranju vlastitog projekta, možete se anonimno prijaviti na taj pisacov spremište.
Lijepa stvar oko Google koda jest da će omogućiti anonimnu verziju samo za čitanje za vaš projekt. Ako se ne želite nositi s gnjavažom o stvaranju vlastitog projekta, možete se anonimno prijaviti na taj pisacov spremište.

Jedna napomena o projektu Hotfortech: Ovaj projekt trebao bi biti omot za značajke koje su dodane DD-WRT-u na How-To Geek (koje ja osobno koristim) plus neke osobne ugađanje. Iako je ovaj projekt usmjeren na rad u sprezi s člancima objavljenim ovdje na howtogeeku, on je i dalje moj privatni projekt. To je, vrlo je pogodan mojoj Buffalo routeru (AR71xx arhitektura), mojim osobnim sklonostima i sklon je povremenim prigovaranjem.

Na Linuxu / DD-WRT-u

Napravite direktorij za rad, na primjer na DD-WRT, koji bi mogao biti:

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

Potpuna naredba na Linuxu sastoji se od same SVN naredbe, direktive "checkout", adrese spremišta i direktorija za checkout. Izradite praznu mapu i izvršite sljedeću naredbu:

svn checkout https://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

Napominjemo da se u gornjem primjeru provjerava verzija samo za čitanje. Ako ste se odlučili za izradu vlastitog spremišta, morat ćete upotrijebiti httpS vezu.

U sustavu Windows

Budući da je kornjača ekstenzija ljuske, trebat ćete upotrijebiti kontekstni izbornik Windows Explorera datoteka (desnom tipkom miša). Zapravo, ako ga pokušate pozvati s početnog izbornika, dobit ćete:

Image
Image
  • Izradite praznu mapu.
  • Desni klik na njemu otvorite kontekstni izbornik.
  • Odaberite "SVN Checkout":

    Image
    Image
  • Kopirajte i zalijepite vezu za projekt (ako ga imate) u tekstualni okvir "URL":

    Image
    Image
  • Ovisno o veličini vašeg projekta, to može potrajati, ali kada završi "Checkout", trebali biste vidjeti nešto slično:

    Image
    Image
  • Možete početi razvijati.

"Ažuriraj" i "Spoji" radnu kopiju Ako vaš rad na kodu s kolegama ili vi sami ažurirate kod s više lokacija (npr. Prijenosno računalo, stolno računalo ili čak usmjerivač), morat ćete ažurirati svoju radnu kopiju prije nego što pošaljete najnovije izmjene.

Na Linuxu / DD-WRT-u

Naredba za to na ovim POSIX sustavima je jednostavno:

svn up

U sustavu Windows

  • Desnom tipkom miša kliknite u radnom direktoriju i odaberite "SVN Update":

    Image
    Image
  • Ako naiđete na sukobe, pokušajte slijediti upute na zaslonu i iskoristite svoje mišljenje o tome što učiniti s njima.

"Pričekajte" svoje promjene To je, trebali biste biti sukobi i spremni za ažuriranje repozitorija s promjenama. Jedina točka koju treba imati na umu jest da je uobičajena praksa dodati poruku "zapisnika" na počinjenje, kako bi se lako moglo prisjetiti zbog čega su promjene izvršene. Zapravo, Googleovo spremište čini to obveznim preduvjetom za počinjenje.

Na Linuxu / DD-WRT-u

Ovo je primjer predanosti koju sam napravio za hotfortech projekt koji je uzeo na verziju 19:

svn commit -m “updated to reflect new ant-ads pack link”

U sustavu Windows

  • Desnom tipkom miša kliknite radni direktorij i odaberite "SVN Commit":

    Image
    Image
  • Trebali bi vas pozdraviti prozorom koji vam omogućuje bilježenje zapisničke poruke:

    Image
    Image
  • Pritisnite U redu i kada se od vas zatraži zaporka, unesite Googleovu lozinku.
  • Ako je počinjenje bilo uspješno, trebali biste vidjeti nešto slično:

    Image
    Image
  • To je to, trebali biste biti sposobni počiniti kao BOSS.

Konačne primjedbe Ovo bi trebalo biti dovoljno za početak. Savjetujemo vam da pročitate SVN referentne knjige da biste dobili sve dublje i bolje razumijevanje svih SVN-ovih upotreba, opcija i upozorenja. Također, podsjećamo vas (opet) da subverzija NIJE jedini sustav kontrole verzija vani, a GIT (koji je stvorio Linus Torvalds, osnivač Linux kernela) čini se da je popularnost posljednjih godina.

Ako odlučite pokrenuti "running-config.sh" iz hotfortech projekta na vašem usmjerivaču, vidjet ćete da će vam se trenutno instalirati: Anti-ads-pack, Opkg geek-init skripta, kao i stvari kao što su puni GNU "ls", "manje", "BASH" i još mnogo toga.

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

Više mogućnosti su u tijeku i bit će dodane u budućnosti.

Administratori sustava kôd će izlaziti iz kodiranja.

Preporučeni: