Releases and Snapshots When branching and merging frequently, the different Debian changelog entries on the different branches tend to get into the way of the automatic merge and the the merge fails - leaving the (patholigical) merge to the committer. In order to avoid this &git-dch; offers a way for creating changelog entries from &git; commits before doing a release or anytime between releases. The simplest way is doing all the changes to the without touching debian/changelog at all. Then, when done, do: &git-dch; This will look up the latest released version in the changelog, increment the version in the &debian; changelog, generate changelog messages from the corresponding &git; commit id up to the branch head and finally spawns an editor for final changelog file editing by invoking &dch; . But what if you want to have an (unreleased) snapshot for intermediate testing: &git-dch; will generate a snapshot release with a specially crafted version number and a warning in the changelog that this is a snapshort release: git-buildpackage (0.3.7~1.gbp470ce2) UNRELEASED; urgency=low ** SNAPSHOT build @470ce29ec7877705c844474a2fd89869aea0406d ** * add support for automatic snapshot During subsequent calls with this version number will continue to increase. Since the snapshot banners contains the commit id of the current branch head, &git-dch; can figure out what to append to the changelog by itself: &git-dch; will fetch the commit id and add changelog entries from that point to the current HEAD - again auto incrementing the version number. If you don't want to start at that commit id, you can specify any id or tag with: &git-dch; =e76a6a180a57701ae4ae381f74523cacb3152780 After testing you can remove the snapshot header by a final &git-dch; call: &git-dch; =HEAD This will add no further entries but simply remove the specially crafted version number and the snapshort header. Again you can use any commit id or tag instead of if you want to add further changelog entries - or you can (of course) use again. Customizing snapshot numbers If the auto incrementing of the snapshot number doesn't suite you needs you can give any python expression that evaluates to a positive integer to calculate the new snapshot number: &git-dch; =1 &git-dch; ='snapshot + 2' &git-dch; ='os.popen("git-log --pretty=oneline | wc -l").readlines()[0]' &git-dch; =`git-log --pretty=oneline debian/0.3.3 | wc -l` You can also add the snapshot-number calculation to gbp.conf: [DEFAULT] snapshot-number = os.popen("git-log --pretty=oneline | wc -l").readlines()[0]