Subversion a hesla
Autoři klientů pro Subversion předpokládají, že vývojář bude s nimi pravidelně (tj. několikrát za den) pracovat. Proto často ukládají jména a hesla na disk, aby je vývojář nemusel pokaždé zadávat. Pokud na jednom počítači pracuje více uživatelů (což je případ většiny počítačů ve škole), může to vytvářet problémy - změny mohou být odeslány pod jinou osobou či se je nemusí podařit odeslat vůbec, neboť uživatel, jehož jméno a heslo je uloženo na počítači nemusí mít práva zápisu do úložiště.
Řádkový klient, program svn
Začínám řádkovým klientem, který asi mnoho uživatelů přímo nepoužívá. Je však nepřímo použit v NetBeans či může být použít v Subclipse - pluginu pro Eclipse.
Řádkový klient si vytváří konfigurační adresář, konkrétně ve Windows je to adresář
C:\Documents and Settings\<uživatelské jméno>\Data aplikací\Subversion
v linuxu se vytváří v domovském adresáři podadresář
.subversion
V konfiguračním adresáři vytvoří řádkový klient podadresář auth
, ve kterém jsou uloženy hesla (podadresář svn.simple
) a případně certifikáty serverů (podadresář svn.ssl.server
).
V podadresáři svn.simple
může být více souborů - jeden soubor odpovídá jedné kombinaci jména, serveru a tzv. realmu uložiště. Soubor je textový, takže si ho můžete prohlédnout. Ve Windows je vlastní heslo v souboru uloženo zašifrované pomocí služeb operačního systému (může být nedostupné po změně hesla v operačním systému). V linuxu je heslo uloženo nešifrované.
Pokud chcete smazat uložené heslo, musíte tedy najít příslušný soubor v podadresáři auth/svn.simple
, a ten smazat.
Pokud nechcete, aby se heslo ukládalo, musíte použít parametr --no-auth-cache
u příkazu svn
. Můžete zabránit ukládání hesla i globálně - v konfiguračním adresáři klienta subversion je soubor config
, ve kterém můžete nastavit, aby se heslo nikdy neukládalo:
[auth]
store-auth-creds = no
TortoiseSVN
TortoiseSVN používá knihovny od řádkového klienta, a proto používá i stejné uložiště pro jména a hesla. V TortoiseSVN může jména a hesla smazat přes grafické rozhraní - volba Settings -> Saved data -> Clear authentication data
.
NetBeans 5.5
NetBeans 5.5 používá na pozadí řádkového klienta, takže pravidla pro uložení hesla do uložiště odpovídají tomu, co je uvedeno u řádkového klienta.
Eclipse s pluginem Subclipse
Plugin Subclipse umí používat dvě různé knihovny pro vlastní přístup k uložišti - knihovnu JavaHL a knihovnu SVNKit. Defaultně se používá knihovna JavaHL, která se ptá na jméno a heslo velmi často (pokud heslo neuložíte na disk). Pro používání na sdíleném počítači (např. ve škole) je vhodnější používat knihovnu SVNKit, neboť po celou dobu spuštění Eclipse má jméno a heslo ve vnitřní paměti a stačí ho obvykle zadat jednou, aniž by se ukládalo na disk.
Používanou knihovnu můžete si můžete zvolit v nastaveních ( Windows -> Preferences -> Team -> SVN
). Na následující obrazovce je šipkou vyznačeno, kde lze zvolit používanou knihovnu.
JavaHL je to knihovna, kterou používá řádkový klient, doplněná o hlavičky pro Javu. Tj. pravidla pro uložení hesla jsou stejná jako u řádkového klienta.
Knihovna SVNKit je knihovna celá napsaná v Javě. Tuto knihovnu používají i další programy (SmartSVN, Subversive), každý ukládá hesla jinam. Konkrétně Subclipse využívá tzv. "keyring" soubor - soubor, který používá Eclipse pro uschování hesel a obdboně citlivých informací. K tomuto souboru je následující cesta:
ECLIPSE_HOME/configuration/org.eclipse.core.runtime/.keyring
Eclipse s pluginem Subversive
DODĚLAT
SmartSVN
DODĚLAT