summaryrefslogtreecommitdiffstats
path: root/debian/README.source
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.source')
-rw-r--r--debian/README.source85
1 files changed, 85 insertions, 0 deletions
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..ce13c78
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,85 @@
+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