CVS och SVN: Skillnad mellan sidversioner
Albert (diskussion | bidrag) m (Men åtta bitar ska vi väl ha, dumma firefox.) |
Albert (diskussion | bidrag) mIngen redigeringssammanfattning |
||
Rad 2: | Rad 2: | ||
använder det på Lysator. |
använder det på Lysator. |
||
==Det gamla sättet, /lysator/cvsroot== |
|||
Sedan länge finns en cvsroot som alla Lysiter på ett någorlunda enkelt |
Sedan länge finns en cvsroot som alla Lysiter på ett någorlunda enkelt |
||
sätt kan skapa ett repository i. Problemet med den lösningen är att |
sätt kan skapa ett repository i. Problemet med den lösningen är att |
||
endast Lysiter kan komma åt den, och anonym access är inte möjlig. |
endast Lysiter kan komma åt den, och anonym access är inte möjlig. |
||
<P> |
|||
Hur man i detalj använder /lysator/cvsroot beskrivs inte på denna |
Hur man i detalj använder /lysator/cvsroot beskrivs inte på denna |
||
oebbsida. |
oebbsida. |
||
==Det nya sättet, lysCVS== |
|||
Eftersom det verkade finnas ett behov av cvs-repository där man dels |
Eftersom det verkade finnas ett behov av cvs-repository där man dels |
||
kan ha med icke-Lysiter som utvecklare, och dels tillåta anonym |
kan ha med icke-Lysiter som utvecklare, och dels tillåta anonym |
||
access, utvecklades sommaren 2001 en lösning som tillåter detta. |
access, utvecklades sommaren 2001 en lösning som tillåter detta. |
||
<P> |
|||
⚫ | |||
href="http://cvs.lysator.liu.se">http://cvs.lysator.liu.se</a>. |
|||
⚫ | |||
<P> |
|||
LysCVS har ett oebbaserat administrationsinterface där du själv som |
|||
vanlig användare kan skapa projekt, lägga till användare till detta |
|||
och så vidare. Nedan beskrivs hur du gör. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
LysCVS har ett oebbaserat administrationsinterface där du själv som vanlig användare kan skapa projekt, lägga till användare till detta och så vidare. Nedan beskrivs hur du gör. |
|||
⚫ | |||
LysCVS bygger på konceptet <i>projekt</i>. Varje projekt har en egen |
LysCVS bygger på konceptet <i>projekt</i>. Varje projekt har en egen |
||
CVSROOT och kan ha flera CVS-moduler. Det går bra att ha samma namn på |
CVSROOT och kan ha flera CVS-moduler. Det går bra att ha samma namn på |
||
en modul och projektet som modulen tillhör. |
en modul och projektet som modulen tillhör. |
||
<P> |
|||
Peka din webläsare på |
Peka din webläsare på https://admin.lysator.liu.se/ |
||
href="https://admin.lysator.liu.se">https://admin.lysator.liu.se/</a> |
|||
och logga in med ditt vanliga Lysatorlogin och -lösen. Du kommer nu |
och logga in med ditt vanliga Lysatorlogin och -lösen. Du kommer nu |
||
till en huvudsida där du kan se vilka projekt du är medlem i och/eller |
till en huvudsida där du kan se vilka projekt du är medlem i och/eller |
||
administratör för. |
administratör för. |
||
<P> |
|||
För att skapa ett nytt projekt använder du menyalternativet "New |
För att skapa ett nytt projekt använder du menyalternativet "New |
||
Project" i menyn till vänster. Skriv vad du vill att ditt projekt ska |
Project" i menyn till vänster. Skriv vad du vill att ditt projekt ska |
||
heta, och tryck på knappen märkt "Create!". Ditt projekt är nu skapat. |
heta, och tryck på knappen märkt "Create!". Ditt projekt är nu skapat. |
||
<P> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
Enklast är att använda <code>cvs import</code>. Säg att du nyss har |
Enklast är att använda <code>cvs import</code>. Säg att du nyss har |
||
skapat projektet |
skapat projektet ''foo'' i lysCVS. Vidare har du ett gäng filer som |
||
ska finnas i foo, de existerar i katalogen |
ska finnas i foo, de existerar i katalogen ''/home/xyzzy/bar''. Du |
||
vill att filerna ska hamna i katalogen |
vill att filerna ska hamna i katalogen ''gazonk'' under cvsrooten |
||
för |
för ''foo'' I så fall gör du ungefär såhär: |
||
<pre> |
<pre> |
||
$ cd /home/xyzzy/bar |
$ cd /home/xyzzy/bar |
||
Rad 57: | Rad 53: | ||
</pre> |
</pre> |
||
De två sista argumenten är egentligen |
De två sista argumenten är egentligen ''vendor'' och ''tag'', så |
||
du kan hitta på nått bättre än ditt användarnamn och "start" om du så |
du kan hitta på nått bättre än ditt användarnamn och "start" om du så |
||
önskar. |
önskar. |
||
<P> |
|||
Nu kan du, från en annan katalog, checka ut dina filer med <pre> |
Nu kan du, från en annan katalog, checka ut dina filer med <pre> |
||
cvs -d <username>@cvs.lysator.liu.se:/cvsroot/foo co gazonk |
cvs -d <username>@cvs.lysator.liu.se:/cvsroot/foo co gazonk |
||
</pre> |
</pre> |
||
===Att lägga till nya användare i ett projekt=== |
|||
För att möjliggöra |
För att möjliggöra '''skrivaccess''' för andra än dig själv lägger du |
||
till användare till dina projekt. |
till användare till dina projekt. |
||
<P> |
|||
Gå till huvudsidan och klicka på länken märkt "administrate" för det |
Gå till huvudsidan och klicka på länken märkt "administrate" för det |
||
projekt du vill lägga till en användare till. Skriv mailadressen för |
projekt du vill lägga till en användare till. Skriv mailadressen för |
||
användaren i rutan, och tryck "Add". |
användaren i rutan, och tryck "Add". |
||
<P> |
|||
Om det är en Lysatoranvändare du lägger till är det inget mer du |
Om det är en Lysatoranvändare du lägger till är det inget mer du |
||
behöver göra, för då finns redan alla uppgifter i NIS. Om det är en |
behöver göra, för då finns redan alla uppgifter i NIS. Om det är en |
||
extern (icke-Lysit) du vill lägga till får du fylla i riktigt namn och |
extern (icke-Lysit) du vill lägga till får du fylla i riktigt namn och |
||
användarnamn på personen ifråga. |
användarnamn på personen ifråga. '''OBSERVERA att användarnamnet måste |
||
börja på |
börja på ''_cvs_''. Detta för att skydda Lysators |
||
namnrymd |
namnrymd'''. Den externa personen får ett mail med instruktioner om |
||
inloggningsnamn och lösenord - ett automatgenererat lösenord som är |
inloggningsnamn och lösenord - ett automatgenererat lösenord som är |
||
fult som stryk. |
fult som stryk. |
||
<P> |
|||
'''Även här tar det en kvart innan användaren kan använda cvs över |
|||
ssh. |
ssh.''' Däremot kan hen logga in i cvsadministrationssystemet, exempelvis |
||
för att byta lösenord eller lägga till SSH-nycklar. |
för att byta lösenord eller lägga till SSH-nycklar. |
||
===Att ta bort användare i ett projekt=== |
|||
Gå in på administrationssidan för ett projekt och tryck på |
Gå in på administrationssidan för ett projekt och tryck på |
||
"Remove"-knappen för den användare du inte vill ha kvar i ditt |
"Remove"-knappen för den användare du inte vill ha kvar i ditt |
||
Rad 92: | Rad 88: | ||
repositoryt. Däremot finns användaren kvar i systemet, så du kan |
repositoryt. Däremot finns användaren kvar i systemet, så du kan |
||
enkelt lägga till henom igen. |
enkelt lägga till henom igen. |
||
<P> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
Du kan låta andra (även externa användare) bestämma vem som får lägga |
Du kan låta andra (även externa användare) bestämma vem som får lägga |
||
till/ta bort användare och huruvida projektet finns tillgängligt |
till/ta bort användare och huruvida projektet finns tillgängligt |
||
Rad 102: | Rad 98: | ||
administration rights" för personen. |
administration rights" för personen. |
||
===Att tillåta/otillåta anonym access till projektet=== |
|||
På administrationssidan för projektet finns en toggle-knapp för att |
På administrationssidan för projektet finns en toggle-knapp för att |
||
bestämma om det ska gå att komma åt projektet med pserver anonymt. Om |
bestämma om det ska gå att komma åt projektet med pserver anonymt. Om |
||
så är fallet visas den CVSROOT som ska användas i så fall. |
så är fallet visas den CVSROOT som ska användas i så fall. |
||
<P> |
|||
Med pserver måste man logga in först - det gör man med ett tomt |
Med pserver måste man logga in först - det gör man med ett tomt |
||
lösenord (enter vid lösenordsfrågan, liksom). |
lösenord (enter vid lösenordsfrågan, liksom). |
||
<P> |
|||
'''OBSERVERA att det tar en kvart innan projektet är åtkomligt |
|||
anonymt |
anonymt'''. Däremot blir projektet oåtkomligt så fort du togglar |
||
tillbaka. Fråga inte. |
tillbaka. Fråga inte. |
||
===Att tillåta/otillåta webaccess till projektet=== |
|||
Liksom du kan bestämma om projektet ska vara anonymt åtkombart med |
Liksom du kan bestämma om projektet ska vara anonymt åtkombart med |
||
pserver så kan du bestämma om projektet ska vara åtkombart med |
pserver så kan du bestämma om projektet ska vara åtkombart med |
||
Rad 120: | Rad 116: | ||
"ViewCVS access". Ändringen får omedelbar effekt. |
"ViewCVS access". Ändringen får omedelbar effekt. |
||
===Att lägga till SSH-nycklar=== |
|||
Det är rätt tradigt att behöva skriva in sitt lösenord var gång man |
Det är rätt tradigt att behöva skriva in sitt lösenord var gång man |
||
ska utföra ett cvs-kommando. Därför användar man med fördel |
ska utföra ett cvs-kommando. Därför användar man med fördel |
||
ssh-nycklar, gärna i kombination med ssh-agent. För att se hur man gör |
ssh-nycklar, gärna i kombination med ssh-agent. För att se hur man gör |
||
detta på Lysator läs |
detta på Lysator läs [[SSH]]. |
||
<P> |
|||
Eftersom du varken som vanlig användare eller extern dito kommer åt |
Eftersom du varken som vanlig användare eller extern dito kommer åt |
||
CVS-burken med ett vanligt skal läggs sådana nycklar till genom att |
CVS-burken med ett vanligt skal läggs sådana nycklar till genom att |
||
välja "Edit SSH keys" och klistra in de nycklar du vill ha. Servern |
välja "Edit SSH keys" och klistra in de nycklar du vill ha. Servern |
||
stödjer enbart ssh v2. |
stödjer enbart ssh v2. |
||
<P> |
|||
Anledningen till att även Lysatoranvändare måste lägga till sina |
Anledningen till att även Lysatoranvändare måste lägga till sina |
||
nycklar på detta sätt är att CVS-servern av säkerhetsskäl ej monterar |
nycklar på detta sätt är att CVS-servern av säkerhetsskäl ej monterar |
||
Lysators vanliga NFS-namnrymd. |
Lysators vanliga NFS-namnrymd. |
||
<P> |
|||
'''Även här tar det en kvart innan du kan logga in med din nyckel'''. |
|||
<P> |
|||
Ett annat sätt att slippa skriva lösenord varje gång är att använda |
Ett annat sätt att slippa skriva lösenord varje gång är att använda [[http://www.lysator.liu.se/~nisse|Niels Möllers]] |
||
[http://www.lysator.liu.se/~nisse/lsh lsh} i |
|||
href="http://www.lysator.liu.se/~nisse/lsh">lsh</A> i |
|||
"Gateway-mode". Dvs, på din dator exekverar du |
"Gateway-mode". Dvs, på din dator exekverar du |
||
<pre> |
<pre> |
||
Rad 148: | Rad 143: | ||
till "lshg". Klart! |
till "lshg". Klart! |
||
===Logga ut=== |
|||
Hur svårt kan det vara? :-) |
Hur svårt kan det vara? :-) |
||
<P> |
|||
Du blir automatiskt utloggad om du inte gör någonting på en kvart. |
Du blir automatiskt utloggad om du inte gör någonting på en kvart. |
||
===Att överföra gamla repositories=== |
|||
Jodå, det går. Fast inte utan interaktion av en root. Skapa först projektet i lysCVS. Packa sedan ihop ditt repository i en tarboll och tala om var den finns för rötterna så ska vi nog kunna ordna den saken. |
Jodå, det går. Fast inte utan interaktion av en root. Skapa först projektet i lysCVS. Packa sedan ihop ditt repository i en tarboll och tala om var den finns för rötterna så ska vi nog kunna ordna den saken. |
||
===Framtida planer=== |
|||
Umm.. Inga direkta just nu. Kom gärna med förslag! |
Umm.. Inga direkta just nu. Kom gärna med förslag! |
||
===Information om systemet=== |
|||
LysCVS består av en kombination av vanligt förekommande fri |
LysCVS består av en kombination av vanligt förekommande fri programvara samt ett gäng lokalt utvecklade hack. Bland annat används: |
||
programvara samt ett gäng lokalt utvecklade hack. Bland annat används: |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
<ul> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</ul> |
|||
⚫ | |||
finns att hämta <a href="http://www.lysator.liu.se/~forsberg/hacks/lyscvs">här</a> |
|||
<P> |
|||
Hård och operativsystemsmässigt är burken ifråga för tillfället en |
Hård och operativsystemsmässigt är burken ifråga för tillfället en |
||
Dell PowerEdge 6100/200 (stalingrad) med 2 st 200 MHz Pentium Pro och 256 MiB |
Dell PowerEdge 6100/200 (stalingrad) med 2 st 200 MHz Pentium Pro och 256 MiB |
||
minne. Inte världens snabbaste maskin, men den är stabil, den har bra |
minne. Inte världens snabbaste maskin, men den är stabil, den har bra |
||
diskutbyggnadsmöjligheter och den har en tvillingsyster att plocka |
diskutbyggnadsmöjligheter och den har en tvillingsyster att plocka |
||
reservdelar från. Maskinen kör |
reservdelar från. Maskinen kör [http://www.debian.org/ Debian GNU/Linux]. |
||
GNU/Linux</a>. |
|||
<p> |
|||
Maskinen speglar sina diskar med Linux mjukvaru-RAID, och backup tas |
Maskinen speglar sina diskar med Linux mjukvaru-RAID, och backup tas |
||
en gång per dygn via Lysators vanliga backuprutiner. |
en gång per dygn via Lysators vanliga backuprutiner. |
Versionen från 9 oktober 2006 kl. 22.42
CVS är ett väldigt användbart verktyg. På denna sida beskrivs hur du använder det på Lysator.
Det gamla sättet, /lysator/cvsroot
Sedan länge finns en cvsroot som alla Lysiter på ett någorlunda enkelt sätt kan skapa ett repository i. Problemet med den lösningen är att endast Lysiter kan komma åt den, och anonym access är inte möjlig.
Hur man i detalj använder /lysator/cvsroot beskrivs inte på denna oebbsida.
Det nya sättet, lysCVS
Eftersom det verkade finnas ett behov av cvs-repository där man dels kan ha med icke-Lysiter som utvecklare, och dels tillåta anonym access, utvecklades sommaren 2001 en lösning som tillåter detta.
Lösningen finns att beskåda bland annat i form av http://cvs.lysator.liu.se/. Lösningen går under namnet LysCVS.
LysCVS har ett oebbaserat administrationsinterface där du själv som vanlig användare kan skapa projekt, lägga till användare till detta och så vidare. Nedan beskrivs hur du gör.
Att skapa nya projekt i LysCVS
LysCVS bygger på konceptet projekt. Varje projekt har en egen CVSROOT och kan ha flera CVS-moduler. Det går bra att ha samma namn på en modul och projektet som modulen tillhör.
Peka din webläsare på https://admin.lysator.liu.se/ och logga in med ditt vanliga Lysatorlogin och -lösen. Du kommer nu till en huvudsida där du kan se vilka projekt du är medlem i och/eller administratör för.
För att skapa ett nytt projekt använder du menyalternativet "New Project" i menyn till vänster. Skriv vad du vill att ditt projekt ska heta, och tryck på knappen märkt "Create!". Ditt projekt är nu skapat.
OBSERVERA att det tar en stund, i nuläget maximalt en kvart, innan ditt projekt går att använda
Att börja använda det nyligen skapade projektet
Enklast är att använda cvs import
. Säg att du nyss har
skapat projektet foo i lysCVS. Vidare har du ett gäng filer som
ska finnas i foo, de existerar i katalogen /home/xyzzy/bar. Du
vill att filerna ska hamna i katalogen gazonk under cvsrooten
för foo I så fall gör du ungefär såhär:
$ cd /home/xyzzy/bar $ export CVS_RSH=ssh $ cvs -d <username>@cvs.lysator.liu.se:/cvsroot/foo import gazonk <username> start;
De två sista argumenten är egentligen vendor och tag, så du kan hitta på nått bättre än ditt användarnamn och "start" om du så önskar.
Nu kan du, från en annan katalog, checka ut dina filer med
cvs -d <username>@cvs.lysator.liu.se:/cvsroot/foo co gazonk
Att lägga till nya användare i ett projekt
För att möjliggöra skrivaccess för andra än dig själv lägger du till användare till dina projekt.
Gå till huvudsidan och klicka på länken märkt "administrate" för det projekt du vill lägga till en användare till. Skriv mailadressen för användaren i rutan, och tryck "Add".
Om det är en Lysatoranvändare du lägger till är det inget mer du behöver göra, för då finns redan alla uppgifter i NIS. Om det är en extern (icke-Lysit) du vill lägga till får du fylla i riktigt namn och användarnamn på personen ifråga. OBSERVERA att användarnamnet måste börja på _cvs_. Detta för att skydda Lysators namnrymd. Den externa personen får ett mail med instruktioner om inloggningsnamn och lösenord - ett automatgenererat lösenord som är fult som stryk.
Även här tar det en kvart innan användaren kan använda cvs över ssh. Däremot kan hen logga in i cvsadministrationssystemet, exempelvis för att byta lösenord eller lägga till SSH-nycklar.
Att ta bort användare i ett projekt
Gå in på administrationssidan för ett projekt och tryck på "Remove"-knappen för den användare du inte vill ha kvar i ditt projekt. Användaren kan nu inte längre skriva eller läsa repositoryt. Däremot finns användaren kvar i systemet, så du kan enkelt lägga till henom igen.
OBSERVERA att det går utmärkt att ta bort sig själv, och då blir det svårt...
Att bestämma vem som får administrera ett projekt
Du kan låta andra (även externa användare) bestämma vem som får lägga till/ta bort användare och huruvida projektet finns tillgängligt anonymt. Gå in på administrationssidan för projektet och tryck på "toggle administration rights" för personen.
Att tillåta/otillåta anonym access till projektet
På administrationssidan för projektet finns en toggle-knapp för att bestämma om det ska gå att komma åt projektet med pserver anonymt. Om så är fallet visas den CVSROOT som ska användas i så fall.
Med pserver måste man logga in först - det gör man med ett tomt lösenord (enter vid lösenordsfrågan, liksom).
OBSERVERA att det tar en kvart innan projektet är åtkomligt anonymt. Däremot blir projektet oåtkomligt så fort du togglar tillbaka. Fråga inte.
Att tillåta/otillåta webaccess till projektet
Liksom du kan bestämma om projektet ska vara anonymt åtkombart med pserver så kan du bestämma om projektet ska vara åtkombart med ViewCVS, en web-cvs-frontända. Det gör du genom att toggla knappen för "ViewCVS access". Ändringen får omedelbar effekt.
Att lägga till SSH-nycklar
Det är rätt tradigt att behöva skriva in sitt lösenord var gång man ska utföra ett cvs-kommando. Därför användar man med fördel ssh-nycklar, gärna i kombination med ssh-agent. För att se hur man gör detta på Lysator läs SSH.
Eftersom du varken som vanlig användare eller extern dito kommer åt CVS-burken med ett vanligt skal läggs sådana nycklar till genom att välja "Edit SSH keys" och klistra in de nycklar du vill ha. Servern stödjer enbart ssh v2.
Anledningen till att även Lysatoranvändare måste lägga till sina nycklar på detta sätt är att CVS-servern av säkerhetsskäl ej monterar Lysators vanliga NFS-namnrymd.
Även här tar det en kvart innan du kan logga in med din nyckel.
Ett annat sätt att slippa skriva lösenord varje gång är att använda [Möllers] [http://www.lysator.liu.se/~nisse/lsh lsh} i "Gateway-mode". Dvs, på din dator exekverar du
lsh -G -N -l <användarnamn> cvs.lysator.liu.se
och skriver in ditt lösenord. Sen sätter du miljövariabeln CVS_RSH till "lshg". Klart!
Logga ut
Hur svårt kan det vara? :-)
Du blir automatiskt utloggad om du inte gör någonting på en kvart.
Att överföra gamla repositories
Jodå, det går. Fast inte utan interaktion av en root. Skapa först projektet i lysCVS. Packa sedan ihop ditt repository i en tarboll och tala om var den finns för rötterna så ska vi nog kunna ordna den saken.
Framtida planer
Umm.. Inga direkta just nu. Kom gärna med förslag!
Information om systemet
LysCVS består av en kombination av vanligt förekommande fri programvara samt ett gäng lokalt utvecklade hack. Bland annat används:
Den lokalt utvecklade programvaran är mestadels utvecklad av Erik Forsberg och finns att hämta här.
Hård och operativsystemsmässigt är burken ifråga för tillfället en
Dell PowerEdge 6100/200 (stalingrad) med 2 st 200 MHz Pentium Pro och 256 MiB
minne. Inte världens snabbaste maskin, men den är stabil, den har bra
diskutbyggnadsmöjligheter och den har en tvillingsyster att plocka
reservdelar från. Maskinen kör Debian GNU/Linux.
Maskinen speglar sina diskar med Linux mjukvaru-RAID, och backup tas en gång per dygn via Lysators vanliga backuprutiner.