Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
subversion [2009/02/19 14:27] zeman Ach, ta obrácená logika oproti MediaWiki! |
subversion [2009/02/19 16:42] zeman Přístup z Windows. |
| |
O přidávání uživatelů a hesel viz níže. | O přidávání uživatelů a hesel viz níže. |
| |
| |
=== Přidávání vlastních uživatelů pro webové přístupy (SVN i Trac) === | === Přidávání vlastních uživatelů pro webové přístupy (SVN i Trac) === |
Takto spustíte konfigurační skript pro Trac vašeho projektu: | Takto spustíte konfigurační skript pro Trac vašeho projektu: |
trac-admin /home/trac/$PROJEKT | trac-admin /home/trac/$PROJEKT |
| |
| Chcete-li mít přístup k nastavení Tracu pro tento projekt i přes webové rozhraní Tracu, uvnitř ''trac-admin'' zadejte tento příkaz (nahraďte ''$USER'' svým uživatelským jménem v Tracu): |
| |
| <code>permission add $USER TRAC_ADMIN</code> |
| |
| Ve webovém rozhraní (https://svn.ms.mff.cuni.cz/projects/$PROJEKT) se pak objeví tlačítko //Admin//. V něm ještě klikněte na //Plugins//, pak na doplněk //IniAdmin0.2// a povolte ho. Tím se na administrátorské stránce zpřístupní i všechna nastavení z ''trac.ini''. |
| |
| **Upozornění:** V sekci //Permissions// vidíte a můžete měnit práva uživatelů k jednotlivým operacím v Tracu. Nějaká práva mohou mít (a defaultně mají) i anonymní uživatelé, kteří přeskočí autentikaci https. Pokud někomu sdělíte uživatelské jméno ''ufalr'' (a heslo, které k němu uvidíte v konfiguračním souboru ''passwd'' vašeho projektu po jeho založení), dali jste mu read-only přístup do repozitáře svn (přes protokol svn), ale v Tracu může některé věci i měnit (defaultně: psát do tracové wiki, zakládat a měnit tickety). To proto, že pro Trac už to není anonym, nýbrž "authenticated user". |
| |
=== Časté problémy === | === Časté problémy === |
| |
Ověřte, že v souboru ''/home/trac/PROJEKT/conf/trac.ini'' máte nastavenu proměnnou ''default_charset'' na ''utf-8''. **Default je chybný, iso-8859-15.** | Ověřte, že v souboru ''/home/trac/PROJEKT/conf/trac.ini'' máte nastavenu proměnnou ''default_charset'' na ''utf-8''. **Default je chybný, iso-8859-15.** |
| |
| ==== Přístup k repozitáři z Microsoft Windows ==== |
| |
| Pracovní kopii projektu můžete mít i ve Windows. Tím se nemá na mysli, že vybalíte kopii pomocí ''svn checkout'' někde na Linuxu a pak si ji přenesete do Windows třeba pomocí SFTP. Můžete mít plnohodnotnou a synchronizovanou pracovní kopii, jestliže použijete windowsového klienta svn. Takovým klientem je [[http://tortoisesvn.net/|Tortoise SVN]]. Funguje jako rozšíření shellu Windows, to znamená, že se vám plně integruje do Průzkumníka Windows. Příkazy pro práci s repozitářem pak vyvoláváte pomocí kontextové nabídky, která se zobrazí, když kliknete na soubor nebo adresář pravým tlačítkem myši. |
| |
===== Lokální Subversion ===== | ===== Lokální Subversion ===== |
| |
Pokud jste si jisti, že pro tento projekt nebudete nikdy potřebovat větve ani otagované verze, můžete pravděpodobně vynechat vytváření podsložek ''branches'' a ''tags'' a celý projekt posunout o patro výš. To jsem ale nezkoušel. | Pokud jste si jisti, že pro tento projekt nebudete nikdy potřebovat větve ani otagované verze, můžete pravděpodobně vynechat vytváření podsložek ''branches'' a ''tags'' a celý projekt posunout o patro výš. To jsem ale nezkoušel. |
| |
| |
| |
| |
| |
| |
/home/howto/create_new_project.sh interset | /home/howto/create_new_project.sh interset |
cd /home/svn/repos/interset/conf | cd /home/svn/repos/interset/conf |
| # Přístup k svn přes protokol svn (nešifrovaně!) |
vi authz | vi authz |
vi passwd</code> | vi passwd |
| # Přístup k svn a tracu přes protokol https |
| vi /home/svn/users/passwords |
| # Pokud jsem se tam ještě nenašel, můžu své heslo nastavit takto: |
| htpasswd -s /home/svn/users/passwords zeman |
| # Přístupová práva k svn repozitáři prostřednictvím https (obecně i specificky pro tento projekt) |
| vi /home/svn/permissions/svnauthz.conf |
| # Přístupová práva ke správě projektu v tracu |
| # Mělo by jít též editovat ve webovém rozhraní |
| trac-admin /home/trac/interset</code> |
| |
Poznámka: systém přidělování práv je složitý a nezdokumentovaný. Ještě existuje centrální přehled uživatelů a jejich hesel pro všechny repozitáře na serveru SVN. Leží v ''/home/svn/users/passwords''. Hesla jsou zde zašifrovaná a nejsem si teď jist, jakým způsobem se nastavují. Snad nějaký příkaz ''svnpasswd''? Nebo ''htpasswd''? Pak také existuje centrální evidence práv uživatelů v souboru ''/home/svn/permissions/svnauthz.conf''. V ní lze nastavovat jednak výchozí práva, jednak práva pro jednotlivé projekty. Není mi ale jasné, kdo dostane přednost, když jsou pro konkrétní projekt nastavena práva jak tady, tak přímo u daného projektu v ''/home/svn/repos/PROJEKT/conf''. | Serverový projekt a repozitář jsou založené a přístupová práva doufejme správně nastavena. Teď se tedy můžeme pustit do vlastního přenosu dat projektu. Samozřejmě předpokládáme, že chceme zachovat historii revizí, jinak by stačilo prostě ze zdrojového repozitáře vybalit pracovní kopii a na server ji naimportovat jako nový dosud neverzovaný projekt. K přenosu projektu včetně historie je potřeba použít příkazy nástroje ''svnadmin''. Podrobnější návod si lze přečíst [[http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate|tady]]. Důležité je vědět, že na rozdíl od klienta ''svn'', který může přistupovat k repozitáři vzdáleně přes síťové protokoly, ''svnadmin'' musí běžet na stroji, na kterém je repozitář fyzicky uložen. |
| |
| <code>svnadmin dump /net/work/public/SVN/interset > interset.svndump |
| scp interset.svndump svn.ms.mff.cuni.cz:/home/zeman |
| rm interset.svndump |
| ssh svn.ms.mff.cuni.cz |
| svnadmin load /home/svn/repos/interset < interset.svndump |
| rm interset.svndump |
| # Log off svn server, continue on local machine |
| exit |
| # Replace the working copy of local project by a working copy of the server project |
| cd .. |
| mv interset interset.localwc |
| svn --username zeman checkout https://svn.ms.mff.cuni.cz/svn/interset/trunk |
| mv trunk interset |
| cd interset</code> |
| |
===== Přechod z CVS pod SVN ===== | ===== Přechod z CVS pod SVN ===== |