Show More
@@ -71,7 +71,7 b' which can be installed by::' | |||||
71 |
|
71 | |||
72 | pip install --user mercurial_extension_utils |
|
72 | pip install --user mercurial_extension_utils | |
73 |
|
73 | |||
74 | but in some cases (Windows…) require more care. See |
|
74 | but in some cases (Windows…) requires more care. See | |
75 | `mercurial_extension_utils`_ documentation. |
|
75 | `mercurial_extension_utils`_ documentation. | |
76 |
|
76 | |||
77 |
|
77 | |||
@@ -92,14 +92,13 b' installation) and then enable it in ``~/' | |||||
92 | [extensions] |
|
92 | [extensions] | |
93 | mercurial_keyring = |
|
93 | mercurial_keyring = | |
94 |
|
94 | |||
95 |
To install |
|
95 | To install using source clone, install keyring_ according to the | |
96 | clone:: |
|
96 | instructions above, then clone:: | |
97 |
|
97 | |||
98 | hg clone https://bitbucket.org/Mekk/mercurial_keyring/ |
|
98 | hg clone https://bitbucket.org/Mekk/mercurial_keyring/ | |
99 | hg clone https://bitbucket.org/Mekk/mercurial-extension_utils/ |
|
99 | hg clone https://bitbucket.org/Mekk/mercurial-extension_utils/ | |
100 |
|
100 | |||
101 |
and configure Mercurial |
|
101 | and configure Mercurial using full path to the extension module:: | |
102 | (in ):: |
|
|||
103 |
|
102 | |||
104 | [extensions] |
|
103 | [extensions] | |
105 | mercurial_keyring = /path/to/mercurial_keyring/mercurial_keyring.py |
|
104 | mercurial_keyring = /path/to/mercurial_keyring/mercurial_keyring.py | |
@@ -110,15 +109,17 b' and configure Mercurial by telling it fu' | |||||
110 | Password backend configuration |
|
109 | Password backend configuration | |
111 | ======================================================= |
|
110 | ======================================================= | |
112 |
|
111 | |||
113 | The library should usually pick the most appropriate password backend |
|
112 | The most appropriate password backend should usually be picked without | |
114 | without configuration. Still, if necessary, it can be configured using |
|
113 | configuration (considering installed libraries, operating system, | |
115 | ``keyringrc.cfg`` file. Refer to keyring_ docs for more details. |
|
114 | active desktop session). Still, if necessary, it can be configured | |
|
115 | using ``keyringrc.cfg`` file. Refer to keyring_ docs for more | |||
|
116 | details. | |||
116 |
|
117 | |||
117 | .. note:: |
|
118 | .. note:: | |
118 |
|
119 | |||
119 | With current (as I write) keyring (5.6), this file is (on Linux) |
|
120 | With current (as I write) keyring (5.6), this file is (on Linux) | |
120 | located at ``~/.local/share/python_keyring/keyringrc.cfg`` and |
|
121 | located at ``~/.local/share/python_keyring/keyringrc.cfg`` and | |
121 | it's example content look like:: |
|
122 | it's example content looks like:: | |
122 |
|
123 | |||
123 | [backend] |
|
124 | [backend] | |
124 | default-keyring=keyring.backends.Gnome.Keyring |
|
125 | default-keyring=keyring.backends.Gnome.Keyring | |
@@ -191,7 +192,7 b' directory). For example, write there::' | |||||
191 | mydep.prefix = https://dev.acmeorg.com |
|
192 | mydep.prefix = https://dev.acmeorg.com | |
192 | mydep.username = drmartin |
|
193 | mydep.username = drmartin | |
193 |
|
194 | |||
194 |
and as long as you |
|
195 | and as long as you use ``acme`` alias for repositories like | |
195 | ``https://hg.acme.com/repositories/my_beautiful_app``, username |
|
196 | ``https://hg.acme.com/repositories/my_beautiful_app``, username | |
196 | ``johnny`` will be used, and the same password reused. Similarly |
|
197 | ``johnny`` will be used, and the same password reused. Similarly | |
197 | any ``hg push bitbucket`` will share the same password. |
|
198 | any ``hg push bitbucket`` will share the same password. | |
@@ -205,7 +206,8 b' Additional advantage of this method is t' | |||||
205 |
|
206 | |||
206 | .. note:: |
|
207 | .. note:: | |
207 |
|
208 | |||
208 |
Mercurial Keyring works well with `Path Pattern`_. On my setup I use |
|
209 | Mercurial Keyring works well with `Path Pattern`_. On my setup I use | |
|
210 | prefix as above, and:: | |||
209 |
|
211 | |||
210 | [path_pattern] |
|
212 | [path_pattern] | |
211 | bitbucket.local = ~/devel/{below} |
|
213 | bitbucket.local = ~/devel/{below} | |
@@ -286,6 +288,32 b' path. It can be used in two ways:' | |||||
286 |
|
288 | |||
287 | hg keyring_clear https://bitbucket.org/Mekk/mercurial_keyring |
|
289 | hg keyring_clear https://bitbucket.org/Mekk/mercurial_keyring | |
288 |
|
290 | |||
|
291 | Managing passwords using GUI tools | |||
|
292 | ------------------------------------------------------ | |||
|
293 | ||||
|
294 | Many password backends provide GUI tools for password management, | |||
|
295 | for example Gnome Keyring passwords can be managed using ``seahorse``, | |||
|
296 | and KDE Wallet using ``kwalletmanager``. Those GUI tools can be used | |||
|
297 | to review, edit, or delete saved passwords. | |||
|
298 | ||||
|
299 | Unfortunately, as I write, keyring_ library does not allow one to | |||
|
300 | configure how/where exactly saved passwords are put in the hierarchy, | |||
|
301 | and the place is not always intuitive. For example, in KDE Wallet, all | |||
|
302 | passwords saved using ``mercurial_keyring`` show up in the folder | |||
|
303 | named ``Python``. | |||
|
304 | ||||
|
305 | .. note:: | |||
|
306 | ||||
|
307 | This is slightly problematic in case ``mercurial_keyring`` is not | |||
|
308 | the only program using keyring_ library. Passwords saved by another | |||
|
309 | Python application or script (which also uses keyring_) will be put | |||
|
310 | into the same place, and it may be unclear which password belongs | |||
|
311 | to which program. To remedy this, ``mercurial_keyring`` applies | |||
|
312 | slightly unusual labels of the form | |||
|
313 | ``«username»@@«urlprefix»@Mercurial`` (for example my bitbucket | |||
|
314 | password is labelled ``Mekk@@https://bitbucket.org@Mercurial``). | |||
|
315 | ||||
|
316 | ||||
289 | Implementation details |
|
317 | Implementation details | |
290 | ======================================================= |
|
318 | ======================================================= | |
291 |
|
319 |
General Comments 0
You need to be logged in to leave comments.
Login now