Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jan 7, 2006
  1. [PATCH] Compilation: zero-length array declaration.

    Junio C Hamano authored
    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 <junkio@cox.net>
Commits on Dec 5, 2005
  1. struct tree: remove unused field "parent"

    Junio C Hamano authored
    The field is not used anymore, after the recent ls-tree rewrite.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 29, 2005
  1. ls-tree: major rewrite to do pathspec

    Linus Torvalds authored Junio C Hamano committed
    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
Commits on Nov 15, 2005
  1. @sigprof

    Rework object refs tracking to reduce memory usage

    sigprof authored Junio C Hamano committed
    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 <vsu@altlinux.ru>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Sep 11, 2005
  1. [PATCH] Add a function for getting a struct tree for an ent.

    Daniel Barkalow authored Junio C Hamano committed
    Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jul 28, 2005
  1. git-fsck-cache: be stricter about "tree" objects

    Linus Torvalds authored Junio C Hamano committed
    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 <torvalds@osdl.org>
Commits on Jul 14, 2005
  1. Fix up read_tree() pathspec matching to use "const char **"

    Linus Torvalds authored
    The same way the other pathspecs work.  Also fix missing success return
    from the matching - not that anything actually uses this yet ;)
  2. Start adding interfaces to read in partial trees

    Linus Torvalds authored
    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.
Commits on Jun 25, 2005
  1. [PATCH] Fix oversimplified optimization for add_cache_entry().

    Junio C Hamano authored Linus Torvalds committed
    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 <junkio@cox.net>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on Jun 8, 2005
  1. [PATCH] Anal retentive 'const unsigned char *sha1'

    Jason McMullan authored Linus Torvalds committed
    Make 'sha1' parameters const where possible
    
    Signed-off-by: Jason McMullan <jason.mcmullan@timesys.com>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on May 29, 2005
  1. [PATCH] Rewrite ls-tree to behave more like "/bin/ls -a"

    Junio C Hamano authored Linus Torvalds committed
    This is a complete rewrite of ls-tree to make it behave more
    like what "/bin/ls -a" does in the current working directory.
    
    Namely, the changes are:
    
     - Unlike the old ls-tree behaviour that used paths arguments to
       restrict output (not that it worked as intended---as pointed
       out in the mailing list discussion, it was quite incoherent),
       this rewrite uses paths arguments to specify what to show.
    
     - Without arguments, it implicitly uses the root level as its
       sole argument ("/bin/ls -a" behaves as if "." is given
       without argument).
    
     - Without -r (recursive) flag, it shows the named blob (either
       file or symlink), or the named tree and its immediate
       children.
    
     - With -r flag, it shows the named path, and recursively
       descends into it if it is a tree.
    
     - With -d flag, it shows the named path and does not show its
       children even if the path is a tree, nor descends into it
       recursively.
    
    This is still request-for-comments patch.  There is no mailing
    list consensus that this proposed new behaviour is a good one.
    
    The patch to t/t3100-ls-tree-restrict.sh illustrates
    user-visible behaviour changes.  Namely:
    
     * "git-ls-tree $tree path1 path0" lists path1 first and then
       path0.  It used to use paths as an output restrictor and
       showed output in cache entry order (i.e. path0 first and then
       path1) regardless of the order of paths arguments.
    
     * "git-ls-tree $tree path2" lists path2 and its immediate
       children but having explicit paths argument does not imply
       recursive behaviour anymore, hence paths/baz is shown but not
       paths/baz/b.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on May 20, 2005
  1. [PATCH] delta check

    Nicolas Pitre authored Linus Torvalds committed
    This adds knowledge of delta objects to fsck-cache and various object
    parsing code.  A new switch to git-fsck-cache is provided to display the
    maximum delta depth found in a repository.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on May 11, 2005
  1. @jonas

    [PATCH] read_tree_recursive(): Fix leaks

    jonas authored Petr Baudis committed
    Fix two potential leaks.
    
    Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
    Signed-off-by: Petr Baudis <pasky@ucw.cz>
Commits on May 8, 2005
  1. Add git-update-cache --replace option.

    Junio C Hamano authored
    When "path" exists as a file or a symlink in the index, an
    attempt to add "path/file" is refused because it results in file
    vs directory conflict.  Similarly when "path/file1",
    "path/file2", etc. exist, an attempt to add "path" as a file or
    a symlink is refused.  With git-update-cache --replace, these
    existing entries that conflict with the entry being added are
    automatically removed from the cache, with warning messages.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on May 6, 2005
  1. [PATCH] don't load and decompress objects twice with parse_object()

    Nicolas Pitre authored Linus Torvalds committed
    It turns out that parse_object() is loading and decompressing given
    object to free it just before calling the specific object parsing
    function which does mmap and decompress the same object again. This
    patch introduces the ability to parse specific objects directly from a
    memory buffer.
    
    Without this patch, running git-fsck-cache on the kernel repositorytake:
    
    	real    0m13.006s
    	user    0m11.421s
    	sys     0m1.218s
    
    With this patch applied:
    
    	real    0m8.060s
    	user    0m7.071s
    	sys     0m0.710s
    
    The performance increase is significant, and this is kind of a
    prerequisite for sane delta object support with fsck.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on May 5, 2005
  1. Be more careful about tree entry modes.

    Linus Torvalds authored
    The tree object parsing used to get the executable bit wrong,
    and didn't know about symlinks. Also, fsck really wants the
    full mode value so that it can verify the other bits for sanity,
    so save it all in struct tree_entry.
Commits on May 4, 2005
  1. @sigprof

    [PATCH] Fix memory leaks in git-fsck-cache

    sigprof authored Linus Torvalds committed
    This patch fixes memory leaks in parse_object() and related functions;
    these leaks were very noticeable when running git-fsck-cache.
    
    Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on May 2, 2005
  1. Make fsck-cache do better tree checking.

    Linus Torvalds authored
    We check the ordering of the entries, and we verify that none
    of the entries has a slash in it (this allows us to remove the
    hacky "has_full_path" member from the tree structure, since we
    now just test it by walking the tree entries instead).
Commits on Apr 26, 2005
  1. [PATCH] introduce xmalloc and xrealloc

    Christopher Li authored Linus Torvalds committed
    Introduce xmalloc and xrealloc to die gracefully with a descriptive
    message when out of memory, rather than taking a SIGSEGV. 
    
    Signed-off-by: Christopher Li<chrislgit@chrisli.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on Apr 24, 2005
  1. Don't add references to objects we couldn't find.

    Linus Torvalds authored
    That would SIGSEGV.
  2. Verify that the object type matches for tree/commit objects even befo…

    Linus Torvalds authored
    …re parsing.
    
    The type doesn't come from the parsing, the type also has to match the usage.
  3. Set object type at object creation time, not object parse time.

    Linus Torvalds authored
    Otherwise we can have objects without a type, which is not good.
  4. [PATCH] Parse tree objects completely

    Daniel Barkalow authored Linus Torvalds committed
    This adds the contents of trees to struct tree.
    
    Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on Apr 22, 2005
  1. Move "read_tree()" to "tree.c" to be used as a generic helper function.

    Linus Torvalds authored
    Next step: make "diff-cache" use it.
Commits on Apr 18, 2005
  1. [PATCH] Implementations of parsing functions

    Daniel Barkalow authored Linus Torvalds committed
    This implements the parsing functions.
    
    Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Something went wrong with that request. Please try again.