##// END OF EJS Templates
Updated README.txt
Marcin Kasperski -
r37:85b5f7f2 default
parent child Browse files
Show More
@@ -1,11 +1,11 b''
1 ; -*- mode: rst -*-
1 .. -*- mode: rst -*-
2 2
3 3 =================
4 4 mercurial_keyring
5 5 =================
6 6
7 ``mercurial_keyring`` is a Mercurial_ extension to securely save HTTP
8 and SMTP authentication passwords in password databases (Gnome
7 ``mercurial_keyring`` is a Mercurial_ extension used to securely save
8 HTTP and SMTP authentication passwords in password databases (Gnome
9 9 Keyring, KDE KWallet, OSXKeyChain, specific solutions for Win32 and
10 10 command line). This extension uses and wraps services of the keyring_
11 11 library.
@@ -18,16 +18,19 b' How does it work'
18 18
19 19 The extension prompts for the password on the first pull/push (in case
20 20 of HTTP) or first email (in case of SMTP), just like it is done by
21 default, but saves the given password (keyed by the combination of
22 username and remote repository url - for HTTP - or smtp server
23 address - for SMTP) in the password database. On successive runs it
24 checks for the username in ``.hg/hgrc``, then for suitable password in
25 the password database, and uses those credentials (if found).
21 default, but saves the password. On successive runs it checks for the
22 username in ``.hg/hgrc``, then for suitable password in the password
23 database, and uses those credentials (if found).
26 24
27 25 In case password turns out to be incorrect (either because it was
28 26 invalid, or because it was changed on the server) or missing it just
29 27 prompts the user again.
30 28
29 Passwords are identified by the combination of username and remote
30 repository url (for HTTP) or username and smtp server address (for
31 SMTP), so they can be reused between repositories if they access
32 the same remote repository.
33
31 34 Installation
32 35 ============
33 36
@@ -56,7 +59,7 b' To install as a package use ``easy_insta'
56 59
57 60 easy_install mercurial_keyring
58 61
59 and then configure ``~/.hgrc`` (or ``/etc/mercurial/hgrc``) so:
62 and then enable it in ``~/.hgrc`` (or ``/etc/mercurial/hgrc``) using:
60 63
61 64 ::
62 65
@@ -64,7 +67,7 b' and then configure ``~/.hgrc`` (or ``/et'
64 67 mercurial_keyring =
65 68
66 69 To install using individual file, download the
67 ``mercurial_keyring.py``_ file, save it anywhere you like, and
70 `mercurial_keyring.py`_ file, save it anywhere you like, and
68 71 put the following in ``~/.hgrc`` (or ``/etc/mercurial/hgrc``):
69 72
70 73 ::
@@ -72,6 +75,9 b' put the following in ``~/.hgrc`` (or ``/'
72 75 [extensions]
73 76 hgext.mercurial_keyring = /path/to/mercurial_keyring.py
74 77
78 .. _the code:
79 .. _mercurial_keyring.py: http://bitbucket.org/Mekk/mercurial_keyring/src/tip/mercurial_keyring.py
80
75 81 Password backend configuration
76 82 ==============================
77 83
@@ -80,9 +86,9 b' without configuration. Still, if necessa'
80 86 ``~/keyringrc.cfg`` file (``keyringrc.cfg`` in the home directory of
81 87 the current user). Refer to keyring_ docs for more details.
82 88
83 ''I considered handling similar options in hgrc, but decided that
89 *I considered handling similar options in hgrc, but decided that
84 90 single user may use more than one keyring-based script. Still, I am
85 open to suggestions.''
91 open to suggestions.*
86 92
87 93 Repository configuration (HTTP)
88 94 ===============================
@@ -117,8 +123,8 b' Repository configuration (SMTP)'
117 123 ===============================
118 124
119 125 Edit either repository-local ``.hg/hgrc``, or ``~/.hgrc`` and set
120 there all standard email and smtp properties, including smtp
121 username, but without smtp password. For example:
126 there all standard email and smtp properties, including SMTP
127 username, but without SMTP password. For example:
122 128
123 129 ::
124 130
@@ -132,9 +138,9 b' username, but without smtp password. For'
132 138 username = JoeDoe@gmail.com
133 139 tls = true
134 140
135 Just as in case of HTTP, you ``must`` set username, but ``must not``
136 set password here to use the extension, in other cases it will revert
137 to the default behavior.
141 Just as in case of HTTP, you *must* set username, but *must not* set
142 password here to use the extension, in other cases it will revert to
143 the default behavior.
138 144
139 145 Usage
140 146 =====
@@ -152,7 +158,7 b' Implementation details'
152 158
153 159 The extension is monkey-patching the mercurial ``passwordmgr`` class
154 160 to replace the find_user_password method. Detailed order of operations
155 is described in the comments inside the code.
161 is described in the comments inside `the code`_.
156 162
157 163 Development
158 164 ===========
General Comments 0
You need to be logged in to leave comments. Login now