##// 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 mercurial_keyring
4 mercurial_keyring
5 =================
5 =================
6
6
7 ``mercurial_keyring`` is a Mercurial_ extension to securely save HTTP
7 ``mercurial_keyring`` is a Mercurial_ extension used to securely save
8 and SMTP authentication passwords in password databases (Gnome
8 HTTP and SMTP authentication passwords in password databases (Gnome
9 Keyring, KDE KWallet, OSXKeyChain, specific solutions for Win32 and
9 Keyring, KDE KWallet, OSXKeyChain, specific solutions for Win32 and
10 command line). This extension uses and wraps services of the keyring_
10 command line). This extension uses and wraps services of the keyring_
11 library.
11 library.
@@ -18,16 +18,19 b' How does it work'
18
18
19 The extension prompts for the password on the first pull/push (in case
19 The extension prompts for the password on the first pull/push (in case
20 of HTTP) or first email (in case of SMTP), just like it is done by
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
21 default, but saves the password. On successive runs it checks for the
22 username and remote repository url - for HTTP - or smtp server
22 username in ``.hg/hgrc``, then for suitable password in the password
23 address - for SMTP) in the password database. On successive runs it
23 database, and uses those credentials (if found).
24 checks for the username in ``.hg/hgrc``, then for suitable password in
25 the password database, and uses those credentials (if found).
26
24
27 In case password turns out to be incorrect (either because it was
25 In case password turns out to be incorrect (either because it was
28 invalid, or because it was changed on the server) or missing it just
26 invalid, or because it was changed on the server) or missing it just
29 prompts the user again.
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 Installation
34 Installation
32 ============
35 ============
33
36
@@ -56,7 +59,7 b' To install as a package use ``easy_insta'
56
59
57 easy_install mercurial_keyring
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 mercurial_keyring =
67 mercurial_keyring =
65
68
66 To install using individual file, download the
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 put the following in ``~/.hgrc`` (or ``/etc/mercurial/hgrc``):
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 [extensions]
75 [extensions]
73 hgext.mercurial_keyring = /path/to/mercurial_keyring.py
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 Password backend configuration
81 Password backend configuration
76 ==============================
82 ==============================
77
83
@@ -80,9 +86,9 b' without configuration. Still, if necessa'
80 ``~/keyringrc.cfg`` file (``keyringrc.cfg`` in the home directory of
86 ``~/keyringrc.cfg`` file (``keyringrc.cfg`` in the home directory of
81 the current user). Refer to keyring_ docs for more details.
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 single user may use more than one keyring-based script. Still, I am
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 Repository configuration (HTTP)
93 Repository configuration (HTTP)
88 ===============================
94 ===============================
@@ -117,8 +123,8 b' Repository configuration (SMTP)'
117 ===============================
123 ===============================
118
124
119 Edit either repository-local ``.hg/hgrc``, or ``~/.hgrc`` and set
125 Edit either repository-local ``.hg/hgrc``, or ``~/.hgrc`` and set
120 there all standard email and smtp properties, including smtp
126 there all standard email and smtp properties, including SMTP
121 username, but without smtp password. For example:
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 username = JoeDoe@gmail.com
138 username = JoeDoe@gmail.com
133 tls = true
139 tls = true
134
140
135 Just as in case of HTTP, you ``must`` set username, but ``must not``
141 Just as in case of HTTP, you *must* set username, but *must not* set
136 set password here to use the extension, in other cases it will revert
142 password here to use the extension, in other cases it will revert to
137 to the default behavior.
143 the default behavior.
138
144
139 Usage
145 Usage
140 =====
146 =====
@@ -152,7 +158,7 b' Implementation details'
152
158
153 The extension is monkey-patching the mercurial ``passwordmgr`` class
159 The extension is monkey-patching the mercurial ``passwordmgr`` class
154 to replace the find_user_password method. Detailed order of operations
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 Development
163 Development
158 ===========
164 ===========
General Comments 0
You need to be logged in to leave comments. Login now