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

  * GIT 0.99.9m aka 1.0rc5

 -- Junio C Hamano <junkio@cox.net>  Sun, 11 Dec 2005 16:48:06 -0800

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

  * GIT 0.99.9l aka 1.0rc4

 -- Junio C Hamano <junkio@cox.net>  Sat,  3 Dec 2005 23:45:23 -0800

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

  * GIT 0.99.9k but not 1.0rc yet.

 -- Junio C Hamano <junkio@cox.net>  Fri, 25 Nov 2005 16:33:11 -0800

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

  * GIT 0.99.9j aka 1.0rc3

 -- Junio C Hamano <junkio@cox.net>  Wed, 16 Nov 2005 20:39:55 -0800

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

  * GIT 0.99.9i aka 1.0rc2

 -- Junio C Hamano <junkio@cox.net>  Mon, 14 Nov 2005 18:38:27 -0800

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

  * GIT 0.99.9h

 -- Junio C Hamano <junkio@cox.net>  Fri, 11 Nov 2005 22:33:18 -0800

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-2) unstable; urgency=low

  * Build Dependency did not include libexpat-dev.

 -- Junio C Hamano <junkio@cox.net>  Sun, 13 Nov 2005 01:55:34 -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
