Permalink
Commits on Feb 7, 2013
  1. Git 1.8.1.3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Feb 7, 2013
  2. Merge branch 'mz/pick-unborn' into maint

    "git cherry-pick" did not replay a root commit to an unborn branch.
    
    * mz/pick-unborn:
      learn to pick/revert into unborn branch
      tests: move test_cmp_rev to test-lib-functions
    gitster committed Feb 7, 2013
  3. Merge branch 'nd/fix-perf-parameters-in-tests' into maint

    * nd/fix-perf-parameters-in-tests:
      test-lib.sh: unfilter GIT_PERF_*
    gitster committed Feb 7, 2013
  4. Merge branch 'jc/do-not-let-random-file-interfere-with-completion-tes…

    …ts' into maint
    
    Scripts to test bash completion was inherently flaky as it was
    affected by whatever random things the user may have on $PATH.
    
    * jc/do-not-let-random-file-interfere-with-completion-tests:
      t9902: protect test from stray build artifacts
    gitster committed Feb 7, 2013
  5. Merge branch 'ft/transport-report-segv' into maint

    A failure to push due to non-ff while on an unborn branch
    dereferenced a NULL pointer when showing an error message.
    
    * ft/transport-report-segv:
      push: fix segfault when HEAD points nowhere
    gitster committed Feb 7, 2013
  6. Merge branch 'sb/gpg-plug-fd-leak' into maint

    We forgot to close the file descriptor reading from "gpg" output,
    killing "git log --show-signature" on a long history.
    
    * sb/gpg-plug-fd-leak:
      gpg: close stderr once finished with it in verify_signed_buffer()
    gitster committed Feb 7, 2013
  7. Merge branch 'jc/fake-ancestor-with-non-blobs' into maint

    Rebasing the history of superproject with change in the submodule
    has been broken since v1.7.12.
    
    * jc/fake-ancestor-with-non-blobs:
      apply: diagnose incomplete submodule object name better
      apply: simplify build_fake_ancestor()
      git-am: record full index line in the patch used while rebasing
    gitster committed Feb 7, 2013
  8. Merge branch 'jn/auto-depend-workaround-buggy-ccache' into maint

    Buggy versions of ccache broke the auto-generation of dependencies.
    
    * jn/auto-depend-workaround-buggy-ccache:
      Makefile: explicitly set target name for autogenerated dependencies
    gitster committed Feb 7, 2013
Commits on Feb 4, 2013
  1. Start preparing for 1.8.1.3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Feb 4, 2013
  2. Merge branch 'bc/git-p4-for-python-2.4' into maint

    * bc/git-p4-for-python-2.4:
      INSTALL: git-p4 does not support Python 3
      git-p4.py: support Python 2.4
      git-p4.py: support Python 2.5
    gitster committed Feb 4, 2013
  3. Merge branch 'nd/edit-branch-desc-while-detached' into maint

    Attempt to "branch --edit-description" an existing branch, while
    being on a detached HEAD, errored out.
    
    * nd/edit-branch-desc-while-detached:
      branch: no detached HEAD check when editing another branch's description
    gitster committed Feb 4, 2013
  4. Merge branch 'jn/do-not-drop-username-when-reading-from-etc-mailname'…

    … into maint
    
    We used to stuff "user@" and then append what we read from
    /etc/mailname to come up with a default e-mail ident, but a bug lost
    the "user@" part.
    
    * jn/do-not-drop-username-when-reading-from-etc-mailname:
      ident: do not drop username when reading from /etc/mailname
    gitster committed Feb 4, 2013
  5. Merge branch 'jk/cvsimport-does-not-work-with-cvsps3' into maint

    * jk/cvsimport-does-not-work-with-cvsps3:
      git-cvsimport.txt: cvsps-2 is deprecated
    gitster committed Feb 4, 2013
  6. Merge branch 'dl/am-hg-locale' into maint

    "git am" did not parse datestamp correctly from Hg generated patch,
    when it is run in a locale outside C (or en)
    
    * dl/am-hg-locale:
      am: invoke perl's strftime in C locale
    gitster committed Feb 4, 2013
  7. Merge branch 'jc/help' into maint

    * jc/help:
      help: include <common-cmds.h> only in one file
    gitster committed Feb 4, 2013
  8. Merge branch 'jc/merge-blobs' into maint

    * jc/merge-blobs:
      Makefile: Replace merge-file.h with merge-blobs.h in LIB_H
      merge-tree: fix d/f conflicts
      merge-tree: add comments to clarify what these functions are doing
      merge-tree: lose unused "resolve_directories"
      merge-tree: lose unused "flags" from merge_list
      Which merge_file() function do you mean?
    gitster committed Feb 4, 2013
  9. Merge branch 'jc/doc-maintainer' into maint

    * jc/doc-maintainer:
      howto/maintain: document "### match next" convention in jch/pu branch
      howto/maintain: mark titles for asciidoc
      Documentation: update "howto maintain git"
    gitster committed Feb 4, 2013
  10. Merge branch 'bc/fix-array-syntax-for-3.0-in-completion-bash' into maint

    Command line completion code was inadvertently made incompatible with
    older versions of bash by using a newer array notation.
    
    * bc/fix-array-syntax-for-3.0-in-completion-bash:
      git-completion.bash: replace zsh notation that breaks bash 3.X
    gitster committed Feb 4, 2013
Commits on Feb 2, 2013
  1. Makefile: explicitly set target name for autogenerated dependencies

    "gcc -MF depfile -MMD -MP -c -o path/to/file.o" produces a makefile
    snippet named "depfile" describing what files are needed to build the
    target given by "-o".  When ccache versions before v3.0pre0~187 (Fix
    handling of the -MD and -MDD options, 2009-11-01) run, they execute
    
    	gcc -MF depfile -MMD -MP -E
    
    instead to get the final content for hashing.  Notice that the "-c -o"
    combination is replaced by "-E".  The result is a target name without
    a leading path.
    
    Thus when building git with such versions of ccache with
    COMPUTE_HEADER_DEPENDENCIES enabled, the generated makefile snippets
    define dependencies for the wrong target:
    
    	$ make builtin/add.o
    	GIT_VERSION = 1.7.8.rc3
    	    * new build flags or prefix
    	    CC builtin/add.o
    	$ head -1 builtin/.depend/add.o.d
    	add.o: builtin/add.c cache.h git-compat-util.h compat/bswap.h strbuf.h \
    
    After a change in a header file, object files in a subdirectory are
    not automatically rebuilt by "make":
    
    	$ touch cache.h
    	$ make builtin/add.o
    	$
    
    Luckily we can prevent trouble by explicitly supplying the name of the
    target to ccache and gcc, using the -MQ option.  Do so.
    
    Reported-and-tested-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Reported-by: : 허종만 <jongman.heo@samsung.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Reviewed-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jrn committed with gitster Nov 18, 2011
Commits on Feb 1, 2013
  1. apply: diagnose incomplete submodule object name better

    "git am -3" uses this function to build a tree that records how the
    preimage the patch was created from would have looked like.  An
    abbreviated object name on the index line is ordinarily sufficient
    for us to figure out the object name the preimage tree would have
    contained, but a change to a submodule by definition shows an object
    name of a submodule commit which our repository should not have, and
    get_sha1_blob() is not an appropriate way to read it (or get_sha1()
    for that matter).
    
    Use get_sha1_hex() and complain if we do not find a full object name
    there.
    
    We could read from the payload part of the patch to learn the full
    object name of the commit, but the primary user "git rebase" has
    been fixed to give us a full object name, so this should suffice
    for now.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Feb 1, 2013
  2. apply: simplify build_fake_ancestor()

    The local variable sha1_ptr in the build_fake_ancestor() function
    used to either point at the null_sha1[] (if the ancestor did not
    have the path) or at sha1[] (if we read the object name into the
    local array), but 7a98869 (apply: get rid of --index-info in favor
    of --build-fake-ancestor, 2007-09-17) made the "missing in the
    ancestor" case unnecessary, hence sha1_ptr, when used, always points
    at the local array.
    
    Get rid of the unneeded variable, and restructure the if/else
    cascade a bit to make it easier to read.  There should be no
    behaviour change.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Feb 1, 2013
  3. git-am: record full index line in the patch used while rebasing

    Earlier, a230949 (am --rebasing: get patch body from commit, not
    from mailbox, 2012-06-26) learned to regenerate patch body from the
    commit object while rebasing, instead of reading from the rebase-am
    front-end.  While doing so, it used "git diff-tree" but without
    giving it the "--full-index" option.
    
    This does not matter for in-repository objects; during rebasing, any
    abbreviated object name should uniquely identify them.
    
    But we may be rebasing a commit that contains a change to a gitlink,
    in which case we usually should not have the object (it names a
    commit in the submodule).  A full object name is necessary to later
    reconstruct a fake ancestor index for them.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Feb 1, 2013
Commits on Jan 31, 2013
  1. gpg: close stderr once finished with it in verify_signed_buffer()

    Failing to close the stderr pipe in verify_signed_buffer() causes
    git to run out of file descriptors if there are many calls to
    verify_signed_buffer(). An easy way to trigger this is to run
    
     git log --show-signature --merges | grep "key"
    
    on the linux kernel git repo. Eventually it will fail with
    
     error: cannot create pipe for gpg: Too many open files
     error: could not run gpg.
    
    Close the stderr pipe so that this can't happen.
    
    Suggested-by: Jeff King <peff@peff.net>
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    bebarino committed with gitster Jan 31, 2013
  2. push: fix segfault when HEAD points nowhere

    After a push of a branch other than the current branch fails in
    a no-ff error and if you are still on an unborn branch, the code
    recently added to report the failure dereferenced a null pointer
    while checking the name of the current branch.
    
    Signed-off-by: Fraser Tweedale <frase@frase.id.au>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    frasertweedale committed with gitster Jan 31, 2013
Commits on Jan 30, 2013
  1. INSTALL: git-p4 does not support Python 3

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jan 30, 2013
  2. branch: no detached HEAD check when editing another branch's description

    Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    pclouds committed with gitster Jan 28, 2013
  3. Merge branch 'tb/t0050-maint' into maint

    Update tests that were expecting to fail due to a bug that was
    fixed earlier.
    
    * tb/t0050-maint:
      t0050: Use TAB for indentation
      t0050: honor CASE_INSENSITIVE_FS in add (with different case)
      t0050: known breakage vanished in merge (case change)
    gitster committed Jan 30, 2013
Commits on Jan 29, 2013
  1. Merge branch 'nd/fix-directory-attrs-off-by-one' into maint

    The attribute mechanism didn't allow limiting attributes to be
    applied to only a single directory itself with "path/" like the
    exclude mechanism does.  The initial implementation of this that was
    merged to 'maint' and 1.8.1.1 had severe performance degradations.
    
    * nd/fix-directory-attrs-off-by-one:
      attr: avoid calling find_basename() twice per path
      attr: fix off-by-one directory component length calculation
    gitster committed Jan 29, 2013
  2. Merge branch 'ph/rebase-preserve-all-merges' into maint

    "git rebase --preserve-merges" lost empty merges in recent versions
    of Git.
    
    * ph/rebase-preserve-all-merges:
      rebase --preserve-merges: keep all merge commits including empty ones
    gitster committed Jan 29, 2013
  3. README: update stale and/or incorrect information

    Ramkumar Ramachandra noticed that the old address for the marc
    archive no longer works.  Update it to its marc.info address,
    and also refer to the gmane site.
    
    Remove the reference to "note from the maintainer", which is not
    usually followed by any useful discussion on status, direction nor
    tasks.
    
    Also replace the reference to "What's in git.git" with "What's
    cooking".
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jan 29, 2013
Commits on Jan 28, 2013
  1. Git 1.8.1.2

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jan 28, 2013
  2. Merge branch 'ss/help-htmlpath-config-doc' into maint

    * ss/help-htmlpath-config-doc:
      config.txt: Document help.htmlpath config parameter
    gitster committed Jan 28, 2013
  3. Merge branch 'nd/attr-debug-fix' into maint

    * nd/attr-debug-fix:
      attr: make it build with DEBUG_ATTR again
    gitster committed Jan 28, 2013
  4. Merge branch 'ds/completion-silence-in-tree-path-probe' into maint

    * ds/completion-silence-in-tree-path-probe:
      git-completion.bash: silence "not a valid object" errors
    gitster committed Jan 28, 2013
  5. Merge branch 'jn/maint-trim-vim-contrib' into maint

    * jn/maint-trim-vim-contrib:
      contrib/vim: simplify instructions for old vim support
    gitster committed Jan 28, 2013