============
Generate a changelog from a directory structure to avoid merge conflicts.
- Free software: GPLv3+
- Documentation: https://carmenbianca.gitlab.io/changelogdir
- Source code: https://gitlab.com/carmenbianca/changelogdir
- PyPI: https://pypi.python.org/pypi/changelogdir
- Python: 3.4+
- Author: Carmen Bianca Bakker <carmen@carmenbianca.eu>
changelogdir is a simple utility that allows you to turn a directory structure
into a changelog file. Every feature/bugfix/whatever gets its own file to list
changes in, thereby avoiding merge conflict crises such as described `here
<https://gitlab.com/gitlab-org/gitlab-ce/issues/17826>`_.
changelogdir is partially inspired by
`Keep a Changelog <http://keepachangelog.com>`_.
A simple example
----------------
Say we have a ``CHANGELOG.md`` in our master branch that looks like this::
# Changelog
## 1.0.0
- Added support for TempleOS.
And Developer A comes along and does the following in their branch::
# Changelog
## 1.0.0
- Added support for TempleOS.
- Deprecated support for Windows.
And Developer B has this in their branch::
# Changelog
## 1.0.0
- Added support for TempleOS.
- Added support for Android.
Then merging the two branches into master causes a merge conflict, and it's just
a needless headache.
changelogdir fixes this by putting those entries into individual files. Thus,
you'd end up with something looking like this::
awesome-project
├── CHANGELOG
│ └── 1.0.0
│ ├── android.md
│ ├── templeos.md
│ └── windows.md
└── .changelogdirrc
``.changelogdirrc`` contains::
[changelogdir]
directory = CHANGELOG
file_extension = md
h1 = # Changelog
h2 = ## {name}
``android.md`` contains::
- Added support for Android.
``templeos.md`` contains::
- Added support for TempleOS.
``windows.md`` contains::
- Deprecated support for Windows.
And when running ``changelogdir``, the following is generated in alphabetical
order of the file names::
~/awesome-project$ changelogdir
# Changelog
## 1.0.0
- Added support for Android.
- Added support for TempleOS.
- Deprecated support for Windows.
Of course, it might make more sense to put those three changes into a single
file called ``platform-changes.md``, but this is merely for demonstration.
Installation
------------
See :doc:`INSTALLATION`.
Usage
-----
See :doc:`USAGE`.
Why doesn't changelogdir have its changelog in the Python package?
------------------------------------------------------------------
Doing this would require having changelogdir installed to be able to build
itself. There is probably a way around this (just call changelogdir.py
directly), but it'd be really ugly.
As a compromise, it does generate its own changelog when creating and uploading
the docs. See :doc:`CHANGELOG`.
Metadata
Release files for changelogdir 3.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| changelogdir-3.1.0.tar.gz | 29.8 kB | Without provenance | Details for changelogdir-3.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| changelogdir-3.1.0-py3-none-any.whl | Python 3 | none | any | Details for changelogdir-3.1.0-py3-none-any.whl |
Total release size: 37.4 kB
Release files / changelogdir-3.1.0.tar.gz
| Download URL | changelogdir-3.1.0.tar.gz |
|---|---|
| Size | 29.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce5b67cdb0f97013f9eed75f118009d21ec875f30c1f945a1fdcfc3d23c89872
|
|
BLAKE2b-256 checksum How to use checksums |
3c5289693e95469d9e876d7109a12027ae44708e3f519d83ed875c629a9c973d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / changelogdir-3.1.0-py3-none-any.whl
| Download URL | changelogdir-3.1.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c5594fd62efbe4b6b961ff2dcc90b9e9b6819358d010bc0507754d35e71d3d6
|
|
BLAKE2b-256 checksum How to use checksums |
b34d052022e16eea46418e029a20ae2aaeafb621bf0a71bde17e8a9f9467e4cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for changelogdir 3.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.