|
| Versionsstyring Fra : Jesper Vels |
Dato : 27-08-02 21:26 |
|
Jeg har hørt om et versionsstyringsprogram som vist nok hedder CVS, da jeg
er helt newbie inden for linux ville jeg høre hvordan det fungerer på client
siden. Logger man på CVS via et online system ( Her tænker jeg på noget
hjemmeside tamtam ) eller foregår det ved hjælp af et program på client
maskinen ( windows / linux )?
Er der evt. andre versionsstyringsprogrammer som er bedre / lettere at hitte
ud af?
Og til sidst er der nogen som kender en guide til opsætning af CVS. ( Eller
evt. et andet versionsstyringsprogram )
MVH
Thomas Jensen
| |
Peter Mogensen (27-08-2002)
| Kommentar Fra : Peter Mogensen |
Dato : 27-08-02 22:00 |
|
Jesper Vels wrote:
> Jeg har hørt om et versionsstyringsprogram som vist nok hedder CVS, da jeg
> er helt newbie inden for linux ville jeg høre hvordan det fungerer på client
> siden. Logger man på CVS via et online system ( Her tænker jeg på noget
> hjemmeside tamtam ) eller foregår det ved hjælp af et program på client
> maskinen ( windows / linux )?
Det sidste. Kommando-linie programmet hedder 'cvs'. Der findes flere
grafisk interfaces også.. .også til Windows/Mac.
> Er der evt. andre versionsstyringsprogrammer som er bedre / lettere at hitte
> ud af?
Hmm... smag og behag.. og religion.
CVS er godt, stabilt og kraftfuldt. Nogen foretrækker Perforce, men det
er kommercielt - ihvertfald serveren.
> Og til sidst er der nogen som kender en guide til opsætning af CVS. ( Eller
> evt. et andet versionsstyringsprogram )
CVS-bogen er nu en del af distributionen. Den findes bl.a. som info-sider:
info cvs
Eller i Emacs:
C-h i m c v s RET
Peter
| |
Morten Jes Lehrmann (28-08-2002)
| Kommentar Fra : Morten Jes Lehrmann |
Dato : 28-08-02 07:16 |
|
Peter Mogensen <apm-at-mutex-dot-dk@nospam.no> writes:
> Nogen foretrækker Perforce, men
> det er kommercielt - ihvertfald serveren.
Man kan bruge Perforce gratis, hvis man kun har behov for to brugere.
http://perforce.com/
Mvh
Morten
--
-o)
SuSE 8.0 Linux /\
http://counter.li.org - User #212543 _\_v
| |
Peter Mogensen (28-08-2002)
| Kommentar Fra : Peter Mogensen |
Dato : 28-08-02 08:24 |
|
Morten Jes Lehrmann wrote:
> Man kan bruge Perforce gratis, hvis man kun har behov for to brugere.
>
> http://perforce.com/
ok.. men det lyder godtnok som en dum idé. Hvad gør man så når man
pludselig står og skal bruge den tredie?
Mine erfaringer med Perforce er at det er ok, men jeg kan ikke lide at
serveren gemmer så meget af klientens tilstand som den gør.
Jeg bruger ofte CVS med flere working-copies og endda nestede
working-copies.. Det dur ikke med Perforce.
CVS gemmer også lidt klient tilstand (hvis man bruger watches), men det
er minimalt.
Peter
| |
Claus Rasmussen (27-08-2002)
| Kommentar Fra : Claus Rasmussen |
Dato : 27-08-02 22:02 |
|
Jesper Vels wrote:
> Jeg har hørt om et versionsstyringsprogram som vist nok hedder CVS, da jeg
> er helt newbie inden for linux ville jeg høre hvordan det fungerer på
> client siden. Logger man på CVS via et online system ( Her tænker jeg på
> noget hjemmeside tamtam ) eller foregår det ved hjælp af et program på
> client maskinen ( windows / linux )?
Man tilgår CVS med et kommandolinieværktøj. Der findes også et read-only
web-interface.
> Er der evt. andre versionsstyringsprogrammer som er bedre / lettere at
> hitte ud af?
Alle er efterhånden enige om, at CVS er for gammelt. Der er nogle ting,
som enten er urimeligt svært i CVS eller som ganske enkelt ikke kan lade
sig gøre. Men CVS /virker/ og det er det vigtigste for et versionsstyrings-
system, så vær ikke bange for at gå i gang med det.
Der er nogle alternativer: BitKeeper er kommercielt men kan anvendes uden
licens af alle, der laver open-source. BitKeeper er stabilt og har en
masse features. Den bedste ting ved BitKeeper er, at den har hierakiske
repositories (som er en fed feature)
Arch er ret nyt og mangler en del features sammenlignet med BitKeeper
men er også hierakisk. Arch er lidt for grøn til at jeg ville turde
anvende det professionelt.
Subversion er CVSs afløser som nu er i beta. Det er skrevet af flere af
folkene bag det oprindelige CVS og er ment som en slags CVS version 2.
De fleste regner med at skifte fra CVS til Subversion. Subversion er
ikke hierakisk.
> Og til sidst er der nogen som kender en guide til opsætning af CVS.
> ( Eller evt. et andet versionsstyringsprogram )
Der følger dokumentation med til CVS. Det er ikke svært at sætte op,
men det tager en del tid at lære alle kommandoerne og at forstå CVS.
-Claus
| |
Henrik Lynggaard (28-08-2002)
| Kommentar Fra : Henrik Lynggaard |
Dato : 28-08-02 20:11 |
|
Claus Rasmussen skrev:
> Der er nogle alternativer: BitKeeper er kommercielt men kan anvendes uden
> licens af alle, der laver open-source. BitKeeper er stabilt og har en
> masse features. Den bedste ting ved BitKeeper er, at den har hierakiske
> repositories (som er en fed feature)
Hvad kan/gør den feature da?
| |
Claus Rasmussen (28-08-2002)
| Kommentar Fra : Claus Rasmussen |
Dato : 28-08-02 20:52 |
|
Henrik Lynggaard wrote:
> Claus Rasmussen skrev:
>
>> Der er nogle alternativer: BitKeeper er kommercielt men kan anvendes uden
>> licens af alle, der laver open-source. BitKeeper er stabilt og har en
>> masse features. Den bedste ting ved BitKeeper er, at den har hierakiske
>> repositories (som er en fed feature)
>
> Hvad kan/gør den feature da?
Normalt, når du bruger CVS, er der eet repository, som alle committer til.
Hierakiske repositories vil så sige, at du kan lave et hierarki (eller et
netværk som der oftest er tale om) af repositories, hvor man til daglig
committer til det, der er nærmest (som regel på ens egen maskine) og kun
en gang i mellem committer til det højereliggende repository.
Fordelen er, at når du har flere arbejdsgrupper på et projekt, så kan de
hver selv ligge og rode med deres egen version (og evt. bytte kode på
tværs), og først committe til det samlede projekt, når de mener, at de
er færdige.
Det /kan/ lade siggøre at få noget lignende funktionalitet ud af CVS, men
det er noget bøvl og ikke anvendt i praksis.
En anden fordel er, at der er forskellige måder at bruge et versions-
styringssystem. Nogle committer sjældent men med en masse features på
een gang. Andre committer een gang per feature og andre igen bruger det
nærmest som backup. Men hierarkiske repositories kan alle få det som
de vil have det, fordi de kører isoleret fra hinanden.
-Claus
| |
Peter Mogensen (29-08-2002)
| Kommentar Fra : Peter Mogensen |
Dato : 29-08-02 13:48 |
|
Claus Rasmussen wrote:
> Det /kan/ lade siggøre at få noget lignende funktionalitet ud af CVS, men
> det er noget bøvl og ikke anvendt i praksis.
Øøhhhhh!??!?
Er det ikke præcis det man kan med branching?
Det er ikke noget bøvl. Bevarre's det er ikke helt nemt, men jeg har
svært ved at forestille mig at håndteringen af konflikter skulle være
mindre med "hierakiske repositories".
Det er _meget_ anvendt i praksis.
> En anden fordel er, at der er forskellige måder at bruge et versions-
> styringssystem. Nogle committer sjældent men med en masse features på
> een gang. Andre committer een gang per feature og andre igen bruger det
> nærmest som backup. Men hierarkiske repositories kan alle få det som
> de vil have det, fordi de kører isoleret fra hinanden.
Det er helst noget man skal være nogenlunde enige om i ete projekt.
("commit-granulariteten")... det er IMNSHO noget rod, hvis man lader
folk committe på må og få uden nogen plan.
Peter
| |
Per Abrahamsen (02-09-2002)
| Kommentar Fra : Per Abrahamsen |
Dato : 02-09-02 11:56 |
|
Peter Mogensen <apm-at-mutex-dot-dk@nospam.no> writes:
> Claus Rasmussen wrote:
>> Det /kan/ lade siggøre at få noget lignende funktionalitet ud af
>> CVS, men det er noget bøvl og ikke anvendt i praksis.
>
> Øøhhhhh!??!?
>
> Er det ikke præcis det man kan med branching?
Nej, alle branches ligger i samme fysiske repository.
Med hierarkiske repositories kunne du f.eks. arbejde off-line
derhjemme, og stadig have versionskontrol fordi du havde dit eget
lokale repository. Hvis du arbejder off-line med CVS mister du
muligheden for at køre med versionskontrol, indtil du kommer tilbage
on-line.
| |
Per Abrahamsen (02-09-2002)
| Kommentar Fra : Per Abrahamsen |
Dato : 02-09-02 12:03 |
|
Claus Rasmussen <clr@cc-consult.dk> writes:
> Alle er efterhånden enige om, at CVS er for gammelt. Der er nogle ting,
> som enten er urimeligt svært i CVS eller som ganske enkelt ikke kan lade
> sig gøre. Men CVS /virker/ og det er det vigtigste for et versionsstyrings-
> system, så vær ikke bange for at gå i gang med det.
Desuden er begrænsningerne kun for alvor relevante for meget store og
aktive projekter, som f.eks. Linux kernen eller GCC. Hvis man har et
lille projekt med en håndfuld udviklere er det ikke relevant.
Jeg vil anbefale at man lærer CVS, det er hvad langt de fleste kender
og bruger, og vil være en god "reference" hvis man skal lære et nyt
system senere. Det er også det system det er mest sandsynligt at der
vil være tools til at opgradere sit repository fra.
Så kan man vente med et af de nyere systemer til man får brug for
det. På det tidspunkt har der forhåbentligt tegnet sig en klar
vinder.
| |
Peter Makholm (02-09-2002)
| Kommentar Fra : Peter Makholm |
Dato : 02-09-02 12:45 |
|
Per Abrahamsen <abraham@dina.kvl.dk> writes:
> Desuden er begrænsningerne kun for alvor relevante for meget store og
> aktive projekter, som f.eks. Linux kernen eller GCC. Hvis man har et
> lille projekt med en håndfuld udviklere er det ikke relevant.
Ideen med at kunne klone og merge repositoriet så man kan arbejde
off-line er vel relevant lige så snart man er mere en en der gerne vil
have versionering.
Jeg har faktisk oplevet at få et inkonsistent sourcetræ en gang i et
mindre projekt. Der var en der comittede over en laaangsom linje mens
en anden updatede over en hurtig linje. Atomisk commit ville have
hindret dette. (Kunne også have løst det med 'cvs update -D "1000
seconds ago"' og håbe på at det træ var konsistent)
(Men det er noget der kun forekommer under uheldige tilfælde)
Manglen på en ordentlig rename tror jeg ikke er specielt relevant for
større projekter. Jeg vil regne med at de har forholdsvis færre
ændringer af filnavne end mindre projekter der ikke helt har en stabil
kode-base.
--
Peter Makholm | If you can't do any damage as root, are you still
peter@makholm.net | really root?
http://hacking.dk | -- Derek Gladding about SELinux
| |
Henrik Christian Gro~ (27-08-2002)
| Kommentar Fra : Henrik Christian Gro~ |
Dato : 27-08-02 22:54 |
|
"Jesper Vels" <mail@jespervels.dk> writes:
> Og til sidst er der nogen som kender en guide til opsætning af CVS. ( Eller
> evt. et andet versionsstyringsprogram )
Der er et udmærket afsnit i Friheden til at programmere (en af bøgerne
på http://www.sslug.dk/linuxbog).
..Henrik
--
"Done. For future reference - don't anybody else try to send patches as
vi scripts, please. Yes, it's manly, but let's face it, so is
bungee-jumping with the cord tied to your testicles."
-- Linus Torvalds
| |
Jonas Koch Bentzen (27-08-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 27-08-02 23:05 |
|
Jesper Vels wrote:
>
> Jeg har hørt om et versionsstyringsprogram som vist nok hedder CVS, da jeg
> er helt newbie inden for linux ville jeg høre hvordan det fungerer på client
> siden. Logger man på CVS via et online system ( Her tænker jeg på noget
> hjemmeside tamtam ) eller foregår det ved hjælp af et program på client
> maskinen ( windows / linux )?
Der findes både kommandolinje-CVS-programmer og
skrivebords-CVS-programmer. Af sidstnævnte kan Cervisia (Linux -
http://cervisia.sourceforge.net/) og TortoiseCVS (Windows -
http://www.tortoisecvs.org/) anbefales.
| |
|
|