git/list[1] front-page[2] threads[3] people[4] search[5] about
 

GIT 0.99.8d

From
Junio C Hamano <junkio@cox.net>
Date
Oct 16, 2005, 05:41 UTC
Message-ID
<7vachadnmy.fsf@assigned-by-dhcp.cox.net>
GIT 0.99.8d is available as usual at:
    RPMs and tarball: www.kernel.org:/pub/software/scm/git/
    Debs and tarball: www.kernel.org:/pub/software/scm/git/debian/

In addition to accumulated bugfixes, there is one important futureproofing changes.

The "master" branch has changes to git-upload-pack (which would affect what git-fetch-pack/git-clone-pack see) and git-update-server-info (which would affect what fetch and clone over http:// transport see) to send extra information about the available references, so that the clients can find out what objects are referenced by remote tags before downloading them. They take the form of "tagname^{}". "git ls-remote $repository" command would show something like this:

    7a3ca7d2b5ec31b2cfa594b961d77e68075e33c7        refs/heads/master
    5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c        refs/tags/v2.6.11-tree
    c39ae07f393806ccf406ef966e9a15afc43cc36a        refs/tags/v2.6.11-tree^{}
    ...
    c2bbf523f1d454649897b3e4bcd71778e4fa5913        refs/tags/v2.6.14-rc2
    676d55ae30ea3b688f0386f70553489f25f24d55        refs/tags/v2.6.14-rc2^{}
    f92737b18abac90af30ac26a050fda879c9b238b        refs/tags/v2.6.14-rc3
    1c9426e8a59461688bb451e006456987b198e4c0        refs/tags/v2.6.14-rc3^{}

when the server side updates to the version in the "master" branch. These "^{}" entries describe the SHA1 of the object the tag object points at (so v2.6.11-tree tag, whose object name is 5dc01c... points at a tree object whose object name is c39ae0...).

The downloading clients (git-clone and git-fetch) in the "master" branch have been taught to recognize these entries; after all, these are not real refs and you cannot give them to git-http-fetch to fetch from. GIT 0.99.8d clients have the same change, so that people staying with the maintenance branch can download from the server that already runs the "master" version and sends these fake references without getting confused.

upload-pack and update-server-info in GIT 0.99.8d would not show these extra "fake refs" when used on the server side. In other words, 0.99.8d is to keep the maintenance branch working with newer servers.

There will be GIT 0.99.8e at around the time "master" branch will get the updated "git-diff-*", for similar purposes. The updated "git-diff-*" commands deal with pathnames with funny characters (most importantly tabs and newlines) in a way compatible with the proposed change to GNU patch, which was outlined in:

    http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2

The change to "git-diff-*", and corresponding change to "git-apply" are cooking in the proposed updates branch right now. When people start generating diffs with them, patches that touch paths that have double-quotes '"' or spaces ' ' in them need to be applied with the updated git-apply that knows how new "git-diff-*" encodes these funny pathnames. GIT 0.99.8e is planned to backport the necessary git-apply changes, in case we do not bump the major release number by then.

Next: Ed Tomlinson
Message 1 of 7 in “GIT 0.99.8d”
  1. Junio C HamanoOct 16, 2005
  2. Ed TomlinsonOct 16, 2005
  3. Junio C HamanoOct 16, 2005
  4. Marco RoelandOct 16, 2005
  5. Ed TomlinsonOct 16, 2005
  6. David LangOct 17, 2005
  7. GIT 0.99.8eJunio C Hamano, Oct 18, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.