NOTE: The most recent version of this document is available at docs/maintainer-notes.html in the the git repository or online at git.debian.org.
$mailaddress: | mailaddress of the user |
$username: | name of the alioth account |
$version: | version string |
$yourname: | your fullname |
# apt-get install git git-buildpackage dpkg-dev
export DEBEMAIL=$mailaddress export DEBFULLNAME=$yourname
% git config --global user.name "$yourname" % git config --global user.email "$mailaddress"
% git clone git://git.debian.org/git/kernel/initramfs-tools.git % cd initramfs-tools
% git clone ssh://$username
@git.debian.org/git/kernel/initramfs-tools.git
% cd initramfs-tools
% git checkout -b $username
/short-descr-of-new-feature
% $EDITOR $somefile % git add $somefile % git commit -sNOTE: Use 'Closes: #BUGID' for closing a bugreport and 'Thanks: Fullname <
mailaddress
>' for giving credits in your commit message. gbp dch will use
this information for generating the changelog using the --meta option later
on.
% git push origin $username
/short-descr-of-new-feature
% git checkout $username
/new-feature
% git rebase master
% git checkout master
% git merge $username
/new-feature
% git push
% git push origin :$username
/short-descr-of-new-feature % git branch -d$username
/short-descr-of-new-feature
% git remote prune origin
% git checkout -b somename/short-descr-of-new-feature origin/somename/short-descr-of-new-feature
% git checkout -b somename/short-descr-of-new-feature
% gbp dch --debian-branch="$(git branch | awk -F\*\ '/^* / { print $2}' )" \ --since="v$(dpkg-parsechangelog | awk '/^Version:/ {print $2}')" -S --id-length=7 --meta --multimaint-merge
% gbp buildpackage --git-ignore-new --git-debian-branch="$(git branch | awk -F\*\ '/^* / { print $2}' )" --post-clean
% gbp dch --debian-branch="$(git branch | awk -F\*\ '/^* / { print $2}' )" \ --since="v$(dpkg-parsechangelog | awk '/^Version:/ {print $2}')" -S --id-length=7 --meta --multimaint-merge
% gbp buildpackage --git-debian-branch="$(git branch | awk -F\*\ '/^* / { print $2}' )" --post-clean [-us -uc]
% git format-patch -s -p origin/master
% git send-email --to=initramfs-tools@packages.debian.org $PATCHFILE[S]
% gbp dch --debian-branch master --release --since HASH
or more dynamically:
% gbp dch --meta --release --since v$(dpkg-parsechangelog | awk '/^Version:/ {print $2}') --debian-branch="$(git branch | awk -F\*\ '/^* / { print $2}' )" --id-length=7 --meta --multimaint-mergeNOTE: we do not use history based sorting for the changelog entries but sort them by author.
% git commit -a -s -m "Releasing version $version
."
% git tag -s v"$version
" -m "release$version
"
% git push % git push --tags
-- Michael Prokop <mika@debian.org>