{ "info": { "author": "Marcin Kasperski", "author_email": "Marcin.Kasperski@mekk.waw.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: DFSG approved", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Topic :: Software Development :: Version Control" ], "description": ".. -*- mode: rst -*-\n\n====================================\nMercurial Dynamic Username\n====================================\n\nUse different commit username per directory tree.\n\nWith this extension you may commit as ``John Smith\n`` in repositories below ``~/work``, and as ``Johny\n`` in code under ``~/hobby`` - and set this\nrule once, in ``~/.hgrc``.\n\n.. contents::\n :local:\n :depth: 2\n\n.. sectnum::\n\nExample\n=====================\n\nInstall the extension as described below.\n\nWrite in your ``~/.hgrc``::\n\n [extensions]\n mercurial_dynamic_username =\n\n [dynamic_username]\n work.location = ~/work\n work.username = John Smith \n hobby.location = ~/hobby ~/blogging\n hobby.username = Johny \n\nand just commit. In any repository placed below ``~/work`` you will commit as\n``John Smith``, in repos below ``~/hobby`` as ``Johny``, elsewhere default\nsetting (``username`` from ``[ui]``) will be used.\n\nConfiguration syntax\n=====================\n\nAll settings are defined in ``[dynamic_username]`` section, and have\nthe following form::\n\n \u00absomelabel\u00bb.location = \u00ablist of directory names\u00bb\n \u00absomelabel\u00bb.username = \u00abusername used there\u00bb\n\nLabels are used only to join pairs of those settings together.\n\nDirectory names specified in ``.location`` are space or colon\nseparated, and can be quoted. Repository matches the rule if it\nbelongs to the directory tree(s) specified here. Tildas (``~/..`` and\n``~john/...``) are properly expanded.\n\nUsernames have the same syntax as standard ``username``.\n\nDefining ``.location`` without paired ``.username`` asks extension to\nrevert to standard username, for example::\n\n [ui]\n username = Jake \n\n [dynamic_username]\n work.location = ~/work\n work.username = John Smith \n open.location = ~/work/open-source\n\nwill commit as ``John Smith`` in ``~/work/libs/veryimportant``, but\nwill revert to default ``Jake`` in ``~/work/open-source/libshared``.\n\nMatch priority\n==================================================\n\nIf more than one location matches repository, longest one is used\n(like in the ``open-source`` example above). *Longest* is selected\nusing actual canonical path after tilda expansion (``~/work/sth`` is\nlonger than ``/home/littlejohny/work``).\n\nDynamic usernames currently always win against ``[ui]``-section\n``username``, even if the latter is defined in per-repository\n``.hg/hgrc``. I would gladly give priority to the latter, but I have\nno idea how to detect that without re-parsing the configuration.\n\nTesting configuration\n==================================================\n\nYou can test your configuration by callling::\n\n hg showconfig ui.username\n\n(results should vary depending on the current working directory).\nHandy way to compare::\n\n hg --cwd ~/work/libs/acme showconfig ui.username\n hg --cwd ~/hobby/blogging showconfig ui.username\n\nInstallation\n=================================================\n\nLinux/Unix (from PyPI)\n~~~~~~~~~~~~~~~~~~~~~~\n\nIf you have working ``pip`` or ``easy_install``::\n\n pip install --user mercurial_dynamic_username\n\nor maybe::\n\n sudo pip install mercurial_dynamic_username\n\n(or use ``easy_install`` instead of ``pip``). Then activate by::\n\n [extensions]\n mercurial_dynamic_username =\n\nTo upgrade, repeat the same command with ``--upgrade`` option, for\nexample::\n\n pip install --user --upgrade mercurial_dynamic_username\n\nLinux/Unix (from source)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you don't have ``pip``, or wish to follow development more closely:\n\n- clone both this repository and `mercurial_extension_utils`_ and put\n them in the same directory, for example::\n\n cd ~/sources\n hg clone https://bitbucket.org/Mekk/mercurial-extension_utils/\n hg clone https://bitbucket.org/Mekk/mercurial-dynamic_username/\n\n- update to newest tags,\n\n- activate by::\n\n [extensions]\n mercurial_dynamic_username = ~/sources/mercurial-dynamic_username/mercurial_dynamic_username.py\n\nTo upgrade, pull and update.\n\nNote that directory names matter. See `mercurial_extension_utils`_ for\nlonger description of this kind of installation.\n\nWindows\n~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you have any Python installed, you may install with ``pip``::\n\n pip install mercurial_dynamic_username\n\nStill, as Mercurial (whether taken from TortoiseHg_, or own package)\nuses it's own bundled Python, you must activate by specifying the path::\n\n [extensions]\n mercurial_dynamic_username = C:/Python27/Lib/site-packages/mercurial_dynamic_username.py\n ;; Or wherever pip installed it\n\nTo upgrade to new version::\n\n pip --upgrade mercurial_dynamic_username\n\nIf you don't have any Python, clone repositories::\n\n cd c:\\hgplugins\n hg clone https://bitbucket.org/Mekk/mercurial-extension_utils/\n hg clone https://bitbucket.org/Mekk/mercurial-dynamic_username/\n\nupdate to tagged versions and activate by path::\n\n [extensions]\n mercurial_dynamic_username = C:/hgplugins/mercurial-dynamic_username/mercurial_dynamic_username.py\n ;; Or wherever you cloned\n\nSee `mercurial_extension_utils`_ documentation for more details on\nWindows installation. \n\n.. note::\n\n Directory names matter. If ``mercurial_dynamic_username.py`` can't find\n ``mercurial_extension_utils.py`` in system path, it looks for it in\n its own directory, in ``../mercurial_extension_utils``, and in\n ``../extension_utils``.\n\n\nHistory\n==================================================\n\nSee `HISTORY.txt`_\n\nDevelopment, bug reports, enhancement suggestions\n===================================================\n\nDevelopment is tracked on BitBucket, see \nhttp://bitbucket.org/Mekk/mercurial-dynamic_username/\n\nUse BitBucket issue tracker for bug reports and enhancement\nsuggestions.\n\nAdditional notes\n================\n\nInformation about this extension is also available\non Mercurial Wiki: http://mercurial.selenic.com/wiki/DynamicUsernameExtension\n\nCheck also `other Mercurial extensions I wrote`_.\n\n.. _other Mercurial extensions I wrote: http://mekk.bitbucket.io/mercurial.html\n\n.. _Mercurial: http://mercurial.selenic.com\n.. _HISTORY.txt: http://bitbucket.org/Mekk/mercurial-dynamic_username/src/tip/HISTORY.txt\n.. _mercurial_extension_utils: https://bitbucket.org/Mekk/mercurial-extension_utils/\n.. _TortoiseHg: http://tortoisehg.bitbucket.org/\n\n.. |drone-badge| \n image:: https://drone.io/bitbucket.org/Mekk/mercurial-dynamic_username/status.png\n :target: https://drone.io/bitbucket.org/Mekk/mercurial-dynamic_username/latest\n :align: middle\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/Mekk/mercurial-dynamic_username", "keywords": "mercurial hg username extension", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "mercurial_dynamic_username", "package_url": "https://pypi.org/project/mercurial_dynamic_username/", "platform": "", "project_url": "https://pypi.org/project/mercurial_dynamic_username/", "project_urls": { "Homepage": "http://bitbucket.org/Mekk/mercurial-dynamic_username" }, "release_url": "https://pypi.org/project/mercurial_dynamic_username/1.0.7/", "requires_dist": null, "requires_python": "", "summary": "Mercurial Dynamic Username Extension", "version": "1.0.7" }, "last_serial": 4453000, "releases": { "0.6.0": [ { "comment_text": "", "digests": { "md5": "b013b7632f5414bd863dfa4031c89a7d", "sha256": "ff323df116ab5f2e7642627311fd8b59559be7fba61a4abd8b00f4c2c78cf049" }, "downloads": -1, "filename": "mercurial_dynamic_username-0.6.0.tar.gz", "has_sig": false, "md5_digest": "b013b7632f5414bd863dfa4031c89a7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4757, "upload_time": "2015-10-12T08:48:53", "url": "https://files.pythonhosted.org/packages/89/d5/4f4e1fea417a87aa7be0b21fd76a8ce9c09ac4ab65366c4d566b3bacddc2/mercurial_dynamic_username-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "8bcd06d93e7f0b8a23883e306faa92d8", "sha256": "83ff409d26a867fbb1cd4017f5c563d9a3bca658fc8708f46967ac6e3f2b47d8" }, "downloads": -1, "filename": "mercurial_dynamic_username-0.7.0.tar.gz", "has_sig": false, "md5_digest": "8bcd06d93e7f0b8a23883e306faa92d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5006, "upload_time": "2015-10-13T21:23:52", "url": "https://files.pythonhosted.org/packages/b9/df/1945d357869fb9a09e0970276468f5dc01b838e8b3cf7767294c1375edc3/mercurial_dynamic_username-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "c36b75b50c6620ccad15de5bf2cdb515", "sha256": "d298c4a8feffb4f974a52d4f8549931b171d60395191452c7fd5ffb60703bea4" }, "downloads": -1, "filename": "mercurial_dynamic_username-0.8.0.tar.gz", "has_sig": false, "md5_digest": "c36b75b50c6620ccad15de5bf2cdb515", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6095, "upload_time": "2015-10-20T00:31:27", "url": "https://files.pythonhosted.org/packages/7d/a0/19234abc35a66ba730f8769c43ecab80a57b72070004e922b2520119565c/mercurial_dynamic_username-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "f35cf4f30ba76050bbe0608a5d69694c", "sha256": "f05397ddd0eab2a740eb1a6af3a858330aa715265deebb1de2ba4156a7bcaca5" }, "downloads": -1, "filename": "mercurial_dynamic_username-0.8.1.tar.gz", "has_sig": false, "md5_digest": "f35cf4f30ba76050bbe0608a5d69694c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6089, "upload_time": "2015-10-20T06:42:29", "url": "https://files.pythonhosted.org/packages/b9/e6/506c4d4a1417c60389fed5c4d5311498890bd415d4b8529b90c95778476c/mercurial_dynamic_username-0.8.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b2b559c746ad5ec2f38e778647b2828c", "sha256": "3d440ce0f83e9addc7d29a025e011ccd2455f37202afd9ed95ad7ee609d0f6d4" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b2b559c746ad5ec2f38e778647b2828c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6261, "upload_time": "2015-10-28T22:45:12", "url": "https://files.pythonhosted.org/packages/12/88/dfb00a2201c0fa7714e98206fc971dc845ffc49e6aff59eb7d9359a739d0/mercurial_dynamic_username-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d9c4010f6a7032467f7ec7b80b05cf07", "sha256": "9586920bee332adce92b4cc51383a76101237be083f13bac1f402ea6331437d3" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d9c4010f6a7032467f7ec7b80b05cf07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6339, "upload_time": "2015-12-05T21:39:10", "url": "https://files.pythonhosted.org/packages/f8/cd/982114a9215abfbdb95ab823566caa132e9734b3138835ada5cb777a3c4a/mercurial_dynamic_username-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "d6ab1e84cf30c5ba03271c7bae1ac67a", "sha256": "d2fd623a7ba1cf299af3e6c601cad803e2b5220be518343c80ed677bcef3e57c" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.2.tar.gz", "has_sig": false, "md5_digest": "d6ab1e84cf30c5ba03271c7bae1ac67a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6373, "upload_time": "2016-03-10T22:46:20", "url": "https://files.pythonhosted.org/packages/4b/91/c2e90bb886bb054fb40843c0dc11019007acd41a563b94cb614f0cba79e2/mercurial_dynamic_username-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "18d1cbc53d49a28572ee23c76b9a2d62", "sha256": "2bc1aece8d2afe7d1f264958dad5b3a5e4e263d0a23707fb26bac48e123d209d" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.3.tar.gz", "has_sig": false, "md5_digest": "18d1cbc53d49a28572ee23c76b9a2d62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6384, "upload_time": "2016-11-13T18:45:03", "url": "https://files.pythonhosted.org/packages/f0/1c/ab3eef23d9d648d18f1ccc77290bc6713c20543082994d1b80687e82576b/mercurial_dynamic_username-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "44aaf94b5e10a30918487d2f9205113e", "sha256": "62e004dd228db93562e7a43c813071f3c464685d14bf1368b20bb7c428e14e9b" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.4.tar.gz", "has_sig": false, "md5_digest": "44aaf94b5e10a30918487d2f9205113e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6311, "upload_time": "2017-05-18T14:52:43", "url": "https://files.pythonhosted.org/packages/c5/fe/247236021335a2138f173094b7d22f84649726e200612e2740daf0b148eb/mercurial_dynamic_username-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "108566d69546bb56d36c47c941016a0b", "sha256": "3daa3084d17fb8fcda6d19901ffd28b12547a2455650eed87733838f199711e6" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.5.tar.gz", "has_sig": false, "md5_digest": "108566d69546bb56d36c47c941016a0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6135, "upload_time": "2018-05-26T00:24:18", "url": "https://files.pythonhosted.org/packages/ee/bf/08920ec90b0396f4a92ecc1960a3b2841e1fbff6348721e3e2d3bb4c76c0/mercurial_dynamic_username-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "8ee6890674f018b8d8c627b42be5a9e0", "sha256": "7540832403e905e36ac8381b6c806df1fc883aed564322653a20a72f3c20e8c3" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.6.tar.gz", "has_sig": false, "md5_digest": "8ee6890674f018b8d8c627b42be5a9e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6152, "upload_time": "2018-08-03T23:10:11", "url": "https://files.pythonhosted.org/packages/8f/63/ec97f3690fcbbf47a66abe60a29e152fbd450f400492a689cfff6f470514/mercurial_dynamic_username-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "1eb4a5a353c615c0d028d782ac305fa5", "sha256": "4903db32ff0f5dcb4cd3a2c4d5748d0a626b5e6c7ba85ec13d2c9d29a9f9c8c4" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.7.tar.gz", "has_sig": false, "md5_digest": "1eb4a5a353c615c0d028d782ac305fa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6308, "upload_time": "2018-11-05T13:55:32", "url": "https://files.pythonhosted.org/packages/fc/0a/5debf48d05f881c05c8966b5d0a7278bfdfa0d6d98952e6ea14628ed532d/mercurial_dynamic_username-1.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1eb4a5a353c615c0d028d782ac305fa5", "sha256": "4903db32ff0f5dcb4cd3a2c4d5748d0a626b5e6c7ba85ec13d2c9d29a9f9c8c4" }, "downloads": -1, "filename": "mercurial_dynamic_username-1.0.7.tar.gz", "has_sig": false, "md5_digest": "1eb4a5a353c615c0d028d782ac305fa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6308, "upload_time": "2018-11-05T13:55:32", "url": "https://files.pythonhosted.org/packages/fc/0a/5debf48d05f881c05c8966b5d0a7278bfdfa0d6d98952e6ea14628ed532d/mercurial_dynamic_username-1.0.7.tar.gz" } ] }