<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/tree.c, branch v1.2.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.2.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.2.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2006-01-26T09:08:29Z</updated>
<entry>
<title>Only use a single parser for tree objects</title>
<updated>2006-01-26T09:08:29Z</updated>
<author>
<name>Daniel Barkalow</name>
<email>barkalow@iabervon.org</email>
</author>
<published>2006-01-26T06:13:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=521698b1538fb3c9bd818ee98f2c17d2c80c9605'/>
<id>urn:sha1:521698b1538fb3c9bd818ee98f2c17d2c80c9605</id>
<content type='text'>
This makes read_tree_recursive and read_tree take a struct tree
instead of a buffer. It also move the declaration of read_tree into
tree.h (where struct tree is defined), and updates ls-tree and
diff-index (the only places that presently use read_tree*()) to use
the new versions.

Signed-off-by: Daniel Barkalow &lt;barkalow@iabervon.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] Compilation: zero-length array declaration.</title>
<updated>2006-01-07T18:51:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2006-01-07T09:33:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8f1d2e6f49ee51ac062ab38337a6a70dd1998def'/>
<id>urn:sha1:8f1d2e6f49ee51ac062ab38337a6a70dd1998def</id>
<content type='text'>
ISO C99 (and GCC 3.x or later) lets you write a flexible array
at the end of a structure, like this:

	struct frotz {
		int xyzzy;
		char nitfol[]; /* more */
	};

GCC 2.95 and 2.96 let you to do this with "char nitfol[0]";
unfortunately this is not allowed by ISO C90.

This declares such construct like this:

	struct frotz {
		int xyzzy;
		char nitfol[FLEX_ARRAY]; /* more */
	};

and git-compat-util.h defines FLEX_ARRAY to 0 for gcc 2.95 and
empty for others.

If you are using a C90 C compiler, you should be able
to override this with CFLAGS=-DFLEX_ARRAY=1 from the
command line of "make".

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>struct tree: remove unused field "parent"</title>
<updated>2005-12-05T07:19:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-12-05T05:13:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=18d1e701b70014d37a2715ccce0791114587709e'/>
<id>urn:sha1:18d1e701b70014d37a2715ccce0791114587709e</id>
<content type='text'>
The field is not used anymore, after the recent ls-tree rewrite.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>ls-tree: major rewrite to do pathspec</title>
<updated>2005-11-29T07:00:14Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2005-11-26T17:38:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3c5e8468a93cdb427b4c4a129339e80e1813e5c0'/>
<id>urn:sha1:3c5e8468a93cdb427b4c4a129339e80e1813e5c0</id>
<content type='text'>
git-ls-tree should be rewritten to use a pathspec the same way everybody
else does. Right now it's the odd man out: if you do

	git-ls-tree HEAD divers/char drivers/

it will show the same files _twice_, which is not how pathspecs in general
work.

How about this patch? It breaks some of the git-ls-tree tests, but it
makes git-ls-tree work a lot more like other git pathspec commands, and it
removes more than 150 lines by re-using the recursive tree traversal (but
the "-d" flag is gone for good, so I'm not pushing this too hard).

		Linus
</content>
</entry>
<entry>
<title>Rework object refs tracking to reduce memory usage</title>
<updated>2005-11-15T19:42:29Z</updated>
<author>
<name>Sergey Vlasov</name>
<email>vsu@altlinux.ru</email>
</author>
<published>2005-11-15T16:08:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4a4e6fd74f7d4564ed43eaaf59b6bd70c1959f1a'/>
<id>urn:sha1:4a4e6fd74f7d4564ed43eaaf59b6bd70c1959f1a</id>
<content type='text'>
Store pointers to referenced objects in a variable sized array instead
of linked list.  This cuts down memory usage of utilities which use
object references; e.g., git-fsck-objects --full on the git.git
repository consumes about 2 MB of memory tracked by Massif instead of
7 MB before the change.  Object refs are still the biggest consumer of
memory (57%), but the malloc overhead for a single block instead of a
linked list is substantially smaller.

Signed-off-by: Sergey Vlasov &lt;vsu@altlinux.ru&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] Add a function for getting a struct tree for an ent.</title>
<updated>2005-09-11T01:27:40Z</updated>
<author>
<name>Daniel Barkalow</name>
<email>barkalow@iabervon.org</email>
</author>
<published>2005-09-05T06:03:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=77675e2aff434cb1f0e62540ae42f5716a5a778d'/>
<id>urn:sha1:77675e2aff434cb1f0e62540ae42f5716a5a778d</id>
<content type='text'>
Signed-off-by: Daniel Barkalow &lt;barkalow@iabervon.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
<entry>
<title>git-fsck-cache: be stricter about "tree" objects</title>
<updated>2005-07-28T01:57:14Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-27T23:08:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=64071805eda2b57d2b77943bb3f9865d90562ecf'/>
<id>urn:sha1:64071805eda2b57d2b77943bb3f9865d90562ecf</id>
<content type='text'>
In particular, warn about things like zero-padding of the mode bits,
which is a big no-no, since it makes otherwise identical trees have
different representations (and thus different SHA1 numbers).

Also make the warnings more regular.

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Fix up read_tree() pathspec matching to use "const char **"</title>
<updated>2005-07-14T18:39:27Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-14T18:39:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3e58763542ab858ed2b2c7c704594f420df28c8b'/>
<id>urn:sha1:3e58763542ab858ed2b2c7c704594f420df28c8b</id>
<content type='text'>
The same way the other pathspecs work.  Also fix missing success return
from the matching - not that anything actually uses this yet ;)
</content>
</entry>
<entry>
<title>Start adding interfaces to read in partial trees</title>
<updated>2005-07-14T18:26:31Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-14T18:26:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0ca14a57f159fc9d0923dbb122705dd8d6a45488'/>
<id>urn:sha1:0ca14a57f159fc9d0923dbb122705dd8d6a45488</id>
<content type='text'>
The same way "git-diff-tree" can limit its output to just a set of matches,
we can read in just a partial tree for comparison purposes.
</content>
</entry>
<entry>
<title>[PATCH] Fix oversimplified optimization for add_cache_entry().</title>
<updated>2005-06-25T23:52:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-06-25T09:25:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b155725daeec48436d1fcbec4854ffd317408a6e'/>
<id>urn:sha1:b155725daeec48436d1fcbec4854ffd317408a6e</id>
<content type='text'>
An earlier change to optimize directory-file conflict check
broke what "read-tree --emu23" expects.  This is fixed by this
commit.

(1) Introduces an explicit flag to tell add_cache_entry() not to
    check for conflicts and use it when reading an existing tree
    into an empty stage --- by definition this case can never
    introduce such conflicts.

(2) Makes read-cache.c:has_file_name() and read-cache.c:has_dir_name()
    aware of the cache stages, and flag conflict only with paths
    in the same stage.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
