[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
subversion [2012/01/28 10:47]
majlis tecka navic v nazvu serveru
subversion [2013/04/02 09:56] (current)
ufal
Line 6: Line 6:
  
 Pro projekty ÚFALu, na nichž chcete spolupracovat i s lidmi zvenku, (serverové repozitáře) použijte vyhrazený stroj [[internal:svn.ms.mff.cuni.cz]]. Návod na konfiguraci najdete níže v kapitole [[#Subversion Server]]. Návod na vytvoření jednoduchého lokálního repozitáře najdete níže v kapitole [[#Lokální Subversion]]. Pro projekty ÚFALu, na nichž chcete spolupracovat i s lidmi zvenku, (serverové repozitáře) použijte vyhrazený stroj [[internal:svn.ms.mff.cuni.cz]]. Návod na konfiguraci najdete níže v kapitole [[#Subversion Server]]. Návod na vytvoření jednoduchého lokálního repozitáře najdete níže v kapitole [[#Lokální Subversion]].
-===== Subversion/Git Server (po prestavbe 08/2011) ===== 
  
-Server svn.ms.mff.cuni.cz+===== Subversion/Git Server (po přestavbě 08/2011) =====
  
-Mili kolegove,  +Server ''svn.ms.mff.cuni.cz''. Celé řešení běží na systému Debian 6 Squeeze.
-  po ctyrech letech provozu jsem reimplementoval sluzby naseho svn serveru na novem HW i SWNyni mame k dispozici vice prostoru +
-  a cele reseni bezi na systemu Debian 6 Squeeze. Doslo k drobnym zmenam v konfiguraci novych repozitaru, nicmene prechod  +
-  by mel byt temer transparentni. +
-   +
-  Co jsem zachoval: +
-   - uzivatelske ucty a hesla v systemu (pro ssh pristup) +
-   - uzivatelske ucty, zavedene pro https autentizaci +
-   - ucty a system prav pro pristup pres svnserve a websvn +
-   - veskera data systemu Trac a stav repozitaru +
-   +
-   Co je zmeneno: +
-    - soubor s ucty a hesly pro https autentizaci je nyni: /home/DATA/repository_passwords +
-    - soubor pro nastaveni prav v svn repozitarich je: /home/DATA/svnauthz.conf +
-    - stare cesty jsou nalinkovany na novou strukturu: +
-          - /home/DATA/svn  (repozitare svn) +
-          - /home/DATA/git  (repozitare git) +
-          - /home/DATA/trac (data Tracu pro obe verze repozitaru) +
-            +
-   Co je nove: +
-    - podpora zalozeni repozitare Git +
-    - podpora propojeni systemu Trac s git repozitarem +
-    - pristup ke git repozitari pres https a ssh+
  
 +Co bylo zachováno stejné jako před přestavbou:
 +  * uživatelské účty a hesla pro ssh přístup do systému
 +  * uživatelské účty, zavedené pro https autentizaci
 +  * účty a systém práv pro přístup přes svnserve a websvn
 +  * veškerá data systému Trac a stav repozitářů
  
- Podivejme se, co je potreba potreba si projit nastavit pri konfiguraci noveho projektu svn/git:+Co je změněno: 
 +  * soubor s účty hesly pro https autentizaci je nyní: ''/home/DATA/repository_passwords'' 
 +  * soubor pro nastavení práv v svn repozitářích je: ''/home/DATA/svnauthz.conf'' 
 +  * staré cesty jsou nalinkovány na novou strukturu: 
 +    * ''/home/DATA/svn'' (repozitáře svn) 
 +    * ''/home/DATA/git'' (repozitáře git) 
 +    * ''/home/DATA/trac'' (data Tracu pro obě verze repozitářů)
  
-  - nalogujete se na svn.ufal.ms.mff.cuni.cz (= svn.ms.mff.cuni.cz) +Co je nové: 
-  rozhodnete se, zda budete vytvaret SVN nebo GIT repozitar +  * podpora založení repozitáře git 
-  pro vytvoreni projektu pouzijete skript (kteremu date jeste jmeno projektu):+  * podpora propojení systému Trac s git repozitářem 
 +  * přístup ke git repozitáři přes https a ssh 
 + 
 +===== Založení nového projektu ===== 
 + 
 +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 ''svn.ms.mff.cuni.cz'' 
 +  rozhodnete se, zda budete vytvářet repozitář SVNnebo GIT 
 +  pro vytvoření projektu použijete skript (kterému dáte ještě jméno projektu):
  
      SVN: /home/howto/Setup_svn-trac_repository.sh <jmeno_projektu>      SVN: /home/howto/Setup_svn-trac_repository.sh <jmeno_projektu>
Line 45: Line 41:
      GIT: /home/howto/Setup_git-trac_repository.sh <jmeno_projektu>      GIT: /home/howto/Setup_git-trac_repository.sh <jmeno_projektu>
  
-Repozitare se vzdy vytvori i s Trac rozhranim; pokud ho vylozene nechcete, smazte struktury Tracu:+Repozitáře se vždy vytvoří i s rozhraním Trac; pokud ho vyloženě nechcete, smažte struktury Tracu:
  
      rm -rf /home/DATA/trac/<jmeno_projektu>      rm -rf /home/DATA/trac/<jmeno_projektu>
-        + 
-Pak se rozhodnete kterymi cestami budete s projektem pracovat - nejlepsi je asi nakonfigurovat vsechny (viz. nizetedy svn, webovy pristup do svn/gitu a Trac (take webovy). Vsude jsou prednastaveny nejake zakladni ucty, ale nejlepsi je tyto veci upravit podle vlastnich potrebNapriklad nemusite chtit, aby ufal/maly... mel rw prava ve vasem projektu, jak tomu defaultne je! Podrobnosti jsou uvedené níže. Autentifikační soubory, které jsou uložené přímo u vašeho repozitáře ve složce ''conf'', jsou určené pro přístup protokolem ''svn'', zatímco soubory uložené na centrálních místech ''/home/DATA/'' jsou určené pro přístup protokolem ''https''.+Pak se rozhodnete, kterými cestami budete s&nbsp;projektem pracovat — nejlepší je asi nakonfigurovat všechny (viz níže— tedy svn, webový přístup do svn/gitu a Trac (také webový). Všude jsou přednastavené nějaké základní účty, ale nejlepší je tyto věci upravit podle vlastních potřebNapříklad nemusíte chtít, aby ''ufal/maly...'' měl ''rw'' práva ve vašem projektu, jak tomu defaultně je! Podrobnosti jsou uvedené níže. Autentifikační soubory, které jsou uložené přímo u vašeho repozitáře ve složce ''conf'', jsou určené pro přístup protokolem ''svn'', zatímco soubory uložené na centrálních místech ''/home/DATA/'' jsou určené pro přístup protokolem ''https''.
  
 ==== Konfigurace webového rozhraní SVN (preferováno) ==== ==== Konfigurace webového rozhraní SVN (preferováno) ====
Line 61: 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 pro daného uživatele nastavit přístupová práva k&nbsp;jednotlivým projektůma to v&nbsp;tomto souboru:
  
-O přidávání uživatelů a hesel viz níže.+<code>/home/DATA/svnauthz.conf</code> 
 + 
 +Konfiguráky jsou globální, tj. pro všechny projekty společné, v&nbsp;''svnauthz.conf'' jsou pro jednotlivé projekty sekce.
  
 === 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 80: Line 78:
    * nahledem pres Gitweb rozhrani: https://svn.ms.mff.cuni.cz/git (standardni webove overovani)    * nahledem pres Gitweb rozhrani: https://svn.ms.mff.cuni.cz/git (standardni webove overovani)
  
-   * git klientem pres https: <code> git clone https://svn-ufal.ms.mff.cuni.cz/git/<repository_name.git> </code>+   * git klientem pres https: <code> git clone https://svn.ms.mff.cuni.cz/git/<repository_name.git> </code>
  
    * pres ssh: <code> git clone user@svn.ms.mff.cuni.cz:/home/DATA/git/<repository_name>.git </code>    * pres ssh: <code> git clone user@svn.ms.mff.cuni.cz:/home/DATA/git/<repository_name>.git </code>
Line 89: Line 87:
 jsou pro ne po jednom vygenerovany. jsou pro ne po jednom vygenerovany.
  
- +==== Konfigurace protokolu SVN (raději nepoužívat, nešifrovaný přenos) ====
-==== Konfigurace protokolu SVN (raději nepoužívat, nekryptovaný přenos) ====+
  
 Toto rozhraní je užíváno SVN klienty, kteří dostanou repository udanou ve tvaru ''svn...'', tj. např.: Toto rozhraní je užíváno SVN klienty, kteří dostanou repository udanou ve tvaru ''svn...'', tj. např.:
Line 242: Line 239:
 mv trunk interset mv trunk interset
 cd interset</code> cd interset</code>
- 
  
 ===== Přechod z CVS pod SVN ===== ===== Přechod z CVS pod SVN =====
Line 623: Line 619:
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
 +
 +==== Password for GNOME keyring ====
 +
 +I had this issue on my workstation (''zen'') when Gnome was running. At the same time svn ran seamlessly on e.g. the ''lrc2'' machine because it is not a workstation. The issue: when in a working copy, type ''svn update''. The following prompt may pop up (and the following line is the result of typing something I thought might be set up as my password for the svn server):
 +
 +<code bash>zeman@zen:~/projekty/statmt$ svn update
 +Password for '(null)' GNOME keyring: 
 +svn: OPTIONS of 'https://svn.ms.mff.cuni.cz/svn/statmt/trunk': authorization failed: Could not authenticate to server: rejected Basic challenge (https://svn.ms.mff.cuni.cz)</code>
 +
 +First, what is the Gnome keyring? According to [[http://en.wikipedia.org/wiki/GNOME_Keyring|Wikipedia]], it is a daemon application designed to take care of the user's security credentials, such as user names and passwords. The sensitive data is encrypted and stored in a keyring file in the user's home folder. The default keyring uses the login password for encryption, so users don't need to remember yet another password.
 +
 +Unfortunately, I do not seem to be able to get along with my login password either. Also, it is not clear why Subversion wants to consult the keyring when it apparently can work without it (on non-workstation machines, it probably uses its own copy of the credentials stored somewhere in the working copy). Milan lists the following possibilities:
 +  * 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 ~/.gnome2/keyrings/login.keyring</code>
 +
 +This solution worked for me. For the sake of completeness: other fora suggest editing the svn configuration file and enable password storing:
 +
 +<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 ~/.subversion/config</code>
 +
 +==== Working copy path does not exist in repository ====
  
 If you get the message: If you get the message:

[ Back to the navigation ] [ Back to the content ]