1. 14 2月, 2018 14 次提交
    • J
      Merge branch 'cc/sha1-file-name' · 92389416
      Junio C Hamano 提交于
      Code clean-up.
      
      * cc/sha1-file-name:
        sha1_file: improve sha1_file_name() perfs
        sha1_file: remove static strbuf from sha1_file_name()
      92389416
    • J
      Merge branch 'nd/trace-with-env' · 3efeec3a
      Junio C Hamano 提交于
      The tracing machinery learned to report tweaking of environment
      variables as well.
      
      * nd/trace-with-env:
        run-command.c: print new cwd in trace_run_command()
        run-command.c: print env vars in trace_run_command()
        run-command.c: print program 'git' when tracing git_cmd mode
        run-command.c: introduce trace_run_command()
        trace.c: move strbuf_release() out of print_trace_line()
        trace: avoid unnecessary quoting
        sq_quote_argv: drop maxlen parameter
      3efeec3a
    • J
      Merge branch 'pc/submodule-helper' · ead8dbe2
      Junio C Hamano 提交于
      Rewrite two more "git submodule" subcommands in C.
      
      * pc/submodule-helper:
        submodule: port submodule subcommand 'deinit' from shell to C
        submodule: port submodule subcommand 'sync' from shell to C
      ead8dbe2
    • J
      Merge branch 'rb/hashmap-h-compilation-fix' · 922ffec6
      Junio C Hamano 提交于
      Code clean-up.
      
      * rb/hashmap-h-compilation-fix:
        hashmap.h: remove unused variable
      922ffec6
    • J
      Merge branch 'nd/diff-flush-before-warning' · 17c8e0b3
      Junio C Hamano 提交于
      Avoid showing a warning message in the middle of a line of "git
      diff" output.
      
      * nd/diff-flush-before-warning:
        diff.c: flush stdout before printing rename warnings
      17c8e0b3
    • J
      Merge branch 'tb/crlf-conv-flags' · 9bc89b17
      Junio C Hamano 提交于
      Code clean-up.
      
      * tb/crlf-conv-flags:
        convert_to_git(): safe_crlf/checksafe becomes int conv_flags
      9bc89b17
    • J
      Merge branch 'rs/describe-unique-abbrev' · 8fe806bc
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/describe-unique-abbrev:
        describe: use strbuf_add_unique_abbrev() for adding short hashes
      8fe806bc
    • J
      Merge branch 'ks/submodule-doc-updates' · ab5a940d
      Junio C Hamano 提交于
      Doc updates.
      
      * ks/submodule-doc-updates:
        Doc/git-submodule: improve readability and grammar of a sentence
        Doc/gitsubmodules: make some changes to improve readability and syntax
      ab5a940d
    • J
      Merge branch 'cl/t9001-cleanup' · f5536f1c
      Junio C Hamano 提交于
      Test clean-up.
      
      * cl/t9001-cleanup:
        t9001: use existing helper in send-email test
      f5536f1c
    • J
      Merge branch 'gs/retire-mru' · 86762239
      Junio C Hamano 提交于
      Retire mru API as it does not give enough abstraction over
      underlying list API to be worth it.
      
      * gs/retire-mru:
        mru: Replace mru.[ch] with list.h implementation
      86762239
    • J
      Merge branch 'ot/mru-on-list' · afc8aa3f
      Junio C Hamano 提交于
      The first step to getting rid of mru API and using the
      doubly-linked list API directly instead.
      
      * ot/mru-on-list:
        mru: use double-linked list from list.h
      afc8aa3f
    • J
      Merge branch 'jh/partial-clone' · 6bed209a
      Junio C Hamano 提交于
      The machinery to clone & fetch, which in turn involves packing and
      unpacking objects, have been told how to omit certain objects using
      the filtering mechanism introduced by the jh/object-filtering
      topic, and also mark the resulting pack as a promisor pack to
      tolerate missing objects, taking advantage of the mechanism
      introduced by the jh/fsck-promisors topic.
      
      * jh/partial-clone:
        t5616: test bulk prefetch after partial fetch
        fetch: inherit filter-spec from partial clone
        t5616: end-to-end tests for partial clone
        fetch-pack: restore save_commit_buffer after use
        unpack-trees: batch fetching of missing blobs
        clone: partial clone
        partial-clone: define partial clone settings in config
        fetch: support filters
        fetch: refactor calculation of remote list
        fetch-pack: test support excluding large blobs
        fetch-pack: add --no-filter
        fetch-pack, index-pack, transport: partial clone
        upload-pack: add object filtering for partial clone
      6bed209a
    • J
      Merge branch 'jh/fsck-promisors' · f3d618d2
      Junio C Hamano 提交于
      In preparation for implementing narrow/partial clone, the machinery
      for checking object connectivity used by gc and fsck has been
      taught that a missing object is OK when it is referenced by a
      packfile specially marked as coming from trusted repository that
      promises to make them available on-demand and lazily.
      
      * jh/fsck-promisors:
        gc: do not repack promisor packfiles
        rev-list: support termination at promisor objects
        sha1_file: support lazily fetching missing objects
        introduce fetch-object: fetch one promisor object
        index-pack: refactor writing of .keep files
        fsck: support promisor objects as CLI argument
        fsck: support referenced promisor objects
        fsck: support refs pointing to promisor objects
        fsck: introduce partialclone extension
        extension.partialclone: introduce partial clone extension
      f3d618d2
    • J
      Merge branch 'ab/simplify-perl-makefile' · ed1b87ef
      Junio C Hamano 提交于
      The build procedure for perl/ part has been greatly simplified by
      weaning ourselves off of MakeMaker.
      
      * ab/simplify-perl-makefile:
        perl: treat PERLLIB_EXTRA as an extra path again
        perl: avoid *.pmc and fix Error.pm further
        Makefile: replace perl/Makefile.PL with simple make rules
      ed1b87ef
  2. 25 1月, 2018 1 次提交
  3. 24 1月, 2018 19 次提交
    • J
      First batch after 2.16 · 5be1f00a
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      5be1f00a
    • J
      Merge branch 'nd/add-i-ignore-submodules' · e7e80778
      Junio C Hamano 提交于
      "git add -p" was taught to ignore local changes to submodules as
      they do not interfere with the partial addition of regular changes
      anyway.
      
      * nd/add-i-ignore-submodules:
        add--interactive: ignore submodule changes except HEAD
      e7e80778
    • J
      Merge branch 'mm/send-email-fallback-to-local-mail-address' · 897de845
      Junio C Hamano 提交于
      Instead of maintaining home-grown email address parsing code, ship
      a copy of reasonably recent Mail::Address to be used as a fallback
      in 'git send-email' when the platform lacks it.
      
      * mm/send-email-fallback-to-local-mail-address:
        send-email: add test for Linux's get_maintainer.pl
        perl/Git: remove now useless email-address parsing code
        send-email: add and use a local copy of Mail::Address
      897de845
    • J
      Merge branch 'ab/doc-cat-file-e-still-shows-errors' · 93a622f4
      Junio C Hamano 提交于
      Doc update.
      
      * ab/doc-cat-file-e-still-shows-errors:
        cat-file doc: document that -e will return some output
      93a622f4
    • J
      Merge branch 'as/read-tree-prefix-doc-fix' · 3e25b6c6
      Junio C Hamano 提交于
      Doc update.
      
      * as/read-tree-prefix-doc-fix:
        doc/read-tree: remove obsolete remark
      3e25b6c6
    • J
      Merge branch 'ys/bisect-object-id-missing-conversion-fix' · 537e1064
      Junio C Hamano 提交于
      Fix for a commented-out code to adjust it to a rather old API change.
      
      * ys/bisect-object-id-missing-conversion-fix:
        bisect: debug: convert struct object to object_id
      537e1064
    • J
      Merge branch 'tg/stash-with-pathspec-fix' · 087d1a8e
      Junio C Hamano 提交于
      "git stash -- <pathspec>" incorrectly blew away untracked files in
      the directory that matched the pathspec, which has been corrected.
      
      * tg/stash-with-pathspec-fix:
        stash: don't delete untracked files that match pathspec
      087d1a8e
    • J
      Merge branch 'sb/submodule-update-reset-fix' · f0605836
      Junio C Hamano 提交于
      When resetting the working tree files recursively, the working tree
      of submodules are now also reset to match.
      
      * sb/submodule-update-reset-fix:
        submodule: submodule_move_head omits old argument in forced case
        unpack-trees: oneway_merge to update submodules
        t/lib-submodule-update.sh: fix test ignoring ignored files in submodules
        t/lib-submodule-update.sh: clarify test
      f0605836
    • J
      Merge branch 'bw/oidmap-autoinit' · d470b7ad
      Junio C Hamano 提交于
      Code clean-up.
      
      * bw/oidmap-autoinit:
        oidmap: ensure map is initialized
      d470b7ad
    • J
      Merge branch 'ab/commit-m-with-fixup' · 55504498
      Junio C Hamano 提交于
      "git commit --fixup" did not allow "-m<message>" option to be used
      at the same time; allow it to annotate resulting commit with more
      text.
      
      * ab/commit-m-with-fixup:
        commit: add support for --fixup <commit> -m"<extra message>"
        commit doc: document that -c, -C, -F and --fixup with -m error
      55504498
    • J
      Merge branch 'cc/codespeed' · 86d7fcc4
      Junio C Hamano 提交于
      "perf" test output can be sent to codespeed server.
      
      * cc/codespeed:
        perf/run: read GIT_PERF_REPO_NAME from perf.repoName
        perf/run: learn to send output to codespeed server
        perf/run: learn about perf.codespeedOutput
        perf/run: add conf_opts argument to get_var_from_env_or_config()
        perf/aggregate: implement codespeed JSON output
        perf/aggregate: refactor printing results
        perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}
      86d7fcc4
    • J
      Merge branch 'ab/perf-grep-threads' · 59b43c01
      Junio C Hamano 提交于
      More perf tests for threaded grep
      
      * ab/perf-grep-threads:
        perf: amend the grep tests to test grep.threads
      59b43c01
    • J
      Merge branch 'sb/diff-blobfind-pickaxe' · c0d75f0e
      Junio C Hamano 提交于
      "diff" family of commands learned "--find-object=<object-id>" option
      to limit the findings to changes that involve the named object.
      
      * sb/diff-blobfind-pickaxe:
        diff: use HAS_MULTI_BITS instead of counting bits manually
        diff: properly error out when combining multiple pickaxe options
        diffcore: add a pickaxe option to find a specific blob
        diff: introduce DIFF_PICKAXE_KINDS_MASK
        diff: migrate diff_flags.pickaxe_ignore_case to a pickaxe_opts bit
        diff.h: make pickaxe_opts an unsigned bit field
      c0d75f0e
    • J
      Merge branch 'jk/abort-clone-with-existing-dest' · addd37cd
      Junio C Hamano 提交于
      "git clone $there $here" is allowed even when here directory exists
      as long as it is an empty directory, but the command incorrectly
      removed it upon a failure of the operation.
      
      * jk/abort-clone-with-existing-dest:
        clone: do not clean up directories we didn't create
        clone: factor out dir_exists() helper
        t5600: modernize style
        t5600: fix outdated comment about unborn HEAD
      addd37cd
    • J
      Merge branch 'jc/merge-symlink-ours-theirs' · 14b9d9aa
      Junio C Hamano 提交于
      "git merge -Xours/-Xtheirs" learned to use our/their version when
      resolving a conflicting updates to a symbolic link.
      
      * jc/merge-symlink-ours-theirs:
        merge: teach -Xours/-Xtheirs to symbolic link merge
      14b9d9aa
    • J
      Merge branch 'rs/lose-leak-pending' · 0bbab7d2
      Junio C Hamano 提交于
      API clean-up around revision traversal.
      
      * rs/lose-leak-pending:
        commit: remove unused function clear_commit_marks_for_object_array()
        revision: remove the unused flag leak_pending
        checkout: avoid using the rev_info flag leak_pending
        bundle: avoid using the rev_info flag leak_pending
        bisect: avoid using the rev_info flag leak_pending
        object: add clear_commit_marks_all()
        ref-filter: use clear_commit_marks_many() in do_merge_filter()
        commit: use clear_commit_marks_many() in remove_redundant()
        commit: avoid allocation in clear_commit_marks_many()
      0bbab7d2
    • J
      Merge branch 'jm/svn-pushmergeinfo-fix' · a713fb59
      Junio C Hamano 提交于
      "git svn dcommit" did not take into account the fact that a
      svn+ssh:// URL with a username@ (typically used for pushing) refers
      to the same SVN repository without the username@ and failed when
      svn.pushmergeinfo option is set.
      
      * jm/svn-pushmergeinfo-fix:
        git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames.
      a713fb59
    • J
      Merge branch 'nd/ita-wt-renames-in-status' · bc3dca07
      Junio C Hamano 提交于
      "git status" after moving a path in the working tree (hence making
      it appear "removed") and then adding with the -N option (hence
      making that appear "added") detected it as a rename, but did not
      report the  old and new pathnames correctly.
      
      * nd/ita-wt-renames-in-status:
        wt-status.c: handle worktree renames
        wt-status.c: rename rename-related fields in wt_status_change_data
        wt-status.c: catch unhandled diff status codes
        wt-status.c: coding style fix
        Use DIFF_DETECT_RENAME for detect_rename assignments
        t2203: test status output with porcelain v2 format
      bc3dca07
    • J
      Merge branch 'dk/describe-all-output-fix' · fac64e01
      Junio C Hamano 提交于
      An old regression in "git describe --all $annotated_tag^0" has been
      fixed.
      
      * dk/describe-all-output-fix:
        describe: prepend "tags/" when describing tags with embedded name
      fac64e01
  4. 22 1月, 2018 5 次提交
  5. 20 1月, 2018 1 次提交
    • B
      repository: pre-initialize hash algo pointer · e26f7f19
      brian m. carlson 提交于
      There are various git subcommands (among them, clone) which don't set up
      the repository (that is, they lack RUN_SETUP or RUN_SETUP_GENTLY) but
      end up needing to have information about the hash algorithm in use.
      Because the hash algorithm is part of struct repository and it's only
      initialized in repository setup, we can end up dereferencing a NULL
      pointer in some cases if we call one of these subcommands and look up
      the empty blob or empty tree values.
      
      A "git clone" of a project that has two paths that differ only in
      case suffers from this if it is run on a case insensitive platform.
      When the command attempts to check out one of these two paths after
      checking out the other one, the checkout codepath needs to see if
      the version that is already on the filesystem (which should not
      happen if the FS were case sensitive) is dirty, and it needs to
      exercise the hashing code at that point.
      
      In the future, we can add a command line option for this or read it
      from the configuration, but until we're ready to expose that
      functionality to the user, simply initialize the repository
      structure to use the current hash algorithm, SHA-1.
      Signed-off-by: Nbrian m. carlson <sandals@crustytoothpaste.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e26f7f19