Versionshantering med checkout

Tråden skapades och har fått 20 svar. Det senaste inlägget skrevs .
1

Jag behöver använda mig av något slags versionshanteringsverktyg där man kan checka in och ut filer för att förhindra att 2 jobbar med samma fil samtidigt. Det måste finnas plugin för eclipse och repositoryt ska gå att köras på mac.

Förslag?

Subversion, vi använder det tillsammans med eclipse på jobbet. Du behöver subclipse till eclipse om du inte redan kör någon bundle som innehåller det.

Ursprungligen av PsychoSaurus:

Subversion, vi använder det tillsammans med eclipse på jobbet. Du behöver subclipse till eclipse om du inte redan kör någon bundle som innehåller det.

Vad behöver jag på serversidan? Finns det någon skön server-installer för os x?

Ursprungligen av stevenD:

Vad behöver jag på serversidan? Finns det någon skön server-installer för os x?

Antingen använder du inetd för att koppla en tcp-port till svnserve (ungefär som man gör med cvs pserver), eller så kör du via apache2 och mod_dav_svn. Det förstnämnda är dödssimpelt, men det är samtidigt väldigt smidigt att köra via webbservern. Då får man dessutom viss åtkomst till repositoryt direkt via webbläsaren.

Installerar gör du lämpligen via MacPorts.

Edit: Insåg att jag bara besvarat halva frågan. Du behöver ha subversion (+ ev. apache2 och mod_dav_svn) installerat på servern.

Ursprungligen av Samuel K:

Edit: Insåg att jag bara besvarat halva frågan. Du behöver ha subversion (+ ev. apache2 och mod_dav_svn) installerat på servern.

Var får man tag på mod_dav_svn? Hittade en tutorial hos Apple. Där påstås det att att den ska ligga med i Apache, men jag har inget i min Apache2. I Apples "how-to" så kompilerar de iofs Apache själva, men det måste väl gå att få tag på svn-modulerna separat?

Finessen med svn är man inte låser filer vid checkout i vanliga fall. Varför vill du låsa filerna till en användare åt gången?

Jag är van att arbeta på det sättet och jag tycker det fungerar utmärkt. svn stöder tydligen inte checkin/checkout så finns det några andra alternativ?

  • Medlem
  • Mölndal
  • 2007-02-26 12:26

Det är klart att det fungerar att låsa filer man editerar, men frågan är om det är bästa lösningen. Jag tycker det är grymt smidigt att två personer kan greja med samma fil samtidigt, och sen när man checkar in mergas ändingarna ihop.

Frågan är ju hur bra mergen funkar. Om man sitter och jobbar med samma metod men med olika saker. Nån håller på lite med felhanteringen och nån annan håller på med beräkning.

Jag kanske missar någon grymt bra funktion om jag kör med lock-edit-unlock, men jag vet att det fungerar och tycker att det är skönt att veta att man inte har något oförutsett komplicerat merge-arbete framför sig.

  • Medlem
  • Mölndal
  • 2007-02-27 13:00
Ursprungligen av stevenD:

Frågan är ju hur bra mergen funkar. Om man sitter och jobbar med samma metod men med olika saker. Nån håller på lite med felhanteringen och nån annan håller på med beräkning.

Jag kanske missar någon grymt bra funktion om jag kör med lock-edit-unlock, men jag vet att det fungerar och tycker att det är skönt att veta att man inte har något oförutsett komplicerat merge-arbete framför sig.

Visst, så kan det ju vara om det är Vilda Västern i projektet man jobbar.

Mer vanligt är väl att man har ansvar för olika delar av koden. Man vinner ju i flexibilitet vad man förlorar i säkerhet.

Ursprungligen av stevenD:

Frågan är ju hur bra mergen funkar. Om man sitter och jobbar med samma metod men med olika saker. Nån håller på lite med felhanteringen och nån annan håller på med beräkning.

Bättre att spenderer ett par minuter på att fixa konflikter vid merge jämnfört med att få spader för att ens kollegor är på semester, eller deras dator krashades eller att man måste fixa något annat i samma fil ASAP. Jag hadde bara frustrationer när jag jobbade ett ställe med VisualSourceSafe en gång i tiden..

Komunicera med dina kollegor i stället för att låsa filer vid utcheckning utav scm. Dét är den bästa lösningen.

  • Medlem
  • Stockholm
  • 2007-04-30 21:19

Nu har du ju tydligen redan satt igång med Subversion, men:

Ursprungligen av stevenD:

Frågan är ju hur bra mergen funkar.

Har erfarenhet från ett projekt där vi var tre personer som ofta var inne och pillade i samma filer. I praktiken fungerade det mycket bra.

Ursprungligen av stevenD:

(...)skönt att veta att man inte har något oförutsett komplicerat merge-arbete framför sig.

Som sagt så funkar den automatiska mergen mycket bra. Annars bör man (enligt min mening) göra så lite åt gången att man kan checka in sin (kompilerande och enhetstestade) kod minst en gång per dag. Gärna fler. Då blir varje förändring hyfsat liten vilket minskar risken för "komplicerat merge-arbete".

  • Medlem
  • Stockholm
  • 2007-04-30 21:22

Jag har provat denna som server:

http://www.codingmonkeys.de/mbo/

Den funkar bra (har dock inte testat integration med Apache). Som klient har jag kört svnX:

http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

Någon som känner till en bra tutorial för hur man sätter upp en svn server? Gärna dedikerad för mac.

Jag hittar massa tutorials, men bara om hur man använder svn inte hur man sätter upp servern.

Installera fink sen svn. Finns dokumentation där också.
http://www.finkproject.org/

http://pdb.finkproject.org/pdb/package.php/svn

  • Medlem
  • Mölndal
  • 2007-04-14 19:48

En sökning på Google med nyckelord mod_dav_svn och download ger flera ställen att ladda ner modulen:
http://www.google.se/search?hl=sv&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=O4l&q=mod_dav_svn+download&btnG=S%C3%B6k&meta=

Du får gärna posta en länk för jag hittar inte nåt användbart

Jag gillar verkligen inte möjligheten att låsa filer. Kör hellre med diff då det behövs.

Nu har jag kompilerat och installerat subversion på servern och till slut lyckats få upp ett fungerande repository på apache2 där jag gjort en "initial import" med hjälp av Subclipse.

Ett problemmm är dock att när jag försöker konfigurera eclipse/subclipse (Team -> share project) i eclipse på en annan dator så säger wizarden att katalogen redan finns och att jag måste välja nåt annat.

Jag fattar inte hur jag ska göra för att koppla upp eclipse/subclipse till redan befintliga projekt? Nån som kan förklara hur jag ska göra?

1
Bevaka tråden