{ "info": { "author": "St\u00e9phane Bard", "author_email": "stephane.bard@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Pyramid", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Version Control" ], "description": "hg_delivery README\n==================\n\nA one-click deployment tool written in python with `pyramid `_ web framework\n\n**current release : v_1_0**\n\nGlobal overview\n---------------\n\nhg_delivery is a web application who aims to simplify the delivery of small projects and helping people to quickly\nrevert to a previous stable release if something's wrong. This project targets people bothered by command line, looking\nfor a nice and simple web interface, able to manage multiple remote repositories. \n\ninspired from :\n\n - `like banana project `_\n\n\nfeatures list :\n\n - remote repository access *ssh only*\n\n - add/delete/edit project items\n\n - clip project on dashboard\n\n - display remote project summarize (last commit, current revision ...)\n\n - display the state of repository\n\n - update to a specific revision for remote repository\n\n - one/one repository compare\n\n - pushing or pulling on/from a remote repository\n\n - add additional task when updating a repository (*useful for flushing the cache* or *for gracefull apache*)\n\n - responsive design (thanks to bootstrap)\n\n - a scheduler is available to close ssh pool connection if none are used, it leaves clean connections, *thx to pyramid-scheduler*\n\n - a diff viewer or merge style *thx to mergely* \n\n - you can also create macros, and create in one single button a simple way to push to all. That way\n you can push to all acceptance platform or simply push all your commits to all your nodes.\n\n - some project may be removed from scope automation. This can be defined in project configuration \n (useful if some nodes are declared but stage as draft)\n\nMade for what ?\n---------------\n\nhg_delivery has been designed to simplify developper daily work.\n\n - If you developp php application, this can be useful to deliver your project (no reload expected)\n\n - In fact any other webapps made with other languages is suitable too.\n\n - If you need fine grain delivery and or immediate rollback\n\n - If you whish to manage external repository and change branch one a click\n\nLicensing\n---------\n\nCopyright (C) 2014 St\u00e9phane Bard \n\nhg_delivery is free software; you can redistribute it and/or modify it under the terms of the M.I.T License. The\noriginal author name should always be reminded as the original author.\n\nGetting Started\n---------------\n\n.. code-bloc::bash\n\n hg clone https://bitbucket.org/tuck/hg_delivery\n cd hg_delivery\n $VENV/bin/python setup.py develop\n $VENV/bin/initialize_hg_delivery_db development.ini\n $VENV/bin/pserve development.ini\n\n.. note:: please use production.ini file for production purpose :)\n\nSample usage\n------------\n\n.. image:: documentation/repoistories_illustration.jpg\n\nHowto Install\n-------------\n\n- on linux take care that libffi and libffi-dev is installed other why paramiko installer will just crash\n without a clear understanding\n\nfirst install python 3.5 or above on your system\n\nsudo apt-get install python\n\nthen make a virtual env\n\npyvenv3.5 venv_delivery\n\non debian or ubuntu system\nsudo apt-get install libffi libffi-dev\n\non redhat system\nyum install libffi libffi-devel\n\nsource ./venv_delivery/bin/activate\npython setup.py develop\n\nChangelog\n---------\n\n - v_0_1 :\n\n - first True release\n\n - known bug : cannot push/pull with another password than current node\n\n - v_0_2 :\n\n - casperjs use\n\n - known bug : cannot push/pull with another password than current node\n\n - v_0_3 :\n\n - fix bug with node password when push or pull\n\n - v_0_4 :\n\n - bug and typo fixes\n\n - v_0_5 :\n\n - add task feature with acl control\n\n - v_0_7 :\n\n - reuse logs to display delivery date\n\n - pypi delivery\n\n - v_0_8 :\n\n - add thread to handle multiple push or update in a single request\n\n - various bugfixes\n\n - v_0_9 :\n\n - macros system (raw way to define them)\n\n - user can also filter repository he didn't want to scan\n\n - administrator may finely define ACL per user\n\n - logs will now inherit from user and give better precision\n\n - mercurial 3.8 template syntax fix (jsonescape vs json)\n\n - bugfix : ACL might be uncorrectly used on previous release\n\n - test evolve as usual\n\n - add an sql_log_change.txt file to explain change from 0.8 to 0.9 (don't have any better mecanism actually\n (comparing models.py version could be a good start))\n\n - v_1_0 :\n\n - attach projects to a group. redefine navigation with groups. \n\n\n\n0.0\n---\n\n- Initial version", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/tuck/hg_delivery", "keywords": "web pyramid hg mercurial git", "license": "", "maintainer": "", "maintainer_email": "", "name": "hg_delivery", "package_url": "https://pypi.org/project/hg_delivery/", "platform": "", "project_url": "https://pypi.org/project/hg_delivery/", "project_urls": { "Homepage": "https://bitbucket.org/tuck/hg_delivery" }, "release_url": "https://pypi.org/project/hg_delivery/1.0.5/", "requires_dist": null, "requires_python": "", "summary": "HgDelivery is an easy way to deliver products for Mercurial and Git with a built in push/pull server, as well as repositories comparison", "version": "1.0.5" }, "last_serial": 2684113, "releases": { "0.7.2": [ { "comment_text": "", "digests": { "md5": "cb6df5c6dccbc062a70edcb2e29b557d", "sha256": "c11fb00f3ed343c86543bb95a8ba8069bd1c7fba42e3dd2ecef3ab2da74178dd" }, "downloads": -1, "filename": "hg_delivery-0.7.2.tar.gz", "has_sig": false, "md5_digest": "cb6df5c6dccbc062a70edcb2e29b557d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 299274, "upload_time": "2015-07-02T12:00:22", "url": "https://files.pythonhosted.org/packages/11/25/424be823d1893bd317dd23aee97c5ac17c92a49daa66f755e35cc3d8c07c/hg_delivery-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "b27a24b7916b24b50b25d08c8d00222e", "sha256": "94e9aa09ad17935b3a847a49b890d891ff3d2f29d63fdb35c5dcc7b930504382" }, "downloads": -1, "filename": "hg_delivery-0.7.3.tar.gz", "has_sig": false, "md5_digest": "b27a24b7916b24b50b25d08c8d00222e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 299591, "upload_time": "2015-07-14T20:28:29", "url": "https://files.pythonhosted.org/packages/45/3b/41898bd7c917043fd5c96cac467651984206359df91d6dc6f48d19ad91c7/hg_delivery-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "3a22cb9a03df9bc725a11e6948d56499", "sha256": "35bfa80de3cc68ff57dfffe280774a8a9287d9cb7796f20ef5bf8c10ae4f8615" }, "downloads": -1, "filename": "hg_delivery-0.7.4.tar.gz", "has_sig": false, "md5_digest": "3a22cb9a03df9bc725a11e6948d56499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 300258, "upload_time": "2015-08-02T16:02:35", "url": "https://files.pythonhosted.org/packages/f6/e1/5663a90436cabcef749694d45469c1ff8747d70a00300253479f111b0da9/hg_delivery-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "5bd32547530abfdbc821a06876008af4", "sha256": "6ad82a04c4a31ac874312f75af3ac18aefd4780a9d6bdd9cbe54d81125118003" }, "downloads": -1, "filename": "hg_delivery-0.7.5.tar.gz", "has_sig": false, "md5_digest": "5bd32547530abfdbc821a06876008af4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 301151, "upload_time": "2015-10-06T18:08:13", "url": "https://files.pythonhosted.org/packages/73/f6/0b3ed81264a4d8f783aa2e88e53f6a7626434fdc3193298a90067f114697/hg_delivery-0.7.5.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "556e6c6176ce33985b84637b3bd18179", "sha256": "9cedd6d4f773da0e83a5867f019e1a48d95bbc63cb5645170fe7e0feda4c64e4" }, "downloads": -1, "filename": "hg_delivery-0.8.tar.gz", "has_sig": false, "md5_digest": "556e6c6176ce33985b84637b3bd18179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 600221, "upload_time": "2016-01-02T13:46:43", "url": "https://files.pythonhosted.org/packages/1f/51/cbb15084327f4f9bc462d99075c967773f7fb6833dd3e4fea0ff609c8ae6/hg_delivery-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "14880366eabbe409ba7acf43cc726505", "sha256": "ee1d531dc23276d252bbddad1a87fd11158fd79afd12a54b229e47dd7e571845" }, "downloads": -1, "filename": "hg_delivery-0.8.1.tar.gz", "has_sig": false, "md5_digest": "14880366eabbe409ba7acf43cc726505", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 600237, "upload_time": "2016-01-02T13:58:30", "url": "https://files.pythonhosted.org/packages/1d/e6/4b6469d663d7a4bf1d0861f562c50ea84645af1e24867afc52f41edbc328/hg_delivery-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "5006e5ab809c862049cc29a98370deeb", "sha256": "ac613991ce2496a15cbdfb15626dc8437f682cd1697a71c3a5199054ec22990f" }, "downloads": -1, "filename": "hg_delivery-0.8.2.tar.gz", "has_sig": false, "md5_digest": "5006e5ab809c862049cc29a98370deeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 600249, "upload_time": "2016-01-02T14:23:50", "url": "https://files.pythonhosted.org/packages/b3/a3/a236fdd00b9d2eac1faea4399219fc2a0924c43566323fb26bf95eb6a163/hg_delivery-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "114e3391c8d66a73c950c5bc09e89ec6", "sha256": "dcf9ce32488726713fbd59f2f68f3ab5a091688013de3c9c6b0afe4a20deb642" }, "downloads": -1, "filename": "hg_delivery-0.8.3.tar.gz", "has_sig": false, "md5_digest": "114e3391c8d66a73c950c5bc09e89ec6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 600284, "upload_time": "2016-01-07T07:53:41", "url": "https://files.pythonhosted.org/packages/14/e8/55624c6117b9cf00e2aaead7e55a9b757a3d1d80a6b0706cca3c7ec7fd99/hg_delivery-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "cfce464c6cae98759f764aab5849ecc6", "sha256": "3474e6fdb5a9f4931c95903bb781b71ff5de27bfc4e8ec8349eab60700d7ad05" }, "downloads": -1, "filename": "hg_delivery-0.8.4.tar.gz", "has_sig": false, "md5_digest": "cfce464c6cae98759f764aab5849ecc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 600317, "upload_time": "2016-01-11T20:07:56", "url": "https://files.pythonhosted.org/packages/df/89/4fe52a74472ca331ec59672586073dd5a29772f2983cad342593fb425f55/hg_delivery-0.8.4.tar.gz" } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "627df3777f444a64e6a87414fd7f9558", "sha256": "85082cd5715f2ff54ccde332c140c706e5655c9180c93e46e619aa0c8d875acf" }, "downloads": -1, "filename": "hg_delivery-0.8.5.tar.gz", "has_sig": false, "md5_digest": "627df3777f444a64e6a87414fd7f9558", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 359936, "upload_time": "2016-01-11T20:12:47", "url": "https://files.pythonhosted.org/packages/52/d5/b75baae601fde9137c4555d3294c610c9ab4549286250c99b5b2bf1d8076/hg_delivery-0.8.5.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "6431e9e965c6b49e6491162e6f110b0b", "sha256": "96d60beb5d953e5d9c1b3181b3d0e013ccc6f72af190b9ec369852c6ac1ce6b5" }, "downloads": -1, "filename": "hg_delivery-0.9.0.tar.gz", "has_sig": false, "md5_digest": "6431e9e965c6b49e6491162e6f110b0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 369137, "upload_time": "2016-05-30T21:00:13", "url": "https://files.pythonhosted.org/packages/cf/90/53ee7c752134cac1abc3468b45ddb577cce25d90efb87557b1d161d56e8b/hg_delivery-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "932e677a0fb0922cf79320a47e9a07b6", "sha256": "2aeffcaf20d9d8179cf8330e7643f6fa39cf5040a7a4438a3a32591b95e7b47c" }, "downloads": -1, "filename": "hg_delivery-0.9.1.tar.gz", "has_sig": false, "md5_digest": "932e677a0fb0922cf79320a47e9a07b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 369798, "upload_time": "2016-06-04T20:16:22", "url": "https://files.pythonhosted.org/packages/09/7b/b92ee6661ae10dacacd41a6064a7dbeaff7cb0d9db73a6f298043798f18d/hg_delivery-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "912da2de2eef58673ffcafabdec5c8cc", "sha256": "834ea6b015eba1804634996fc7e1a22fda0c4f6d36efdcbdf6f8ae6c3f1b7e9f" }, "downloads": -1, "filename": "hg_delivery-0.9.2.tar.gz", "has_sig": false, "md5_digest": "912da2de2eef58673ffcafabdec5c8cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 369921, "upload_time": "2016-06-05T12:42:58", "url": "https://files.pythonhosted.org/packages/d2/4c/4b34abe5c4fc2249c2bf1243ae7c37f13522b351edee6a5c66c279ac39f6/hg_delivery-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "20590cf00a46f9cd28b9d2b7964c4047", "sha256": "98ae991c8c34c4a6b7c41f40775c698f373654f3a89a118ad4d1a2e7099ac9c5" }, "downloads": -1, "filename": "hg_delivery-0.9.3.tar.gz", "has_sig": false, "md5_digest": "20590cf00a46f9cd28b9d2b7964c4047", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 370149, "upload_time": "2016-06-17T17:08:04", "url": "https://files.pythonhosted.org/packages/b4/89/13b48e1b39461ce170b6c5a575200c859b3d7628a792b563c0a289c59c35/hg_delivery-0.9.3.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "047e9d7bd3e19ee914c9bffbfb70406f", "sha256": "a5c66af95d19e2e54fe5a99975f11325241cf8cc17d372a6480e7cfa85d61623" }, "downloads": -1, "filename": "hg_delivery-1.0.0.tar.gz", "has_sig": false, "md5_digest": "047e9d7bd3e19ee914c9bffbfb70406f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 390769, "upload_time": "2016-07-29T19:29:17", "url": "https://files.pythonhosted.org/packages/93/f8/d36e563e1194050aa541e3e5a85cd6d73249736d5b790c7fb0e8cd44c78e/hg_delivery-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "855162bc40a63b12fe8c907565b1a3d9", "sha256": "676e456ebac4a466bc7a10aad378afdcb802a37a29586a6aba1fddc04581e476" }, "downloads": -1, "filename": "hg_delivery-1.0.1.tar.gz", "has_sig": false, "md5_digest": "855162bc40a63b12fe8c907565b1a3d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 390767, "upload_time": "2016-07-29T20:33:26", "url": "https://files.pythonhosted.org/packages/67/9b/de4afaaf8c3e33e169eb50b8c691f771d9205b8065ac2524bcd9bee9a9f5/hg_delivery-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "26d5b5826c25cf676c78dca6c11a02e5", "sha256": "9b2cf9c7cd56fecb91cd343d1494ffafbbf99f87b1ea492770554bfd98672dbd" }, "downloads": -1, "filename": "hg_delivery-1.0.2.tar.gz", "has_sig": false, "md5_digest": "26d5b5826c25cf676c78dca6c11a02e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 392417, "upload_time": "2016-08-14T19:04:08", "url": "https://files.pythonhosted.org/packages/85/47/6b590adf92f3e653fa662c03e43ad69f1f1311066041dd49e8add6a8dd75/hg_delivery-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "f65b7ff0d2ef860d102a445bb2817553", "sha256": "cd4f5972a0bd5df0bdd9d2c94ac78c4245aa4daf65ff3d6483b38bd88363c27e" }, "downloads": -1, "filename": "hg_delivery-1.0.3.tar.gz", "has_sig": false, "md5_digest": "f65b7ff0d2ef860d102a445bb2817553", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 392431, "upload_time": "2016-10-23T18:01:13", "url": "https://files.pythonhosted.org/packages/a6/e4/200397e6be2deb2813b2c2f4659ac06615007a5f4b62f00448cc778fd5c4/hg_delivery-1.0.3.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "f51b5914670817dd6ae1285de36b5f59", "sha256": "2ad0984ffade2908a6c1e426e3a28336a698b368eb08b8a4e7992509ae1e1818" }, "downloads": -1, "filename": "hg_delivery-1.0.5.tar.gz", "has_sig": false, "md5_digest": "f51b5914670817dd6ae1285de36b5f59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 391847, "upload_time": "2017-03-05T17:03:49", "url": "https://files.pythonhosted.org/packages/42/af/ee141ada220204c857822483f2f3360884448bb3c9fb2decffb183f372a5/hg_delivery-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f51b5914670817dd6ae1285de36b5f59", "sha256": "2ad0984ffade2908a6c1e426e3a28336a698b368eb08b8a4e7992509ae1e1818" }, "downloads": -1, "filename": "hg_delivery-1.0.5.tar.gz", "has_sig": false, "md5_digest": "f51b5914670817dd6ae1285de36b5f59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 391847, "upload_time": "2017-03-05T17:03:49", "url": "https://files.pythonhosted.org/packages/42/af/ee141ada220204c857822483f2f3360884448bb3c9fb2decffb183f372a5/hg_delivery-1.0.5.tar.gz" } ] }