<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0">
  <channel>
    <title>Git Releases</title>
    <link>http://git-scm.com/</link>
    <description>Git Release Announcements</description>
    <language>en-us</language>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/GitReleases" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>v1.6.5.2</title>
      <description>GIT v1.6.5.2 Release Notes
==========================

Fixes since v1.6.5.1
--------------------

 * Installation of templates triggered a bug in busybox when using tar
   implementation from it.

 * "git add -i" incorrectly ignored paths that are already in the index
   if they matched .gitignore patterns.

 * "git describe --always" should have produced some output even there
   were no tags in the repository, but it didn't.

 * "git ls-files" when showing tracked files incorrectly paid attention
   to the exclude patterns.

Other minor documentation updates are included.
</description>
      <pubDate>Mon, 26 Oct 2009 01:38:00 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.5.2</guid>
    </item>
    <item>
      <title>v1.6.5.1</title>
      <description>GIT v1.6.5.1 Release Notes
==========================

Fixes since v1.6.5
------------------

 * An corrupt pack could make codepath to read objects into an
   infinite loop.

 * Download throughput display was always shown in KiB/s but on fast links
   it is more appropriate to show it in MiB/s.

 * "git grep -f filename" used uninitialized variable and segfaulted.

 * "git clone -b branch" gave a wrong commit object name to post-checkout
   hook.

 * "git pull" over http did not work on msys.

Other minor documentation updates are included.
</description>
      <pubDate>Sat, 17 Oct 2009 06:57:37 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.5.1</guid>
    </item>
    <item>
      <title>v1.6.5</title>
      <description>GIT v1.6.5 Release Notes
========================

In git 1.7.0, which was planned to be the release after 1.6.5, "git
push" into a branch that is currently checked out will be refused by
default.

You can choose what should happen upon such a push by setting the
configuration variable receive.denyCurrentBranch in the receiving
repository.

Also, "git push $there :$killed" to delete the branch $killed in a remote
repository $there, when $killed branch is the current branch pointed at by
its HEAD, will be refused by default.

You can choose what should happen upon such a push by setting the
configuration variable receive.denyDeleteCurrent in the receiving
repository.

To ease the transition plan, the receiving repository of such a
push running this release will issue a big warning when the
configuration variable is missing.  Please refer to:

  http://git.or.cz/gitwiki/GitFaq#non-bare
  http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007

for more details on the reason why this change is needed and the
transition plan.

Updates since v1.6.4
--------------------

(subsystems)

 * various updates to gitk, git-svn and gitweb.

(portability)

 * more improvements on mingw port.

 * mingw will also give FRSX as the default value for the LESS
   environment variable when the user does not have one.

 * initial support to compile git on Windows with MSVC.

(performance)

 * On major platforms, the system can be compiled to use with Linus's
   block-sha1 implementation of the SHA-1 hash algorithm, which
   outperforms the default fallback implementation we borrowed from
   Mozilla.

 * Unnecessary inefficiency in deepening of a shallow repository has
   been removed.

 * "git clone" does not grab objects that it does not need (i.e.
   referenced only from refs outside refs/heads and refs/tags
   hierarchy) anymore.

 * The "git" main binary used to link with libcurl, which then dragged
   in a large number of external libraries.  When using basic plumbing
   commands in scripts, this unnecessarily slowed things down.  We now
   implement http/https/ftp transfer as a separate executable as we
   used to.

 * "git clone" run locally hardlinks or copies the files in .git/ to
   newly created repository.  It used to give new mtime to copied files,
   but this delayed garbage collection to trigger unnecessarily in the
   cloned repository.  We now preserve mtime for these files to avoid
   this issue.

(usability, bells and whistles)

 * Human writable date format to various options, e.g. --since=yesterday,
   master@{2000.09.17}, are taught to infer some omitted input properly.

 * A few programs gave verbose "advice" messages to help uninitiated
   people when issuing error messages.  An infrastructure to allow
   users to squelch them has been introduced, and a few such messages
   can be silenced now.

 * refs/replace/ hierarchy is designed to be usable as a replacement
   of the "grafts" mechanism, with the added advantage that it can be
   transferred across repositories.

 * "git am" learned to optionally ignore whitespace differences.

 * "git am" handles input e-mail files that has CRLF line endings sensibly.

 * "git am" learned "--scissors" option to allow you to discard early part
   of an incoming e-mail.

 * "git archive -o output.zip" works without being told what format to
   use with an explicit "--format=zip".option.

 * "git checkout", "git reset" and "git stash" learned to pick and
   choose to use selected changes you made, similar to "git add -p".

 * "git clone" learned a "-b" option to pick a HEAD to check out
   different from the remote's default branch.

 * "git clone" learned --recursive option.

 * "git clone" from a local repository on a different filesystem used to
   copy individual object files without preserving the old timestamp, giving
   them extra lifetime in the new repository until they gc'ed.

 * "git commit --dry-run $args" is a new recommended way to ask "what would
   happen if I try to commit with these arguments."

 * "git commit --dry-run" and "git status" shows conflicted paths in a
   separate section to make them easier to spot during a merge.

 * "git cvsimport" now supports password-protected pserver access even
   when the password is not taken from ~/.cvspass file.

 * "git fast-export" learned --no-data option that can be useful when
   reordering commits and trees without touching the contents of
   blobs.

 * "git fast-import" has a pair of new front-end in contrib/ area.

 * "git init" learned to mkdir/chdir into a directory when given an
   extra argument (i.e. "git init this").

 * "git instaweb" optionally can use mongoose as the web server.

 * "git log --decorate" can optionally be told with --decorate=full to
   give the reference name in full.

 * "git merge" issued an unnecessarily scary message when it detected
   that the merge may have to touch the path that the user has local
   uncommitted changes to. The message has been reworded to make it
   clear that the command aborted, without doing any harm.

 * "git push" can be told to be --quiet.

 * "git push" pays attention to url.$base.pushInsteadOf and uses a URL
   that is derived from the URL used for fetching.

 * informational output from "git reset" that lists the locally modified
   paths is made consistent with that of "git checkout $another_branch".

 * "git submodule" learned to give submodule name to scripts run with
   "foreach" subcommand.

 * various subcommands to "git submodule" learned --recursive option.

 * "git submodule summary" learned --files option to compare the work
   tree vs the commit bound at submodule path, instead of comparing
   the index.

 * "git upload-pack", which is the server side support for "git clone" and
   "git fetch", can call a new post-upload-pack hook for statistics purposes.

(developers)

 * With GIT_TEST_OPTS="--root=/p/a/t/h", tests can be run outside the
   source directory; using tmpfs may give faster turnaround.

 * With NO_PERL_MAKEMAKER set, DESTDIR= is now honoured, so you can
   build for one location, and install into another location to tar it
   up.

Fixes since v1.6.4
------------------

All of the fixes in v1.6.4.X maintenance series are included in this
release, unless otherwise noted.
</description>
      <pubDate>Sat, 10 Oct 2009 07:14:59 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.5</guid>
    </item>
    <item>
      <title>v1.6.4.4</title>
      <description>GIT v1.6.4.4 Release Notes
==========================

Fixes since v1.6.4.4
--------------------

* The workaround for Github server that sometimes gave 500 (Internal server
  error) response to HEAD requests in 1.6.4.3 introduced a regression that
  caused re-fetching projects over http to segfault in certain cases due
  to uninitialized pointer being freed.

* "git pull" on an unborn branch used to consider anything in the work
  tree and the index discardable.

* "git diff -b/w" did not work well on the incomplete line at the end of
  the file, due to an incorrect hashing of lines in the low-level xdiff
  routines.

* "git checkout-index --prefix=$somewhere" used to work when $somewhere is
  a symbolic link to a directory elsewhere, but v1.6.4.2 broke it.

* "git unpack-objects --strict", invoked when receive.fsckobjects
  configuration is set in the receiving repository of "git push", did not
  properly check the objects, especially the submodule links, it received.

Other minor documentation updates are included.
</description>
      <pubDate>Wed, 16 Sep 2009 21:59:12 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.4.4</guid>
    </item>
    <item>
      <title>v1.6.4.3</title>
      <description>GIT v1.6.4.3 Release Notes
==========================

Fixes since v1.6.4.2
--------------------

* "git clone" from an empty repository gave unnecessary error message,
  even though it did everything else correctly.

* "git cvsserver" invoked git commands via "git-foo" style, which has long
  been deprecated.

* "git fetch" and "git clone" had an extra sanity check to verify the
  presense of the corresponding *.pack file before downloading *.idx
  file by issuing a HEAD request.  Github server however sometimes
  gave 500 (Internal server error) response to HEAD even if a GET
  request for *.pack file to the same URL would have succeeded, and broke
  clone over HTTP from some of their repositories.  As a workaround, this
  verification has been removed (as it is not absolutely necessary).

* "git grep" did not like relative pathname to refer outside the current
  directory when run from a subdirectory.

* an error message from "git push" was formatted in a very ugly way.

* "git svn" did not quote the subversion user name correctly when
  running its author-prog helper program.

Other minor documentation updates are included.
</description>
      <pubDate>Sun, 13 Sep 2009 08:28:32 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.4.3</guid>
    </item>
    <item>
      <title>v1.6.4.2</title>
      <description>GIT v1.6.4.2 Release Notes
==========================

Fixes since v1.6.4.1
--------------------

* --date=relative output between 1 and 5 years ago rounded the number of
    years when saying X years Y months ago, instead of rounding it down.

* "git add -p" did not handle changes in executable bits correctly
  (a regression around 1.6.3).

* "git apply" did not honor GNU diff's convention to mark the creation/deletion
  event with UNIX epoch timestamp on missing side.

* "git checkout" incorrectly removed files in a directory pointed by a
  symbolic link during a branch switch that replaces a directory with
  a symbolic link.

* "git clean -d -f" happily descended into a subdirectory that is managed by a
  separate git repository.  It now requires two -f options for safety.

* "git fetch/push" over http transports had two rather grave bugs.

* "git format-patch --cover-letter" did not prepare the cover letter file
  for use with non-ASCII strings when there are the series contributors with
  non-ASCII names.

* "git pull origin branch" and "git fetch origin &amp;&amp; git merge origin/branch"
  left different merge messages in the resulting commit.

Other minor documentation updates are included.
</description>
      <pubDate>Sat, 29 Aug 2009 21:31:10 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.4.2</guid>
    </item>
    <item>
      <title>v1.6.4.1</title>
      <description>GIT v1.6.4.1 Release Notes
==========================

Fixes since v1.6.4
------------------

 * An unquoted value in the configuration file, when it contains more than
   one whitespaces in a row, got them replaced with a single space.

 * "git am" used to accept a single piece of e-mail per file (not a mbox)
   as its input, but multiple input format support in v1.6.4 broke it.
   Apparently many people have been depending on this feature.

 * The short help text for "git filter-branch" command was a single long
   line, wrapped by terminals, and was hard to read.

 * The "recursive" strategy of "git merge" segfaulted when a merge has
   more than one merge-bases, and merging of these merge-bases involves
   a rename/rename or a rename/add conflict.

 * "git pull --rebase" did not use the right fork point when the
   repository has already fetched from the upstream that rewinds the
   branch it is based on in an earlier fetch.

 * Explain the concept of fast-forward more fully in "git push"
   documentation, and hint to refer to it from an error message when the
   command refuses an update to protect the user.

 * The default value for pack.deltacachesize, used by "git repack", is now
   256M, instead of unbounded.  Otherwise a repack of a moderately sized
   repository would needlessly eat into swap.

 * Document how "git repack" (hence "git gc") interacts with a repository
   that borrows its objects from other repositories (e.g. ones created by
   "git clone -s").

 * "git show" on an annotated tag lacked a delimiting blank line between
   the tag itself and the contents of the object it tags.

 * "git verify-pack -v" erroneously reported number of objects with too
   deep delta depths as "chain length 0" objects.

 * Long names of authors and committers outside US-ASCII were sometimes
   incorrectly shown in "gitweb".

Other minor documentation updates are included.
</description>
      <pubDate>Sat, 22 Aug 2009 03:16:31 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.4.1</guid>
    </item>
    <item>
      <title>v1.6.4</title>
      <description>GIT v1.6.4 Release Notes
========================

With the next major release, "git push" into a branch that is
currently checked out will be refused by default.  You can choose
what should happen upon such a push by setting the configuration
variable receive.denyCurrentBranch in the receiving repository.

To ease the transition plan, the receiving repository of such a
push running this release will issue a big warning when the
configuration variable is missing.  Please refer to:

  http://git.or.cz/gitwiki/GitFaq#non-bare
  http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007

for more details on the reason why this change is needed and the
transition plan.

For a similar reason, "git push $there :$killed" to delete the branch
$killed in a remote repository $there, if $killed branch is the current
branch pointed at by its HEAD, gets a large warning.  You can choose what
should happen upon such a push by setting the configuration variable
receive.denyDeleteCurrent in the receiving repository.


Updates since v1.6.3
--------------------

(subsystems)

 * gitweb Perl style clean-up.

 * git-svn updates, including a new --authors-prog option to map author
   names by invoking an external program, 'git svn reset' to unwind
   'git svn fetch', support for more than one branches, documenting
   of the useful --minimize-url feature, new "git svn gc" command, etc.

(portability)

 * We feed iconv with "UTF-8" instead of "utf8"; the former is
   understood more widely.  Similarly updated test scripts to use
   encoding names more widely understood (e.g. use "ISO8859-1" instead
   of "ISO-8859-1").

 * Various portability fixes/workarounds for different vintages of
   SunOS, IRIX, and Windows.

 * Git-over-ssh transport on Windows supports PuTTY plink and TortoisePlink.

(performance)

 * Many repeated use of lstat() are optimized out in "checkout" codepath.

 * git-status (and underlying git-diff-index --cached) are optimized
   to take advantage of cache-tree information in the index.

(usability, bells and whistles)

 * "git add --edit" lets users edit the whole patch text to fine-tune what
   is added to the index.

 * "git am" accepts StGIT series file as its input.

 * "git bisect skip" skips to a more randomly chosen place in the hope
   to avoid testing a commit that is too close to a commit that is
   already known to be untestable.

 * "git cvsexportcommit" learned -k option to stop CVS keywords expansion

 * "git fast-export" learned to handle history simplification more
   gracefully.

 * "git fast-export" learned an option --tag-of-filtered-object to handle
   dangling tags resulting from history simplification more usefully.

 * "git grep" learned -p option to show the location of the match using the
   same context hunk marker "git diff" uses.

 * https transport can optionally be told that the used client
   certificate is password protected, in which case it asks the
   password only once.

 * "git imap-send" is IPv6 aware.

 * "git log --graph" draws graphs more compactly by using horizontal lines
   when able.

 * "git log --decorate" shows shorter refnames by stripping well-known
   refs/* prefix.

 * "git push $name" honors remote.$name.pushurl if present before
   using remote.$name.url.  In other words, the URL used for fetching
   and pushing can be different.

 * "git send-email" understands quoted aliases in .mailrc files (might
   have to be backported to 1.6.3.X).

 * "git send-email" can fetch the sender address from the configuration
   variable "sendmail.from" (and "sendmail.&lt;identity&gt;.from").

 * "git show-branch" can color its output.

 * "add" and "update" subcommands to "git submodule" learned --reference
   option to use local clone with references.

 * "git submodule update" learned --rebase option to update checked
   out submodules by rebasing the local changes.

 * "gitweb" can optionally use gravatar to adorn author/committer names.

(developers)

 * A major part of the "git bisect" wrapper has moved to C.

 * Formatting with the new version of AsciiDoc 8.4.1 is now supported.

Fixes since v1.6.3
------------------

All of the fixes in v1.6.3.X maintenance series are included in this
release, unless otherwise noted.

Here are fixes that this release has, but have not been backported to
v1.6.3.X series.

 * "git diff-tree -r -t" used to omit new or removed directories from
   the output.  df533f3 (diff-tree -r -t: include added/removed
   directories in the output, 2009-06-13) may need to be cherry-picked
   to backport this fix.

 * The way Git.pm sets up a Repository object was not friendly to callers
   that chdir around.  It now internally records the repository location
   as an absolute path when autodetected.

 * Removing a section with "git config --remove-section", when its
   section header has a variable definition on the same line, lost
   that variable definition.

 * "git rebase -p --onto" used to always leave side branches of a merge
   intact, even when both branches are subject to rewriting.

 * "git repack" used to faithfully follow grafts and considered true
   parents recorded in the commit object unreachable from the commit.
   After such a repacking, you cannot remove grafts without corrupting
   the repository.

 * "git send-email" did not detect erroneous loops in alias expansion.
</description>
      <pubDate>Wed, 29 Jul 2009 07:32:52 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.4</guid>
    </item>
    <item>
      <title>v1.6.3.4</title>
      <description>GIT v1.6.3.4 Release Notes
==========================

Fixes since v1.6.3.3
--------------------

 * "git add --no-ignore-errors" did not override configured
   add.ignore-errors configuration.

 * "git apply --whitespace=fix" did not fix trailing whitespace on an
   incomplete line.

 * "git branch" opened too many commit objects unnecessarily.

 * "git checkout -f $commit" with a path that is a file (or a symlink) in
   the work tree to a commit that has a directory at the path issued an
   unnecessary error message.

 * "git diff -c/--cc" was very inefficient in coalescing the removed lines
   shared between parents.

 * "git diff -c/--cc" showed removed lines at the beginning of a file
   incorrectly.

 * "git remote show nickname" did not honor configured
   remote.nickname.uploadpack when inspecting the branches at the remote.

 * "git request-pull" when talking to the terminal for a preview
   showed some of the output in the pager.

 * "git request-pull start nickname [end]" did not honor configured
   remote.nickname.uploadpack when it ran git-ls-remote against the remote
   repository to learn the current tip of branches.

Includes other documentation updates and minor fixes.

</description>
      <pubDate>Wed, 29 Jul 2009 06:59:32 +0000</pubDate>
      <link>http://git-scm.com/download</link>
      <guid isPermaLink="false">v1.6.3.4</guid>
    </item>
  </channel>
</rss>
