ugrás a tartalomhoz

Subversion

peter71 · 2009. Júl. 18. (Szo), 11.04
Sziasztok!

Szeretnék Tőletek egy részletes, szájbarágós leírást kérni az SVN telepítésről és beállításről magyarul, windows xp-re. Sok leírást végignéztem, és sokszor próbáltam meg telepíteni, de sajnos egyszer sem sikerült beüzemelnem. Otthon tanulom a webfejlesztést több-kevesebb sikerrel, php-t és wamp szervert használok, gondoltam jó lenne svn-t használni saját magam hasznára.

Jelenleg a NetBeans és a PhpEd fejlesztő környezet van a gépemen, hogyan kell ezekhez a programokhoz használni az svn-t?

Köszönettel:
Peter71
 
1

google lucky:svn windows

Fraki · 2009. Júl. 18. (Szo), 15.16
google lucky:svn windows installer

Kliensnek természetesen tortoiseSVN.

Ha megvolt, térjünk vissza rá, mi nem világos.
2

szerver?

peter71 · 2009. Júl. 18. (Szo), 16.40
Eddig azt hittem elég hozzá a wamp és a tortoisesvn, de itt az egyik útmutatót olvasva (http://njoco.blogspot.com/2008/02/subversion-munkakrnyezet-belltsa.html) szükség van egy szerver programra is.
Ha jól értem a következő lépéseket kell csinálnom: telepítem az apache-ot és a Setup-Subversion-1.6.3.msi-t, utána jön a httpd.conf file átírása vagy a VisualSVN-Server-2.0.1.msi telepítése és csak utána jön a TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi telepítése.
Fölraktam a wamp-ot és a subversion servert, majd telepítettem a visualsvn-t, mondván a leírás szerint megoldja nekem a problémát, miszerint localhostban dolgozva szeretném az svn-t használni. Nem sikerült.
Akkor most kell a visualsvn vagy inkább én írogassam át a file-t? A visualsvn-ben hogyan tudom beállítani a localhost-ot?

Remélem, van még türelmed hozzám.

Köszönöm:
Peter71
3

Persze, hogy van. „Eddig azt

Fraki · 2009. Júl. 18. (Szo), 19.20
Persze, hogy van.

„Eddig azt hittem elég hozzá a wamp és a tortoisesvn”

Ez viszont arra utal, hogy a lényegét még nem látod át. A verziókövetés (így az SVN is) áll egy szerverből és kliensekből. Az szerver kezeli a verziókat, a kliensek meg beküldenek frissítést vagy lekérdeznek. Ha csak lokálisan akarsz verziót követni, akkor is lesz szervered, csak helyben fog futni.

A tortoiseSVN a kliens. Beépül a windows intézőbe, overlay ikonokkal jelzi, melyik fájl változott, és kontextmenüje van, amivel műveleteket lehet végezni (pl. kódot beküldeni).

A szerver windowson normálisan szolgáltatásként fut (vagy konzolon daemonként, de kinek jó az), és alapból az svn:// protokollal lehet kommunikálni vele. Az apache csak ahhoz kellhet, hogy http:// -vel is használhasd, és ne kelljen neki külön portot nyitni, de ezzel sztem lokálban fölösleges vacakolni.

A fenti hozzászólásomban adtam linket a 1 click installerre, az telepíti a szervert. De itt is közölnek windows telepítőket.

Le kell tölteni és telepíteni. Rá fog kérdezni, hogy melyik könyvtárban legyenek a repositoryk. Ez minden beállítás.

Ezután létre kell hozni egy repositoryt, és az az svn://localhost/<repo neve> cím alól elérhető. Ez a cím kell majd a kliensnek.
4

Még mindig nem értem!

peter71 · 2009. Júl. 18. (Szo), 22.02
Tudom, hogy primitív vagyok, de még mindig nem értem.
Letöltöm a subversion servert és telepítem, ez sikerült, létrehozta a saját könyvtárát. Telepítettem egy kliens programot, ami létrehozott egy könyvtárat önmagának és egyet a repository-nak. (Próbáltam külön letöltött server és kliens programmal és az általad javasolt svn1clicksetup progival is.) Ezek után kell még egy könyvtárat létrehoznom amire jobb klikk és "create repository here.."? Ide töltöm le az általam módosítandó file-okat? Hol vannak a végleges visszatöltött file-ok?
Localhost-ot pedig használnom kellene, mert különben hogy tesztelem az eredményt?
Létrehoztam egy üres könyvtárat és jobb klikk után a repositoryt csináltam belőle. Olyan könyvtárakat és file-okat rakott bele, mint a telepítés elején létrehozott repository-ba. Akkor most mi van? Sok helyen olvasok "branches, truck, tags" vagy valami hasonló nevű könyvtárakról, itt nincsennek?

Köszönöm türelmedet, remélem még kitart egy kicsit.
Peter71
5

Windows + TortoiseSVN

tisch.david · 2009. Júl. 18. (Szo), 22.33
Szia!

Ha Windows-on (egyazon gépen) akarod használni a TortoiseSVN szerver és kliens funkcióját is, akkor a TortoiseSVN telepítése után hozz létre valahol egy üres könyvtárat, és mondd rá, hogy csináljon belőle repo-t.
Ezután a kívánt tartalmat az import utasítással tudod belerakni. Az elérési útban file:///C:/path_to_repo/subdir formában tudsz hivatkozni a wondows-os repo-dra. Ha betöltötted a kívánt tartalmat, akkor (van egyszerűbb megoldás is?) törlöd az eredetit, és check out-tal kiveszed újra a repo-ból. Ezzel kapsz egy verziókezelés alatt lévő példányt belőle. Ezután már csak commit meg update kell. Meg - ha szeretnél valamit kihagyatni vele - akkor a properties-ben mondj neki svn:ignore-t.
A többire szép lassan rájössz magad is.

Üdv:
Dávid
6

nem megy

peter71 · 2009. Júl. 19. (V), 00.47
Most van két könyvtáram, az egyik a wamp\www\repo a másik pedig a d:\work. Elméletileg a wamp-ban lévő a tárolt és a work amivel dolgozni tudnék. a localhost/repo megjeleníti a könyvtár tartalmát, amit mellesleg tele van az program által telepített könyvtárakkal és file.okkal. Conf, db, format, hooks, locks könyvtárak, hogyan fogom így megtalálni a saját dolgaimat? A repo könyvtárba szerettem volna tenni az eddig elkészült munkámat, de nem sikerült. Repo könyvtár jobb klikk TortoiseSVN->import, hiba:

Error: Unable to open an ra_local session to URL
Error: Unable to open repository 'file:///C:/www/*******' .

Gondoltam berakom a teljes munkámat a work mappába és onnan, ,mint egy elkészült munkát a repo-ba rakom. A TortoiseSVN->repo-browser-en kivül nem sok minden van benne.
Na, biztos repositoryt kell belőle csinálni, az eredmény továbbra is a repo-browser.
7

alakul

peter71 · 2009. Júl. 19. (V), 01.32
Rákattintottam egy munka könyvtárra és sikerült beimportálnom. Most csak azt nem értem, hogy a repóba létre hozza azokat a könyvtárakat és file-okat, de nem látom az általam készített állományokat. Rákattintva a work könyvtárra a checkout viszont előállítja a file-okat. Honnan?

Nincs valami értelmes kezelő felület? Mindig nekem kell emlékeznem mi volt a repo könyvtár neve, csak egy legördülő menüből válogathatok az előzőleg beírtak közül.
8

Nem kell emlékezni a repo

Fraki · 2009. Júl. 19. (V), 02.10
Nem kell emlékezni a repo címére, mert a working copyban ez benne van.

Egyébként ahogy Dávid írta, még jobban leegyszerűsödik a dolog, mert file:// protokollal is használható az egész.

Szóval ugye tortoiseSVN-nel jobb klikkre repo könyvtárt kell létrehozni (azt mondjuk nem értem, hogy a tortoiseSVN ezt hogy csinálja, adnak hozzá szervert? Vagy csak külön telepített szerverrel működik ez a funkció?). A repo könyvtárral neked többet semmi dolgod nincs. A fájlokat saját db formátumban tárolja. A conf, hooks stb. könyvtárakban szkriptek meg ini-k vannak, ami neked egyelőre nem kell (nyilván a repót lehet vele tweakelni).

Lehet importtal is kezdeti anyagot létrehozni, de talán még egyszerűbb úgy, ha az üres repót kicheckout-olod, és máris rendelkezésre áll a working copy. Abba a könyvtárba kell belemásolni a fájlokat, és lehet nyomni az első commitot. Ebben a könyvtárban minden verziókövetett alkönyvtárban van egy rejtett .svn könyvtár, abban a helyi másolat másolata van, és egyéb információk, például hogy mi a repo címe. (Ezért nem kell azt neked megjegyezni).
9

working copy?

peter71 · 2009. Júl. 19. (V), 09.25
Nem értem a working copy-t. Ha checkout-ot használom megjelenik egy ablak és abban ki kell találnom a repo nevét. Különben, hogyan checkout-olom? a file:///-nál is meg kell jegyeznem a repo nevét és útvonalát, különben nem tudom mit kell beírni.

Kipróbáltam, 34Mb képet felvettem a repoba és a db könyvtárba keletkezett egy 34Mb-os file. Most már hiszek. :)

Most már csak dolgoznom kell. Elméletileg a working copy file-okat megnyitva szerkesztve és mentve működni kell a dolognak.
Még a phped-et vagy a netbeans-t kellene rábeszélnem a használatára.

Ha interneten szeretném használni az svn-t, akkor a szerver programot fel kell telepítenem a tárhelyemre?
10

Nope

janoszen · 2009. Júl. 19. (V), 13.35
Nu, a netes SVN úgy működik, hogy vagy futtatsz a szerveren egy svnservet, vagy az Apache modult használod. Enélkül sajnos nem fog menni.

Egyébként ajánlom az Eclipset mondjuk subversive kiegészítővel, az egész használhatónak bizonyult.
11

Egy working copy-hoz egy

Fraki · 2009. Júl. 19. (V), 13.44
Egy working copy-hoz egy checkout tartozik, vagyis egyszer kell checkoutolni. Ez az egyetlen alkalom, amikor megadod a tSVN-nek, hogy hol van a repo. A tSVN ekkor checkoutol, és egy szabványos w copy-t hoz létre, rejtett könyvtárakkal. Ezután a könyvtárra vagy azon belül valahova kattintva jobb gombbal a tSVN már tudja, hol a repo.

Ez az információ egyébként a rejtett .svn mappákban van. Ha azokat letörlöd, a mappa megszűnik w copy lenni, és egy sima mappa lesz a fájljaiddal, az overlay ikonok is eltűnnek. Továbbá az .svn mappákban vannak a w copy teljes másolata (nem db-ben), innen tudja, hogy melyik fájl változott, és innen is revertál.

A munka pedig értelemszerűen úgy zajlik, hogy commitolod a változásokat.

„Ha interneten szeretném használni az svn-t, akkor a szerver programot fel kell telepítenem a tárhelyemre?”

Így van, ha a repót online szerveren akarod tárolni, akkor oda kell az svn.
12

.svn

peter71 · 2009. Júl. 19. (V), 13.58
Köszönöm a segítséget.

Az svn könyvtárban csak a file-ok vannak, a könyvtárak és a benne található file-ok nincsenek benne, pedig mindegyiken ott van a zöld pipa.

Van még valami, amit tudnom kellene, vagy ez elég a fejlesztés nyomon követéséhez? Olvastam több helyen, hogy írnak hozzá különböző dolgokat.
13

Minden alkönyvtárban van .svn

Fraki · 2009. Júl. 19. (V), 16.16
Minden alkönyvtárban van .svn mappa, azokban van a többi fájl.

Sok más van még. A legalapvetőbb műveletek a commit, az update, a diff, a lognézegetés, a blame, a conflictok kezelése.

De itt csak konkrétumokról tudunk beszélni.
14

Szeretném beilleszteni a

peter71 · 2009. Júl. 19. (V), 17.33
Szeretném beilleszteni a phped-be a programot, és ezt a leírást követem: de a leírásnak ezt a részét nem értem.

First have a look at Appendix B of the TortoiseSVN guide. This gives the command-line usage of TortoiseProc.exe.

Egyébként, ha otthon local-ban fejlesztenél php-ban, hogyan helyeznéd el a repository és working copy könyvtárakat? Gyakran nézegetem a localhoston az eredményt, mert még kezdő vagyok a fejlesztés terén.

Köszönöm:
Peter71
15

Az egy egyszerű angol mondat,

Fraki · 2009. Júl. 19. (V), 21.14
Az egy egyszerű angol mondat, mit nem értesz rajta?

Az az oldal arról szól, hogy a phped nevű program a windows shellt használja, így nincs is szükség integrációra. A második pont ahhoz kell, ha a tSVN parancssorát akarod használni, de én azt még soha nem használtam.

Nálam egy adott könyvtárban vannak a repók, mint minden gépen a világon. Pl. c:/repok. A working copyk meg ott vannak, ahol szükség van rájuk, tehát ha webes projekt, akkor nyilván a webes projektjeim közt...
16

repo

peter71 · 2009. Júl. 19. (V), 21.59
Én úgy csináltam, hogy a working copy a wamp/www könyvtárban van , mivel így tudom nézegetni localhot-on, a repo pedig egy külső mappában van.

Elkezdtem dolgozgatni, és commit-al küldtem néhány file-t a repo-ba, hol tudom megnézni mikor mit csináltam? A repo-browser-ben, vagy máshol is tudom követni az eseményeket?
17

Log

Poetro · 2009. Júl. 19. (V), 22.42
Megnézheted az összes eddigi közreműködésed a log-ban (Tortoise SVN esetén Show Log a kívánt fájlon, mappán, vagy ez egész repo-n). Itt látod, ki mikor mit csinált, és persze megnézheted az egyes commit-ok részleteit is.
18

commit

peter71 · 2009. Júl. 19. (V), 23.31
Köszönöm a segítséget!

Van arra lehetőség, hogy azt a pár file-t commit-oljam, amin dolgoztam. úgy hogy ne egyesével kelljen őket commit-olni?
19

Ebből a topikból egy magyar

Fraki · 2009. Júl. 20. (H), 00.04
Ebből a topikból egy magyar SVN kezdőknek FAQ lesz :)

Igen, és az egyesével komitolás rossz használat is. Egyszerre több fájlt/mappát is ki lehet jelölni a windowsban.
20

Köszönöm

peter71 · 2009. Júl. 20. (H), 00.18
Köszönöm a segítséget!

Remélem belejövök, mint úri fiú a pofozkodásba. :)
Van még néhány dolog, amit nem értek (néhány? húú, ez elég nagyképűen hangzik), branch/tag, switch, revision graph.
21

Szóval a branches egy

peter71 · 2009. Júl. 21. (K), 14.57
Szóval a branches egy könyvtár , amibe a program egy változatát készíthetjük el, ha jól értem. Olvasgattam egy kicsit, ezt az oldalt , de nem értem. Kétszer is létrehozta a braches, tags, trunk könyvtárakat. Egyszer a svnlayout és egyszer a projects/myproject1 könyvtárban. Miért? Érdemes használni?

Köszönöm:
Peter71
22

Verziók

Poetro · 2009. Júl. 21. (K), 15.10
A branches és a trunk nem feltétlen szükséges, csak akkor ha valaminek párhuzamosan akarod több változatát fejleszteni, majd a brancheket vmikor összemergeeled egy kész változatba.
Azaz tegyük fel, hogy az egyik fejlesztőcsoport fejleszt egy javítást a program 1.x-s változatához, mások egy másik javítást szintén az 1.x-es változathoz, de lehet nem lesz egyszerre publikálva, ezért az 1.x-ből mindketten csinálnak egy branch-et, az egyik javitas1, másik javitas2 néven. Amikor elkészül a javítás, le lett tesztelve stb, akkor belemergeelik az 1.x-es stabil változatba, és akkor kiadhatják az 1.x újabb változatát.
De persze párhuzamosan folyhat a 2.x-es változat fejlesztése. Ami persze egy másik branch. Ha egyedül fejlesztesz, akkor is talán van értelme ennek, legalábbis, hogy mindig van egy stabil változat, és egy, ami mindig a legfrisseb fejlesztéseket tartalmazza.
23

Értem, köszönöm a segítséget.

peter71 · 2009. Júl. 23. (Cs), 22.16
Értem, köszönöm a segítséget.
24

A working copy könyvtáram a

peter71 · 2009. Júl. 24. (P), 07.50
A working copy könyvtáram a wamp/www könyvtárban van, de valamit csináltam, és az összes többi könyvtáron megjelent egy kérdőjel, az egyiken meg egy szürke behajtani tilos jel.
Mit csináltam? Hogyan tudom eltüntetni őket?

Köszönöm:
Peter71
25

branches és a többi

peter71 · 2009. Júl. 26. (V), 17.56
Helló!

Azért csak nem hagy nyugodni ez a branch könyvtár. Olvasgattam a neten, de nem értem, több helyen írják, hogy a repo-ban hozzam létre, máshol azt írják a working copy-ban is legyen. Ha a repo-ban hozom létre, akkor hogyan tudom használni? A létrehozott repo könyvtárba utólag tudok ilyen könyvtárakat létrehozni és használni?

Köszönöm:
Peter71