{ "info": { "author": "Ryan Kelly", "author_email": "ryan@rfk.id.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7" ], "description": "git_remote_hg: access hg repositories as git remotes\n=====================================================\n\nAre you a git junkie but need to work on projects hosted in mercurial repos?\nAre you too stubborn, lazy or maladjusted to learn another VCS tool? I\nknow I am. But fear not! This script will let you interact with mercurial\nrepositories as if they were ordinary git remotes.\n\nGit allows pluggable remote repository protocols via helper scripts. If you\nhave a script named \"git-remote-XXX\" then git will use it to interact with\nremote repositories whose URLs are of the form XXX::some-url-here. So you\ncan imagine what a script named git-remote-hg will do.\n\nYes, this script provides a remote repository implementation that communicates\nwith mercurial. Install it and you can do::\n\n $ git clone hg::https://hg.example.com/some-mercurial-repo\n $ cd some-hg-repo\n $ # hackety hackety hack\n $ git commit -a\n $ git push\n\nTada! Your commits from git will show up in the remote mercurial repo, and\nnone of your co-workers will be any the wiser.\n\nAll the hard work of interoperating between git and mercurial is done by the\nawesome hg-git module. All the hard work of speaking the git-remote-helper\nprotocol is done by git's own http-protocol handlers. This script just hacks\nthem together to make it all work a little easier.\n\nFor each remote mercurial repository, you actually get *two* additional\nrepositories hidden inside your local git repo:\n\n * .git/hgremotes/[URL]: a local hg clone of the remote repo\n * .git/hgremotes/[URL]/.hg/git: a bare git repo managed by hg-git\n\nWhen you \"git push\" from your local git repo into the remote mercurial repo,\nhere is what git-remote-hg will do for you:\n\n * use git-remote-http to push into .git/hgremotes/[URL]/.hg/git\n * call \"hg gimport\" to import changes into .git/hgremotes/[URL]\n * call \"hg push\" to push them up to the remote repo\n\nLikewise, when you \"git pull\" from the remote mercurial repo into your local\ngit repo, here is what happens under the hood:\n\n * call \"hg pull\" to pull changes from the remote repo\n * call \"hg gexport\" to export them into .git/hgremotes/[URL]/.hg/git\n * use git-remote-http to pull them into your local repo\n\nUgly? Sure. Hacky? You bet. But it seems to work remarkably well.\n\nBy the way, there is apparently a native implementation of a git-remote-hg\ncommand in development:\n\n https://plus.google.com/115991361267198418069/posts/Jpzi24bYU91\n\nSince the git-remote-helper protocol is pretty simple, it should be possible\nto switch back and forth between that implementation and this one without any\nhassle.\n\nWARNINGS:\n\n * Pushing multiple branches into the remote is currently broken.\n\n hg-git seems to map git branches onto mercurial bookmarks, but I'm not\n sure of all the details. I don't need it so I haven't tried to make it\n work. Don't do it.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/rfk/git-remote-hg", "keywords": "git hg mercurial", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "git-remote-hg3", "package_url": "https://pypi.org/project/git-remote-hg3/", "platform": "", "project_url": "https://pypi.org/project/git-remote-hg3/", "project_urls": { "Homepage": "http://github.com/rfk/git-remote-hg" }, "release_url": "https://pypi.org/project/git-remote-hg3/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "access hg repositories as git remotes", "version": "0.1.1" }, "last_serial": 3646409, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "6cc1a25733c0a4243704e3a0f7b26a43", "sha256": "a7c35741a6da6bd2cdaca30fc611a35597b0c2e65e8c1a295ecdc8b11bbcbe01" }, "downloads": -1, "filename": "git_remote_hg3-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6cc1a25733c0a4243704e3a0f7b26a43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10405, "upload_time": "2017-05-07T15:37:14", "url": "https://files.pythonhosted.org/packages/4a/8c/4720f6c2a92390857718e8ee407f76c3def355b8700bdaf88d3ab9e6f1b8/git_remote_hg3-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a63ef01d06f2e49195af0a052fd58d6", "sha256": "e202a9555294b40864f1a9ac525d50529ffa17bd31ce04a0cc8a7b81821c1605" }, "downloads": -1, "filename": "git-remote-hg3-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0a63ef01d06f2e49195af0a052fd58d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22995, "upload_time": "2017-05-07T15:34:28", "url": "https://files.pythonhosted.org/packages/7f/e6/87688bb37507dcbf5fd4a51a66c299eb7752b0a43d6598062aa832bb0020/git-remote-hg3-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6cc1a25733c0a4243704e3a0f7b26a43", "sha256": "a7c35741a6da6bd2cdaca30fc611a35597b0c2e65e8c1a295ecdc8b11bbcbe01" }, "downloads": -1, "filename": "git_remote_hg3-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6cc1a25733c0a4243704e3a0f7b26a43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10405, "upload_time": "2017-05-07T15:37:14", "url": "https://files.pythonhosted.org/packages/4a/8c/4720f6c2a92390857718e8ee407f76c3def355b8700bdaf88d3ab9e6f1b8/git_remote_hg3-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a63ef01d06f2e49195af0a052fd58d6", "sha256": "e202a9555294b40864f1a9ac525d50529ffa17bd31ce04a0cc8a7b81821c1605" }, "downloads": -1, "filename": "git-remote-hg3-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0a63ef01d06f2e49195af0a052fd58d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22995, "upload_time": "2017-05-07T15:34:28", "url": "https://files.pythonhosted.org/packages/7f/e6/87688bb37507dcbf5fd4a51a66c299eb7752b0a43d6598062aa832bb0020/git-remote-hg3-0.1.1.tar.gz" } ] }