Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Commits on Sep 2, 2015
  1. Git 2.6-rc0

    Signed-off-by: Junio C Hamano <>
  2. Merge branch 'cc/trailers-corner-case-fix'

    The "interpret-trailers" helper mistook a multi-paragraph title of
    a commit log message with a colon in it as the end of the trailer
    * cc/trailers-corner-case-fix:
      trailer: support multiline title
  3. Merge branch 'sb/read-cache-one-indent-style-fix'

    * sb/read-cache-one-indent-style-fix:
      read-cache: fix indentation in read_index_from
  4. Merge branch 'ee/clean-test-fixes'

    * ee/clean-test-fixes:
      t7300: fix broken && chains
  5. Merge branch 'jk/log-missing-default-HEAD'

    "git init empty && git -C empty log" said "bad default revision 'HEAD'",
    which was found to be a bit confusing to new users.
    * jk/log-missing-default-HEAD:
      log: diagnose empty HEAD more clearly
Commits on Sep 1, 2015
  1. Ninth batch for 2.6

    Signed-off-by: Junio C Hamano <>
  2. Merge branch 'dt/commit-preserve-base-index-upon-opportunistic-cache-…

    When re-priming the cache-tree opportunistically while committing
    the in-core index as-is, we mistakenly invalidated the in-core
    index too aggressively, causing the experimental split-index code
    to unnecessarily rewrite the on-disk index file(s).
    * dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update:
      commit: don't rewrite shared index unnecessarily
  3. Merge branch 'rt/remove-hold-lockfile-for-append'

    * rt/remove-hold-lockfile-for-append:
      lockfile: remove function "hold_lock_file_for_append"
  4. Merge branch 'rs/archive-zip-many'

    "git archive" did not use zip64 extension when creating an archive
    with more than 64k entries, which nobody should need, right ;-)?
    * rs/archive-zip-many:
      archive-zip: support more than 65535 entries
      archive-zip: use a local variable to store the creator version
      t5004: test ZIP archives with many entries
  5. Merge branch 'ls/p4-fold-case-client-specs'

    On case insensitive systems, "git p4" did not work well with client
    * ls/p4-fold-case-client-specs:
      git-p4: honor core.ignorecase when using P4 client specs
  6. Merge branch 'ah/submodule-typofix-in-error'

    Error string fix.
    * ah/submodule-typofix-in-error:
      git-submodule: remove extraneous space from error message
  7. Merge branch 'ah/reflog-typofix-in-error'

    Error string fix.
    * ah/reflog-typofix-in-error:
      reflog: add missing single quote to error message
  8. Merge branch 'ah/read-tree-usage-string'

    Usage string fix.
    * ah/read-tree-usage-string:
      read-tree: replace bracket set with parentheses to clarify usage
  9. Merge branch 'ah/pack-objects-usage-strings'

    Usage string fix.
    * ah/pack-objects-usage-strings:
      pack-objects: place angle brackets around placeholders in usage strings
  10. Merge branch 'br/svn-doc-include-paths-config'

    * br/svn-doc-include-paths-config:
      git-svn doc: mention "svn-remote.<name>.include-paths"
  11. Merge branch 'nd/fixup-linked-gitdir'

    The code in "multiple-worktree" support that attempted to recover
    from an inconsistent state updated an incorrect file.
    * nd/fixup-linked-gitdir:
      setup: update the right file in multiple checkouts
Commits on Aug 31, 2015
  1. Eighth batch for 2.6

    Signed-off-by: Junio C Hamano <>
  2. Merge branch 'sg/describe-contains'

    "git describe" without argument defaulted to describe the HEAD
    commit, but "git describe --contains" didn't.  Arguably, in a
    repository used for active development, such defaulting would not
    be very useful as the tip of branch is typically not tagged, but it
    is better to be consistent.
    * sg/describe-contains:
      describe --contains: default to HEAD when no commit-ish is given
  3. Merge branch 'db/push-sign-if-asked'

    The client side codepaths in "git push" have been cleaned up
    and the user can request to perform an optional "signed push",
    i.e. sign only when the other end accepts signed push.
    * db/push-sign-if-asked:
      push: add a config option push.gpgSign for default signed pushes
      push: support signing pushes iff the server supports it
      builtin/send-pack.c: use parse_options API
      config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
      transport: remove git_transport_options.push_cert
      gitremote-helpers.txt: document pushcert option
      Documentation/git-send-pack.txt: document --signed
      Documentation/git-send-pack.txt: wrap long synopsis line
      Documentation/git-push.txt: document when --signed may fail
  4. Merge branch 'jk/notes-merge-config'

    "git notes merge" can be told with "--strategy=<how>" option how to
    automatically handle conflicts; this can now be configured by
    setting notes.mergeStrategy configuration variable.
    * jk/notes-merge-config:
      notes: teach git-notes about notes.<name>.mergeStrategy option
      notes: add notes.mergeStrategy option to select default strategy
      notes: add tests for --commit/--abort/--strategy exclusivity
      notes: extract parse_notes_merge_strategy to notes-utils
      notes: extract enum notes_merge_strategy to notes-utils.h
      notes: document cat_sort_uniq rewriteMode
  5. Merge branch 'jc/am-state-fix'

    Recent reimplementation of "git am" changed the format of state
    files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
    primarily because write_file() API was cumbersome to use and it was
    easy to mistakenly make text files with incomplete lines.  Update
    write_file() interface to make it harder to misuse.
    * jc/am-state-fix:
      write_file(): drop caller-supplied LF from calls to create a one-liner file
      write_file_v(): do not leave incomplete line at the end
      write_file(): drop "fatal" parameter
      builtin/am: make sure state files are text
      builtin/am: introduce write_state_*() helper functions
  6. Merge branch 'jc/log-p-cc'

    "git log --cc" did not show any patch, even though most of the time
    the user meant "git log --cc -p -m" to see patch output for commits
    with a single parent, and combined diff for merge commits.  The
    command is taught to DWIM "--cc" (without "--raw" and other forms
    of output specification) to "--cc -p -m".
    * jc/log-p-cc:
      builtin/log.c: minor reformat
      log: show merge commit when --cc is given
      log: when --cc is given, default to -p unless told otherwise
      log: rename "tweak" helpers
  7. Merge branch 'jk/fix-alias-pager-config-key-warnings'

    Because the configuration system does not allow "alias.0foo" and
    "pager.0foo" as the configuration key, the user cannot use '0foo'
    as a custom command name anyway, but "git 0foo" tried to look these
    keys up and emitted useless warnings before saying '0foo is not a
    git command'.  These warning messages have been squelched.
    * jk/fix-alias-pager-config-key-warnings:
      config: silence warnings for command names with invalid keys
  8. Merge branch 'jk/rev-list-has-no-notes'

    "git rev-list" does not take "--notes" option, but did not complain
    when one is given.
    * jk/rev-list-has-no-notes:
      rev-list: make it obvious that we do not support notes
  9. Merge branch 'hv/submodule-config'

    The gitmodules API accessed from the C code learned to cache stuff
    * hv/submodule-config:
      submodule: allow erroneous values for the fetchRecurseSubmodules option
      submodule: use new config API for worktree configurations
      submodule: extract functions for config set and lookup
      submodule: implement a config API for lookup of .gitmodules values
  10. Merge branch 'sg/config-name-only'

    "git config --list" output was hard to parse when values consist of
    multiple lines.  "--name-only" option is added to help this.
    * sg/config-name-only:
      get_urlmatch: avoid useless strbuf write
      format_config: simplify buffer handling
      format_config: don't init strbuf
      config: restructure format_config() for better control flow
      completion: list variable names reliably with 'git config --name-only'
      config: add '--name-only' option to list only variable names
  11. @stefanbeller

    read-cache: fix indentation in read_index_from

    stefanbeller authored committed
    Signed-off-by: Stefan Beller <>
    Signed-off-by: Junio C Hamano <>
  12. trailer: support multiline title

    Christian Couder authored committed
    We currently ignore the first line passed to `git interpret-trailers`,
    when looking for the beginning of the trailers.
    Unfortunately this does not work well when a commit is created with a
    line break in the title, using for example the following command:
    git commit -m 'place of
    code: change we made'
    That's why instead of ignoring only the first line, it is better to
    ignore the first paragraph.
    Signed-off-by: Christian Couder <>
    Signed-off-by: Junio C Hamano <>
  13. @elfstrom

    t7300: fix broken && chains

    elfstrom authored committed
    While we are here, remove some boilerplate by using test_commit.
    Signed-off-by: Erik Elfström <>
    Signed-off-by: Junio C Hamano <>
  14. @peff

    log: diagnose empty HEAD more clearly

    peff authored committed
    If you init or clone an empty repository, the initial
    message from running "git log" is not very friendly:
      $ git init
      Initialized empty Git repository in /home/peff/foo/.git/
      $ git log
      fatal: bad default revision 'HEAD'
    Let's detect this situation and write a more friendly
      $ git log
      fatal: your current branch 'master' does not have any commits yet
    We also detect the case that 'HEAD' points to a broken ref;
    this should be even less common, but is easy to see. Note
    that we do not diagnose all possible cases. We rely on
    resolve_ref, which means we do not get information about
    complex cases. E.g., "--default master" would use dwim_ref
    to find "refs/heads/master", but we notice only that
    "master" does not exist. Similarly, a complex sha1
    expression like "--default HEAD^2" will not resolve as a
    But that's OK. We fall back to a generic error message in
    those cases, and they are unlikely to be used anyway.
    Catching an empty or broken "HEAD" improves the common case,
    and the other cases are not regressed.
    Signed-off-by: Jeff King <>
    Signed-off-by: Junio C Hamano <>
  15. @dturner-tw

    commit: don't rewrite shared index unnecessarily

    dturner-tw authored committed
    Remove a cache invalidation which would cause the shared index to be
    rewritten on as-is commits.
    When the cache-tree has changed, we need to update it.  But we don't
    necessarily need to update the shared index.  So setting
    active_cache_changed to SOMETHING_CHANGED is unnecessary.  Instead, we
    let update_main_cache_tree just update the CACHE_TREE_CHANGED bit.
    In order to test this, make test-dump-split-index not segfault on
    missing replace_bitmap/delete_bitmap.  This new codepath is not called
    now that the test passes, but is necessary to avoid a segfault when the
    new test is run with the old builtin/commit.c code.
    Signed-off-by: David Turner <>
    Acked-by: Nguyễn Thái Ngọc Duy <>
    Signed-off-by: Junio C Hamano <>
Commits on Aug 28, 2015
  1. Sync with 2.5.1

  2. Seventh batch for 2.6

    Signed-off-by: Junio C Hamano <>
  3. Merge branch 'cc/trailers-corner-case-fix'

    "interpret-trailers" helper mistook a single-liner log message that
    has a colon as the end of existing trailer.
    * cc/trailers-corner-case-fix:
      trailer: retitle a test and correct an in-comment message
      trailer: ignore first line of message
  4. Merge branch 'dt/untracked-subdir'

    The experimental untracked-cache feature were buggy when paths with
    a few levels of subdirectories are involved.
    * dt/untracked-subdir:
      untracked cache: fix entry invalidation
      untracked-cache: fix subdirectory handling
Something went wrong with that request. Please try again.