<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git, branch v1.5.1-rc1</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=v1.5.1-rc1</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=v1.5.1-rc1'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2007-03-19T09:56:29Z</updated>
<entry>
<title>GIT 1.5.1-rc1</title>
<updated>2007-03-19T09:56:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-03-19T09:28:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=ceb8442af7367611c3f5db124a5dc1dbb7fb438f'/>
<id>urn:sha1:ceb8442af7367611c3f5db124a5dc1dbb7fb438f</id>
<content type='text'>
I think we can start to slow down, as we now have covered
everything I listed earlier in the short-term release plan.

The last release 1.5.0 took painfully too long.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Fix merge-index</title>
<updated>2007-03-19T09:48:37Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-03-19T09:48:37Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=843d49a47906bfc7b89553da0c5e4f06ed4c348b'/>
<id>urn:sha1:843d49a47906bfc7b89553da0c5e4f06ed4c348b</id>
<content type='text'>
An earlier conversion to run_command() from execlp() forgot that
run_command() takes an array that is terminated with NULL.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Set up for better tree diff optimizations</title>
<updated>2007-03-19T09:01:39Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2007-03-18T22:18:30Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5d86501742663978dfa4dd8accaee4bb93639fee'/>
<id>urn:sha1:5d86501742663978dfa4dd8accaee4bb93639fee</id>
<content type='text'>
This is mainly just a cleanup patch, and sets up for later changes where
the tree-diff.c "interesting()" function can return more than just a
yes/no value.

In particular, it should be quite possible to say "no subsequent entries
in this tree can possibly be interesting any more", and thus allow the
callers to short-circuit the tree entirely.

In fact, changing the callers to do so is trivial, and is really all this
patch really does, because changing "interesting()" itself to say that
nothing further is going to be interesting is definitely more complicated,
considering that we may have arbitrary pathspecs.

But in cleaning up the callers, this actually fixes a potential small
performance issue in diff_tree(): if the second tree has a lot of
uninterestign crud in it, we would keep on doing the "is it interesting?"
check on the first tree for each uninteresting entry in the second one.

The answer is obviously not going to change, so that was just not helping.
The new code is clearer and simpler and avoids this issue entirely.

I also renamed "interesting()" to "tree_entry_interesting()", because I
got frustrated by the fact that

 - we actually had *another* function called "interesting()" in another
   file, and I couldn't tell from the profiles which one was the one that
   mattered more.

 - when rewriting it to return a ternary value, you can't just do

	if (interesting(...))
		...

   any more, but want to assign the return value to a local variable. The
   name of choice for that variable would normally be "interesting", so
   I just wanted to make the function name be more specific, and avoid
   that whole issue (even though I then didn't choose that name for either
   of the users, just to avoid confusion in the patch itself ;)

In other words, this doesn't really change anything, but I think it's a
good thing to do, and if somebody comes along and writes the logic for
"yeah, none of the pathspecs you have are interesting", we now support
that trivially.

It could easily be a meaningful optimization for things like "blame",
where there's just one pathspec, and stopping when you've seen it would
allow you to avoid about 50% of the tree traversals on average.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Trivial cleanup of track_tree_refs()</title>
<updated>2007-03-19T08:48:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2007-03-18T20:38:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c711a214c1e9a4dfb5043bc1a11d0f76313b097e'/>
<id>urn:sha1:c711a214c1e9a4dfb5043bc1a11d0f76313b097e</id>
<content type='text'>
This makes "track_tree_refs()" use the same "tree_entry()" function for
counting the entries as it does for actually traversing them a few lines
later.

Not a biggie, but the reason I care was that this was the only user of
"update_tree_entry()" that didn't actually *extract* the tree entry first.
It doesn't matter as things stand now, but it meant that a separate
test-patch I had that avoided a few more "strlen()" calls by just saving
the entry length in the entry descriptor and using it directly when
updating wouldn't work without this patch.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git.el: Add support for commit hooks.</title>
<updated>2007-03-19T08:40:27Z</updated>
<author>
<name>Alexandre Julliard</name>
<email>julliard@winehq.org</email>
</author>
<published>2007-03-17T19:40:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=d55552f6e3b63ab6f33dd61071760bee42b9bc5e'/>
<id>urn:sha1:d55552f6e3b63ab6f33dd61071760bee42b9bc5e</id>
<content type='text'>
Run the pre-commit and post-commit hooks at appropriate places, and
display their output if any.

Signed-off-by: Alexandre Julliard &lt;julliard@winehq.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jb/gc'</title>
<updated>2007-03-19T05:46:30Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-03-19T05:46:30Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=94b9816c5ce5bfc8bf4a8baf2128fa2d429a6898'/>
<id>urn:sha1:94b9816c5ce5bfc8bf4a8baf2128fa2d429a6898</id>
<content type='text'>
* jb/gc:
  Make gc a builtin.
</content>
</entry>
<entry>
<title>Merge branch 'fl/cvsserver'</title>
<updated>2007-03-19T05:44:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-03-19T05:44:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=de5e61eb0d130393b50f0de01530113ab02bdf01'/>
<id>urn:sha1:de5e61eb0d130393b50f0de01530113ab02bdf01</id>
<content type='text'>
* fl/cvsserver:
  cvsserver: further improve messages on commit and status
  cvsserver: Be more chatty
</content>
</entry>
<entry>
<title>Limit the size of the new delta_base_cache</title>
<updated>2007-03-19T05:43:37Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-03-19T05:14:37Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=18bdec1118df92649b70ce126aff2f147deecad5'/>
<id>urn:sha1:18bdec1118df92649b70ce126aff2f147deecad5</id>
<content type='text'>
The new configuration variable core.deltaBaseCacheLimit allows the
user to control how much memory they are willing to give to Git for
caching base objects of deltas.  This is not normally meant to be
a user tweakable knob; the "out of the box" settings are meant to
be suitable for almost all workloads.

We default to 16 MiB under the assumption that the cache is not
meant to consume all of the user's available memory, and that the
cache's main purpose was to cache trees, for faster path limiters
during revision traversal.  Since trees tend to be relatively small
objects, this relatively small limit should still allow a large
number of objects.

On the other hand we don't want the cache to start storing 200
different versions of a 200 MiB blob, as this could easily blow
the entire address space of a 32 bit process.

We evict OBJ_BLOB from the cache first (credit goes to Junio) as
we want to favor OBJ_TREE within the cache.  These are the objects
that have the highest inflate() startup penalty, as they tend to
be small and thus don't have that much of a chance to ammortize
that penalty over the entire data.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sp/run-command'</title>
<updated>2007-03-19T05:21:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2007-03-19T05:21:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=3635a187704ed30b32eb11f5098496e5e435a19d'/>
<id>urn:sha1:3635a187704ed30b32eb11f5098496e5e435a19d</id>
<content type='text'>
* sp/run-command:
  Use run_command within send-pack
  Use run_command within receive-pack to invoke index-pack
  Use run_command within merge-index
  Use run_command for proxy connections
  Use RUN_GIT_CMD to run push backends
  Correct new compiler warnings in builtin-revert
  Replace fork_with_pipe in bundle with run_command
  Teach run-command to redirect stdout to /dev/null
  Teach run-command about stdout redirection
</content>
</entry>
<entry>
<title>Make git-send-email aware of Cc: lines.</title>
<updated>2007-03-19T04:10:03Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@fieldses.org</email>
</author>
<published>2007-03-19T01:37:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=abec100c3382f7d7b759f915a86e9773277263b6'/>
<id>urn:sha1:abec100c3382f7d7b759f915a86e9773277263b6</id>
<content type='text'>
In the Linux kernel, for example, it's common to include Cc: lines
for cases when you want to remember to cc someone on a patch without
necessarily claiming they signed off on it.  Make git-send-email
aware of these.

Signed-off-by: "J. Bruce Fields" &lt;bfields@citi.umich.edu&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
