Skip to content
Commits on Mar 22, 2011
  1. @bebarino @gitster

    Fix sparse warnings

    bebarino committed with gitster
    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 Mar 8, 2011
  1. @peff @gitster

    trace: give repo_setup trace its own key

    peff committed with gitster
    You no longer get this output with GIT_TRACE=1; instead, you
    can do GIT_TRACE_SETUP=1.
    Signed-off-by: Jeff King <>
    Signed-off-by: Junio C Hamano <>
  2. @peff @gitster

    trace: add trace_strbuf

    peff committed with gitster
    If you happen to have a strbuf, it is a little more readable
    and a little more efficient to be able to print it directly
    instead of jamming it through the trace_printf interface.
    Signed-off-by: Jeff King <>
    Signed-off-by: Junio C Hamano <>
  3. @peff @gitster

    trace: factor out "do we want to trace" logic

    peff committed with gitster
    As we add more tracing areas, this will avoid repeated code.
    Technically, trace_printf already checks this and will avoid
    printing if the trace key is not set. However, callers may
    want to find out early whether or not tracing is enabled so
    they can avoid doing work in the common non-trace case.
    Signed-off-by: Jeff King <>
    Signed-off-by: Junio C Hamano <>
  4. @peff @gitster

    trace: refactor to support multiple env variables

    peff committed with gitster
    Right now you turn all tracing off and on with GIT_TRACE. To
    support new types of tracing without forcing the user to see
    all of them, we will soon support turning each tracing area
    on with GIT_TRACE_*.
    This patch lays the groundwork by providing an interface
    which does not assume GIT_TRACE. However, we still maintain
    the trace_printf interface so that existing callers do not
    need to be refactored.
    Signed-off-by: Jeff King <>
    Signed-off-by: Junio C Hamano <>
  5. @peff @gitster

    trace: add trace_vprintf

    peff committed with gitster
    This is a necessary cleanup to adding new types of trace
    Signed-off-by: Jeff King <>
    Signed-off-by: Junio C Hamano <>
Commits on Feb 26, 2011
  1. @peff @gitster

    strbuf: add strbuf_vaddf

    peff committed with gitster
    In a variable-args function, the code for writing into a strbuf is
    non-trivial. We ended up cutting and pasting it in several places
    because there was no vprintf-style function for strbufs (which in turn
    was held up by a lack of va_copy).
    Now that we have a fallback va_copy, we can add strbuf_vaddf, the
    strbuf equivalent of vsprintf. And we can clean up the cut and paste
    Signed-off-by: Jeff King <>
    Improved-by: Christian Couder <>
    Signed-off-by: Jonathan Nieder <>
    Signed-off-by: Junio C Hamano <>
Commits on Jan 6, 2011
  1. @drafnel @gitster

    trace.c: ensure NULL is not passed to printf

    drafnel committed with gitster
    GNU printf, and many others, will print the string "(null)" if a NULL
    pointer is passed as the argument to a "%s" format specifier.  Some
    implementations (like on Solaris) do not detect a NULL pointer and will
    produce a segfault in this case.
    So, fix this by ensuring that pointer variables do not contain the value
    NULL.  Assign the string "(null)" to the variables are NULL.
    Signed-off-by: Brandon Casey <>
    Signed-off-by: Junio C Hamano <>
Commits on Dec 28, 2010
  1. @gitster

    Merge branch 'nd/setup'

    gitster committed
    * nd/setup: (47 commits)
      setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd
      git.txt: correct where --work-tree path is relative to
      Revert "Documentation: always respect core.worktree if set"
      t0001: test git init when run via an alias
      Remove all logic from get_git_work_tree()
      setup: rework setup_explicit_git_dir()
      setup: clean up setup_discovered_git_dir()
      t1020-subdirectory: test alias expansion in a subdirectory
      setup: clean up setup_bare_git_dir()
      setup: limit get_git_work_tree()'s to explicit setup case only
      Use git_config_early() instead of git_config() during repo setup
      Add git_config_early()
      git-rev-parse.txt: clarify --git-dir
      t1510: setup case #31
      t1510: setup case #30
      t1510: setup case #29
      t1510: setup case #28
      t1510: setup case #27
      t1510: setup case #26
      t1510: setup case #25
Commits on Dec 21, 2010
  1. @gitster

    set_try_to_free_routine(NULL) means "do nothing special"

    gitster committed
    This way, the next caller that wants to disable our memory reclamation
    machinery does not have to define its own do_nothing() stub.
    Signed-off-by: Junio C Hamano <>
Commits on Dec 17, 2010
  1. @vvavrychuk @gitster

    trace.c: mark file-local function static

    vvavrychuk committed with gitster
    Signed-off-by: Vasyl' Vavrychuk <>
    Signed-off-by: Junio C Hamano <>
Commits on Nov 29, 2010
  1. @pclouds @gitster

    builtins: print setup info if repo is found

    pclouds committed with gitster
    Signed-off-by: Nguyễn Thái Ngọc Duy <>
    Signed-off-by: Junio C Hamano <>
Commits on May 9, 2010
  1. @j6t @gitster

    Do not call release_pack_memory in malloc wrappers when GIT_TRACE is …

    j6t committed with gitster
    This avoids a potential race condition when async procedures are
    implemented as threads where release_pack_memory() can be called from
    different threads without locking under memory pressure.
    Signed-off-by: Johannes Sixt <>
    Signed-off-by: Junio C Hamano <>
Commits on Feb 25, 2009
  1. @allancaffee @gitster

    trace: Fixed a minor typo in an error message.

    allancaffee committed with gitster
    Signed-off-by: Allan Caffee <>
    Signed-off-by: Junio C Hamano <>
Commits on Dec 4, 2007
  1. @chriscool @gitster

    Trace and quote with argv: get rid of unneeded count argument.

    chriscool committed with gitster
    Now that str_buf takes care of all the allocations, there is
    no more gain to pass an argument count.
    So this patch removes the "count" argument from:
    	- "sq_quote_argv"
    	- "trace_argv_printf"
    and all the callers.
    Signed-off-by: Christian Couder <>
    Signed-off-by: Junio C Hamano <>
Commits on Nov 26, 2007
  1. @sprohaska @gitster

    Use is_absolute_path() in diff-lib.c, lockfile.c, setup.c, trace.c

    sprohaska committed with gitster
    Using the helper function to test for absolute paths makes porting easier.
    Signed-off-by: Steffen Prohaska <>
    Signed-off-by: Junio C Hamano <>
Commits on Nov 14, 2007
  1. @spearce @gitster

    Handle broken vsnprintf implementations in strbuf

    spearce committed with gitster
    Solaris 9's vsnprintf implementation returns -1 if we pass it a
    buffer of length 0.  The only way to get it to give us the actual
    length necessary for the formatted string is to grow the buffer
    out to have at least 1 byte available in the strbuf and then ask
    it to compute the length.
    If the available space is 0 I'm growing it out by 64 to ensure
    we will get an accurate length estimate from all implementations.
    Some callers may need to grow the strbuf again but 64 should be a
    reasonable enough initial growth.
    We also no longer silently fail to append to the string when we are
    faced with a broken vsnprintf implementation.  On Solaris 9 this
    silent failure caused me to no longer be able to execute "git clone"
    as we tried to exec the empty string rather than "git-clone".
    Signed-off-by: Shawn O. Pearce <>
    Signed-off-by: Junio C Hamano <>
Commits on Sep 21, 2007
  1. @gitster

    sq_quote_argv and add_to_string rework with strbuf's.

    Pierre Habouzit committed with gitster
    * sq_quote_buf is made public, and works on a strbuf.
    * sq_quote_argv also works on a strbuf.
    * make sq_quote_argv take a "maxlen" argument to check the buffer won't grow
      too big.
    Signed-off-by: Pierre Habouzit <>
    Signed-off-by: Junio C Hamano <>
  2. @gitster

    nfv?asprintf are broken without va_copy, workaround them.

    Pierre Habouzit committed with gitster
    * drop nfasprintf.
    * move nfvasprintf into imap-send.c back, and let it work on a 8k buffer,
      and die() in case of overflow. It should be enough for imap commands, if
      someone cares about imap-send, he's welcomed to fix it properly.
    * replace nfvasprintf use in merge-recursive with a copy of the strbuf_addf
      logic, it's one place, we'll live with it.
      To ease the change, output_buffer string list is replaced with a strbuf ;)
    * rework trace.c to call vsnprintf itself.  It's used to format strerror()s
      and git command names, it should never be more than a few octets long, let
      it work on a 8k static buffer with vsnprintf or die loudly.
    Signed-off-by: Pierre Habouzit <>
Commits on Mar 11, 2007
  1. git-branch, git-checkout: autosetup for remote branch tracking

    Paolo Bonzini committed with Junio C Hamano
    In order to track and build on top of a branch 'topic' you track from
    your upstream repository, you often would end up doing this sequence:
      git checkout -b mytopic origin/topic
      git config --add branch.mytopic.remote origin
      git config --add branch.mytopic.merge refs/heads/topic
    This would first fork your own 'mytopic' branch from the 'topic'
    branch you track from the 'origin' repository; then it would set up two
    configuration variables so that 'git pull' without parameters does the
    right thing while you are on your own 'mytopic' branch.
    This commit adds a --track option to git-branch, so that "git
    branch --track mytopic origin/topic" performs the latter two actions
    when creating your 'mytopic' branch.
    If the configuration variable branch.autosetupmerge is set to true, you
    do not have to pass the --track option explicitly; further patches in
    this series allow setting the variable with a "git remote add" option.
    The configuration variable is off by default, and there is a --no-track
    option to countermand it even if the variable is set.
    Signed-off-by: Paolo Bonzini  <>
    Signed-off-by: Junio C Hamano <>
Commits on Jan 8, 2007
  1. @awhitcroft

    short i/o: clean up the naming for the write_{in,or}_xxx family

    awhitcroft committed with Junio C Hamano
    We recently introduced a write_in_full() which would either write
    the specified object or emit an error message and fail.  In order
    to fix the read side we now want to introduce a read_in_full()
    but without an error emit.  This patch cleans up the naming
    of this family of calls:
    1) convert the existing write_or_whine() to write_or_whine_pipe()
       to better indicate its pipe specific nature,
    2) convert the existing write_in_full() calls to write_or_whine()
       to better indicate its nature,
    3) introduce a write_in_full() providing a write or fail semantic,
    4) convert write_or_whine() and write_or_whine_pipe() to use
    Signed-off-by: Andy Whitcroft <>
    Signed-off-by: Junio C Hamano <>
Commits on Oct 14, 2006
  1. @chriscool

    Fix tracing when GIT_TRACE is set to an empty string.

    chriscool committed with Junio C Hamano
    Signed-off-by: Christian Couder <>
    Signed-off-by: Junio C Hamano <>
Commits on Sep 13, 2006
  1. @chriscool

    Fix space in string " false" problem in "trace.c".

    chriscool committed with Junio C Hamano
    Signed-off-by: Christian Couder <>
    Signed-off-by: Junio C Hamano <>
Commits on Sep 2, 2006
  1. @chriscool

    Trace into a file or an open fd and refactor tracing code.

    chriscool committed with Junio C Hamano
    If GIT_TRACE is set to an absolute path (starting with a
    '/' character), we interpret this as a file path and we
    trace into it.
    Also if GIT_TRACE is set to an integer value greater than
    1 and lower than 10, we interpret this as an open fd value
    and we trace into it.
    Note that this behavior is not compatible with the
    previous one.
    We also trace whole messages using one write(2) call to
    make sure messages from processes do net get mixed up in
    the middle.
    This patch makes it possible to get trace information when
    running "make test".
    Signed-off-by: Christian Couder <>
    Signed-off-by: Junio C Hamano <>
Something went wrong with that request. Please try again.