git-core (0.99.9g-0) unstable; urgency=low

  * GIT 0.99.9g

 -- Junio C Hamano <junkio@cox.net>  Wed,  9 Nov 2005 21:01:55 -0800

git-core (0.99.9f-0) unstable; urgency=low

  * GIT 0.99.9f

 -- Junio C Hamano <junkio@cox.net>  Tue,  8 Nov 2005 01:21:52 -0800

git-core (0.99.9e-0) unstable; urgency=low

  * GIT 0.99.9e

 -- Junio C Hamano <junkio@cox.net>  Sun,  6 Nov 2005 18:37:18 -0800

git-core (0.99.9d-0) unstable; urgency=low

  * GIT 0.99.9d

 -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:46:37 -0800

git-core (0.99.9c-0) unstable; urgency=low

  * GIT 0.99.9c

 -- Junio C Hamano <junkio@cox.net>  Thu,  3 Nov 2005 15:44:54 -0800

git-core (0.99.9b-0) unstable; urgency=low

  * GIT 0.99.9b

 -- Junio C Hamano <junkio@cox.net>  Tue,  1 Nov 2005 21:39:39 -0800

git-core (0.99.9a-0) unstable; urgency=low

  * GIT 0.99.9a

 -- Junio C Hamano <junkio@cox.net>  Sun, 30 Oct 2005 15:03:32 -0800

git-core (0.99.9.GIT-1) unstable; urgency=low

  * Do not scatter txt and html documentation into feature
    subpackages.  Do place man pages into them.
  * Capture more cvs stuff into git-cvs package.

 -- Junio C Hamano <junkio@cox.net>  Tue,  8 Nov 2005 01:19:06 -0800

git-core (0.99.9.GIT-0) unstable; urgency=low

  * Test Build.

 -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:18:13 -0800

git-core (0.99.9-1) unstable; urgency=low

  * Split the git-core binary package into core, doc, and foreign SCM
    interoperability modules.

 -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:18:13 -0800

git-core (0.99.9-0) unstable; urgency=low

  * GIT 0.99.9

 -- Junio C Hamano <junkio@cox.net>  Sat, 29 Oct 2005 14:34:30 -0700

git-core (0.99.8-0) unstable; urgency=low

  * GIT 0.99.8

 -- Junio C Hamano <junkio@cox.net>  Sun,  2 Oct 2005 12:54:26 -0700

git-core (0.99.7-0) unstable; urgency=low

  * GIT 0.99.7

 -- Junio C Hamano <junkio@cox.net>  Sat, 10 Sep 2005 18:36:39 -0700

git-core (0.99.6-0) unstable; urgency=low

  * GIT 0.99.6

 -- Junio C Hamano <junkio@cox.net>  Wed, 24 Aug 2005 23:09:35 -0700

git-core (0.99.5-1) unstable; urgency=low

  * Enable git-send-email on Debian.  There is no reason to shy
    away from it, since we have the necessary Perl modules available.

 -- Junio C Hamano <junkio@cox.net>  Thu, 25 Aug 2005 14:16:59 -0700

git-core (0.99.5-0) unstable; urgency=low

  * GIT 0.99.5

 -- Junio C Hamano <junkio@cox.net>  Wed, 10 Aug 2005 22:05:00 -0700

git-core (0.99.4-4) unstable; urgency=low

  * Mark git-tk as architecture neutral.

 -- Junio C Hamano <junkio@cox.net>  Fri, 12 Aug 2005 13:25:00 -0700

git-core (0.99.4-3) unstable; urgency=low

  * Split off gitk.
  * Do not depend on diff which is an essential package.
  * Use dh_movefiles, not dh_install, to stage two subpackages.

 -- Matthias Urlichs <smurf@debian.org>  Thu, 11 Aug 2005 01:43:24 +0200

git-core (0.99.4-2) unstable; urgency=low

  * Git 0.99.4 official release.

 -- Junio C Hamano <junkio@cox.net>  Wed, 10 Aug 2005 15:00:00 -0700

git-core (0.99.4-1) unstable; urgency=low

  * Pass prefix down to the submake when building.

 -- Junio C Hamano <junkio@cox.net>  Sat, 6 Aug 2005 13:00:00 -0700

git-core (0.99-2) unstable; urgency=low

  * Conflict with the GNU Interactive Tools package, which also installs
    /usr/bin/git.
  * Use the Mozilla SHA1 code and/or the PPC assembly in preference to
    OpenSSL.  This is only a partial fix for the license issues with OpenSSL.
  * Minor tweaks to the Depends.

 -- Ryan Anderson <ryan@michonline.com>  Sat, 23 Jul 2005 14:15:00 -0400

git-core (0.99-1) unstable; urgency=low

  * Update deb package support to build correctly. 

 -- Ryan Anderson <ryan@michonline.com>  Thu, 21 Jul 2005 02:03:32 -0400

git-core (0.99-0) unstable; urgency=low

  * Initial deb package support

 -- Eric Biederman <ebiederm@xmission.com>  Tue, 12 Jul 2005 10:57:51 -0600
