1. 01 4月, 2018 1 次提交
    • Æ
      add -p: fix 2.17.0-rc* regression due to moved code · fd2fb4aa
      Ævar Arnfjörð Bjarmason 提交于
      Fix a regression in 88f6ffc1 ("add -p: only bind search key if
      there's more than one hunk", 2018-02-13) which is present in
      2.17.0-rc*, but not 2.16.0.
      
      In Perl, regex variables like $1 always refer to the last regex
      match. When the aforementioned change added a new regex match between
      the old match and the corresponding code that was expecting $1, the $1
      variable would always be undef, since the newly inserted regex match
      doesn't have any captures.
      
      As a result the "/" feature to search for a string in a hunk by regex
      completely broke, on git.git:
      
          $ perl -pi -e 's/Git/Tig/g' README.md
          $ ./git --exec-path=$PWD add -p
          [..]
          Stage this hunk [y,n,q,a,d,j,J,g,/,s,e,?]? s
          Split into 4 hunks.
          [...]
          Stage this hunk [y,n,q,a,d,j,J,g,/,s,e,?]? /Many
          Use of uninitialized value $1 in string eq at /home/avar/g/git/git-add--interactive line 1568, <STDIN> line 1.
          search for regex? Many
      
      I.e. the initial "/regex" command wouldn't work, and would always emit
      a warning and ask again for a regex, now it works as intended again.
      Signed-off-by: NÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      fd2fb4aa
  2. 14 2月, 2018 3 次提交
  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
  6. 18 1月, 2018 1 次提交
  7. 17 1月, 2018 2 次提交
    • J
      Merge tag 'l10n-2.16.0-rnd2' of git://github.com/git-l10n/git-po · e0d57502
      Junio C Hamano 提交于
      l10n for Git 2.16.0 round 2
      
      * tag 'l10n-2.16.0-rnd2' of git://github.com/git-l10n/git-po: (24 commits)
        l10n: de.po: translate 72 new messages
        l10n: de.po: improve messages when a branch starts to track another ref
        l10n: bg.po: Updated Bulgarian translation (3288t)
        l10n: TEAMS: add zh_CN team members
        l10n: zh_CN: for git v2.16.0 l10n round 2
        l10n: sv.po: Update Swedish translation (3288t0f0u)
        l10n: ru.po: update Russian translation
        l10n: TEAMS: Add ko team members
        l10n: ko.po: Update Korean translation
        l10n: fr.po 2.16 round 2
        l10n: es.po: Spanish translation 2.16.0 round 2
        l10n: vi.po(3288t): Updated Vietnamese translation for v2.16.0 round 2
        l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed)
        l10n: es.po: Update Spanish Translation v2.16.0
        l10n: fr.po v2.16.0 round 1
        l10n: bg.po: Updated Bulgarian translation (3284t)
        l10n: sv.po: Update Swedish translation (3284t0f0u)
        l10n: fr.po: "worktree list" mistranslated as prune
        l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed)
        l10n: fixes to German translation
        ...
      e0d57502
    • N
      add--interactive: ignore submodule changes except HEAD · 12434efc
      Nguyễn Thái Ngọc Duy 提交于
      For 'add -i' and 'add -p', the only action we can take on a dirty
      submodule entry is update the index with a new value from its HEAD. The
      content changes inside (from its own index, untracked files...) do not
      matter, at least until 'git add -i' learns about launching a new
      interactive add session inside a submodule.
      
      Ignore all other submodules changes except HEAD. This reduces the number
      of entries the user has to check through in 'git add -i', and the number
      of 'no' they have to answer to 'git add -p' when dirty submodules are
      present.
      Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      12434efc
  8. 15 1月, 2018 2 次提交
  9. 13 1月, 2018 1 次提交
  10. 12 1月, 2018 5 次提交