1. 24 4月, 2017 3 次提交
    • J
      Merge branch 'dt/http-postbuffer-can-be-large' · 4c01f67d
      Junio C Hamano 提交于
      Allow the http.postbuffer configuration variable to be set to a
      size that can be expressed in size_t, which can be larger than
      ulong on some platforms.
      
      * dt/http-postbuffer-can-be-large:
        http.postbuffer: allow full range of ssize_t values
      4c01f67d
    • J
      Merge branch 'tb/doc-eol-normalization' · 848d9a9b
      Junio C Hamano 提交于
      Doc update.
      
      * tb/doc-eol-normalization:
        gitattributes.txt: document how to normalize the line endings
      848d9a9b
    • J
      Merge branch 'sr/http-proxy-configuration-fix' · 6b51cb61
      Junio C Hamano 提交于
      "http.proxy" set to an empty string is used to disable the usage of
      proxy.  We broke this early last year.
      
      * sr/http-proxy-configuration-fix:
        http: fix the silent ignoring of proxy misconfiguraion
        http: honor empty http.proxy option to bypass proxy
      6b51cb61
  2. 20 4月, 2017 18 次提交
    • J
      Git 2.13-rc0 · 6a2c2f8d
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6a2c2f8d
    • J
      Merge branch 'jh/memihash-opt' · 8377f345
      Junio C Hamano 提交于
      Hotfix for a topic that is already in 'master'.
      
      * jh/memihash-opt:
        p0004: make perf test executable
        t3008: skip lazy-init test on a single-core box
        test-online-cpus: helper to return cpu count
        name-hash: fix buffer overrun
      8377f345
    • J
      Merge branch 'vn/revision-shorthand-for-side-branch-log' · 5feb8b84
      Junio C Hamano 提交于
      Doc cleanup.
      
      * vn/revision-shorthand-for-side-branch-log:
        doc/revisions: remove brackets from rev^-n shorthand
      5feb8b84
    • J
      Merge branch 'sf/putty-w-args' · c96e3ce6
      Junio C Hamano 提交于
      * sf/putty-w-args:
        connect.c: handle errors from split_cmdline
      c96e3ce6
    • J
      Merge branch 'ld/p4-current-branch-fix' · c2cbb30f
      Junio C Hamano 提交于
      "git p4" used "name-rev HEAD" when it wants to learn what branch is
      checked out; it should use "symbolic-ref HEAD".
      
      * ld/p4-current-branch-fix:
        git-p4: don't use name-rev to get current branch
        git-p4: add read_pipe_text() internal function
        git-p4: add failing test for name-rev rather than symbolic-ref
      c2cbb30f
    • J
      Merge branch 'dt/gc-ignore-old-gc-logs' · 442136f7
      Junio C Hamano 提交于
      * dt/gc-ignore-old-gc-logs:
        t6500: wait for detached auto gc at the end of the test script
      442136f7
    • J
      Merge branch 'bw/attr-pathspec' · 2f9dfb83
      Junio C Hamano 提交于
      * bw/attr-pathspec:
        pathspec: fix segfault in clear_pathspec
      2f9dfb83
    • J
      Merge branch 'ab/grep-plug-pathspec-leak' · df3b1192
      Junio C Hamano 提交于
      Call clear_pathspec() to release resources immediately before the
      cmd_grep() function returns.
      
      * ab/grep-plug-pathspec-leak:
        grep: plug a trivial memory leak
      df3b1192
    • J
      Merge branch 'jk/no-looking-at-dotgit-outside-repo' · eb3af74e
      Junio C Hamano 提交于
      Clean up fallouts from recent tightening of the set-up sequence,
      where Git barfs when repository information is accessed without
      first ensuring that it was started in a repository.
      
      * jk/no-looking-at-dotgit-outside-repo:
        test-read-cache: setup git dir
        has_sha1_file: don't bother if we are not in a repository
      eb3af74e
    • J
      Merge branch 'nd/files-backend-git-dir' · 5ab8f226
      Junio C Hamano 提交于
      The "submodule" specific field in the ref_store structure is
      replaced with a more generic "gitdir" that can later be used also
      when dealing with ref_store that represents the set of refs visible
      from the other worktrees.
      
      * nd/files-backend-git-dir: (28 commits)
        refs.h: add a note about sorting order of for_each_ref_*
        t1406: new tests for submodule ref store
        t1405: some basic tests on main ref store
        t/helper: add test-ref-store to test ref-store functions
        refs: delete pack_refs() in favor of refs_pack_refs()
        files-backend: avoid ref api targeting main ref store
        refs: new transaction related ref-store api
        refs: add new ref-store api
        refs: rename get_ref_store() to get_submodule_ref_store() and make it public
        files-backend: replace submodule_allowed check in files_downcast()
        refs: move submodule code out of files-backend.c
        path.c: move some code out of strbuf_git_path_submodule()
        refs.c: make get_main_ref_store() public and use it
        refs.c: kill register_ref_store(), add register_submodule_ref_store()
        refs.c: flatten get_ref_store() a bit
        refs: rename lookup_ref_store() to lookup_submodule_ref_store()
        refs.c: introduce get_main_ref_store()
        files-backend: remove the use of git_path()
        files-backend: add and use files_ref_path()
        files-backend: add and use files_reflog_path()
        ...
      5ab8f226
    • J
      Merge branch 'bw/submodule-is-active' · 52d77af4
      Junio C Hamano 提交于
      Error message fix.
      
      * bw/submodule-is-active:
        submodule--helper: fix typo in is_active error message
      52d77af4
    • J
      Merge branch 'va/i18n-perl-scripts' · 34130cc0
      Junio C Hamano 提交于
      Message fix.
      
      * va/i18n-perl-scripts:
        git-add--interactive.perl: add missing dot in a message
      34130cc0
    • J
      Merge branch 'sb/submodule-rm-absorb' · a06380be
      Junio C Hamano 提交于
      Error message fix.
      
      * sb/submodule-rm-absorb:
        submodule.c: add missing ' in error messages
      a06380be
    • J
      Merge branch 'ah/diff-files-ours-theirs-doc' · 7203bafa
      Junio C Hamano 提交于
      The diff options "--ours", "--theirs" exist for quite some time.
      But so far they were not documented. Now they are.
      
      * ah/diff-files-ours-theirs-doc:
        diff-files: document --ours etc.
      7203bafa
    • J
      Merge branch 'lt/mailinfo-in-body-header-continuation' · 74a74bee
      Junio C Hamano 提交于
      If a patch e-mail had its first paragraph after an in-body header
      indented (even after a blank line after the in-body header line),
      the indented line was mistook as a continuation of the in-body
      header.  This has been fixed.
      
      * lt/mailinfo-in-body-header-continuation:
        mailinfo: fix in-body header continuations
      74a74bee
    • J
      Merge branch 'bw/push-options-recursively-to-submodules' · 872e2cf0
      Junio C Hamano 提交于
      "git push --recurse-submodules --push-option=<string>" learned to
      propagate the push option recursively down to pushes in submodules.
      
      * bw/push-options-recursively-to-submodules:
        push: propagate remote and refspec with --recurse-submodules
        submodule--helper: add push-check subcommand
        remote: expose parse_push_refspec function
        push: propagate push-options with --recurse-submodules
        push: unmark a local variable as static
      872e2cf0
    • J
      Merge branch 'bc/object-id' · b1081e40
      Junio C Hamano 提交于
      Conversion from unsigned char [40] to struct object_id continues.
      
      * bc/object-id:
        Documentation: update and rename api-sha1-array.txt
        Rename sha1_array to oid_array
        Convert sha1_array_for_each_unique and for_each_abbrev to object_id
        Convert sha1_array_lookup to take struct object_id
        Convert remaining callers of sha1_array_lookup to object_id
        Make sha1_array_append take a struct object_id *
        sha1-array: convert internal storage for struct sha1_array to object_id
        builtin/pull: convert to struct object_id
        submodule: convert check_for_new_submodule_commits to object_id
        sha1_name: convert disambiguate_hint_fn to take object_id
        sha1_name: convert struct disambiguate_state to object_id
        test-sha1-array: convert most code to struct object_id
        parse-options-cb: convert sha1_array_append caller to struct object_id
        fsck: convert init_skiplist to struct object_id
        builtin/receive-pack: convert portions to struct object_id
        builtin/pull: convert portions to struct object_id
        builtin/diff: convert to struct object_id
        Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
        Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
        Define new hash-size constants for allocating memory
      b1081e40
    • J
      Merge branch 'sb/submodule-short-status' · c703555c
      Junio C Hamano 提交于
      The output from "git status --short" has been extended to show
      various kinds of dirtyness in submodules differently; instead of to
      "M" for modified, 'm' and '?' can be shown to signal changes only
      to the working tree of the submodule but not the commit that is
      checked out.
      
      * sb/submodule-short-status:
        submodule.c: correctly handle nested submodules in is_submodule_modified
        short status: improve reporting for submodule changes
        submodule.c: stricter checking for submodules in is_submodule_modified
        submodule.c: port is_submodule_modified to use porcelain 2
        submodule.c: convert is_submodule_modified to use strbuf_getwholeline
        submodule.c: factor out early loop termination in is_submodule_modified
        submodule.c: use argv_array in is_submodule_modified
      c703555c
  3. 19 4月, 2017 1 次提交
  4. 17 4月, 2017 18 次提交
    • K
      doc/revisions: remove brackets from rev^-n shorthand · 733e064d
      Kyle Meyer 提交于
      Given that other instances of "{...}" in the revision documentation
      represent literal characters of revision specifications, describing
      the rev^-n shorthand as "<rev>^-{<n>}" incorrectly suggests that
      something like "master^-{1}" is an acceptable form.
      Signed-off-by: NKyle Meyer <kyle@kyleam.com>
      Reviewed-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      733e064d
    • J
      Twelfth batch for 2.13 · 584f8975
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      584f8975
    • J
      Merge branch 'js/difftool-builtin' · 7b612c96
      Junio C Hamano 提交于
      Code cleanup.
      
      * js/difftool-builtin:
        difftool: fix use-after-free
        difftool: avoid strcpy
      7b612c96
    • J
      Merge branch 'sb/unpack-trees-would-lose-submodule-message-update' · c8a8951c
      Junio C Hamano 提交于
      Update an error message.
      
      * sb/unpack-trees-would-lose-submodule-message-update:
        unpack-trees.c: align submodule error message to the other error messages
      c8a8951c
    • J
      Merge branch 'ab/regen-perl-mak-with-different-perl' · 3817d631
      Junio C Hamano 提交于
      Update the build dependency so that an update to /usr/bin/perl
      etc. result in recomputation of perl.mak file.
      
      * ab/regen-perl-mak-with-different-perl:
        perl: regenerate perl.mak if perl -V changes
      3817d631
    • J
      Merge branch 'sb/show-diff-for-submodule-in-diff-fix' · 1776a710
      Junio C Hamano 提交于
      "git diff --submodule=diff" learned to work better in a project
      with a submodule that in turn has its own submodules.
      
      * sb/show-diff-for-submodule-in-diff-fix:
        diff: submodule inline diff to initialize env array.
      1776a710
    • J
      Merge branch 'qp/bisect-docfix' · 263fd041
      Junio C Hamano 提交于
      Doc update.
      
      * qp/bisect-docfix:
        git-bisect.txt: add missing word
      263fd041
    • J
      Merge branch 'mm/ls-files-s-doc' · 97d9e979
      Junio C Hamano 提交于
      Doc update.
      
      * mm/ls-files-s-doc:
        Documentation: document elements in "ls-files -s" output in order
      97d9e979
    • J
      Merge branch 'jk/loose-object-info-report-error' · dfe46c5c
      Junio C Hamano 提交于
      Update error handling for codepath that deals with corrupt loose
      objects.
      
      * jk/loose-object-info-report-error:
        index-pack: detect local corruption in collision check
        sha1_loose_object_info: return error for corrupted objects
      dfe46c5c
    • J
      Merge branch 'jc/bs-t-is-not-a-tab-for-sed' · 3c833cae
      Junio C Hamano 提交于
      Code cleanup.
      
      * jc/bs-t-is-not-a-tab-for-sed:
        contrib/git-resurrect.sh: do not write \t for HT in sed scripts
      3c833cae
    • J
      Merge branch 'jc/unused-symbols' · 93a96cce
      Junio C Hamano 提交于
      Code cleanup.
      
      * jc/unused-symbols:
        remote.[ch]: parse_push_cas_option() can be static
      93a96cce
    • J
      Merge branch 'jk/snprintf-cleanups' · cb054eb2
      Junio C Hamano 提交于
      Code clean-up.
      
      * jk/snprintf-cleanups:
        daemon: use an argv_array to exec children
        gc: replace local buffer with git_path
        transport-helper: replace checked snprintf with xsnprintf
        convert unchecked snprintf into xsnprintf
        combine-diff: replace malloc/snprintf with xstrfmt
        replace unchecked snprintf calls with heap buffers
        receive-pack: print --pack-header directly into argv array
        name-rev: replace static buffer with strbuf
        create_branch: use xstrfmt for reflog message
        create_branch: move msg setup closer to point of use
        avoid using mksnpath for refs
        avoid using fixed PATH_MAX buffers for refs
        fetch: use heap buffer to format reflog
        tag: use strbuf to format tag header
        diff: avoid fixed-size buffer for patch-ids
        odb_mkstemp: use git_path_buf
        odb_mkstemp: write filename into strbuf
        do not check odb_mkstemp return value for errors
      cb054eb2
    • L
      git-p4: don't use name-rev to get current branch · eff45110
      Luke Diamand 提交于
      git-p4 was using "git name-rev" to find out the current branch.
      
      That is not safe, since if multiple branches or tags point at
      the same revision, the result obtained might not be what is
      expected.
      
      Instead use "git symbolic-ref".
      Signed-off-by: NLuke Diamand <luke@diamand.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      eff45110
    • L
      git-p4: add read_pipe_text() internal function · 78871bf4
      Luke Diamand 提交于
      The existing read_pipe() function returns an empty string on
      error, but also returns an empty string if the command returns
      an empty string.
      
      This leads to ugly constructions trying to detect error cases.
      
      Add read_pipe_text() which just returns None on error.
      Signed-off-by: NLuke Diamand <luke@diamand.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      78871bf4
    • L
      git-p4: add failing test for name-rev rather than symbolic-ref · 3d553cce
      Luke Diamand 提交于
      Using name-rev to find the current git branch means that git-p4
      does not correctly get the current branch name if there are
      multiple branches pointing at HEAD, or a tag.
      
      This change adds a test case which demonstrates the problem.
      Configuring which branches are allowed to be submitted from goes
      wrong, as git-p4 gets confused about which branch is in use.
      
      This appears to be the only place that git-p4 actually cares
      about the current branch.
      Signed-off-by: NLuke Diamand <luke@diamand.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3d553cce
    • R
      test-read-cache: setup git dir · bccb22cb
      René Scharfe 提交于
      b1ef400e (setup_git_env: avoid blind fall-back to ".git") made programs
      that tried to access a repository without initializing properly die with
      a diagnostic message.  One offender is test-read-cache, which is used in
      p0002.  Fix it by calling setup_git_directory() before accessing the
      index.
      Signed-off-by: NRene Scharfe <l.s.r@web.de>
      Reviewed-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      bccb22cb
    • S
      t6500: wait for detached auto gc at the end of the test script · ef09036c
      SZEDER Gábor 提交于
      The last test in 't6500-gc', 'background auto gc does not run if
      gc.log is present and recent but does if it is old', added in
      a831c06a (gc: ignore old gc.log files, 2017-02-10), may sporadically
      trigger an error message from the test harness:
      
        rm: cannot remove 'trash directory.t6500-gc/.git/objects': Directory not empty
      
      The test in question ends with executing an auto gc in the backround,
      which occasionally takes so long that it's still running when
      'test_done' is about to remove the trash directory.  This 'rm -rf
      $trash' in the foreground might race with the detached auto gc to
      create and delete files and directories, and gc might (re-)create a
      path that 'rm' already visited and removed, triggering the above error
      message when 'rm' attempts to remove its parent directory.
      
      Commit bb05510e (t5510: run auto-gc in the foreground, 2016-05-01)
      fixed the same problem in a different test script by simply
      disallowing background gc.  Unfortunately, what worked there is not
      applicable here, because the purpose of this test is to check the
      behavior of a detached auto gc.
      
      Make sure that the test doesn't continue before the gc is finished in
      the background with a clever bit of shell trickery:
      
        - Open fd 9 in the shell, to be inherited by the background gc
          process, because our daemonize() only closes the standard fds 0,
          1 and 2.
        - Duplicate this fd 9 to stdout.
        - Read 'git gc's stdout, and thus fd 9, through a command
          substitution.  We don't actually care about gc's output, but this
          construct has two useful properties:
        - This read blocks until stdout or fd 9 are open.  While stdout is
          closed after the main gc process creates the background process
          and exits, fd 9 remains open until the backround process exits.
        - The variable assignment from the command substitution gets its
          exit status from the command executed within the command
          substitution, i.e. a failing main gc process will cause the test
          to fail.
      
      Note, that this fd trickery doesn't work on Windows, because due to
      MSYS limitations the git process only inherits the standard fds 0, 1
      and 2 from the shell.  Luckily, it doesn't matter in this case,
      because on Windows daemonize() is basically a noop, thus 'git gc
      --auto' always runs in the foreground.
      
      And since we can now continue the test reliably after the detached gc
      finished, check that there is only a single packfile left at the end,
      i.e. that the detached gc actually did what it was supposed to do.
      Also add a comment at the end of the test script to warn developers of
      future tests about this issue of long running detached gc processes.
      Helped-by: NJeff King <peff@peff.net>
      Helped-by: NJohannes Sixt <j6t@kdbg.org>
      Signed-off-by: NSZEDER Gábor <szeder.dev@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ef09036c
    • B
      pathspec: fix segfault in clear_pathspec · 5ce10c0a
      Brandon Williams 提交于
      In 'clear_pathspec()' the incorrect index parameter is used to bound an
      inner-loop which is used to free a 'struct attr_match' value field.
      Using the incorrect index parameter (in addition to being incorrect)
      occasionally causes segmentation faults when attempting to free an
      invalid pointer.  Fix this by using the correct index parameter 'i'.
      Signed-off-by: NBrandon Williams <bmwill@google.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      5ce10c0a