gitdch/README.md

108 lines
4.5 KiB
Markdown
Raw Permalink Normal View History

2022-03-17 16:44:56 +01:00
# gitdch
Simple python script using GitPython library to generate debian
changelog file from git commit history. Each existing tags is
considered as a release version and current working version is
2022-03-17 18:56:36 +01:00
numbered using ''git describe --always --tags'' command.
2022-03-17 16:44:56 +01:00
# Installation
2022-03-17 17:09:53 +01:00
## Dependencies
2024-03-15 08:52:56 +01:00
2022-03-17 16:44:56 +01:00
```
apt install git python3-git
2022-03-17 17:09:53 +01:00
```
## Using git
2024-03-15 08:52:56 +01:00
2022-03-17 17:09:53 +01:00
```
2022-03-17 16:44:56 +01:00
git clone https://gogs.zionetrix.net/bn8/gitdch.git /usr/local/src/gitdch
ln -s /usr/local/src/gitdch/gitdch /usr/local/bin/gitdch
```
2022-03-17 17:09:53 +01:00
## Using wget
2024-03-15 08:52:56 +01:00
2022-03-17 17:09:53 +01:00
```
wget -O /usr/local/bin/gitdch https://gogs.zionetrix.net/bn8/gitdch/raw/master/gitdch
chmod +x /usr/local/bin/gitdch
```
## Using curl
2024-03-15 08:52:56 +01:00
2022-03-17 17:09:53 +01:00
```
curl -o /usr/local/bin/gitdch https://gogs.zionetrix.net/bn8/gitdch/raw/master/gitdch
chmod +x /usr/local/bin/gitdch
```
2022-03-17 16:44:56 +01:00
# Usage
2024-03-15 08:52:56 +01:00
2022-03-17 16:44:56 +01:00
```
2022-12-12 19:47:47 +01:00
usage: gitdch [-h] [-d] [-v] [-w] [-l LOGFILE] [-q] [-p GIT_PATH] [-o OUTPUT] [-A]
[-n PACKAGE_NAME] [-V VERSION] [--version-suffix VERSION_SUFFIX]
[-c CODE_NAME] [-u URGENCY] [-N MAINTAINER_NAME] [-E MAINTAINER_EMAIL]
[-R RELEASE_NOTES] [--revision REVISION] [-C CLEAN_TAGS_REGEX]
[-x EXCLUDE]
2022-03-17 16:44:56 +01:00
2022-12-12 19:47:47 +01:00
Generate Debian package changelog from git (version: 0.0)
2022-03-17 16:44:56 +01:00
optional arguments:
-h, --help show this help message and exit
-d, --debug Show debug messages
-v, --verbose Show verbose messages
-w, --warning Show warning messages
-l LOGFILE, --log-file LOGFILE
Log file path
2022-12-12 19:47:47 +01:00
-q, --quiet Quiet mode: do not log on console (only if log file is
provided)
2022-03-17 16:44:56 +01:00
-p GIT_PATH, --path GIT_PATH
Git repository path (default: ./)
-o OUTPUT, --output OUTPUT
Generated Debian changelog output path (default: stdout)
2022-12-12 19:47:47 +01:00
-A, --append Append mode: if the output changelog file already exists,
2024-03-15 08:52:56 +01:00
append generated changelog lines at the beginning of the file
2022-12-12 19:47:47 +01:00
(optional, default: overwriting the file)
2022-03-17 16:44:56 +01:00
-n PACKAGE_NAME, --package-name PACKAGE_NAME
Package name
-V VERSION, --version VERSION
2024-03-15 08:52:56 +01:00
Current version (default: autodetected using git describe
2022-12-12 19:47:47 +01:00
--always --tags)
2022-03-17 16:44:56 +01:00
--version-suffix VERSION_SUFFIX
Suffix for autodetected version
-c CODE_NAME, --code-name CODE_NAME
Debian code name (default: unstable)
-u URGENCY, --urgency URGENCY
Package urgency (default: medium)
2022-12-12 19:47:47 +01:00
-N MAINTAINER_NAME, --maintainer-name MAINTAINER_NAME
Maintainer name (default: last commit author name)
-E MAINTAINER_EMAIL, --maintainer-email MAINTAINER_EMAIL
Maintainer email (default: last commit author email)
-R RELEASE_NOTES, --release-notes RELEASE_NOTES
Specify an optional Markdown release notes output path
--revision REVISION Specify the revision to use to generate the changelog (see
git-rev-parse for viable options, optional, default:
generate the changelog with all commits of the current
branch)
-C CLEAN_TAGS_REGEX, --clean-tags-regex CLEAN_TAGS_REGEX
Clean tags regex: you could specify regex to clean tag names
when computing package versions. For instance, to drop a
"-eeXXX" suffix of tag names, specify -C "\-ee[0-9]{3}$"
(optional, multiple regex allowed)
-x EXCLUDE, --exclude EXCLUDE
Commit exclusion regex: you could specify regex to exclude
some commits from generated changelog entries. For instance,
to exclude commits with message starting with "CI: ",
specify -x "^CI: " (optional, multiple regex allowed)
2022-03-17 16:44:56 +01:00
```
## Copyright
Copyright (c) 2013-2022 Benjamin Renard <brenard@zionetrix.net>
## License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.