Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • BackTrack 5 R2
  • Wine 1.4 / 1.5.5
  • Mozilla Firefox 12...
  • Ubuntu 11.04
  • Angry Birds 1.1.2.1
  • Ubuntu 10.04.4 LTS
  • Linux Kernel 3.4
  • Ubuntu Manual 10.10
  • Adobe Flash Player...
  • Pidgin 2.10.4
  • Home > Linux > Programming > Libraries

    mercurial_keyring 0.5.1

    Download button

    No screenshots available
    Downloads: 409  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Marcin Kasperski | More programs
    GPL / FREE
    May 19th, 2012, 09:43 GMT
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    mercurial_keyring description

    Mercurial Keyring Extension

    mercurial_keyring is a Mercurial extension that can be used to securely save HTTP and SMTP authentication passwords in password databases (Gnome Keyring, KDE KWallet, OSXKeyChain, specific solutions for Win32 and command line). This extension uses and wraps services of the keyring library.

    How does it work

    The extension prompts for the password on the first pull/push (in case of HTTP) or first email (in case of SMTP), just like it is done by default, but saves the password. On successive runs it checks for the username in .hg/hgrc, then for suitable password in the password database, and uses those credentials (if found).

    In case password turns out to be incorrect (either because it was invalid, or because it was changed on the server) or missing it just prompts the user again.

    Passwords are identified by the combination of username and remote repository url (for HTTP) or username and smtp server address (for SMTP), so they can be reused between repositories if they access the same remote repository.

    Installation

    Prerequisites

    Install the keyring library:

    easy_install keyring

    (or pip keyring). On Debian "Sid" the library can be also installed from the official archive (packages python-keyring and either python-keyring-gnome or python-keyring-kwallet).

    Extension installation

    There are two possible ways of installing the extension: using PyPi package, or using individual file.

    To install as a package use easy_install:

    easy_install mercurial_keyring

    and then enable it in ~/.hgrc (or /etc/mercurial/hgrc) using:

    [extensions]
    mercurial_keyring =


    To install using individual file, download the mercurial_keyring.py file, save it anywhere you like, and put the following in ~/.hgrc (or /etc/mercurial/hgrc):

    [extensions]
    hgext.mercurial_keyring = /path/to/mercurial_keyring.py


    Password backend configuration

    The library should usually pick the most appropriate password backend without configuration. Still, if necessary, it can be configured using ~/keyringrc.cfg file (keyringrc.cfg in the home directory of the current user). Refer to keyring docs for more details.

    I considered handling similar options in hgrc, but decided that single user may use more than one keyring-based script. Still, I am open to suggestions.

    Repository configuration (HTTP)

    Edit repository-local .hg/hgrc and save there the remote repository path and the username, but do not save the password. For example:

    [paths]
    myremote = https://my.server.com/hgrepo/someproject

    [auth]
    myremote.schemes = http https
    myremote.prefix = my.server.com/hgrepo
    myremote.username = mekk

    Simpler form with url-embedded name can also be used:

    [paths]
    bitbucket = https://User@bitbucket.org/User/project_name/


    Note: if both username and password are given in .hg/hgrc, extension will use them without using the password database. If username is not given, extension will prompt for credentials every time, also without saving the password.

    Repository configuration (SMTP)

    Edit either repository-local .hg/hgrc, or ~/.hgrc and set there all standard email and smtp properties, including SMTP username, but without SMTP password. For example:

    [email]
    method = smtp
    from = Joe Doe

    [smtp]
    host = smtp.gmail.com
    port = 587
    username = JoeDoe@gmail.com
    tls = true


    Just as in case of HTTP, you must set username, but must not set password here to use the extension, in other cases it will revert to the default behavior.

    Usage

    Configure the repository as above, then just hg pull, hg push, etc. You should be asked for the password only once (per every username+remote_repository_url combination).

    Similarly, for email, configure as above and just hg email. Again, you will be asked for the password once (per every username+email_server_name+email_server_port).

    Implementation details

    The extension is monkey-patching the mercurial passwordmgr class to replace the find_user_password method. Detailed order of operations is described in the comments inside the code.

    Development

    Development is tracked on BitBucket, see http://bitbucket.org/Mekk/mercurial_keyring/

    Additional notes

    Information about this extension is also available on Mercurial Wiki: http://mercurial.selenic.com/wiki/KeyringExtension


    Product's homepage

    Requirements:

    · Python
    · Mercurial

      


    TAGS:

    keyring password | mercurial keyring | Python library | mercurial | keyring | password



    HTML code for linking to this page:


    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM