Skip to main content
changelogdir
============

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`.


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)

Source distribution for changelogdir 3.1.0
File Size Uploaded
changelogdir-3.1.0.tar.gz 29.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for changelogdir 3.1.0
File Interpreter ABI Platform
changelogdir-3.1.0-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

3.1.0 This release

2 release files

3.0.1

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.3

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page