{ "info": { "author": "Cheng Soon Ong", "author_email": "chengsoon.ong@anu.edu.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# wib\nA simplified common interface to both ```git``` and ```hg```.\n\nAbout the name [wib](https://en.wikipedia.org/wiki/Worse_is_better)\n\nThe idea is to have a unified interface to two currently popular distributed version control\nsystems (and suggest sensible defaults). The aim is to have a small set of commands that\ncover the use cases for users who do not use version control extensively, with a set of\nsemantically meaningful commands.\n\n**Everybody should be using version control regularly!**\n\n## Installation\n\n $ pip install wib\n\nIf you already have wib installed, update by:\n\n $ pip install --upgrade wib\n\n## Simplified view of distributed version control\n\nThere are three locations to keep in mind:\n\n- Local file system (no versioning, view as usual using your standard viewer)\n- Local repository (this is often the location that trips up users)\n- Remote repository (we assume this to be somewhere like github.com, which has a nice\n interface for browsing.)\n\nThe key idea behind distributed version control is that the local repository contains everything,\nand hence in theory you do not need a \"server\". However, for most new users, since the local\nrepository is hard to view and browse, it is an opaque and confusing mess. We hope to limit\nthe commands to a subset of the functionality to reduce confusion.\n\nConsider the three locations listed above.\nTo synchronise between the local and remote repositories,\nuse the pair of commands ```up``` and ```down```.\nThe ```down``` command also updates the local file system automatically. ```up``` and ```down```\nare most often used for communicating with your co-authors.\nThe idea behind the local repository is to be able to maintain versions even when you are\noffline. Consider the situation when you are editing a particular file, and would like\nto version it, this is when you ```commit``` a version it to the repository.\nIf you have made a mistake you can ```revert``` back to the previous committed version.\n\n## Commands\n\nTo learn how to use it:\n\n $ wib --help\n\nSummary of commands\n\n**up/down** - Synchronise local repository to remote repository using **up**load\n (and vice versa using **down**load)\n\n $ wib up\n $ wib down\n $ wib down git@github.com:myname/myrepo.git\n\n**track/untrack** - Keep track of this file / Forget about tracking this file. Tracking does not create or delete the actual file, it only tells the version control system whether to maintain versions (to keep track) of the file.\n\n $ wib track myfile\n $ wib untrack myfile\n\n**commit** - Commit saved changes to the repository. Use ```--name``` to tag.\n\n $ wib commit \"why I am saving this version\"\n $ wib commit --name v0.3 \"a release with cool new features\"\n\n**revert** - Revert changed files back to the version in the repository\n\n $ wib revert myfile\n\n**status** - See which files are changed, checked in, and uploaded.\n\n $ wib status\n\n**log** - See history\n\n $ wib log\n\n**diff** - See changes that occurred since last check in.\n\n $ wib diff myfile\n\n### Starting a new project/repository\n\nWe suggest to initialise a repository on a remote server, for example\n[github](https://github.com/), [bitbucket](https://bitbucket.org) or\n[gitlab](https://about.gitlab.com).\nThen copy the URL of the repository (not the website) from the server and use **down**.\n\nFor example, to get a local copy of this repository\n\n $ wib down git@github.com:chengsoonong/wib.git\n\n\n### Developer notes\n\nInstructions to upload to Pypi from [the official docs](https://packaging.python.org/tutorials/packaging-projects/).\n\n##### Build\nMake sure you have the latest versions of setuptools and wheel installed:\n```\n$ conda update setuptools wheel\n```\nNow run this command from the same directory where setup.py is located:\n```\n$ python setup.py sdist bdist_wheel\n```\nThis command should output a lot of text and once completed should generate two files in the dist directory:\n```\ndist/\n wib-0.2.10-py2.py3-none-any.whl\n wib-0.2.10.tar.gz\n```\n##### Upload and release:\n\nNeed to set up ```~/.pypirc```, see for example [this blog post](http://blog.irashid.com/how-to-register-you-python-package-in-pypi/).\n\nUpload using [twine](https://packaging.python.org/key_projects/#twine).\n\n**PyPI TEST**\n\n $ python -m twine upload -r testpypi dist/*\n\nCheck that it works by installing:\n\n $ python -m pip install --index-url https://test.pypi.org/simple --no-deps wib\n\n**PyPI LIVE**\n\n $ python -m twine upload dist/*\n\n\n\n### References\nThis package is just a wrapper on top of:\n\n- ```git```\n- ```hg```\n- ```git lfs``` (TODO)\n- Mercurial large files extension (TODO)\n\nLonger term, automated (and transparent) detection and handling of binary files\nwill simplify the user experience.\n\nThe unified interface is motivated by:\n\n- gitless, and paper by Santiago Perez De Rosso and Daniel Jackson, Purposes, Concepts, Misfits, and a Redesign of Git, OOPSLA, 2016\n- [repo](http://source.android.com/source/using-repo.html)\n- binary handling in [subversion](http://svnbook.red-bean.com/en/1.6/svn.forcvs.binary-and-trans.html)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chengsoonong/wib", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "wib", "package_url": "https://pypi.org/project/wib/", "platform": "any", "project_url": "https://pypi.org/project/wib/", "project_urls": { "Homepage": "https://github.com/chengsoonong/wib" }, "release_url": "https://pypi.org/project/wib/0.2.10/", "requires_dist": [ "click" ], "requires_python": "", "summary": "Simplified common interface to git and hg", "version": "0.2.10", "yanked": false, "yanked_reason": null }, "last_serial": 6027363, "releases": { "0.2.10": [ { "comment_text": "", "digests": { "md5": "2239d7d07ec4533a91dd1e284370d269", "sha256": "e111e80040d889510d077d4780919586ed14270c66c16b1fcf54689dee561b9c" }, "downloads": -1, "filename": "wib-0.2.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2239d7d07ec4533a91dd1e284370d269", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18067, "upload_time": "2019-10-25T03:42:07", "upload_time_iso_8601": "2019-10-25T03:42:07.539539Z", "url": "https://files.pythonhosted.org/packages/4e/98/dd349923e87f16676db5ddbb4ef7c72ddacfc35aeac7d031eb06af727dbc/wib-0.2.10-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b6b91f9f90bf24ad99c341f021e51aed", "sha256": "cf838a4a7408b8fcdb99bde2ac20789fa9a20d58684e203a559b7486f23d11eb" }, "downloads": -1, "filename": "wib-0.2.10.tar.gz", "has_sig": false, "md5_digest": "b6b91f9f90bf24ad99c341f021e51aed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5777, "upload_time": "2019-10-25T03:42:09", "upload_time_iso_8601": "2019-10-25T03:42:09.325901Z", "url": "https://files.pythonhosted.org/packages/67/99/421069334d128f125c4006b9ade11494b8ff4e9738eaa65bb8cd027a7e83/wib-0.2.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ab3d71fb30add76283fe437ce0ccdb35", "sha256": "4e9b16776e20335297938a70fdb036001f0f7363921b013801dbf059a87b84e8" }, "downloads": -1, "filename": "wib-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ab3d71fb30add76283fe437ce0ccdb35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4953, "upload_time": "2017-06-20T00:58:58", "upload_time_iso_8601": "2017-06-20T00:58:58.876333Z", "url": "https://files.pythonhosted.org/packages/c4/f1/ef907d14fbd5cd53d8e507d3664eaeb349ba66ab38c58b06508e28088be8/wib-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "a95fec1d4ce0094350cb486dabbf83e2", "sha256": "d46efbc0777e1ffba37a028d41b457414b7988222d96b2bdddde1e626cb3b6c2" }, "downloads": -1, "filename": "wib-0.2.4.tar.gz", "has_sig": false, "md5_digest": "a95fec1d4ce0094350cb486dabbf83e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5131, "upload_time": "2017-06-20T01:20:04", "upload_time_iso_8601": "2017-06-20T01:20:04.041688Z", "url": "https://files.pythonhosted.org/packages/d8/9d/9cb279ec4a36b52f9993fce104069a9421246c4182d10e4fc192fe713076/wib-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "e13172288bf7413aa816295656b73e0c", "sha256": "2f860b8f4426a0df4de185974ab9f57debec3d8342397a69d87249166e5dbeae" }, "downloads": -1, "filename": "wib-0.2.5.tar.gz", "has_sig": false, "md5_digest": "e13172288bf7413aa816295656b73e0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5080, "upload_time": "2017-06-20T01:24:57", "upload_time_iso_8601": "2017-06-20T01:24:57.687257Z", "url": "https://files.pythonhosted.org/packages/ed/47/b372d7186691cc437d10783471cc01ec254ccb5834f29d24981e9a147041/wib-0.2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "220bbf458891c4dd2625d3c4dde4fbd9", "sha256": "e9d99ddc390afc65e9be76eac73d66fd6bfc15253474a0ef4fe0155ac2e54525" }, "downloads": -1, "filename": "wib-0.2.6.tar.gz", "has_sig": false, "md5_digest": "220bbf458891c4dd2625d3c4dde4fbd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5133, "upload_time": "2017-06-20T06:51:27", "upload_time_iso_8601": "2017-06-20T06:51:27.292116Z", "url": "https://files.pythonhosted.org/packages/48/e3/bc1758a67191e9ad086a08a1365d3c6f3f14e1988c92ea4a27b3a4246caf/wib-0.2.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "a1f6582dee84fa4f366749daf8912b65", "sha256": "e82ee5a65597e2906d11ef47beceb343783845c3ebb1bd9ccc9b2588efc46811" }, "downloads": -1, "filename": "wib-0.2.7.tar.gz", "has_sig": false, "md5_digest": "a1f6582dee84fa4f366749daf8912b65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5232, "upload_time": "2017-06-20T10:40:17", "upload_time_iso_8601": "2017-06-20T10:40:17.174474Z", "url": "https://files.pythonhosted.org/packages/87/86/1fc0146a1b5103629f4b3e7899e8010d36fee50d782b9f781b2c2a47dc04/wib-0.2.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "7ce24ba0d8811707caedeae0d8fb6a4d", "sha256": "bb26c045759db4c1c7f241012173b9a4d750b045e30ba910bf55a4d5ad202613" }, "downloads": -1, "filename": "wib-0.2.8.tar.gz", "has_sig": false, "md5_digest": "7ce24ba0d8811707caedeae0d8fb6a4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5250, "upload_time": "2017-07-04T00:57:34", "upload_time_iso_8601": "2017-07-04T00:57:34.740899Z", "url": "https://files.pythonhosted.org/packages/00/7f/506478b2e703959ed2cb18aba827629c8e58865d20224352eb4f8a4ee923/wib-0.2.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "cb4e37a43f577c61542686f84b5b1a49", "sha256": "63a2ee9da64444257a8134efe6bc97a7bec1714f76ae13bdbddc908d15756c68" }, "downloads": -1, "filename": "wib-0.2.9.tar.gz", "has_sig": false, "md5_digest": "cb4e37a43f577c61542686f84b5b1a49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5228, "upload_time": "2017-09-26T05:49:37", "upload_time_iso_8601": "2017-09-26T05:49:37.161997Z", "url": "https://files.pythonhosted.org/packages/e7/b2/0623ed131140b6fbedfed2f7d2640caa27258185d0f108b193cf1113e745/wib-0.2.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2239d7d07ec4533a91dd1e284370d269", "sha256": "e111e80040d889510d077d4780919586ed14270c66c16b1fcf54689dee561b9c" }, "downloads": -1, "filename": "wib-0.2.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2239d7d07ec4533a91dd1e284370d269", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18067, "upload_time": "2019-10-25T03:42:07", "upload_time_iso_8601": "2019-10-25T03:42:07.539539Z", "url": "https://files.pythonhosted.org/packages/4e/98/dd349923e87f16676db5ddbb4ef7c72ddacfc35aeac7d031eb06af727dbc/wib-0.2.10-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b6b91f9f90bf24ad99c341f021e51aed", "sha256": "cf838a4a7408b8fcdb99bde2ac20789fa9a20d58684e203a559b7486f23d11eb" }, "downloads": -1, "filename": "wib-0.2.10.tar.gz", "has_sig": false, "md5_digest": "b6b91f9f90bf24ad99c341f021e51aed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5777, "upload_time": "2019-10-25T03:42:09", "upload_time_iso_8601": "2019-10-25T03:42:09.325901Z", "url": "https://files.pythonhosted.org/packages/67/99/421069334d128f125c4006b9ade11494b8ff4e9738eaa65bb8cd027a7e83/wib-0.2.10.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }