Man Linux: Main Page and Category List


       git-dch - Generate the Debian changelog from git commit messages


       git-dch  [  --verbose  ]  [  --debian-branch=branch_name  ] [ --debian-
       tag=tag-format ] [ --ignore-branch ] [ --since=commitish ] [ --snapshot
       ]  [  --release  ] [ --auto ] [ --[no-]full ] [ --[no-]meta ] [ --meta-
       closes=bug-close-tags  ]  [  --snapshot-number=expression  ]  [  --git-
       log=git-log-options ] [ --[no-]git-author ] [ --[no-]multimaint-merge ]
       [path1 path2]


       git-dch reads git commit messages and generates  the  Debian  changelog
       from  it. If no arguments are given git-dch starts from the last tagged
       Debian package version up to the current tip of the current branch.  If
       the   distribution  of  the  topmost  section  in  debian/changelog  is
       UNRELEASED the changelog entries will be inserted  into  this  section.
       Otherwise a new section will be created.

       If  --auto  is  given  git-dch  tries  to  guess  the  last  Git commit
       documented in the  changelog  -  this  only  works  in  snapshot  mode.
       Otherwise  --since can be used to tell git-dch at which point it should
       start in the Git history.

       The additional path arguments can be used to  restrict  the  repository
       paths  git-dch  looks  at.  Setting path to debian/ is a good choice if
       upstream uses Git and all Debian packaging changes  are  restricted  to
       the  debian/  subdir.  In more sophisticated cases (like backports) you
       can use --git-log to restrict the generated changelog entries  further.
       E.g. by using --git-log="--author=Foo Bar".


              The  branch  in  the  Git repository the Debian package is being
              developed on, default is master.

              Don't check if the current branch matches debian-branch.


       -v     verbose execution

              tag format  used,  when  tagging  debian  versions,  default  is

              Start reading commit messages at committish.

       --auto, -a
              Guess  the  last  commit  documented  in  the changelog from the
              snapshot banner (or from the last  tag  if  no  snapshot  banner

              Parse meta tags like Closes:, Thanks: and Git-Dch:.

              What  meta  tags  to  look for to generate bug-closing changelog
              entries.  The default  is  'Closes|LP'  to  support  Debian  and

              Include the full commit message in the changelog output.

       --snapshot, -S
              Create  a  snapshot  release entry. This adds a snapshot release
              number and a warning banner to the changelog entry. The  release
              version  number is being autoincremented with every new snapshot
              release to avoid packages downgrades during snapshot testing.

              Python expression that gets eval()ed to the new snapshot number.

       --release, -R
              Remove  any  snapshot  release banners and version suffixes, set
              the current distribution to unstable and open the changelog  for
              final tweaking.

       --new-version=version, -N version
              Add  a  new  changelog section with version newversion. Together
              with  --snapshot  the  snapshot  number  will  be  appended   to

              Options passed on verbatim to git-log(1).

              Include  N  digits  of  the  commit  id  in the changelog entry.
              Default is to not include any commit ids at all.

              Ignore  commit  lines  matching  regex   when   generating   the

              Use  and from git-config(1) for changelog

              Merge commits by maintainer.


       Snapshot mode can be used for quick test  and  install  cycles  without
       having to worry about version numbers or changelog entries.

       When  using --snapshot or -S git-dch uses a pseudo header in the Debian
       changelog to remember the last git commit it added  a  changelog  entry
       for.     It     also     sets    a    version    number    ending    in
       ~<snaspshotnumber>.gbp<commitid>.   It  automatically  increments   the
       snapshot  number  on subsequent invocations of git-dch -S so that later
       snapshots automatically have a higher version number. To leave snapshot
       mode  invoke git-dch with the --release option. This removes the pseudo
       heaader and unmangles the version number so the released version has  a
       higher version number than the snapshots.


       Four  configuration  files  are  parsed  to  set defaults for the above
       commandline arguments:

              system wide configuraton

              per user configuration

              per branch configuration, can be published with the repository

              per branch configuration, can be published with the repository

              per repository configuration

       See /etc/git-buildpackage/gbp.conf for an example.


       git-buildpackage(1), git-import-dsc(1), git-import-dscs(1), git-import-
       orig(1),  debuild(1),  git(1),  pristine-tar(1),  The  Git-Buildpackage
       Manual              <URL:file:///usr/share/doc/git-buildpackage/manual-
       html/index.html> Cl2vcs <URL:https:///>


       Guido Guenther <>

                               05 September 2010