Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on May 15, 2011
  1. @gitster

    inline lookup_replace_object() calls

    gitster authored
    In a repository without object replacement, lookup_replace_object() should
    be a no-op. Check the flag "read_replace_refs" on the side of the caller,
    and bypess a function call when we know we are not dealing with replacement.
    Also, even when we are set up to replace objects, if we do not find any
    replacement defined, flip that flag off to avoid function call overhead
    for all the later object accesses.
    As this change the semantics of the flag from "do we need read the
    replacement definition?" to "do we need to check with the lookup table?"
    the flag needs to be renamed later to something saner, e.g. "use_replace",
    when the codebase is calmer, but not now.
    Signed-off-by: Junio C Hamano <>
Commits on Mar 22, 2011
  1. @bebarino @gitster

    Fix sparse warnings

    bebarino authored gitster committed
    Fix warnings from 'make check'.
     - These files don't include 'builtin.h' causing sparse to complain that
       cmd_* isn't declared:
       builtin/clone.c:364, builtin/fetch-pack.c:797,
       builtin/fmt-merge-msg.c:34, builtin/hash-object.c:78,
       builtin/merge-index.c:69, builtin/merge-recursive.c:22
       builtin/merge-tree.c:341, builtin/mktag.c:156, builtin/notes.c:426
       builtin/notes.c:822, builtin/pack-redundant.c:596,
       builtin/pack-refs.c:10, builtin/patch-id.c:60, builtin/patch-id.c:149,
       builtin/remote.c:1512, builtin/remote-ext.c:240,
       builtin/remote-fd.c:53, builtin/reset.c:236, builtin/send-pack.c:384,
       builtin/unpack-file.c:25, builtin/var.c:75
     - These files have symbols which should be marked static since they're
       only file scope:
       submodule.c:12, diff.c:631, replace_object.c:92, submodule.c:13,
       submodule.c:14, trace.c:78, transport.c:195, transport-helper.c:79,
       unpack-trees.c:19, url.c:3, url.c:18, url.c:104, url.c:117, url.c:123,
       url.c:129, url.c:136, thread-utils.c:21, thread-utils.c:48
     - These files redeclare symbols to be different types:
       builtin/index-pack.c:210, parse-options.c:564, parse-options.c:571,
       usage.c:49, usage.c:58, usage.c:63, usage.c:72
     - These files use a literal integer 0 when they really should use a NULL
       daemon.c:663, fast-import.c:2942, imap-send.c:1072, notes-merge.c:362
    While we're in the area, clean up some unused #includes in builtin files
    (mostly exec_cmd.h).
    Signed-off-by: Stephen Boyd <>
    Signed-off-by: Junio C Hamano <>
Commits on Jun 1, 2009
  1. @chriscool @gitster

    environment: add global variable to disable replacement

    chriscool authored gitster committed
    This new "read_replace_refs" global variable is set to 1 by
    default, so that replace refs are used by default. But
    reachability traversal and packing commands ("cmd_fsck",
    "cmd_prune", "cmd_pack_objects", "upload_pack",
    "cmd_unpack_objects") set it to 0, as they must work with the
    original DAG.
    Signed-off-by: Christian Couder <>
    Signed-off-by: Junio C Hamano <>
  2. @chriscool @gitster

    replace_object: add mechanism to replace objects found in "refs/repla…

    chriscool authored gitster committed
    The code implementing this mechanism has been copied more-or-less
    from the commit graft code.
    This mechanism is used in "read_sha1_file". sha1 passed to this
    function that match a ref name in "refs/replace/" are replaced by
    the sha1 that has been read in the ref.
    We "die" if the replacement recursion depth is too high or if we
    can't read the replacement object.
    Signed-off-by: Christian Couder <>
    Signed-off-by: Junio C Hamano <>
Something went wrong with that request. Please try again.