Egyik ismerősömmel közösen szeretnénk fejleszteni egy projectet Visual Studio-ban. Milyen lehetőségek vannak arra, hogy a változásokat szinkronizálja a rendszer automatikusan a két gép között, hogy ne kelljen mindig kézzel a legfrissebb verziót elküldeni a másiknak?
Jó lenne továbbá, ha a korábbi verziókat is dokumentálná, ha esetleg vissza kell keresni egy régebbi kódot.
Mit tudtok ajánlani VS-ban és hogyan kell ezt beállítani? Köszi előre is!
Szép-szép az UI és a kód szétválasztása, de megint élő magyar példa, hogy egy embernek van kiadva a pénztárkezelés. Ablakokat gyárt, módosít, BLL-t szerkeszt.
Ezt akkor is szét kell választani, ha egyedül dolgozol a projekten.
Az én esetemben nem feltétlen párhuzamosságról van szó, hanem inkább ha egyikünk nem ér rá, akkor továbbfejleszti a másik, és nem C project, hanem PHP.
Szép-szép az UI és a kód szétválasztása, de megint élő magyar példa, hogy egy embernek van kiadva a pénztárkezelés. Ablakokat gyárt, módosít, BLL-t szerkeszt.
Összességében 50-50%-ra tehető a diff-elhető és bináris (nem diffelhető) állományok száma. Pláne, ha a rendszer beállt és az alap osztályok működnek, nem kell bennük módosítani.
Ezeknek a kényelmes kezeléséről nem szól egyik SVN, Mercurial cucc sem. A kód áttekintéséről (először egy várakozósorba kerül, ahol el tudja fogadni egy írástudó ember) megint nem esik szó sok helyen.
A helló világot nyilván nincs értelme diff-merge-elni. De ennél nagyobb, 2-3 fős projekteknél is illik leválasztani az üzleti logikát a user interfészről. És ép ésszel mondjuk az UI-t sem csinálja több ember - azaz ha mondjuk egy ügyviteli programot fejlesztek, akkor kiadom valakinek Pl. a pénztárkezelés és vidéke UI-ját, és ő eleve csak a saját folderében garázdálkodik, a számlázás vagy a terméknyilvántartás folderében nem.
Másrészt, ha az UI-hoz nem nyúlsz, csak a form kódjához, akkor is prímán műxik a diff/merge.
Ami a gond, az inkább maga a projekt fájlt. Na, azt nekem nem igazán szokta tudni mergelni az svn.
Ha már így jöttek válaszok, hadd dobjak fel egy régi, ismétlődő témát!
Tipikus 2-4 személyes VS-es projekteknél jön elő, hogy szinte minden fájl check-in, check-out rendszerű. Bináris, nem DIFF-elhetőként kell kezelni a RESX, Designer.cs fájlokat. A formok kódjai pedig a Designer.cs kizárólagossága miatt szintén nem szerkeszthetőek párhuzamosan.
Sok üzleti logikát tartalmazó, BusinessLogic réteget szépen használó kódnál TALÁN van értelme a DIFF/MERGE párosnak, de szerintem ritka 2-4 fős projekteknél.
Miért olyan kevés a megvalósítás/támogatás az MS SourceSafe jellegű checkin/checkout rendszerekre GNU szinten?
Én csak az AnkhSVN-t próbáltam eddig, szerintem mindent tud amit egy SVN kliensnek tudnia kell. Az Unfuddle-t pedig azért ajánlom, mert nagyon egyszerű a használata. Regisztrálsz, létrehozol egy projektet, hozzáadsz még egy felhasználót (az ismerősöd, akivel együtt dolgoztok), és kész. Ez így összesen kb. 10 kattintás.
Miután létrehoztad a projektet az Unfuddle-ön, a projekt jellemzőinél megtalálod az URL-jét is (a Repository fülön, ha jól emlékszem).
Miután feltelepítetted az AnkhSVN-t:
1. VS-ben File menü -> Subversion -> Open from Subversion
2. Ebben az ablakban van egy 'Add repository URL' ikon, katt rá.
3. Itt megadod az Unfuddle-ös repository URL-t.
Kérni fogja az Unfuddle-ös felhasználónevet és jelszót, célszerű elmentetni vele, és akkor nem fogja többször bekérni.
Eztán:
1. Megnyitod a VS-ben az (eddig elkészült offline) projekted.
2. File -> Subversion -> Add to Subversion
3. Kiválasztod a repository URL-t, és OK.
Köszi! Közben én felraktam ezt: RocketSVN (elvileg totál ingyenes)
most akkor melyik a legjobb? VisualSVN? RocketSVN? Ankh SVN?...
a Rocketnél látom, hogy egy szervert is meg kell adni, ezzel kapcsolatban fel tudok használni egy tárhelyszoláltatótól bérelt tárhelyet, vagy nekem is ezen az Unfuddle-n kell regelnem?
Egyik ismerősömmel közösen szeretnénk fejleszteni egy projectet Visual Studio-ban. Milyen lehetőségek vannak arra, hogy a változásokat szinkronizálja a rendszer automatikusan a két gép között, hogy ne kelljen mindig kézzel a legfrissebb verziót elküldeni a másiknak?
Jó lenne továbbá, ha a korábbi verziókat is dokumentálná, ha esetleg vissza kell keresni egy régebbi kódot.
Mit tudtok ajánlani VS-ban és hogyan kell ezt beállítani? Köszi előre is!