{ "info": { "author": "Carmen Bianca Bakker", "author_email": "carmen@carmenbianca.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Documentation", "Topic :: Text Processing", "Topic :: Text Processing :: Markup", "Topic :: Utilities" ], "description": "changelogdir\n============\n\nGenerate a changelog from a directory structure to avoid merge conflicts.\n\n- Free software: GPLv3+\n\n- Documentation: https://carmenbianca.gitlab.io/changelogdir\n\n- Source code: https://gitlab.com/carmenbianca/changelogdir\n\n- PyPI: https://pypi.python.org/pypi/changelogdir\n\n- Python: 3.4+\n\n- Author: Carmen Bianca Bakker \n\nchangelogdir is a simple utility that allows you to turn a directory structure\ninto a changelog file. Every feature/bugfix/whatever gets its own file to list\nchanges in, thereby avoiding merge conflict crises such as described `here\n`_.\n\nchangelogdir is partially inspired by\n`Keep a Changelog `_.\n\nA simple example\n----------------\n\nSay we have a ``CHANGELOG.md`` in our master branch that looks like this::\n\n # Changelog\n\n ## 1.0.0\n\n - Added support for TempleOS.\n\nAnd Developer A comes along and does the following in their branch::\n\n # Changelog\n\n ## 1.0.0\n\n - Added support for TempleOS.\n\n - Deprecated support for Windows.\n\nAnd Developer B has this in their branch::\n\n # Changelog\n\n ## 1.0.0\n\n - Added support for TempleOS.\n\n - Added support for Android.\n\nThen merging the two branches into master causes a merge conflict, and it's just\na needless headache.\n\nchangelogdir fixes this by putting those entries into individual files. Thus,\nyou'd end up with something looking like this::\n\n awesome-project\n \u251c\u2500\u2500 CHANGELOG\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 1.0.0\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 android.md\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 templeos.md\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 windows.md\n \u2514\u2500\u2500 .changelogdirrc\n\n``.changelogdirrc`` contains::\n\n [changelogdir]\n directory = CHANGELOG\n file_extension = md\n h1 = # Changelog\n h2 = ## {name}\n\n``android.md`` contains::\n\n - Added support for Android.\n\n``templeos.md`` contains::\n\n - Added support for TempleOS.\n\n``windows.md`` contains::\n\n - Deprecated support for Windows.\n\nAnd when running ``changelogdir``, the following is generated in alphabetical\norder of the file names::\n\n ~/awesome-project$ changelogdir\n # Changelog\n\n ## 1.0.0\n\n - Added support for Android.\n\n - Added support for TempleOS.\n\n - Deprecated support for Windows.\n\nOf course, it might make more sense to put those three changes into a single\nfile called ``platform-changes.md``, but this is merely for demonstration.\n\nInstallation\n------------\n\nSee :doc:`INSTALLATION`.\n\nUsage\n-----\n\nSee :doc:`USAGE`.\n\nWhy doesn't changelogdir have its changelog in the Python package?\n------------------------------------------------------------------\n\nDoing this would require having changelogdir installed to be able to build\nitself. There is probably a way around this (just call changelogdir.py\ndirectly), but it'd be really ugly.\n\nAs a compromise, it does generate its own changelog when creating and uploading\nthe docs. See :doc:`CHANGELOG`.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/carmenbianca/changelogdir", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "changelogdir", "package_url": "https://pypi.org/project/changelogdir/", "platform": "", "project_url": "https://pypi.org/project/changelogdir/", "project_urls": { "Homepage": "https://gitlab.com/carmenbianca/changelogdir" }, "release_url": "https://pypi.org/project/changelogdir/3.1.0/", "requires_dist": null, "requires_python": "", "summary": "Generate a changelog from a directory structure to avoid merge conflicts", "version": "3.1.0" }, "last_serial": 3191997, "releases": { "1.0.3": [], "2.0.0": [ { "comment_text": "", "digests": { "md5": "1cb8da70448f44b2ca8050744d9c315b", "sha256": "1156bedfc10dc1f574bbef8c7b1434b38fe502df0957dca3ef1f539949b7a041" }, "downloads": -1, "filename": "changelogdir-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1cb8da70448f44b2ca8050744d9c315b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7682, "upload_time": "2017-06-04T17:51:48", "url": "https://files.pythonhosted.org/packages/db/cf/defc5c7fa7433d75ef000cc015a5540981e389124b7e3c5e0a923fdb6816/changelogdir-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68bf5d8eb51a71c2bc2b916a920ad2f5", "sha256": "2538f0a2b20a9acf61eb2f79b577aaad81ac66fcb03707c467cc15e277097607" }, "downloads": -1, "filename": "changelogdir-2.0.0.tar.gz", "has_sig": false, "md5_digest": "68bf5d8eb51a71c2bc2b916a920ad2f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25844, "upload_time": "2017-06-04T17:51:49", "url": "https://files.pythonhosted.org/packages/a7/b0/45855c44c6150cced1086d670979c47ab04f74f1c28d36c6c899608cc1a6/changelogdir-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "0fefd1131b61d45482f197179da8f4e2", "sha256": "68ac6c991e50c242cb4cdcc068199efdf29794aec5ec98b5546d150c3d4e4c64" }, "downloads": -1, "filename": "changelogdir-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0fefd1131b61d45482f197179da8f4e2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7674, "upload_time": "2017-06-04T19:12:50", "url": "https://files.pythonhosted.org/packages/34/fb/33dd062b474fddb4497e5501e59d3d79ec70c26c02b5505887dc0fa9c3c7/changelogdir-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bde9250deb8deca5a04c1150e7500d5", "sha256": "6f3f9b1b378a945df32d784592d6c3994052403c281134d45b0772db6a24942f" }, "downloads": -1, "filename": "changelogdir-2.0.1.tar.gz", "has_sig": false, "md5_digest": "7bde9250deb8deca5a04c1150e7500d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25832, "upload_time": "2017-06-04T19:12:51", "url": "https://files.pythonhosted.org/packages/16/08/f209ef3e4dbd481b614d2c6b0269f32d68cf941b808fa0e58caa025413a6/changelogdir-2.0.1.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "20ff2516f347e2dbc4c9efb59f2a1573", "sha256": "068c36644692279e21d69c9cee51d4f00e265e554033bb9a2697069adf1f8277" }, "downloads": -1, "filename": "changelogdir-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "20ff2516f347e2dbc4c9efb59f2a1573", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7507, "upload_time": "2017-06-08T16:04:53", "url": "https://files.pythonhosted.org/packages/39/29/58ff502fb090bc1e6afa6cb2422f74866f9abb169a977bb16128723e3f2f/changelogdir-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b75e75c55049c80d14f7353d07e759a", "sha256": "81f2802073454771a6522f1974eee43923c14c6b5f96c35606ebddefd09c9c28" }, "downloads": -1, "filename": "changelogdir-3.0.1.tar.gz", "has_sig": false, "md5_digest": "1b75e75c55049c80d14f7353d07e759a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29172, "upload_time": "2017-06-08T16:04:56", "url": "https://files.pythonhosted.org/packages/1e/2d/e2f938e77e8215097d7cf5cb32d8a6fa23ae3852bc24b02c84997d962b5f/changelogdir-3.0.1.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "319219dcaac87fc9eb5549d15e142a0f", "sha256": "7c5594fd62efbe4b6b961ff2dcc90b9e9b6819358d010bc0507754d35e71d3d6" }, "downloads": -1, "filename": "changelogdir-3.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "319219dcaac87fc9eb5549d15e142a0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7519, "upload_time": "2017-09-21T15:17:34", "url": "https://files.pythonhosted.org/packages/b3/4d/052022e16eea46418e029a20ae2aaeafb621bf0a71bde17e8a9f9467e4cc/changelogdir-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6f98e7f88a5f5dab205c2e09e6877e5", "sha256": "ce5b67cdb0f97013f9eed75f118009d21ec875f30c1f945a1fdcfc3d23c89872" }, "downloads": -1, "filename": "changelogdir-3.1.0.tar.gz", "has_sig": false, "md5_digest": "f6f98e7f88a5f5dab205c2e09e6877e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29840, "upload_time": "2017-09-21T15:17:36", "url": "https://files.pythonhosted.org/packages/3c/52/89693e95469d9e876d7109a12027ae44708e3f519d83ed875c629a9c973d/changelogdir-3.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "319219dcaac87fc9eb5549d15e142a0f", "sha256": "7c5594fd62efbe4b6b961ff2dcc90b9e9b6819358d010bc0507754d35e71d3d6" }, "downloads": -1, "filename": "changelogdir-3.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "319219dcaac87fc9eb5549d15e142a0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7519, "upload_time": "2017-09-21T15:17:34", "url": "https://files.pythonhosted.org/packages/b3/4d/052022e16eea46418e029a20ae2aaeafb621bf0a71bde17e8a9f9467e4cc/changelogdir-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6f98e7f88a5f5dab205c2e09e6877e5", "sha256": "ce5b67cdb0f97013f9eed75f118009d21ec875f30c1f945a1fdcfc3d23c89872" }, "downloads": -1, "filename": "changelogdir-3.1.0.tar.gz", "has_sig": false, "md5_digest": "f6f98e7f88a5f5dab205c2e09e6877e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29840, "upload_time": "2017-09-21T15:17:36", "url": "https://files.pythonhosted.org/packages/3c/52/89693e95469d9e876d7109a12027ae44708e3f519d83ed875c629a9c973d/changelogdir-3.1.0.tar.gz" } ] }