git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* GIT 0.99.8d
@ 2005-10-16  5:41 Junio C Hamano
  2005-10-16 14:24 ` Ed Tomlinson
  2005-10-18  5:53 ` GIT 0.99.8e Junio C Hamano
  0 siblings, 2 replies; 7+ messages in thread
From: Junio C Hamano @ 2005-10-16  5:41 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

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.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-10-18  5:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-16  5:41 GIT 0.99.8d Junio C Hamano
2005-10-16 14:24 ` Ed Tomlinson
2005-10-16 18:22   ` Junio C Hamano
2005-10-16 18:55     ` Marco Roeland
2005-10-16 22:15       ` Ed Tomlinson
2005-10-17  5:29     ` David Lang
2005-10-18  5:53 ` GIT 0.99.8e Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).