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 mailing list by sending an email to . -- Gerrit Pape Sat, 10 Apr 2010 12:28:52 +0000