85 lines
3.1 KiB
Text
85 lines
3.1 KiB
Text
Git sources for Debian
|
|
----------------------
|
|
|
|
The git Debian package sources are available through git, and
|
|
through 'apt-get source git'. Getting the sources through git
|
|
should be preferred:
|
|
|
|
# apt-get install git # if not yet done
|
|
|
|
$ git clone https://repo.or.cz/r/git/debian.git/ git
|
|
$ cd git
|
|
|
|
After cloning the repository, you have checked out the debian-sid
|
|
branch, ready to be used by dpkg-buildpackage, e.g.
|
|
|
|
$ dpkg-buildpackage -i -rfakeroot -uc -us
|
|
|
|
If you want to make changes in the ./debian/ subdirectory, this is the
|
|
correct branch to work on. After making changes, document them in
|
|
debian/changelog, and commit through 'git add' and 'git commit', or 'git
|
|
commit -a', or similar. If you think the changes should be incorporated
|
|
into the standard Debian package, create the patch[es] through 'git
|
|
format-patch', and send them to the Debian Bug Tracking System, e.g.
|
|
|
|
$ vi debian/rules
|
|
$ debchange -pi
|
|
$ git commit -a
|
|
$ git format-patch HEAD^
|
|
|
|
|
|
If you want to make changes to the upstream git sources, first checkout
|
|
the release+patches branch
|
|
|
|
$ git checkout -b release+patches origin/release+patches
|
|
|
|
The release+patches branch holds patches on top of the current release
|
|
version that is packaged for Debian/unstable. The current release
|
|
version is available in the release branch. If you are interested, you
|
|
can checkout this branch too
|
|
|
|
$ git checkout -b release origin/release
|
|
|
|
When releasing a new Debian package based on a new upstream release, the
|
|
release branch will be fastforwarded, and the release+patches branch is
|
|
rewound and rebased on the new HEAD of the release branch. This is done
|
|
by
|
|
|
|
$ git checkout release
|
|
$ git merge v1.6.5
|
|
$ git checkout release+patches
|
|
$ git rebase release
|
|
|
|
You generally don't need to do that, but beware that the release+patches
|
|
branch is rewound occasionally.
|
|
|
|
After checking out the release+patches branch, make the desired changes
|
|
to the upstream sources, and commit them. To integrate the changes into
|
|
the Debian package, extract these changes, and change to the debian-sid
|
|
branch (Note: the file extension for the patches is '.diff', use 'git
|
|
config --add format.suffix .diff' to make that the default)
|
|
|
|
$ git format-patch release..release+patches
|
|
$ git checkout debian-sid
|
|
|
|
Now move the extracted patches into the debian/patches/ directory, add
|
|
their filenames to debian/patches/series, add a meaningful message to
|
|
debian/changelog, and commit the changes to the debian-sid branch:
|
|
|
|
$ ls ????-*.diff >> debian/patches/series
|
|
$ mv ????-*.diff debian/patches/
|
|
$ git add debian/patches
|
|
$ debchange -pi
|
|
$ git add debian/changelog
|
|
$ git commit
|
|
|
|
Again, if you think the changes should be incorporated into the standard
|
|
Debian package, create the patch[es] from the debian-sid branch through
|
|
'git format-patch', send them to the Debian Bug Tracking System.
|
|
|
|
There's a mailing list to coordinate work on the git-core packages, if
|
|
you're interested in helping please subscribe to the
|
|
<debian-package-git> mailing list by sending an email to
|
|
<debian-package-git-subscribe@list.smarden.org>.
|
|
|
|
-- Gerrit Pape <pape@smarden.org> Sat, 10 Apr 2010 12:28:52 +0000
|