Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
subversion [2011/08/22 15:21] fucik |
subversion [2026/10/02 15:35] (current) fucik [Password for GNOME keyring] |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Subversion vám poskytuje různé možnosti, kde založit tzv. **repozitář** (tedy archív verzí vašeho projektu), a různé možnosti, jak k němu přistupovat. **Lokální repozitář** vám stačí, používáte-li Subversion pro archivaci projektu, na kterém pracujete pouze vy, případně i další členové ÚFALu, ale všem vám stačí přistupovat k repozitáři z terminálu či skriptů běžících na linuxových počítačích na ÚFALu. Lokální repozitář je prostě podstrom adresářové struktury na síťových discích (konkrétně v ''/ | Subversion vám poskytuje různé možnosti, kde založit tzv. **repozitář** (tedy archív verzí vašeho projektu), a různé možnosti, jak k němu přistupovat. **Lokální repozitář** vám stačí, používáte-li Subversion pro archivaci projektu, na kterém pracujete pouze vy, případně i další členové ÚFALu, ale všem vám stačí přistupovat k repozitáři z terminálu či skriptů běžících na linuxových počítačích na ÚFALu. Lokální repozitář je prostě podstrom adresářové struktury na síťových discích (konkrétně v ''/ | ||
| - | Pro projekty ÚFALu, na nichž chcete spolupracovat i s lidmi zvenku, (serverové repozitáře) použijte vyhrazený stroj [[internal: | + | Pro projekty ÚFALu, na nichž chcete spolupracovat i s lidmi zvenku, (serverové repozitáře) použijte vyhrazený stroj [[internal: |
| - | ===== Subversion/ | + | ===== Subversion/ |
| - | Server svn.ms.mff.cuni.cz | + | Server |
| - | Mili kolegove, | + | Co bylo zachováno stejné jako před přestavbou: |
| - | po ctyrech letech provozu jsem reimplementoval sluzby naseho svn serveru na novem HW i SW. Nyni mame k dispozici vice prostoru | + | * uživatelské účty |
| - | a cele reseni bezi na systemu Debian 6 Squeeze. Doslo k drobnym zmenam v konfiguraci novych repozitaru, nicmene prechod | + | * uživatelské účty, zavedené |
| - | by mel byt temer transparentni. | + | * účty |
| - | + | * veškerá | |
| - | | + | |
| - | - uzivatelske ucty a hesla v systemu (pro ssh pristup) | + | |
| - | - uzivatelske ucty, zavedene | + | |
| - | - ucty a system prav pro pristup pres svnserve a websvn | + | |
| - | - veskera | + | |
| - | + | ||
| - | Co je zmeneno: | + | |
| - | - soubor s ucty a hesly pro https autentizaci je nyni: / | + | |
| - | - soubor pro nastaveni prav v svn repozitarich je: / | + | |
| - | - stare cesty jsou nalinkovany na novou strukturu: | + | |
| - | - / | + | |
| - | - / | + | |
| - | - / | + | |
| - | + | ||
| - | Co je nove: | + | |
| - | - podpora zalozeni repozitare Git | + | |
| - | - podpora propojeni systemu Trac s git repozitarem | + | |
| - | - pristup ke git repozitari pres https a ssh | + | |
| + | Co je změněno: | ||
| + | * soubor s účty a hesly pro https autentizaci je nyní: ''/ | ||
| + | * soubor pro nastavení práv v& | ||
| + | * staré cesty jsou nalinkovány na novou strukturu: | ||
| + | * ''/ | ||
| + | * ''/ | ||
| + | * ''/ | ||
| - | | + | Co je nové: |
| + | * podpora založení repozitáře git | ||
| + | * podpora propojení systému Trac s git repozitářem | ||
| + | * přístup ke git repozitáři přes https a ssh | ||
| - | - nalogujete se na svn.ufal.ms.mff.cuni.cz (= svn.ms.mff.cuni.cz) | + | ===== Založení nového |
| - | - rozhodnete se, zda budete vytvaret SVN nebo GIT repozitar | + | |
| - | - pro vytvoreni | + | |
| - | SVN < | + | Podívejme se, co je potřeba si projít a nastavit při konfiguraci nového projektu svn/git: |
| + | * přihlásíte se přes ssh na '' | ||
| + | * rozhodnete se, zda budete vytvářet repozitář SVN, nebo GIT | ||
| + | * pro vytvoření projektu použijete skript (kterému dáte ještě jméno projektu): | ||
| - | GIT < | + | SVN: / |
| - | Repozitare se vzdy vytvori i s Trac rozhranim; pokud ho vylozene nechcete, smazte struktury Tracu: | + | GIT: / |
| - | | + | Repozitáře se vždy vytvoří i s rozhraním Trac; pokud ho vyloženě nechcete, smažte struktury Tracu: |
| - | | + | |
| - | Pak se rozhodnete | + | rm -rf / |
| + | |||
| + | Pak se rozhodnete, kterými | ||
| ==== Konfigurace webového rozhraní SVN (preferováno) ==== | ==== Konfigurace webového rozhraní SVN (preferováno) ==== | ||
| - | Toto rozhraní je užíváno SVN klienty, kteří dostanou repository udanou ve tvaru '' | + | Toto rozhraní je užíváno SVN klienty, kteří dostanou repository udanou ve tvaru '' |
| - | < | + | < |
| Co se tyce svn weboveho rozhrani, modul ma nasledujici konfiguracni soubory: | Co se tyce svn weboveho rozhrani, modul ma nasledujici konfiguracni soubory: | ||
| Line 62: | Line 57: | ||
| O zbytek se stara webovy modul subversion. | O zbytek se stara webovy modul subversion. | ||
| - | Konfiguraky jsou globalni, tj. pro vsechny projekty spolecne, v svnauthz.conf jsou pro jednotlive projekty sekce. | + | Nyní už můžeme |
| - | O přidávání uživatelů a hesel viz níže. | + | < |
| + | |||
| + | Konfiguráky jsou globální, tj. pro všechny projekty společné, v& | ||
| === Přidávání vlastních uživatelů pro webové přístupy (SVN, GIT i Trac) === | === Přidávání vlastních uživatelů pro webové přístupy (SVN, GIT i Trac) === | ||
| Line 75: | Line 72: | ||
| # na heslo budete dotázáni, heslo se nezobrazí ani na terminálu | # na heslo budete dotázáni, heslo se nezobrazí ani na terminálu | ||
| - | ==== Konfigurace | + | ==== Konfigurace pristupu ke Git repozitari ==== |
| Ke Git repozitarum je mozne v principu pristupovat dvema zpusoby: | Ke Git repozitarum je mozne v principu pristupovat dvema zpusoby: | ||
| - | * nahledem pres Gitweb rozhrani: https:// | + | * nahledem pres Gitweb rozhrani: https:// |
| - | * git klientem pres https: < | + | * git klientem pres https: < |
| - | * pres ssh: < | + | * pres ssh: < |
| V teto konfiguraci git neumi rozlisovat RO a RW uzivatele (jedine pres ssh a ACL prava). Pri pristupu pres https | V teto konfiguraci git neumi rozlisovat RO a RW uzivatele (jedine pres ssh a ACL prava). Pri pristupu pres https | ||
| Line 90: | Line 87: | ||
| jsou pro ne po jednom vygenerovany. | jsou pro ne po jednom vygenerovany. | ||
| - | + | ==== Konfigurace protokolu SVN (raději nepoužívat, | |
| - | ==== Konfigurace protokolu SVN (raději nepoužívat, | + | |
| Toto rozhraní je užíváno SVN klienty, kteří dostanou repository udanou ve tvaru '' | Toto rozhraní je užíváno SVN klienty, kteří dostanou repository udanou ve tvaru '' | ||
| - | svn --username ufal checkout svn://svn.ms.mff.cuni.cz/ | + | svn --username ufal checkout svn://svn.ufal.mff.cuni.cz/ |
| Pristupova prava pro svn protokol se urcuji pro kazdy projekt nezavisle, v adresari conf v dane repository (jak je vytvorena mym skriptem), tj. napr.: | Pristupova prava pro svn protokol se urcuji pro kazdy projekt nezavisle, v adresari conf v dane repository (jak je vytvorena mym skriptem), tj. napr.: | ||
| Line 120: | Line 116: | ||
| < | < | ||
| - | Ve webovém rozhraní (https:// | + | Ve webovém rozhraní (https:// |
| **Upozornění: | **Upozornění: | ||
| Line 180: | Line 176: | ||
| mkdir $PROJ/ | mkdir $PROJ/ | ||
| mkdir $PROJ/tags | mkdir $PROJ/tags | ||
| - | svn --username $USER import $PROJ https:/// | + | svn --username $USER import $PROJ https:/// |
| cd .. | cd .. | ||
| - | svn checkout -q https:/// | + | svn checkout -q https:/// |
| rm -rf tmp | rm -rf tmp | ||
| rm -rf $PROJ.old</ | rm -rf $PROJ.old</ | ||
| Line 207: | Line 203: | ||
| Vzhledem k tomu, že URL ve výše uvedeném hlášení začíná < | Vzhledem k tomu, že URL ve výše uvedeném hlášení začíná < | ||
| - | < | + | < |
| / | / | ||
| cd / | cd / | ||
| Line 226: | Line 222: | ||
| < | < | ||
| - | scp interset.svndump svn.ms.mff.cuni.cz:/ | + | scp interset.svndump svn.ufal.mff.cuni.cz:/ |
| rm interset.svndump | rm interset.svndump | ||
| - | ssh svn.ms.mff.cuni.cz | + | ssh svn.ufal.mff.cuni.cz |
| svnadmin load / | svnadmin load / | ||
| rm interset.svndump | rm interset.svndump | ||
| Line 240: | Line 236: | ||
| cd .. | cd .. | ||
| mv interset interset.localwc | mv interset interset.localwc | ||
| - | svn --username zeman checkout https:// | + | svn --username zeman checkout https:// |
| mv trunk interset | mv trunk interset | ||
| cd interset</ | cd interset</ | ||
| - | |||
| ===== Přechod z CVS pod SVN ===== | ===== Přechod z CVS pod SVN ===== | ||
| Line 272: | Line 267: | ||
| Potom budu postupovat podobně jako při stěhování lokálního repozitáře SVN na server popsaném výše. | Potom budu postupovat podobně jako při stěhování lokálního repozitáře SVN na server popsaném výše. | ||
| - | < | + | < |
| rm biblio.svndump | rm biblio.svndump | ||
| - | ssh svn.ms.mff.cuni.cz | + | ssh svn.ufal.mff.cuni.cz |
| svnadmin load / | svnadmin load / | ||
| rm biblio.svndump</ | rm biblio.svndump</ | ||
| Line 581: | Line 576: | ||
| The following code should undo the changes between the revisions 302 and 303 (note the minus sign before 303, meaning negative change) while keeping the other changes between 303 and HEAD. | The following code should undo the changes between the revisions 302 and 303 (note the minus sign before 303, meaning negative change) while keeping the other changes between 303 and HEAD. | ||
| - | < | + | < |
| - | # alternatively: | + | # alternatively: |
| svn status | svn status | ||
| svn diff | svn diff | ||
| Line 624: | Line 619: | ||
| ===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
| + | |||
| + | ==== Password for GNOME keyring ==== | ||
| + | |||
| + | I had this issue on my workstation ('' | ||
| + | |||
| + | <code bash> | ||
| + | Password for ' | ||
| + | svn: OPTIONS of ' | ||
| + | |||
| + | First, what is the Gnome keyring? According to [[http:// | ||
| + | |||
| + | Unfortunately, | ||
| + | * set empty password for the keyring | ||
| + | * remove the keyring | ||
| + | * change the setting of Subversion | ||
| + | |||
| + | One on-line forum suggests removing the keyring file. This sounds like a good idea because I do not think I use it otherwise. | ||
| + | |||
| + | <code bash>rm ~/ | ||
| + | |||
| + | This solution worked for me. For the sake of completeness: | ||
| + | |||
| + | <code bash># Edit the file and add the following line in the [Auth] section (uncommented!): | ||
| + | # password-stores = | ||
| + | # Note that the line may already be there, commented, and/or with the value = no. | ||
| + | vim ~/ | ||
| + | |||
| + | ==== Working copy path does not exist in repository ==== | ||
| If you get the message: | If you get the message: | ||
| Line 653: | Line 676: | ||
| Most likely, this is all you will need to look at to do most of your work. Most of this material comes from Section 3.5. | Most likely, this is all you will need to look at to do most of your work. Most of this material comes from Section 3.5. | ||
| - | |||
