From 8518a7a51faaf50f830646d4c3585f51236b9349 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 22 May 2020 17:46:45 +0100 Subject: Squashed 'third_party/git/' changes from 5fa0f5238b..ef7aa56f96 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit af6b65d45e Git 2.26.2 7397ca3373 Git 2.25.4 b86a4be245 Git 2.24.3 f2771efd07 Git 2.23.3 c9808fa014 Git 2.22.4 9206d27eb5 Git 2.21.3 041bc65923 Git 2.20.4 76b54ee9b9 Git 2.19.5 ba6f0905fd Git 2.18.4 df5be6dc3f Git 2.17.5 1a3609e402 fsck: reject URL with empty host in .gitmodules e7fab62b73 credential: treat URL with empty scheme as invalid c44088ecc4 credential: treat URL without scheme as invalid fe29a9b7b0 credential: die() when parsing invalid urls a2b26ffb1a fsck: convert gitmodules url to URL passed to curl 8ba8ed568e credential: refuse to operate when missing host or protocol 24036686c4 credential: parse URL without host as empty host, not unset 73aafe9bc2 t0300: use more realistic inputs a88dbd2f8c t0300: make "quit" helper more realistic de49261b05 Git 2.26.1 274b9cc253 Git 2.26 55a7568606 Merge branch 'en/rebase-backend' c452dfa3f8 Merge tag 'l10n-2.26.0-rnd2.1' of git://github.com/git-l10n/git-po.git 1557364fb4 l10n: tr.po: change file mode to 644 2da1b05674 t3419: prevent failure when run with EXPENSIVE 1ae3a389c7 l10n: de.po: Update German translation for Git 2.26.0 5804c6ec40 l10n: de.po: add missing space 98cedd0233 Merge https://github.com/prati0100/git-gui 4914ba4bcf l10n: tr: Fix a couple of ambiguities a5728022e0 Merge branch 'py/remove-tcloo' 7fcb965970 RelNotes/2.26.0: fix various typos f0c03bcf95 l10n: Update Catalan translation 67b0a24910 Git 2.25.3 be8661a328 Sync with Git 2.25.2 0822e66b5d Git 2.25.2 65588b0b2e unicode: update the width tables to Unicode 13.0 7be274b0ff Merge branch 'js/ci-windows-update' into maint 9a75ecda1b Merge branch 'jk/run-command-formatfix' into maint 221887a492 Merge branch 'jk/doc-credential-helper' into maint 32fc2c6dd6 Merge branch 'js/mingw-open-in-gdb' into maint fe0d2c8ddb Merge branch 'js/test-unc-fetch' into maint 618db3621a Merge branch 'js/test-write-junit-xml-fix' into maint 50e1b4166f Merge branch 'en/simplify-check-updates-in-unpack-trees' into maint fda2baffd2 Merge branch 'jc/doc-single-h-is-for-help' into maint 41d910ea6c Merge branch 'hd/show-one-mergetag-fix' into maint 2d7247af6f Merge branch 'am/mingw-poll-fix' into maint 4e730fcd18 Merge branch 'hi/gpg-use-check-signature' into maint 76ccbdaf97 Merge branch 'ds/partial-clone-fixes' into maint 569b89842d Merge branch 'en/t3433-rebase-stat-dirty-failure' into maint 16a4bf1035 Merge branch 'en/check-ignore' into maint 3246495a5c Merge branch 'jk/push-option-doc-markup-fix' into maint 56f97d5896 Merge branch 'jk/doc-diff-parallel' into maint 1a4abcbb3b Merge branch 'jh/notes-fanout-fix' into maint 7e84f4608f Merge branch 'jk/index-pack-dupfix' into maint fa24bbe864 Merge branch 'js/rebase-i-with-colliding-hash' into maint a7a2e12b6e Merge branch 'jk/clang-sanitizer-fixes' into maint 93d0892891 Merge branch 'dt/submodule-rm-with-stale-cache' into maint dae477777e Merge branch 'pb/recurse-submodule-in-worktree-fix' into maint 758d0773ba Merge branch 'es/outside-repo-errmsg-hints' into maint f0c344ce57 Merge branch 'js/builtin-add-i-cmds' into maint 506223f9c5 Git 2.24.2 17a02783d8 Git 2.23.2 69fab82147 Git 2.22.3 fe22686494 Git 2.21.2 d1259ce117 Git 2.20.3 a5979d7009 Git 2.19.4 21a3e5016b Git 2.18.3 c42c0f1297 Git 2.17.4 d7d8b208da l10n: sv.po: Update Swedish translation (4839t0f0u) 3891a84ccd git-gui: create a new namespace for chord script evaluation 8a8efbe414 git-gui: reduce Tcl version requirement from 8.6 to 8.5 440e7442d1 l10n: zh_CN: Revise v2.26.0 translation 2b472aae5c l10n: zh_CN: for git v2.26.0 l10n round 1 and 2 6c85aac65f Git 2.26-rc2 74f172e39e Merge branch 'en/test-cleanup' e96327c947 Merge branch 'es/outside-repo-errmsg-hints' ee94b979b2 l10n: vi(4839t): Updated Vietnamese translation for v2.26.0 15fa8d9667 l10n: vi: fix translation + grammar 5c20398699 prefix_path: show gitdir if worktree unavailable 1fae9a4b1b l10n: zh_TW.po: v2.26.0 round 2 (0 untranslated) c73cfd5c79 l10n: zh_TW.po: v2.26.0 round 1 (11 untranslated) a4a2f64642 Merge branch 'js/askpass-coerce-utf8' 850cf9ae96 git-gui--askpass: coerce answers to UTF-8 on Windows d769dcc5cd Merge branch 'py/blame-status-error' 70e24186c0 t6022, t6046: fix flaky files-are-updated checks 30e9940356 Hopefully the final batch before -rc2 b4f0038525 Merge branch 'en/rebase-backend' 25f7d68ba9 Merge branch of github.com:ChrisADR/git-po into master 07259e74ec fsck: detect gitmodules URLs with embedded newlines c716fe4bd9 credential: detect unrepresentable values when parsing urls 17f1c0b8c7 t/lib-credential: use test_i18ncmp to check stderr 9a6bbee800 credential: avoid writing values with newlines 17ed936e96 l10n: it.po: update the Italian translation for Git 2.26.0 round 2 1afe18a3bb l10n: es: 2.26.0 round#2 5ab9217a3c Merge branch of github.com:alshopov/git-po into master c6713676d6 Merge branch of github.com:bitigchi/git-po into master b22e556314 l10n: bg.po: Updated Bulgarian translation (4839t) 2713dec02d l10n: tr: v2.26.0 round 2 c9ef57cc3a l10n: fr : v2.26.0 rnd 2 120b1eb731 git-rebase.txt: highlight backend differences with commit rewording 9a1b7474d6 sequencer: clear state upon dropping a become-empty commit 937d143630 i18n: unmark a message in rebase.c a56d361f66 Merge branch 'ds/sparse-add' 5fa9169ced Merge branch 'dr/push-remote-ref-update' cdef998b46 Merge branch 'jc/doc-single-h-is-for-help' 051fae4d51 l10n: git.pot: v2.26.0 round 2 (7 new, 2 removed) 52b2742df8 Merge branch 'master' of github.com:git/git into git-po-master 9643441983 l10n: tr: Add glossary for Turkish translations 438393202c Merge branch 'master' of github.com:nafmo/git-l10n-sv fa89e04fe1 Merge branch 'fr_2.26.0' of github.com:jnavila/git 2591c4cf6d l10n: sv.po: Update Swedish translation (4835t0f0u) dd2c269652 l10n: tr: Add Turkish translations 8f4f099f8b l10n: tr: Add Turkish translation team info b4374e96c8 Git 2.26-rc1 4a5c3e10f2 Merge branch 'rs/show-progress-in-dumb-http-fetch' 3658d77f8e Merge branch 'hd/show-one-mergetag-fix' 6125104b88 Merge branch 'rt/format-zero-length-fix' 1ac37deba2 Merge branch 'am/mingw-poll-fix' cf372dc815 Merge branch 'en/test-cleanup' d1075adfdf Merge branch 'en/merge-path-collision' a4fd114ffc Merge branch 'kk/complete-diff-color-moved' a0d752c1a3 Merge branch 'rj/t1050-use-test-path-is-file' 0e0d717537 Merge branch 'pb/am-show-current-patch' 9b7f726dfc Merge branch 'am/pathspec-f-f-more' 4605a73073 t1091: don't grep for `strerror()` string 4d9c2902a1 l10n: fr v2.26.0 rnd1 ad182bee3f Merge branch of github.com:alshopov/git-po into master 23fa46712a l10n: it.po: update the Italian translation for Git 2.26.0 round 1 98f24073a5 l10n: bg.po: Updated Bulgarian translation (4835t) f7c6172e97 l10n: git.pot: v2.26.0 round 1 (73 new, 38 removed) 76b1dcd1b2 Merge branch 'master' of github.com:git-l10n/git-po 076cbdcd73 Git 2.26-rc0 0d65f3fb1a t5537: adjust test_oid label e63cefb024 Merge branch 'hi/gpg-use-check-signature' 5da7329e29 Merge branch 'rs/commit-graph-code-simplification' 0108fc1b46 Merge branch 'js/ci-windows-update' f3ccd9f0d9 Merge branch 'be/describe-multiroot' a6b4709302 Merge branch 'ag/rebase-remove-redundant-code' b22db265d6 Merge branch 'es/recursive-single-branch-clone' e8e71848ea Merge branch 'jk/nth-packed-object-id' a0ab37de61 Merge branch 'es/do-not-let-rebase-switch-to-protected-branch' 4a2e91db65 Merge branch 'hv/receive-denycurrent-everywhere' 49e5043b09 Merge branch 'es/worktree-avoid-duplication-fix' 2cbb058669 Merge branch 'bc/wildcard-credential' 25063e2530 Merge branch 'mr/bisect-in-c-1' f4d7dfce4d Merge branch 'ds/sparse-add' 4d864895a2 t2402: test worktree path when called in .git directory af8ccd8ade remote: drop "explicit" parameter from remote_ref_for_branch() 7655b4119d remote-curl: show progress for fetches over dumb HTTP 2f268890c2 The eighth batch for 2.26 aa5a7e02ad Merge branch 'ma/test-cleanup' 58595e713c Merge branch 'rs/blame-typefix-for-fingerprint' ff41848e99 Merge branch 'rs/micro-cleanups' 4cbf1a0e22 Merge branch 'es/worktree-cleanup' 46703057c1 Merge branch 'ak/test-log-graph' 777815f5f9 Merge branch 'jk/run-command-formatfix' 444cff61b4 Merge branch 'ds/partial-clone-fixes' 48d5f25ddd Merge branch 'en/t3433-rebase-stat-dirty-failure' 8c22bd9ff9 Merge branch 'en/rebase-backend' cb2f5a8e97 Merge branch 'en/check-ignore' 0df82d99da Merge branch 'jk/object-filter-with-bitmap' 80648bb3f2 Merge branch 'jk/push-option-doc-markup-fix' 29b09c518c Merge branch 'jk/doc-diff-parallel' 237a28173f show_one_mergetag: print non-parent in hex form. 5eb9397e88 git-gui: fix error popup when doing blame -> "Show History Context" 6d1210e133 l10n: Update Catalan translation 0106b1d4be Revert "gpg-interface: prefer check_signature() for GPG verification" 7329d94be7 config.mak.dev: re-enable -Wformat-zero-length 7daf4f2ac7 rebase-interactive.c: silence format-zero-length warnings 94f4d01932 mingw: workaround for hangs when sending STDIN 1ff466c018 Documentation: clarify that `-h` alone stands for `help` 65bf820d0e t6020: new test with interleaved lexicographic ordering of directories 9f697ded88 t6022, t6046: test expected behavior instead of testing a proxy for it d5bb92eced t3035: prefer test_must_fail to bash negation for git commands b821ca788b t6020, t6022, t6035: update merge tests to use test helper functions 42d180dd01 t602[1236], t6034: modernize test formatting 802050400a merge-recursive: apply collision handling unification to recursive case 7f487ce062 Azure Pipeline: switch to the latest agent pools 5ed9fc3fc8 ci: prevent `perforce` from being quarantined eafff6e41e t/lib-httpd: avoid using macOS' sed d68ce906c7 commit-graph: use progress title directly 30b1c7ad9d describe: don't abort too early when searching tags 240fc04f81 builtin/rebase: remove a call to get_oid() on `options.switch_to' 2d2118b814 The seventh batch for 2.26 325eb66830 Merge branch 'es/doc-mentoring' 87f17d790d Merge branch 'es/bright-colors' d0038f4b31 Merge branch 'bw/remote-rename-update-config' 132f600b06 clone: pass --single-branch during --recurse-submodules 47319576f1 submodule--helper: use C99 named initializer ffe005576a lib-log-graph: consolidate colored graph cmp logic 989eea958b lib-log-graph: consolidate test_cmp_graph logic bb69b3b009 worktree: don't allow "add" validation to be fooled by suffix matching bb4995fc3f worktree: add utility to find worktree by pathname a80c4c2214 worktree: improve find_worktree() documentation 2fecc48cad packfile: drop nth_packed_object_sha1() 6ac9760a30 packed_object_info(): use object_id internally for delta base b99b6bcc57 packed_object_info(): use object_id for returning delta base 63f4a7fc01 pack-check: push oid lookup into loop e31c71083a pack-check: convert "internal error" die to a BUG() 500e4f2366 pack-bitmap: use object_id when loading on-disk bitmaps f66d4e0250 pack-objects: use object_id struct in pack-reuse code a93c141dde pack-objects: convert oe_set_delta_ext() to use object_id 3f83fd5e44 pack-objects: read delta base oid into object_id struct 0763671b8e nth_packed_object_oid(): use customary integer return 02bbbe9df9 worktree: drop unused code from get_main_worktree() 27f182b3fc blame: provide type of fingerprints pointer b5cabb4a96 rebase: refuse to switch to branch already checked out elsewhere df126ca142 t3400: make test clean up after itself 3c29e21eb0 t: drop debug `cat` calls cac439b56d t9810: drop debug `cat` call 91de82adc9 t4117: check for files using `test_path_is_file` 4ef346482d receive.denyCurrentBranch: respect all worktrees f8692114db t5509: use a bare repository for test push target 45f274fbb1 get_main_worktree(): allow it to be called in the Git directory fd0bc17557 completion: add diff --color-moved[-ws] 2ce6d075fa use strpbrk(3) to search for characters from a given set 2b3c430bce quote: use isalnum() to check for alphanumeric characters a51d9e8f07 t1050: replace test -f with test_path_is_file 3e96c66805 partial-clone: avoid fetching when looking for objects d0badf8797 partial-clone: demonstrate bugs in partial fetch 539052f42f run-command.h: fix mis-indented struct member 6c11c6a124 sparse-checkout: allow one-character directories in cone mode aa416b22ea am: support --show-current-patch=diff to retrieve .git/rebase-apply/patch f3b4822899 am: support --show-current-patch=raw as a synonym for--show-current-patch e8ef1e8d6e am: convert "resume" variable to a struct bc8620b440 parse-options: convert "command mode" to a flag 62e7a6f7a1 parse-options: add testcases for OPT_CMDMODE() 46fd7b3900 credential: allow wildcard patterns when matching config 82eb249853 credential: use the last matching username in the config 588c70e10f t0300: add tests for some additional cases 732f934408 t1300: add test for urlmatch with multiple wildcards 3fa0e04667 mailmap: add an additional email address for brian m. carlson 8a98758a8d stash push: support the --pathspec-from-file option 8c3713cede stash: eliminate crude option parsing 3f3d8068f5 doc: stash: synchronize description b22909144c doc: stash: document more options 0093abc286 doc: stash: split options from description (2) 2b7460d167 doc: stash: split options from description (1) 5f393dc3aa rm: support the --pathspec-from-file option fb1c18fc46 merge-recursive: fix the refresh logic in update_file_flags 73113c5922 t3433: new rebase testcase documenting a stat-dirty-like failure 6c69f22233 bisect: libify `bisect_next_all` 9ec598e0d5 bisect: libify `handle_bad_merge_base` and its dependents 45b6370812 bisect: libify `check_good_are_ancestors_of_bad` and its dependents cdd4dc2d6a bisect: libify `check_merge_bases` and its dependents e8e3ce6718 bisect: libify `bisect_checkout` ce58b5d8b1 bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents 7613ec594a bisect--helper: return error codes from `cmd_bisect__helper()` 680e8a01e5 bisect: add enum to represent bisect returning codes bfacfce7d9 bisect--helper: introduce new `decide_next()` function b8e3b2f339 bisect: use the standard 'if (!var)' way to check for 0 292731c4c2 bisect--helper: change `retval` to `res` 16538bfd2c bisect--helper: convert `vocab_*` char pointers to char arrays 7ec8125fba check-ignore: fix documentation and implementation to match 2607d39da3 doc-diff: use single-colon rule in rendering Makefile 0aa6ce3094 doc/config/push: use longer "--" line for preformatted example 20a5fd881a rev-list --count: comment on the use of count_right++ 63a58457e0 Merge branch 'py/missing-bracket' 51ebf55b93 The sixth batch for 2.26 f97741f6e9 Merge branch 'es/outside-repo-errmsg-hints' 123538444f Merge branch 'jk/doc-credential-helper' e154451a2f Merge branch 'js/mingw-open-in-gdb' fc25a19265 Merge branch 'js/test-unc-fetch' 6365058605 Merge branch 'js/test-avoid-pipe' 966b69f02f Merge branch 'js/test-write-junit-xml-fix' d880c3de23 Merge branch 'jk/mailinfo-cleanup' 5d55554b1d Merge branch 'mr/show-config-scope' 9f3f38769d Merge branch 'rs/strbuf-insertstr' cbecc168d4 Merge branch 'rs/parse-options-concat-dup' 5af345a438 Merge branch 'bc/hash-independent-tests-part-8' 0460c109c3 Merge branch 'rs/name-rev-memsave' 6b9919c0a2 git-gui: add missing close bracket 5897e5ac96 Merge branch 'cs/german-translation' cf85a32eb6 git-gui: update German translation 5096e51c54 git-gui: extend translation glossary template with more terms 8b85bb1b70 git-gui: update pot template and German translation to current source code e68e29171c Sync with 2.25.1 c522f061d5 Git 2.25.1 10cdb9f38a rebase: rename the two primary rebase backends 2ac0d6273f rebase: change the default backend from "am" to "merge" 8295ed690b rebase: make the backend configurable via config setting 76340c8107 rebase tests: repeat some tests using the merge backend instead of am 980b482d28 rebase tests: mark tests specific to the am-backend with --am c2417d3af7 rebase: drop '-i' from the reflog for interactive-based rebases 6d04ce75c4 git-prompt: change the prompt for interactive-based rebases 52eb738d6b rebase: add an --am option 8af14f0859 rebase: move incompatibility checks between backend options a bit earlier be50c938df git-rebase.txt: add more details about behavioral differences of backends befb89ce7c rebase: allow more types of rebases to fast-forward 9a70f3d4ae t3432: make these tests work with either am or merge backends 93122c985a rebase: fix handling of restrict_revision 55d2b6d785 rebase: make sure to pass along the quiet flag to the sequencer 8a997ed132 rebase, sequencer: remove the broken GIT_QUIET handling 7db00f0b3b t3406: simplify an already simple test e98c4269c8 rebase (interactive-backend): fix handling of commits that become empty d48e5e21da rebase (interactive-backend): make --keep-empty the default e0020b2f82 prefix_path: show gitdir when arg is outside repo cc4f2eb828 doc: move credential helper info into gitcredentials(7) bfdd66e72f Sync with maint 7ae7e234c7 The fifth batch for 2.26 53c3be2c29 Merge branch 'tb/commit-graph-object-dir' 7b029ebaef Merge branch 'jk/index-pack-dupfix' aa21cc97bd Merge branch 'jk/alloc-cleanups' 883326077a Merge branch 'jh/notes-fanout-fix' f2dcfcc21d Merge branch 'pk/status-of-uncloned-submodule' 78e67cda42 Merge branch 'mt/use-passed-repo-more-in-funcs' df04a31617 Merge branch 'jk/diff-honor-wserrhighlight-in-plumbing' 433b8aac2e Merge branch 'ds/sparse-checkout-harden' 4a77434bc8 Merge branch 'ld/p4-cleanup-processes' 8fb3945037 Merge branch 'jt/connectivity-check-optim-in-partial-clone' 09e48400a3 Merge branch 'jk/get-oid-error-message-i18n' 4dbeecba27 Merge branch 'ag/edit-todo-drop-check' f7f43afb19 Merge branch 'dl/test-must-fail-fixes-2' d8b8d59054 Merge branch 'ag/rebase-avoid-unneeded-checkout' 251187084d Merge branch 'js/rebase-i-with-colliding-hash' c9a33e5e5d Merge branch 'kw/fsmonitor-watchman-racefix' 56ceb64eb0 Merge branch 'mt/threaded-grep-in-object-store' 0da63da794 Merge branch 'jn/promote-proto2-to-default' a14aebeac3 Merge branch 'jk/packfile-reuse-cleanup' daef1b300b Merge branch 'hw/advice-add-nothing' 6141e0cc00 Merge branch 'js/convert-typofix' into maint 4e52c1ae27 Merge branch 'js/ci-squelch-doc-warning' into maint 5cee4ffff8 Merge branch 'jb/multi-pack-index-docfix' into maint b907ca76f0 Merge branch 'ma/diff-doc-clarify-regexp-example' into maint 7137d6089b Merge branch 'ms/doc-bundle-format' into maint 52d620fdc6 Merge branch 'es/submodule-fetch-message-fix' into maint 0ecc7d62f4 Merge branch 'jb/parse-options-message-fix' into maint 1ea6edfd55 Merge branch 'ma/filter-branch-doc-caret' into maint cfa25e197d Merge branch 'km/submodule-doc-use-sm-path' into maint 153a1b46f1 Merge branch 'pb/do-not-recurse-grep-no-index' into maint 8857657cc9 Merge branch 'jt/t5616-robustify' into maint 1f7609b520 Merge branch 'en/fill-directory-fixes-more' into maint f468972671 Merge branch 'bc/misconception-doc' into maint 6e69042e26 Merge branch 'bc/author-committer-doc' into maint 650ed395be Merge branch 'ds/refmap-doc' into maint 80b806f1a8 Merge branch 'bc/actualmente' into maint eceff4ba12 Merge branch 'rt/submodule-i18n' into maint 8a17eb7972 Merge branch 'jk/test-fixes' into maint 54bbadaeca Merge branch 'jk/asan-build-fix' into maint 8dbeba198e Merge branch 'ds/sparse-cone' into maint e361f36f61 Merge branch 'nd/switch-and-restore' into maint 4a60c63a75 Merge branch 'jk/no-flush-upon-disconnecting-slrpc-transport' into maint ad9c895463 Merge branch 'hw/tutorial-favor-switch-over-checkout' into maint 5ae057d9a8 Merge branch 'es/unpack-trees-oob-fix' into maint c17cf77e4e Merge branch 'bc/run-command-nullness-after-free-fix' into maint d0ebd645b1 Merge branch 'en/string-list-can-be-custom-sorted' into maint 9eddeaece1 Merge branch 'jt/sha1-file-remove-oi-skip-cached' into maint 3bba763373 Merge branch 'hw/commit-advise-while-rejecting' into maint 3ab3185f99 pack-objects: support filters with bitmaps 84243da129 pack-bitmap: implement BLOB_LIMIT filtering 4f3bd5606a pack-bitmap: implement BLOB_NONE filtering cc4aa28506 bitmap: add bitmap_unset() function 2aaeb9ac41 rev-list: use bitmap filters for traversal 6663ae0a08 pack-bitmap: basic noop bitmap filter infrastructure 4eb707ebd6 rev-list: allow commit-only bitmap traversals ea047a8eb4 t5310: factor out bitmap traversal comparison 608d9c9365 rev-list: allow bitmaps when counting objects 55cb10f9b5 rev-list: make --count work with --objects 792f811998 rev-list: factor out bitmap-optimized routines d90fe06ea7 pack-bitmap: refuse to do a bitmap traversal with pathspecs 08809c09aa mingw: add a helper function to attach GDB to the current process bfe2bbb47f t5580: test cloning without file://, test fetching via UNC paths de26f02db1 t9001, t9116: avoid pipes a2dc43414c MyFirstContribution: rephrase contact info e03f928e2a rev-list: fallback to non-bitmap traversal when filtering acac50dd8c pack-bitmap: fix leak of haves/wants object lists 551cf8b655 pack-bitmap: factor out type iterator initialization d8437c57fa The fourth batch for 2.26 a3dcf84df0 Merge branch 'js/convert-typofix' 0de2d1409b Merge branch 'js/ci-squelch-doc-warning' 0410c2ba31 Merge branch 'jb/multi-pack-index-docfix' 0d114107f5 Merge branch 'ma/diff-doc-clarify-regexp-example' e99c325bb4 Merge branch 'ms/doc-bundle-format' afa34c5cf3 Merge branch 'es/submodule-fetch-message-fix' db72f8c940 Merge branch 'jb/parse-options-message-fix' 3d2471ba85 Merge branch 'ma/filter-branch-doc-caret' b2099ebb12 Merge branch 'km/submodule-doc-use-sm-path' 44cba9c4b3 Merge branch 'jc/skip-prefix' 556ccd4dd2 Merge branch 'pb/do-not-recurse-grep-no-index' 17e4a1b141 Merge branch 'hw/doc-git-dir' 4cf7f48891 Merge branch 'jk/push-default-doc' b783391018 Merge branch 'jk/clang-sanitizer-fixes' a74c387495 Merge branch 'dt/submodule-rm-with-stale-cache' 3f7553acf5 Merge branch 'jt/t5616-robustify' 341f8a6476 Merge branch 'jk/escaped-wildcard-dwim' b486d2ee81 Merge branch 'jn/pretend-object-doc' 076ee3e8a2 tests: fix --write-junit-xml with subshells 2b0f19fa7a convert: fix typo c444f032e4 color.c: alias RGB colors 8-15 to aixterm colors 1751b09a92 color.c: support bright aixterm colors 4a28eb0ae4 color.c: refactor color_output arguments f696a2b1c8 mailinfo: factor out some repeated header handling ffbea1816d mailinfo: be more liberal with header whitespace f447d0293e mailinfo: simplify parsing of header values b6537d83ee mailinfo: treat header values as C strings ef07659926 sparse-checkout: work with Windows paths 2631dc879d sparse-checkout: create 'add' subcommand 4bf0c06c71 sparse-checkout: extract pattern update from 'set' subcommand 6fb705abcb sparse-checkout: extract add_patterns_from_input() b3fd6cbf29 remote rename/remove: gently handle remote.pushDefault config f2a2327a4a config: provide access to the current line number 923d4a5ca4 remote rename/remove: handle branch..pushRemote config values ceff1a1308 remote: clean-up config callback 1a83068c26 remote: clean-up by returning early to avoid one indentation 88f8576eda pull --rebase/remote rename: document and honor single-letter abbreviations rebase types 145d59f482 config: add '--show-scope' to print the scope of a config value 9a83d088ee submodule-config: add subomdule config scope e37efa40e1 config: teach git_config_source to remember its scope 5c105a842e config: preserve scope in do_git_config_sequence 6766e41b8a config: clarify meaning of command line scoping 6dc905d974 config: split repo scope to local and worktree a5cb4204b6 config: make scope_name non-static and rename it 30183894ea ci: ignore rubygems warning in the "Documentation" job 7a9f8ca805 parse-options: simplify parse_options_dup() c84078573e parse-options: const parse_options_concat() parameters f904f9025f parse-options: factor out parse_options_count() a277d0a67f parse-options: use COPY_ARRAY in parse_options_concat() 517b60564e mailinfo: don't insert header prefix for handle_content_type() a91cc7fad0 strbuf: add and use strbuf_insertstr() eb31044ff7 pack-format: correct multi-pack-index description 9299f84921 diff-options.txt: avoid "regex" overload in example 7378ec90e1 doc: describe Git bundle format f3037657e8 t6024: update for SHA-256 edf04243b2 t6006: make hash size independent 5db24dcffd t6000: abstract away SHA-1-specific constants d341e0805d t5703: make test work with SHA-256 88ed241a7e t5607: make hash size independent 48c10cc0e6 t5318: update for SHA-256 f7ae8e69b6 t5515: make test hash independent e70649bb66 t5321: make test hash independent a30f93b143 t5313: make test hash independent a79eec220b t5309: make test hash independent 796d1383a3 t5302: make hash size independent 417e45e5e3 t4060: make test work with SHA-256 dfa5f53e78 t4211: add test cases for SHA-256 f743e8f5b3 t4211: move SHA-1-specific test cases into a directory 72f936b120 t4013: make test hash independent 5df0f11f07 t3311: make test work with SHA-256 07877f393c t3310: make test work with SHA-256 6025e898d6 t3309: make test work with SHA-256 7b1a1822fe t3308: make test work with SHA-256 94db7e3e93 t3206: make hash size independent db12505c2c t/lib-pack: support SHA-256 303b3c1c46 submodule: add newline on invalid submodule error 887a0fd573 add: change advice config variables used by the add API de93cc14ab The third batch for 2.26 ea46d9097b Merge branch 'mt/sparse-checkout-doc-update' ff5134b2ff Merge branch 'pb/recurse-submodule-in-worktree-fix' b5c71cc33d Merge branch 'es/fetch-show-failed-submodules-atend' 7ab963e122 Merge branch 'en/fill-directory-fixes-more' f52ab33616 Merge branch 'bc/hash-independent-tests-part-7' 25794d6ce9 Merge branch 'km/submodule-add-errmsg' d0e70cd32e Merge branch 'am/checkout-file-and-ref-ref-ambiguity' 76c57fedfa Merge branch 'js/add-p-leftover-bits' 9a5315edfd Merge branch 'js/patch-mode-in-others-in-c' 381e8e9de1 Merge branch 'dl/test-must-fail-fixes' 395518cf7a parse-options: lose an unnecessary space in an error message 079f970971 name-rev: sort tip names before applying 2d53975488 name-rev: release unused name strings 977dc1912b name-rev: generate name strings only if they are better 1c56fc2084 name-rev: pre-size buffer in get_parent_name() ddc42ec786 name-rev: factor out get_parent_name() f13ca7cef5 name-rev: put struct rev_name into commit slab d689d6d82f name-rev: don't _peek() in create_or_update_name() 15a4205d96 name-rev: don't leak path copy in name_ref() 36d2419c9a name-rev: respect const qualifier 71620ca86c name-rev: remove unused typedef 3e2feb0d64 name-rev: rewrite create_or_update_name() a21781011f index-pack: downgrade twice-resolved REF_DELTA to die() dbc27477ff notes.c: fix off-by-one error when decreasing notes fanout e1c5253951 t3305: check notes fanout more carefully and robustly e469afe158 git-filter-branch.txt: wrap "maths" notation in backticks a7df60cac8 commit-graph.h: use odb in 'load_commit_graph_one_fd_st' ad2dd5bb63 commit-graph.c: remove path normalization, comparison 13c2499249 commit-graph.h: store object directory in 'struct commit_graph' 0bd52e27e3 commit-graph.h: store an odb in 'struct write_commit_graph_context' f38c92452d t7400: testcase for submodule status on unregistered inner git repos 5290d45134 tree-walk.c: break circular dependency with unpack-trees f998a3f1e5 sparse-checkout: fix cone mode behavior mismatch d2e65f4c90 sparse-checkout: improve docs around 'set' in cone mode e53ffe2704 sparse-checkout: escape all glob characters on write e55682ea26 sparse-checkout: use C-style quotes in 'list' subcommand bd64de42de sparse-checkout: unquote C-style strings over --stdin d585f0e799 sparse-checkout: write escaped patterns in cone mode 4f52c2ce6c sparse-checkout: properly match escaped characters 9abc60f801 sparse-checkout: warn on globs in cone patterns 145136a95a C: use skip_prefix() to avoid hardcoded string length 04e5b3f0b4 submodule foreach: replace $path with $sm_path in example 1793280e91 t5318: don't pass non-object directory to '--object-dir' da8063522f diff: move diff.wsErrorHighlight to "basic" config b98d188581 sha1-file: allow check_object_signature() to handle any repo 2dcde20e1c sha1-file: pass git_hash_algo to hash_object_file() 7ad5c44d9c sha1-file: pass git_hash_algo to write_object_file_prepare() c8123e72f6 streaming: allow open_istream() to handle any repo 5ec9b8accd pack-check: use given repo's hash_algo at verify_packfile() a651946730 cache-tree: use given repo's hash_algo at verify_one() eb999b3295 diff: make diff_populate_filespec() honor its repo argument 5b0ca878e0 Sync with maint 344ee18728 The second batch 53a83299c7 Merge branch 'bc/misconception-doc' c9ccf9d09b Merge branch 'bc/author-committer-doc' 0d0fa20c40 Merge branch 'ss/t6025-modernize' 7050624abc Merge branch 'lh/bool-to-type-bool' 4b69f29271 Merge branch 'ds/refmap-doc' aff812ce3c Merge branch 'bc/actualmente' 38fb56e92a Merge branch 'rt/submodule-i18n' f0940743fa Merge branch 'js/builtin-add-i-cmds' 0afeb3fdf4 Merge branch 'jk/test-fixes' 808dab2b58 Merge branch 'jk/asan-build-fix' fec1ff97c2 Merge branch 'sg/completion-worktree' c7372c9e2c Merge branch 'jn/test-lint-one-shot-export-to-shell-function' 11ad30b887 Merge branch 'hi/gpg-mintrustlevel' 96aef8f684 Merge branch 'am/test-pathspec-f-f-error-cases' d52adee779 Merge branch 'ds/graph-horizontal-edges' 6909474491 Merge branch 'am/update-pathspec-f-f-tests' 043426c8fd Merge branch 'ds/sparse-cone' 34246a1a3c Merge branch 'hi/indent-text-with-tabs-in-editorconfig' 8dd40c0472 traverse_trees(): use stack array for name entries 667b76ec58 walker_fetch(): avoid raw array length computation 9734b74a8f normalize_path_copy(): document "dst" size expectations 43f33e492a git-p4: avoid leak of file handle when cloning 19fa5ac333 git-p4: check for access to remote host earlier 6026aff5bb git-p4: cleanup better on error exit ca5b5cce62 git-p4: create helper function importRevisions() 4c1d58675d git-p4: disable some pylint warnings, to get pylint output to something manageable 5c3d5020e6 git-p4: add P4CommandException to report errors talking to Perforce 837b3a6376 git-p4: make closeStreams() idempotent b0418303b1 sha1-name: mark get_oid() error messages for translation 2df1aa239c fetch: forgo full connectivity check if --filter 50033772d5 connected: verify promisor-ness of partial clone d82ad54945 git: update documentation for --git-dir 0ad7144999 .mailmap: map Yi-Jyun Pan's email c56c48dd07 grep: ignore --recurse-submodules if --no-index is given 8b2a1928f0 doc: drop "explicitly given" from push.default description cf82bff73f obstack: avoid computing offsets from NULL pointer 3cd309c16f xdiff: avoid computing non-zero offset from NULL pointer d20bc01a51 avoid computing zero offsets from NULL pointer 7edee32985 git rm submodule: succeed if .gitmodules index stat info is zero bc3f657f71 t1506: drop space after redirection operator e5d7b2f65c t1400: avoid "test" string comparisons 5a5445d878 rebase-interactive: warn if commit is dropped with `rebase --edit-todo' 1da5874c1b sequencer: move check_todo_list_from_file() to rebase-interactive.c c7a6207591 Sync with maint 7210ca4ee5 .mailmap: fix GGG authoship screwup 37a63faae5 t4124: only mark git command with test_must_fail a8c663cf65 t3507: use test_path_is_missing() 2def7f017c t3507: fix indentation e8a1c686ae t3504: do check for conflict marker after failed cherry-pick 1c9fd32fd2 t3419: stop losing return code of git command c232ffa83c t3415: increase granularity of test_auto_{fixup,squash}() a781cd6fef t3415: stop losing return codes of git commands 86ce6e0dd1 t3310: extract common notes_merge_files_gone() 245b9ba0ba t3030: use test_path_is_missing() 4a6f11fd7b t2018: replace "sha" with "oid" 62e80fcb48 t2018: don't lose return code of git commands 30c0367668 t2018: teach do_checkout() to accept `!` arg 40caa5366a t2018: be more discerning when checking for expected exit codes b54128bb0b t5616: make robust to delta base change 4c616c2ba1 merge-recursive: use subtraction to flip stage ee798742bd merge-recursive: silence -Wxor-used-as-pow warning 39e21c6ef5 verify_filename(): handle backslashes in "wildcards are pathspecs" rule a0ba80001a .mailmap: fix erroneous authorship for Johannes Schindelin 3b2885ec9b submodule: fix status of initialized but not cloned submodules ace912bfb8 t7400: add a testcase for submodule status on empty dirs 4bb4fd4290 MyFirstContribution: add avenues for getting help 9e6d3e6417 sparse-checkout: detect short patterns 41de0c6fbc sparse-checkout: cone mode does not recognize "**" 7aa9ef2fca sparse-checkout: fix documentation typo for core.sparseCheckoutCone 47dbf10d8a clone: fix --sparse option with URLs 3c754067a1 sparse-checkout: create leading directories d622c34396 t1091: improve here-docs 522e641748 t1091: use check_files to reduce boilerplate 417be08d02 t1300: create custom config file without special characters 3de7ee369b t1300: fix over-indented HERE-DOCs 329e6ec397 config: fix typo in variable name 767a9c417e rebase -i: stop checking out the tip of the branch to rebase dfaed02862 fsmonitor: update documentation for hook version and watchman hooks e4e1e8342a fsmonitor: add fsmonitor hook scripts for version 2 d031049da3 completion: add support for sparse-checkout a402723e48 doc: sparse-checkout: mention --cone option 26027625dd rebase -i: also avoid SHA-1 collisions with missingCommitsCheck b6992261de rebase -i: re-fix short SHA-1 collision d859dcad94 parse_insn_line(): improve error message when parsing failed d2ea031046 pack-bitmap: don't rely on bitmap_git->reuse_objects 92fb0db94c pack-objects: add checks for duplicate objects bb514de356 pack-objects: improve partial packfile reuse ff483026a9 builtin/pack-objects: introduce obj_is_packed() e704fc7978 pack-objects: introduce pack.allowPackReuse 2f4af77699 csum-file: introduce hashfile_total() 8ebf529661 pack-bitmap: simplify bitmap_has_oid_in_uninteresting() 59b2829ec5 pack-bitmap: uninteresting oid can be outside bitmapped packfile 40d18ff8c6 pack-bitmap: introduce bitmap_walk_contains() 14fbd26044 ewah/bitmap: introduce bitmap_word_alloc() bc7a3d4dc0 The first batch post 2.25 cycle 09e393d913 Merge branch 'nd/switch-and-restore' 45f47ff01d Merge branch 'jk/no-flush-upon-disconnecting-slrpc-transport' 0f501545a3 Merge branch 'hw/tutorial-favor-switch-over-checkout' 36da2a8635 Merge branch 'es/unpack-trees-oob-fix' 42096c778d Merge branch 'bc/run-command-nullness-after-free-fix' 1f10b84e43 Merge branch 'en/string-list-can-be-custom-sorted' a3648c02a2 Merge branch 'en/simplify-check-updates-in-unpack-trees' e26bd14c8d Merge branch 'jt/sha1-file-remove-oi-skip-cached' 9403e5dcdd Merge branch 'hw/commit-advise-while-rejecting' 237a83a943 Merge branch 'dl/credential-netrc' a9472afb63 submodule.c: use get_git_dir() instead of get_git_common_dir() 129510a067 t2405: clarify test descriptions and simplify test 4eaadc8493 t2405: use git -C and test_commit -C instead of subshells 773c60a45e t7410: rename to t2405-worktree-submodule.sh 7a2dc95cbc docs: mention when increasing http.postBuffer is valuable 1b13e9032f doc: dissuade users from trying to ignore tracked files 69e104d70e doc: provide guidance on user.name format 813f6025a5 docs: expand on possible and recommended user config options bc94e5862a doc: move author and committer information to git-commit(1) 7979dfe1d4 l10n: Update Catalan translation 81e3db42f3 templates: fix deprecated type option `--bool` c513a958b6 t6025: use helpers to replace test -f 70789843bd t6025: modernize style 6a7aca6f01 doc: rm: synchronize description 856249c62a docs: use "currently" for the present time b40a50264a fetch: document and test --refmap="" a9ae8fde2e t3404: directly test the behavior of interest 22a69fda19 git-rebase.txt: update description of --allow-empty-message f1928f04b2 grep: use no. of cores as the default no. of threads 70a9fef240 grep: move driver pre-load out of critical section 1184a95ea2 grep: re-enable threads in non-worktree case 6c307626f1 grep: protect packed_git [re-]initialization c441ea4edc grep: allow submodule functions to run in parallel d7992421e1 submodule-config: add skip_if_read option to repo_read_gitmodules() 1d1729caeb grep: replace grep_read_mutex by internal obj read lock 31877c9aec object-store: allow threaded access to object reading b1fc9da1c8 replace-object: make replace operations thread-safe d5b0bac528 grep: fix racy calls in grep_objects() faf123c730 grep: fix race conditions at grep_submodule() c3a5bb31c1 grep: fix race conditions on userdiff calls 0222540827 fetch: emphasize failure during submodule fetch 232378479e Sync with maint e4837b4406 t7800: don't rely on reuse_worktree_file() fbce03d329 t4018: drop "debugging" cat from hunk-header tests f65d07fffa Makefile: use compat regex with SANITIZE=address 849e43cc18 built-in add -i: accept open-ended ranges again d660a30ceb built-in add -i: do not try to `patch`/`diff` an empty list of files a4ffbbbb99 submodule.c: mark more strings for translation 0cbb60574e dir: point treat_leading_path() warning to the right place ad6f2157f9 dir: restructure in a way to avoid passing around a struct dirent 22705334b9 dir: treat_leading_path() and read_directory_recursive(), round 2 f365bf40a0 clean: demonstrate a bug with pathspecs b6d4d82bd5 msvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x 277eb5af7c t5604: make hash independent 44b6c05b43 t5601: switch into repository to hash object 7a868c51c2 t5562: use $ZERO_OID 1b8f39fb0d t5540: make hash size independent a8c17e3bd6 t5537: make hash size independent 832072219c t5530: compute results based on object length 74ad99b1d8 t5512: abstract away SHA-1-specific constants ba1be1ab45 t5510: make hash size independent cba472d3ad t5504: make hash algorithm independent 82d5aeb1e6 t5324: make hash size independent 3c5e65cac1 t5319: make test work with SHA-256 235d3cddb8 t5319: change invalid offset for SHA-256 compatibility 1d86c8f0ce t5318: update for SHA-256 525a7f1769 t4300: abstract away SHA-1-specific constants 7a1bcb251b t4204: make hash size independent cb78f4f0fe t4202: abstract away SHA-1-specific constants 717c939d8f t4200: make hash size independent 08a9dd891c t4134: compute appropriate length constant 215b60bf07 t4066: compute index line in diffs 194264c185 t4054: make hash-size independent 7d5ecd775d completion: list paths and refs for 'git worktree add' 3027e4f9a8 completion: list existing working trees for 'git worktree' subcommands 3c86f6cde8 completion: simplify completing 'git worktree' subcommands and options 367efd54b3 completion: return the index of found word from __git_find_on_cmdline() d447fe2bfe completion: clean up the __git_find_on_cmdline() helper function 2712e91564 t9902-completion: add tests for the __git_find_on_cmdline() helper 54887b4689 gpg-interface: add minTrustLevel as a configuration option 684ceae32d fetch: default to protocol version 2 33166f3a1f protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION 8a1b0978ab test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate b9ab170752 config doc: protocol.version is not experimental 07ef3c6604 fetch test: use more robust test for filtered objects d6509da620 fetch test: mark test of "skipping" haves as v0-only a7fbf12f2f t/check-non-portable-shell: detect "FOO= shell_func", too c7973f249e fetch test: avoid use of "VAR= cmd" with a shell function bf66db37f1 add: use advise function to display hints c958d3bd0a graph: fix collapse of multiple edges 8588932e20 graph: add test to demonstrate horizontal line bug d0d0a357a1 t: directly test parse_pathspec_file() 568cabb2fe t: fix quotes tests for --pathspec-from-file f94f7bd00d t: add tests for error conditions with --pathspec-from-file b2627cc3d4 ci: include the built-in `git add -i` in the `linux-gcc` job 12acdf573a built-in add -p: handle Escape sequences more efficiently e118f06396 built-in add -p: handle Escape sequences in interactive.singlekey mode 04f816b125 built-in add -p: respect the `interactive.singlekey` config setting a5e46e6b01 terminal: add a new function to read a single keystroke 9ea416cb51 terminal: accommodate Git for Windows' default terminal 94ac3c31f7 terminal: make the code of disable_echo() reusable 08b1ea4c39 built-in add -p: handle diff.algorithm 180f48df69 built-in add -p: support interactive.diffFilter 1e4ffc765d t3701: adjust difffilter test c81638541c submodule add: show 'add --dry-run' stderr when aborting 8da2c57629 fsmonitor: handle version 2 of the hooks that will use opaque token 56c6910028 fsmonitor: change last update timestamp on the index_state to opaque token d0654dc308 Git 2.25 b4615e40a8 Merge tag 'l10n-2.25.0-rnd1' of git://github.com/git-l10n/git-po 4d924528d8 Revert "Merge branch 'ra/rebase-i-more-options'" ddc12c429b l10n: zh_CN: for git v2.25.0 l10n round 1 e23b95e75b Merge branch 'master' of github.com:Softcatala/git-po into git-po-master 1cf4836865 Merge branch 'js/mingw-loosen-overstrict-tree-entry-checks' d78a1968c5 Merge branch 'ma/config-advice-markup-fix' a20ae3ee29 l10n: Update Catalan translation 49e268e23e mingw: safeguard better against backslashes in file names 4c6c7971e0 unpack-trees: correctly compute result count 63a5650a49 l10n: de.po: Update German translation v2.25.0 round 1 75449c1b39 l10n: de.po: Reword generation numbers 6b6a9803fb l10n: bg.po: Updated Bulgarian translation (4800t) 3901d2c6bd config/advice.txt: fix description list separator 7a6a90c6ec Git 2.25-rc2 1f5f3ffe5c Merge branch 'ds/graph-assert-fix' a4e4140ac9 Merge branch 'tm/doc-submodule-absorb-fix' 202f68b252 Merge branch 'pm/am-in-body-header-doc-update' 7e65f8638e Merge branch 'jb/doc-multi-pack-idx-fix' c5dc20638b Merge branch 'do/gitweb-typofix-in-comments' fe47c9cb5f Merge https://github.com/prati0100/git-gui a1087c9367 graph: fix lack of color in horizontal lines 0d251c3291 graph: drop assert() for merge with two collapsing parents 4d8cab95cc transport: don't flush when disconnecting stateless-rpc helper 573117dfa5 unpack-trees: watch for out-of-range index position e701bab3e9 restore: invalidate cache-tree when removing entries with --staged 1a7e454dd6 doc/gitcore-tutorial: fix prose to match example command fa74180d08 checkout: don't revert file on ambiguous tracking branches 2957709bd4 parse_branchname_arg(): extract part as new function 5020f6806a t2018: improve style of if-statement 7ffb54618b t2018: add space between function name and () 63ab08fb99 run-command: avoid undefined behavior in exists_in_PATH 065027ee1a string-list: note in docs that callers can specify sorting function 26f924d50e unpack-trees: exit check_updates() early if updates are not wanted 042ed3e048 The final batch before -rc2 0f1930cd1b Merge branch 'ds/sparse-cone' 037f067587 Merge branch 'ds/commit-graph-set-size-mult' f25f04edca Merge branch 'en/merge-recursive-oid-eq-simplify' c20d4fd44a Merge branch 'ds/sparse-list-in-cone-mode' a578ef9e63 Merge branch 'js/mingw-loosen-overstrict-tree-entry-checks' c4117fcb97 Merge branch 'pb/clarify-line-log-doc' 556f0258df Merge branch 'ew/packfile-syscall-optim' 5814d44d9b doc: submodule: fix typo for command absorbgitdirs 7047f75f22 editorconfig: indent text files with tabs 60440d72db sha1-file: document how to use pretend_object_file 7fdc5f296f l10n: es: 2.25.0 round #1 f8740c586b am: document that Date: can appear as an in-body header 4e2c4c0d4f gitweb: fix a couple spelling errors in comments 421c0ffb02 multi-pack-index: correct configuration in documentation 757ff352bd Documentation/git-sparse-checkout.txt: fix a typo 0d2116c644 Merge branch 'zs/open-current-file' 9d48668cd5 l10n: sv.po: Update Swedish translation (4800t0f0u) 3a05aacddd Merge branch 'fr_v2.25.0_rnd1' of github.com:jnavila/git into master 4c5081614c l10n: fr.po v2.25.0 rnd 1 5bb457409c l10n: vi(4800t): Updated Vietnamese translation v2.25.0 63020f175f commit-graph: prefer default size_mult when given zero 224c7d70fa mingw: only test index entries for backslashes, not tree entries 9c8a294a1a sha1-file: remove OBJECT_INFO_SKIP_CACHED 8679ef24ed Git 2.25-rc1 a82027e9e6 Merge branch 'js/use-test-tool-on-path' 13432fc6dd Merge branch 'js/mingw-reserved-filenames' e0e1ac5db0 Merge branch 'en/rebase-signoff-fix' b76a244c9d Merge branch 'em/freebsd-cirrus-ci' bc855232bc Merge branch 'bk/p4-misc-usability' 763a59e71c merge-recursive: remove unnecessary oid_eq function 44143583b7 sparse-checkout: use extern for global variables d6a6263f5f Merge branch 'translation_191231' of github.com:l10n-tw/git-po into git-po-master 13185fd241 l10n: zh_TW.po: update translation for v2.25.0 round 1 786f4d2405 git-gui: allow opening currently selected file in default app 4fd683b6a3 sparse-checkout: document interactions with submodules de11951b03 sparse-checkout: list directories in cone mode 0d3ce942b0 l10n: it.po: update the Italian translation for Git 2.25.0 578c793731 l10n: git.pot: v2.25.0 round 1 (119 new, 13 removed) 173fff68da Merge tag 'v2.25.0-rc0' into git-po-master f1842ff531 t2018: remove trailing space from test description 20a67e8ce9 t3008: find test-tool through path lookup 9e341f62ca l10n: Update Catalan translation 4e61b2214d packfile: replace lseek+read with pread ace0f86c7f doc: log, gitk: line-log arguments must exist in starting revision 2be45868a8 doc: log, gitk: document accepted line-log diff formats 280738c36e packfile: remove redundant fcntl F_GETFD/F_SETFD 0a76bd7381 mailmap: mask accentless variant for Công Danh 99c33bed56 Git 2.25-rc0 d2189a721c Merge branch 'en/fill-directory-fixes' 8be0a428d6 Merge branch 'rs/test-cleanup' 65099bd775 Merge branch 'mr/bisect-save-pointer-to-const-string' c0c6a74594 Merge branch 'rs/xdiff-ignore-ws-w-func-context' 45b96a6fa1 Merge branch 'js/add-p-in-c' ccc292e862 Merge branch 'jc/drop-gen-hdrs' dfee504bee Merge branch 'ja/doc-markup-cleanup' 87cbb1ca66 Merge branch 'rs/ref-read-cleanup' 20aa6d88b7 Merge branch 'rb/p4-lfs' fcd5b55f56 Merge branch 'pb/submodule-doc-xref' 4bfc9ccfb6 Merge branch 'mr/bisect-use-after-free' ba6b66281e Merge branch 'ln/userdiff-elixir' bd72a08d6c Merge branch 'ds/sparse-cone' f3c520e17f Merge branch 'sg/name-rev-wo-recursion' 6514ad40a1 Merge branch 'ra/t5150-depends-on-perl' 17066bea38 Merge branch 'dl/format-patch-notes-config-fixup' 135365dd99 Merge branch 'am/pathspec-f-f-checkout' ff0cb70d45 Merge branch 'am/pathspec-from-file' 4dc42c6c18 mingw: refuse paths containing reserved names 98d9b23e90 mingw: short-circuit the conversion of `/dev/null` to UTF-16 c480eeb574 commit --interactive: make it work with the built-in `add -i` cee6cb7300 built-in add -p: implement the "worktree" patch modes 52628f94fc built-in add -p: implement the "checkout" patch modes 6610e4628a built-in stash: use the built-in `git add -p` if so configured 90a6bb98d1 legacy stash -p: respect the add.interactive.usebuiltin setting 36bae1dc0e built-in add -p: implement the "stash" and "reset" patch modes d2a233cb8b built-in add -p: prepare for patch modes other than "stage" 761e3d26bb sparse-checkout: improve OS ls compatibility 6579d93a97 contrib/credential/netrc: work outside a repo 1c78c78d25 contrib/credential/netrc: make PERL_PATH configurable b5a9d7afcd CI: add FreeBSD CI support via Cirrus-CI b441717256 t1507: inline full_name() 9291e6329e t1507: run commands within test_expect_success 5236fce6b4 t1507: stop losing return codes of git commands 10812c2337 t1501: remove use of `test_might_fail cp` 62d58cda69 t1409: use test_path_is_missing() b87b02cfe6 t1409: let sed open its own input file 9b92070e52 t1307: reorder `nongit test_must_fail` 3595d10c26 t1306: convert `test_might_fail rm` to `rm -f` f511bc02ed t0020: use ! check_packed_refs_marked f6041abdcd t0020: don't use `test_must_fail has_cr` f46c243e66 t0003: don't use `test_must_fail attr_check` 99c049bc4c t0003: use test_must_be_empty() 3738439c77 t0003: use named parameters in attr_check() 7717242014 t0000: replace test_must_fail with run_sub_test_lib_test_err() b8afb908c2 t/lib-git-p4: use test_path_is_missing() 4fe7e43c53 rebase: fix saving of --signoff state for am-based rebases 6836d2fe06 dir.c: use st_add3() for allocation size c847dfafee dir: consolidate similar code in treat_directory() 777b420347 dir: synchronize treat_leading_path() and read_directory_recursive() b9670c1f5e dir: fix checks on common prefix directory 5c4f55f1f6 commit: honor advice.statusHints when rejecting an empty commit 23cbe427c4 Merge branch 'py/console-close-esc' 124a895811 t4015: improve coverage of function context test 509efef789 commit: forbid --pathspec-from-file --all 12029dc57d t3434: mark successful test as such e0f9095aaa notes.h: fix typos in comment 675ef6bab8 t6030: don't create unused file 01ed17dc8c t5580: don't create unused file f670adb49b t3501: don't create unused file 1e1ccbfdd3 git-gui: allow closing console window with Escape 7c5cea7242 bisect--helper: convert `*_warning` char pointers to char arrays. b02fd2acca The sixth batch 59d0b3be45 Merge branch 'rs/patch-id-use-oid-to-hex' e3b72391d1 Merge branch 'rs/commit-export-env-simplify' 43bf44e23a Merge branch 'rs/archive-zip-code-cleanup' 4438a1a59f Merge branch 'js/t3404-indent-fix' 3a44db2ed2 Merge branch 'dr/branch-usage-casefix' 8bc481f4f6 Merge branch 'sg/t9300-robustify' 011fc2e88e Merge branch 'js/add-i-a-bit-more-tests' d1c0fe8d9b Merge branch 'dl/range-diff-with-notes' 26c816a67d Merge branch 'hw/doc-in-header' f0070a7df9 Merge branch 'rs/xdiff-ignore-ws-w-func-context' 71a7de7a99 Merge branch 'dl/rebase-with-autobase' c9f5fc9114 Merge branch 'dl/test-cleanup' 6d831b8a3e Merge branch 'cs/store-packfiles-in-hashmap' 3beff388b2 Merge branch 'js/builtin-add-i-cmds' 4755a34c47 Merge branch 'dd/time-reentrancy' 37c2619d91 Merge branch 'ag/sequencer-todo-updates' 608e380502 git-p4: show detailed help when parsing options fail e2aed5fd5b git-p4: yes/no prompts should sanitize user text 571fb96573 fix-typo: consecutive-word duplications f371984613 Makefile: drop GEN_HDRS 2e4083198d built-in add -p: show helpful hint when nothing can be staged 54d9d9b2ee built-in add -p: only show the applicable parts of the help text ade246efed built-in add -p: implement the 'q' ("quit") command d6cf873340 built-in add -p: implement the '/' ("search regex") command 9254bdfb4f built-in add -p: implement the 'g' ("goto") command bcdd297b78 built-in add -p: implement hunk editing b38dd9e715 strbuf: add a helper function to call the editor "on an strbuf" 11f2c0dae8 built-in add -p: coalesce hunks after splitting them 510aeca199 built-in add -p: implement the hunk splitting feature 0ecd9d27fc built-in add -p: show different prompts for mode changes and deletions 5906d5de77 built-in app -p: allow selecting a mode change as a "hunk" 47dc4fd5eb built-in add -p: handle deleted empty files 80399aec5a built-in add -p: support multi-file diffs 7584dd3c66 built-in add -p: offer a helpful error message when hunk navigation failed 12c24cf850 built-in add -p: color the prompt and the help text 25ea47af49 built-in add -p: adjust hunk headers as needed e3bd11b4eb built-in add -p: show colored hunks by default 1942ee44e8 built-in add -i: wire up the new C code for the `patch` command f6aa7ecc34 built-in add -i: start implementing the `patch` functionality in C d1b1384d61 userdiff: remove empty subexpression from elixir regex df5be01669 doc: indent multi-line items in list fd5041e127 doc: remove non pure ASCII characters 190a65f9db sparse-checkout: respect core.ignoreCase in cone mode 1d7297513d notes: break set_display_notes() into smaller functions 66f79ee23d config/format.txt: clarify behavior of multiple format.notes cc2bd5c45d gitmodules: link to gitsubmodules guide 99f86bde83 remote: pass NULL to read_ref_full() because object ID is not needed e0ae2447d6 refs: pass NULL to refs_read_ref_full() because object ID is not needed 8c02fe6060 t7004: don't create unused file cb05d6a5ed t4256: don't create unused file c5c4eddd56 dir: break part of read_directory_recursive() out for reuse 072a231016 dir: exit before wildcard fall-through if there is no wildcard 2f5d3847d4 dir: remove stray quote character in comment a2b13367fe Revert "dir.c: make 'git-status --ignored' work within leading directories" 452efd11fb t3011: demonstrate directory traversal failures ea94b16fb8 git-p4: honor lfs.storage configuration variable 51a0a4ed95 bisect--helper: avoid use-after-free d32e065a91 Merge branch 'kk/branch-name-encoding' ad05a3d8e5 The fifth batch 7cc5f89088 Merge branch 'ag/sequencer-continue-leakfix' b089e5e6cb Merge branch 'em/test-skip-regex-illseq' 930078ba39 Merge branch 'hi/gpg-use-check-signature' 08d2f46d0c Merge branch 'bc/t9001-zsh-in-posix-emulation-mode' 7aba2b7fd6 Merge branch 'sg/test-squelch-noise-in-commit-bulk' 55c37d12d3 Merge branch 'jk/perf-wo-git-dot-pm' 41dac79c2f Merge branch 'ds/commit-graph-delay-gen-progress' 5dd1d59d35 Merge branch 'jt/clone-recursesub-ref-advise' dac30e7b5d Merge branch 'as/t7812-missing-redirects-fix' d37cfe3b5c Merge branch 'dl/pretty-reference' 99c4ff1bda Merge branch 'dl/submodule-set-url' 55d607d85b Merge branch 'js/mingw-inherit-only-std-handles' c58ae96fc4 Merge branch 'am/pathspec-from-file' 7c88714262 Merge branch 'po/bundle-doc-clonable' 5d9324e0f4 Merge branch 'ra/rebase-i-more-options' 7034cd094b Sync with Git 2.24.1 09ac67a183 format-patch: move git_config() before repo_init_revisions() 8164c961e1 format-patch: use --notes behavior for format.notes 452538c358 notes: extract logic into set_display_notes() e6e230eeae notes: create init_display_notes() helper 1e6ed5441a notes: rename to load_display_notes() 2866fd284c name-rev: cleanup name_ref() 49f7a2fde9 name-rev: eliminate recursion in name_rev() fee984bcab name-rev: use 'name->tip_name' instead of 'tip_name' e05e8cf074 archive-zip: use enum for compression method 39acfa3d22 git gui: fix branch name encoding error 11de8dd7ef l10n: minor case fix in 'git branch' '--unset-upstream' description 8cf8f9b4aa t3404: fix indentation 4507ecc771 patch-id: use oid_to_hex() to print multiple object IDs 147ee35558 commit: use strbuf_add() to add a length-limited string 559c6fc317 The fourth batch 56e6c16394 Merge branch 'dl/lore-is-the-archive' 3b3d9ea6a8 Merge branch 'jk/lore-is-the-archive' 7cb0d37f6d Merge branch 'tg/perf-remove-stale-result' 403ac1381c Merge branch 'jk/send-pack-check-negative-with-quick' f0cf2fee5d Merge branch 'hi/grep-do-not-return-void' 391fb22ac7 Merge branch 'rs/use-skip-prefix-more' 92b52e1bd6 Merge branch 'rs/simplify-prepare-cmd' 4ba74ca901 Merge branch 'rs/test-cleanup' f233c9f455 Merge branch 'sg/assume-no-todo-update-in-cherry-pick' ef3ce7c4b9 Merge branch 'sg/osx-force-gcc-9' 8c5724c585 name-rev: drop name_rev()'s 'generation' and 'distance' parameters 3a52150301 name-rev: restructure creating/updating 'struct rev_name' instances dd432a6ecf name-rev: restructure parsing commits and applying date cutoff dd090a8a37 name-rev: pull out deref handling from the recursion 766f9e39c0 name-rev: extract creating/updating a 'struct name_rev' into a helper d59fc83697 t6120: add a test to cover inner conditions in 'git name-rev's name_rev() bf43abc6e6 name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation e0c4da6f2a name-rev: avoid unnecessary cast in name_ref() c3794d4ccb name-rev: use strbuf_strip_suffix() in get_rev_name() c593a26348 t6120-describe: modernize the 'check_describe' helper abcf857300 range-diff: clear `other_arg` at end of function f8675343d7 range-diff: mark pointers as const 828765dfe0 t3206: fix incorrect test name 0d9b0d7885 t9300-fast-import: don't hang if background fast-import exits too early 21f57620b2 t9300-fast-import: store the PID in a variable instead of pidfile b4bbbbd5a2 apply --allow-overlap: fix a corner case 89c8559367 git add -p: use non-zero exit code when the diff generation failed e91162be9c t3701: verify that the diff.algorithm config setting is handled 0c3222c4f3 t3701: verify the shown messages when nothing can be added 24be352d52 t3701: add a test for the different `add -p` prompts 8539b46534 t3701: avoid depending on the TTY prerequisite 0f0fba2cc8 t3701: add a test for advanced split-hunk editing 53a06cf39b Git 2.24.1 67af91c47a Sync with 2.23.1 a7312d1a28 Git 2.23.1 7fd9fd94fb Sync with 2.22.2 d9589d4051 Git 2.22.2 5421ddd8d0 Sync with 2.21.1 367f12b7e9 Git 2.21.1 20c71bcf67 Merge branch 'fix-msys2-quoting-bugs' 7d8b676992 mingw: sh arguments need quoting in more circumstances d9061ed9da t7415: drop v2.20.x-specific work-around 04522edbd4 mingw: fix quoting of empty arguments for `sh` 49f7a76d57 mingw: use MSYS2 quoting even when spawning shell scripts e2ba3d6f6d mingw: detect when MSYS2's sh is to be spawned more robustly fc346cb292 Sync with 2.20.2 4cd1cf31ef Git 2.20.2 c154745074 submodule: defend against submodule.update = !command in .gitmodules 4cfc47de25 t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x d851d94151 Sync with 2.19.3 caccc527ca Git 2.19.3 7c9fbda6e2 Sync with 2.18.2 9877106b01 Git 2.18.2 14af7ed5a9 Sync with 2.17.3 a5ab8d0317 Git 2.17.3 bb92255ebe fsck: reject submodule.update = !command in .gitmodules bdfef0492c Sync with 2.16.6 eb288bc455 Git 2.16.6 68440496c7 test-drop-caches: use `has_dos_drive_prefix()` 9ac92fed5b Sync with 2.15.4 7cdafcaacf Git 2.15.4 e904deb89d submodule: reject submodule.update = !command in .gitmodules d3ac8c3f27 Sync with 2.14.6 66d2a6159f Git 2.14.6 083378cc35 The third batch 88bd37a2d0 Merge branch 'js/pkt-line-h-typofix' 473b431410 Merge branch 'us/unpack-trees-fsmonitor' e0f9ec9027 Merge branch 'sg/test-bool-env' fd952307ec Merge branch 'mh/clear-topo-walk-upon-reset' e547e5a89e Merge branch 'hv/assume-priumax-is-available-anywhere' 88cf80949e Merge branch 'mg/submodule-status-from-a-subdirectory' 8feb47e882 Merge branch 'dl/t5520-cleanup' 6b3cb32f43 Merge branch 'nl/reset-patch-takes-a-tree' 57d46bc602 Merge branch 'mg/doc-submodule-status-cached' 75bd003c7b Merge branch 'js/git-svn-use-rebase-merges' f06dff7b7c Merge branch 'hi/gpg-optional-pkfp-fix' c9208597a9 Merge branch 'pw/sequencer-compare-with-right-parent-to-check-empty-commits' 36fd304d81 Merge branch 'jk/fail-show-toplevel-outside-working-tree' cf91c31688 Merge branch 'sg/unpack-progress-throughput' ef6104581d Merge branch 'pb/submodule-update-fetches' 7fd7a8ab29 Merge branch 'jc/azure-ci-osx-fix-fix' f3c7bfdde2 Merge branch 'dl/range-diff-with-notes' 9502b616f1 Merge branch 'jh/userdiff-python-async' 76c68246c6 Merge branch 'ec/fetch-mark-common-refs-trace2' 995b1b1411 Merge branch 'dd/rebase-merge-reserves-onto-label' f7998d9793 Merge branch 'js/builtin-add-i' 917d0d6234 Merge branch 'js/rebase-r-safer-label' 56d3ce82b0 Merge branch 'ep/guard-kset-tar-headers' 2763530048 Merge branch 'jg/revert-untracked' fa38ab68b0 git-gui: revert untracked files by deleting them d9c6469f38 git-gui: update status bar to track operations 29a9366052 git-gui: consolidate naming conventions 0bb313a552 xdiff: unignore changes in function context 2ddcccf97a Merge branch 'win32-accommodate-funny-drive-names' 65d30a19de Merge branch 'win32-filenames-cannot-have-trailing-spaces-or-periods' 5532ebdeb7 Merge branch 'fix-mingw-quoting-bug' 76a681ce9c Merge branch 'dubiously-nested-submodules' dd53ea7220 Merge branch 'turn-on-protectntfs-by-default' f82a97eb91 mingw: handle `subst`-ed "DOS drives" 7f3551dd68 Merge branch 'disallow-dotgit-via-ntfs-alternate-data-streams' d2c84dad1c mingw: refuse to access paths with trailing spaces or periods 379e51d1ae quote-stress-test: offer to test quoting arguments for MSYS2 sh 817ddd64c2 mingw: refuse to access paths with illegal characters cc756edda6 unpack-trees: let merged_entry() pass through do_add_entry()'s errors 7530a6287e quote-stress-test: allow skipping some trials 35edce2056 t6130/t9350: prepare for stringent Win32 path validation 55953c77c0 quote-stress-test: accept arguments to test via the command-line ad15592529 tests: add a helper to stress test argument quoting a8dee3ca61 Disallow dubiously-nested submodule git directories 9102f958ee protect_ntfs: turn on NTFS protection by default 91bd46588e path: also guard `.gitmodules` against NTFS Alternate Data Streams 6d8684161e mingw: fix quoting of arguments 3a85dc7d53 is_ntfs_dotgit(): speed it up 7c3745fc61 path: safeguard `.git` against NTFS Alternate Streams Accesses 288a74bcd2 is_ntfs_dotgit(): only verify the leading segment a62f9d1ace test-path-utils: offer to run a protectNTFS/protectHFS benchmark cae0bc09ab rebase: fix format.useAutoBase breakage 945dc55dda format-patch: teach --no-base 700e006c5d t4014: use test_config() a749d01e1d format-patch: fix indentation 0c47e06176 t3400: demonstrate failure with format.useAutoBase d9b31db2c4 t7700: stop losing return codes of git commands 3699d69df0 t7700: make references to SHA-1 generic dcf9a748ca t7700: replace egrep with grep cfe5eda02a t7700: consolidate code into test_has_duplicate_object() ae475afc0f t7700: consolidate code into test_no_missing_in_packs() 14b7664df8 doc: replace LKML link with lore.kernel.org d23f9c8e04 RelNotes: replace Gmane with real Message-IDs dcee037228 doc: replace MARC links with lore.kernel.org a9aecc7abb checkout, restore: support the --pathspec-from-file option cfd9376c1d doc: restore: synchronize description 8ea1189eac doc: checkout: synchronize description 6fdc9ad259 doc: checkout: fix broken text reference 1d022bb43f doc: checkout: remove duplicate synopsis bebb5d6d6b add: support the --pathspec-from-file option 21bb3083c3 cmd_add: prepare for next patch 4778452597 Merge branch 'prevent-name-squatting-on-windows' a7b1ad3b05 Merge branch 'jk/fast-import-unsafe' 525e7fba78 path.c: document the purpose of `is_ntfs_dotgit()` e1d911dd4c mingw: disallow backslash characters in tree objects' file names 0060fd1511 clone --recurse-submodules: prevent name squatting on Windows a52ed76142 fast-import: disallow "feature import-marks" by default 68061e3470 fast-import: disallow "feature export-marks" by default 019683025f fast-import: delay creating leading directories for export-marks e075dba372 fast-import: stop creating leading directories for import-marks 11e934d56e fast-import: tighten parsing of boolean command line options 816f806786 t9300: create marks files for double-import-marks test f94804c1f2 t9300: drop some useless uses of cat 4f3e57ef13 submodule--helper: advise on fatal alternate error 10c64a0b3c Doc: explain submodule.alternateErrorStrategy ec48540fe8 packfile.c: speed up loading lots of packfiles 3ba3720b3f mingw: forbid translating ERROR_SUCCESS to an errno value a4fb016ba1 pkt-line: fix a typo 0109d676f9 mingw: use {gm,local}time_s as backend for {gm,local}time_r e714b898c6 t7812: expect failure for grep -i with invalid UTF-8 data 228f53135a The second batch 6c630f237e Merge branch 'jk/gitweb-anti-xss' 3288d99c92 Merge branch 'ar/install-doc-update-cmds-needing-the-shell' 4775e02a5c Merge branch 'ma/t7004' a6c6f8d02a Merge branch 'js/complete-svn-recursive' 3ae8defaf9 Merge branch 'jk/send-pack-remote-failure' aec3b2e24f Merge branch 'jc/fsmonitor-sanity-fix' 4ab9616c76 Merge branch 'sg/skip-skipped-prereq' 723a8adba5 Merge branch 'ds/test-read-graph' 9da3948781 Merge branch 'rs/use-copy-array-in-mingw-shell-command-preparation' 406ca29e0d Merge branch 'rs/parse-options-dup-null-fix' fce9e836d3 Merge branch 'jt/fetch-remove-lazy-fetch-plugging' 8faff3899e Merge branch 'jk/optim-in-pack-idx-conversion' ef8f621045 Merge branch 'dl/complete-rebase-onto' 3c3e5d0ea2 Merge branch 'tg/stash-refresh-index' 43c5fe1c1d Merge branch 'nn/doc-rebase-merges' 6511cb33c9 Merge branch 'dd/sequencer-utf8' f165457618 Merge branch 'jk/remove-sha1-to-hex' a774064fb0 Merge branch 'dj/typofix-merge-strat' ca5c8aa8e1 Merge branch 'rj/bundle-ui-updates' d2489ce92c Merge branch 'rs/skip-iprefix' 376e7309e1 Merge branch 'ln/userdiff-elixir' 9a5d34c6dc Merge branch 'py/shortlog-list-options-for-log' d3096d2ba6 Merge branch 'en/doc-typofix' 26f20fa3fc Merge branch 'ns/test-desc-typofix' ffd130a363 Merge branch 'en/t6024-style' 5149902ff9 Merge branch 'en/misc-doc-fixes' bcb06e204c Merge branch 'js/fetch-multi-lockfix' d08daec001 Merge branch 'rs/trace2-dots' fc7b26c907 Merge branch 'kw/fsmonitor-watchman-fix' bad5ed39cd Merge branch 'cb/curl-use-xmalloc' 7ab2088255 Merge branch 'rt/fetch-message-fix' f089ddd56a Merge branch 'es/myfirstcontrib-updates' 3c90710c0c Merge branch 'hw/config-doc-in-header' d4924ea7c3 Merge branch 'dl/doc-diff-no-index-implies-exit-code' 5444d52866 Merge branch 'js/vreportf-wo-buffering' 05fc6471e3 Merge branch 'pb/no-recursive-reset-hard-in-worktree-add' ecbddd16bb Merge branch 'pb/help-list-gitsubmodules-among-guides' 532d983823 Merge branch 'sg/blame-indent-heuristics-is-now-the-default' dfc03e48ec Merge branch 'mr/clone-dir-exists-to-path-exists' fac9ab1419 Merge branch 'ma/bisect-doc-sample-update' a2b0451434 Merge branch 'js/git-path-head-dot-lock-fix' 0be5caf97c Merge branch 'jc/log-graph-simplify' 0e07c1cd83 Merge branch 'jk/cleanup-object-parsing-and-fsck' 2e697ced9d built-in add -i: offer the `quit` command d7633578b5 built-in add -i: re-implement the `diff` command 8746e07277 built-in add -i: implement the `patch` command ab1e1cccaf built-in add -i: re-implement `add-untracked` in C c54ef5e424 built-in add -i: re-implement `revert` in C a8c45be939 built-in add -i: implement the `update` command f37c226454 built-in add -i: prepare for multi-selection commands c08171d156 built-in add -i: allow filtering the modified files list 0c3944a628 add-interactive: make sure to release `rev.prune_data` 4d0375ca24 mingw: do set `errno` correctly when trying to restrict handle inheritance 867fc7f310 grep: don't return an expression from pcre2_free() c64368e3a2 t9001: avoid including non-trailing NUL bytes in variables 72b006f4bf gpg-interface: prefer check_signature() for GPG verification 7187c7bbb8 t4210: skip i18n tests that don't work on FreeBSD b5ab03bcb6 archive-zip.c: switch to reentrant localtime_r ccd469450a date.c: switch to reentrant {gm,local}time_r 271c351b2f t7811: don't create unused file 65efb42862 t9300: don't create unused file f6b9413baf sequencer: fix a memory leak in sequencer_continue() 3eae30e464 doc: replace public-inbox links with lore.kernel.org 46c67492aa doc: recommend lore.kernel.org over public-inbox.org 5cf7a17dfb send-pack: use OBJECT_INFO_QUICK to check negative objects 17a4ae92ea t7700: s/test -f/test_path_is_file/ d2eee32a89 t7700: move keywords onto their own line 7a1c8c2346 t7700: remove spaces after redirect operators 09279086e8 t7700: drop redirections to /dev/null 756ee7fc9f t7501: stop losing return codes of git commands 38c1aa01de t7501: remove spaces after redirect operators 763b47bafa t5703: stop losing return codes of git commands eacaa1c180 t5703: simplify one-time-sed generation logic a29b2429e5 t5317: use ! grep to check for no matching lines 6c37f3ec1b t5317: stop losing return codes of git commands b66e0a1773 t4138: stop losing return codes of git commands afd43c9905 t4015: use test_write_lines() 946d2353a3 t4015: stop losing return codes of git commands 50cd31c652 t3600: comment on inducing SIGPIPE in `git rm` 3b737381d8 t3600: stop losing return codes of git commands 0d913dfa7e t3600: use test_line_count() where possible 29a40b5a67 t3301: stop losing return codes of git commands 9b5a9fa60a t0090: stop losing return codes of git commands 17aa9d9c1a t0014: remove git command upstream of pipe 77a946be98 apply-one-time-sed.sh: modernize style 176441bfb5 ci: build Git with GCC 9 in the 'osx-gcc' build job ed254710ee test: use test_must_be_empty F instead of test_cmp empty F c74b3cbb83 t7812: add missing redirects 213dabf49d test: use test_must_be_empty F instead of test -z $(cat F) c93a5aaec8 t1400: use test_must_be_empty 6e4826ea75 t1410: use test_line_count a5d04a3ef9 t1512: use test_line_count 54a7a64613 run-command: use prepare_git_cmd() in prepare_cmd() 2059e79c0d name-rev: use skip_prefix() instead of starts_with() 1768aaf01d push: use skip_prefix() instead of starts_with() ec6ee0c07a shell: use skip_prefix() instead of starts_with() 7e412e8a34 fmt-merge-msg: use skip_prefix() instead of starts_with() a6293f5d28 fetch: use skip_prefix() instead of starts_with() 13ca8fb79e t5150: skip request-pull test if Perl is disabled ecc0869080 commit-graph: use start_delayed_progress() 44a4693bfc progress: create GIT_PROGRESS_DELAY 528d9e6d01 t/perf: don't depend on Git.pm b8dcc45387 perf-lib: use a single filename for all measurement types fc42f20e24 test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk' d82dfa7f5b rebase -i: finishing touches to --reset-author-date 1f3aea22c7 submodule: fix 'submodule status' when called from a subdirectory 393adf7a6f sequencer: directly call pick_commits() from complete_action() a2dd67f105 rebase: fill `squash_onto' in get_replay_opts() 3f34f2d8a4 sequencer: move the code writing total_nr on the disk to a new function 34065541e3 sequencer: update `done_nr' when skipping commands in a todo list 8638114e06 sequencer: update `total_nr' when adding an item to a todo list 0aa0c2b2ec revision: free topo_walk_info before creating a new one in init_topo_walk ffa1f28fea revision: clear the topo-walk flags in reset_revision_walk ebc3278665 git-compat-util.h: drop the `PRIuMAX` and other fallback definitions 9917eca794 l10n: zh_TW: add translation for v2.24.0 0a8e3036a3 reset: parse rev as tree-ish in patch mode f0e58b3fe8 doc: mention that 'git submodule update' fetches missing commits 8d483c8408 doc: document 'git submodule status --cached' befd4f6a81 sequencer: don't re-read todo for revert and cherry-pick ac33519ddf mingw: restrict file handle inheritance only on Windows 7 and later 9a780a384d mingw: spawned processes need to inherit only standard handles c5a03b1e29 mingw: work around incorrect standard handles eea4a7f4b3 mingw: demonstrate that all file handles are inherited by child processes a85efb5985 t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool 43a2afee82 tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values 2d05ef2778 sequencer: fix empty commit check when amending ea8b7be147 git svn: stop using `rebase --preserve-merges` 67a6ea6300 gpg-interface: limit search for primary key fingerprint 392b862e9a gpg-interface: refactor the free-and-xmemdupz pattern cff4e9138d sparse-checkout: check for dirty status 416adc8711 sparse-checkout: update working directory in-process for 'init' f75a69f880 sparse-checkout: cone mode should not interact with .gitignore fb10ca5b54 sparse-checkout: write using lockfile 99dfa6f970 sparse-checkout: use in-process update for disable subcommand e091228e17 sparse-checkout: update working directory in-process e9de487aa3 sparse-checkout: sanitize for nested folders 4dcd4def3c unpack-trees: add progress to clear_ce_flags() eb42feca97 unpack-trees: hash less in cone mode af09ce24a9 sparse-checkout: init and set in cone mode 96cc8ab531 sparse-checkout: use hashmaps for cone patterns 879321eb0b sparse-checkout: add 'cone' mode e6152e35ff trace2: add region in clear_ce_flags 72918c1ad9 sparse-checkout: create 'disable' subcommand 7bffca95ea sparse-checkout: add '--stdin' option to set subcommand f6039a9423 sparse-checkout: 'set' subcommand d89f09c828 clone: add --sparse mode bab3c35908 sparse-checkout: create 'init' subcommand 94c0956b60 sparse-checkout: create builtin with 'list' subcommand 679f2f9fdd unpack-trees: skip stat on fsmonitor-valid files df6d3d6802 lib-bash.sh: move `then` onto its own line 2a02262078 t5520: replace `! git` with `test_must_fail git` c245e58bb6 t5520: remove redundant lines in test cases a1a64fdd0a t5520: replace $(cat ...) comparison with test_cmp e959a18ee7 t5520: don't put git in upstream of pipe 5540ed27bc t5520: test single-line files by git with test_cmp dd0f1e767b t5520: use test_cmp_rev where possible 979f8891cc t5520: replace test -{n,z} with test-lib functions 3037d3db90 t5520: use test_line_count where possible 93a9bf876b t5520: remove spaces after redirect operator ceeef863de t5520: replace test -f with test-lib functions 4c8b046f82 t5520: let sed open its own input 53c62b9810 t5520: use sq for test case names e8d1eaf9b4 t5520: improve test style 2c9e125b27 t: teach test_cmp_rev to accept ! for not-equals 8cb7980382 t0000: test multiple local assignment 5b583e6a09 format-patch: pass notes configuration to range-diff bd36191886 range-diff: pass through --notes to `git log` 9f726e1b87 range-diff: output `## Notes ##` header 3bdbdfb7a5 t3206: range-diff compares logs with commit notes 75c5aa0701 t3206: s/expected/expect/ 79f3950d02 t3206: disable parameter substitution in heredoc 3a6e48e9f7 t3206: remove spaces after redirect operators 26d94853f0 pretty-options.txt: --notes accepts a ref instead of treeish 077a1fda82 userdiff: support Python async functions 3798149a74 SubmittingPatches: use `--pretty=reference` 1f0fc1db85 pretty: implement 'reference' format 618a855083 pretty: add struct cmt_fmt_map::default_date_mode_type 0df621172d pretty: provide short date format ac52d9410e t4205: cover `git log --reflog -z` blindspot 3e8ed3b93e pretty.c: inline initalize format_context 4982516451 revision: make get_revision_mark() return const pointer f0f9de2bd7 completion: complete `tformat:` pretty format fb2ffa77a6 SubmittingPatches: remove dq from commit reference bae74c9dfb pretty-formats.txt: use generic terms for hash bd00717eab SubmittingPatches: use generic terms for hash 9d45ac4cbf rev-list-options.txt: remove reference to --show-notes 828e829b9e argv-array: add space after `while` e440fc5888 commit: support the --pathspec-from-file option 66a25a7242 doc: commit: synchronize description 64bac8df97 reset: support the `--pathspec-from-file` option d137b50756 doc: reset: synchronize description 24e4750c96 pathspec: add new function to parse file 0dbc4a0edf ci(osx): update homebrew-cask repository with less noise e02058a729 sequencer: handle rebase-merges for "onto" message bae60ba7e9 builtin/unpack-objects.c: show throughput progress 2d92ab32fd rev-parse: make --show-toplevel without a worktree an error 9e5afdf997 fetch: add trace2 instrumentation 4c4066d95d run-command: move doc to run-command.h 6c51cb525d trace2: move doc to trace2.h 7db0305438 parse-options: add link to doc file in parse-options.h d95a77d059 submodule-config: move doc to submodule-config.h f3b9055624 credential: move doc to credential.h bbcfa3002a tree-walk: move doc to tree-walk.h 971b1f24a2 argv-array: move doc to argv-array.h f1ecbe0f53 trace: move doc to trace.h 13aa9c8b70 cache: move doc to cache.h c0be43f898 sigchain: move doc to sigchain.h 19ef3ddd36 pathspec: move doc to pathspec.h 301d595e72 revision: move doc to revision.h 3a1b3415d9 attr: move doc to attr.h 126c1ccefb refs: move doc to refs.h d27eb356bf remote: move doc to remote.h and refspec.h 405c6b1fbc sha1-array: move doc to sha1-array.h d3d7172e40 merge: move doc to ll-merge.h 3f1480b745 graph: move doc to graph.h and graph.c 266f03eccd dir: move doc to dir.h 13c4d7eb22 diff: move doc to diff.h and diffcore.h cd5522271f rebase -r: let `label` generate safer labels 867bc1d236 rebase-merges: move labels' whitespace mangling into `label_oid()` 8c15904462 built-in add -i: implement the `help` command 3d965c7674 built-in add -i: use color in the main loop 68db1cbf8e built-in add -i: support `?` (prompt help) 76b743234c built-in add -i: show unique prefixes of the commands 6348bfba58 built-in add -i: implement the main loop a376e37b2c gitweb: escape URLs generated by href() b178c207d7 t/gitweb-lib.sh: set $REQUEST_URI f28bceca75 t/gitweb-lib.sh: drop confusing quotes 0eba60c9b7 t9502: pass along all arguments in xss helper 932757b0cc INSTALL: use existing shell scripts as example b018719927 t7004: check existence of correct tag 1daaebcaa5 built-in add -i: color the header in the `status` command 5e82b9e4d2 built-in add -i: implement the `status` command e4cb659ebd diff: export diffstat interface f83dff60a7 Start to implement a built-in version of `git add --interactive` df53c80822 stash: make sure we have a valid index before writing it ad7a403268 send-pack: check remote ref status on pack-objects failure d91ce887c9 t6120-describe: correct test repo history graph in comment 1f9247a3bd completion: tab-complete "git svn --recursive" 603960b50e promisor-remote: remove fetch_if_missing=0 e362fadcd0 clone: remove fetch_if_missing=0 169bed7421 parse-options: avoid arithmetic on pointer that's potentially NULL 51bd6be32d mingw: use COPY_ARRAY for copying array 4bd0593e0f test-tool: use 'read-graph' helper e0316695ec test-lib: don't check prereqs of test cases that won't be run anyway d784d978f6 t4215: use helper function to check output 61eea521fe fsmonitor: do not compare bitmap size with size of split index b19f3fe9dd hex: drop sha1_to_hex() c1ce9c06d0 completion: learn to complete `git rebase --onto=` f66e0401ab pack-objects: avoid pointless oe_map_new_pack() calls d3a8caebf3 doc: improve readability of --rebase-merges in git-rebase aa6d7f93ed hex: drop sha1_to_hex_r() 52f52e5ae4 sequencer: reencode commit message for am/rebase --show-current-patch 5772b0c745 sequencer: reencode old merge-commit message e0eba649e8 bundle-verify: add --quiet 79862b6b77 bundle-create: progress output control 73c3253d75 bundle: framework for options before bundle file 68d40f30c4 merge-strategies: fix typo "reflected to" to "reflected in" b375744274 sequencer: reencode squashing commit's message 019a9d8362 sequencer: reencode revert/cherry-pick's todo list 0798d16fe3 sequencer: reencode to utf-8 before arrange rebase's todo list e4b95b3b5f t3900: demonstrate git-rebase problem with multi encoding 1ba6e7aecd configure.ac: define ICONV_OMITS_BOM if necessary d9f6f3b619 The first batch post 2.24 cycle 28014c1084 Merge branch 'bc/hash-independent-tests-part-6' 57b530125e Merge branch 'js/update-index-ignore-removal-for-skip-worktree' c22f63c40f Merge branch 'pb/pretty-email-without-domain-part' 5731ca3657 Merge branch 'hw/remove-api-docs-placeholder' 14b58c62bc Merge branch 'sg/commit-graph-usage-fix' eff313f8a7 Merge branch 'dl/apply-3way-diff3' db806d7064 Merge branch 'sg/dir-trie-fixes' f1e2666b33 Merge branch 'jc/am-show-current-patch-docfix' 8f1119b988 Merge branch 'wb/midx-progress' d9800351d3 Merge branch 'en/merge-recursive-directory-rename-fixes' 0c51181ffb Merge branch 'js/rebase-deprecate-preserve-merges' 8f40d89783 Merge branch 'hv/bitshift-constants-in-blame' d4a98e701f Merge branch 'dd/notes-copy-default-dst-to-head' 5c8c0a0d78 Merge branch 'pw/post-commit-from-sequencer' b75ba9bbd1 Merge branch 'dl/format-patch-cover-from-desc' 15d9f3dc66 Merge branch 'es/walken-tutorial' 026587c793 Merge branch 'jt/fetch-pack-record-refs-in-the-dot-promisor' ed28358833 convert: use skip_iprefix() in validate_encoding() 89f8cabaf3 utf8: use skip_iprefix() in same_utf_encoding() 03670c8b23 Fix spelling errors in no-longer-updated-from-upstream modules ae821ffe83 multimail: fix a few simple spelling errors 557c5895c2 sha1dc: fix trivial comment spelling error aa74be316a Fix spelling errors in test commands 96c0caf5e3 Fix spelling errors in messages shown to users 4dc8b1c114 Fix spelling errors in names of tests 7a40cf1553 Fix spelling errors in comments of testcases 15beaaa3d1 Fix spelling errors in code comments a807200f67 userdiff: add Elixir to supported userdiff languages 461caf3e8a git-shortlog.txt: include commit limiting options 6462d5eb9a fetch: remove fetch_if_missing=0 46efd28be1 kset.h, tar.h: add missing header guard to prevent multiple inclusion 99b2ba35f5 t0028: eliminate non-standard usage of printf add97702ed parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul` 14c4776d75 t: fix typo in test descriptions 270de6acbe t6024: modernize style 77363a51fb name-hash.c: remove duplicate word in comment c92faa4d22 hashmap: fix documentation misuses of -> versus . a6d39f2efb git-filter-branch.txt: correct argument name typo 4d17fd253f remote-curl: unbreak http.extraHeader with custom allocators 8915297925 Fix spelling errors in documentation outside of Documentation/ 031fd4b93b Documentation: fix a bunch of typos, both old and new dd0b61f577 fsmonitor: fix watchman integration 5c34d2f03e trace2: add dots directly to strbuf in perf_fmt_prepare() 7d8e72b970 fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph c14e6e7903 fetch: add the command-line option `--write-commit-graph` da72936f54 Git 2.24 1d34d425d4 Merge branch 'bc/doc-use-docbook-5' dac1d83c91 Merge branch 'ds/commit-graph-on-fetch' c32ca691c2 Merge branch 'jt/delay-fetch-if-missing' ab6b50e4c8 Merge https://github.com/prati0100/git-gui 93bf7423dd Merge tag 'l10n-2.24.0-rnd2' of https://github.com/git-l10n/git-po a5cd71ca4a l10n: zh_CN: for git v2.24.0 l10n round 1~2 fe28ad8520 rebase: add --reset-author-date 08187b4cba rebase -i: support --ignore-date 0185c683c9 sequencer: rename amend_author to author_to_rename cbd8db17ac rebase -i: support --committer-date-is-author-date c068bcc59b sequencer: allow callers of read_author_script() to ignore fields ba51d2fb24 rebase -i: add --ignore-whitespace flag 3c8d754c4b myfirstcontrib: hint to find gitgitgadget allower 3ada78de3f myfirstcontrib: add dependency installation step 4ed5562925 myfirstcontrib: add 'psuh' to command-list.txt 4a58c3d7f7 stash: handle staged changes in skip-worktree files correctly 8dfb04ae96 update-index: optionally leave skip-worktree entries alone 116d1fa6c6 vreportf(): avoid relying on stdio buffering efd5444238 RelNotes/2.24.0: fix self-contradictory note 391c7e40b5 fetch.c: fix typo in a warning message 55aca515eb manpage-bold-literal.xsl: match for namespaced "d:literal" in template 849e43680d RelNotes/2.24.0: typofix 0115e5d929 git-diff.txt: document return code of `--no-index` 798d66e35d l10n: de.po: Update German translation c1d0038746 l10n: sv.po: Update Swedish translation (4695t0f0u) f21f8f5d35 Git 2.24-rc2 8dc28ee438 Merge branch 'wb/fsmonitor-bitmap-fix' 0d6799e563 Merge branch 'rl/gitweb-blame-prev-fix' f2db52c46b Merge branch 'js/mingw-needs-hiding-fix' 5b7594abdc Merge branch 'master' of github.com:vnwildman/git 034d33653a Merge branch 'next' of github.com:ChrisADR/git-po 26b061007c submodule: teach set-url subcommand 460782b7be t7519-status-fsmonitor: improve comments d8b8217c8a pretty: add "%aL" etc. to show local-part of email addresses 4782cf2ab6 worktree: teach "add" to ignore submodule.recurse config 1294a85b7c l10n: bg.po: Updated Bulgarian translation (4694) f126a1fb0f l10n: vi(4694t): Updated translation for v2.24.0 762d5b4f46 help: add gitsubmodules to the list of guides 76a53d640f git_path(): handle `.lock` files correctly 3ce47211a6 t1400: wrap setup code in test case 44ae131e38 builtin/blame.c: remove '--indent-heuristic' from usage string 6c02042139 clone: rename static function `dir_exists()`. 8dd327b246 Documentation/git-bisect.txt: add --no-ff to merge command 77200e9332 l10n: es: 2.24.0 round 2 e42df36b42 Merge branch 'l10n/it/update-italian-translation' 5e196e8ae0 l10n: it.po: update the Italian translation for Git 2.24.0 round #2 51728480fe l10n: fr v2.24.0 rnd2 045a548698 l10n: git.pot: v2.24.0 round 2 (1 new) 468d356a81 Merge tag 'v2.24.0-rc1' of github.com:git/git into master b2f2039c2b fsck: accept an oid instead of a "struct tree" for fsck_tree() c5b4269b57 fsck: accept an oid instead of a "struct commit" for fsck_commit() 103fb6d43b fsck: accept an oid instead of a "struct tag" for fsck_tag() f648ee7088 fsck: rename vague "oid" local variables cc579000bf fsck: don't require an object struct in verify_headers() 7854399366 fsck: don't require an object struct for fsck_ident() b8b00f1693 fsck: drop blob struct from fsck_finish() 6da40b22ca fsck: accept an oid instead of a "struct blob" for fsck_blob() 38370253fd fsck: don't require an object struct for report() f59793763d fsck: only require an oid for skiplist functions 5afc4b1dc6 fsck: only provide oid/type in fsck_error callback 82ef89b318 fsck: don't require object structs for display functions 733902905d fsck: use oids rather than objects for object_name API d40bbc109b fsck_describe_object(): build on our get_object_name() primitive a59cfb3230 fsck: unify object-name code 23a173a761 fsck: require an actual buffer for non-blobs 2175a0c601 fsck: stop checking tag->tagged ec65231571 fsck: stop checking commit->parent counts 1de6007d85 fsck: stop checking commit->tree value 228c78fbd4 commit, tag: don't set parsed bit for parse failures 60e6569a12 mingw: avoid a buffer overrun in `needs_hiding()` 8b656572ca builtin/commit-graph.c: remove subcommand-less usage string fa26d5ede6 t4048: abstract away SHA-1-specific constants cf02be8486 t4045: make hash-size independent 38ee26b2a3 t4044: update test to work with SHA-256 37ab8ebef1 t4039: abstract away SHA-1-specific constants 0370b35414 t4038: abstract away SHA-1 specific constants 0253e126a2 t4034: abstract away SHA-1-specific constants 45e2ef2b1d t4027: make hash-size independent 79b0edc1a0 t4015: abstract away SHA-1-specific constants 840624ff55 t4011: abstract away SHA-1-specific constants 32a6707267 t4010: abstract away SHA-1-specific constants 440bf91dfa t3429: remove SHA1 annotation 0b408ca2bd t1305: avoid comparing extensions 2eabd38313 rev-parse: add a --show-object-format option 52bd3e4657 gitweb: correctly store previous rev in javascript-actions mode 45e206f0d8 t4203: use test-lib.sh definitions 2ae4944aac t6006: use test-lib.sh definitions cb99a34e23 commit-graph: fix writing first commit-graph during fetch e88aab917e t5510-fetch.sh: demonstrate fetch.writeCommitGraph bug 7b4fb434b4 documentation: remove empty doc files 566a1439f6 Git 2.24-rc1 04b1f4f768 Merge branch 'sg/ci-osx-gcc8-fix' 4d6fb2beeb Merge branch 'ds/feature-macros' 5f0b6ed907 Merge branch 'js/azure-ci-osx-fix' c555caab7a Merge branch 'bw/format-patch-o-create-leading-dirs' 1b4f85285f Merge branch 'dl/submodule-set-branch' c7aadccba0 fetch: delay fetch_if_missing=0 until after config c11e9966cb repo-settings: read an int for index.version 091489d068 apply: respect merge.conflictStyle in --3way aa76ae4905 t4108: demonstrate bug in apply 95806205cd t4108: use `test_config` instead of `git config` b0069684d4 t4108: remove git command upstream of pipe fa87b81385 t4108: replace create_file with test_write_lines 7d4733c501 ci: fix GCC install in the Travis CI GCC OSX job 6c96630cb0 config: move documentation to config.h d81542e6f3 Eleventh batch e0ff2d4c7e Merge branch 'cb/pcre2-chartables-leakfix' d45d771978 Merge branch 'bc/smart-http-atomic-push' 22dd22dce0 Merge branch 'wb/fsmonitor-bitmap-fix' 2e215b7959 Merge branch 'sb/userdiff-dts' e3cf08361a Merge branch 'sg/progress-fix' b895e8dea6 Merge branch 'nr/diff-highlight-indent-fix' c1ec35dd48 Merge branch 'mb/clarify-zsh-completion-doc' f45f88b2e4 path.c: don't call the match function without value in trie_find() c72fc40d09 path.c: clarify two field names in 'struct common_dir' 8a64881b44 path.c: mark 'logs/HEAD' in 'common_list' as file 7cb8c929d7 path.c: clarify trie_find()'s in-code comment e536b1fedf Documentation: mention more worktree-specific exceptions 680cba2c2b multi-pack-index: add [--[no-]progress] option. 64d80e7d52 midx: honor the MIDX_PROGRESS flag in midx_repack ad60096d1c midx: honor the MIDX_PROGRESS flag in verify_midx_file 8dc18f8937 midx: add progress to expire_midx_packs 840cef0c70 midx: add progress to write_midx_file efbc3aee08 midx: add MIDX_PROGRESS flag 0eb3671ed9 ci(osx): use new location of the `perforce` cask da1e295e00 t604[236]: do not run setup in separate tests 49b8133a9e merge-recursive: fix merging a subdirectory into the root directory d3eebaad5e merge-recursive: clean up get_renamed_dir_portion() 80736d7c5e doc: am --show-current-patch gives an entire e-mail message a8e2c0eadc t7419: change test_must_fail to ! for grep 19c29e538e t4014: make output-directory tests self-contained 12a4aeaad8 Merge branch 'js/azure-pipelines-msvc' 399c23c046 ci(visual-studio): actually run the tests in parallel 711cd6d15c ci(visual-studio): use strict compile flags, and optimization 370784e0e6 l10n: it.po: update the Italian translation for Git 2.24.0 cc73c68603 Merge branch 'master' of github.com:jnavila/git into git-po-master 907843be3b Merge branch 'master' of github.com:alshopov/git-po into git-po-master 13bcea8c7f l10n: fr 2.24.0 rnd 1 135480a616 Merge remote-tracking branch 'git-po/master' into git-po-master 3d0a05b464 l10n: git.pot: v2.24.0 round 1 (35 new, 16 removed) 8da56a4848 userdiff: fix some corner cases in dts regex 86795774bb builtin/blame.c: constants into bit shift format feebd2d256 rebase: hide --preserve-merges option 0e40a73a4c Doc: Bundle file usage 78d50148b9 parse_tag_buffer(): treat NULL tag pointer as parse error 12736d2f02 parse_commit_buffer(): treat lookup_tree() failure as parse error c78fe00459 parse_commit_buffer(): treat lookup_commit() failure as parse error 2b6f6ea1bd test-progress: fix test failures on big-endian systems f757409e36 l10n: bg.po: Updated Bulgarian translation (4693) 176f5adfdb completion: clarify installation instruction for zsh d966095db0 Git 2.24-rc0 90e0d167c6 Merge branch 'rs/remote-curl-use-argv-array' 3def8ae9a4 Merge branch 'rs/column-use-utf8-strnwidth' d0258d0944 Merge branch 'rs/http-push-simplify' bb52def6da Merge branch 'jj/stash-reset-only-toplevel' f1afbb063f Merge branch 'bw/format-patch-o-create-leading-dirs' e5fca6b573 Merge branch 'bb/compat-util-comment-fix' 43400b4222 Merge branch 'bb/utf8-wcwidth-cleanup' 07ff6dd0ea Merge branch 'dl/allow-running-cocci-verbosely' 2d74d28ee0 Merge branch 'dl/compat-cleanup' 9b83a94829 Merge branch 'ta/t1308-typofix' 376012c919 Merge branch 'js/doc-stash-save' 10da030ab7 grep: avoid leak of chartables in PCRE2 513f2b0bbd grep: make PCRE2 aware of custom allocator 57d4660468 grep: make PCRE1 aware of custom allocator d58deb9c4e notes: fix minimum number of parameters to "copy" subcommand 8af69cf3e2 t3301: test diagnose messages for too few/many paramters 6f1194246a remote-curl: pass on atomic capability to remote side bbb13e8188 graph: fix coloring of octopus dashes 92beecc136 graph: flatten edges that fuse with their right neighbor 479db18bc0 graph: smooth appearance of collapsing edges on commit lines 0195285b95 graph: rename `new_mapping` to `old_mapping` d62893ecc1 graph: commit and post-merge lines for left-skewed merges 0f0f389f12 graph: tidy up display of left-skewed merges 458152cce1 graph: example of graph output that can be simplified ee7abb5ffa graph: extract logic for moving to GRAPH_PRE_COMMIT state 46ba2abdfa graph: remove `mapping_idx` and `graph_update_width()` a551fd5efd graph: reduce duplication in `graph_insert_into_new_columns()` 9157a2a032 graph: reuse `find_new_column_by_commit()` 210179a20d graph: handle line padding in `graph_next_line()` fbccf255f9 graph: automatically track display width of graph lines 5374a290aa fetch-pack: write fetched refs to .promisor 4627bc777e sequencer: run post-commit hook 49697cb721 move run_commit_hook() to libgit and use it there 12bb7a540a sequencer.h fix placement of #endif 6a619ca03c t3404: remove uneeded calls to set_fake_editor b2dbacbddf t3404: set $EDITOR in subshell 88a92b6c73 t3404: remove unnecessary subshell bf8e65b30b format-patch: teach --cover-from-description option a92331df18 format-patch: use enum variables 46273df7bf format-patch: replace erroneous and condition 3b3c79f6c9 diff-highlight: fix a whitespace nit 108b97dc37 Ninth batch cbe8cdd3a0 Merge branch 'jk/coc' 3b9ec27919 Merge branch 'js/trace2-fetch-push' c7d2cedec2 Merge branch 'jt/push-avoid-lazy-fetch' 1ef3bd362a Merge branch 'dl/format-patch-doc-test-cleanup' eb3de5b823 Merge branch 'js/xdiffi-comment-updates' 4e8371ec26 Merge branch 'dl/t0000-skip-test-test' b6d712fa4e Merge branch 'tg/range-diff-output-update' 77458870a5 Merge branch 'gs/sq-quote-buf-pretty' 5efabc7ed9 Merge branch 'ew/hashmap' d0ce4d9024 Merge branch 'js/trace2-cap-max-output-files' 6ed610b968 Merge branch 'am/t0028-utf16-tests' 5b900fb812 Merge branch 'dl/octopus-graph-bug' 16d9d7184b Merge branch 'en/fast-imexport-nested-tags' 6d5291be45 Merge branch 'js/azure-pipelines-msvc' ccc289915a Merge branch 'gs/commit-graph-trace-with-cmd' d96e31e390 Merge branch 'js/fetch-jobs' 280bd44551 Merge branch 'en/merge-recursive-cleanup' 062a309d36 remote-curl: use argv_array in parse_push() a81e42d235 column: use utf8_strnwidth() to strip out ANSI color escapes 5cc6a4be11 http-push: simplify deleting a list item 556895d0c8 stash: avoid recursive hard reset on submodules b524f6b399 Merge branch 'ka/japanese-translation' f6f3824b4e git-gui: improve Japanese translation 61f4b407d3 Merge branch 'py/readme' 1e6880fd06 git-gui: add a readme edefc31873 format-patch: create leading components of output directory 68b69211b2 git-compat-util: fix documentation syntax fa364ad790 utf8: use ARRAY_SIZE() in git_wcwidth() e0479fa073 documentation: add tutorial for object walking 3444ec2eb2 fsmonitor: don't fill bitmap with entries to be removed 4f3c1dc5d6 Makefile: respect $(V) in %.cocci.patch target 9cad1c4488 pthread.h: manually align parameter lists 8c1cfd58e3 t1308-config-set: fix a test that has a typo 57d8f4b4c7 doc(stash): clarify the description of `save` 08da6496b6 Eighth batch 07f25ad8b2 Merge branch 'dl/rev-list-doc-cleanup' f0d407e6ae Merge branch 'kt/add-i-progress' 66102cfad8 Merge branch 'js/stash-apply-in-secondary-worktree' a4c5d9f66e Merge branch 'rs/dedup-includes' 159cdabd87 Merge branch 'js/range-diff-noprefix' 93424f1f7d Merge branch 'cb/pcre1-cleanup' a73f91774c Merge branch 'ab/pcre-jit-fixes' 4608a029b4 Merge branch 'pw/rebase-i-show-HEAD-to-reword' 020011f2cb Merge branch 'tk/git-svn-trim-author-name' 676278f8ea Merge branch 'bc/object-id-part17' aafb75452b Merge branch 'en/clean-nested-with-ignored' 3f9ef874a7 CODE_OF_CONDUCT: mention individual project-leader emails 5cdf2301d4 add a Code of Conduct document 70bf0b755a Seventh batch 9b3995cee0 Merge branch 'rs/test-remove-useless-debugging-cat' 2e956f7fb3 Merge branch 'pm/p4-auto-delete-named-temporary' d17f54947d Merge branch 'rs/convert-fix-utf-without-dash' 82c80f98e6 Merge branch 'py/git-gui-has-maintainer' 6e12570822 Merge branch 'ah/cleanups' 772cad0afb Merge branch 'js/diff-rename-force-stable-sort' 424663d9c8 Merge branch 'js/mingw-spawn-with-spaces-in-path' 678a9ca629 Merge branch 'as/shallow-slab-use-fix' 0b4fae553c Merge branch 'sg/name-rev-cutoff-underflow-fix' 042a54d251 Merge branch 'am/visual-studio-config-fix' 03d3b1297c xdiffi: fix typos and touch up comments b05b40930e t0000: cover GIT_SKIP_TESTS blindspots d8bc1a518a send-pack: never fetch when checking exclusions 756fb0dedb t4014: treat rev-list output as the expected value 2b6a9b13ca range-diff: don't segfault with mode-only changes 360c7ba330 transport: push codepath can take arbitrary repository ce2d7ed2fd sq_quote_buf_pretty: don't drop empty arguments b657047719 merge-recursive: fix the fix to the diff3 common ancestor label b744c3af07 Sixth batch 417056578a Merge branch 'bw/submodule-helper-usage-fix' 9728ab488a Merge branch 'dl/honor-cflags-in-hdr-check' 1f314d5223 Merge branch 'cb/do-not-use-test-cmp-with-a' 59b19bcd9f Merge branch 'cc/multi-promisor' 1f4485b219 Merge branch 'jt/merge-recursive-symlink-is-not-a-dir-in-way' 5ecdbfafd6 Merge branch 'ps/my-first-contribution-alphasort' eb35c18e42 Merge branch 'sg/travis-help-debug' cabb145fe3 Merge branch 'rs/alias-use-copy-array' 56c7ab0f4e Merge branch 'sg/t-helper-gitignore' e5ce62b1ac Merge branch 'cc/svn-fe-py-shebang' 583cf6232a Merge branch 'ah/doc-submodule-ignore-submodules' 337e3f2b49 Merge branch 'rs/nth-switch-code-simplification' 8f53fe1733 Merge branch 'hb/hg-to-git-py3' ef93bfbd45 Merge branch 'sg/progress-fix' 980351d1ac Merge branch 'js/doc-patch-text' 80693e3f09 Merge branch 'tb/commit-graph-harden' ae203ba414 Merge branch 'jt/cache-tree-avoid-lazy-fetch-during-merge' 3f84633563 Merge branch 'dl/cocci-everywhere' caf150ce7d Merge branch 'gs/commit-graph-progress' 1d8b0dfa8a Merge branch 'ms/fetch-follow-tag-optim' 1398171378 Merge branch 'rs/commit-graph-use-list-count' 773521df26 Merge branch 'rs/nth-parent-parse' 7f17913161 Merge branch 'dl/submodule-set-branch' cb3ec6f4ef Merge branch 'cs/pretty-formats-doc-typofix' bbfe5f2241 Merge branch 'jk/list-objects-optim-wo-trees' 098e8c6716 Merge branch 'jk/disable-commit-graph-during-upload-pack' 37ab7cb0a8 Merge branch 'mr/complete-more-for-log-etc' e392382f95 Merge branch 'dl/complete-rebase-and-archive' cda8faa37e Merge branch 'jk/commit-graph-cleanup' 36d2fca82b Merge branch 'ss/get-time-cleanup' ed6822896b Merge branch 'rs/simplify-by-deco-with-deco-refs-exclude' ad8f0368b4 Merge branch 'jk/partial-clone-sparse-blob' ba2d451122 Merge branch 'tg/stash-refresh-index' e2b5038d87 hashmap_entry: remove first member requirement from docs 404ab78e39 hashmap: remove type arg from hashmap_{get,put,remove}_entry 23dee69f53 OFFSETOF_VAR macro to simplify hashmap iterators c8e424c9c9 hashmap: introduce hashmap_free_entries 8a973d0bb3 hashmap: hashmap_{put,remove} return hashmap_entry * 87571c3f71 hashmap: use *_entry APIs for iteration 939af16eac hashmap_cmp_fn takes hashmap_entry params f23a465132 hashmap_get{,_from_hash} return "struct hashmap_entry *" f0e63c4113 hashmap: use *_entry APIs to wrap container_of 6bcbdfb277 hashmap_get_next returns "struct hashmap_entry *" 973d5eea74 introduce container_of macro 26b455f21e hashmap_put takes "struct hashmap_entry *" 28ee794128 hashmap_remove takes "const struct hashmap_entry *" b6c5241606 hashmap_get takes "const struct hashmap_entry *" b94e5c1df6 hashmap_add takes "struct hashmap_entry *" f6eb6bdcf2 hashmap_get_next takes "const struct hashmap_entry *" d22245a2e3 hashmap_entry_init takes "struct hashmap_entry *" d0a48a0a1d packfile: use hashmap_entry in delta_base_cache_entry 12878c8351 coccicheck: detect hashmap_entry.hash assignment e010a41216 diff: use hashmap_entry_init on moved_entry.ent f537485fa5 tests: remove "cat foo" before "test_i18ngrep bar foo" de5abb5f7a git-p4: auto-delete named temporary file c90b652afd Fifth batch f00b57e5bc Merge branch 'cb/skip-utf8-check-with-pcre1' b0f8aed48f Merge branch 'ma/user-manual-markup-update' faf5576a8d Merge branch 'bc/doc-use-docbook-5' 314fcd32d7 Merge branch 'ma/asciidoctor-more-fixes' 70c1cbf515 Merge branch 'ma/asciidoctor-refmiscinfo' 847650798b Merge branch 'am/mailmap-andrey-mazo' 1a155f2e66 Merge branch 'jc/git-gui-has-maintainer' 1bcef51204 t/oid-info: add empty tree and empty blob values ecde49bb8a t/oid-info: allow looking up hash algorithm name 11a3d3aadd git-rev-list.txt: prune options in synopsis 7d2f003ee4 Documentation: update the location of the git-gui repo b181676ce9 convert: fix handling of dashless UTF prefix in validate_encoding() 46689317ac ci: also build and test with MS Visual Studio on Azure Pipelines b35304bf95 ci: really use shallow clones on Azure Pipelines ab7d854aba tests: let --immediate and --write-junit-xml play well together be5d88e112 test-tool run-command: learn to run (parts of) the testsuite 5d65ad17a9 vcxproj: include more generated files 030a628b81 vcxproj: only copy `git-remote-http.exe` once it was built 61d1d92aa4 msvc: work around a bug in GetEnvironmentVariable() e4347c9434 msvc: handle DEVELOPER=1 ed712ef8d5 msvc: ignore some libraries when linking 5b8f9e2417 compat/win32/path-utils.h: add #include guards 41616ef618 winansi: use FLEX_ARRAY to avoid compiler warning c097b95a26 msvc: avoid using minus operator on unsigned types dfd557c978 stash apply: report status correctly even in a worktree's subdirectory d54dea77db fetch: let --jobs= parallelize --multiple, too 87db61a436 trace2: write discard message to sentinel files 83e57b04e6 trace2: discard new traces if target directory has too many files 11c21f22de t4214: demonstrate octopus graph coloring failure 25eb905e14 t4214: explicitly list tags in log 63be8c8dd7 t4214: generate expect in their own test cases a7a5590c6e t4214: use test_merge 94ba151300 test-lib: let test_merge() perform octopus merges 22541013d0 docs: clarify trace2 version invariants 3d4548e7e2 docs: mention trace2 target-dir mode in git-config 2fe44394c8 treewide: remove duplicate #include directives dbcd970c27 push: do not pretend to return `int` from `die_push_simple()` 941790d7de fast-export: handle nested tags 8d7d33c1ce t9350: add tests for tags of things other than a commit a1638cfe12 fast-export: allow user to request tags be marked with --mark-tags 208d69246e fast-export: add support for --import-marks-if-exists b8f50e5b60 fast-import: add support for new 'alias' command f73b2aba05 fast-import: allow tags to be identified by mark labels 3164e6bd24 fast-import: fix handling of deleted tags 8085050ab4 add -i: show progress counter in the prompt 69fdb922ad Merge branch 'bw/diff3-conflict-style' b436825b9b git-gui: support for diff3 conflict style 937b76ed49 range-diff: internally force `diff.noprefix=true` 411e4f4735 ci: run `hdr-check` as part of the `Static Analysis` job 25e4b8099c push: add trace2 instrumentation 5fc31180d8 fetch: add trace2 instrumentation 53d687bf5f git_mkstemps_mode(): replace magic numbers with computed value c3b57dc2a0 git-gui: use existing interface to query a path's attribute 45ab460d4a Merge branch 'js/git-bash-if-available' 0bd7f578b2 commit-graph: emit trace2 cmd_mode for each sub-command 71f4960b91 t0061: fix test for argv[0] with spaces (MINGW only) 54a80a9ad8 wrapper: use a loop instead of repetitive statements baed6bbb5b diffcore-break: use a goto instead of a redundant if statement 8da02ce62a commit-graph: remove a duplicate assignment ddb3c856f3 shallow.c: don't free unallocated slabs 8e4ec3376e merge-recursive: fix the diff3 common ancestor label for virtual commits 65904b8b2b promisor-remote: skip move_to_tail when no-op 2049b8dc65 diffcore_rename(): use a stable sort 97fff61012 Move git_sort(), a stable sort, into into libgit.a 69f272b922 dir: special case check for the possibility that pathspec is NULL 6a72d44fc2 git-gui (Windows): use git-bash.exe if it is available bc12974a89 Fourth batch 5a5350940b Merge branch 'ds/commit-graph-on-fetch' 974bdb0205 Merge branch 'bw/rebase-autostash-keep-current-branch' 9755f70fe6 Merge branch 'ds/include-exclude' 93fc8760e7 Merge branch 'jh/trace2-pretty-output' 640f9cd599 Merge branch 'dl/rebase-i-keep-base' 026428c35e Merge branch 'sg/clean-nested-repo-with-ignored' 21db12c9ea Merge branch 'dl/complete-cherry-pick-revert-skip' d693345518 Merge branch 'dl/use-sq-from-test-lib' d8ce144e11 Merge branch 'jk/misc-uninitialized-fixes' 2be6ccc01a Merge branch 'sg/git-test-boolean' cf861cd7a0 Merge branch 'rs/get-tagged-oid' 91243b019d Merge branch 'en/filter-branch-deprecation' 9bc67b6658 Merge branch 'en/merge-options-ff-and-friends' fe048e4fd9 Merge branch 'tg/push-all-in-mirror-forbidden' cab037cd4b Merge branch 'dt/remote-helper-doc-re-lock-option' 8e111e487b Merge branch 'rs/help-unknown-ref-does-not-return' 3ff6af7753 Merge branch 'nd/switch-and-restore' aadac067aa Merge branch 'tb/file-url-to-unc-path' b57a88a5f1 Merge branch 'js/gitdir-at-unc-root' 6f21347f11 Merge branch 'ar/mingw-run-external-with-non-ascii-path' 430439536b Merge branch 'rs/parse-tree-indirect' 991fd97b9a Merge branch 'jk/fast-import-history-bugfix' 74a39b9bcc Merge branch 'mh/notes-duplicate-entries' 37801f0665 Merge branch 'tb/banned-vsprintf-namefix' 21ce0b48f3 Merge branch 'mh/release-commit-memory-fix' f0fcab6deb Merge branch 'mh/http-urlmatch-cleanup' bf6136cab8 Merge branch 'rs/strbuf-detach' a2e22bb3ad Merge branch 'rs/trace2-dst-warning' 1c6fc941c7 Merge branch 'dl/format-patch-doc-test-cleanup' 0281733483 Merge branch 'bc/hash-independent-tests-part-5' f06fb376ed Merge branch 'jc/test-cleanup' 00bb74453d Merge branch 'dl/compat-cleanup' 59438be06c Merge branch 'js/visual-studio' cda0d497e3 builtin/submodule--helper: fix usage string for 'update-clone' af2abd870b fast-export: fix exporting a tag and nothing else c4d2f6143a user-manual.txt: render ASCII art correctly under Asciidoctor dba3734103 asciidoctor-extensions.rb: handle "book" doctype in linkgit fd5b820d9c user-manual.txt: change header notation e79b34533a user-manual.txt: add missing section label b503a2d515 Makefile: emulate compile in $(HCO) target better af26e2a9d2 pack-bitmap.h: remove magic number b06fdead04 promisor-remote.h: include missing header 97b989ee3a apply.h: include missing header 4ddd4bddb1 git-svn: trim leading and trailing whitespaces in author name d928a8388a t0028: add more tests 0b63fd6965 t0028: fix test for UTF-16-LE-BOM fe0ed5d5e9 contrib/buildsystems: fix Visual Studio Debug configuration 2e09c01232 name-rev: avoid cutoff timestamp underflow 8464f94aeb promisor-remote.h: drop extern from function declaration 75b2c15435 t4038: Remove non-portable '-a' option passed to test_cmp 24c681794f doc: MyFirstContribution: fix cmd placement instructions c46ebc2496 travis-ci: do not skip successfully tested trees in debug mode 60c60b627e Merge branch 'py/git-git-extra-stuff' faf420e05a treewide: correct several "up-to-date" to "up to date" b71c6c3b64 Fix build with core.autocrlf=true 16d7601e17 Merge branches 'js/msgfmt-on-windows', 'tz/fsf-address-update', 'jn/reproducible-build', 'ls/no-double-utf8-author-name', 'js/misc-git-gui-stuff', 'bb/ssh-key-files', 'bp/bind-kp-enter', 'cb/ttk-style' and 'py/call-do-quit-before-exit' of ../git into py/git-git-extra-stuff 26e3d1cbea .mailmap: update email address of Andrey Mazo 27ea41c0b4 t/helper: ignore only executable files 7bd97d6dff git: use COPY_ARRAY and MOVE_ARRAY in handle_alias() 83e3ad3b12 merge-recursive: symlink's descendants not in way 34933d0eff stash: make sure to write refreshed cache e080b34540 merge: use refresh_and_write_cache 22184497a3 factor out refresh_and_write_cache function 7371612255 commit-graph: add --[no-]progress to write and verify 47b27c96fa test_date.c: remove reference to GIT_TEST_DATE_NOW 253bfe49bd SubmittingPatches: git-gui has a new maintainer d17ae00c97 hg-to-git: make it compatible with both python3 and python2 4c86140027 Third batch f67bf53300 Merge branch 'jt/avoid-ls-refs-with-http' 627b826834 Merge branch 'md/list-objects-filter-combo' b9ac6c59b8 Merge branch 'cc/multi-promisor' de67293e74 Merge branch 'sg/line-log-tree-diff-optim' 95486229e3 Merge branch 'sg/complete-configuration-variables' f76bd8c6b1 Merge branch 'js/pre-merge-commit-hook' a2e524ecf3 Merge branch 'cb/curl-use-xmalloc' 128666753b Merge branch 'jk/drop-release-pack-memory' 917a319ea5 Merge branch 'js/rebase-r-strategy' 7e1976e210 Merge branch 'master' of https://github.com/prati0100/git-gui 4b3aa170d1 sha1_name: simplify strbuf handling in interpret_nth_prior_checkout() 0d4304c124 doc: fix reference to --ignore-submodules af78249463 contrib/svn-fe: fix shebang for svnrdump_sim.py 8a3a6817e2 Merge gitk to pick up emergency build fix 2a4ac71ffb gitk: rename zh_CN.po to zh_cn.po 9027af58e2 Makefile: run coccicheck on more source files 43f8c890fd Makefile: strip leading ./ in $(FIND_SOURCE_FILES) 5dedf7de53 Makefile: define THIRD_PARTY_SOURCES 902b90cf42 clean: fix theoretical path corruption ca8b5390db clean: rewrap overly long line 09487f2cba clean: avoid removing untracked files in a nested git repository e86bbcf987 clean: disambiguate the definition of -d 3aca58045f git-clean.txt: do not claim we will delete files with -n/--dry-run 29b577b960 dir: add commentary explaining match_pathspec_item's return value 89a1f4aaf7 dir: if our pathspec might match files under a dir, recurse into it a3d89d8f76 dir: make the DO_MATCH_SUBMODULE code reusable for a non-submodule case 404ebceda0 dir: also check directories for matching pathspecs a5e916c745 dir: fix off-by-one error in match_pathspec_item bbbb6b0b89 dir: fix typo in comment 7541cc5302 t7300: add testcases showing failure to clean specified pathspecs 0eb7c37a8a diff, log doc: small grammer, format, and language fixes 6fae6bd518 diff, log doc: say "patch text" instead of "patches" 2bb74b53a4 Test the progress display bbf47568ad Revert "progress: use term_clear_line()" cf6a2d2557 Makefile: strip leading ./ in $(LIB_H) b7e2d8bca5 fetch: use oidset to keep the want OIDs for faster lookup 689a146c91 commit-graph: use commit_list_count() 59fa5f5a25 sha1-name: check for overflow of N in "foo^N" and "foo~N" a678df1bf9 rev-parse: demonstrate overflow of N for "foo^N" and "foo~N" a4cafc7379 list-objects-filter: use empty string instead of NULL for sparse "base" cf34337f98 list-objects-filter: give a more specific error sparse parsing error 4c96a77594 list-objects-filter: delay parsing of sparse oid 72de5895ed t5616: test cloning/fetching with sparse:oid= filter 83b0b8953e doc-diff: replace --cut-header-footer with --cut-footer 7a30134358 asciidoctor-extensions: provide `` 226daba280 Doc/Makefile: give mansource/-version/-manual attributes 40e747e89d git-submodule.txt: fix AsciiDoc formatting error f6461b82b9 Documentation: fix build with Asciidoctor 2 3cb8921f74 Merge branch 'master' of git://ozlabs.org/~paulus/gitk f7a8834ba4 Merge branch 'bp/amend-toggle-bind' ec7424e1a6 git-gui: add hotkey to toggle "Amend Last Commit" 9ea831a2a6 gitk: Do not mistake unchanged lines for submodule changes d7cc4fb001 gitk: Use right colour for remote refs in the "Tags and heads" dialog beffae768a gitk: Add Chinese (zh_CN) translation 56d9cbe68b packfile: expose get_delta_base() bab28d9f97 builtin/pack-objects: report reused packfile objects 6c8ec8c30a Merge branch 'bw/commit-scrollbuffer' acfa495519 Merge branch 'bw/amend-checkbutton' da08d559b7 git-gui: add horizontal scrollbar to commit buffer ba41b5b335 git-gui: convert new/amend commit radiobutton to checkbutton aeeb978ba6 completion: teach archive to use __gitcomp_builtin 2b9bd488ae completion: teach rebase to use __gitcomp_builtin d49dffde9a completion: add missing completions for log, diff, show 6abada1880 upload-pack: disable commit graph more gently for shallow traversal fbab552a53 commit-graph: bump DIE_ON_LOAD check to actual load-time 72ed80c784 list-objects: don't queue root trees unless revs->tree_objects is set 4fd39c76e6 doc: minor formatting fix 29f4332e66 Quit passing 'now' to date code c77abf0460 Merge branch 'py/revert-hunks-lines' 5a2bb62180 Merge branch 'bp/widget-focus-hotkeys' e07446ed5f git-gui: add hotkeys to set widget focus f981ec18cf cache-tree: do not lazy-fetch tentative tree f1d4a28250 Second batch c8ada15456 Merge branch 'bc/reread-attributes-during-rebase' 8f3ba423e7 Merge branch 'tg/t0021-racefix' a477abe9e4 Merge branch 'mp/for-each-ref-missing-name-or-email' d49c2c3466 Merge branch 'sb/userdiff-dts' 2743b61bc6 Merge branch 'rs/sort-oid-array-thread-safe' 4c49dd042d Merge branch 'nd/diff-parseopt' d8b1ce7972 Merge branch 'jt/diff-lazy-fetch-submodule-fix' 8ce8a63b46 Merge branch 'ds/midx-expire-repack' 9437394661 Merge branch 'cb/fetch-set-upstream' af2b8faf49 Merge branch 'rs/pax-extended-header-length-fix' fa9e7934c7 Merge branch 'bm/repository-layout-typofix' d1a251a1fa Merge branch 'en/checkout-mismerge-fix' e1151704f2 Merge branch 'sg/diff-indent-heuristic-non-experimental' f4f8dfe127 Merge branch 'ds/feature-macros' 4a12f89865 Merge branch 'jk/eoo' b4a1eec332 Merge branch 'jk/repo-init-cleanup' 70336bd50a Merge branch 'py/git-gui-do-quit' ad7c543e3b grep: skip UTF8 checks explicitly 0cc7380d88 log-tree: call load_ref_decorations() in get_name_decoration() b4ecbcf6a2 log: test --decorate-refs-exclude with --simplify-by-decoration 4414e837fc gitweb.conf.txt: switch pluses to backticks to help Asciidoctor b7e1ba5649 git-merge-index.txt: wrap shell listing in "----" 38cadf9e47 git-receive-pack.txt: wrap shell [script] listing in "----" 5371813768 git-ls-remote.txt: wrap shell listing in "----" 1925fe0c8a Documentation: wrap config listings in "----" 922a2c93f5 git-merge-base.txt: render indentations correctly under Asciidoctor 2017956a19 Documentation: wrap blocks with "--" dd2e50a84e commit-graph: turn off save_commit_buffer 67fa6aac5a commit-graph: don't show progress percentages while expanding reachable commits 806278dead commit-graph.c: handle corrupt/missing trees 16749b8dd2 commit-graph.c: handle commit parsing errors 23424ea759 t/t5318: introduce failing 'git commit-graph write' tests bf1e28e0ad builtin/rebase.c: Remove pointless message d2172ef02d builtin/rebase.c: make sure the active branch isn't moved when autostashing bd482d6e33 t: use common $SQ variable 3a37876b5d pack-objects: drop packlist index_pos optimization 7e6b96c73b test-read-cache: drop namelen variable e4b369069e diff-delta: set size out-parameter to 0 for NULL delta 7140414d8b bulk-checkin: zero-initialize hashfile_checkpoint f1cbd033e2 pack-objects: use object_id in packlist_alloc() 0dfed92dfd git-am: handle missing "author" when parsing commit 3960290675 ci: restore running httpd tests 6a20b62d7e t/lib-git-svn.sh: check GIT_TEST_SVN_HTTPD when running SVN HTTP tests c77722b3ea use get_tagged_oid() dad3f0607b tag: factor out get_tagged_oid() 468ce99b77 unpack-trees: rename 'is_excluded_from_list()' 65edd96aec treewide: rename 'exclude' methods to 'pattern' 4ff89ee52c treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_' caa3d55444 treewide: rename 'struct exclude_list' to 'struct pattern_list' ab8db61390 treewide: rename 'struct exclude' to 'struct path_pattern' 483e861111 t9902: use a non-deprecated command for testing 9df53c5de6 Recommend git-filter-repo instead of git-filter-branch 7b6ad97939 t6006: simplify, fix, and optimize empty message test 50094ca45f config/format.txt: specify default value of format.coverLetter c1a6f21cd4 Doc: add more detail for git-format-patch 854b5cb46a t4014: stop losing return codes of git commands dd2b6b6860 t4014: remove confusing pipe in check_threading() 6bd26f58ea t4014: use test_line_count() where possible c6ec6dadba t4014: let sed open its own files f2e2fa8f60 t4014: drop redirections to /dev/null 460609cbd5 t4014: use indentable here-docs 92014b69bb t4014: remove spaces after redirect operators 0ab74e979c t4014: use sq for test case names cb46c40662 t4014: move closing sq onto its own line b562a54c01 t4014: s/expected/expect/ e770fbfeff t3005: remove unused variable da280f5f1a t: use LF variable defined in the test harness 7027f508c7 compat/*.[ch]: remove extern from function declarations using spatch 552fc5016f mingw: apply array.cocci rule 476998d05b t3427: accelerate this test by using fast-export and fast-import aac6ff7b5b .gitignore: stop ignoring `.manifest` files 2c65d90f75 am: reload .gitattributes after patching it 1577dc0f7c tree: simplify parse_tree_indirect() 50f26bd035 fetch: add fetch.writeCommitGraph config setting 8e4c8af058 push: disallow --all and refspecs when remote..mirror is set 27fd1e4ea7 merge-options.txt: clarify meaning of various ff-related options 0a8bc7068f clarify documentation for remote helpers 80e3658647 help: make help_unknown_ref() NORETURN 313677627a checkout: add simple check for 'git checkout -b' 3441de5b9c gitk: Make web links clickable a4fa2f0a4c git-gui: allow undoing last revert 414d924beb rebase: teach rebase --keep-base 6330209d7d rebase tests: test linear branch topology 4effc5bc96 rebase: fast-forward --fork-point in more cases c0efb4c1dd rebase: fast-forward --onto in more cases 2b318aa6c3 rebase: refactor can_fast_forward into goto tower c9efc21683 t3432: test for --no-ff's interaction with fast-forward 1ebec8dfc1 fast-import: duplicate into history rather than passing ownership 9756082b3c fast-import: duplicate parsed encoding string 86ae43da6a status: mention --skip for revert and cherry-pick b1b16bba96 completion: add --skip for cherry-pick and revert deaa65a754 completion: merge options for cherry-pick and revert 4336d36512 t3432: distinguish "noop-same" v.s. "work-same" in "same head" tests 793ac7e309 t3432: test rebase fast-forward behavior 359ecebc34 t3431: add rebase --fork-point tests 502c386ff9 t7300-clean: demonstrate deleting nested repo with an ignored file breakage ff61681b46 grep: refactor and simplify PCRE1 support 8991da6a38 grep: make sure NO_LIBPCRE1_JIT disable JIT in PCRE1 1fd881d404 trace2: use warning() directly in tr2_dst_malformed_warning() fd99c2dd9b grep: use return value of strbuf_detach() 82f51af345 log-tree: always use return value of strbuf_detach() 7e92756751 http: don't leak urlmatch_config.vars 9784f97321 commit: free the right buffer in release_commit_memory ce17feb1b3 path: add a function to check for path suffix 60d198d022 banned.h: fix vsprintf()'s ban message 60fe477a0b notes: avoid potential use-after-free during insertion 779ad6641b notes: avoid leaking duplicate entries 4e1a641ee3 mingw: fix launching of externals from Unicode paths 5cf7b3b1ac setup_git_directory(): handle UNC root paths correctly e2683d51d9 Fix .git/ discovery at the root of UNC shares d17f2124a7 setup_git_directory(): handle UNC paths correctly ebb8d2c90f mingw: support UNC in git clone file://server/share/repo 0c37c41d13 t4009: make hash size independent c1f3dfcc23 t4002: make hash independent 8cc5ff83c3 t4000: make hash size independent c784815073 t3903: abstract away SHA-1-specific constants 2ccdfb1c78 git-gui: return early when patch fails to apply 62bd99934b git-gui: allow reverting selected hunk 5f0a516de9 git-gui: allow reverting selected lines fddf2ebe38 transport: teach all vtables to allow fetch first ac3fda82bf transport-helper: skip ls-refs if unnecessary 745f681289 First batch after Git 2.23 d4b12b9e07 Merge branch 'sg/worktree-remove-errormsg' 22e86e85cb Merge branch 'en/fast-import-merge-doc' 9c7573581c Merge branch 'jk/perf-no-dups' 4336fdb2ef Merge branch 'rs/nedalloc-fixlets' 8ae7a46c4d Merge branch 'sg/show-failed-test-names' 6ba06b582b Merge branch 'sg/commit-graph-validate' 072735ea58 Merge branch 'vn/restore-empty-ita-corner-case-fix' 207ad3cb20 Merge branch 'sc/pack-refs-deletion-racefix' 77067b6ce8 Merge branch 'sg/do-not-skip-non-httpd-tests' 1b01cdbf2e Merge branch 'jk/tree-walk-overflow' 8aa76abba5 Merge branch 'sg/t5510-test-i18ngrep-fix' 307179732d Merge branch 'mt/grep-submodules-working-tree' 58166c2e9d t0021: make sure clean filter runs 8b3f33ef11 ref-filter: initialize empty name or email fields 3c81760bc6 userdiff: add a builtin pattern for dts files fe49814409 t4014: drop unnecessary blank lines from test cases a2bb801f6a line-log: avoid unnecessary full tree diffs eef5204190 line-log: extract pathspec parsing from line ranges into a helper function a63694f523 diff: skip GITLINK when lazy fetching missing objs 7cfcb16b0e sha1-name: make sort_ambiguous_oid_array() thread-safe 19800bdc3f parseopt: move definition of enum parse_opt_result up 415b770b88 packfile.h: drop extern from function declaration acb49d1cc8 t3800: make hash-size independent ca6ba94200 t3600: make hash size independent 19ce5496c2 t3506: make hash independent 9a6738c061 t3430: avoid hard-coded object IDs 4dd1b5f90f t3404: abstract away SHA-1-specific constants b99bfc7a6c t3306: abstract away SHA-1-specific constants e3e9d02e35 t3305: make hash size independent b408cf8cf6 t3301: abstract away SHA-1-specific constants b561edd213 t3206: abstract away hash size constants a5f61c7d13 t3201: abstract away SHA-1-specific constants 1c24a54ea4 repository-layout.txt: correct pluralization of 'object' b0a3186140 sequencer: simplify root commit creation a47ba3c777 rebase -i: check for updated todo after squash and reword 450efe2d53 rebase -i: always update HEAD before rewording c581e4a749 grep: under --debug, show whether PCRE JIT is enabled aaa95dfa05 midx: switch to using the_hash_algo be8e172e9f builtin/show-index: replace sha1_to_hex 3f34d70d40 rerere: replace sha1_to_hex fc06be3b7f builtin/receive-pack: replace sha1_to_hex 69fa337060 builtin/index-pack: replace sha1_to_hex 3a4d7aa5ae packfile: replace sha1_to_hex e0cb7cdb89 wt-status: convert struct wt_status to object_id 8d4d86b0f0 cache: remove null_sha1 f6ca67d673 builtin/worktree: switch null_sha1 to null_oid dd336a5511 builtin/repack: write object IDs of the proper length 894c0f66bb pack-write: use hash_to_hex when writing checksums 4439c7a360 sequencer: convert to use the_hash_algo 95518faac1 bisect: switch to using the_hash_algo e84f3572bd sha1-lookup: switch hard-coded constants to the_hash_algo fe9fec45f6 config: use the_hash_algo in abbrev comparison 976ff7e49d combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo 703d2d4193 bundle: switch to use the_hash_algo 9d958cc041 connected: switch GIT_SHA1_HEXSZ to the_hash_algo 7962e046ff show-index: switch hard-coded constants to the_hash_algo fee49308a1 blame: remove needless comparison with GIT_SHA1_HEXSZ 7e0d029f18 builtin/rev-parse: switch to use the_hash_algo 319009642c builtin/blame: switch uses of GIT_SHA1_HEXSZ to the_hash_algo fabec2c5c3 builtin/receive-pack: switch to use the_hash_algo f6af19a9ad fetch-pack: use parse_oid_hex 36261e42ec patch-id: convert to use the_hash_algo 28ba1830d0 builtin/replace: make hash size independent 24bc1a1292 pull, fetch: add --set-upstream option 71d41ff651 archive-tar: turn length miscalculation warning into BUG 17e9ef00d2 archive-tar: use size_t in strbuf_append_ext_header() 82a46af13e archive-tar: fix pax extended header length calculation 4060c1990a archive-tar: report wrong pax extended header length 4615a8cb5b merge-recursive: alphabetize include list 45ef16f77a merge-recursive: add sanity checks for relevant merge_options f3081dae01 merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_* 5bf7e5779e merge-recursive: split internal fields into a separate struct e95e481f9e merge-recursive: avoid losing output and leaking memory holding that output a779fb829b merge-recursive: comment and reorder the merge_options fields 8599ab4574 merge-recursive: consolidate unnecessary fields in merge_options 7c0a6c8e47 merge-recursive: move some definitions around to clean up the header c749ab1da8 merge-recursive: rename merge_options argument to opt in header bab56877e0 merge-recursive: rename 'mrtree' to 'result_tree', for clarity ff1bfa2cd5 merge-recursive: use common name for ancestors/common/base_list 4d7101e25c merge-recursive: fix some overly long lines 724dd767b2 cache-tree: share code between functions writing an index as a tree 345480d1ed merge-recursive: don't force external callers to do our logging b4db8a2b76 merge-recursive: remove useless parameter in merge_trees() 98a1d3d888 merge-recursive: exit early if index != head 9822175d2b Ensure index matches head before invoking merge machinery, round N 10f751c06b merge-recursive: remove another implicit dependency on the_repository f836bf3937 merge-recursive: future-proof update_file_flags() against memory leaks 8e01251694 merge-recursive: introduce an enum for detect_directory_renames values 743474cbfa merge-recursive: provide a better label for diff3 common ancestor 51eeaf4aa7 l10n: sv.po: Update Swedish translation (4674t0f0u) 5bace62582 l10n: Update Catalan translation 139ef37a2f merge-recursive: enforce opt->ancestor != NULL when calling merge_trees() 65c01c6442 checkout: provide better conflict hunk description with detached HEAD d8523ca1b9 merge-recursive: be consistent with assert acb7da05ac checkout: remove duplicate code 93b980e58f http: use xmalloc with cURL 64e5e1fba1 diff: 'diff.indentHeuristic' is no longer experimental aaf633c2ad repo-settings: create feature.experimental setting c6cc4c5afd repo-settings: create feature.manyFiles setting ad0fb65999 repo-settings: parse core.untrackedCache 31b1de6a09 commit-graph: turn on commit-graph by default b068d9a250 t6501: use 'git gc' in quiet mode 7211b9e753 repo-settings: consolidate some config settings 507e5470a0 worktree remove: clarify error message on dirty worktree 5af9d5f6c8 completion: complete config variables and values for 'git clone --config=' 88cd790d6a completion: complete config variables names and values for 'git clone -c' dd33472831 completion: complete values of configuration variables after 'git -c var=' e1e00089da completion: complete configuration sections and variable names for 'git -c' 42d0efec59 completion: split _git_config() d9ee1e0617 completion: simplify inner 'case' pattern in __gitcomp() 2675ea1cc0 completion: use 'sort -u' to deduplicate config variable names d9438873c4 completion: deduplicate configuration sections 7a09a8f093 completion: add tests for 'git config' completion 840d7e5b3c completion: complete more values of more 'color.*' configuration variables 08a12175d8 completion: fix a typo in a comment 9827d4c185 packfile: drop release_pack_memory() d1387d3895 git-fast-import.txt: clarify that multiple merge commits are allowed 362f8b280c t/perf: rename duplicate-numbered test script 742ed63345 trace2: cleanup whitespace in perf format e34430556c trace2: cleanup whitespace in normal format c2b890aca5 quote: add sq_append_quote_argv_pretty() ad43e37839 trace2: trim trailing whitespace in normal format error message 04f10d332f trace2: remove dead code in maybe_add_string_va() da4589ce7e trace2: trim whitespace in region messages in perf target format 0d88f3d2c5 Merge branch 'py/call-do-quit-before-exit' of github.com:gitster/git-gui into py/git-gui-do-quit 5440eb0ea2 git-gui: call do_quit before destroying the main window bc40ce4de6 merge: --no-verify to bypass pre-merge-commit hook 6098817fd7 git-merge: honor pre-merge-commit hook a1f3dd7eb3 merge: do no-verify like commit f78f6c7e0c t7503: verify proper hook execution 70597e8386 nedmalloc: avoid compiler warning about unused value c9b9c09dae nedmalloc: do assignments only after the declaration section 22932d9169 config: stop checking whether the_repository is NULL 5732f2b1ef common-main: delay trace2 initialization 58ebccb478 t1309: use short branch name in includeIf.onbranch test 67feca3b1c gitcli: document --end-of-options 51b4594b40 parse-options: allow --end-of-options as a synonym for "--" 19e8789b23 revision: allow --end-of-options to end option parsing ffe1afe67c tests: show the test name and number at the start of verbose output 96f3ccc2ab t0000-basic: use realistic test script names in the verbose tests 7c5c9b9c57 commit-graph: error out on invalid commit oids in 'write --stdin-commits' 39d8831856 commit-graph: turn a group of write-related macro flags into an enum 9916073be5 t5318-commit-graph: use 'test_expect_code' 620c09e1b6 restore: add test for deleted ita files ecd72042de checkout.c: unstage empty deleted ita files a613d4f817 pack-refs: always refresh after taking the lock file decfe05bb6 t: warn against adding non-httpd-specific tests after sourcing 'lib-httpd' 371df1bea9 trace2: cleanup column alignment in perf target format 5aa02f9868 tree-walk: harden make_traverse_path() length computations c43ab06259 tree-walk: add a strbuf wrapper for make_traverse_path() b3b3cbcbf2 tree-walk: accept a raw length for traverse_path_len() 37806080d7 tree-walk: use size_t consistently 7f005b0f48 t5703: run all non-httpd-specific tests before sourcing 'lib-httpd.sh' 12b1826609 t5510-fetch: run non-httpd-specific test before sourcing 'lib-httpd.sh' 9055384710 tree-walk: drop oid from traverse_info 947208b725 setup_traverse_info(): stop copying oid e1fac531ea rebase -r: do not (re-)generate root commits with `--root` *and* `--onto` a63f990d92 t3418: test `rebase -r` with merge strategies 5dcdd7409a t/lib-rebase: prepare for testing `git rebase --rebase-merges` e145d99347 rebase -r: support merge strategies other than `recursive` 4e6023b13a t3427: fix another incorrect assumption f67336dabf t3427: accommodate for the `rebase --merge` backend having been replaced a9c71073da t3427: fix erroneous assumption b8c6f24255 t3427: condense the unnecessarily repetitive test cases into three d51b771dc0 t3427: move the `filter-branch` invocation into the `setup` case c248d32cdb t3427: simplify the `setup` test case significantly 8c1e24048a t3427: add a clarifying comment 5efed0ecf9 rebase: fold git-rebase--common into the -p backend 68b54f669d sequencer: the `am` and `rebase--interactive` scripts are gone 2e7bbac6be .gitignore: there is no longer a built-in `git-rebase--interactive` 6180b20239 t3400: stop referring to the scripted rebase d5b581f228 Drop unused git-rebase--am.sh 814291cf3f t5510-fetch: fix negated 'test_i18ngrep' invocation 6a289d45c0 grep: fix worktree case in submodules 870eea8166 grep: do not enter PCRE2_UTF mode on fixed matching 8a5999838e grep: stess test PCRE v2 on invalid UTF-8 data 09872f6418 grep: create a "is_fixed" member in "grep_pat" 8a35b540a9 grep: consistently use "p->fixed" in compile_regexp() 685668faaa grep: stop using a custom JIT stack with PCRE v1 34489239d0 grep: stop "using" a custom JIT stack with PCRE v2 04bef50c01 grep: remove overly paranoid BUG(...) code b65abcafc7 grep: use PCRE v2 for optimized fixed-string search 48de2a768c grep: remove the kwset optimization 45d1f37ccc grep: drop support for \0 in --fixed-strings 25754125ce grep: make the behavior for NUL-byte in patterns sane d316af059d grep tests: move binary pattern tests into their own file 471dac5d2c grep tests: move "grep binary" alongside the rest f463beb805 grep: inline the return value of a function call used only once b14cf112e2 t4210: skip more command-line encoding tests on MinGW 44570188a0 grep: don't use PCRE2?_UTF8 with "log --encoding=" 4e2443b181 log tests: test regex backends in "--encode=" tests 90d21f9ebf list-objects-filter-options: make parser void 5a133e8a7f list-objects-filter-options: clean up use of ALLOC_GROW 489fc9ee71 list-objects-filter-options: allow mult. --filter c2694952e3 strbuf: give URL-encoding API a char predicate fn cf9ceb5a12 list-objects-filter-options: make filter_spec a string_list f56f764279 list-objects-filter-options: move error check up e987df5fe6 list-objects-filter: implement composite filters 842b00516a list-objects-filter-options: always supply *errbuf 7a7c7f4a6d list-objects-filter: put omits set in filter struct 9430147ca0 list-objects-filter: encapsulate filter components 4ca9474efa Move core_partial_clone_filter_default to promisor-remote.c 60b7a92d84 Move repository_format_partial_clone to promisor-remote.c db27dca5cf Remove fetch-object.{c,h} in favor of promisor-remote.{c,h} 75de085211 remote: add promisor and partial clone config to the doc 7e154badc0 partial-clone: add multiple remotes in the doc 9a4c507886 t0410: test fetching from many promisor remotes 5e46139376 builtin/fetch: remove unique promisor remote limitation fa3d1b63e8 promisor-remote: parse remote.*.partialclonefilter b14ed5adaf Use promisor_remote_get_direct() and has_promisor_remote() faf2abf496 promisor-remote: use repository_format_partial_clone 9cfebc1f3b promisor-remote: add promisor_remote_reinit() 9e27beaa23 promisor-remote: implement promisor_remote_get_direct() 48de315817 Add initial support for many promisor remotes 2e860675b6 fetch-object: make functions return an error code c59c7c879e t0410: remove pipes after git commands git-subtree-dir: third_party/git git-subtree-split: ef7aa56f965a794d96fb0b1385f94634e7cea06f --- po/zh_CN.po | 8693 +++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 4814 insertions(+), 3879 deletions(-) (limited to 'po/zh_CN.po') diff --git a/po/zh_CN.po b/po/zh_CN.po index c6bdb3e3005a..5be52589bb71 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -139,8 +139,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List \n" -"POT-Creation-Date: 2019-08-10 20:12+0800\n" -"PO-Revision-Date: 2019-08-13 21:16+0800\n" +"POT-Creation-Date: 2020-03-11 15:26+0800\n" +"PO-Revision-Date: 2020-03-11 15:38+0800\n" "Last-Translator: Jiang Xin \n" "Language-Team: GitHub \n" "Language: zh_CN\n" @@ -149,37 +149,704 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: advice.c:109 +#: add-interactive.c:368 +#, c-format +msgid "Huh (%s)?" +msgstr "嗯(%s)?" + +#: add-interactive.c:521 add-interactive.c:822 sequencer.c:3124 +#: sequencer.c:3562 builtin/rebase.c:875 builtin/rebase.c:1687 +#: builtin/rebase.c:2086 builtin/rebase.c:2130 +msgid "could not read index" +msgstr "不能读取索引" + +#: add-interactive.c:576 git-add--interactive.perl:269 +#: git-add--interactive.perl:294 +msgid "binary" +msgstr "二进制" + +#: add-interactive.c:634 git-add--interactive.perl:278 +#: git-add--interactive.perl:332 +msgid "nothing" +msgstr "无" + +#: add-interactive.c:635 git-add--interactive.perl:314 +#: git-add--interactive.perl:329 +msgid "unchanged" +msgstr "没有修改" + +#: add-interactive.c:672 git-add--interactive.perl:643 +msgid "Update" +msgstr "更新" + +#: add-interactive.c:689 add-interactive.c:877 +#, c-format +msgid "could not stage '%s'" +msgstr "不能暂存 '%s'" + +#: add-interactive.c:695 add-interactive.c:884 sequencer.c:3317 +#: builtin/rebase.c:899 +msgid "could not write index" +msgstr "不能写入索引" + +#: add-interactive.c:698 git-add--interactive.perl:628 +#, c-format, perl-format +msgid "updated %d path\n" +msgid_plural "updated %d paths\n" +msgstr[0] "更新了 %d 个路径\n" +msgstr[1] "更新了 %d 个路径\n" + +#: add-interactive.c:716 git-add--interactive.perl:678 +#, c-format, perl-format +msgid "note: %s is untracked now.\n" +msgstr "说明:%s 现已成为未跟踪的。\n" + +#: add-interactive.c:721 apply.c:4110 builtin/checkout.c:281 +#: builtin/reset.c:144 +#, c-format +msgid "make_cache_entry failed for path '%s'" +msgstr "对路径 '%s' 的 make_cache_entry 操作失败" + +#: add-interactive.c:751 git-add--interactive.perl:655 +msgid "Revert" +msgstr "还原" + +#: add-interactive.c:767 +msgid "Could not parse HEAD^{tree}" +msgstr "不能解析 HEAD^{tree}" + +#: add-interactive.c:805 git-add--interactive.perl:631 +#, c-format, perl-format +msgid "reverted %d path\n" +msgid_plural "reverted %d paths\n" +msgstr[0] "还原了 %d 个路径\n" +msgstr[1] "还原了 %d 个路径\n" + +#: add-interactive.c:856 git-add--interactive.perl:695 +#, c-format +msgid "No untracked files.\n" +msgstr "没有未跟踪的文件。\n" + +#: add-interactive.c:860 git-add--interactive.perl:689 +msgid "Add untracked" +msgstr "添加未跟踪的" + +#: add-interactive.c:887 git-add--interactive.perl:625 +#, c-format, perl-format +msgid "added %d path\n" +msgid_plural "added %d paths\n" +msgstr[0] "增加了 %d 个路径\n" +msgstr[1] "增加了 %d 个路径\n" + +#: add-interactive.c:917 +#, c-format +msgid "ignoring unmerged: %s" +msgstr "忽略未合入的:%s" + +#: add-interactive.c:929 add-patch.c:1675 git-add--interactive.perl:1366 +#, c-format +msgid "Only binary files changed.\n" +msgstr "只有二进制文件被修改。\n" + +#: add-interactive.c:931 add-patch.c:1673 git-add--interactive.perl:1368 +#, c-format +msgid "No changes.\n" +msgstr "没有修改。\n" + +#: add-interactive.c:935 git-add--interactive.perl:1376 +msgid "Patch update" +msgstr "补丁更新" + +#: add-interactive.c:974 git-add--interactive.perl:1754 +msgid "Review diff" +msgstr "检视 diff" + +#: add-interactive.c:1002 +msgid "show paths with changes" +msgstr "显示含变更的路径" + +#: add-interactive.c:1004 +msgid "add working tree state to the staged set of changes" +msgstr "将工作区状态添加到暂存区修改集中" + +#: add-interactive.c:1006 +msgid "revert staged set of changes back to the HEAD version" +msgstr "将暂存的修改集恢复为 HEAD 版本" + +#: add-interactive.c:1008 +msgid "pick hunks and update selectively" +msgstr "挑选数据块并有选择地更新" + +#: add-interactive.c:1010 +msgid "view diff between HEAD and index" +msgstr "显示 HEAD 和索引的差异" + +#: add-interactive.c:1012 +msgid "add contents of untracked files to the staged set of changes" +msgstr "将未跟踪文件的内容添加到暂存区修改集中" + +#: add-interactive.c:1020 add-interactive.c:1069 +msgid "Prompt help:" +msgstr "帮助:" + +#: add-interactive.c:1022 +msgid "select a single item" +msgstr "选择一个条目" + +#: add-interactive.c:1024 +msgid "select a range of items" +msgstr "选择一系列条目" + +#: add-interactive.c:1026 +msgid "select multiple ranges" +msgstr "选择多个范围" + +#: add-interactive.c:1028 add-interactive.c:1073 +msgid "select item based on unique prefix" +msgstr "基于唯一前缀选择条目" + +#: add-interactive.c:1030 +msgid "unselect specified items" +msgstr "反选指定的条目" + +#: add-interactive.c:1032 +msgid "choose all items" +msgstr "选择所有条目" + +#: add-interactive.c:1034 +msgid "(empty) finish selecting" +msgstr "(空)结束选择" + +#: add-interactive.c:1071 +msgid "select a numbered item" +msgstr "选择一个编号条目" + +#: add-interactive.c:1075 +msgid "(empty) select nothing" +msgstr "(空)不选择任何内容" + +#: add-interactive.c:1083 builtin/clean.c:822 git-add--interactive.perl:1851 +msgid "*** Commands ***" +msgstr "*** 命令 ***" + +#: add-interactive.c:1084 builtin/clean.c:823 git-add--interactive.perl:1848 +msgid "What now" +msgstr "请选择" + +#: add-interactive.c:1136 git-add--interactive.perl:213 +msgid "staged" +msgstr "缓存" + +#: add-interactive.c:1136 git-add--interactive.perl:213 +msgid "unstaged" +msgstr "未缓存" + +#: add-interactive.c:1136 apply.c:4967 apply.c:4970 builtin/am.c:2251 +#: builtin/am.c:2254 builtin/clone.c:123 builtin/fetch.c:144 +#: builtin/merge.c:274 builtin/pull.c:189 builtin/submodule--helper.c:409 +#: builtin/submodule--helper.c:1394 builtin/submodule--helper.c:1397 +#: builtin/submodule--helper.c:1902 builtin/submodule--helper.c:1905 +#: builtin/submodule--helper.c:2148 git-add--interactive.perl:213 +msgid "path" +msgstr "路径" + +#: add-interactive.c:1143 +msgid "could not refresh index" +msgstr "不能刷新索引" + +#: add-interactive.c:1157 builtin/clean.c:787 git-add--interactive.perl:1765 +#, c-format +msgid "Bye.\n" +msgstr "再见。\n" + +#: add-patch.c:33 git-add--interactive.perl:1428 +#, c-format, perl-format +msgid "Stage mode change [y,n,q,a,d%s,?]? " +msgstr "暂存模式变更 [y,n,q,a,d%s,?]? " + +#: add-patch.c:34 git-add--interactive.perl:1429 +#, c-format, perl-format +msgid "Stage deletion [y,n,q,a,d%s,?]? " +msgstr "暂存删除动作 [y,n,q,a,d%s,?]? " + +#: add-patch.c:35 git-add--interactive.perl:1430 +#, c-format, perl-format +msgid "Stage this hunk [y,n,q,a,d%s,?]? " +msgstr "暂存该块 [y,n,q,a,d%s,?]? " + +#: add-patch.c:37 +msgid "" +"If the patch applies cleanly, the edited hunk will immediately be marked for " +"staging." +msgstr "如果补丁能正确地应用,编辑块将立即标记为暂存。" + +#: add-patch.c:40 +msgid "" +"y - stage this hunk\n" +"n - do not stage this hunk\n" +"q - quit; do not stage this hunk or any of the remaining ones\n" +"a - stage this hunk and all later hunks in the file\n" +"d - do not stage this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 暂存该块\n" +"n - 不要暂存该块\n" +"q - 退出。不暂存该块及后面的全部块\n" +"a - 暂存该块和本文件中后面的全部块\n" +"d - 不暂存该块和本文件中后面的全部块\n" + +#: add-patch.c:54 git-add--interactive.perl:1433 +#, c-format, perl-format +msgid "Stash mode change [y,n,q,a,d%s,?]? " +msgstr "贮藏模式变更 [y,n,q,a,d%s,?]? " + +#: add-patch.c:55 git-add--interactive.perl:1434 +#, c-format, perl-format +msgid "Stash deletion [y,n,q,a,d%s,?]? " +msgstr "贮藏删除动作 [y,n,q,a,d%s,?]? " + +#: add-patch.c:56 git-add--interactive.perl:1435 +#, c-format, perl-format +msgid "Stash this hunk [y,n,q,a,d%s,?]? " +msgstr "贮藏该块 [y,n,q,a,d%s,?]? " + +#: add-patch.c:58 +msgid "" +"If the patch applies cleanly, the edited hunk will immediately be marked for " +"stashing." +msgstr "如果补丁能正确地应用,编辑块将立即标记为贮藏。" + +#: add-patch.c:61 +msgid "" +"y - stash this hunk\n" +"n - do not stash this hunk\n" +"q - quit; do not stash this hunk or any of the remaining ones\n" +"a - stash this hunk and all later hunks in the file\n" +"d - do not stash this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 贮藏该块\n" +"n - 不要贮藏该块\n" +"q - 退出。不贮藏该块及后面的全部块\n" +"a - 贮藏该块和本文件中后面的全部块\n" +"d - 不贮藏该块和本文件中后面的全部块\n" + +#: add-patch.c:77 git-add--interactive.perl:1438 +#, c-format, perl-format +msgid "Unstage mode change [y,n,q,a,d%s,?]? " +msgstr "取消暂存模式变更 [y,n,q,a,d%s,?]? " + +#: add-patch.c:78 git-add--interactive.perl:1439 +#, c-format, perl-format +msgid "Unstage deletion [y,n,q,a,d%s,?]? " +msgstr "取消暂存删除动作 [y,n,q,a,d%s,?]? " + +#: add-patch.c:79 git-add--interactive.perl:1440 +#, c-format, perl-format +msgid "Unstage this hunk [y,n,q,a,d%s,?]? " +msgstr "取消暂存该块 [y,n,q,a,d%s,?]? " + +#: add-patch.c:81 +msgid "" +"If the patch applies cleanly, the edited hunk will immediately be marked for " +"unstaging." +msgstr "如果补丁能正确地应用,编辑块将立即标记为未暂存。" + +#: add-patch.c:84 +msgid "" +"y - unstage this hunk\n" +"n - do not unstage this hunk\n" +"q - quit; do not unstage this hunk or any of the remaining ones\n" +"a - unstage this hunk and all later hunks in the file\n" +"d - do not unstage this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 取消暂存该块\n" +"n - 不要取消暂存该块\n" +"q - 退出。不要取消暂存该块及后面的全部块\n" +"a - 取消暂存该块和本文件中后面的全部块\n" +"d - 不要取消暂存该块和本文件中后面的全部块\n" + +#: add-patch.c:99 git-add--interactive.perl:1443 +#, c-format, perl-format +msgid "Apply mode change to index [y,n,q,a,d%s,?]? " +msgstr "将模式变更应用到索引 [y,n,q,a,d%s,?]? " + +#: add-patch.c:100 git-add--interactive.perl:1444 +#, c-format, perl-format +msgid "Apply deletion to index [y,n,q,a,d%s,?]? " +msgstr "将删除操作应用到索引 [y,n,q,a,d%s,?]? " + +#: add-patch.c:101 git-add--interactive.perl:1445 +#, c-format, perl-format +msgid "Apply this hunk to index [y,n,q,a,d%s,?]? " +msgstr "将该块应用到索引 [y,n,q,a,d%s,?]? " + +#: add-patch.c:103 add-patch.c:168 add-patch.c:211 +msgid "" +"If the patch applies cleanly, the edited hunk will immediately be marked for " +"applying." +msgstr "如果补丁能正确地应用,编辑块将立即标记为应用。" + +#: add-patch.c:106 +msgid "" +"y - apply this hunk to index\n" +"n - do not apply this hunk to index\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 在索引中应用该块\n" +"n - 不要在索引中应用该块\n" +"q - 退出。不要应用该块及后面的全部块\n" +"a - 应用该块和本文件中后面的全部块\n" +"d - 不要应用该块和本文件中后面的全部块\n" + +#: add-patch.c:121 git-add--interactive.perl:1448 +#: git-add--interactive.perl:1463 +#, c-format, perl-format +msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? " +msgstr "从工作区中丢弃模式变更 [y,n,q,a,d%s,?]? " + +#: add-patch.c:122 git-add--interactive.perl:1449 +#: git-add--interactive.perl:1464 +#, c-format, perl-format +msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? " +msgstr "从工作区中丢弃删除动作 [y,n,q,a,d%s,?]? " + +#: add-patch.c:123 git-add--interactive.perl:1450 +#: git-add--interactive.perl:1465 +#, c-format, perl-format +msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? " +msgstr "从工作区中丢弃该块 [y,n,q,a,d%s,?]? " + +#: add-patch.c:125 add-patch.c:147 add-patch.c:190 +msgid "" +"If the patch applies cleanly, the edited hunk will immediately be marked for " +"discarding." +msgstr "如果补丁能正确地应用,编辑块将立即标记为丢弃。" + +#: add-patch.c:128 add-patch.c:193 +msgid "" +"y - discard this hunk from worktree\n" +"n - do not discard this hunk from worktree\n" +"q - quit; do not discard this hunk or any of the remaining ones\n" +"a - discard this hunk and all later hunks in the file\n" +"d - do not discard this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 在工作区中丢弃该块\n" +"n - 不要在工作区中丢弃该块\n" +"q - 退出。不要丢弃该块及后面的全部块\n" +"a - 丢弃该块和本文件中后面的全部块\n" +"d - 不要丢弃该块和本文件中后面的全部块\n" + +#: add-patch.c:143 add-patch.c:186 git-add--interactive.perl:1453 +#, c-format, perl-format +msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? " +msgstr "从索引和工作区中丢弃模式变更 [y,n,q,a,d%s,?]? " + +#: add-patch.c:144 add-patch.c:187 git-add--interactive.perl:1454 +#, c-format, perl-format +msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? " +msgstr "从索引和工作区中丢弃删除 [y,n,q,a,d%s,?]? " + +#: add-patch.c:145 add-patch.c:188 git-add--interactive.perl:1455 +#, c-format, perl-format +msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? " +msgstr "从索引和工作区中丢弃该块 [y,n,q,a,d%s,?]? " + +#: add-patch.c:150 +msgid "" +"y - discard this hunk from index and worktree\n" +"n - do not discard this hunk from index and worktree\n" +"q - quit; do not discard this hunk or any of the remaining ones\n" +"a - discard this hunk and all later hunks in the file\n" +"d - do not discard this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 在索引和工作区中丢弃该块\n" +"n - 不要在索引和工作区中丢弃该块\n" +"q - 退出。不要丢弃该块及后面的全部块\n" +"a - 丢弃该块和本文件中后面的全部块\n" +"d - 不要丢弃该块和本文件中后面的全部块\n" + +#: add-patch.c:164 add-patch.c:207 git-add--interactive.perl:1458 +#, c-format, perl-format +msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? " +msgstr "将模式变更应用到索引和工作区 [y,n,q,a,d%s,?]? " + +#: add-patch.c:165 add-patch.c:208 git-add--interactive.perl:1459 +#, c-format, perl-format +msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? " +msgstr "将删除操作应用到索引和工作区 [y,n,q,a,d%s,?]? " + +#: add-patch.c:166 add-patch.c:209 git-add--interactive.perl:1460 +#, c-format, perl-format +msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? " +msgstr "将该块应用到索引和工作区 [y,n,q,a,d%s,?]? " + +#: add-patch.c:171 +msgid "" +"y - apply this hunk to index and worktree\n" +"n - do not apply this hunk to index and worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 在索引和工作区中应用该块\n" +"n - 不要在索引和工作区中应用该块\n" +"q - 退出。不要应用该块及后面的全部块\n" +"a - 应用该块和本文件中后面的全部块\n" +"d - 不要应用该块和本文件中后面的全部块\n" + +#: add-patch.c:214 +msgid "" +"y - apply this hunk to worktree\n" +"n - do not apply this hunk to worktree\n" +"q - quit; do not apply this hunk or any of the remaining ones\n" +"a - apply this hunk and all later hunks in the file\n" +"d - do not apply this hunk or any of the later hunks in the file\n" +msgstr "" +"y - 在工作区中应用该块\n" +"n - 不要在工作区中应用该块\n" +"q - 退出。不要应用该块及后面的全部块\n" +"a - 应用该块和本文件中后面的全部块\n" +"d - 不要应用该块和本文件中后面的全部块\n" + +#: add-patch.c:318 +#, c-format +msgid "could not parse hunk header '%.*s'" +msgstr "无法解析数据块头信息 '%.*s'" + +#: add-patch.c:337 add-patch.c:341 +#, c-format +msgid "could not parse colored hunk header '%.*s'" +msgstr "无法解析彩色数据块头信息 '%.*s'" + +#: add-patch.c:395 +msgid "could not parse diff" +msgstr "不能解析差异信息" + +#: add-patch.c:414 +msgid "could not parse colored diff" +msgstr "不能解析彩色差异信息" + +#: add-patch.c:428 +#, c-format +msgid "failed to run '%s'" +msgstr "运行 '%s' 失败" + +#: add-patch.c:587 +msgid "mismatched output from interactive.diffFilter" +msgstr "interactive.diffFilter 的输出不匹配" + +#: add-patch.c:588 +msgid "" +"Your filter must maintain a one-to-one correspondence\n" +"between its input and output lines." +msgstr "您的过滤器必须在其输入和输出的行之间保持一一对应的关系。" + +#: add-patch.c:761 +#, c-format +msgid "" +"expected context line #%d in\n" +"%.*s" +msgstr "" +"预期上下文行 #%d 于\n" +"%.*s" + +#: add-patch.c:776 +#, c-format +msgid "" +"hunks do not overlap:\n" +"%.*s\n" +"\tdoes not end with:\n" +"%.*s" +msgstr "" +"块不重叠:\n" +"%.*s\n" +"\t不是结尾于:\n" +"%.*s" + +#: add-patch.c:1052 git-add--interactive.perl:1112 +msgid "Manual hunk edit mode -- see bottom for a quick guide.\n" +msgstr "手动块编辑模式 -- 查看底部的快速指南。\n" + +#: add-patch.c:1056 +#, c-format +msgid "" +"---\n" +"To remove '%c' lines, make them ' ' lines (context).\n" +"To remove '%c' lines, delete them.\n" +"Lines starting with %c will be removed.\n" +msgstr "" +"---\n" +"要删除 '%c' 开始的行,使其成为 ' ' 开始的行(上下文)。\n" +"要删除 '%c' 开始的行,删除它们。\n" +"以 %c 开始的行将被删除。\n" + +#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages. +#: add-patch.c:1070 git-add--interactive.perl:1126 +msgid "" +"If it does not apply cleanly, you will be given an opportunity to\n" +"edit again. If all lines of the hunk are removed, then the edit is\n" +"aborted and the hunk is left unchanged.\n" +msgstr "" +"如果不能干净地应用,您将有机会重新编辑。如果该块的全部内容删除,则\n" +"此次编辑被终止,该块不会被修改。\n" + +#: add-patch.c:1103 +msgid "could not parse hunk header" +msgstr "无法解析数据块头信息" + +#: add-patch.c:1148 +msgid "'git apply --cached' failed" +msgstr "'git apply --cached' 失败" + +#. TRANSLATORS: do not translate [y/n] +#. The program will only accept that input at this point. +#. Consider translating (saying "no" discards!) as +#. (saying "n" for "no" discards!) if the translation +#. of the word "no" does not start with n. +#. +#. TRANSLATORS: do not translate [y/n] +#. The program will only accept that input +#. at this point. +#. Consider translating (saying "no" discards!) as +#. (saying "n" for "no" discards!) if the translation +#. of the word "no" does not start with n. +#: add-patch.c:1218 git-add--interactive.perl:1239 +msgid "" +"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? " +msgstr "您的编辑块不能被应用。重新编辑(选择 \"no\" 丢弃!) [y/n]? " + +#: add-patch.c:1261 +msgid "The selected hunks do not apply to the index!" +msgstr "选中的块不能应用到索引!" + +#: add-patch.c:1262 git-add--interactive.perl:1343 +msgid "Apply them to the worktree anyway? " +msgstr "无论如何都要应用到工作区么?" + +#: add-patch.c:1269 git-add--interactive.perl:1346 +msgid "Nothing was applied.\n" +msgstr "未应用。\n" + +#: add-patch.c:1326 +msgid "" +"j - leave this hunk undecided, see next undecided hunk\n" +"J - leave this hunk undecided, see next hunk\n" +"k - leave this hunk undecided, see previous undecided hunk\n" +"K - leave this hunk undecided, see previous hunk\n" +"g - select a hunk to go to\n" +"/ - search for a hunk matching the given regex\n" +"s - split the current hunk into smaller hunks\n" +"e - manually edit the current hunk\n" +"? - print help\n" +msgstr "" +"j - 维持该块未决状态,查看下一个未决块\n" +"J - 维持该块未决状态,查看下一个块\n" +"k - 维持该块未决状态,查看上一个未决块\n" +"K - 维持该块未决状态,查看上一个块\n" +"g - 选择跳转到一个块\n" +"/ - 查找和给定正则表达式匹配的块\n" +"s - 拆分当前块为更小的块\n" +"e - 手动编辑当前块\n" +"? - 显示帮助\n" + +#: add-patch.c:1447 add-patch.c:1457 +msgid "No previous hunk" +msgstr "没有前一个块" + +#: add-patch.c:1452 add-patch.c:1462 +msgid "No next hunk" +msgstr "没有下一个块" + +#: add-patch.c:1468 +msgid "No other hunks to goto" +msgstr "没有其它可供跳转的块" + +#: add-patch.c:1479 git-add--interactive.perl:1577 +msgid "go to which hunk ( to see more)? " +msgstr "跳转到哪个块(<回车> 查看更多)? " + +#: add-patch.c:1480 git-add--interactive.perl:1579 +msgid "go to which hunk? " +msgstr "跳转到哪个块?" + +#: add-patch.c:1491 +#, c-format +msgid "Invalid number: '%s'" +msgstr "无效数字:'%s'" + +#: add-patch.c:1496 +#, c-format +msgid "Sorry, only %d hunk available." +msgid_plural "Sorry, only %d hunks available." +msgstr[0] "对不起,只有 %d 个可用块。" +msgstr[1] "对不起,只有 %d 个可用块。" + +#: add-patch.c:1505 +msgid "No other hunks to search" +msgstr "没有其它可供查找的块" + +#: add-patch.c:1511 git-add--interactive.perl:1623 +msgid "search for regex? " +msgstr "使用正则表达式搜索?" + +#: add-patch.c:1526 +#, c-format +msgid "Malformed search regexp %s: %s" +msgstr "错误的正则表达式 %s:%s" + +#: add-patch.c:1543 +msgid "No hunk matches the given pattern" +msgstr "没有和给定模式相匹配的块" + +#: add-patch.c:1550 +msgid "Sorry, cannot split this hunk" +msgstr "对不起,不能拆分这个块" + +#: add-patch.c:1554 +#, c-format +msgid "Split into %d hunks." +msgstr "拆分为 %d 块。" + +#: add-patch.c:1558 +msgid "Sorry, cannot edit this hunk" +msgstr "对不起,不能编辑这个块" + +#: add-patch.c:1609 +msgid "'git apply' failed" +msgstr "'git apply' 失败" + +#: advice.c:115 #, c-format msgid "%shint: %.*s%s\n" msgstr "%s提示:%.*s%s\n" -#: advice.c:162 +#: advice.c:168 msgid "Cherry-picking is not possible because you have unmerged files." msgstr "无法拣选,因为您有未合并的文件。" -#: advice.c:164 +#: advice.c:170 msgid "Committing is not possible because you have unmerged files." msgstr "无法提交,因为您有未合并的文件。" -#: advice.c:166 +#: advice.c:172 msgid "Merging is not possible because you have unmerged files." msgstr "无法合并,因为您有未合并的文件。" -#: advice.c:168 +#: advice.c:174 msgid "Pulling is not possible because you have unmerged files." msgstr "无法拉取,因为您有未合并的文件。" -#: advice.c:170 +#: advice.c:176 msgid "Reverting is not possible because you have unmerged files." msgstr "无法回退,因为您有未合并的文件。" -#: advice.c:172 +#: advice.c:178 #, c-format msgid "It is not possible to %s because you have unmerged files." msgstr "无法 %s,因为您有未合并的文件。" -#: advice.c:180 +#: advice.c:186 msgid "" "Fix them up in the work tree, and then use 'git add/rm '\n" "as appropriate to mark resolution and make a commit." @@ -187,23 +854,23 @@ msgstr "" "请在工作区改正文件,然后酌情使用 'git add/rm <文件>' 命令标记\n" "解决方案并提交。" -#: advice.c:188 +#: advice.c:194 msgid "Exiting because of an unresolved conflict." msgstr "因为存在未解决的冲突而退出。" -#: advice.c:193 builtin/merge.c:1327 +#: advice.c:199 builtin/merge.c:1335 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "您尚未结束您的合并(存在 MERGE_HEAD)。" -#: advice.c:195 +#: advice.c:201 msgid "Please, commit your changes before merging." msgstr "请在合并前先提交您的修改。" -#: advice.c:196 +#: advice.c:202 msgid "Exiting because of unfinished merge." msgstr "因为存在未完成的合并而退出。" -#: advice.c:202 +#: advice.c:208 #, c-format msgid "" "Note: switching to '%s'.\n" @@ -325,17 +992,7 @@ msgstr "第 %d 行包含无效文件模式:%s" msgid "inconsistent header lines %d and %d" msgstr "不一致的文件头,%d 行和 %d 行" -#: apply.c:1460 -#, c-format -msgid "recount: unexpected line: %.*s" -msgstr "recount:意外的行:%.*s" - -#: apply.c:1529 -#, c-format -msgid "patch fragment without header at line %d: %.*s" -msgstr "第 %d 行的补丁片段没有头信息:%.*s" - -#: apply.c:1551 +#: apply.c:1372 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -346,82 +1003,92 @@ msgid_plural "" msgstr[0] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)" msgstr[1] "当移除 %d 个前导路径后 git diff 头缺乏文件名信息(第 %d 行)" -#: apply.c:1564 +#: apply.c:1385 #, c-format msgid "git diff header lacks filename information (line %d)" msgstr "git diff 的头信息中缺乏文件名信息(第 %d 行)" -#: apply.c:1752 +#: apply.c:1481 +#, c-format +msgid "recount: unexpected line: %.*s" +msgstr "recount:意外的行:%.*s" + +#: apply.c:1550 +#, c-format +msgid "patch fragment without header at line %d: %.*s" +msgstr "第 %d 行的补丁片段没有头信息:%.*s" + +#: apply.c:1753 msgid "new file depends on old contents" msgstr "新文件依赖旧内容" -#: apply.c:1754 +#: apply.c:1755 msgid "deleted file still has contents" msgstr "删除的文件仍有内容" -#: apply.c:1788 +#: apply.c:1789 #, c-format msgid "corrupt patch at line %d" msgstr "补丁在第 %d 行损坏" -#: apply.c:1825 +#: apply.c:1826 #, c-format msgid "new file %s depends on old contents" msgstr "新文件 %s 依赖旧内容" -#: apply.c:1827 +#: apply.c:1828 #, c-format msgid "deleted file %s still has contents" msgstr "删除的文件 %s 仍有内容" -#: apply.c:1830 +#: apply.c:1831 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "** 警告:文件 %s 成为空文件但并未删除" -#: apply.c:1977 +#: apply.c:1978 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "二进制补丁在第 %d 行损坏:%.*s" -#: apply.c:2014 +#: apply.c:2015 #, c-format msgid "unrecognized binary patch at line %d" msgstr "未能识别的二进制补丁位于第 %d 行" -#: apply.c:2176 +#: apply.c:2177 #, c-format msgid "patch with only garbage at line %d" msgstr "补丁文件的第 %d 行只有垃圾数据" -#: apply.c:2262 +#: apply.c:2263 #, c-format msgid "unable to read symlink %s" msgstr "无法读取符号链接 %s" -#: apply.c:2266 +#: apply.c:2267 #, c-format msgid "unable to open or read %s" msgstr "不能打开或读取 %s" -#: apply.c:2925 +#: apply.c:2936 #, c-format msgid "invalid start of line: '%c'" msgstr "无效的行首字符:'%c'" -#: apply.c:3046 +#: apply.c:3057 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "块 #%d 成功应用于 %d(偏移 %d 行)" msgstr[1] "块 #%d 成功应用于 %d(偏移 %d 行)" -#: apply.c:3058 +#: apply.c:3069 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "上下文减少到(%ld/%ld)以在第 %d 行应用补丁片段" -#: apply.c:3064 +#: apply.c:3075 #, c-format msgid "" "while searching for:\n" @@ -430,451 +1097,437 @@ msgstr "" "当查询:\n" "%.*s" -#: apply.c:3086 +#: apply.c:3097 #, c-format msgid "missing binary patch data for '%s'" msgstr "缺失 '%s' 的二进制补丁数据" -#: apply.c:3094 +#: apply.c:3105 #, c-format msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'" msgstr "不能反向应用一个缺少到 '%s' 的反向数据块的二进制补丁" -#: apply.c:3141 +#: apply.c:3152 #, c-format msgid "cannot apply binary patch to '%s' without full index line" msgstr "不能在 '%s' 上应用没有完整索引行的二进制补丁" -#: apply.c:3151 +#: apply.c:3163 #, c-format msgid "" "the patch applies to '%s' (%s), which does not match the current contents." msgstr "补丁应用到 '%s'(%s),但是和当前内容不匹配。" -#: apply.c:3159 +#: apply.c:3171 #, c-format msgid "the patch applies to an empty '%s' but it is not empty" msgstr "补丁应用到空文件 '%s',但其并非空文件" -#: apply.c:3177 +#: apply.c:3189 #, c-format msgid "the necessary postimage %s for '%s' cannot be read" msgstr "无法读取 '%2$s' 必需的目标文件 %1$s" -#: apply.c:3190 +#: apply.c:3202 #, c-format msgid "binary patch does not apply to '%s'" msgstr "二进制补丁未应用到 '%s'" -#: apply.c:3196 +#: apply.c:3209 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "到 '%s' 的二进制补丁产生了不正确的结果(应为 %s,却为 %s)" -#: apply.c:3217 +#: apply.c:3230 #, c-format msgid "patch failed: %s:%ld" msgstr "打补丁失败:%s:%ld" -#: apply.c:3340 +#: apply.c:3353 #, c-format msgid "cannot checkout %s" msgstr "不能检出 %s" -#: apply.c:3392 apply.c:3403 apply.c:3449 midx.c:62 setup.c:279 +#: apply.c:3405 apply.c:3416 apply.c:3462 midx.c:61 setup.c:298 #, c-format msgid "failed to read %s" msgstr "无法读取 %s" -#: apply.c:3400 +#: apply.c:3413 #, c-format msgid "reading from '%s' beyond a symbolic link" msgstr "读取位于符号链接中的 '%s'" -#: apply.c:3429 apply.c:3672 +#: apply.c:3442 apply.c:3685 #, c-format msgid "path %s has been renamed/deleted" msgstr "路径 %s 已经被重命名/删除" -#: apply.c:3515 apply.c:3687 +#: apply.c:3528 apply.c:3700 #, c-format msgid "%s: does not exist in index" msgstr "%s:不存在于索引中" -#: apply.c:3524 apply.c:3695 +#: apply.c:3537 apply.c:3708 #, c-format msgid "%s: does not match index" msgstr "%s:和索引不匹配" -#: apply.c:3559 +#: apply.c:3572 msgid "repository lacks the necessary blob to fall back on 3-way merge." msgstr "仓库缺乏必要的数据对象以进行三方合并。" -#: apply.c:3562 +#: apply.c:3575 #, c-format msgid "Falling back to three-way merge...\n" msgstr "回落到三方合并...\n" -#: apply.c:3578 apply.c:3582 +#: apply.c:3591 apply.c:3595 #, c-format msgid "cannot read the current contents of '%s'" msgstr "无法读取 '%s' 的当前内容" -#: apply.c:3594 +#: apply.c:3607 #, c-format msgid "Failed to fall back on three-way merge...\n" msgstr "无法回落到三方合并...\n" -#: apply.c:3608 +#: apply.c:3621 #, c-format msgid "Applied patch to '%s' with conflicts.\n" msgstr "应用补丁到 '%s' 存在冲突。\n" -#: apply.c:3613 +#: apply.c:3626 #, c-format msgid "Applied patch to '%s' cleanly.\n" msgstr "成功应用补丁到 '%s'。\n" -#: apply.c:3639 +#: apply.c:3652 msgid "removal patch leaves file contents" msgstr "移除补丁仍留下了文件内容" -#: apply.c:3712 +#: apply.c:3725 #, c-format msgid "%s: wrong type" msgstr "%s:错误类型" -#: apply.c:3714 +#: apply.c:3727 #, c-format msgid "%s has type %o, expected %o" msgstr "%s 的类型是 %o,应为 %o" -#: apply.c:3865 apply.c:3867 read-cache.c:830 read-cache.c:856 -#: read-cache.c:1309 +#: apply.c:3878 apply.c:3880 read-cache.c:830 read-cache.c:856 +#: read-cache.c:1325 #, c-format msgid "invalid path '%s'" msgstr "无效路径 '%s'" -#: apply.c:3923 +#: apply.c:3936 #, c-format msgid "%s: already exists in index" msgstr "%s:已经存在于索引中" -#: apply.c:3926 +#: apply.c:3939 #, c-format msgid "%s: already exists in working directory" msgstr "%s:已经存在于工作区中" -#: apply.c:3946 +#: apply.c:3959 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "%2$s 的新模式(%1$o)和旧模式(%3$o)不匹配" -#: apply.c:3951 +#: apply.c:3964 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "%2$s 的新模式(%1$o)和 %4$s 的旧模式(%3$o)不匹配" -#: apply.c:3971 +#: apply.c:3984 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "受影响的文件 '%s' 位于符号链接中" -#: apply.c:3975 +#: apply.c:3988 #, c-format msgid "%s: patch does not apply" msgstr "%s:补丁未应用" -#: apply.c:3990 +#: apply.c:4003 #, c-format msgid "Checking patch %s..." msgstr "正在检查补丁 %s..." -#: apply.c:4082 +#: apply.c:4095 #, c-format msgid "sha1 information is lacking or useless for submodule %s" msgstr "子模组 %s 的 sha1 信息缺失或无效" -#: apply.c:4089 +#: apply.c:4102 #, c-format msgid "mode change for %s, which is not in current HEAD" msgstr "%s 的模式变更,但它不在当前 HEAD 中" -#: apply.c:4092 +#: apply.c:4105 #, c-format msgid "sha1 information is lacking or useless (%s)." msgstr "sha1 信息缺失或无效(%s)。" -#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143 -#, c-format -msgid "make_cache_entry failed for path '%s'" -msgstr "对路径 '%s' 的 make_cache_entry 操作失败" - -#: apply.c:4101 +#: apply.c:4114 #, c-format msgid "could not add %s to temporary index" msgstr "不能在临时索引中添加 %s" -#: apply.c:4111 +#: apply.c:4124 #, c-format msgid "could not write temporary index to %s" msgstr "不能把临时索引写入到 %s" -#: apply.c:4249 +#: apply.c:4262 #, c-format msgid "unable to remove %s from index" msgstr "不能从索引中移除 %s" -#: apply.c:4283 +#: apply.c:4296 #, c-format msgid "corrupt patch for submodule %s" msgstr "子模组 %s 损坏的补丁" -#: apply.c:4289 +#: apply.c:4302 #, c-format msgid "unable to stat newly created file '%s'" msgstr "不能对新建文件 '%s' 调用 stat" -#: apply.c:4297 +#: apply.c:4310 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "不能为新建文件 %s 创建后端存储" -#: apply.c:4303 apply.c:4448 +#: apply.c:4316 apply.c:4461 #, c-format msgid "unable to add cache entry for %s" msgstr "无法为 %s 添加缓存条目" -#: apply.c:4346 +#: apply.c:4359 #, c-format msgid "failed to write to '%s'" msgstr "写入 '%s' 失败" -#: apply.c:4350 +#: apply.c:4363 #, c-format msgid "closing file '%s'" msgstr "关闭文件 '%s'" -#: apply.c:4420 +#: apply.c:4433 #, c-format msgid "unable to write file '%s' mode %o" msgstr "不能写文件 '%s' 权限 %o" -#: apply.c:4518 +#: apply.c:4531 #, c-format msgid "Applied patch %s cleanly." msgstr "成功应用补丁 %s。" -#: apply.c:4526 +#: apply.c:4539 msgid "internal error" msgstr "内部错误" -#: apply.c:4529 +#: apply.c:4542 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "应用 %%s 个补丁,其中 %d 个被拒绝..." msgstr[1] "应用 %%s 个补丁,其中 %d 个被拒绝..." -#: apply.c:4540 +#: apply.c:4553 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "截短 .rej 文件名为 %.*s.rej" -#: apply.c:4548 builtin/fetch.c:878 builtin/fetch.c:1168 +#: apply.c:4561 builtin/fetch.c:901 builtin/fetch.c:1201 #, c-format msgid "cannot open %s" msgstr "不能打开 %s" -#: apply.c:4562 +#: apply.c:4575 #, c-format msgid "Hunk #%d applied cleanly." msgstr "第 #%d 个片段成功应用。" -#: apply.c:4566 +#: apply.c:4579 #, c-format msgid "Rejected hunk #%d." msgstr "拒绝第 #%d 个片段。" -#: apply.c:4676 +#: apply.c:4698 #, c-format msgid "Skipped patch '%s'." msgstr "略过补丁 '%s'。" -#: apply.c:4684 +#: apply.c:4706 msgid "unrecognized input" msgstr "未能识别的输入" -#: apply.c:4704 +#: apply.c:4726 msgid "unable to read index file" msgstr "无法读取索引文件" -#: apply.c:4859 +#: apply.c:4883 #, c-format msgid "can't open patch '%s': %s" msgstr "不能打开补丁 '%s':%s" -#: apply.c:4886 +#: apply.c:4910 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "抑制下仍有 %d 个空白字符误用" msgstr[1] "抑制下仍有 %d 个空白字符误用" -#: apply.c:4892 apply.c:4907 +#: apply.c:4916 apply.c:4931 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." msgstr[0] "%d 行新增了空白字符误用。" msgstr[1] "%d 行新增了空白字符误用。" -#: apply.c:4900 +#: apply.c:4924 #, c-format msgid "%d line applied after fixing whitespace errors." msgid_plural "%d lines applied after fixing whitespace errors." msgstr[0] "修复空白错误后,应用了 %d 行。" msgstr[1] "修复空白错误后,应用了 %d 行。" -#: apply.c:4916 builtin/add.c:540 builtin/mv.c:301 builtin/rm.c:390 +#: apply.c:4940 builtin/add.c:612 builtin/mv.c:301 builtin/rm.c:406 msgid "Unable to write new index file" msgstr "无法写入新索引文件" -#: apply.c:4943 apply.c:4946 builtin/am.c:2208 builtin/am.c:2211 -#: builtin/clone.c:123 builtin/fetch.c:128 builtin/merge.c:273 -#: builtin/pull.c:208 builtin/submodule--helper.c:407 -#: builtin/submodule--helper.c:1367 builtin/submodule--helper.c:1370 -#: builtin/submodule--helper.c:1850 builtin/submodule--helper.c:1853 -#: builtin/submodule--helper.c:2092 git-add--interactive.perl:211 -msgid "path" -msgstr "路径" - -#: apply.c:4944 +#: apply.c:4968 msgid "don't apply changes matching the given path" msgstr "不要应用与给出路径向匹配的变更" -#: apply.c:4947 +#: apply.c:4971 msgid "apply changes matching the given path" msgstr "应用与给出路径向匹配的变更" -#: apply.c:4949 builtin/am.c:2217 +#: apply.c:4973 builtin/am.c:2260 msgid "num" msgstr "数字" -#: apply.c:4950 +#: apply.c:4974 msgid "remove leading slashes from traditional diff paths" msgstr "从传统的 diff 路径中移除指定数量的前导斜线" -#: apply.c:4953 +#: apply.c:4977 msgid "ignore additions made by the patch" msgstr "忽略补丁中的添加的文件" -#: apply.c:4955 +#: apply.c:4979 msgid "instead of applying the patch, output diffstat for the input" msgstr "不应用补丁,而是显示输入的差异统计(diffstat)" -#: apply.c:4959 +#: apply.c:4983 msgid "show number of added and deleted lines in decimal notation" msgstr "以十进制数显示添加和删除的行数" -#: apply.c:4961 +#: apply.c:4985 msgid "instead of applying the patch, output a summary for the input" msgstr "不应用补丁,而是显示输入的概要" -#: apply.c:4963 +#: apply.c:4987 msgid "instead of applying the patch, see if the patch is applicable" msgstr "不应用补丁,而是查看补丁是否可应用" -#: apply.c:4965 +#: apply.c:4989 msgid "make sure the patch is applicable to the current index" msgstr "确认补丁可以应用到当前索引" -#: apply.c:4967 +#: apply.c:4991 msgid "mark new files with `git add --intent-to-add`" msgstr "使用命令 `git add --intent-to-add` 标记新增文件" -#: apply.c:4969 +#: apply.c:4993 msgid "apply a patch without touching the working tree" msgstr "应用补丁而不修改工作区" -#: apply.c:4971 +#: apply.c:4995 msgid "accept a patch that touches outside the working area" msgstr "接受修改工作区之外文件的补丁" -#: apply.c:4974 +#: apply.c:4998 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "还应用此补丁(与 --stat/--summary/--check 选项同时使用)" -#: apply.c:4976 +#: apply.c:5000 msgid "attempt three-way merge if a patch does not apply" msgstr "如果一个补丁不能应用则尝试三方合并" -#: apply.c:4978 +#: apply.c:5002 msgid "build a temporary index based on embedded index information" msgstr "创建一个临时索引基于嵌入的索引信息" -#: apply.c:4981 builtin/checkout-index.c:173 builtin/ls-files.c:524 +#: apply.c:5005 builtin/checkout-index.c:173 builtin/ls-files.c:524 msgid "paths are separated with NUL character" msgstr "路径以 NUL 字符分隔" -#: apply.c:4983 +#: apply.c:5007 msgid "ensure at least lines of context match" msgstr "确保至少匹配 行上下文" -#: apply.c:4984 builtin/am.c:2196 builtin/interpret-trailers.c:98 +#: apply.c:5008 builtin/am.c:2239 builtin/interpret-trailers.c:98 #: builtin/interpret-trailers.c:100 builtin/interpret-trailers.c:102 -#: builtin/pack-objects.c:3330 builtin/rebase.c:1421 +#: builtin/pack-objects.c:3457 builtin/rebase.c:1508 msgid "action" msgstr "动作" -#: apply.c:4985 +#: apply.c:5009 msgid "detect new or modified lines that have whitespace errors" msgstr "检查新增和修改的行中间的空白字符滥用" -#: apply.c:4988 apply.c:4991 +#: apply.c:5012 apply.c:5015 msgid "ignore changes in whitespace when finding context" msgstr "查找上下文时忽略空白字符的变更" -#: apply.c:4994 +#: apply.c:5018 msgid "apply the patch in reverse" msgstr "反向应用补丁" -#: apply.c:4996 +#: apply.c:5020 msgid "don't expect at least one line of context" msgstr "无需至少一行上下文" -#: apply.c:4998 +#: apply.c:5022 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "将拒绝的补丁片段保存在对应的 *.rej 文件中" -#: apply.c:5000 +#: apply.c:5024 msgid "allow overlapping hunks" msgstr "允许重叠的补丁片段" -#: apply.c:5001 builtin/add.c:291 builtin/check-ignore.c:22 -#: builtin/commit.c:1337 builtin/count-objects.c:98 builtin/fsck.c:786 -#: builtin/log.c:2068 builtin/mv.c:123 builtin/read-tree.c:128 +#: apply.c:5025 builtin/add.c:323 builtin/check-ignore.c:22 +#: builtin/commit.c:1360 builtin/count-objects.c:98 builtin/fsck.c:774 +#: builtin/log.c:2166 builtin/mv.c:123 builtin/read-tree.c:128 msgid "be verbose" msgstr "冗长输出" -#: apply.c:5003 +#: apply.c:5027 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "允许不正确的文件末尾换行符" -#: apply.c:5006 +#: apply.c:5030 msgid "do not trust the line counts in the hunk headers" msgstr "不信任补丁片段的头信息中的行号" -#: apply.c:5008 builtin/am.c:2205 +#: apply.c:5032 builtin/am.c:2248 msgid "root" msgstr "根目录" -#: apply.c:5009 +#: apply.c:5033 msgid "prepend to all filenames" msgstr "为所有文件名前添加 <根目录>" #: archive.c:14 msgid "git archive [] [...]" -msgstr "git archive [<选项>] <树或提交> [<路径>...]" +msgstr "git archive [<选项>] <树对象> [<路径>...]" #: archive.c:15 msgid "git archive --list" @@ -884,13 +1537,13 @@ msgstr "git archive --list" msgid "" "git archive --remote [--exec ] [] [...]" msgstr "" -"git archive --remote <仓库> [--exec <命令>] [<选项>] <树或提交> [<路径>...]" +"git archive --remote <仓库> [--exec <命令>] [<选项>] <树对象> [<路径>...]" #: archive.c:17 msgid "git archive --remote [--exec ] --list" msgstr "git archive --remote <仓库> [--exec <命令>] --list" -#: archive.c:372 builtin/add.c:177 builtin/add.c:516 builtin/rm.c:299 +#: archive.c:372 builtin/add.c:181 builtin/add.c:588 builtin/rm.c:315 #, c-format msgid "pathspec '%s' did not match any files" msgstr "路径规格 '%s' 未匹配任何文件" @@ -922,7 +1575,7 @@ msgstr "格式" msgid "archive format" msgstr "归档格式" -#: archive.c:458 builtin/log.c:1580 +#: archive.c:458 builtin/log.c:1653 msgid "prefix" msgstr "前缀" @@ -930,11 +1583,12 @@ msgstr "前缀" msgid "prepend prefix to each pathname in the archive" msgstr "为归档中每个路径名加上前缀" -#: archive.c:460 builtin/blame.c:862 builtin/blame.c:874 builtin/blame.c:875 -#: builtin/commit-tree.c:117 builtin/config.c:129 builtin/fast-export.c:1134 -#: builtin/fast-export.c:1136 builtin/grep.c:897 builtin/hash-object.c:105 -#: builtin/ls-files.c:560 builtin/ls-files.c:563 builtin/notes.c:412 -#: builtin/notes.c:578 builtin/read-tree.c:123 parse-options.h:177 +#: archive.c:460 builtin/blame.c:861 builtin/blame.c:865 builtin/blame.c:866 +#: builtin/commit-tree.c:117 builtin/config.c:130 builtin/fast-export.c:1162 +#: builtin/fast-export.c:1164 builtin/fast-export.c:1168 builtin/grep.c:887 +#: builtin/hash-object.c:105 builtin/ls-files.c:560 builtin/ls-files.c:563 +#: builtin/notes.c:412 builtin/notes.c:578 builtin/read-tree.c:123 +#: parse-options.h:190 msgid "file" msgstr "文件" @@ -967,7 +1621,7 @@ msgid "list supported archive formats" msgstr "列出支持的归档格式" #: archive.c:479 builtin/archive.c:91 builtin/clone.c:113 builtin/clone.c:116 -#: builtin/submodule--helper.c:1379 builtin/submodule--helper.c:1859 +#: builtin/submodule--helper.c:1406 builtin/submodule--helper.c:1911 msgid "repo" msgstr "仓库" @@ -975,7 +1629,7 @@ msgstr "仓库" msgid "retrieve the archive from remote repository " msgstr "从远程仓库(<仓库>)提取归档文件" -#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:707 +#: archive.c:481 builtin/archive.c:93 builtin/difftool.c:715 #: builtin/notes.c:498 msgid "command" msgstr "命令" @@ -1006,66 +1660,66 @@ msgstr "未知归档格式 '%s'" msgid "Argument not supported for format '%s': -%d" msgstr "参数不支持此格式 '%s':-%d" -#: archive-tar.c:125 archive-zip.c:345 +#: archive-tar.c:125 archive-zip.c:351 #, c-format msgid "cannot stream blob %s" msgstr "不能打开数据对象 %s" -#: archive-tar.c:260 archive-zip.c:363 +#: archive-tar.c:266 archive-zip.c:369 #, c-format msgid "unsupported file mode: 0%o (SHA1: %s)" msgstr "不支持的文件模式:0%o (SHA1: %s)" -#: archive-tar.c:287 archive-zip.c:353 +#: archive-tar.c:293 archive-zip.c:359 #, c-format msgid "cannot read %s" msgstr "不能读取 %s" -#: archive-tar.c:459 +#: archive-tar.c:465 #, c-format msgid "unable to start '%s' filter" msgstr "无法启动 '%s' 过滤器" -#: archive-tar.c:462 +#: archive-tar.c:468 msgid "unable to redirect descriptor" msgstr "无法重定向描述符" -#: archive-tar.c:469 +#: archive-tar.c:475 #, c-format msgid "'%s' filter reported error" msgstr "'%s' 过滤器报告了错误" -#: archive-zip.c:314 +#: archive-zip.c:319 #, c-format msgid "path is not valid UTF-8: %s" msgstr "路径不是有效的 UTF-8:%s" -#: archive-zip.c:318 +#: archive-zip.c:323 #, c-format msgid "path too long (%d chars, SHA1: %s): %s" msgstr "路径太长(%d 字符,SHA1:%s):%s" -#: archive-zip.c:474 builtin/pack-objects.c:230 builtin/pack-objects.c:233 +#: archive-zip.c:480 builtin/pack-objects.c:231 builtin/pack-objects.c:234 #, c-format msgid "deflate error (%d)" msgstr "压缩错误 (%d)" -#: archive-zip.c:609 +#: archive-zip.c:615 #, c-format msgid "timestamp too large for this system: %" msgstr "对于本系统时间戳太大:%" -#: attr.c:211 +#: attr.c:212 #, c-format msgid "%.*s is not a valid attribute name" msgstr "%.*s 不是一个有效的属性名" -#: attr.c:368 +#: attr.c:369 #, c-format msgid "%s not allowed: %s:%d" msgstr "不允许 %s:%s:%d" -#: attr.c:408 +#: attr.c:409 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -1083,12 +1737,12 @@ msgstr "文件 '%s' 包含错误的引用格式:%s" msgid "We cannot bisect more!\n" msgstr "我们无法进行更多的二分查找!\n" -#: bisect.c:733 +#: bisect.c:745 #, c-format msgid "Not a valid commit name %s" msgstr "不是一个有效的提交名 %s" -#: bisect.c:758 +#: bisect.c:770 #, c-format msgid "" "The merge base %s is bad.\n" @@ -1097,7 +1751,7 @@ msgstr "" "合并基线 %s 是坏的。\n" "这意味着介于 %s 和 [%s] 之间的 bug 已经被修复。\n" -#: bisect.c:763 +#: bisect.c:775 #, c-format msgid "" "The merge base %s is new.\n" @@ -1106,7 +1760,7 @@ msgstr "" "合并基线 %s 是新的。\n" "介于 %s 和 [%s] 之间的属性已经被修改。\n" -#: bisect.c:768 +#: bisect.c:780 #, c-format msgid "" "The merge base %s is %s.\n" @@ -1115,7 +1769,7 @@ msgstr "" "合并基线 %s 是 %s。\n" "这意味着第一个 '%s' 提交位于 %s 和 [%s] 之间。\n" -#: bisect.c:776 +#: bisect.c:788 #, c-format msgid "" "Some %s revs are not ancestors of the %s rev.\n" @@ -1126,7 +1780,7 @@ msgstr "" "这种情况下 git 二分查找无法正常工作。\n" "您可能弄错了 %s 和 %s 版本?\n" -#: bisect.c:789 +#: bisect.c:801 #, c-format msgid "" "the merge base between %s and [%s] must be skipped.\n" @@ -1137,36 +1791,36 @@ msgstr "" "所以我们无法确认第一个 %s 提交是否介于 %s 和 %s 之间。\n" "我们仍旧继续。" -#: bisect.c:822 +#: bisect.c:840 #, c-format msgid "Bisecting: a merge base must be tested\n" msgstr "二分查找中:合并基线必须是经过测试的\n" -#: bisect.c:865 +#: bisect.c:890 #, c-format msgid "a %s revision is needed" msgstr "需要一个 %s 版本" -#: bisect.c:884 builtin/notes.c:177 builtin/tag.c:254 +#: bisect.c:920 builtin/notes.c:177 builtin/tag.c:254 #, c-format msgid "could not create file '%s'" msgstr "不能创建文件 '%s'" -#: bisect.c:928 builtin/merge.c:148 +#: bisect.c:966 builtin/merge.c:149 #, c-format msgid "could not read file '%s'" msgstr "不能读取文件 '%s'" -#: bisect.c:958 +#: bisect.c:997 msgid "reading bisect refs failed" msgstr "读取二分查找引用失败" -#: bisect.c:977 +#: bisect.c:1019 #, c-format msgid "%s was both %s and %s\n" msgstr "%s 同时为 %s 和 %s\n" -#: bisect.c:985 +#: bisect.c:1028 #, c-format msgid "" "No testable commit found.\n" @@ -1175,7 +1829,7 @@ msgstr "" "没有发现可测试的提交。\n" "可能您在运行时使用了错误的路径参数?\n" -#: bisect.c:1004 +#: bisect.c:1057 #, c-format msgid "(roughly %d step)" msgid_plural "(roughly %d steps)" @@ -1185,44 +1839,44 @@ msgstr[1] "(大概 %d 步)" #. TRANSLATORS: the last %s will be replaced with "(roughly %d #. steps)" translation. #. -#: bisect.c:1010 +#: bisect.c:1063 #, c-format msgid "Bisecting: %d revision left to test after this %s\n" msgid_plural "Bisecting: %d revisions left to test after this %s\n" msgstr[0] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n" msgstr[1] "二分查找中:在此之后,还剩 %d 个版本待测试 %s\n" -#: blame.c:2697 +#: blame.c:2700 msgid "--contents and --reverse do not blend well." msgstr "--contents 和 --reverse 不能混用。" -#: blame.c:2711 +#: blame.c:2714 msgid "cannot use --contents with final commit object name" msgstr "不能将 --contents 和最终的提交对象名共用" -#: blame.c:2732 +#: blame.c:2735 msgid "--reverse and --first-parent together require specified latest commit" msgstr "--reverse 和 --first-parent 共用,需要指定最新的提交" -#: blame.c:2741 bundle.c:167 ref-filter.c:2196 remote.c:1938 sequencer.c:2033 -#: sequencer.c:4348 builtin/commit.c:1020 builtin/log.c:387 builtin/log.c:963 -#: builtin/log.c:1451 builtin/log.c:1827 builtin/log.c:2117 builtin/merge.c:411 -#: builtin/pack-objects.c:3148 builtin/pack-objects.c:3163 +#: blame.c:2744 bundle.c:167 ref-filter.c:2203 remote.c:1942 sequencer.c:2006 +#: sequencer.c:4358 submodule.c:847 builtin/commit.c:1045 builtin/log.c:388 +#: builtin/log.c:991 builtin/log.c:1520 builtin/log.c:1925 builtin/log.c:2215 +#: builtin/merge.c:412 builtin/pack-objects.c:3275 builtin/pack-objects.c:3290 #: builtin/shortlog.c:192 msgid "revision walk setup failed" msgstr "版本遍历设置失败" -#: blame.c:2759 +#: blame.c:2762 msgid "" "--reverse --first-parent together require range along first-parent chain" msgstr "--reverse 和 --first-parent 共用,需要第一祖先链上的提交范围" -#: blame.c:2770 +#: blame.c:2773 #, c-format msgid "no such path %s in %s" msgstr "在 %2$s 中无此路径 %1$s" -#: blame.c:2781 +#: blame.c:2784 #, c-format msgid "cannot read blob %s for path %s" msgstr "不能为路径 %2$s 读取数据对象 %1$s" @@ -1370,8 +2024,8 @@ msgstr "'%s' 不像是一个 v2 版本的包文件" msgid "unrecognized header: %s%s (%d)" msgstr "未能识别的包头:%s%s (%d)" -#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2283 sequencer.c:3024 -#: builtin/commit.c:791 +#: bundle.c:90 rerere.c:480 rerere.c:690 sequencer.c:2258 sequencer.c:3016 +#: builtin/commit.c:815 #, c-format msgid "could not open '%s'" msgstr "不能打开 '%s'" @@ -1402,62 +2056,62 @@ msgid_plural "The bundle requires these %d refs:" msgstr[0] "这个包需要这个引用:" msgstr[1] "这个包需要 %d 个引用:" -#: bundle.c:272 +#: bundle.c:273 msgid "unable to dup bundle descriptor" msgstr "无法复制 bundle 描述符" -#: bundle.c:279 +#: bundle.c:280 msgid "Could not spawn pack-objects" msgstr "不能生成 pack-objects 进程" -#: bundle.c:290 +#: bundle.c:291 msgid "pack-objects died" msgstr "pack-objects 终止" -#: bundle.c:332 +#: bundle.c:333 msgid "rev-list died" msgstr "rev-list 终止" -#: bundle.c:381 +#: bundle.c:382 #, c-format msgid "ref '%s' is excluded by the rev-list options" msgstr "引用 '%s' 被 rev-list 选项排除" -#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306 +#: bundle.c:461 builtin/log.c:203 builtin/log.c:1814 builtin/shortlog.c:306 #, c-format msgid "unrecognized argument: %s" msgstr "未能识别的参数:%s" -#: bundle.c:468 +#: bundle.c:469 msgid "Refusing to create empty bundle." msgstr "不能创建空包。" -#: bundle.c:478 +#: bundle.c:479 #, c-format msgid "cannot create '%s'" msgstr "不能创建 '%s'" -#: bundle.c:503 +#: bundle.c:504 msgid "index-pack died" msgstr "index-pack 终止" -#: color.c:296 +#: color.c:329 #, c-format msgid "invalid color value: %.*s" msgstr "无效的颜色值:%.*s" -#: commit.c:50 sequencer.c:2727 builtin/am.c:355 builtin/am.c:399 -#: builtin/am.c:1378 builtin/am.c:2020 builtin/replace.c:455 +#: commit.c:51 sequencer.c:2719 builtin/am.c:359 builtin/am.c:403 +#: builtin/am.c:1371 builtin/am.c:2014 builtin/replace.c:457 #, c-format msgid "could not parse %s" msgstr "不能解析 %s" -#: commit.c:52 +#: commit.c:53 #, c-format msgid "%s %s is not a commit!" msgstr "%s %s 不是一个提交!" -#: commit.c:192 +#: commit.c:193 msgid "" "Support for /info/grafts is deprecated\n" "and will be removed in a future Git version.\n" @@ -1477,27 +2131,27 @@ msgstr "" "设置 \"git config advice.graftFileDeprecated false\"\n" "可关闭本消息" -#: commit.c:1127 +#: commit.c:1153 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "提交 %s 有一个非可信的声称来自 %s 的 GPG 签名。" -#: commit.c:1130 +#: commit.c:1157 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "提交 %s 有一个错误的声称来自 %s 的 GPG 签名。" -#: commit.c:1133 +#: commit.c:1160 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "提交 %s 没有 GPG 签名。" -#: commit.c:1136 +#: commit.c:1163 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "提交 %s 有一个来自 %s 的好的 GPG 签名。\n" -#: commit.c:1390 +#: commit.c:1417 msgid "" "Warning: commit message did not conform to UTF-8.\n" "You may want to amend it after fixing the message, or set the config\n" @@ -1507,165 +2161,175 @@ msgstr "" "您可以通过修补提交来改正提交说明,或者将配置变量 i18n.commitencoding\n" "设置为您项目所用的字符编码。\n" -#: commit-graph.c:127 +#: commit-graph.c:122 msgid "commit-graph file is too small" msgstr "提交图形文件太小" -#: commit-graph.c:192 +#: commit-graph.c:189 #, c-format msgid "commit-graph signature %X does not match signature %X" msgstr "提交图形签名 %X 和签名 %X 不匹配" -#: commit-graph.c:199 +#: commit-graph.c:196 #, c-format msgid "commit-graph version %X does not match version %X" msgstr "提交图形版本 %X 和版本 %X 不匹配" -#: commit-graph.c:206 +#: commit-graph.c:203 #, c-format msgid "commit-graph hash version %X does not match version %X" msgstr "提交图形哈希版本 %X 和版本 %X 不匹配" -#: commit-graph.c:229 +#: commit-graph.c:226 msgid "commit-graph chunk lookup table entry missing; file may be incomplete" msgstr "提交图形块查找表条目丢失,文件可能不完整" -#: commit-graph.c:240 +#: commit-graph.c:237 #, c-format msgid "commit-graph improper chunk offset %08x%08x" msgstr "提交图形不正确的块偏移 %08x%08x" -#: commit-graph.c:283 +#: commit-graph.c:280 #, c-format msgid "commit-graph chunk id %08x appears multiple times" msgstr "提交图形块 id %08x 出现了多次" -#: commit-graph.c:347 +#: commit-graph.c:343 msgid "commit-graph has no base graphs chunk" msgstr "提交图形没有基础图形块" -#: commit-graph.c:357 +#: commit-graph.c:353 msgid "commit-graph chain does not match" msgstr "提交图形链不匹配" -#: commit-graph.c:404 +#: commit-graph.c:401 #, c-format msgid "invalid commit-graph chain: line '%s' not a hash" msgstr "无效的提交图形链:行 '%s' 不是一个哈希值" -#: commit-graph.c:430 +#: commit-graph.c:425 msgid "unable to find all commit-graph files" msgstr "无法找到所有提交图形文件" -#: commit-graph.c:554 commit-graph.c:614 +#: commit-graph.c:558 commit-graph.c:618 msgid "invalid commit position. commit-graph is likely corrupt" msgstr "无效的提交位置。提交图形可能已损坏" -#: commit-graph.c:575 +#: commit-graph.c:579 #, c-format msgid "could not find commit %s" msgstr "无法找到提交 %s" -#: commit-graph.c:1002 builtin/pack-objects.c:2657 +#: commit-graph.c:852 builtin/am.c:1292 +#, c-format +msgid "unable to parse commit %s" +msgstr "不能解析提交 %s" + +#: commit-graph.c:1011 builtin/pack-objects.c:2782 #, c-format msgid "unable to get type of object %s" msgstr "无法获得对象 %s 类型" -#: commit-graph.c:1034 +#: commit-graph.c:1043 msgid "Loading known commits in commit graph" msgstr "正在加载提交图中的已知提交" -#: commit-graph.c:1051 +#: commit-graph.c:1060 msgid "Expanding reachable commits in commit graph" msgstr "正在扩展提交图中的可达提交" -#: commit-graph.c:1070 +#: commit-graph.c:1079 msgid "Clearing commit marks in commit graph" msgstr "正在清除提交图中的提交标记" -#: commit-graph.c:1089 +#: commit-graph.c:1098 msgid "Computing commit graph generation numbers" msgstr "正在计算提交图世代数字" -#: commit-graph.c:1163 +#: commit-graph.c:1173 #, c-format msgid "Finding commits for commit graph in %d pack" msgid_plural "Finding commits for commit graph in %d packs" msgstr[0] "正在 %d 个包中查找提交图的提交" msgstr[1] "正在 %d 个包中查找提交图的提交" -#: commit-graph.c:1176 +#: commit-graph.c:1186 #, c-format msgid "error adding pack %s" msgstr "添加包 %s 出错" -#: commit-graph.c:1180 +#: commit-graph.c:1190 #, c-format msgid "error opening index for %s" msgstr "为 %s 打开索引出错" -#: commit-graph.c:1204 +#: commit-graph.c:1214 #, c-format msgid "Finding commits for commit graph from %d ref" msgid_plural "Finding commits for commit graph from %d refs" msgstr[0] "正在从 %d 个引用中查找提交图的提交" msgstr[1] "正在从 %d 个引用中查找提交图的提交" -#: commit-graph.c:1238 +#: commit-graph.c:1234 +#, c-format +msgid "invalid commit object id: %s" +msgstr "无效的提交对象 ID:%s" + +#: commit-graph.c:1249 msgid "Finding commits for commit graph among packed objects" msgstr "正在打包对象中查找提交图的提交" -#: commit-graph.c:1253 +#: commit-graph.c:1264 msgid "Counting distinct commits in commit graph" msgstr "正在计算提交图中不同的提交" -#: commit-graph.c:1284 +#: commit-graph.c:1294 msgid "Finding extra edges in commit graph" msgstr "正在查找提交图中额外的边" -#: commit-graph.c:1332 +#: commit-graph.c:1340 msgid "failed to write correct number of base graph ids" msgstr "无法写入正确数量的基础图形 ID" -#: commit-graph.c:1365 midx.c:811 +#: commit-graph.c:1373 midx.c:814 #, c-format msgid "unable to create leading directories of %s" msgstr "不能为 %s 创建先导目录" -#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240 +#: commit-graph.c:1385 builtin/index-pack.c:306 builtin/repack.c:248 #, c-format msgid "unable to create '%s'" msgstr "不能创建 '%s'" -#: commit-graph.c:1437 +#: commit-graph.c:1445 #, c-format msgid "Writing out commit graph in %d pass" msgid_plural "Writing out commit graph in %d passes" msgstr[0] "正在用 %d 步写出提交图" msgstr[1] "正在用 %d 步写出提交图" -#: commit-graph.c:1478 +#: commit-graph.c:1486 msgid "unable to open commit-graph chain file" msgstr "无法打开提交图形链文件" -#: commit-graph.c:1490 +#: commit-graph.c:1498 msgid "failed to rename base commit-graph file" msgstr "无法重命名基础提交图形文件" -#: commit-graph.c:1510 +#: commit-graph.c:1518 msgid "failed to rename temporary commit-graph file" msgstr "无法重命名临时提交图形文件" -#: commit-graph.c:1621 +#: commit-graph.c:1631 msgid "Scanning merged commits" msgstr "正在扫描合并提交" -#: commit-graph.c:1632 +#: commit-graph.c:1642 #, c-format msgid "unexpected duplicate commit id %s" msgstr "意外的重复提交 ID %s" -#: commit-graph.c:1657 +#: commit-graph.c:1665 msgid "Merging commit-graph" msgstr "正在合并提交图形" @@ -1678,21 +2342,21 @@ msgstr "提交图格式不能写入 %d 个提交" msgid "too many commits to write graph" msgstr "提交太多不能画图" -#: commit-graph.c:1945 +#: commit-graph.c:1944 msgid "the commit-graph file has incorrect checksum and is likely corrupt" msgstr "提交图文件的校验码错误,可能已经损坏" -#: commit-graph.c:1955 +#: commit-graph.c:1954 #, c-format msgid "commit-graph has incorrect OID order: %s then %s" msgstr "提交图形的对象 ID 顺序不正确:%s 然后 %s" -#: commit-graph.c:1965 commit-graph.c:1980 +#: commit-graph.c:1964 commit-graph.c:1979 #, c-format msgid "commit-graph has incorrect fanout value: fanout[%d] = %u != %u" msgstr "提交图形有不正确的扇出值:fanout[%d] = %u != %u" -#: commit-graph.c:1972 +#: commit-graph.c:1971 #, c-format msgid "failed to parse commit %s from commit-graph" msgstr "无法从提交图形中解析提交 %s" @@ -1701,49 +2365,49 @@ msgstr "无法从提交图形中解析提交 %s" msgid "Verifying commits in commit graph" msgstr "正在校验提交图中的提交" -#: commit-graph.c:2002 +#: commit-graph.c:2003 #, c-format msgid "failed to parse commit %s from object database for commit-graph" msgstr "无法从提交图形的对象库中解析提交 %s" -#: commit-graph.c:2009 +#: commit-graph.c:2010 #, c-format msgid "root tree OID for commit %s in commit-graph is %s != %s" msgstr "提交图形中的提交 %s 的根树对象 ID 是 %s != %s" -#: commit-graph.c:2019 +#: commit-graph.c:2020 #, c-format msgid "commit-graph parent list for commit %s is too long" msgstr "提交 %s 的提交图形父提交列表太长了" -#: commit-graph.c:2028 +#: commit-graph.c:2029 #, c-format msgid "commit-graph parent for %s is %s != %s" msgstr "%s 的提交图形父提交是 %s != %s" -#: commit-graph.c:2041 +#: commit-graph.c:2042 #, c-format msgid "commit-graph parent list for commit %s terminates early" msgstr "提交 %s 的提交图形父提交列表过早终止" -#: commit-graph.c:2046 +#: commit-graph.c:2047 #, c-format msgid "" "commit-graph has generation number zero for commit %s, but non-zero elsewhere" msgstr "提交图形中提交 %s 的世代号是零,但其它地方非零" -#: commit-graph.c:2050 +#: commit-graph.c:2051 #, c-format msgid "" "commit-graph has non-zero generation number for commit %s, but zero elsewhere" msgstr "提交图形中提交 %s 的世代号非零,但其它地方是零" -#: commit-graph.c:2065 +#: commit-graph.c:2066 #, c-format msgid "commit-graph generation for commit %s is %u != %u" msgstr "提交图形中的提交 %s 的世代号是 %u != %u" -#: commit-graph.c:2071 +#: commit-graph.c:2072 #, c-format msgid "commit date for commit %s in commit-graph is % != %" msgstr "提交图形中提交 %s 的提交日期是 % != %" @@ -1790,7 +2454,7 @@ msgstr "键名没有包含一个小节名称:%s" msgid "key does not contain variable name: %s" msgstr "键名没有包含变量名:%s" -#: config.c:406 sequencer.c:2463 +#: config.c:406 sequencer.c:2444 #, c-format msgid "invalid key: %s" msgstr "无效键名:%s" @@ -1926,7 +2590,7 @@ msgstr "%s 的取值格式错误:%s" msgid "must be one of nothing, matching, simple, upstream or current" msgstr "必须是其中之一:nothing、matching、simple、upstream 或 current" -#: config.c:1518 builtin/pack-objects.c:3410 +#: config.c:1518 builtin/pack-objects.c:3541 #, c-format msgid "bad pack compression level %d" msgstr "错误的打包压缩级别 %d" @@ -1951,110 +2615,105 @@ msgstr "不能解析配置对象 '%s'" msgid "failed to parse %s" msgstr "解析 %s 失败" -#: config.c:1745 +#: config.c:1743 msgid "unable to parse command-line config" msgstr "无法解析命令行中的配置" -#: config.c:2094 +#: config.c:2097 msgid "unknown error occurred while reading the configuration files" msgstr "在读取配置文件时遇到未知错误" -#: config.c:2264 +#: config.c:2267 #, c-format msgid "Invalid %s: '%s'" msgstr "无效 %s:'%s'" -#: config.c:2307 -#, c-format -msgid "unknown core.untrackedCache value '%s'; using 'keep' default value" -msgstr "未知的 core.untrackedCache 取值 '%s',使用默认值 'keep'" - -#: config.c:2333 +#: config.c:2312 #, c-format msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100" msgstr "splitIndex.maxPercentChange 的取值 '%d' 应该介于 0 和 100 之间" -#: config.c:2379 +#: config.c:2358 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "无法解析命令行配置中的 '%s'" -#: config.c:2381 +#: config.c:2360 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "在文件 '%2$s' 的第 %3$d 行发现错误的配置变量 '%1$s'" -#: config.c:2462 +#: config.c:2441 #, c-format msgid "invalid section name '%s'" msgstr "无效的小节名称 '%s'" -#: config.c:2494 +#: config.c:2473 #, c-format msgid "%s has multiple values" msgstr "%s 有多个取值" -#: config.c:2523 +#: config.c:2502 #, c-format msgid "failed to write new configuration file %s" msgstr "写入新的配置文件 %s 失败" -#: config.c:2775 config.c:3099 +#: config.c:2754 config.c:3078 #, c-format msgid "could not lock config file %s" msgstr "不能锁定配置文件 %s" -#: config.c:2786 +#: config.c:2765 #, c-format msgid "opening %s" msgstr "打开 %s" -#: config.c:2821 builtin/config.c:328 +#: config.c:2800 builtin/config.c:344 #, c-format msgid "invalid pattern: %s" msgstr "无效模式:%s" -#: config.c:2846 +#: config.c:2825 #, c-format msgid "invalid config file %s" msgstr "无效的配置文件 %s" -#: config.c:2859 config.c:3112 +#: config.c:2838 config.c:3091 #, c-format msgid "fstat on %s failed" msgstr "对 %s 调用 fstat 失败" -#: config.c:2870 +#: config.c:2849 #, c-format msgid "unable to mmap '%s'" msgstr "不能 mmap '%s'" -#: config.c:2879 config.c:3117 +#: config.c:2858 config.c:3096 #, c-format msgid "chmod on %s failed" msgstr "对 %s 调用 chmod 失败" -#: config.c:2964 config.c:3214 +#: config.c:2943 config.c:3193 #, c-format msgid "could not write config file %s" msgstr "不能写入配置文件 %s" -#: config.c:2998 +#: config.c:2977 #, c-format msgid "could not set '%s' to '%s'" msgstr "不能设置 '%s' 为 '%s'" -#: config.c:3000 builtin/remote.c:782 +#: config.c:2979 builtin/remote.c:655 builtin/remote.c:849 builtin/remote.c:857 #, c-format msgid "could not unset '%s'" msgstr "不能取消设置 '%s'" -#: config.c:3090 +#: config.c:3069 #, c-format msgid "invalid section name: %s" msgstr "无效的小节名称:%s" -#: config.c:3257 +#: config.c:3236 #, c-format msgid "missing value for '%s'" msgstr "%s 的取值缺失" @@ -2177,7 +2836,7 @@ msgstr "无法查找 %s(%s)" msgid "unknown port %s" msgstr "未知端口 %s" -#: connect.c:845 connect.c:1171 +#: connect.c:845 connect.c:1175 #, c-format msgid "strange hostname '%s' blocked" msgstr "已阻止奇怪的主机名 '%s'" @@ -2192,58 +2851,58 @@ msgstr "已阻止奇怪的端口号 '%s'" msgid "cannot start proxy %s" msgstr "不能启动代理 %s" -#: connect.c:924 +#: connect.c:928 msgid "no path specified; see 'git help pull' for valid url syntax" msgstr "未指定路径,执行 'git help pull' 查看有效的 url 语法" -#: connect.c:1119 +#: connect.c:1123 msgid "ssh variant 'simple' does not support -4" msgstr "ssh 变体 'simple' 不支持 -4" -#: connect.c:1131 +#: connect.c:1135 msgid "ssh variant 'simple' does not support -6" msgstr "ssh 变体 'simple' 不支持 -6" -#: connect.c:1148 +#: connect.c:1152 msgid "ssh variant 'simple' does not support setting port" msgstr "ssh 变体 'simple' 不支持设置端口" -#: connect.c:1260 +#: connect.c:1264 #, c-format msgid "strange pathname '%s' blocked" msgstr "已阻止奇怪的路径名 '%s'" -#: connect.c:1307 +#: connect.c:1311 msgid "unable to fork" msgstr "无法 fork" -#: connected.c:86 builtin/fsck.c:221 builtin/prune.c:43 +#: connected.c:98 builtin/fsck.c:208 builtin/prune.c:43 msgid "Checking connectivity" msgstr "正在检查连通性" -#: connected.c:98 +#: connected.c:110 msgid "Could not run 'git rev-list'" msgstr "不能执行 'git rev-list'" -#: connected.c:118 +#: connected.c:130 msgid "failed write to rev-list" msgstr "写入 rev-list 失败" -#: connected.c:125 +#: connected.c:137 msgid "failed to close rev-list's stdin" msgstr "关闭 rev-list 的标准输入失败" -#: convert.c:193 +#: convert.c:194 #, c-format msgid "illegal crlf_action %d" msgstr "非法的 crlf 动作 %d" -#: convert.c:206 +#: convert.c:207 #, c-format msgid "CRLF would be replaced by LF in %s" msgstr "%s 中的 CRLF 将被 LF 替换" -#: convert.c:208 +#: convert.c:209 #, c-format msgid "" "CRLF will be replaced by LF in %s.\n" @@ -2252,12 +2911,12 @@ msgstr "" "%s 中的 CRLF 将被 LF 替换。<\n" "在工作区中该文件仍保持原有的换行符。" -#: convert.c:216 +#: convert.c:217 #, c-format msgid "LF would be replaced by CRLF in %s" msgstr "文件 %s 中的 LF 将被 CRLF 替换" -#: convert.c:218 +#: convert.c:219 #, c-format msgid "" "LF will be replaced by CRLF in %s.\n" @@ -2266,17 +2925,18 @@ msgstr "" "%s 中的 LF 将被 CRLF 替换。\n" "在工作区中该文件仍保持原有的换行符" -#: convert.c:279 +#: convert.c:284 #, c-format msgid "BOM is prohibited in '%s' if encoded as %s" msgstr "如果使用 %2$s 编码,禁止在 '%1$s' 中使用 BOM" -#: convert.c:286 +#: convert.c:291 #, c-format msgid "" -"The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-" -"tree-encoding." -msgstr "文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%s 作为工作区编码。" +"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as " +"working-tree-encoding." +msgstr "" +"文件 '%s' 包含一个字节顺序标记(BOM)。请使用 UTF-%.*s 作为工作区编码。" #: convert.c:304 #, c-format @@ -2292,117 +2952,117 @@ msgstr "" "文件 '%s' 缺失一个字节顺序标记(BOM)。请使用 UTF-%sBE or UTF-%sLE(取决于字" "节序)作为工作区编码。" -#: convert.c:424 convert.c:495 +#: convert.c:419 convert.c:490 #, c-format msgid "failed to encode '%s' from %s to %s" msgstr "无法对 '%s' 进行从 %s 到 %s 的编码" -#: convert.c:467 +#: convert.c:462 #, c-format msgid "encoding '%s' from %s to %s and back is not the same" msgstr "将'%s' 的编码从 %s 到 %s 来回转换不一致" -#: convert.c:673 +#: convert.c:668 #, c-format msgid "cannot fork to run external filter '%s'" msgstr "不能 fork 以执行外部过滤器 '%s'" -#: convert.c:693 +#: convert.c:688 #, c-format msgid "cannot feed the input to external filter '%s'" msgstr "不能将输入传递给外部过滤器 '%s'" -#: convert.c:700 +#: convert.c:695 #, c-format msgid "external filter '%s' failed %d" msgstr "外部过滤器 '%s' 失败码 %d" -#: convert.c:735 convert.c:738 +#: convert.c:730 convert.c:733 #, c-format msgid "read from external filter '%s' failed" msgstr "从外部过滤器 '%s' 读取失败" -#: convert.c:741 convert.c:796 +#: convert.c:736 convert.c:791 #, c-format msgid "external filter '%s' failed" msgstr "外部过滤器 '%s' 失败" -#: convert.c:844 +#: convert.c:839 msgid "unexpected filter type" msgstr "意外的过滤类型" -#: convert.c:855 +#: convert.c:850 msgid "path name too long for external filter" msgstr "外部过滤器的路径名太长" -#: convert.c:929 +#: convert.c:924 #, c-format msgid "" "external filter '%s' is not available anymore although not all paths have " "been filtered" msgstr "外部过滤器 '%s' 不再可用,但并非所有路径都已过滤" -#: convert.c:1228 +#: convert.c:1223 msgid "true/false are no valid working-tree-encodings" msgstr "true/false 不是有效的工作区编码" -#: convert.c:1398 convert.c:1432 +#: convert.c:1411 convert.c:1445 #, c-format msgid "%s: clean filter '%s' failed" msgstr "%s:clean 过滤器 '%s' 失败" -#: convert.c:1476 +#: convert.c:1489 #, c-format msgid "%s: smudge filter %s failed" msgstr "%s:smudge 过滤器 %s 失败" -#: date.c:137 +#: date.c:138 msgid "in the future" msgstr "在将来" -#: date.c:143 +#: date.c:144 #, c-format msgid "% second ago" msgid_plural "% seconds ago" msgstr[0] "% 秒钟前" msgstr[1] "% 秒钟前" -#: date.c:150 +#: date.c:151 #, c-format msgid "% minute ago" msgid_plural "% minutes ago" msgstr[0] "% 分钟前" msgstr[1] "% 分钟前" -#: date.c:157 +#: date.c:158 #, c-format msgid "% hour ago" msgid_plural "% hours ago" msgstr[0] "% 小时前" msgstr[1] "% 小时前" -#: date.c:164 +#: date.c:165 #, c-format msgid "% day ago" msgid_plural "% days ago" msgstr[0] "% 天前" msgstr[1] "% 天前" -#: date.c:170 +#: date.c:171 #, c-format msgid "% week ago" msgid_plural "% weeks ago" msgstr[0] "% 周前" msgstr[1] "% 周前" -#: date.c:177 +#: date.c:178 #, c-format msgid "% month ago" msgid_plural "% months ago" msgstr[0] "% 个月前" msgstr[1] "% 个月前" -#: date.c:188 +#: date.c:189 #, c-format msgid "% year" msgid_plural "% years" @@ -2410,14 +3070,14 @@ msgstr[0] "% 年" msgstr[1] "% 年" #. TRANSLATORS: "%s" is " years" -#: date.c:191 +#: date.c:192 #, c-format msgid "%s, % month ago" msgid_plural "%s, % months ago" msgstr[0] "%s % 个月前" msgstr[1] "%s % 个月前" -#: date.c:196 date.c:201 +#: date.c:197 date.c:202 #, c-format msgid "% year ago" msgid_plural "% years ago" @@ -2453,7 +3113,7 @@ msgstr "已标记 %d 个数据岛,结束。\n" msgid "failed to read orderfile '%s'" msgstr "读取排序文件 '%s' 失败" -#: diffcore-rename.c:544 +#: diffcore-rename.c:543 msgid "Performing inexact rename detection" msgstr "正在进行非精确的重命名探测" @@ -2516,35 +3176,35 @@ msgstr "" "发现配置变量 'diff.dirstat' 中的错误:\n" "%s" -#: diff.c:4215 +#: diff.c:4202 #, c-format msgid "external diff died, stopping at %s" msgstr "外部 diff 退出,停止在 %s" -#: diff.c:4560 +#: diff.c:4547 msgid "--name-only, --name-status, --check and -s are mutually exclusive" msgstr "--name-only、--name-status、--check 和 -s 是互斥的" -#: diff.c:4563 +#: diff.c:4550 msgid "-G, -S and --find-object are mutually exclusive" msgstr "-G、-S 和 --find-object 是互斥的" -#: diff.c:4641 +#: diff.c:4628 msgid "--follow requires exactly one pathspec" msgstr "--follow 明确要求只跟一个路径规格" -#: diff.c:4689 +#: diff.c:4676 #, c-format msgid "invalid --stat value: %s" msgstr "无效的 --stat 值:%s" -#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222 -#: parse-options.c:199 parse-options.c:203 +#: diff.c:4681 diff.c:4686 diff.c:4691 diff.c:4696 diff.c:5209 +#: parse-options.c:197 parse-options.c:201 #, c-format msgid "%s expects a numerical value" msgstr "%s 期望一个数字值" -#: diff.c:4726 +#: diff.c:4713 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -2553,195 +3213,195 @@ msgstr "" "无法解析 --dirstat/-X 选项的参数:\n" "%s" -#: diff.c:4811 +#: diff.c:4798 #, c-format msgid "unknown change class '%c' in --diff-filter=%s" msgstr "--diff-filter=%2$s 中未知的变更类 '%1$c'" -#: diff.c:4835 +#: diff.c:4822 #, c-format msgid "unknown value after ws-error-highlight=%.*s" msgstr "ws-error-highlight=%.*s 之后未知的值" -#: diff.c:4849 +#: diff.c:4836 #, c-format msgid "unable to resolve '%s'" msgstr "不能解析 '%s'" -#: diff.c:4899 diff.c:4905 +#: diff.c:4886 diff.c:4892 #, c-format msgid "%s expects / form" msgstr "%s 期望 / 格式" -#: diff.c:4917 +#: diff.c:4904 #, c-format msgid "%s expects a character, got '%s'" msgstr "%s 期望一个字符,得到 '%s'" -#: diff.c:4938 +#: diff.c:4925 #, c-format msgid "bad --color-moved argument: %s" msgstr "坏的 --color-moved 参数:%s" -#: diff.c:4957 +#: diff.c:4944 #, c-format msgid "invalid mode '%s' in --color-moved-ws" msgstr "--color-moved-ws 中的无效模式 '%s' " -#: diff.c:4997 +#: diff.c:4984 msgid "" "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and " "\"histogram\"" msgstr "" "diff-algorithm 选项有 \"myers\"、\"minimal\"、\"patience\" 和 \"histogram\"" -#: diff.c:5033 diff.c:5053 +#: diff.c:5020 diff.c:5040 #, c-format msgid "invalid argument to %s" msgstr "%s 的参数无效" -#: diff.c:5191 +#: diff.c:5178 #, c-format msgid "failed to parse --submodule option parameter: '%s'" msgstr "无法解析 --submodule 选项的参数:'%s'" -#: diff.c:5247 +#: diff.c:5234 #, c-format msgid "bad --word-diff argument: %s" msgstr "坏的 --word-diff 参数:%s" -#: diff.c:5270 +#: diff.c:5257 msgid "Diff output format options" msgstr "差异输出格式化选项" -#: diff.c:5272 diff.c:5278 +#: diff.c:5259 diff.c:5265 msgid "generate patch" msgstr "生成补丁" -#: diff.c:5275 builtin/log.c:172 +#: diff.c:5262 builtin/log.c:173 msgid "suppress diff output" msgstr "不显示差异输出" -#: diff.c:5280 diff.c:5394 diff.c:5401 +#: diff.c:5267 diff.c:5381 diff.c:5388 msgid "" msgstr "" -#: diff.c:5281 diff.c:5284 +#: diff.c:5268 diff.c:5271 msgid "generate diffs with lines context" msgstr "生成含 行上下文的差异" -#: diff.c:5286 +#: diff.c:5273 msgid "generate the diff in raw format" msgstr "生成原始格式的差异" -#: diff.c:5289 +#: diff.c:5276 msgid "synonym for '-p --raw'" msgstr "和 '-p --raw' 同义" -#: diff.c:5293 +#: diff.c:5280 msgid "synonym for '-p --stat'" msgstr "和 '-p --stat' 同义" -#: diff.c:5297 +#: diff.c:5284 msgid "machine friendly --stat" msgstr "机器友好的 --stat" -#: diff.c:5300 +#: diff.c:5287 msgid "output only the last line of --stat" msgstr "只输出 --stat 的最后一行" -#: diff.c:5302 diff.c:5310 +#: diff.c:5289 diff.c:5297 msgid "..." msgstr "<参数1,参数2>..." -#: diff.c:5303 +#: diff.c:5290 msgid "" "output the distribution of relative amount of changes for each sub-directory" msgstr "输出每个子目录相对变更的分布" -#: diff.c:5307 +#: diff.c:5294 msgid "synonym for --dirstat=cumulative" msgstr "和 --dirstat=cumulative 同义" -#: diff.c:5311 +#: diff.c:5298 msgid "synonym for --dirstat=files,param1,param2..." msgstr "是 --dirstat=files,param1,param2... 的同义词" -#: diff.c:5315 +#: diff.c:5302 msgid "warn if changes introduce conflict markers or whitespace errors" msgstr "如果变更中引入冲突定界符或空白错误,给出警告" -#: diff.c:5318 +#: diff.c:5305 msgid "condensed summary such as creations, renames and mode changes" msgstr "精简摘要,例如创建、重命名和模式变更" -#: diff.c:5321 +#: diff.c:5308 msgid "show only names of changed files" msgstr "只显示变更文件的文件名" -#: diff.c:5324 +#: diff.c:5311 msgid "show only names and status of changed files" msgstr "只显示变更文件的文件名和状态" -#: diff.c:5326 +#: diff.c:5313 msgid "[,[,]]" msgstr "<宽度>[,<文件名宽度>[,<次数>]]" -#: diff.c:5327 +#: diff.c:5314 msgid "generate diffstat" msgstr "生成差异统计(diffstat)" -#: diff.c:5329 diff.c:5332 diff.c:5335 +#: diff.c:5316 diff.c:5319 diff.c:5322 msgid "" msgstr "<宽度>" -#: diff.c:5330 +#: diff.c:5317 msgid "generate diffstat with a given width" msgstr "使用给定的长度生成差异统计" -#: diff.c:5333 +#: diff.c:5320 msgid "generate diffstat with a given name width" msgstr "使用给定的文件名长度生成差异统计" -#: diff.c:5336 +#: diff.c:5323 msgid "generate diffstat with a given graph width" msgstr "使用给定的图形长度生成差异统计" -#: diff.c:5338 +#: diff.c:5325 msgid "" msgstr "<次数>" -#: diff.c:5339 +#: diff.c:5326 msgid "generate diffstat with limited lines" msgstr "生成有限行数的差异统计" -#: diff.c:5342 +#: diff.c:5329 msgid "generate compact summary in diffstat" msgstr "生成差异统计的简洁摘要" -#: diff.c:5345 +#: diff.c:5332 msgid "output a binary diff that can be applied" msgstr "输出一个可以应用的二进制差异" -#: diff.c:5348 +#: diff.c:5335 msgid "show full pre- and post-image object names on the \"index\" lines" msgstr "在 \"index\" 行显示完整的前后对象名称" -#: diff.c:5350 +#: diff.c:5337 msgid "show colored diff" msgstr "显示带颜色的差异" -#: diff.c:5351 +#: diff.c:5338 msgid "" msgstr "<类型>" -#: diff.c:5352 +#: diff.c:5339 msgid "" "highlight whitespace errors in the 'context', 'old' or 'new' lines in the " "diff" msgstr "对于差异中的上下文、旧的和新的行,加亮显示错误的空白字符" -#: diff.c:5355 +#: diff.c:5342 msgid "" "do not munge pathnames and use NULs as output field terminators in --raw or " "--numstat" @@ -2749,334 +3409,353 @@ msgstr "" "在 --raw 或者 --numstat 中,不对路径字符转码并使用 NUL 字符做为输出字段的分隔" "符" -#: diff.c:5358 diff.c:5361 diff.c:5364 diff.c:5470 +#: diff.c:5345 diff.c:5348 diff.c:5351 diff.c:5457 msgid "" msgstr "<前缀>" -#: diff.c:5359 +#: diff.c:5346 msgid "show the given source prefix instead of \"a/\"" msgstr "显示给定的源前缀取代 \"a/\"" -#: diff.c:5362 +#: diff.c:5349 msgid "show the given destination prefix instead of \"b/\"" msgstr "显示给定的目标前缀取代 \"b/\"" -#: diff.c:5365 +#: diff.c:5352 msgid "prepend an additional prefix to every line of output" msgstr "输出的每一行附加前缀" -#: diff.c:5368 +#: diff.c:5355 msgid "do not show any source or destination prefix" msgstr "不显示任何源和目标前缀" -#: diff.c:5371 +#: diff.c:5358 msgid "show context between diff hunks up to the specified number of lines" msgstr "显示指定行数的差异块间的上下文" -#: diff.c:5375 diff.c:5380 diff.c:5385 +#: diff.c:5362 diff.c:5367 diff.c:5372 msgid "" msgstr "<字符>" -#: diff.c:5376 +#: diff.c:5363 msgid "specify the character to indicate a new line instead of '+'" msgstr "指定一个字符取代 '+' 来表示新的一行" -#: diff.c:5381 +#: diff.c:5368 msgid "specify the character to indicate an old line instead of '-'" msgstr "指定一个字符取代 '-' 来表示旧的一行" -#: diff.c:5386 +#: diff.c:5373 msgid "specify the character to indicate a context instead of ' '" msgstr "指定一个字符取代 ' ' 来表示一行上下文" -#: diff.c:5389 +#: diff.c:5376 msgid "Diff rename options" msgstr "差异重命名选项" -#: diff.c:5390 +#: diff.c:5377 msgid "[/]" msgstr "[/]" -#: diff.c:5391 +#: diff.c:5378 msgid "break complete rewrite changes into pairs of delete and create" msgstr "将完全重写的变更打破为成对的删除和创建" -#: diff.c:5395 +#: diff.c:5382 msgid "detect renames" msgstr "检测重命名" -#: diff.c:5399 +#: diff.c:5386 msgid "omit the preimage for deletes" msgstr "省略删除操作的差异输出" -#: diff.c:5402 +#: diff.c:5389 msgid "detect copies" msgstr "检测拷贝" -#: diff.c:5406 +#: diff.c:5393 msgid "use unmodified files as source to find copies" msgstr "使用未修改的文件做为发现拷贝的源" -#: diff.c:5408 +#: diff.c:5395 msgid "disable rename detection" msgstr "禁用重命名探测" -#: diff.c:5411 +#: diff.c:5398 msgid "use empty blobs as rename source" msgstr "使用空的数据对象做为重命名的源" -#: diff.c:5413 +#: diff.c:5400 msgid "continue listing the history of a file beyond renames" msgstr "继续列出文件重命名以外的历史记录" -#: diff.c:5416 +#: diff.c:5403 msgid "" "prevent rename/copy detection if the number of rename/copy targets exceeds " "given limit" msgstr "如果重命名/拷贝目标超过给定的限制,禁止重命名/拷贝检测" -#: diff.c:5418 +#: diff.c:5405 msgid "Diff algorithm options" msgstr "差异算法选项" -#: diff.c:5420 +#: diff.c:5407 msgid "produce the smallest possible diff" msgstr "生成尽可能小的差异" -#: diff.c:5423 +#: diff.c:5410 msgid "ignore whitespace when comparing lines" msgstr "行比较时忽略空白字符" -#: diff.c:5426 +#: diff.c:5413 msgid "ignore changes in amount of whitespace" msgstr "忽略空白字符的变更" -#: diff.c:5429 +#: diff.c:5416 msgid "ignore changes in whitespace at EOL" msgstr "忽略行尾的空白字符变更" -#: diff.c:5432 +#: diff.c:5419 msgid "ignore carrier-return at the end of line" msgstr "忽略行尾的回车符(CR)" -#: diff.c:5435 +#: diff.c:5422 msgid "ignore changes whose lines are all blank" msgstr "忽略整行都是空白的变更" -#: diff.c:5438 +#: diff.c:5425 msgid "heuristic to shift diff hunk boundaries for easy reading" msgstr "启发式转换差异边界以便阅读" -#: diff.c:5441 +#: diff.c:5428 msgid "generate diff using the \"patience diff\" algorithm" msgstr "使用 \"patience diff\" 算法生成差异" -#: diff.c:5445 +#: diff.c:5432 msgid "generate diff using the \"histogram diff\" algorithm" msgstr "使用 \"histogram diff\" 算法生成差异" -#: diff.c:5447 +#: diff.c:5434 msgid "" msgstr "<算法>" -#: diff.c:5448 +#: diff.c:5435 msgid "choose a diff algorithm" msgstr "选择一个差异算法" -#: diff.c:5450 +#: diff.c:5437 msgid "" msgstr "<文本>" -#: diff.c:5451 +#: diff.c:5438 msgid "generate diff using the \"anchored diff\" algorithm" msgstr "使用 \"anchored diff\" 算法生成差异" -#: diff.c:5453 diff.c:5462 diff.c:5465 +#: diff.c:5440 diff.c:5449 diff.c:5452 msgid "" msgstr "<模式>" -#: diff.c:5454 +#: diff.c:5441 msgid "show word diff, using to delimit changed words" msgstr "显示单词差异,使用 <模式> 分隔变更的单词" -#: diff.c:5456 diff.c:5459 diff.c:5504 +#: diff.c:5443 diff.c:5446 diff.c:5491 msgid "" msgstr "<正则>" -#: diff.c:5457 +#: diff.c:5444 msgid "use to decide what a word is" msgstr "使用 <正则表达式> 确定何为一个词" -#: diff.c:5460 +#: diff.c:5447 msgid "equivalent to --word-diff=color --word-diff-regex=" msgstr "相当于 --word-diff=color --word-diff-regex=<正则>" -#: diff.c:5463 +#: diff.c:5450 msgid "moved lines of code are colored differently" msgstr "移动的代码行用不同方式着色" -#: diff.c:5466 +#: diff.c:5453 msgid "how white spaces are ignored in --color-moved" msgstr "在 --color-moved 下如何忽略空白字符" -#: diff.c:5469 +#: diff.c:5456 msgid "Other diff options" msgstr "其它差异选项" -#: diff.c:5471 +#: diff.c:5458 msgid "when run from subdir, exclude changes outside and show relative paths" msgstr "当从子目录运行,排除目录之外的变更并显示相对路径" -#: diff.c:5475 +#: diff.c:5462 msgid "treat all files as text" msgstr "把所有文件当做文本处理" -#: diff.c:5477 +#: diff.c:5464 msgid "swap two inputs, reverse the diff" msgstr "交换两个输入,反转差异" -#: diff.c:5479 +#: diff.c:5466 msgid "exit with 1 if there were differences, 0 otherwise" msgstr "有差异时退出码为 1,否则为 0" -#: diff.c:5481 +#: diff.c:5468 msgid "disable all output of the program" msgstr "禁用本程序的所有输出" -#: diff.c:5483 +#: diff.c:5470 msgid "allow an external diff helper to be executed" msgstr "允许执行一个外置的差异助手" -#: diff.c:5485 +#: diff.c:5472 msgid "run external text conversion filters when comparing binary files" msgstr "当比较二进制文件时,运行外部的文本转换过滤器" -#: diff.c:5487 +#: diff.c:5474 msgid "" msgstr "<何时>" -#: diff.c:5488 +#: diff.c:5475 msgid "ignore changes to submodules in the diff generation" msgstr "在生成差异时,忽略子模组的更改" -#: diff.c:5491 +#: diff.c:5478 msgid "" msgstr "<格式>" -#: diff.c:5492 +#: diff.c:5479 msgid "specify how differences in submodules are shown" msgstr "指定子模组的差异如何显示" -#: diff.c:5496 +#: diff.c:5483 msgid "hide 'git add -N' entries from the index" msgstr "隐藏索引中 'git add -N' 条目" -#: diff.c:5499 +#: diff.c:5486 msgid "treat 'git add -N' entries as real in the index" msgstr "将索引中 'git add -N' 条目当做真实的" -#: diff.c:5501 +#: diff.c:5488 msgid "" msgstr "<字符串>" -#: diff.c:5502 +#: diff.c:5489 msgid "" "look for differences that change the number of occurrences of the specified " "string" msgstr "查找改变了指定字符串出现次数的差异" -#: diff.c:5505 +#: diff.c:5492 msgid "" "look for differences that change the number of occurrences of the specified " "regex" msgstr "查找改变指定正则匹配出现次数的差异" -#: diff.c:5508 +#: diff.c:5495 msgid "show all changes in the changeset with -S or -G" msgstr "显示使用 -S 或 -G 的变更集的所有变更" -#: diff.c:5511 +#: diff.c:5498 msgid "treat in -S as extended POSIX regular expression" msgstr "将 -S 的 当做扩展的 POSIX 正则表达式" -#: diff.c:5514 +#: diff.c:5501 msgid "control the order in which files appear in the output" msgstr "控制输出中的文件显示顺序" -#: diff.c:5515 +#: diff.c:5502 msgid "" msgstr "<对象 ID>" -#: diff.c:5516 +#: diff.c:5503 msgid "" "look for differences that change the number of occurrences of the specified " "object" msgstr "查找改变指定对象出现次数的差异" -#: diff.c:5518 +#: diff.c:5505 msgid "[(A|C|D|M|R|T|U|X|B)...[*]]" msgstr "[(A|C|D|M|R|T|U|X|B)...[*]]" -#: diff.c:5519 +#: diff.c:5506 msgid "select files by diff type" msgstr "通过差异类型选择文件" -#: diff.c:5521 +#: diff.c:5508 msgid "" msgstr "<文件>" -#: diff.c:5522 +#: diff.c:5509 msgid "Output to a specific file" msgstr "输出到一个指定的文件" -#: diff.c:6177 +#: diff.c:6164 msgid "inexact rename detection was skipped due to too many files." msgstr "因为文件太多,略过不严格的重命名检查。" -#: diff.c:6180 +#: diff.c:6167 msgid "only found copies from modified paths due to too many files." msgstr "因为文件太多,只在修改的路径中查找拷贝。" -#: diff.c:6183 +#: diff.c:6170 #, c-format msgid "" "you may want to set your %s variable to at least %d and retry the command." msgstr "您可能想要将变量 %s 设置为至少 %d 并再次执行此命令。" -#: dir.c:537 +#: dir.c:555 #, c-format msgid "pathspec '%s' did not match any file(s) known to git" msgstr "路径规格 '%s' 未匹配任何 git 已知文件" -#: dir.c:926 +#: dir.c:695 dir.c:724 dir.c:737 +#, c-format +msgid "unrecognized pattern: '%s'" +msgstr "未识别的模式:'%s'" + +#: dir.c:754 dir.c:768 +#, c-format +msgid "unrecognized negative pattern: '%s'" +msgstr "未识别的反向模式:'%s'" + +#: dir.c:786 +#, c-format +msgid "your sparse-checkout file may have issues: pattern '%s' is repeated" +msgstr "您的 sparse-checkout 文件可能有问题:重复的模式 '%s'" + +#: dir.c:796 +msgid "disabling cone pattern matching" +msgstr "禁止 cone 模式匹配" + +#: dir.c:1173 #, c-format msgid "cannot use %s as an exclude file" msgstr "不能将 %s 用作排除文件" -#: dir.c:1843 +#: dir.c:2144 #, c-format msgid "could not open directory '%s'" msgstr "不能打开目录 '%s'" -#: dir.c:2085 +#: dir.c:2479 msgid "failed to get kernel name and information" msgstr "无法获得内核名称和信息" -#: dir.c:2209 +#: dir.c:2603 msgid "untracked cache is disabled on this system or location" msgstr "缓存未跟踪文件在本系统或位置中被禁用" -#: dir.c:3013 +#: dir.c:3407 #, c-format msgid "index file corrupt in repo %s" msgstr "仓库 %s 中的索引文件损坏" -#: dir.c:3058 dir.c:3063 +#: dir.c:3452 dir.c:3457 #, c-format msgid "could not create directories for %s" msgstr "不能为 %s 创建目录" -#: dir.c:3092 +#: dir.c:3486 #, c-format msgid "could not migrate git directory from '%s' to '%s'" msgstr "不能从 '%s' 迁移 git 目录到 '%s'" @@ -3095,12 +3774,12 @@ msgstr "过滤内容" msgid "could not stat file '%s'" msgstr "不能对文件 '%s' 调用 stat" -#: environment.c:150 +#: environment.c:149 #, c-format msgid "bad git namespace path \"%s\"" msgstr "错误的 git 名字空间路径 \"%s\"" -#: environment.c:332 +#: environment.c:331 #, c-format msgid "could not set GIT_DIR to '%s'" msgstr "不能设置 GIT_DIR 为 '%s'" @@ -3110,265 +3789,269 @@ msgstr "不能设置 GIT_DIR 为 '%s'" msgid "too many args to run %s" msgstr "执行 %s 的参数太多" -#: fetch-object.c:17 -msgid "Remote with no URL" -msgstr "远程未设置 URL" - -#: fetch-pack.c:151 +#: fetch-pack.c:150 msgid "git fetch-pack: expected shallow list" msgstr "git fetch-pack:应为 shallow 列表" -#: fetch-pack.c:154 +#: fetch-pack.c:153 msgid "git fetch-pack: expected a flush packet after shallow list" msgstr "git fetch-pack:在浅克隆列表之后期望一个 flush 包" -#: fetch-pack.c:165 +#: fetch-pack.c:164 msgid "git fetch-pack: expected ACK/NAK, got a flush packet" msgstr "git fetch-pack:期望 ACK/NAK,却得到 flush 包" -#: fetch-pack.c:185 +#: fetch-pack.c:184 #, c-format msgid "git fetch-pack: expected ACK/NAK, got '%s'" msgstr "git fetch-pack:应为 ACK/NAK,却得到 '%s'" -#: fetch-pack.c:196 +#: fetch-pack.c:195 msgid "unable to write to remote" msgstr "无法写到远程" -#: fetch-pack.c:258 +#: fetch-pack.c:257 msgid "--stateless-rpc requires multi_ack_detailed" msgstr "--stateless-rpc 需要 multi_ack_detailed" -#: fetch-pack.c:360 fetch-pack.c:1284 +#: fetch-pack.c:356 fetch-pack.c:1340 #, c-format msgid "invalid shallow line: %s" msgstr "无效的 shallow 信息:%s" -#: fetch-pack.c:366 fetch-pack.c:1290 +#: fetch-pack.c:362 fetch-pack.c:1346 #, c-format msgid "invalid unshallow line: %s" msgstr "无效的 unshallow 信息:%s" -#: fetch-pack.c:368 fetch-pack.c:1292 +#: fetch-pack.c:364 fetch-pack.c:1348 #, c-format msgid "object not found: %s" msgstr "对象未找到:%s" -#: fetch-pack.c:371 fetch-pack.c:1295 +#: fetch-pack.c:367 fetch-pack.c:1351 #, c-format msgid "error in object: %s" msgstr "对象中出错:%s" -#: fetch-pack.c:373 fetch-pack.c:1297 +#: fetch-pack.c:369 fetch-pack.c:1353 #, c-format msgid "no shallow found: %s" msgstr "未发现 shallow:%s" -#: fetch-pack.c:376 fetch-pack.c:1301 +#: fetch-pack.c:372 fetch-pack.c:1357 #, c-format msgid "expected shallow/unshallow, got %s" msgstr "应为 shallow/unshallow,却得到 %s" -#: fetch-pack.c:417 +#: fetch-pack.c:414 #, c-format msgid "got %s %d %s" msgstr "得到 %s %d %s" -#: fetch-pack.c:434 +#: fetch-pack.c:431 #, c-format msgid "invalid commit %s" msgstr "无效提交 %s" -#: fetch-pack.c:465 +#: fetch-pack.c:462 msgid "giving up" msgstr "放弃" -#: fetch-pack.c:477 progress.c:277 +#: fetch-pack.c:475 progress.c:323 msgid "done" msgstr "完成" -#: fetch-pack.c:489 +#: fetch-pack.c:487 #, c-format msgid "got %s (%d) %s" msgstr "得到 %s (%d) %s" -#: fetch-pack.c:535 +#: fetch-pack.c:533 #, c-format msgid "Marking %s as complete" msgstr "标记 %s 为完成" -#: fetch-pack.c:744 +#: fetch-pack.c:754 #, c-format msgid "already have %s (%s)" msgstr "已经有 %s(%s)" -#: fetch-pack.c:783 +#: fetch-pack.c:818 msgid "fetch-pack: unable to fork off sideband demultiplexer" msgstr "fetch-pack:无法派生 sideband 多路输出" -#: fetch-pack.c:791 +#: fetch-pack.c:826 msgid "protocol error: bad pack header" msgstr "协议错误:坏的包头" -#: fetch-pack.c:859 +#: fetch-pack.c:900 #, c-format msgid "fetch-pack: unable to fork off %s" msgstr "fetch-pack:无法派生进程 %s" -#: fetch-pack.c:875 +#: fetch-pack.c:916 #, c-format msgid "%s failed" msgstr "%s 失败" -#: fetch-pack.c:877 +#: fetch-pack.c:918 msgid "error in sideband demultiplexer" msgstr "sideband 多路输出出错" -#: fetch-pack.c:908 +#: fetch-pack.c:965 #, c-format msgid "Server version is %.*s" msgstr "服务器版本 %.*s" -#: fetch-pack.c:913 fetch-pack.c:919 fetch-pack.c:922 fetch-pack.c:928 -#: fetch-pack.c:932 fetch-pack.c:936 fetch-pack.c:940 fetch-pack.c:944 -#: fetch-pack.c:948 fetch-pack.c:952 fetch-pack.c:956 fetch-pack.c:960 -#: fetch-pack.c:966 fetch-pack.c:972 fetch-pack.c:977 fetch-pack.c:982 +#: fetch-pack.c:970 fetch-pack.c:976 fetch-pack.c:979 fetch-pack.c:985 +#: fetch-pack.c:989 fetch-pack.c:993 fetch-pack.c:997 fetch-pack.c:1001 +#: fetch-pack.c:1005 fetch-pack.c:1009 fetch-pack.c:1013 fetch-pack.c:1017 +#: fetch-pack.c:1023 fetch-pack.c:1029 fetch-pack.c:1034 fetch-pack.c:1039 #, c-format msgid "Server supports %s" msgstr "服务器支持 %s" -#: fetch-pack.c:915 +#: fetch-pack.c:972 msgid "Server does not support shallow clients" msgstr "服务器不支持 shalllow 客户端" -#: fetch-pack.c:975 +#: fetch-pack.c:1032 msgid "Server does not support --shallow-since" msgstr "服务器不支持 --shallow-since" -#: fetch-pack.c:980 +#: fetch-pack.c:1037 msgid "Server does not support --shallow-exclude" msgstr "服务器不支持 --shallow-exclude" -#: fetch-pack.c:984 +#: fetch-pack.c:1041 msgid "Server does not support --deepen" msgstr "服务器不支持 --deepen" -#: fetch-pack.c:1001 +#: fetch-pack.c:1058 msgid "no common commits" msgstr "没有共同的提交" -#: fetch-pack.c:1013 fetch-pack.c:1462 +#: fetch-pack.c:1070 fetch-pack.c:1536 msgid "git fetch-pack: fetch failed." msgstr "git fetch-pack:获取失败。" -#: fetch-pack.c:1151 +#: fetch-pack.c:1209 msgid "Server does not support shallow requests" msgstr "服务器不支持 shalllow 请求" -#: fetch-pack.c:1157 +#: fetch-pack.c:1216 msgid "Server supports filter" msgstr "服务器支持 filter" -#: fetch-pack.c:1184 +#: fetch-pack.c:1239 msgid "unable to write request to remote" msgstr "无法将请求写到远程" -#: fetch-pack.c:1202 +#: fetch-pack.c:1257 #, c-format msgid "error reading section header '%s'" msgstr "读取节标题 '%s' 出错" -#: fetch-pack.c:1208 +#: fetch-pack.c:1263 #, c-format msgid "expected '%s', received '%s'" msgstr "预期 '%s',得到 '%s'" -#: fetch-pack.c:1247 +#: fetch-pack.c:1303 #, c-format msgid "unexpected acknowledgment line: '%s'" msgstr "意外的确认行:'%s'" -#: fetch-pack.c:1252 +#: fetch-pack.c:1308 #, c-format msgid "error processing acks: %d" msgstr "处理 ack 出错:%d" -#: fetch-pack.c:1262 +#: fetch-pack.c:1318 msgid "expected packfile to be sent after 'ready'" msgstr "预期在 'ready' 之后发送 packfile" -#: fetch-pack.c:1264 +#: fetch-pack.c:1320 msgid "expected no other sections to be sent after no 'ready'" msgstr "在没有 'ready' 不应该发送其它小节" -#: fetch-pack.c:1306 +#: fetch-pack.c:1362 #, c-format msgid "error processing shallow info: %d" msgstr "处理浅克隆信息出错:%d" -#: fetch-pack.c:1353 +#: fetch-pack.c:1409 #, c-format msgid "expected wanted-ref, got '%s'" msgstr "预期 wanted-ref,得到 '%s'" -#: fetch-pack.c:1358 +#: fetch-pack.c:1414 #, c-format msgid "unexpected wanted-ref: '%s'" msgstr "意外的 wanted-ref:'%s'" -#: fetch-pack.c:1363 +#: fetch-pack.c:1419 #, c-format msgid "error processing wanted refs: %d" msgstr "处理要获取的引用出错:%d" -#: fetch-pack.c:1689 +#: fetch-pack.c:1762 msgid "no matching remote head" msgstr "没有匹配的远程分支" -#: fetch-pack.c:1712 builtin/clone.c:686 +#: fetch-pack.c:1785 builtin/clone.c:689 msgid "remote did not send all necessary objects" msgstr "远程没有发送所有必需的对象" -#: fetch-pack.c:1739 +#: fetch-pack.c:1812 #, c-format msgid "no such remote ref %s" msgstr "没有这样的远程引用 %s" -#: fetch-pack.c:1742 +#: fetch-pack.c:1815 #, c-format msgid "Server does not allow request for unadvertised object %s" msgstr "服务器不允许请求未公开的对象 %s" -#: gpg-interface.c:321 +#: gpg-interface.c:408 msgid "gpg failed to sign the data" -msgstr "gpg 无法为数据签名" +msgstr "gpg 数据签名失败" -#: gpg-interface.c:347 +#: gpg-interface.c:434 msgid "could not create temporary file" msgstr "不能创建临时文件" -#: gpg-interface.c:350 +#: gpg-interface.c:437 #, c-format msgid "failed writing detached signature to '%s'" msgstr "无法将分离式签名写入 '%s'" -#: graph.c:97 +#: graph.c:98 #, c-format msgid "ignore invalid color '%.*s' in log.graphColors" msgstr "忽略 log.graphColors 中无效的颜色 '%.*s'" -#: grep.c:2117 +#: grep.c:668 +msgid "" +"given pattern contains NULL byte (via -f ). This is only supported " +"with -P under PCRE v2" +msgstr "" +"给定的模式包含 NULL 字符(通过 -f <文件> 参数)。只有 PCRE v2 下的 -P 支持此" +"功能" + +#: grep.c:2128 #, c-format msgid "'%s': unable to read %s" msgstr "'%s':无法读取 %s" -#: grep.c:2134 setup.c:164 builtin/clone.c:409 builtin/diff.c:82 +#: grep.c:2145 setup.c:166 builtin/clone.c:411 builtin/diff.c:82 #: builtin/rm.c:135 #, c-format msgid "failed to stat '%s'" msgstr "对 '%s' 调用 stat 失败" -#: grep.c:2145 +#: grep.c:2156 #, c-format msgid "'%s': short read" msgstr "'%s':读取不完整" @@ -3418,7 +4101,7 @@ msgid "Low-level Commands / Interrogators" msgstr "低级命令/询问者" #: help.c:37 -msgid "Low-level Commands / Synching Repositories" +msgid "Low-level Commands / Syncing Repositories" msgstr "低级命令/同步仓库" #: help.c:38 @@ -3510,12 +4193,12 @@ msgstr[1] "" msgid "git version []" msgstr "git version [<选项>]" -#: help.c:782 +#: help.c:783 #, c-format msgid "%s: %s - %s" msgstr "%s:%s - %s" -#: help.c:786 +#: help.c:787 msgid "" "\n" "Did you mean this?" @@ -3582,46 +4265,61 @@ msgstr "不允许空的姓名(对于 <%s>)" msgid "name consists only of disallowed characters: %s" msgstr "姓名中仅包含禁用字符:%s" -#: ident.c:436 builtin/commit.c:611 +#: ident.c:436 builtin/commit.c:635 #, c-format msgid "invalid date format: %s" msgstr "无效的日期格式:%s" -#: list-objects.c:129 +#: list-objects.c:127 #, c-format msgid "entry '%s' in tree %s has tree mode, but is not a tree" msgstr "树 %2$s 中的条目 '%1$s' 具有树的属性,但不是一个树对象" -#: list-objects.c:142 +#: list-objects.c:140 #, c-format msgid "entry '%s' in tree %s has blob mode, but is not a blob" msgstr "树 %2$s 中的条目 '%1$s' 具有数据对象的属性,但不是一个数据对象" -#: list-objects.c:378 +#: list-objects.c:375 #, c-format msgid "unable to load root tree for commit %s" msgstr "无法为提交 %s 加载根树" -#: list-objects-filter-options.c:36 -msgid "multiple filter-specs cannot be combined" -msgstr "不能混用多种过滤规格" +#: list-objects-filter.c:492 +#, c-format +msgid "unable to access sparse blob in '%s'" +msgstr "不能访问 '%s' 中的稀疏数据对象" + +#: list-objects-filter.c:495 +#, c-format +msgid "unable to parse sparse filter data in %s" +msgstr "无法解析 %s 中的稀疏过滤器数据" #: list-objects-filter-options.c:58 msgid "expected 'tree:'" msgstr "期望 'tree:<深度>'" -#: list-objects-filter-options.c:84 +#: list-objects-filter-options.c:73 msgid "sparse:path filters support has been dropped" msgstr "sparse:path 过滤器支持已被删除" -#: list-objects-filter-options.c:94 +#: list-objects-filter-options.c:86 #, c-format msgid "invalid filter-spec '%s'" msgstr "无效的过滤器表达式 '%s'" -#: list-objects-filter-options.c:158 -msgid "cannot change partial clone promisor remote" -msgstr "无法修改部分克隆的 promisor 远程仓库" +#: list-objects-filter-options.c:102 +#, c-format +msgid "must escape char in sub-filter-spec: '%c'" +msgstr "必须对 sub-filter-spec 中的字符进行转义:'%c'" + +#: list-objects-filter-options.c:144 +msgid "expected something after combine:" +msgstr "期望在组合后有一些东西:" + +#: list-objects-filter-options.c:226 +msgid "multiple filter-specs cannot be combined" +msgstr "不能混用多种过滤规格" #: lockfile.c:151 #, c-format @@ -3650,114 +4348,110 @@ msgstr "不能创建 '%s.lock':%s" msgid "failed to read the cache" msgstr "读取缓存失败" -#: merge.c:107 rerere.c:720 builtin/am.c:1885 builtin/am.c:1919 -#: builtin/checkout.c:536 builtin/checkout.c:796 builtin/clone.c:786 -#: builtin/stash.c:264 +#: merge.c:107 rerere.c:720 builtin/am.c:1879 builtin/am.c:1913 +#: builtin/checkout.c:541 builtin/checkout.c:800 builtin/clone.c:810 +#: builtin/stash.c:265 msgid "unable to write new index file" msgstr "无法写新的索引文件" -#: merge-recursive.c:322 +#: merge-recursive.c:356 msgid "(bad commit)\n" msgstr "(坏提交)\n" -#: merge-recursive.c:345 +#: merge-recursive.c:379 #, c-format msgid "add_cacheinfo failed for path '%s'; merge aborting." msgstr "add_cacheinfo 对路径 '%s' 执行失败,合并终止。" -#: merge-recursive.c:354 +#: merge-recursive.c:388 #, c-format msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting." msgstr "add_cacheinfo 无法刷新路径 '%s',合并终止。" -#: merge-recursive.c:437 -msgid "error building trees" -msgstr "创建树出错" - -#: merge-recursive.c:863 +#: merge-recursive.c:874 #, c-format msgid "failed to create path '%s'%s" msgstr "创建路径 '%s'%s 失败" -#: merge-recursive.c:874 +#: merge-recursive.c:885 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "删除 %s 以便为子目录留出空间\n" -#: merge-recursive.c:888 merge-recursive.c:907 +#: merge-recursive.c:899 merge-recursive.c:918 msgid ": perhaps a D/F conflict?" msgstr ":可能是一个目录/文件冲突?" -#: merge-recursive.c:897 +#: merge-recursive.c:908 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "拒绝丢弃 '%s' 中的未跟踪文件" -#: merge-recursive.c:938 builtin/cat-file.c:40 +#: merge-recursive.c:949 builtin/cat-file.c:41 #, c-format msgid "cannot read object %s '%s'" msgstr "不能读取对象 %s '%s'" -#: merge-recursive.c:941 +#: merge-recursive.c:954 #, c-format msgid "blob expected for %s '%s'" msgstr "%s '%s' 应为数据对象" -#: merge-recursive.c:965 +#: merge-recursive.c:979 #, c-format msgid "failed to open '%s': %s" msgstr "打开 '%s' 失败:%s" -#: merge-recursive.c:976 +#: merge-recursive.c:990 #, c-format msgid "failed to symlink '%s': %s" msgstr "创建符号链接 '%s' 失败:%s" -#: merge-recursive.c:981 +#: merge-recursive.c:995 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "不知道如何处理 %06o %s '%s'" -#: merge-recursive.c:1177 +#: merge-recursive.c:1191 #, c-format msgid "Failed to merge submodule %s (not checked out)" msgstr "无法合并子模组 %s (没有检出)" -#: merge-recursive.c:1184 +#: merge-recursive.c:1198 #, c-format msgid "Failed to merge submodule %s (commits not present)" msgstr "无法合并子模组 %s(提交不存在)" -#: merge-recursive.c:1191 +#: merge-recursive.c:1205 #, c-format msgid "Failed to merge submodule %s (commits don't follow merge-base)" msgstr "无法合并子模组 %s (提交未跟随合并基线)" -#: merge-recursive.c:1199 merge-recursive.c:1211 +#: merge-recursive.c:1213 merge-recursive.c:1225 #, c-format msgid "Fast-forwarding submodule %s to the following commit:" msgstr "子模组 %s 快进到如下提交:" -#: merge-recursive.c:1202 merge-recursive.c:1214 +#: merge-recursive.c:1216 merge-recursive.c:1228 #, c-format msgid "Fast-forwarding submodule %s" msgstr "快进子模组 %s" -#: merge-recursive.c:1237 +#: merge-recursive.c:1251 #, c-format msgid "Failed to merge submodule %s (merge following commits not found)" msgstr "无法合并子模组 %s (没发现合并跟随的提交)" -#: merge-recursive.c:1241 +#: merge-recursive.c:1255 #, c-format msgid "Failed to merge submodule %s (not fast-forward)" msgstr "无法合并子模组 %s(非快进)" -#: merge-recursive.c:1242 +#: merge-recursive.c:1256 msgid "Found a possible merge resolution for the submodule:\n" msgstr "找到子模组的一个可能的合并方案:\n" -#: merge-recursive.c:1245 +#: merge-recursive.c:1259 #, c-format msgid "" "If this is correct simply add it to the index for example\n" @@ -3773,31 +4467,31 @@ msgstr "" "\n" "以接受此建议。\n" -#: merge-recursive.c:1254 +#: merge-recursive.c:1268 #, c-format msgid "Failed to merge submodule %s (multiple merges found)" msgstr "无法合并子模组 %s (发现多个合并)" -#: merge-recursive.c:1327 +#: merge-recursive.c:1341 msgid "Failed to execute internal merge" msgstr "无法执行内部合并" -#: merge-recursive.c:1332 +#: merge-recursive.c:1346 #, c-format msgid "Unable to add %s to database" msgstr "不能添加 %s 至对象库" -#: merge-recursive.c:1364 +#: merge-recursive.c:1378 #, c-format msgid "Auto-merging %s" msgstr "自动合并 %s" -#: merge-recursive.c:1387 +#: merge-recursive.c:1402 #, c-format msgid "Error: Refusing to lose untracked file at %s; writing to %s instead." msgstr "错误:拒绝丢失未跟踪文件 '%s',而是写入 %s。" -#: merge-recursive.c:1459 +#: merge-recursive.c:1474 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3806,7 +4500,7 @@ msgstr "" "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版" "本被保留。" -#: merge-recursive.c:1464 +#: merge-recursive.c:1479 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3815,7 +4509,7 @@ msgstr "" "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 " "%7$s 版本被保留。" -#: merge-recursive.c:1471 +#: merge-recursive.c:1486 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -3824,7 +4518,7 @@ msgstr "" "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %5$s 中被 %4$s。%7$s 的 %6$s 版" "本保留在 %8$s 中。" -#: merge-recursive.c:1476 +#: merge-recursive.c:1491 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s " @@ -3833,40 +4527,40 @@ msgstr "" "冲突(%1$s/删除):%2$s 在 %3$s 中被删除,在 %6$s 中的 %5$s 被 %4$s。%8$s 的 " "%7$s 版本保留在 %9$s 中。" -#: merge-recursive.c:1511 +#: merge-recursive.c:1526 msgid "rename" msgstr "重命名" -#: merge-recursive.c:1511 +#: merge-recursive.c:1526 msgid "renamed" msgstr "重命名" -#: merge-recursive.c:1591 merge-recursive.c:2450 merge-recursive.c:3094 +#: merge-recursive.c:1577 merge-recursive.c:2472 merge-recursive.c:3117 #, c-format msgid "Refusing to lose dirty file at %s" msgstr "拒绝丢失脏文件 '%s'" -#: merge-recursive.c:1601 +#: merge-recursive.c:1587 #, c-format msgid "Refusing to lose untracked file at %s, even though it's in the way." msgstr "拒绝在 '%s' 处失去未跟踪文件,即使它存在于重命名中。" -#: merge-recursive.c:1659 +#: merge-recursive.c:1645 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. Added %s in %s" msgstr "冲突(重命名/添加):在 %3$s 中重命名 %1$s->%2$s。在 %5$s 中添加 %4$s" -#: merge-recursive.c:1690 +#: merge-recursive.c:1676 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s 是 %s 中的一个目录而以 %s 为名被添加" -#: merge-recursive.c:1695 +#: merge-recursive.c:1681 #, c-format msgid "Refusing to lose untracked file at %s; adding as %s instead" msgstr "拒绝丢失未跟踪文件 '%s',而是添加为 %s" -#: merge-recursive.c:1714 +#: merge-recursive.c:1708 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -3875,18 +4569,18 @@ msgstr "" "冲突(重命名/重命名):在分支 \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\",在分支 " "\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s" -#: merge-recursive.c:1719 +#: merge-recursive.c:1713 msgid " (left unresolved)" msgstr "(留下未解决)" -#: merge-recursive.c:1828 +#: merge-recursive.c:1793 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "冲突(重命名/重命名):在 %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->" "%5$s" -#: merge-recursive.c:2035 +#: merge-recursive.c:2056 #, c-format msgid "" "CONFLICT (directory rename split): Unclear where to place %s because " @@ -3896,7 +4590,7 @@ msgstr "" "冲突(分割的目录重命名):不清楚 %s 应该放在哪里,因为目录 %s 被重命名到多个" "其它目录,没有目录包含大部分文件。" -#: merge-recursive.c:2067 +#: merge-recursive.c:2088 #, c-format msgid "" "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of " @@ -3905,7 +4599,7 @@ msgstr "" "冲突(隐式目录重命名):处于隐式目录重命名的现存文件/目录 %s,将以下路径放" "在:%s。" -#: merge-recursive.c:2077 +#: merge-recursive.c:2098 #, c-format msgid "" "CONFLICT (implicit dir rename): Cannot map more than one path to %s; " @@ -3914,7 +4608,7 @@ msgstr "" "冲突(隐式目录重命名):无法映射一个以上路径到 %s,隐式目录重命名尝试将这些路" "径放置于此:%s" -#: merge-recursive.c:2169 +#: merge-recursive.c:2190 #, c-format msgid "" "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-" @@ -3923,59 +4617,59 @@ msgstr "" "冲突(重命名/重命名):在 %3$s 中重命名目录 %1$s->%2$s,在 %6$s 中重命名目录 " "%4$s->%5$s" -#: merge-recursive.c:2413 +#: merge-recursive.c:2435 #, c-format msgid "" "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was " "renamed." msgstr "警告:避免应用 %s -> %s 的重命名到 %s,因为 %s 本身已被重命名。" -#: merge-recursive.c:2938 +#: merge-recursive.c:2961 #, c-format msgid "cannot read object %s" msgstr "不能读取对象 %s" -#: merge-recursive.c:2941 +#: merge-recursive.c:2964 #, c-format msgid "object %s is not a blob" msgstr "对象 %s 不是一个数据对象" -#: merge-recursive.c:3005 +#: merge-recursive.c:3028 msgid "modify" msgstr "修改" -#: merge-recursive.c:3005 +#: merge-recursive.c:3028 msgid "modified" msgstr "修改" -#: merge-recursive.c:3017 +#: merge-recursive.c:3040 msgid "content" msgstr "内容" -#: merge-recursive.c:3021 +#: merge-recursive.c:3044 msgid "add/add" msgstr "添加/添加" -#: merge-recursive.c:3044 +#: merge-recursive.c:3067 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "略过 %s(已经做过相同合并)" -#: merge-recursive.c:3066 git-submodule.sh:937 +#: merge-recursive.c:3089 git-submodule.sh:1003 msgid "submodule" msgstr "子模组" -#: merge-recursive.c:3067 +#: merge-recursive.c:3090 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "冲突(%s):合并冲突于 %s" -#: merge-recursive.c:3097 +#: merge-recursive.c:3120 #, c-format msgid "Adding as %s instead" msgstr "而是以 %s 为名添加" -#: merge-recursive.c:3179 +#: merge-recursive.c:3203 #, c-format msgid "" "Path updated: %s added in %s inside a directory that was renamed in %s; " @@ -3983,7 +4677,7 @@ msgid "" msgstr "" "路径已更新:%s 添加到 %s,位于一个被重命名到 %s 的目录中,将其移动到 %s。" -#: merge-recursive.c:3182 +#: merge-recursive.c:3206 #, c-format msgid "" "CONFLICT (file location): %s added in %s inside a directory that was renamed " @@ -3992,7 +4686,7 @@ msgstr "" "冲突(文件位置):%s 添加到 %s,位于一个被重命名为 %s 的目录中,建议将其移动" "到 %s。" -#: merge-recursive.c:3186 +#: merge-recursive.c:3210 #, c-format msgid "" "Path updated: %s renamed to %s in %s, inside a directory that was renamed in " @@ -4001,7 +4695,7 @@ msgstr "" "路径已更新:%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中,将其移" "动到 %5$s。" -#: merge-recursive.c:3189 +#: merge-recursive.c:3213 #, c-format msgid "" "CONFLICT (file location): %s renamed to %s in %s, inside a directory that " @@ -4010,224 +4704,240 @@ msgstr "" "冲突(文件位置):%1$s 重命名为 %3$s 中的 %2$s,而该目录被重命名到 %4$s 中," "建议将其移动到 %5$s。" -#: merge-recursive.c:3303 +#: merge-recursive.c:3327 #, c-format msgid "Removing %s" msgstr "删除 %s" -#: merge-recursive.c:3326 +#: merge-recursive.c:3350 msgid "file/directory" msgstr "文件/目录" -#: merge-recursive.c:3331 +#: merge-recursive.c:3355 msgid "directory/file" msgstr "目录/文件" -#: merge-recursive.c:3338 +#: merge-recursive.c:3362 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "冲突(%1$s):在 %3$s 中有一个名为 %2$s 的目录。以 %5$s 为名添加 %4$s" -#: merge-recursive.c:3347 +#: merge-recursive.c:3371 #, c-format msgid "Adding %s" msgstr "添加 %s" -#: merge-recursive.c:3356 +#: merge-recursive.c:3380 #, c-format msgid "CONFLICT (add/add): Merge conflict in %s" msgstr "冲突(add/add):合并冲突于 %s" -#: merge-recursive.c:3394 -#, c-format -msgid "" -"Your local changes to the following files would be overwritten by merge:\n" -" %s" -msgstr "" -"您对下列文件的本地修改将被合并操作覆盖:\n" -" %s" - -#: merge-recursive.c:3405 +#: merge-recursive.c:3424 msgid "Already up to date!" msgstr "已经是最新的!" -#: merge-recursive.c:3414 +#: merge-recursive.c:3433 #, c-format msgid "merging of trees %s and %s failed" msgstr "无法合并树 %s 和 %s" -#: merge-recursive.c:3513 +#: merge-recursive.c:3537 msgid "Merging:" msgstr "合并:" -#: merge-recursive.c:3526 +#: merge-recursive.c:3550 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "发现 %u 个共同祖先:" msgstr[1] "发现 %u 个共同祖先:" -#: merge-recursive.c:3565 +#: merge-recursive.c:3600 msgid "merge returned no commit" msgstr "合并未返回提交" -#: merge-recursive.c:3631 +#: merge-recursive.c:3659 +#, c-format +msgid "" +"Your local changes to the following files would be overwritten by merge:\n" +" %s" +msgstr "" +"您对下列文件的本地修改将被合并操作覆盖:\n" +" %s" + +#: merge-recursive.c:3756 #, c-format msgid "Could not parse object '%s'" msgstr "不能解析对象 '%s'" -#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869 +#: merge-recursive.c:3774 builtin/merge.c:697 builtin/merge.c:877 msgid "Unable to write index." msgstr "不能写入索引。" -#: midx.c:69 +#: midx.c:68 #, c-format msgid "multi-pack-index file %s is too small" msgstr "多包索引文件 %s 太小" -#: midx.c:85 +#: midx.c:84 #, c-format msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x" msgstr "多包索引签名 0x%08x 和签名 0x%08x 不匹配" -#: midx.c:90 +#: midx.c:89 #, c-format msgid "multi-pack-index version %d not recognized" msgstr "multi-pack-index 版本 %d 不能被识别" -#: midx.c:95 +#: midx.c:94 #, c-format msgid "hash version %u does not match" msgstr "散列版本 %u 不匹配" -#: midx.c:109 +#: midx.c:108 msgid "invalid chunk offset (too large)" msgstr "无效的块偏移(太大)" -#: midx.c:133 +#: midx.c:132 msgid "terminating multi-pack-index chunk id appears earlier than expected" msgstr "终止多包索引块 id 出现时间早于预期" -#: midx.c:146 +#: midx.c:145 msgid "multi-pack-index missing required pack-name chunk" msgstr "多包索引缺少必需的包名块" -#: midx.c:148 +#: midx.c:147 msgid "multi-pack-index missing required OID fanout chunk" msgstr "多包索引缺少必需的对象 ID 扇出块" -#: midx.c:150 +#: midx.c:149 msgid "multi-pack-index missing required OID lookup chunk" msgstr "多包索引缺少必需的对象 ID 查询块" -#: midx.c:152 +#: midx.c:151 msgid "multi-pack-index missing required object offsets chunk" msgstr "多包索引缺少必需的对象偏移块" -#: midx.c:166 +#: midx.c:165 #, c-format msgid "multi-pack-index pack names out of order: '%s' before '%s'" msgstr "多包索引包名无序:'%s' 在 '%s' 之前" -#: midx.c:211 +#: midx.c:210 #, c-format msgid "bad pack-int-id: %u (%u total packs)" msgstr "错的 pack-int-id:%u(共有 %u 个包)" -#: midx.c:261 +#: midx.c:260 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small" msgstr "多包索引存储一个64位偏移,但是 off_t 太小" -#: midx.c:289 +#: midx.c:288 msgid "error preparing packfile from multi-pack-index" msgstr "从多包索引准备 packfile 出错" -#: midx.c:470 +#: midx.c:472 #, c-format msgid "failed to add packfile '%s'" msgstr "添加包文件 '%s' 失败" -#: midx.c:476 +#: midx.c:478 #, c-format msgid "failed to open pack-index '%s'" msgstr "打开包索引 '%s' 失败" -#: midx.c:536 +#: midx.c:538 #, c-format msgid "failed to locate object %d in packfile" msgstr "在包文件中定位对象 %d 失败" -#: midx.c:865 +#: midx.c:842 +msgid "Adding packfiles to multi-pack-index" +msgstr "添加包文件到多包索引" + +#: midx.c:875 #, c-format msgid "did not see pack-file %s to drop" msgstr "没有看到要丢弃的包文件 %s" -#: midx.c:1036 +#: midx.c:973 +msgid "Writing chunks to multi-pack-index" +msgstr "写入块到多包索引" + +#: midx.c:1052 #, c-format msgid "failed to clear multi-pack-index at %s" msgstr "清理位于 %s 的多包索引失败" -#: midx.c:1091 +#: midx.c:1108 msgid "Looking for referenced packfiles" msgstr "正在查找引用的包文件" -#: midx.c:1106 +#: midx.c:1123 #, c-format msgid "" "oid fanout out of order: fanout[%d] = % > % = fanout[%d]" msgstr "对象 ID 扇出无序:fanout[%d] = % > % = fanout[%d]" -#: midx.c:1110 -msgid "Verifying OID order in MIDX" -msgstr "正在校验 MIDX 中的对象 ID 顺序" +#: midx.c:1128 +msgid "Verifying OID order in multi-pack-index" +msgstr "校验多包索引中的 OID 顺序" -#: midx.c:1119 +#: midx.c:1137 #, c-format msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]" msgstr "对象 ID 查询无序:oid[%d] = %s >= %s = oid[%d]" -#: midx.c:1138 +#: midx.c:1157 msgid "Sorting objects by packfile" msgstr "通过包文件为对象排序" -#: midx.c:1144 +#: midx.c:1164 msgid "Verifying object offsets" msgstr "校验对象偏移" -#: midx.c:1160 +#: midx.c:1180 #, c-format msgid "failed to load pack entry for oid[%d] = %s" msgstr "为 oid[%d] = %s 加载包条目失败" -#: midx.c:1166 +#: midx.c:1186 #, c-format msgid "failed to load pack-index for packfile %s" msgstr "为包文件 %s 加载包索引失败" -#: midx.c:1175 +#: midx.c:1195 #, c-format msgid "incorrect object offset for oid[%d] = %s: % != %" msgstr "oid[%d] = %s 错误的对象偏移:% != %" -#: midx.c:1350 +#: midx.c:1220 +msgid "Counting referenced objects" +msgstr "正在对引用对象计数" + +#: midx.c:1230 +msgid "Finding and deleting unreferenced packfiles" +msgstr "正在查找和删除未引用的包文件" + +#: midx.c:1388 msgid "could not start pack-objects" msgstr "不能开始 pack-objects" -#: midx.c:1369 +#: midx.c:1407 msgid "could not finish pack-objects" msgstr "不能结束 pack-objects" -#: name-hash.c:532 +#: name-hash.c:537 #, c-format msgid "unable to create lazy_dir thread: %s" msgstr "不能创建 lazy_dir 线程:%s" -#: name-hash.c:554 +#: name-hash.c:559 #, c-format msgid "unable to create lazy_name thread: %s" msgstr "不能创建 lazy_name 线程:%s" -#: name-hash.c:560 +#: name-hash.c:565 #, c-format msgid "unable to join lazy_name thread: %s" msgstr "不能加入 lasy_name 线程:%s" @@ -4271,32 +4981,32 @@ msgstr "拒绝向 %s(在 refs/notes/ 之外)写入注解" msgid "Bad %s value: '%s'" msgstr "坏的 %s 值:'%s'" -#: object.c:54 +#: object.c:53 #, c-format msgid "invalid object type \"%s\"" msgstr "无效的对象类型 \"%s\"" -#: object.c:174 +#: object.c:173 #, c-format msgid "object %s is a %s, not a %s" msgstr "对象 %s 是一个 %s,不是一个 %s" -#: object.c:234 +#: object.c:233 #, c-format msgid "object %s has unknown type id %d" msgstr "对象 %s 有未知的类型 id %d" -#: object.c:247 +#: object.c:246 #, c-format msgid "unable to parse object: %s" msgstr "不能解析对象:%s" -#: object.c:267 object.c:278 +#: object.c:266 object.c:278 #, c-format msgid "hash mismatch %s" msgstr "哈希值与 %s 不匹配" -#: packfile.c:648 +#: packfile.c:629 msgid "offset before end of packfile (broken .idx?)" msgstr "偏移量在包文件结束之前(损坏的 .idx?)" @@ -4310,6 +5020,11 @@ msgstr "偏移量在 %s 的包索引开始之前(损坏的索引?)" msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "偏移量越过了 %s 的包索引的结尾(被截断的索引?)" +#: pack-bitmap.c:800 pack-bitmap.c:806 builtin/pack-objects.c:2134 +#, c-format +msgid "unable to get size of %s" +msgstr "无法得到 %s 的大小" + #: parse-options.c:38 #, c-format msgid "%s requires a value" @@ -4325,7 +5040,7 @@ msgstr "%s 与 %s 不兼容" msgid "%s : incompatible with something else" msgstr "%s:和其它的不兼容" -#: parse-options.c:92 parse-options.c:96 parse-options.c:319 +#: parse-options.c:92 parse-options.c:96 parse-options.c:317 #, c-format msgid "%s takes no value" msgstr "%s 不取值" @@ -4335,41 +5050,41 @@ msgstr "%s 不取值" msgid "%s isn't available" msgstr "%s 不可用" -#: parse-options.c:219 +#: parse-options.c:217 #, c-format msgid "%s expects a non-negative integer value with an optional k/m/g suffix" msgstr "%s 期望一个非负整数和一个可选的 k/m/g 后缀" -#: parse-options.c:389 +#: parse-options.c:386 #, c-format msgid "ambiguous option: %s (could be --%s%s or --%s%s)" msgstr "有歧义的选项:%s(可以是 --%s%s 或 --%s%s)" -#: parse-options.c:423 parse-options.c:431 +#: parse-options.c:420 parse-options.c:428 #, c-format -msgid "did you mean `--%s` (with two dashes ?)" -msgstr "你的意思是 `--%s`(有两个短线?)" +msgid "did you mean `--%s` (with two dashes)?" +msgstr "你的意思是 `--%s`(有两个短线)?" -#: parse-options.c:859 +#: parse-options.c:857 #, c-format msgid "unknown option `%s'" msgstr "未知选项 `%s'" -#: parse-options.c:861 +#: parse-options.c:859 #, c-format msgid "unknown switch `%c'" msgstr "未知开关 `%c'" -#: parse-options.c:863 +#: parse-options.c:861 #, c-format msgid "unknown non-ascii option in string: `%s'" msgstr "字符串中未知的非 ascii 字符选项:`%s'" -#: parse-options.c:887 +#: parse-options.c:885 msgid "..." msgstr "..." -#: parse-options.c:906 +#: parse-options.c:904 #, c-format msgid "usage: %s" msgstr "用法:%s" @@ -4377,22 +5092,22 @@ msgstr "用法:%s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation. #. -#: parse-options.c:912 +#: parse-options.c:910 #, c-format msgid " or: %s" msgstr " 或:%s" # 译者:为保证在输出中对齐,注意调整句中空格! -#: parse-options.c:915 +#: parse-options.c:913 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:954 +#: parse-options.c:952 msgid "-NUM" msgstr "-数字" -#: parse-options.c:968 +#: parse-options.c:966 #, c-format msgid "alias of --%s" msgstr "--%s 的别名" @@ -4417,82 +5132,87 @@ msgstr "选项 `%s' 期望 \"always\"、\"auto\" 或 \"never\"" msgid "malformed object name '%s'" msgstr "格式错误的对象名 '%s'" -#: path.c:897 +#: path.c:915 #, c-format msgid "Could not make %s writable by group" msgstr "不能设置 %s 为组可写" -#: pathspec.c:128 +#: pathspec.c:130 msgid "Escape character '\\' not allowed as last character in attr value" msgstr "转义字符 '\\' 不能作为属性值的最后一个字符" -#: pathspec.c:146 +#: pathspec.c:148 msgid "Only one 'attr:' specification is allowed." msgstr "只允许一个 'attr:' 规格。" -#: pathspec.c:149 +#: pathspec.c:151 msgid "attr spec must not be empty" msgstr "属性规格不能为空" -#: pathspec.c:192 +#: pathspec.c:194 #, c-format msgid "invalid attribute name %s" msgstr "无效的属性名 %s" -#: pathspec.c:257 +#: pathspec.c:259 msgid "global 'glob' and 'noglob' pathspec settings are incompatible" msgstr "全局的 'glob' 和 'noglob' 路径规格设置不兼容" -#: pathspec.c:264 +#: pathspec.c:266 msgid "" "global 'literal' pathspec setting is incompatible with all other global " "pathspec settings" msgstr "全局的 'literal' 路径规格设置和其它的全局路径规格设置不兼容" -#: pathspec.c:304 +#: pathspec.c:306 msgid "invalid parameter for pathspec magic 'prefix'" msgstr "路径规格包含无效的神奇前缀" -#: pathspec.c:325 +#: pathspec.c:327 #, c-format msgid "Invalid pathspec magic '%.*s' in '%s'" msgstr "在路径规格 '%3$s' 中无效的神奇前缀 '%2$.*1$s'" -#: pathspec.c:330 +#: pathspec.c:332 #, c-format msgid "Missing ')' at the end of pathspec magic in '%s'" msgstr "路径规格 '%s' 的神奇前缀结尾少了一个 ')'" -#: pathspec.c:368 +#: pathspec.c:370 #, c-format msgid "Unimplemented pathspec magic '%c' in '%s'" msgstr "路径规格 '%2$s' 中包含未实现的神奇前缀 '%1$c'" -#: pathspec.c:427 +#: pathspec.c:429 #, c-format msgid "%s: 'literal' and 'glob' are incompatible" msgstr "%s:'literal' 和 'glob' 不兼容" -#: pathspec.c:440 +#: pathspec.c:442 #, c-format -msgid "%s: '%s' is outside repository" -msgstr "%s:'%s' 在仓库之外" +msgid "%s: '%s' is outside repository at '%s'" +msgstr "%s:'%s' 在位于 '%s' 的仓库之外" -#: pathspec.c:514 +#: pathspec.c:517 #, c-format msgid "'%s' (mnemonic: '%c')" msgstr "'%s'(助记符:'%c')" -#: pathspec.c:524 +#: pathspec.c:527 #, c-format msgid "%s: pathspec magic not supported by this command: %s" msgstr "%s:路径规格神奇前缀不被此命令支持:%s" -#: pathspec.c:591 +#: pathspec.c:594 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "路径规格 '%s' 位于符号链接中" +#: pathspec.c:639 +#, c-format +msgid "line is badly quoted: %s" +msgstr "行被错误地引用:%s" + #: pkt-line.c:92 msgid "unable to write flush packet" msgstr "无法写 flush 包" @@ -4553,33 +5273,42 @@ msgstr "正在刷新索引" msgid "unable to create threaded lstat: %s" msgstr "无法创建线程 lstat:%s" -#: pretty.c:966 +#: pretty.c:981 msgid "unable to parse --pretty format" msgstr "不能解析 --pretty 格式" -#: range-diff.c:70 +#: promisor-remote.c:23 +msgid "Remote with no URL" +msgstr "远程未设置 URL" + +#: promisor-remote.c:58 +#, c-format +msgid "promisor remote name cannot begin with '/': %s" +msgstr "promisor 远程名称不能以 '/' 开始:%s" + +#: range-diff.c:75 msgid "could not start `log`" msgstr "不能启动 `log`" -#: range-diff.c:72 +#: range-diff.c:77 msgid "could not read `log` output" msgstr "不能读取 `log` 的输出" -#: range-diff.c:91 sequencer.c:5021 +#: range-diff.c:96 sequencer.c:5020 #, c-format msgid "could not parse commit '%s'" msgstr "不能解析提交 '%s'" -#: range-diff.c:117 +#: range-diff.c:122 #, c-format msgid "could not parse git header '%.*s'" msgstr "无法解析 git 头 '%.*s'" -#: range-diff.c:274 +#: range-diff.c:285 msgid "failed to generate diff" msgstr "生成 diff 失败" -#: range-diff.c:506 range-diff.c:508 +#: range-diff.c:518 range-diff.c:520 #, c-format msgid "could not parse log for '%s'" msgstr "不能解析 '%s' 的日志" @@ -4618,16 +5347,16 @@ msgstr "无法在索引中添加 '%s'" msgid "unable to stat '%s'" msgstr "无法对 %s 执行 stat" -#: read-cache.c:1314 +#: read-cache.c:1330 #, c-format msgid "'%s' appears as both a file and as a directory" msgstr "'%s' 看起来既是文件又是目录" -#: read-cache.c:1499 +#: read-cache.c:1536 msgid "Refresh index" msgstr "刷新索引" -#: read-cache.c:1613 +#: read-cache.c:1651 #, c-format msgid "" "index.version set, but the value is invalid.\n" @@ -4636,7 +5365,7 @@ msgstr "" "设置了 index.version,但是取值无效。\n" "使用版本 %i" -#: read-cache.c:1623 +#: read-cache.c:1661 #, c-format msgid "" "GIT_INDEX_VERSION set, but the value is invalid.\n" @@ -4645,150 +5374,160 @@ msgstr "" "设置了 GIT_INDEX_VERSION,但是取值无效。\n" "使用版本 %i" -#: read-cache.c:1679 +#: read-cache.c:1717 #, c-format msgid "bad signature 0x%08x" msgstr "坏的签名 0x%08x" -#: read-cache.c:1682 +#: read-cache.c:1720 #, c-format msgid "bad index version %d" msgstr "坏的索引版本 %d" -#: read-cache.c:1691 +#: read-cache.c:1729 msgid "bad index file sha1 signature" msgstr "坏的索引文件 sha1 签名" -#: read-cache.c:1721 +#: read-cache.c:1759 #, c-format msgid "index uses %.4s extension, which we do not understand" msgstr "索引使用不被支持的 %.4s 扩展" # -#: read-cache.c:1723 +#: read-cache.c:1761 #, c-format msgid "ignoring %.4s extension" msgstr "忽略 %.4s 扩展" -#: read-cache.c:1760 +#: read-cache.c:1798 #, c-format msgid "unknown index entry format 0x%08x" msgstr "未知的索引条目格式 0x%08x" -#: read-cache.c:1776 +#: read-cache.c:1814 #, c-format msgid "malformed name field in the index, near path '%s'" msgstr "索引中靠近路径 '%s' 有错误的名称字段" -#: read-cache.c:1833 +#: read-cache.c:1871 msgid "unordered stage entries in index" msgstr "索引中有未排序的暂存条目" -#: read-cache.c:1836 +#: read-cache.c:1874 #, c-format msgid "multiple stage entries for merged file '%s'" msgstr "合并文件 '%s' 有多个暂存条目" -#: read-cache.c:1839 +#: read-cache.c:1877 #, c-format msgid "unordered stage entries for '%s'" msgstr "'%s' 的未排序暂存条目" -#: read-cache.c:1946 read-cache.c:2234 rerere.c:565 rerere.c:599 rerere.c:1111 -#: builtin/add.c:460 builtin/check-ignore.c:178 builtin/checkout.c:467 -#: builtin/checkout.c:651 builtin/clean.c:956 builtin/commit.c:347 -#: builtin/diff-tree.c:120 builtin/grep.c:499 builtin/mv.c:145 -#: builtin/reset.c:245 builtin/rm.c:271 builtin/submodule--helper.c:330 +#: read-cache.c:1983 read-cache.c:2271 rerere.c:565 rerere.c:599 rerere.c:1111 +#: submodule.c:1619 builtin/add.c:532 builtin/check-ignore.c:181 +#: builtin/checkout.c:470 builtin/checkout.c:656 builtin/clean.c:967 +#: builtin/commit.c:367 builtin/diff-tree.c:120 builtin/grep.c:485 +#: builtin/mv.c:145 builtin/reset.c:246 builtin/rm.c:290 +#: builtin/submodule--helper.c:332 msgid "index file corrupt" msgstr "索引文件损坏" -#: read-cache.c:2087 +#: read-cache.c:2124 #, c-format msgid "unable to create load_cache_entries thread: %s" msgstr "无法创建 load_cache_entries 线程:%s" -#: read-cache.c:2100 +#: read-cache.c:2137 #, c-format msgid "unable to join load_cache_entries thread: %s" msgstr "无法加入 load_cache_entries 线程:%s" -#: read-cache.c:2133 +#: read-cache.c:2170 #, c-format msgid "%s: index file open failed" msgstr "%s:打开索引文件失败" -#: read-cache.c:2137 +#: read-cache.c:2174 #, c-format msgid "%s: cannot stat the open index" msgstr "%s:不能对打开的索引执行 stat 操作" -#: read-cache.c:2141 +#: read-cache.c:2178 #, c-format msgid "%s: index file smaller than expected" msgstr "%s:索引文件比预期的小" -#: read-cache.c:2145 +#: read-cache.c:2182 #, c-format msgid "%s: unable to map index file" msgstr "%s:无法对索引文件执行 map 操作" -#: read-cache.c:2187 +#: read-cache.c:2224 #, c-format msgid "unable to create load_index_extensions thread: %s" msgstr "无法创建 load_index_extensions 线程:%s" -#: read-cache.c:2214 +#: read-cache.c:2251 #, c-format msgid "unable to join load_index_extensions thread: %s" msgstr "无法加入 load_index_extensions 线程:%s" -#: read-cache.c:2246 +#: read-cache.c:2283 #, c-format msgid "could not freshen shared index '%s'" msgstr "无法刷新共享索引 '%s'" -#: read-cache.c:2293 +#: read-cache.c:2330 #, c-format msgid "broken index, expect %s in %s, got %s" msgstr "损坏的索引,期望在 %2$s 中的 %1$s,得到 %3$s" -#: read-cache.c:2989 wrapper.c:658 builtin/merge.c:1114 +#: read-cache.c:3026 strbuf.c:1160 wrapper.c:622 builtin/merge.c:1122 #, c-format msgid "could not close '%s'" msgstr "不能关闭 '%s'" -#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928 +#: read-cache.c:3129 sequencer.c:2343 sequencer.c:3959 #, c-format msgid "could not stat '%s'" msgstr "不能对 '%s' 调用 stat" -#: read-cache.c:3105 +#: read-cache.c:3142 #, c-format msgid "unable to open git dir: %s" msgstr "不能打开 git 目录:%s" -#: read-cache.c:3117 +#: read-cache.c:3154 #, c-format msgid "unable to unlink: %s" msgstr "无法删除:%s" -#: read-cache.c:3142 +#: read-cache.c:3179 #, c-format msgid "cannot fix permission bits on '%s'" msgstr "不能修复 '%s' 的权限位" -#: read-cache.c:3291 +#: read-cache.c:3328 #, c-format msgid "%s: cannot drop to stage #0" msgstr "%s:不能落到暂存区 #0" -#: rebase-interactive.c:26 +#: rebase-interactive.c:11 +msgid "" +"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" +"continue'.\n" +"Or you can abort the rebase with 'git rebase --abort'.\n" +msgstr "" +"您可以用 'git rebase --edit-todo' 修正,然后执行 'git rebase --continue'。\n" +"或者您可以用 'git rebase --abort' 终止变基。\n" + +#: rebase-interactive.c:33 #, c-format msgid "" "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring." msgstr "选项 rebase.missingCommitsCheck 的值 %s 无法识别。已忽略。" -#: rebase-interactive.c:35 +#: rebase-interactive.c:42 msgid "" "\n" "Commands:\n" @@ -4828,14 +5567,14 @@ msgstr "" "\n" "可以对这些行重新排序,将从上至下执行。\n" -#: rebase-interactive.c:56 +#: rebase-interactive.c:63 #, c-format msgid "Rebase %s onto %s (%d command)" msgid_plural "Rebase %s onto %s (%d commands)" msgstr[0] "变基 %s 到 %s(%d 个提交)" msgstr[1] "变基 %s 到 %s(%d 个提交)" -#: rebase-interactive.c:65 git-rebase--preserve-merges.sh:228 +#: rebase-interactive.c:72 git-rebase--preserve-merges.sh:228 msgid "" "\n" "Do not remove any line. Use 'drop' explicitly to remove a commit.\n" @@ -4843,7 +5582,7 @@ msgstr "" "\n" "不要删除任意一行。使用 'drop' 显式地删除一个提交。\n" -#: rebase-interactive.c:68 git-rebase--preserve-merges.sh:232 +#: rebase-interactive.c:75 git-rebase--preserve-merges.sh:232 msgid "" "\n" "If you remove a line here THAT COMMIT WILL BE LOST.\n" @@ -4851,7 +5590,7 @@ msgstr "" "\n" "如果您在这里删除一行,对应的提交将会丢失。\n" -#: rebase-interactive.c:74 git-rebase--preserve-merges.sh:871 +#: rebase-interactive.c:81 git-rebase--preserve-merges.sh:871 msgid "" "\n" "You are editing the todo file of an ongoing interactive rebase.\n" @@ -4865,7 +5604,7 @@ msgstr "" " git rebase --continue\n" "\n" -#: rebase-interactive.c:79 git-rebase--preserve-merges.sh:948 +#: rebase-interactive.c:86 git-rebase--preserve-merges.sh:948 msgid "" "\n" "However, if you remove everything, the rebase will be aborted.\n" @@ -4875,22 +5614,19 @@ msgstr "" "然而,如果您删除全部内容,变基操作将会终止。\n" "\n" -#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955 -msgid "Note that empty commits are commented out" -msgstr "注意空提交已被注释掉" - -#: rebase-interactive.c:105 rerere.c:485 rerere.c:692 sequencer.c:3447 -#: sequencer.c:3473 sequencer.c:5120 builtin/fsck.c:356 builtin/rebase.c:235 +#: rebase-interactive.c:110 rerere.c:485 rerere.c:692 sequencer.c:3444 +#: sequencer.c:3470 sequencer.c:5125 builtin/fsck.c:346 builtin/rebase.c:252 #, c-format msgid "could not write '%s'" msgstr "不能写入 '%s'" -#: rebase-interactive.c:108 +#: rebase-interactive.c:116 builtin/rebase.c:184 builtin/rebase.c:210 +#: builtin/rebase.c:234 #, c-format -msgid "could not copy '%s' to '%s'." -msgstr "不能拷贝 '%s' 至 '%s'。" +msgid "could not write '%s'." +msgstr "不能写入 '%s'。" -#: rebase-interactive.c:173 +#: rebase-interactive.c:193 #, c-format msgid "" "Warning: some commits may have been dropped accidentally.\n" @@ -4899,7 +5635,7 @@ msgstr "" "警告:一些提交可能被意外丢弃。\n" "丢弃的提交(从新到旧):\n" -#: rebase-interactive.c:180 +#: rebase-interactive.c:200 #, c-format msgid "" "To avoid this message, use \"drop\" to explicitly remove a commit.\n" @@ -4915,6 +5651,13 @@ msgstr "" "可选值有:ignore、warn、error。\n" "\n" +#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2262 +#: builtin/rebase.c:170 builtin/rebase.c:195 builtin/rebase.c:221 +#: builtin/rebase.c:246 +#, c-format +msgid "could not read '%s'." +msgstr "不能读取 '%s'。" + #: refs.c:262 #, c-format msgid "%s does not point to a valid object!" @@ -4925,7 +5668,7 @@ msgstr "%s 没有指向一个有效的对象!" msgid "ignoring dangling symref %s" msgstr "忽略悬空符号引用 %s" -#: refs.c:669 ref-filter.c:2092 +#: refs.c:669 ref-filter.c:2098 #, c-format msgid "ignoring broken ref %s" msgstr "忽略损坏的引用 %s" @@ -4950,14 +5693,15 @@ msgstr "引用 '%s' 已经存在" msgid "unexpected object ID when writing '%s'" msgstr "写入 '%s' 时意外的对象 ID" -#: refs.c:833 sequencer.c:403 sequencer.c:2709 sequencer.c:2913 -#: sequencer.c:2927 sequencer.c:3184 sequencer.c:5037 wrapper.c:656 +#: refs.c:833 sequencer.c:407 sequencer.c:2701 sequencer.c:2905 +#: sequencer.c:2919 sequencer.c:3177 sequencer.c:5036 strbuf.c:1157 +#: wrapper.c:620 #, c-format msgid "could not write to '%s'" msgstr "不能写入 '%s'" -#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715 -#: builtin/rebase.c:1003 +#: refs.c:860 strbuf.c:1155 wrapper.c:188 wrapper.c:358 builtin/am.c:719 +#: builtin/rebase.c:1029 #, c-format msgid "could not open '%s' for writing" msgstr "无法打开 '%s' 进行写入" @@ -4992,37 +5736,37 @@ msgstr "拒绝更新有错误名称 '%s' 的引用" msgid "update_ref failed for ref '%s': %s" msgstr "对引用 '%s' 执行 update_ref 失败:%s" -#: refs.c:2012 +#: refs.c:2023 #, c-format msgid "multiple updates for ref '%s' not allowed" msgstr "不允许对引用 '%s' 多次更新" -#: refs.c:2044 +#: refs.c:2055 msgid "ref updates forbidden inside quarantine environment" msgstr "在隔离环境中禁止更新引用" -#: refs.c:2140 refs.c:2170 +#: refs.c:2151 refs.c:2181 #, c-format msgid "'%s' exists; cannot create '%s'" msgstr "'%s' 已存在,无法创建 '%s'" -#: refs.c:2146 refs.c:2181 +#: refs.c:2157 refs.c:2192 #, c-format msgid "cannot process '%s' and '%s' at the same time" msgstr "无法同时处理 '%s' 和 '%s'" -#: refs/files-backend.c:1234 +#: refs/files-backend.c:1233 #, c-format msgid "could not remove reference %s" msgstr "无法删除引用 %s" -#: refs/files-backend.c:1248 refs/packed-backend.c:1532 -#: refs/packed-backend.c:1542 +#: refs/files-backend.c:1247 refs/packed-backend.c:1541 +#: refs/packed-backend.c:1551 #, c-format msgid "could not delete reference %s: %s" msgstr "无法删除引用 %s:%s" -#: refs/files-backend.c:1251 refs/packed-backend.c:1545 +#: refs/files-backend.c:1250 refs/packed-backend.c:1554 #, c-format msgid "could not delete references: %s" msgstr "无法删除引用:%s" @@ -5032,7 +5776,7 @@ msgstr "无法删除引用:%s" msgid "invalid refspec '%s'" msgstr "无效的引用表达式:'%s'" -#: ref-filter.c:42 wt-status.c:1934 +#: ref-filter.c:42 wt-status.c:1938 msgid "gone" msgstr "丢失" @@ -5051,280 +5795,280 @@ msgstr "落后 %d" msgid "ahead %d, behind %d" msgstr "领先 %d,落后 %d" -#: ref-filter.c:162 +#: ref-filter.c:165 #, c-format msgid "expected format: %%(color:)" msgstr "期望的格式:%%(color:<颜色>)" -#: ref-filter.c:164 +#: ref-filter.c:167 #, c-format msgid "unrecognized color: %%(color:%s)" msgstr "未能识别的颜色:%%(color:%s)" -#: ref-filter.c:186 +#: ref-filter.c:189 #, c-format msgid "Integer value expected refname:lstrip=%s" msgstr "期望整数值 refname:lstrip=%s" -#: ref-filter.c:190 +#: ref-filter.c:193 #, c-format msgid "Integer value expected refname:rstrip=%s" msgstr "期望整数值 refname:rstrip=%s" -#: ref-filter.c:192 +#: ref-filter.c:195 #, c-format msgid "unrecognized %%(%s) argument: %s" msgstr "未能识别的 %%(%s) 参数:%s" -#: ref-filter.c:247 +#: ref-filter.c:250 #, c-format msgid "%%(objecttype) does not take arguments" msgstr "%%(objecttype) 不带参数" -#: ref-filter.c:269 +#: ref-filter.c:272 #, c-format msgid "unrecognized %%(objectsize) argument: %s" msgstr "未能识别的 %%(objectsize) 参数:%s" -#: ref-filter.c:277 +#: ref-filter.c:280 #, c-format msgid "%%(deltabase) does not take arguments" msgstr "%%(deltabase) 不带参数" -#: ref-filter.c:289 +#: ref-filter.c:292 #, c-format msgid "%%(body) does not take arguments" msgstr "%%(body) 不带参数" -#: ref-filter.c:298 +#: ref-filter.c:301 #, c-format msgid "%%(subject) does not take arguments" msgstr "%%(subject) 不带参数" -#: ref-filter.c:320 +#: ref-filter.c:323 #, c-format msgid "unknown %%(trailers) argument: %s" msgstr "未知的 %%(trailers) 参数:%s" -#: ref-filter.c:349 +#: ref-filter.c:352 #, c-format msgid "positive value expected contents:lines=%s" msgstr "期望一个正数 contents:lines=%s" -#: ref-filter.c:351 +#: ref-filter.c:354 #, c-format msgid "unrecognized %%(contents) argument: %s" msgstr "未能识别的 %%(contents) 参数:%s" -#: ref-filter.c:366 +#: ref-filter.c:369 #, c-format msgid "positive value expected objectname:short=%s" msgstr "期望一个正数 objectname:short=%s" -#: ref-filter.c:370 +#: ref-filter.c:373 #, c-format msgid "unrecognized %%(objectname) argument: %s" msgstr "未能识别的 %%(objectname) 参数:%s" -#: ref-filter.c:400 +#: ref-filter.c:403 #, c-format msgid "expected format: %%(align:,)" msgstr "期望的格式:%%(align:<宽度>,<位置>)" -#: ref-filter.c:412 +#: ref-filter.c:415 #, c-format msgid "unrecognized position:%s" msgstr "未能识别的位置:%s" -#: ref-filter.c:419 +#: ref-filter.c:422 #, c-format msgid "unrecognized width:%s" msgstr "未能识别的宽度:%s" -#: ref-filter.c:428 +#: ref-filter.c:431 #, c-format msgid "unrecognized %%(align) argument: %s" msgstr "未能识别的 %%(align) 参数:%s" -#: ref-filter.c:436 +#: ref-filter.c:439 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "元素 %%(align) 需要一个正数的宽度" -#: ref-filter.c:454 +#: ref-filter.c:457 #, c-format msgid "unrecognized %%(if) argument: %s" msgstr "未能识别的 %%(if) 参数:%s" -#: ref-filter.c:556 +#: ref-filter.c:559 #, c-format msgid "malformed field name: %.*s" msgstr "格式错误的字段名:%.*s" -#: ref-filter.c:583 +#: ref-filter.c:586 #, c-format msgid "unknown field name: %.*s" msgstr "未知的字段名:%.*s" -#: ref-filter.c:587 +#: ref-filter.c:590 #, c-format msgid "" "not a git repository, but the field '%.*s' requires access to object data" msgstr "不是一个 git 仓库,但是字段 '%.*s' 需要访问对象数据" -#: ref-filter.c:711 +#: ref-filter.c:714 #, c-format msgid "format: %%(if) atom used without a %%(then) atom" msgstr "格式:使用了 %%(if) 元素而没有 %%(then) 元素" -#: ref-filter.c:774 +#: ref-filter.c:777 #, c-format msgid "format: %%(then) atom used without an %%(if) atom" msgstr "格式:使用了 %%(then) 元素而没有 %%(if) 元素" -#: ref-filter.c:776 +#: ref-filter.c:779 #, c-format msgid "format: %%(then) atom used more than once" msgstr "格式:%%(then) 元素用了多次" -#: ref-filter.c:778 +#: ref-filter.c:781 #, c-format msgid "format: %%(then) atom used after %%(else)" msgstr "格式:%%(then) 元素用在了 %%(else) 之后" -#: ref-filter.c:806 +#: ref-filter.c:809 #, c-format msgid "format: %%(else) atom used without an %%(if) atom" msgstr "格式:使用了 %%(else) 元素而没有 %%(if) 元素" -#: ref-filter.c:808 +#: ref-filter.c:811 #, c-format msgid "format: %%(else) atom used without a %%(then) atom" msgstr "格式:使用了 %%(else) 元素而没有 %%(then) 元素" -#: ref-filter.c:810 +#: ref-filter.c:813 #, c-format msgid "format: %%(else) atom used more than once" msgstr "格式:%%(else) 元素用了多次" -#: ref-filter.c:825 +#: ref-filter.c:828 #, c-format msgid "format: %%(end) atom used without corresponding atom" msgstr "格式:使用了 %%(end) 元素却没有它的对应元素" -#: ref-filter.c:882 +#: ref-filter.c:885 #, c-format msgid "malformed format string %s" msgstr "错误的格式化字符串 %s" -#: ref-filter.c:1485 +#: ref-filter.c:1488 #, c-format msgid "no branch, rebasing %s" msgstr "非分支,正变基 %s" -#: ref-filter.c:1488 +#: ref-filter.c:1491 #, c-format msgid "no branch, rebasing detached HEAD %s" msgstr "非分支,正变基分离头指针 %s" -#: ref-filter.c:1491 +#: ref-filter.c:1494 #, c-format msgid "no branch, bisect started on %s" msgstr "非分支,二分查找开始于 %s" -#: ref-filter.c:1501 +#: ref-filter.c:1504 msgid "no branch" msgstr "非分支" -#: ref-filter.c:1537 ref-filter.c:1743 +#: ref-filter.c:1540 ref-filter.c:1749 #, c-format msgid "missing object %s for %s" msgstr "缺失 %2$s 的对象 %1$s" -#: ref-filter.c:1547 +#: ref-filter.c:1550 #, c-format msgid "parse_object_buffer failed on %s for %s" msgstr "parse_object_buffer 失败于 %2$s 的 %1$s" -#: ref-filter.c:1998 +#: ref-filter.c:2004 #, c-format msgid "malformed object at '%s'" msgstr "格式错误的对象 '%s'" -#: ref-filter.c:2087 +#: ref-filter.c:2093 #, c-format msgid "ignoring ref with broken name %s" msgstr "忽略带有错误名称 %s 的引用" -#: ref-filter.c:2382 +#: ref-filter.c:2389 #, c-format msgid "format: %%(end) atom missing" msgstr "格式:缺少 %%(end) 元素" -#: ref-filter.c:2482 +#: ref-filter.c:2489 #, c-format msgid "option `%s' is incompatible with --merged" msgstr "选项 `%s' 和 --merged 不兼容" -#: ref-filter.c:2485 +#: ref-filter.c:2492 #, c-format msgid "option `%s' is incompatible with --no-merged" msgstr "选项 `%s' 和 --no-merged 不兼容" -#: ref-filter.c:2495 +#: ref-filter.c:2502 #, c-format msgid "malformed object name %s" msgstr "格式错误的对象名 %s" -#: ref-filter.c:2500 +#: ref-filter.c:2507 #, c-format msgid "option `%s' must point to a commit" msgstr "选项 `%s' 必须指向一个提交" -#: remote.c:363 +#: remote.c:366 #, c-format msgid "config remote shorthand cannot begin with '/': %s" msgstr "配置的远程短名称不能以 '/' 开始:%s" -#: remote.c:410 +#: remote.c:414 msgid "more than one receivepack given, using the first" msgstr "提供了一个以上的 receivepack,使用第一个" -#: remote.c:418 +#: remote.c:422 msgid "more than one uploadpack given, using the first" msgstr "提供了一个以上的 uploadpack,使用第一个" -#: remote.c:608 +#: remote.c:612 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "不能同时获取 %s 和 %s 至 %s" -#: remote.c:612 +#: remote.c:616 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s 通常跟踪 %s,而非 %s" -#: remote.c:616 +#: remote.c:620 #, c-format msgid "%s tracks both %s and %s" msgstr "%s 同时跟踪 %s 和 %s" -#: remote.c:684 +#: remote.c:688 #, c-format msgid "key '%s' of pattern had no '*'" msgstr "模式的键 '%s' 没有 '*'" -#: remote.c:694 +#: remote.c:698 #, c-format msgid "value '%s' of pattern has no '*'" msgstr "模式的值 '%s' 没有 '*'" -#: remote.c:1000 +#: remote.c:1004 #, c-format msgid "src refspec %s does not match any" msgstr "源引用表达式 %s 没有匹配" -#: remote.c:1005 +#: remote.c:1009 #, c-format msgid "src refspec %s matches more than one" msgstr "源引用表达式 %s 匹配超过一个" @@ -5333,7 +6077,7 @@ msgstr "源引用表达式 %s 匹配超过一个" #. :" push, and "being pushed ('%s')" is #. the . #. -#: remote.c:1020 +#: remote.c:1024 #, c-format msgid "" "The destination you provided is not a full refname (i.e.,\n" @@ -5355,7 +6099,7 @@ msgstr "" "\n" "都不行,所以我们已放弃。您必须给出完整的引用。" -#: remote.c:1040 +#: remote.c:1044 #, c-format msgid "" "The part of the refspec is a commit object.\n" @@ -5365,7 +6109,7 @@ msgstr "" "引用表达式的 是一个提交对象。您是想创建一个新的分支而向\n" "'%s:refs/heads/%s' 推送么?" -#: remote.c:1045 +#: remote.c:1049 #, c-format msgid "" "The part of the refspec is a tag object.\n" @@ -5375,7 +6119,7 @@ msgstr "" "引用表达式的 是一个标签对象。您是想创建一个新的标签而向\n" "'%s:refs/tags/%s' 推送么?" -#: remote.c:1050 +#: remote.c:1054 #, c-format msgid "" "The part of the refspec is a tree object.\n" @@ -5385,7 +6129,7 @@ msgstr "" "引用表达式的 是一个树对象。您是想为这个树对象创建标签而向\n" "'%s:refs/tags/%s' 推送么?" -#: remote.c:1055 +#: remote.c:1059 #, c-format msgid "" "The part of the refspec is a blob object.\n" @@ -5395,114 +6139,114 @@ msgstr "" "引用表达式的 是一个数据对象。您是想为这个数据对象创建标签而向\n" "'%s:refs/tags/%s' 推送么?" -#: remote.c:1091 +#: remote.c:1095 #, c-format msgid "%s cannot be resolved to branch" msgstr "%s 无法被解析为分支" -#: remote.c:1102 +#: remote.c:1106 #, c-format msgid "unable to delete '%s': remote ref does not exist" msgstr "无法删除 '%s':远程引用不存在" -#: remote.c:1114 +#: remote.c:1118 #, c-format msgid "dst refspec %s matches more than one" msgstr "目标引用表达式 %s 匹配超过一个" -#: remote.c:1121 +#: remote.c:1125 #, c-format msgid "dst ref %s receives from more than one src" msgstr "目标引用 %s 接收超过一个源" -#: remote.c:1624 remote.c:1725 +#: remote.c:1628 remote.c:1729 msgid "HEAD does not point to a branch" msgstr "HEAD 没有指向一个分支" -#: remote.c:1633 +#: remote.c:1637 #, c-format msgid "no such branch: '%s'" msgstr "没有此分支:'%s'" -#: remote.c:1636 +#: remote.c:1640 #, c-format msgid "no upstream configured for branch '%s'" msgstr "尚未给分支 '%s' 设置上游" -#: remote.c:1642 +#: remote.c:1646 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "上游分支 '%s' 没有存储为一个远程跟踪分支" -#: remote.c:1657 +#: remote.c:1661 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "推送目标 '%s' 至远程 '%s' 没有本地跟踪分支" -#: remote.c:1669 +#: remote.c:1673 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "分支 '%s' 没有设置要推送的远程服务器" -#: remote.c:1679 +#: remote.c:1683 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "向 '%s' 推送引用规格未包含 '%s'" -#: remote.c:1692 +#: remote.c:1696 msgid "push has no destination (push.default is 'nothing')" msgstr "推送无目标(push.default 是 'nothing')" -#: remote.c:1714 +#: remote.c:1718 msgid "cannot resolve 'simple' push to a single destination" msgstr "无法解析 'simple' 推送至一个单独的目标" -#: remote.c:1840 +#: remote.c:1844 #, c-format msgid "couldn't find remote ref %s" msgstr "无法找到远程引用 %s" -#: remote.c:1853 +#: remote.c:1857 #, c-format msgid "* Ignoring funny ref '%s' locally" msgstr "* 在本地忽略可笑的引用 '%s'" -#: remote.c:2016 +#: remote.c:2020 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "您的分支基于 '%s',但此上游分支已经不存在。\n" -#: remote.c:2020 +#: remote.c:2024 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (使用 \"git branch --unset-upstream\" 来修复)\n" -#: remote.c:2023 +#: remote.c:2027 #, c-format msgid "Your branch is up to date with '%s'.\n" msgstr "您的分支与上游分支 '%s' 一致。\n" -#: remote.c:2027 +#: remote.c:2031 #, c-format msgid "Your branch and '%s' refer to different commits.\n" msgstr "您的分支和 '%s' 指向不同的提交。\n" -#: remote.c:2030 +#: remote.c:2034 #, c-format msgid " (use \"%s\" for details)\n" msgstr " (使用 \"%s\" 查看详情)\n" -#: remote.c:2034 +#: remote.c:2038 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "您的分支领先 '%s' 共 %d 个提交。\n" msgstr[1] "您的分支领先 '%s' 共 %d 个提交。\n" -#: remote.c:2040 +#: remote.c:2044 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (使用 \"git push\" 来发布您的本地提交)\n" -#: remote.c:2043 +#: remote.c:2047 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -5511,11 +6255,11 @@ msgstr[0] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n" msgstr[1] "您的分支落后 '%s' 共 %d 个提交,并且可以快进。\n" # 译者:注意保持前导空格 -#: remote.c:2051 +#: remote.c:2055 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (使用 \"git pull\" 来更新您的本地分支)\n" -#: remote.c:2054 +#: remote.c:2058 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -5531,11 +6275,11 @@ msgstr[1] "" "并且分别有 %d 和 %d 处不同的提交。\n" # 译者:注意保持前导空格 -#: remote.c:2064 +#: remote.c:2068 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (使用 \"git pull\" 来合并远程分支)\n" -#: remote.c:2247 +#: remote.c:2251 #, c-format msgid "cannot parse expected object name '%s'" msgstr "无法解析期望的对象名 '%s'" @@ -5550,7 +6294,7 @@ msgstr "错误的替换引用名称:%s" msgid "duplicate replace ref: %s" msgstr "重复的替换引用:%s" -#: replace-object.c:73 +#: replace-object.c:82 #, c-format msgid "replace depth too high for object %s" msgstr "对象 %s 的替换层级太深" @@ -5613,8 +6357,8 @@ msgstr "不能删除 stray '%s'" msgid "Recorded preimage for '%s'" msgstr "为 '%s' 记录 preimage" -#: rerere.c:881 submodule.c:2023 builtin/log.c:1773 -#: builtin/submodule--helper.c:1418 builtin/submodule--helper.c:1428 +#: rerere.c:881 submodule.c:2078 builtin/log.c:1871 +#: builtin/submodule--helper.c:1454 builtin/submodule--helper.c:1466 #, c-format msgid "could not create directory '%s'" msgstr "不能创建目录 '%s'" @@ -5648,20 +6392,20 @@ msgstr "忘记 '%s' 的解决方案\n" msgid "unable to open rr-cache directory" msgstr "不能打开 rr-cache 目录" -#: revision.c:2507 +#: revision.c:2497 msgid "your current branch appears to be broken" msgstr "您的当前分支好像被损坏" -#: revision.c:2510 +#: revision.c:2500 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "您的当前分支 '%s' 尚无任何提交" -#: revision.c:2710 +#: revision.c:2708 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent 与 --bisect 不兼容" -#: revision.c:2714 +#: revision.c:2712 msgid "-L does not yet support diff formats besides -p and -s" msgstr "-L 尚不支持 -p 和 -s 之外的差异格式" @@ -5683,75 +6427,75 @@ msgstr "" "因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n" "配置 `git config advice.ignoredHook false` 来关闭这条警告。" -#: send-pack.c:141 +#: send-pack.c:144 msgid "unexpected flush packet while reading remote unpack status" msgstr "读取远程解包状态时收到意外的 flush 包" -#: send-pack.c:143 +#: send-pack.c:146 #, c-format msgid "unable to parse remote unpack status: %s" msgstr "不能解析远程解包状态:%s" -#: send-pack.c:145 +#: send-pack.c:148 #, c-format msgid "remote unpack failed: %s" msgstr "远程解包失败:%s" -#: send-pack.c:306 +#: send-pack.c:309 msgid "failed to sign the push certificate" msgstr "为推送证书签名失败" -#: send-pack.c:420 +#: send-pack.c:423 msgid "the receiving end does not support --signed push" msgstr "接收端不支持签名推送" -#: send-pack.c:422 +#: send-pack.c:425 msgid "" "not sending a push certificate since the receiving end does not support --" "signed push" msgstr "未发送推送证书,因为接收端不支持签名推送" -#: send-pack.c:434 +#: send-pack.c:437 msgid "the receiving end does not support --atomic push" msgstr "接收端不支持原子推送" -#: send-pack.c:439 +#: send-pack.c:442 msgid "the receiving end does not support push options" msgstr "接收端不支持推送选项" -#: sequencer.c:187 +#: sequencer.c:191 #, c-format msgid "invalid commit message cleanup mode '%s'" msgstr "无效的提交信息清理模式 '%s'" -#: sequencer.c:292 +#: sequencer.c:296 #, c-format msgid "could not delete '%s'" msgstr "无法删除 '%s'" -#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369 +#: sequencer.c:315 builtin/rebase.c:785 builtin/rebase.c:1750 builtin/rm.c:385 #, c-format msgid "could not remove '%s'" msgstr "无法删除 '%s'" -#: sequencer.c:321 +#: sequencer.c:325 msgid "revert" msgstr "还原" -#: sequencer.c:323 +#: sequencer.c:327 msgid "cherry-pick" msgstr "拣选" -#: sequencer.c:325 -msgid "rebase -i" -msgstr "rebase -i" +#: sequencer.c:329 +msgid "rebase" +msgstr "变基" -#: sequencer.c:327 +#: sequencer.c:331 #, c-format msgid "unknown action: %d" msgstr "未知动作:%d" -#: sequencer.c:385 +#: sequencer.c:389 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add ' or 'git rm '" @@ -5759,7 +6503,7 @@ msgstr "" "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n" "命令标记修正后的文件" -#: sequencer.c:388 +#: sequencer.c:392 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add ' or 'git rm '\n" @@ -5768,115 +6512,110 @@ msgstr "" "冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'\n" "对修正后的文件做标记,然后用 'git commit' 提交" -#: sequencer.c:401 sequencer.c:2909 +#: sequencer.c:405 sequencer.c:2901 #, c-format msgid "could not lock '%s'" msgstr "不能锁定 '%s'" -#: sequencer.c:408 +#: sequencer.c:412 #, c-format msgid "could not write eol to '%s'" msgstr "不能将换行符写入 '%s'" -#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929 -#: sequencer.c:3192 +#: sequencer.c:417 sequencer.c:2706 sequencer.c:2907 sequencer.c:2921 +#: sequencer.c:3185 #, c-format msgid "failed to finalize '%s'" msgstr "无法完成 '%s'" -#: sequencer.c:436 sequencer.c:981 sequencer.c:1655 sequencer.c:2734 -#: sequencer.c:3174 sequencer.c:3283 builtin/am.c:245 builtin/commit.c:763 -#: builtin/merge.c:1112 builtin/rebase.c:567 +#: sequencer.c:440 sequencer.c:1613 sequencer.c:2726 sequencer.c:3167 +#: sequencer.c:3276 builtin/am.c:249 builtin/commit.c:787 builtin/merge.c:1120 +#: builtin/rebase.c:593 #, c-format msgid "could not read '%s'" msgstr "不能读取 '%s'" -#: sequencer.c:462 +#: sequencer.c:466 #, c-format msgid "your local changes would be overwritten by %s." msgstr "您的本地修改将被%s覆盖。" -#: sequencer.c:466 +#: sequencer.c:470 msgid "commit your changes or stash them to proceed." msgstr "提交您的修改或贮藏后再继续。" -#: sequencer.c:498 +#: sequencer.c:502 #, c-format msgid "%s: fast-forward" msgstr "%s:快进" -#: sequencer.c:537 builtin/tag.c:565 +#: sequencer.c:541 builtin/tag.c:565 #, c-format msgid "Invalid cleanup mode %s" msgstr "无效的清理模式 %s" #. TRANSLATORS: %s will be "revert", "cherry-pick" or -#. "rebase -i". +#. "rebase". #. -#: sequencer.c:632 +#: sequencer.c:635 #, c-format msgid "%s: Unable to write new index file" msgstr "%s:无法写入新索引文件" -#: sequencer.c:649 +#: sequencer.c:652 msgid "unable to update cache tree" msgstr "不能更新缓存树" -#: sequencer.c:663 +#: sequencer.c:666 msgid "could not resolve HEAD commit" msgstr "不能解析 HEAD 提交" -#: sequencer.c:743 +#: sequencer.c:746 #, c-format msgid "no key present in '%.*s'" msgstr "在 '%.*s' 中没有 key" -#: sequencer.c:754 +#: sequencer.c:757 #, c-format msgid "unable to dequote value of '%s'" msgstr "无法为 '%s' 的值去引号" -#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706 -#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045 +#: sequencer.c:794 wrapper.c:190 wrapper.c:360 builtin/am.c:710 +#: builtin/am.c:802 builtin/merge.c:1117 builtin/rebase.c:1072 #, c-format msgid "could not open '%s' for reading" msgstr "无法打开 '%s' 进行读取" -#: sequencer.c:801 +#: sequencer.c:804 msgid "'GIT_AUTHOR_NAME' already given" msgstr "已经给出 'GIT_AUTHOR_NAME'" -#: sequencer.c:806 +#: sequencer.c:809 msgid "'GIT_AUTHOR_EMAIL' already given" msgstr "已经给出 'GIT_AUTHOR_EMAIL'" -#: sequencer.c:811 +#: sequencer.c:814 msgid "'GIT_AUTHOR_DATE' already given" msgstr "已经给出 'GIT_AUTHOR_DATE'" -#: sequencer.c:815 +#: sequencer.c:818 #, c-format msgid "unknown variable '%s'" msgstr "未知变量 '%s'" -#: sequencer.c:820 +#: sequencer.c:823 msgid "missing 'GIT_AUTHOR_NAME'" msgstr "缺少 'GIT_AUTHOR_NAME'" -#: sequencer.c:822 +#: sequencer.c:825 msgid "missing 'GIT_AUTHOR_EMAIL'" msgstr "缺少 'GIT_AUTHOR_EMAIL'" -#: sequencer.c:824 +#: sequencer.c:827 msgid "missing 'GIT_AUTHOR_DATE'" msgstr "缺少 'GIT_AUTHOR_DATE'" -#: sequencer.c:884 -#, c-format -msgid "invalid date format '%s' in '%s'" -msgstr "'%2$s' 中无效的日期格式 '%1$s'" - -#: sequencer.c:901 +#: sequencer.c:876 #, c-format msgid "" "you have staged changes in your working tree\n" @@ -5905,15 +6644,11 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:995 -msgid "writing root commit" -msgstr "写根提交" - -#: sequencer.c:1216 +#: sequencer.c:1148 msgid "'prepare-commit-msg' hook failed" msgstr "'prepare-commit-msg' 钩子失败" -#: sequencer.c:1223 +#: sequencer.c:1154 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5937,7 +6672,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1236 +#: sequencer.c:1167 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -5960,326 +6695,325 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: sequencer.c:1278 +#: sequencer.c:1209 msgid "couldn't look up newly created commit" msgstr "无法找到新创建的提交" -#: sequencer.c:1280 +#: sequencer.c:1211 msgid "could not parse newly created commit" msgstr "不能解析新创建的提交" -#: sequencer.c:1326 +#: sequencer.c:1257 msgid "unable to resolve HEAD after creating commit" msgstr "创建提交后,不能解析 HEAD" -#: sequencer.c:1328 +#: sequencer.c:1259 msgid "detached HEAD" msgstr "分离头指针" # 译者:中文字符串拼接,可删除前导空格 -#: sequencer.c:1332 +#: sequencer.c:1263 msgid " (root-commit)" msgstr "(根提交)" -#: sequencer.c:1353 +#: sequencer.c:1284 msgid "could not parse HEAD" msgstr "不能解析 HEAD" -#: sequencer.c:1355 +#: sequencer.c:1286 #, c-format msgid "HEAD %s is not a commit!" msgstr "HEAD %s 不是一个提交!" -#: sequencer.c:1359 builtin/commit.c:1571 +#: sequencer.c:1290 sequencer.c:1364 builtin/commit.c:1574 msgid "could not parse HEAD commit" msgstr "不能解析 HEAD 提交" -#: sequencer.c:1411 sequencer.c:2004 +#: sequencer.c:1342 sequencer.c:1968 msgid "unable to parse commit author" msgstr "不能解析提交作者" -#: sequencer.c:1421 builtin/am.c:1573 builtin/merge.c:684 +#: sequencer.c:1353 builtin/am.c:1566 builtin/merge.c:687 msgid "git write-tree failed to write a tree" msgstr "git write-tree 无法写入树对象" -#: sequencer.c:1438 sequencer.c:1499 +#: sequencer.c:1386 sequencer.c:1447 #, c-format msgid "unable to read commit message from '%s'" msgstr "不能从 '%s' 读取提交说明" -#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878 -#: builtin/merge.c:903 +#: sequencer.c:1413 builtin/am.c:1588 builtin/commit.c:1673 builtin/merge.c:886 +#: builtin/merge.c:911 msgid "failed to write commit object" msgstr "写提交对象失败" -#: sequencer.c:1526 +#: sequencer.c:1474 #, c-format msgid "could not parse commit %s" msgstr "不能解析提交 %s" -#: sequencer.c:1531 +#: sequencer.c:1479 #, c-format msgid "could not parse parent commit %s" msgstr "不能解析父提交 %s" -#: sequencer.c:1605 sequencer.c:1715 +#: sequencer.c:1562 sequencer.c:1673 #, c-format msgid "unknown command: %d" msgstr "未知命令:%d" -#: sequencer.c:1662 sequencer.c:1687 +#: sequencer.c:1620 sequencer.c:1645 #, c-format msgid "This is a combination of %d commits." msgstr "这是一个 %d 个提交的组合。" -#: sequencer.c:1672 +#: sequencer.c:1630 msgid "need a HEAD to fixup" msgstr "需要一个 HEAD 来修复" -#: sequencer.c:1674 sequencer.c:3219 +#: sequencer.c:1632 sequencer.c:3212 msgid "could not read HEAD" msgstr "不能读取 HEAD" -#: sequencer.c:1676 +#: sequencer.c:1634 msgid "could not read HEAD's commit message" msgstr "不能读取 HEAD 的提交说明" -#: sequencer.c:1682 +#: sequencer.c:1640 #, c-format msgid "cannot write '%s'" msgstr "不能写 '%s'" -#: sequencer.c:1689 git-rebase--preserve-merges.sh:496 +#: sequencer.c:1647 git-rebase--preserve-merges.sh:496 msgid "This is the 1st commit message:" msgstr "这是第一个提交说明:" -#: sequencer.c:1697 +#: sequencer.c:1655 #, c-format msgid "could not read commit message of %s" msgstr "不能读取 %s 的提交说明" -#: sequencer.c:1704 +#: sequencer.c:1662 #, c-format msgid "This is the commit message #%d:" msgstr "这是提交说明 #%d:" -#: sequencer.c:1710 +#: sequencer.c:1668 #, c-format msgid "The commit message #%d will be skipped:" msgstr "提交说明 #%d 将被跳过:" -#: sequencer.c:1798 +#: sequencer.c:1756 msgid "your index file is unmerged." msgstr "您的索引文件未完成合并。" -#: sequencer.c:1805 +#: sequencer.c:1763 msgid "cannot fixup root commit" msgstr "不能修复根提交" -#: sequencer.c:1824 +#: sequencer.c:1782 #, c-format msgid "commit %s is a merge but no -m option was given." msgstr "提交 %s 是一个合并提交但未提供 -m 选项。" -#: sequencer.c:1832 sequencer.c:1840 +#: sequencer.c:1790 sequencer.c:1798 #, c-format msgid "commit %s does not have parent %d" msgstr "提交 %s 没有第 %d 个父提交" -#: sequencer.c:1846 +#: sequencer.c:1804 #, c-format msgid "cannot get commit message for %s" msgstr "不能得到 %s 的提交说明" #. TRANSLATORS: The first %s will be a "todo" command like #. "revert" or "pick", the second %s a SHA1. -#: sequencer.c:1865 +#: sequencer.c:1823 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s:不能解析父提交 %s" -#: sequencer.c:1930 +#: sequencer.c:1888 #, c-format msgid "could not rename '%s' to '%s'" msgstr "不能将 '%s' 重命名为 '%s'" -#: sequencer.c:1985 +#: sequencer.c:1943 #, c-format msgid "could not revert %s... %s" msgstr "不能还原 %s... %s" -#: sequencer.c:1986 +#: sequencer.c:1944 #, c-format msgid "could not apply %s... %s" msgstr "不能应用 %s... %s" -#: sequencer.c:2045 +#: sequencer.c:1961 +#, c-format +msgid "dropping %s %s -- patch contents already upstream\n" +msgstr "丢弃 %s %s -- 补丁内容已在上游\n" + +#: sequencer.c:2018 #, c-format msgid "git %s: failed to read the index" msgstr "git %s:无法读取索引" -#: sequencer.c:2052 +#: sequencer.c:2025 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s:无法刷新索引" -#: sequencer.c:2128 +#: sequencer.c:2102 #, c-format msgid "%s does not accept arguments: '%s'" msgstr "%s 不接受参数:'%s'" -#: sequencer.c:2137 +#: sequencer.c:2111 #, c-format msgid "missing arguments for %s" msgstr "缺少 %s 的参数" -#: sequencer.c:2174 +#: sequencer.c:2142 #, c-format -msgid "could not parse '%.*s'" -msgstr "无法解析 '%.*s'" +msgid "could not parse '%s'" +msgstr "无法解析 '%s'" -#: sequencer.c:2228 +#: sequencer.c:2203 #, c-format msgid "invalid line %d: %.*s" msgstr "无效行 %d:%.*s" -#: sequencer.c:2239 +#: sequencer.c:2214 #, c-format msgid "cannot '%s' without a previous commit" msgstr "没有父提交的情况下不能 '%s'" -#: sequencer.c:2287 builtin/rebase.c:153 builtin/rebase.c:178 -#: builtin/rebase.c:204 builtin/rebase.c:229 -#, c-format -msgid "could not read '%s'." -msgstr "不能读取 '%s'。" - -#: sequencer.c:2323 +#: sequencer.c:2298 msgid "cancelling a cherry picking in progress" msgstr "正在取消一个进行中的拣选" -#: sequencer.c:2330 +#: sequencer.c:2305 msgid "cancelling a revert in progress" msgstr "正在取消一个进行中的还原" -#: sequencer.c:2364 +#: sequencer.c:2349 msgid "please fix this using 'git rebase --edit-todo'." msgstr "请用 'git rebase --edit-todo' 来修改。" -#: sequencer.c:2366 +#: sequencer.c:2351 #, c-format msgid "unusable instruction sheet: '%s'" msgstr "不可用的指令清单:'%s'" -#: sequencer.c:2371 +#: sequencer.c:2356 msgid "no commits parsed." msgstr "没有解析提交。" -#: sequencer.c:2382 +#: sequencer.c:2367 msgid "cannot cherry-pick during a revert." msgstr "不能在回退中执行拣选。" -#: sequencer.c:2384 +#: sequencer.c:2369 msgid "cannot revert during a cherry-pick." msgstr "不能在拣选中执行回退。" -#: sequencer.c:2466 +#: sequencer.c:2447 #, c-format msgid "invalid value for %s: %s" msgstr "%s 的值无效:%s" -#: sequencer.c:2553 +#: sequencer.c:2540 msgid "unusable squash-onto" msgstr "不可用的 squash-onto" -#: sequencer.c:2569 +#: sequencer.c:2556 #, c-format msgid "malformed options sheet: '%s'" msgstr "格式错误的选项清单:'%s'" -#: sequencer.c:2652 sequencer.c:4351 +#: sequencer.c:2644 sequencer.c:4361 msgid "empty commit set passed" msgstr "提供了空的提交集" -#: sequencer.c:2668 +#: sequencer.c:2660 msgid "revert is already in progress" msgstr "一个还原操作已在进行" -#: sequencer.c:2670 +#: sequencer.c:2662 #, c-format msgid "try \"git revert (--continue | %s--abort | --quit)\"" msgstr "尝试 \"git revert (--continue | %s--abort | --quit)\"" -#: sequencer.c:2673 +#: sequencer.c:2665 msgid "cherry-pick is already in progress" msgstr "拣选操作已在进行" -#: sequencer.c:2675 +#: sequencer.c:2667 #, c-format msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\"" msgstr "尝试 \"git cherry-pick (--continue | %s--abort | --quit)\"" -#: sequencer.c:2689 +#: sequencer.c:2681 #, c-format msgid "could not create sequencer directory '%s'" msgstr "不能创建序列目录 '%s'" -#: sequencer.c:2704 +#: sequencer.c:2696 msgid "could not lock HEAD" msgstr "不能锁定 HEAD" -#: sequencer.c:2764 sequencer.c:4103 +#: sequencer.c:2756 sequencer.c:4099 msgid "no cherry-pick or revert in progress" msgstr "拣选或还原操作并未进行" -#: sequencer.c:2766 sequencer.c:2777 +#: sequencer.c:2758 sequencer.c:2769 msgid "cannot resolve HEAD" msgstr "不能解析 HEAD" -#: sequencer.c:2768 sequencer.c:2812 +#: sequencer.c:2760 sequencer.c:2804 msgid "cannot abort from a branch yet to be born" msgstr "不能从尚未建立的分支终止" -#: sequencer.c:2798 builtin/grep.c:734 +#: sequencer.c:2790 builtin/grep.c:724 #, c-format msgid "cannot open '%s'" msgstr "不能打开 '%s'" -#: sequencer.c:2800 +#: sequencer.c:2792 #, c-format msgid "cannot read '%s': %s" msgstr "不能读取 '%s':%s" -#: sequencer.c:2801 +#: sequencer.c:2793 msgid "unexpected end of file" msgstr "意外的文件结束" -#: sequencer.c:2807 +#: sequencer.c:2799 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "保存拣选提交前的 HEAD 文件 '%s' 损坏" -#: sequencer.c:2818 +#: sequencer.c:2810 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!" msgstr "您好像移动了 HEAD。未能回退,检查您的 HEAD!" -#: sequencer.c:2859 +#: sequencer.c:2851 msgid "no revert in progress" msgstr "没有正在进行的还原" -#: sequencer.c:2867 +#: sequencer.c:2859 msgid "no cherry-pick in progress" msgstr "没有正在进行的拣选" -#: sequencer.c:2877 +#: sequencer.c:2869 msgid "failed to skip the commit" msgstr "无法跳过这个提交" -#: sequencer.c:2884 +#: sequencer.c:2876 msgid "there is nothing to skip" msgstr "没有要跳过的" -#: sequencer.c:2887 +#: sequencer.c:2879 #, c-format msgid "" "have you committed already?\n" @@ -6288,21 +7022,21 @@ msgstr "" "您已经提交了么?\n" "试试 \"git %s --continue\"" -#: sequencer.c:3011 sequencer.c:4015 +#: sequencer.c:3003 sequencer.c:4011 #, c-format msgid "could not update %s" msgstr "不能更新 %s" -#: sequencer.c:3049 sequencer.c:3995 +#: sequencer.c:3042 sequencer.c:3991 msgid "cannot read HEAD" msgstr "不能读取 HEAD" -#: sequencer.c:3066 +#: sequencer.c:3059 #, c-format msgid "unable to copy '%s' to '%s'" msgstr "无法拷贝 '%s' 至 '%s'" -#: sequencer.c:3074 +#: sequencer.c:3067 #, c-format msgid "" "You can amend the commit now, with\n" @@ -6321,28 +7055,23 @@ msgstr "" "\n" " git rebase --continue\n" -#: sequencer.c:3084 +#: sequencer.c:3077 #, c-format msgid "Could not apply %s... %.*s" msgstr "不能应用 %s... %.*s" -#: sequencer.c:3091 +#: sequencer.c:3084 #, c-format msgid "Could not merge %.*s" msgstr "不能合并 %.*s" -#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633 +#: sequencer.c:3098 sequencer.c:3102 builtin/difftool.c:641 #, c-format msgid "could not copy '%s' to '%s'" msgstr "不能拷贝 '%s' 至 '%s'" -#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582 -#: builtin/rebase.c:1953 builtin/rebase.c:2008 -msgid "could not read index" -msgstr "不能读取索引" - # 译者:注意保持前导空格 -#: sequencer.c:3136 +#: sequencer.c:3129 #, c-format msgid "" "execution failed: %s\n" @@ -6357,11 +7086,11 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3142 +#: sequencer.c:3135 msgid "and made changes to the index and/or the working tree\n" msgstr "并且修改索引和/或工作区\n" -#: sequencer.c:3148 +#: sequencer.c:3141 #, c-format msgid "" "execution succeeded: %s\n" @@ -6378,76 +7107,72 @@ msgstr "" " git rebase --continue\n" "\n" -#: sequencer.c:3209 +#: sequencer.c:3202 #, c-format msgid "illegal label name: '%.*s'" msgstr "非法的标签名称:'%.*s'" -#: sequencer.c:3263 +#: sequencer.c:3256 msgid "writing fake root commit" msgstr "写伪根提交" -#: sequencer.c:3268 +#: sequencer.c:3261 msgid "writing squash-onto" msgstr "写入 squash-onto" -#: sequencer.c:3306 builtin/rebase.c:854 builtin/rebase.c:860 +#: sequencer.c:3299 builtin/rebase.c:880 builtin/rebase.c:886 #, c-format msgid "failed to find tree of %s" msgstr "无法找到 %s 指向的树。" -#: sequencer.c:3324 builtin/rebase.c:873 -msgid "could not write index" -msgstr "不能写入索引" - -#: sequencer.c:3351 +#: sequencer.c:3344 #, c-format msgid "could not resolve '%s'" msgstr "无法解析 '%s'" -#: sequencer.c:3379 +#: sequencer.c:3375 msgid "cannot merge without a current revision" msgstr "没有当前版本不能合并" -#: sequencer.c:3401 +#: sequencer.c:3397 #, c-format msgid "unable to parse '%.*s'" msgstr "无法解析 '%.*s'" -#: sequencer.c:3410 +#: sequencer.c:3406 #, c-format msgid "nothing to merge: '%.*s'" msgstr "无可用合并:'%.*s'" -#: sequencer.c:3422 +#: sequencer.c:3418 msgid "octopus merge cannot be executed on top of a [new root]" msgstr "章鱼合并不能在一个新的根提交上执行" -#: sequencer.c:3437 +#: sequencer.c:3434 #, c-format msgid "could not get commit message of '%s'" msgstr "不能获取 '%s' 的提交说明" -#: sequencer.c:3590 +#: sequencer.c:3594 #, c-format msgid "could not even attempt to merge '%.*s'" msgstr "甚至不能尝试合并 '%.*s'" -#: sequencer.c:3606 +#: sequencer.c:3610 msgid "merge: Unable to write new index file" msgstr "合并:无法写入新索引文件" -#: sequencer.c:3675 builtin/rebase.c:711 +#: sequencer.c:3679 builtin/rebase.c:737 #, c-format msgid "Applied autostash.\n" msgstr "已应用 autostash。\n" -#: sequencer.c:3687 +#: sequencer.c:3691 #, c-format msgid "cannot store %s" msgstr "不能存储 %s" -#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113 +#: sequencer.c:3694 builtin/rebase.c:753 git-rebase--preserve-merges.sh:113 #, c-format msgid "" "Applying autostash resulted in conflicts.\n" @@ -6458,31 +7183,26 @@ msgstr "" "您的修改安全地保存在贮藏区中。\n" "您可以在任何时候运行 \"git stash pop\" 或 \"git stash drop\"。\n" -#: sequencer.c:3751 -#, c-format -msgid "could not checkout %s" -msgstr "不能检出 %s" - -#: sequencer.c:3765 +#: sequencer.c:3755 #, c-format msgid "%s: not a valid OID" msgstr "%s:不是一个有效的对象 ID" -#: sequencer.c:3770 git-rebase--preserve-merges.sh:779 +#: sequencer.c:3760 git-rebase--preserve-merges.sh:779 msgid "could not detach HEAD" msgstr "不能分离头指针" -#: sequencer.c:3785 +#: sequencer.c:3775 #, c-format msgid "Stopped at HEAD\n" msgstr "停止在 HEAD\n" -#: sequencer.c:3787 +#: sequencer.c:3777 #, c-format msgid "Stopped at %s\n" msgstr "停止在 %s\n" -#: sequencer.c:3795 +#: sequencer.c:3785 #, c-format msgid "" "Could not execute the todo command\n" @@ -6502,48 +7222,48 @@ msgstr "" " git rebase --edit-todo\n" " git rebase --continue\n" -#: sequencer.c:3877 +#: sequencer.c:3869 #, c-format msgid "Stopped at %s... %.*s\n" msgstr "停止在 %s... %.*s\n" -#: sequencer.c:3958 +#: sequencer.c:3940 #, c-format msgid "unknown command %d" msgstr "未知命令 %d" -#: sequencer.c:4003 +#: sequencer.c:3999 msgid "could not read orig-head" msgstr "不能读取 orig-head" -#: sequencer.c:4008 +#: sequencer.c:4004 msgid "could not read 'onto'" msgstr "不能读取 'onto'" -#: sequencer.c:4022 +#: sequencer.c:4018 #, c-format msgid "could not update HEAD to %s" msgstr "不能更新 HEAD 为 %s" -#: sequencer.c:4115 +#: sequencer.c:4111 msgid "cannot rebase: You have unstaged changes." msgstr "不能变基:您有未暂存的变更。" -#: sequencer.c:4124 +#: sequencer.c:4120 msgid "cannot amend non-existing commit" msgstr "不能修补不存在的提交" -#: sequencer.c:4126 +#: sequencer.c:4122 #, c-format msgid "invalid file: '%s'" msgstr "无效文件:'%s'" -#: sequencer.c:4128 +#: sequencer.c:4124 #, c-format msgid "invalid contents: '%s'" msgstr "无效内容:'%s'" -#: sequencer.c:4131 +#: sequencer.c:4127 msgid "" "\n" "You have uncommitted changes in your working tree. Please, commit them\n" @@ -6552,68 +7272,59 @@ msgstr "" "\n" "您的工作区中有未提交的变更。请先提交然后再次运行 'git rebase --continue'。" -#: sequencer.c:4167 sequencer.c:4205 +#: sequencer.c:4163 sequencer.c:4202 #, c-format msgid "could not write file: '%s'" msgstr "不能写入文件:'%s'" -#: sequencer.c:4220 +#: sequencer.c:4217 msgid "could not remove CHERRY_PICK_HEAD" msgstr "不能删除 CHERRY_PICK_HEAD" -#: sequencer.c:4227 +#: sequencer.c:4224 msgid "could not commit staged changes." msgstr "不能提交暂存的修改。" -#: sequencer.c:4328 +#: sequencer.c:4338 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s:不能拣选一个%s" -#: sequencer.c:4332 +#: sequencer.c:4342 #, c-format msgid "%s: bad revision" msgstr "%s:错误的版本" -#: sequencer.c:4367 +#: sequencer.c:4377 msgid "can't revert as initial commit" msgstr "不能作为初始提交回退" -#: sequencer.c:4810 +#: sequencer.c:4846 msgid "make_script: unhandled options" msgstr "make_script:有未能处理的选项" -#: sequencer.c:4813 +#: sequencer.c:4849 msgid "make_script: error preparing revisions" msgstr "make_script:准备版本时错误" -#: sequencer.c:4971 -msgid "" -"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --" -"continue'.\n" -"Or you can abort the rebase with 'git rebase --abort'.\n" -msgstr "" -"您可以用 'git rebase --edit-todo' 修正,然后执行 'git rebase --continue'。\n" -"或者您可以用 'git rebase --abort' 终止变基。\n" - #: sequencer.c:5083 sequencer.c:5100 msgid "nothing to do" msgstr "无事可做" -#: sequencer.c:5114 +#: sequencer.c:5119 msgid "could not skip unnecessary pick commands" msgstr "无法跳过不必要的拣选" -#: sequencer.c:5197 +#: sequencer.c:5213 msgid "the script was already rearranged." msgstr "脚本已经重新编排。" -#: setup.c:123 +#: setup.c:124 #, c-format -msgid "'%s' is outside repository" -msgstr "'%s' 在仓库之外" +msgid "'%s' is outside repository at '%s'" +msgstr "'%s' 在位于 '%s' 的仓库之外" -#: setup.c:173 +#: setup.c:175 #, c-format msgid "" "%s: no such path in the working tree.\n" @@ -6622,7 +7333,7 @@ msgstr "" "%s:工作区中无此路径。\n" "使用命令 'git <命令> -- <路径>...' 来指定本地不存在的路径。" -#: setup.c:186 +#: setup.c:188 #, c-format msgid "" "ambiguous argument '%s': unknown revision or path not in the working tree.\n" @@ -6633,12 +7344,12 @@ msgstr "" "使用 '--' 来分隔版本和路径,例如:\n" "'git <命令> [<版本>...] -- [<文件>...]'" -#: setup.c:235 +#: setup.c:254 #, c-format msgid "option '%s' must come before non-option arguments" msgstr "选项 '%s' 必须在其他非选项参数之前" -#: setup.c:254 +#: setup.c:273 #, c-format msgid "" "ambiguous argument '%s': both revision and filename\n" @@ -6649,92 +7360,92 @@ msgstr "" "使用 '--' 来分隔版本和路径,例如:\n" "'git <命令> [<版本>...] -- [<文件>...]'" -#: setup.c:390 +#: setup.c:409 msgid "unable to set up work tree using invalid config" msgstr "无法使用无效配置来创建工作区" -#: setup.c:394 +#: setup.c:413 msgid "this operation must be run in a work tree" msgstr "该操作必须在一个工作区中运行" -#: setup.c:540 +#: setup.c:559 #, c-format msgid "Expected git repo version <= %d, found %d" msgstr "期望 git 仓库版本 <= %d,却得到 %d" -#: setup.c:548 +#: setup.c:567 msgid "unknown repository extensions found:" msgstr "发现未知的仓库扩展:" -#: setup.c:567 +#: setup.c:586 #, c-format msgid "error opening '%s'" msgstr "打开 '%s' 出错" -#: setup.c:569 +#: setup.c:588 #, c-format msgid "too large to be a .git file: '%s'" msgstr "文件太大,无法作为 .git 文件:'%s'" -#: setup.c:571 +#: setup.c:590 #, c-format msgid "error reading %s" msgstr "读取 %s 出错" -#: setup.c:573 +#: setup.c:592 #, c-format msgid "invalid gitfile format: %s" msgstr "无效的 gitfile 格式:%s" -#: setup.c:575 +#: setup.c:594 #, c-format msgid "no path in gitfile: %s" msgstr "在 gitfile 中没有路径:%s" -#: setup.c:577 +#: setup.c:596 #, c-format msgid "not a git repository: %s" msgstr "不是一个 git 仓库:%s" -#: setup.c:676 +#: setup.c:695 #, c-format msgid "'$%s' too big" msgstr "'$%s' 太大" -#: setup.c:690 +#: setup.c:709 #, c-format msgid "not a git repository: '%s'" msgstr "不是一个 git 仓库:'%s'" -#: setup.c:719 setup.c:721 setup.c:752 +#: setup.c:738 setup.c:740 setup.c:771 #, c-format msgid "cannot chdir to '%s'" msgstr "不能切换目录到 '%s'" -#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837 +#: setup.c:743 setup.c:799 setup.c:809 setup.c:848 setup.c:856 msgid "cannot come back to cwd" msgstr "无法返回当前工作目录" -#: setup.c:851 +#: setup.c:870 #, c-format msgid "failed to stat '%*s%s%s'" msgstr "获取 '%*s%s%s' 状态(stat)失败" -#: setup.c:1083 +#: setup.c:1108 msgid "Unable to read current working directory" msgstr "不能读取当前工作目录" -#: setup.c:1092 setup.c:1098 +#: setup.c:1117 setup.c:1123 #, c-format msgid "cannot change to '%s'" msgstr "不能切换到 '%s'" -#: setup.c:1103 +#: setup.c:1128 #, c-format msgid "not a git repository (or any of the parent directories): %s" msgstr "不是一个 git 仓库(或者任何父目录):%s" -#: setup.c:1109 +#: setup.c:1134 #, c-format msgid "" "not a git repository (or any parent up to mount point %s)\n" @@ -6743,7 +7454,7 @@ msgstr "" "不是一个 git 仓库(或者直至挂载点 %s 的任何父目录)\n" "停止在文件系统边界(未设置 GIT_DISCOVERY_ACROSS_FILESYSTEM)。" -#: setup.c:1220 +#: setup.c:1245 #, c-format msgid "" "problem with core.sharedRepository filemode value (0%.3o).\n" @@ -6752,282 +7463,282 @@ msgstr "" "参数 core.sharedRepository 的文件属性值有问题(0%.3o)。\n" "文件属主必须始终拥有读写权限。" -#: setup.c:1264 +#: setup.c:1289 msgid "open /dev/null or dup failed" msgstr "不能打开或者复制 /dev/null" -#: setup.c:1279 +#: setup.c:1304 msgid "fork failed" msgstr "fork 失败" -#: setup.c:1284 +#: setup.c:1309 msgid "setsid failed" msgstr "setsid 失败" -#: sha1-file.c:453 +#: sha1-file.c:452 #, c-format msgid "object directory %s does not exist; check .git/objects/info/alternates" msgstr "对象目录 %s 不存在,检查 .git/objects/info/alternates" -#: sha1-file.c:504 +#: sha1-file.c:503 #, c-format msgid "unable to normalize alternate object path: %s" msgstr "无法规范化备用对象路径:%s" -#: sha1-file.c:576 +#: sha1-file.c:575 #, c-format msgid "%s: ignoring alternate object stores, nesting too deep" msgstr "%s:忽略备用对象库,嵌套太深" -#: sha1-file.c:583 +#: sha1-file.c:582 #, c-format msgid "unable to normalize object directory: %s" msgstr "无法规范化对象目录: %s" -#: sha1-file.c:626 +#: sha1-file.c:625 msgid "unable to fdopen alternates lockfile" msgstr "无法 fdopen 替换锁文件" -#: sha1-file.c:644 +#: sha1-file.c:643 msgid "unable to read alternates file" msgstr "无法读取替代文件" -#: sha1-file.c:651 +#: sha1-file.c:650 msgid "unable to move new alternates file into place" msgstr "无法将新的替代文件移动到位" -#: sha1-file.c:686 +#: sha1-file.c:685 #, c-format msgid "path '%s' does not exist" msgstr "路径 '%s' 不存在" -#: sha1-file.c:712 +#: sha1-file.c:711 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "尚不支持将参考仓库 '%s' 作为一个链接检出。" -#: sha1-file.c:718 +#: sha1-file.c:717 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "参考仓库 '%s' 不是一个本地仓库。" -#: sha1-file.c:724 +#: sha1-file.c:723 #, c-format msgid "reference repository '%s' is shallow" msgstr "参考仓库 '%s' 是一个浅克隆" -#: sha1-file.c:732 +#: sha1-file.c:731 #, c-format msgid "reference repository '%s' is grafted" msgstr "参考仓库 '%s' 已被移植" -#: sha1-file.c:792 +#: sha1-file.c:791 #, c-format msgid "invalid line while parsing alternate refs: %s" msgstr "解析备用引用时无效的行:%s" -#: sha1-file.c:944 +#: sha1-file.c:943 #, c-format msgid "attempting to mmap % over limit %" msgstr "尝试 mmap %,超过了最大值 %" -#: sha1-file.c:969 +#: sha1-file.c:964 msgid "mmap failed" msgstr "mmap 失败" -#: sha1-file.c:1133 +#: sha1-file.c:1128 #, c-format msgid "object file %s is empty" msgstr "对象文件 %s 为空" -#: sha1-file.c:1257 sha1-file.c:2396 +#: sha1-file.c:1263 sha1-file.c:2443 #, c-format msgid "corrupt loose object '%s'" msgstr "损坏的松散对象 '%s'" -#: sha1-file.c:1259 sha1-file.c:2400 +#: sha1-file.c:1265 sha1-file.c:2447 #, c-format msgid "garbage at end of loose object '%s'" msgstr "松散对象 '%s' 后面有垃圾数据" -#: sha1-file.c:1301 +#: sha1-file.c:1307 msgid "invalid object type" msgstr "无效的对象类型" -#: sha1-file.c:1385 +#: sha1-file.c:1391 #, c-format msgid "unable to unpack %s header with --allow-unknown-type" msgstr "无法用 --allow-unknown-type 参数解开 %s 头信息" -#: sha1-file.c:1388 +#: sha1-file.c:1394 #, c-format msgid "unable to unpack %s header" msgstr "无法解开 %s 头部" -#: sha1-file.c:1394 +#: sha1-file.c:1400 #, c-format msgid "unable to parse %s header with --allow-unknown-type" msgstr "无法用 --allow-unknown-type 参数解析 %s 头信息" -#: sha1-file.c:1397 +#: sha1-file.c:1403 #, c-format msgid "unable to parse %s header" msgstr "无法解析 %s 头部" -#: sha1-file.c:1588 +#: sha1-file.c:1629 #, c-format msgid "failed to read object %s" msgstr "读取对象 %s 失败" -#: sha1-file.c:1592 +#: sha1-file.c:1633 #, c-format msgid "replacement %s not found for %s" msgstr "找不到 %2$s 的替代 %1$s" -#: sha1-file.c:1596 +#: sha1-file.c:1637 #, c-format msgid "loose object %s (stored in %s) is corrupt" msgstr "松散对象 %s(保存在 %s)已损坏" -#: sha1-file.c:1600 +#: sha1-file.c:1641 #, c-format msgid "packed object %s (stored in %s) is corrupt" msgstr "打包对象 %s(保存在 %s)已损坏" -#: sha1-file.c:1703 +#: sha1-file.c:1746 #, c-format msgid "unable to write file %s" msgstr "无法写文件 %s" -#: sha1-file.c:1710 +#: sha1-file.c:1753 #, c-format msgid "unable to set permission to '%s'" msgstr "无法为 '%s' 设置权限" -#: sha1-file.c:1717 +#: sha1-file.c:1760 msgid "file write error" msgstr "文件写错误" -#: sha1-file.c:1736 +#: sha1-file.c:1780 msgid "error when closing loose object file" msgstr "关闭松散对象文件时出错" -#: sha1-file.c:1801 +#: sha1-file.c:1845 #, c-format msgid "insufficient permission for adding an object to repository database %s" msgstr "权限不足,无法在仓库对象库 %s 中添加对象" -#: sha1-file.c:1803 +#: sha1-file.c:1847 msgid "unable to create temporary file" msgstr "无法创建临时文件" -#: sha1-file.c:1827 +#: sha1-file.c:1871 msgid "unable to write loose object file" msgstr "不能写松散对象文件" -#: sha1-file.c:1833 +#: sha1-file.c:1877 #, c-format msgid "unable to deflate new object %s (%d)" msgstr "不能压缩新对象 %s(%d)" -#: sha1-file.c:1837 +#: sha1-file.c:1881 #, c-format msgid "deflateEnd on object %s failed (%d)" msgstr "在对象 %s 上调用 deflateEnd 失败(%d)" -#: sha1-file.c:1841 +#: sha1-file.c:1885 #, c-format msgid "confused by unstable object source data for %s" msgstr "被 %s 的不稳定对象源数据搞糊涂了" -#: sha1-file.c:1851 builtin/pack-objects.c:925 +#: sha1-file.c:1895 builtin/pack-objects.c:1054 #, c-format msgid "failed utime() on %s" msgstr "在 %s 上调用 utime() 失败" -#: sha1-file.c:1926 +#: sha1-file.c:1972 #, c-format msgid "cannot read object for %s" msgstr "不能读取对象 %s" -#: sha1-file.c:1966 +#: sha1-file.c:2011 msgid "corrupt commit" msgstr "损坏的提交" -#: sha1-file.c:1974 +#: sha1-file.c:2019 msgid "corrupt tag" msgstr "损坏的标签" -#: sha1-file.c:2073 +#: sha1-file.c:2119 #, c-format msgid "read error while indexing %s" msgstr "索引 %s 时读取错误" -#: sha1-file.c:2076 +#: sha1-file.c:2122 #, c-format msgid "short read while indexing %s" msgstr "索引 %s 时读入不完整" -#: sha1-file.c:2149 sha1-file.c:2158 +#: sha1-file.c:2195 sha1-file.c:2205 #, c-format msgid "%s: failed to insert into database" msgstr "%s:插入数据库失败" -#: sha1-file.c:2164 +#: sha1-file.c:2211 #, c-format msgid "%s: unsupported file type" msgstr "%s:不支持的文件类型" -#: sha1-file.c:2188 +#: sha1-file.c:2235 #, c-format msgid "%s is not a valid object" msgstr "%s 不是一个有效的对象" -#: sha1-file.c:2190 +#: sha1-file.c:2237 #, c-format msgid "%s is not a valid '%s' object" msgstr "%s 不是一个有效的 '%s' 对象" -#: sha1-file.c:2217 builtin/index-pack.c:155 +#: sha1-file.c:2264 builtin/index-pack.c:155 #, c-format msgid "unable to open %s" msgstr "不能打开 %s" -#: sha1-file.c:2407 sha1-file.c:2459 +#: sha1-file.c:2454 sha1-file.c:2507 #, c-format msgid "hash mismatch for %s (expected %s)" msgstr "%s 的哈希值不匹配(预期 %s)" -#: sha1-file.c:2431 +#: sha1-file.c:2478 #, c-format msgid "unable to mmap %s" msgstr "不能 mmap %s" -#: sha1-file.c:2436 +#: sha1-file.c:2483 #, c-format msgid "unable to unpack header of %s" msgstr "无法解压缩 %s 的头部" -#: sha1-file.c:2442 +#: sha1-file.c:2489 #, c-format msgid "unable to parse header of %s" msgstr "无法解析 %s 的头部" -#: sha1-file.c:2453 +#: sha1-file.c:2500 #, c-format msgid "unable to unpack contents of %s" msgstr "无法解压缩 %s 的内容" -#: sha1-name.c:490 +#: sha1-name.c:486 #, c-format msgid "short SHA1 %s is ambiguous" msgstr "短 SHA1 %s 存在歧义" -#: sha1-name.c:501 +#: sha1-name.c:497 msgid "The candidates are:" msgstr "候选者有:" -#: sha1-name.c:800 +#: sha1-name.c:796 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -7048,44 +7759,110 @@ msgstr "" "引用,可能需要删除它们。运行 \"git config advice.objectNameWarning\n" "false\" 命令关闭本消息通知。" +#: sha1-name.c:916 +#, c-format +msgid "log for '%.*s' only goes back to %s" +msgstr "'%.*s' 的日志仅能回到 %s" + +#: sha1-name.c:924 +#, c-format +msgid "log for '%.*s' only has %d entries" +msgstr "'%.*s' 的日志仅有 %d 个条目" + +#: sha1-name.c:1689 +#, c-format +msgid "path '%s' exists on disk, but not in '%.*s'" +msgstr "路径 '%s' 在磁盘上,但是不在 '%.*s' 中" + +#: sha1-name.c:1695 +#, c-format +msgid "" +"path '%s' exists, but not '%s'\n" +"hint: Did you mean '%.*s:%s' aka '%.*s:./%s'?" +msgstr "" +"路径 '%s' 存在,而 '%s' 不存在\n" +"提示:您的意思是 '%.*s:%s' 亦即 '%.*s:./%s'?" + +#: sha1-name.c:1704 +#, c-format +msgid "path '%s' does not exist in '%.*s'" +msgstr "路径 '%s' 不在 '%.*s' 中" + +#: sha1-name.c:1732 +#, c-format +msgid "" +"path '%s' is in the index, but not at stage %d\n" +"hint: Did you mean ':%d:%s'?" +msgstr "" +"路径 '%s' 在索引中,但不在暂存区 %d 中\n" +"提示:您的意思是 ':%d:%s'?" + +#: sha1-name.c:1748 +#, c-format +msgid "" +"path '%s' is in the index, but not '%s'\n" +"hint: Did you mean ':%d:%s' aka ':%d:./%s'?" +msgstr "" +"路径 '%s' 在索引中,但 '%s' 不在\n" +"提示:您的意思是 ':%d:%s' 亦即 ':%d:./%s'?" + +#: sha1-name.c:1756 +#, c-format +msgid "path '%s' exists on disk, but not in the index" +msgstr "路径 '%s' 在磁盘上,但不在索引里" + +#: sha1-name.c:1758 +#, c-format +msgid "path '%s' does not exist (neither on disk nor in the index)" +msgstr "路径 '%s' 不存在(既不在磁盘上,也不在索引中)" + +#: sha1-name.c:1771 +msgid "relative path syntax can't be used outside working tree" +msgstr "不能在工作区之外使用相对路径语法" + +#: sha1-name.c:1909 +#, c-format +msgid "invalid object name '%.*s'." +msgstr "无效的对象名 '%.*s'。" + #. TRANSLATORS: IEC 80000-13:2008 gibibyte -#: strbuf.c:821 +#: strbuf.c:837 #, c-format msgid "%u.%2.2u GiB" msgstr "%u.%2.2u GiB" #. TRANSLATORS: IEC 80000-13:2008 gibibyte/second -#: strbuf.c:823 +#: strbuf.c:839 #, c-format msgid "%u.%2.2u GiB/s" msgstr "%u.%2.2u GiB/s" #. TRANSLATORS: IEC 80000-13:2008 mebibyte -#: strbuf.c:831 +#: strbuf.c:847 #, c-format msgid "%u.%2.2u MiB" msgstr "%u.%2.2u MiB" #. TRANSLATORS: IEC 80000-13:2008 mebibyte/second -#: strbuf.c:833 +#: strbuf.c:849 #, c-format msgid "%u.%2.2u MiB/s" msgstr "%u.%2.2u MiB/s" #. TRANSLATORS: IEC 80000-13:2008 kibibyte -#: strbuf.c:840 +#: strbuf.c:856 #, c-format msgid "%u.%2.2u KiB" msgstr "%u.%2.2u KiB" #. TRANSLATORS: IEC 80000-13:2008 kibibyte/second -#: strbuf.c:842 +#: strbuf.c:858 #, c-format msgid "%u.%2.2u KiB/s" msgstr "%u.%2.2u KiB/s" #. TRANSLATORS: IEC 80000-13:2008 byte -#: strbuf.c:848 +#: strbuf.c:864 #, c-format msgid "%u byte" msgid_plural "%u bytes" @@ -7093,13 +7870,18 @@ msgstr[0] "%u 字节" msgstr[1] "%u 字节" #. TRANSLATORS: IEC 80000-13:2008 byte/second -#: strbuf.c:850 +#: strbuf.c:866 #, c-format msgid "%u byte/s" msgid_plural "%u bytes/s" msgstr[0] "%u 字节/秒" msgstr[1] "%u 字节/秒" +#: strbuf.c:1164 +#, c-format +msgid "could not edit '%s'" +msgstr "不能编辑 '%s'" + #: submodule.c:114 submodule.c:143 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "无法修改未合并的 .gitmodules,先解决合并冲突" @@ -7128,62 +7910,139 @@ msgstr "位于未检出的子模组 '%s'" msgid "Pathspec '%s' is in submodule '%.*s'" msgstr "路径规格 '%s' 在子模组 '%.*s' 中" +#: submodule.c:434 +#, c-format +msgid "bad --ignore-submodules argument: %s" +msgstr "坏的 --ignore-submodules 参数:%s" + +#: submodule.c:815 +#, c-format +msgid "" +"Submodule in commit %s at path: '%s' collides with a submodule named the " +"same. Skipping it." +msgstr "提交 %s 中位于路径 '%s' 的子模组和同名的子模组冲突。 跳过它。" + #: submodule.c:910 #, c-format msgid "submodule entry '%s' (%s) is a %s, not a commit" msgstr "子模组条目 '%s'(%s)是一个 %s,不是一个提交" -#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989 +#: submodule.c:995 +#, c-format +msgid "" +"Could not run 'git rev-list --not --remotes -n 1' command in " +"submodule %s" +msgstr "无法在子模组 %s 中执行 'git rev-list <提交> --not --remotes -n 1'" + +#: submodule.c:1118 +#, c-format +msgid "process for submodule '%s' failed" +msgstr "处理子模组 '%s' 失败" + +#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:2045 msgid "Failed to resolve HEAD as a valid ref." msgstr "无法将 HEAD 解析为有效引用。" -#: submodule.c:1481 +#: submodule.c:1158 +#, c-format +msgid "Pushing submodule '%s'\n" +msgstr "正在推送子模组 '%s'\n" + +#: submodule.c:1161 +#, c-format +msgid "Unable to push submodule '%s'\n" +msgstr "无法推送子模组 '%s'\n" + +#: submodule.c:1453 #, c-format -msgid "Could not access submodule '%s'" -msgstr "无法访问子模组 '%s'" +msgid "Fetching submodule %s%s\n" +msgstr "正在获取子模组 %s%s\n" -#: submodule.c:1651 +#: submodule.c:1483 +#, c-format +msgid "Could not access submodule '%s'\n" +msgstr "无法访问子模组 '%s'\n" + +#: submodule.c:1637 +#, c-format +msgid "" +"Errors during submodule fetch:\n" +"%s" +msgstr "" +"获取子模组时的错误:\n" +"%s" + +#: submodule.c:1662 #, c-format msgid "'%s' not recognized as a git repository" msgstr "无法将 '%s' 识别为一个 git 仓库" -#: submodule.c:1789 +#: submodule.c:1679 +#, c-format +msgid "Could not run 'git status --porcelain=2' in submodule %s" +msgstr "无法在子模组 %s 中执行 'git status --porcelain=2'" + +#: submodule.c:1720 +#, c-format +msgid "'git status --porcelain=2' failed in submodule %s" +msgstr "在子模组 %s 中执行 'git status --porcelain=2' 失败" + +#: submodule.c:1800 #, c-format msgid "could not start 'git status' in submodule '%s'" msgstr "无法在子模组 '%s' 中启动 'git status'" -#: submodule.c:1802 +#: submodule.c:1813 #, c-format msgid "could not run 'git status' in submodule '%s'" msgstr "无法在子模组 '%s' 中执行 'git status'" -#: submodule.c:1817 +#: submodule.c:1828 #, c-format msgid "Could not unset core.worktree setting in submodule '%s'" msgstr "无法在子模组 '%s' 中取消 core.worktree 的设置" -#: submodule.c:1907 +#: submodule.c:1855 submodule.c:2165 +#, c-format +msgid "could not recurse into submodule '%s'" +msgstr "无法递归进子模组路径 '%s'" + +#: submodule.c:1876 +msgid "could not reset submodule index" +msgstr "无法重置子模组索引" + +#: submodule.c:1918 #, c-format msgid "submodule '%s' has dirty index" msgstr "子模组 '%s' 中有脏索引" -#: submodule.c:1959 +#: submodule.c:1970 #, c-format msgid "Submodule '%s' could not be updated." msgstr "子模组 '%s' 无法被更新。" -#: submodule.c:2007 +#: submodule.c:2038 +#, c-format +msgid "submodule git dir '%s' is inside git dir '%.*s'" +msgstr "子模组 git 目录 '%s' 位于 git 目录 '%.*s' 中" + +#: submodule.c:2059 #, c-format msgid "" "relocate_gitdir for submodule '%s' with more than one worktree not supported" msgstr "不支持对有多个工作区的子模组 '%s' 执行 relocate_gitdir" -#: submodule.c:2019 submodule.c:2074 +#: submodule.c:2071 submodule.c:2130 #, c-format msgid "could not lookup name for submodule '%s'" msgstr "不能查询子模组 '%s' 的名称" -#: submodule.c:2026 +#: submodule.c:2075 +#, c-format +msgid "refusing to move '%s' into an existing git dir" +msgstr "禁止移动 '%s' 到现存 git 目录中" + +#: submodule.c:2082 #, c-format msgid "" "Migrating git directory of '%s%s' from\n" @@ -7194,40 +8053,35 @@ msgstr "" "'%s' 迁移至\n" "'%s'\n" -#: submodule.c:2109 -#, c-format -msgid "could not recurse into submodule '%s'" -msgstr "无法递归进子模组路径 '%s'" - -#: submodule.c:2153 +#: submodule.c:2209 msgid "could not start ls-files in .." msgstr "无法在 .. 中启动 ls-files" -#: submodule.c:2192 +#: submodule.c:2248 #, c-format msgid "ls-tree returned unexpected return code %d" msgstr "ls-tree 返回未知返回值 %d" -#: submodule-config.c:232 +#: submodule-config.c:236 #, c-format msgid "ignoring suspicious submodule name: %s" msgstr "忽略可疑的子模组名称:%s" -#: submodule-config.c:299 +#: submodule-config.c:303 msgid "negative values not allowed for submodule.fetchjobs" msgstr "submodule.fetchjobs 不允许为负值" -#: submodule-config.c:397 +#: submodule-config.c:401 #, c-format msgid "ignoring '%s' which may be interpreted as a command-line option: %s" msgstr "忽略可能被解析为命令行选项的 '%s':%s" -#: submodule-config.c:486 +#: submodule-config.c:498 #, c-format msgid "invalid value for %s" msgstr "%s 的值无效" -#: submodule-config.c:755 +#: submodule-config.c:765 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "不能更新 .gitmodules 条目 %s" @@ -7243,7 +8097,7 @@ msgstr "执行 trailer 命令 '%s' 失败" msgid "unknown value '%s' for key '%s'" msgstr "键 '%2$s' 的未知取值 '%1$s'" -#: trailer.c:539 trailer.c:544 builtin/remote.c:295 +#: trailer.c:539 trailer.c:544 builtin/remote.c:298 builtin/remote.c:323 #, c-format msgid "more than one %s" msgstr "多于一个 %s" @@ -7262,7 +8116,7 @@ msgstr "不能读取输入文件 '%s'" msgid "could not read from stdin" msgstr "不能自标准输入读取" -#: trailer.c:1011 wrapper.c:701 +#: trailer.c:1011 wrapper.c:665 #, c-format msgid "could not stat %s" msgstr "不能对 %s 调用 stat" @@ -7291,54 +8145,54 @@ msgstr "不能重命名临时文件为 %s" msgid "Would set upstream of '%s' to '%s' of '%s'\n" msgstr "将要设置 '%1$s' 的上游为 '%3$s' 的 '%2$s'\n" -#: transport.c:142 +#: transport.c:145 #, c-format msgid "could not read bundle '%s'" msgstr "无法读取 bundle '%s'" -#: transport.c:208 +#: transport.c:214 #, c-format msgid "transport: invalid depth option '%s'" msgstr "传输:无效的深度选项 '%s'" -#: transport.c:259 +#: transport.c:266 msgid "see protocol.version in 'git help config' for more details" msgstr "查看 'git help config' 中的 protocol.version 获取更多信息" -#: transport.c:260 +#: transport.c:267 msgid "server options require protocol version 2 or later" msgstr "服务端选项需要版本 2 协议或更高" -#: transport.c:625 +#: transport.c:632 msgid "could not parse transport.color.* config" msgstr "不能解析 transport.color.* 配置" -#: transport.c:698 +#: transport.c:705 msgid "support for protocol v2 not implemented yet" msgstr "协议 v2 的支持尚未实现" -#: transport.c:825 +#: transport.c:831 #, c-format msgid "unknown value for config '%s': %s" msgstr "配置 '%s' 的取值未知:%s" -#: transport.c:891 +#: transport.c:897 #, c-format msgid "transport '%s' not allowed" msgstr "传输 '%s' 不允许" -#: transport.c:945 +#: transport.c:949 msgid "git-over-rsync is no longer supported" msgstr "不再支持 git-over-rsync" -#: transport.c:1040 +#: transport.c:1044 #, c-format msgid "" "The following submodule paths contain changes that can\n" "not be found on any remote:\n" msgstr "下列子模组路径所包含的修改在任何远程源中都找不到:\n" -#: transport.c:1044 +#: transport.c:1048 #, c-format msgid "" "\n" @@ -7365,131 +8219,136 @@ msgstr "" "以推送至远程。\n" "\n" -#: transport.c:1052 +#: transport.c:1056 msgid "Aborting." msgstr "正在终止。" -#: transport.c:1193 +#: transport.c:1201 msgid "failed to push all needed submodules" msgstr "不能推送全部需要的子模组" -#: transport.c:1340 transport-helper.c:645 +#: transport.c:1345 transport-helper.c:657 msgid "operation not supported by protocol" msgstr "协议不支持该操作" -#: transport-helper.c:51 transport-helper.c:80 +#: transport-helper.c:61 transport-helper.c:90 msgid "full write to remote helper failed" msgstr "完整写入远程助手失败" -#: transport-helper.c:134 +#: transport-helper.c:144 #, c-format msgid "unable to find remote helper for '%s'" msgstr "无法为 '%s' 找到远程助手" -#: transport-helper.c:150 transport-helper.c:559 +#: transport-helper.c:160 transport-helper.c:571 msgid "can't dup helper output fd" msgstr "无法复制助手输出文件句柄" -#: transport-helper.c:201 +#: transport-helper.c:211 #, c-format msgid "" "unknown mandatory capability %s; this remote helper probably needs newer " "version of Git" msgstr "未知的强制能力 %s,该远程助手可能需要新版本的Git" -#: transport-helper.c:207 +#: transport-helper.c:217 msgid "this remote helper should implement refspec capability" msgstr "远程助手需要实现 refspec 能力" -#: transport-helper.c:274 transport-helper.c:414 +#: transport-helper.c:284 transport-helper.c:425 #, c-format msgid "%s unexpectedly said: '%s'" msgstr "%s 意外地说:'%s'" -#: transport-helper.c:403 +#: transport-helper.c:414 #, c-format msgid "%s also locked %s" msgstr "%s 也锁定了 %s" -#: transport-helper.c:481 +#: transport-helper.c:493 msgid "couldn't run fast-import" msgstr "不能执行 fast-import" -#: transport-helper.c:504 +#: transport-helper.c:516 msgid "error while running fast-import" msgstr "执行 fast-import 出错" -#: transport-helper.c:533 transport-helper.c:1105 +#: transport-helper.c:545 transport-helper.c:1134 #, c-format msgid "could not read ref %s" msgstr "无法读取引用 %s" -#: transport-helper.c:578 +#: transport-helper.c:590 #, c-format msgid "unknown response to connect: %s" msgstr "连接时未知的响应:%s" -#: transport-helper.c:600 +#: transport-helper.c:612 msgid "setting remote service path not supported by protocol" msgstr "协议不支持设置远程服务路径" -#: transport-helper.c:602 +#: transport-helper.c:614 msgid "invalid remote service path" msgstr "无效的远程服务路径" -#: transport-helper.c:648 +#: transport-helper.c:660 #, c-format msgid "can't connect to subservice %s" msgstr "不能连接到子服务 %s" -#: transport-helper.c:720 +#: transport-helper.c:736 #, c-format msgid "expected ok/error, helper said '%s'" msgstr "预期 ok/error,助手说 '%s'" -#: transport-helper.c:773 +#: transport-helper.c:789 #, c-format msgid "helper reported unexpected status of %s" msgstr "助手报告 %s 的意外状态" -#: transport-helper.c:834 +#: transport-helper.c:850 #, c-format msgid "helper %s does not support dry-run" msgstr "助手 %s 不支持 dry-run" -#: transport-helper.c:837 +#: transport-helper.c:853 #, c-format msgid "helper %s does not support --signed" msgstr "助手 %s 不支持 --signed" -#: transport-helper.c:840 +#: transport-helper.c:856 #, c-format msgid "helper %s does not support --signed=if-asked" msgstr "助手 %s 不支持 --signed=if-asked" -#: transport-helper.c:847 +#: transport-helper.c:861 +#, c-format +msgid "helper %s does not support --atomic" +msgstr "助手 %s 不支持 --atomic" + +#: transport-helper.c:867 #, c-format msgid "helper %s does not support 'push-option'" msgstr "助手 %s 不支持 'push-option'" -#: transport-helper.c:945 +#: transport-helper.c:965 msgid "remote-helper doesn't support push; refspec needed" msgstr "remote-heper 不支持 push,需要引用表达式" -#: transport-helper.c:950 +#: transport-helper.c:970 #, c-format msgid "helper %s does not support 'force'" msgstr "助手 %s 不支持 'force'" -#: transport-helper.c:997 +#: transport-helper.c:1017 msgid "couldn't run fast-export" msgstr "无法执行 fast-export" -#: transport-helper.c:1002 +#: transport-helper.c:1022 msgid "error while running fast-export" msgstr "执行 fast-export 时出错" -#: transport-helper.c:1027 +#: transport-helper.c:1047 #, c-format msgid "" "No refs in common and none specified; doing nothing.\n" @@ -7498,67 +8357,67 @@ msgstr "" "没有共同的引用并且也没有指定,什么也不会做。\n" "可能您应该指定一个分支如 'master'。\n" -#: transport-helper.c:1091 +#: transport-helper.c:1120 #, c-format msgid "malformed response in ref list: %s" msgstr "引用列表中格式错误的响应:%s" -#: transport-helper.c:1244 +#: transport-helper.c:1272 #, c-format msgid "read(%s) failed" msgstr "读取(%s)失败" -#: transport-helper.c:1271 +#: transport-helper.c:1299 #, c-format msgid "write(%s) failed" msgstr "写(%s)失败" -#: transport-helper.c:1320 +#: transport-helper.c:1348 #, c-format msgid "%s thread failed" msgstr "%s 线程失败" -#: transport-helper.c:1324 +#: transport-helper.c:1352 #, c-format msgid "%s thread failed to join: %s" msgstr "%s 线程等待失败:%s" -#: transport-helper.c:1343 transport-helper.c:1347 +#: transport-helper.c:1371 transport-helper.c:1375 #, c-format msgid "can't start thread for copying data: %s" msgstr "不能启动线程来拷贝数据:%s" -#: transport-helper.c:1384 +#: transport-helper.c:1412 #, c-format msgid "%s process failed to wait" msgstr "%s 进程等待失败" -#: transport-helper.c:1388 +#: transport-helper.c:1416 #, c-format msgid "%s process failed" msgstr "%s 进程失败" -#: transport-helper.c:1406 transport-helper.c:1415 +#: transport-helper.c:1434 transport-helper.c:1443 msgid "can't start thread for copying data" msgstr "不能启动线程来拷贝数据" -#: tree-walk.c:33 +#: tree-walk.c:32 msgid "too-short tree object" msgstr "太短的树对象" -#: tree-walk.c:39 +#: tree-walk.c:38 msgid "malformed mode in tree entry" msgstr "树对象中的条目模式错误" -#: tree-walk.c:43 +#: tree-walk.c:42 msgid "empty filename in tree entry" msgstr "树对象条目中空的文件名" -#: tree-walk.c:118 +#: tree-walk.c:117 msgid "too-short tree file" msgstr "太短的树文件" -#: unpack-trees.c:111 +#: unpack-trees.c:110 #, c-format msgid "" "Your local changes to the following files would be overwritten by checkout:\n" @@ -7567,7 +8426,7 @@ msgstr "" "您对下列文件的本地修改将被检出操作覆盖:\n" "%%s请在切换分支前提交或贮藏您的修改。" -#: unpack-trees.c:113 +#: unpack-trees.c:112 #, c-format msgid "" "Your local changes to the following files would be overwritten by checkout:\n" @@ -7576,7 +8435,7 @@ msgstr "" "您对下列文件的本地修改将被检出操作覆盖:\n" "%%s" -#: unpack-trees.c:116 +#: unpack-trees.c:115 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -7585,7 +8444,7 @@ msgstr "" "您对下列文件的本地修改将被合并操作覆盖:\n" "%%s请在合并前提交或贮藏您的修改。" -#: unpack-trees.c:118 +#: unpack-trees.c:117 #, c-format msgid "" "Your local changes to the following files would be overwritten by merge:\n" @@ -7594,7 +8453,7 @@ msgstr "" "您对下列文件的本地修改将被合并操作覆盖:\n" "%%s" -#: unpack-trees.c:121 +#: unpack-trees.c:120 #, c-format msgid "" "Your local changes to the following files would be overwritten by %s:\n" @@ -7603,7 +8462,7 @@ msgstr "" "您对下列文件的本地修改将被 %s 覆盖:\n" "%%s请在 %s 之前提交或贮藏您的修改。" -#: unpack-trees.c:123 +#: unpack-trees.c:122 #, c-format msgid "" "Your local changes to the following files would be overwritten by %s:\n" @@ -7612,7 +8471,7 @@ msgstr "" "您对下列文件的本地修改将被 %s 覆盖:\n" "%%s" -#: unpack-trees.c:128 +#: unpack-trees.c:127 #, c-format msgid "" "Updating the following directories would lose untracked files in them:\n" @@ -7621,7 +8480,7 @@ msgstr "" "更新如下目录将会丢失其中未跟踪的文件:\n" "%s" -#: unpack-trees.c:132 +#: unpack-trees.c:131 #, c-format msgid "" "The following untracked working tree files would be removed by checkout:\n" @@ -7630,7 +8489,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n" "%%s请在切换分支之前移动或删除。" -#: unpack-trees.c:134 +#: unpack-trees.c:133 #, c-format msgid "" "The following untracked working tree files would be removed by checkout:\n" @@ -7639,7 +8498,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为检出操作而被删除:\n" "%%s" -#: unpack-trees.c:137 +#: unpack-trees.c:136 #, c-format msgid "" "The following untracked working tree files would be removed by merge:\n" @@ -7648,7 +8507,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n" "%%s请在合并前移动或删除。" -#: unpack-trees.c:139 +#: unpack-trees.c:138 #, c-format msgid "" "The following untracked working tree files would be removed by merge:\n" @@ -7657,7 +8516,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为合并操作而被删除:\n" "%%s" -#: unpack-trees.c:142 +#: unpack-trees.c:141 #, c-format msgid "" "The following untracked working tree files would be removed by %s:\n" @@ -7666,7 +8525,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n" "%%s请在 %s 前移动或删除。" -#: unpack-trees.c:144 +#: unpack-trees.c:143 #, c-format msgid "" "The following untracked working tree files would be removed by %s:\n" @@ -7675,7 +8534,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为 %s 操作而被删除:\n" "%%s" -#: unpack-trees.c:150 +#: unpack-trees.c:149 #, c-format msgid "" "The following untracked working tree files would be overwritten by " @@ -7685,7 +8544,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n" "%%s请在切换分支前移动或删除。" -#: unpack-trees.c:152 +#: unpack-trees.c:151 #, c-format msgid "" "The following untracked working tree files would be overwritten by " @@ -7695,7 +8554,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为检出操作而被覆盖:\n" "%%s" -#: unpack-trees.c:155 +#: unpack-trees.c:154 #, c-format msgid "" "The following untracked working tree files would be overwritten by merge:\n" @@ -7704,7 +8563,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n" "%%s请在合并前移动或删除。" -#: unpack-trees.c:157 +#: unpack-trees.c:156 #, c-format msgid "" "The following untracked working tree files would be overwritten by merge:\n" @@ -7713,7 +8572,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为合并操作而被覆盖:\n" "%%s" -#: unpack-trees.c:160 +#: unpack-trees.c:159 #, c-format msgid "" "The following untracked working tree files would be overwritten by %s:\n" @@ -7722,7 +8581,7 @@ msgstr "" "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n" "%%s请在 %s 前移动或删除。" -#: unpack-trees.c:162 +#: unpack-trees.c:161 #, c-format msgid "" "The following untracked working tree files would be overwritten by %s:\n" @@ -7731,12 +8590,12 @@ msgstr "" "工作区中下列未跟踪的文件将会因为 %s 操作而被覆盖:\n" "%%s" -#: unpack-trees.c:170 +#: unpack-trees.c:169 #, c-format msgid "Entry '%s' overlaps with '%s'. Cannot bind." msgstr "条目 '%s' 和 '%s' 重叠。无法合并。" -#: unpack-trees.c:173 +#: unpack-trees.c:172 #, c-format msgid "" "Cannot update sparse checkout: the following entries are not up to date:\n" @@ -7745,7 +8604,7 @@ msgstr "" "无法更新稀疏检出:如下条目不是最新:\n" "%s" -#: unpack-trees.c:175 +#: unpack-trees.c:174 #, c-format msgid "" "The following working tree files would be overwritten by sparse checkout " @@ -7755,7 +8614,7 @@ msgstr "" "工作区中下列文件将被稀疏检出更新所覆盖:\n" "%s" -#: unpack-trees.c:177 +#: unpack-trees.c:176 #, c-format msgid "" "The following working tree files would be removed by sparse checkout " @@ -7765,7 +8624,7 @@ msgstr "" "工作区中下列文件将被稀疏检出更新所删除:\n" "%s" -#: unpack-trees.c:179 +#: unpack-trees.c:178 #, c-format msgid "" "Cannot update submodule:\n" @@ -7774,16 +8633,16 @@ msgstr "" "无法更新子模组:\n" "%s" -#: unpack-trees.c:256 +#: unpack-trees.c:255 #, c-format msgid "Aborting\n" msgstr "正在终止\n" -#: unpack-trees.c:318 +#: unpack-trees.c:317 msgid "Updating files" msgstr "正在更新文件" -#: unpack-trees.c:350 +#: unpack-trees.c:349 msgid "" "the following paths have collided (e.g. case-sensitive paths\n" "on a case-insensitive filesystem) and only one from the same\n" @@ -7792,6 +8651,10 @@ msgstr "" "以下路径发生碰撞(如:在不区分大小写的文件系统上的区分大小写的路径),\n" "并且碰撞组中只有一个文件存在工作区中:\n" +#: unpack-trees.c:1445 +msgid "Updating index flags" +msgstr "正在更新索引标志" + #: urlmatch.c:163 msgid "invalid URL scheme name or missing '://' suffix" msgstr "无效的 URL 方案名称或丢失 '://' 后缀" @@ -7821,47 +8684,51 @@ msgstr "无效的端口号" msgid "invalid '..' path segment" msgstr "无效的 '..' 路径片段" -#: worktree.c:258 builtin/am.c:2095 +#: walker.c:170 +msgid "Fetching objects" +msgstr "正在获取对象" + +#: worktree.c:259 builtin/am.c:2099 #, c-format msgid "failed to read '%s'" msgstr "读取 '%s' 失败" -#: worktree.c:304 +#: worktree.c:305 #, c-format msgid "'%s' at main working tree is not the repository directory" msgstr "在主工作区的 '%s' 不是仓库目录" -#: worktree.c:315 +#: worktree.c:316 #, c-format msgid "'%s' file does not contain absolute path to the working tree location" msgstr "文件 '%s' 不包含工作区的绝对路径" -#: worktree.c:327 +#: worktree.c:328 #, c-format msgid "'%s' does not exist" msgstr "'%s' 不存在" -#: worktree.c:333 +#: worktree.c:334 #, c-format msgid "'%s' is not a .git file, error code %d" msgstr "'%s' 不是一个 .git 文件,错误码 %d" -#: worktree.c:341 +#: worktree.c:342 #, c-format msgid "'%s' does not point back to '%s'" msgstr "'%s' 没有指回到 '%s'" -#: wrapper.c:223 wrapper.c:393 +#: wrapper.c:186 wrapper.c:356 #, c-format msgid "could not open '%s' for reading and writing" msgstr "无法打开 '%s' 进行读写" -#: wrapper.c:424 wrapper.c:624 +#: wrapper.c:387 wrapper.c:588 #, c-format msgid "unable to access '%s'" msgstr "不能访问 '%s'" -#: wrapper.c:632 +#: wrapper.c:596 msgid "unable to get current working directory" msgstr "不能获取当前工作目录" @@ -8216,85 +9083,95 @@ msgstr " (所有冲突已解决:运行 \"git cherry-pick --continue\")" # 译者:注意保持前导空格 #: wt-status.c:1437 +msgid " (use \"git cherry-pick --skip\" to skip this patch)" +msgstr " (使用 \"git cherry-pick --skip\" 跳过此补丁)" + +# 译者:注意保持前导空格 +#: wt-status.c:1439 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (使用 \"git cherry-pick --abort\" 以取消拣选操作)" -#: wt-status.c:1447 +#: wt-status.c:1449 msgid "Revert currently in progress." msgstr "还原操作正在行中。" -#: wt-status.c:1450 +#: wt-status.c:1452 #, c-format msgid "You are currently reverting commit %s." msgstr "您在执行反转提交 %s 的操作。" # 译者:注意保持前导空格 -#: wt-status.c:1456 +#: wt-status.c:1458 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (解决冲突并执行 \"git revert --continue\")" # 译者:注意保持前导空格 -#: wt-status.c:1459 +#: wt-status.c:1461 msgid " (run \"git revert --continue\" to continue)" msgstr " (执行 \"git revert --continue\" 以继续)" # 译者:注意保持前导空格 -#: wt-status.c:1462 +#: wt-status.c:1464 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (所有冲突已解决:执行 \"git revert --continue\")" # 译者:注意保持前导空格 -#: wt-status.c:1464 +#: wt-status.c:1466 +msgid " (use \"git revert --skip\" to skip this patch)" +msgstr " (使用 \"git revert --skip\" 跳过此补丁)" + +# 译者:注意保持前导空格 +#: wt-status.c:1468 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (使用 \"git revert --abort\" 以取消反转提交操作)" -#: wt-status.c:1474 +#: wt-status.c:1478 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "您在执行从分支 '%s' 开始的二分查找操作。" -#: wt-status.c:1478 +#: wt-status.c:1482 msgid "You are currently bisecting." msgstr "您在执行二分查找操作。" # 译者:注意保持前导空格 -#: wt-status.c:1481 +#: wt-status.c:1485 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (使用 \"git bisect reset\" 以回到原有分支)" -#: wt-status.c:1690 +#: wt-status.c:1694 msgid "On branch " msgstr "位于分支 " -#: wt-status.c:1697 +#: wt-status.c:1701 msgid "interactive rebase in progress; onto " msgstr "交互式变基操作正在进行中;至 " -#: wt-status.c:1699 +#: wt-status.c:1703 msgid "rebase in progress; onto " msgstr "变基操作正在进行中;至 " -#: wt-status.c:1709 +#: wt-status.c:1713 msgid "Not currently on any branch." msgstr "当前不在任何分支上。" -#: wt-status.c:1726 +#: wt-status.c:1730 msgid "Initial commit" msgstr "初始提交" -#: wt-status.c:1727 +#: wt-status.c:1731 msgid "No commits yet" msgstr "尚无提交" -#: wt-status.c:1741 +#: wt-status.c:1745 msgid "Untracked files" msgstr "未跟踪的文件" -#: wt-status.c:1743 +#: wt-status.c:1747 msgid "Ignored files" msgstr "忽略的文件" -#: wt-status.c:1747 +#: wt-status.c:1751 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -8304,221 +9181,230 @@ msgstr "" "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能提高速度,\n" "但您需要小心不要忘了添加新文件(参见 'git help status')。" -#: wt-status.c:1753 +#: wt-status.c:1757 #, c-format msgid "Untracked files not listed%s" msgstr "未跟踪的文件没有列出%s" # 译者:中文字符串拼接,可删除前导空格 -#: wt-status.c:1755 +#: wt-status.c:1759 msgid " (use -u option to show untracked files)" msgstr "(使用 -u 参数显示未跟踪的文件)" -#: wt-status.c:1761 +#: wt-status.c:1765 msgid "No changes" msgstr "没有修改" -#: wt-status.c:1766 +#: wt-status.c:1770 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "修改尚未加入提交(使用 \"git add\" 和/或 \"git commit -a\")\n" -#: wt-status.c:1769 +#: wt-status.c:1773 #, c-format msgid "no changes added to commit\n" msgstr "修改尚未加入提交\n" -#: wt-status.c:1772 +#: wt-status.c:1776 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " "track)\n" msgstr "提交为空,但是存在尚未跟踪的文件(使用 \"git add\" 建立跟踪)\n" -#: wt-status.c:1775 +#: wt-status.c:1779 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "提交为空,但是存在尚未跟踪的文件\n" # 译者:中文字符串拼接,可删除前导空格 -#: wt-status.c:1778 +#: wt-status.c:1782 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "无文件要提交(创建/拷贝文件并使用 \"git add\" 建立跟踪)\n" -#: wt-status.c:1781 wt-status.c:1786 +#: wt-status.c:1785 wt-status.c:1790 #, c-format msgid "nothing to commit\n" msgstr "无文件要提交\n" # 译者:中文字符串拼接,可删除前导空格 -#: wt-status.c:1784 +#: wt-status.c:1788 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "无文件要提交(使用 -u 显示未跟踪的文件)\n" # 译者:中文字符串拼接,可删除前导空格 -#: wt-status.c:1788 +#: wt-status.c:1792 #, c-format msgid "nothing to commit, working tree clean\n" msgstr "无文件要提交,干净的工作区\n" -#: wt-status.c:1901 +#: wt-status.c:1905 msgid "No commits yet on " msgstr "尚无提交在 " -#: wt-status.c:1905 +#: wt-status.c:1909 msgid "HEAD (no branch)" msgstr "HEAD(非分支)" -#: wt-status.c:1936 +#: wt-status.c:1940 msgid "different" msgstr "不同" # 译者:注意保持句尾空格 -#: wt-status.c:1938 wt-status.c:1946 +#: wt-status.c:1942 wt-status.c:1950 msgid "behind " msgstr "落后 " -#: wt-status.c:1941 wt-status.c:1944 +#: wt-status.c:1945 wt-status.c:1948 msgid "ahead " msgstr "领先 " #. TRANSLATORS: the action is e.g. "pull with rebase" -#: wt-status.c:2466 +#: wt-status.c:2470 #, c-format msgid "cannot %s: You have unstaged changes." msgstr "不能%s:您有未暂存的变更。" -#: wt-status.c:2472 +#: wt-status.c:2476 msgid "additionally, your index contains uncommitted changes." msgstr "另外,您的索引中包含未提交的变更。" -#: wt-status.c:2474 +#: wt-status.c:2478 #, c-format msgid "cannot %s: Your index contains uncommitted changes." msgstr "不能%s:您的索引中包含未提交的变更。" -#: builtin/add.c:25 +#: compat/precompose_utf8.c:58 builtin/clone.c:455 +#, c-format +msgid "failed to unlink '%s'" +msgstr "删除 '%s' 失败" + +#: builtin/add.c:26 msgid "git add [] [--] ..." msgstr "git add [<选项>] [--] <路径规格>..." -#: builtin/add.c:84 +#: builtin/add.c:88 #, c-format msgid "unexpected diff status %c" msgstr "意外的差异状态 %c" -#: builtin/add.c:89 builtin/commit.c:288 +#: builtin/add.c:93 builtin/commit.c:288 msgid "updating files failed" msgstr "更新文件失败" -#: builtin/add.c:99 +#: builtin/add.c:103 #, c-format msgid "remove '%s'\n" msgstr "删除 '%s'\n" -#: builtin/add.c:174 +#: builtin/add.c:178 msgid "Unstaged changes after refreshing the index:" msgstr "刷新索引之后尚未被暂存的变更:" -#: builtin/add.c:234 builtin/rev-parse.c:896 +#: builtin/add.c:266 builtin/rev-parse.c:899 msgid "Could not read the index" msgstr "不能读取索引" -#: builtin/add.c:245 +#: builtin/add.c:277 #, c-format msgid "Could not open '%s' for writing." msgstr "无法为写入打开 '%s'。" -#: builtin/add.c:249 +#: builtin/add.c:281 msgid "Could not write patch" msgstr "不能生成补丁" -#: builtin/add.c:252 +#: builtin/add.c:284 msgid "editing patch failed" msgstr "编辑补丁失败" -#: builtin/add.c:255 +#: builtin/add.c:287 #, c-format msgid "Could not stat '%s'" msgstr "不能对 '%s' 调用 stat" -#: builtin/add.c:257 +#: builtin/add.c:289 msgid "Empty patch. Aborted." msgstr "空补丁。异常终止。" -#: builtin/add.c:262 +#: builtin/add.c:294 #, c-format msgid "Could not apply '%s'" msgstr "不能应用 '%s'" -#: builtin/add.c:270 +#: builtin/add.c:302 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "下列路径根据您的一个 .gitignore 文件而被忽略:\n" -#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124 -#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560 -#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165 +#: builtin/add.c:322 builtin/clean.c:910 builtin/fetch.c:163 builtin/mv.c:124 +#: builtin/prune-packed.c:56 builtin/pull.c:203 builtin/push.c:548 +#: builtin/remote.c:1421 builtin/rm.c:242 builtin/send-pack.c:165 msgid "dry run" msgstr "演习" -#: builtin/add.c:293 +#: builtin/add.c:325 msgid "interactive picking" msgstr "交互式拣选" -#: builtin/add.c:294 builtin/checkout.c:1480 builtin/reset.c:306 +#: builtin/add.c:326 builtin/checkout.c:1511 builtin/reset.c:307 msgid "select hunks interactively" msgstr "交互式挑选数据块" -#: builtin/add.c:295 +#: builtin/add.c:327 msgid "edit current diff and apply" msgstr "编辑当前差异并应用" -#: builtin/add.c:296 +#: builtin/add.c:328 msgid "allow adding otherwise ignored files" msgstr "允许添加忽略的文件" -#: builtin/add.c:297 +#: builtin/add.c:329 msgid "update tracked files" msgstr "更新已跟踪的文件" -#: builtin/add.c:298 +#: builtin/add.c:330 msgid "renormalize EOL of tracked files (implies -u)" msgstr "对已跟踪文件(暗含 -u)重新归一换行符" -#: builtin/add.c:299 +#: builtin/add.c:331 msgid "record only the fact that the path will be added later" msgstr "只记录,该路径稍后再添加" -#: builtin/add.c:300 +#: builtin/add.c:332 msgid "add changes from all tracked and untracked files" msgstr "添加所有改变的已跟踪文件和未跟踪文件" -#: builtin/add.c:303 +#: builtin/add.c:335 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "忽略工作区中移除的路径(和 --no-all 相同)" -#: builtin/add.c:305 +#: builtin/add.c:337 msgid "don't add, only refresh the index" msgstr "不添加,只刷新索引" -#: builtin/add.c:306 +#: builtin/add.c:338 msgid "just skip files which cannot be added because of errors" msgstr "跳过因出错不能添加的文件" -#: builtin/add.c:307 +#: builtin/add.c:339 msgid "check if - even missing - files are ignored in dry run" msgstr "检查在演习模式下文件(即使不存在)是否被忽略" -#: builtin/add.c:309 builtin/update-index.c:1001 +#: builtin/add.c:341 builtin/update-index.c:1004 msgid "override the executable bit of the listed files" msgstr "覆盖列表里文件的可执行位" -#: builtin/add.c:311 +#: builtin/add.c:343 msgid "warn when adding an embedded repository" msgstr "创建一个嵌入式仓库时给予警告" -#: builtin/add.c:326 +#: builtin/add.c:345 +msgid "backend for `git stash -p`" +msgstr "`git stash -p` 的后端" + +#: builtin/add.c:363 #, c-format msgid "" "You've added another git repository inside your current repository.\n" @@ -8535,9 +9421,8 @@ msgid "" "\n" "See \"git help submodule\" for more information." msgstr "" -"您在当前仓库中添加了另外一个Git仓库。克隆外层的仓库将不包含嵌入仓库的内容,并" -"且不知道该如何获取它。\n" -"如果您要添加一个子模组,使用:\n" +"您在当前仓库中添加了另一个Git仓库。克隆外层的仓库将不包含嵌入仓库的\n" +"内容,并且不知道该如何获取它。如果您要添加一个子模组,使用:\n" "\n" "\tgit submodule add %s\n" "\n" @@ -8547,146 +9432,170 @@ msgstr "" "\n" "参见 \"git help submodule\" 获取更多信息。" -#: builtin/add.c:354 +#: builtin/add.c:391 #, c-format msgid "adding embedded git repository: %s" msgstr "正在添加嵌入式 git 仓库:%s" -#: builtin/add.c:372 -#, c-format -msgid "Use -f if you really want to add them.\n" -msgstr "使用 -f 参数如果您确实要添加它们。\n" +#: builtin/add.c:410 +msgid "" +"Use -f if you really want to add them.\n" +"Turn this message off by running\n" +"\"git config advice.addIgnoredFile false\"" +msgstr "" +"如果您确实要添加它们,使用 -f 参数。\n" +"运行下面的命令来关闭本消息\n" +"\"git config advice.addIgnoredFile false\"" -#: builtin/add.c:379 +#: builtin/add.c:419 msgid "adding files failed" msgstr "添加文件失败" -#: builtin/add.c:419 +#: builtin/add.c:447 builtin/commit.c:348 +msgid "--pathspec-from-file is incompatible with --interactive/--patch" +msgstr "--pathspec-from-file 与 --interactive/--patch 不兼容" + +#: builtin/add.c:464 +msgid "--pathspec-from-file is incompatible with --edit" +msgstr "--pathspec-from-file 与 --edit 不兼容" + +#: builtin/add.c:476 msgid "-A and -u are mutually incompatible" msgstr "-A 和 -u 选项互斥" -#: builtin/add.c:426 +#: builtin/add.c:479 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "选项 --ignore-missing 只能和 --dry-run 同时使用" -#: builtin/add.c:430 +#: builtin/add.c:483 #, c-format msgid "--chmod param '%s' must be either -x or +x" msgstr "参数 --chmod 取值 '%s' 必须是 -x 或 +x" -#: builtin/add.c:445 +#: builtin/add.c:501 builtin/checkout.c:1675 builtin/commit.c:354 +#: builtin/reset.c:327 builtin/rm.c:272 builtin/stash.c:1509 +msgid "--pathspec-from-file is incompatible with pathspec arguments" +msgstr "--pathspec-from-file 与路径表达式参数不兼容" + +#: builtin/add.c:508 builtin/checkout.c:1687 builtin/commit.c:360 +#: builtin/reset.c:333 builtin/rm.c:278 builtin/stash.c:1515 +msgid "--pathspec-file-nul requires --pathspec-from-file" +msgstr "--pathspec-file-nul 需要 --pathspec-from-file" + +#: builtin/add.c:512 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "没有指定文件,也没有文件被添加。\n" -#: builtin/add.c:446 -#, c-format -msgid "Maybe you wanted to say 'git add .'?\n" -msgstr "也许您想要执行 'git add .'?\n" +#: builtin/add.c:514 +msgid "" +"Maybe you wanted to say 'git add .'?\n" +"Turn this message off by running\n" +"\"git config advice.addEmptyPathspec false\"" +msgstr "" +"也许您想要执行 'git add .'?\n" +"运行下面的命令来关闭本消息\n" +"\"git config advice.addEmptyPathspec false\"" -#: builtin/am.c:348 +#: builtin/am.c:352 msgid "could not parse author script" msgstr "不能解析作者脚本" -#: builtin/am.c:432 +#: builtin/am.c:436 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "'%s' 被 applypatch-msg 钩子删除" -#: builtin/am.c:474 +#: builtin/am.c:478 #, c-format msgid "Malformed input line: '%s'." msgstr "非法的输入行:'%s'。" -#: builtin/am.c:512 +#: builtin/am.c:516 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "从 '%s' 拷贝注解到 '%s' 时失败" -#: builtin/am.c:538 +#: builtin/am.c:542 msgid "fseek failed" msgstr "fseek 失败" -#: builtin/am.c:726 +#: builtin/am.c:730 #, c-format msgid "could not parse patch '%s'" msgstr "无法解析补丁 '%s'" -#: builtin/am.c:791 +#: builtin/am.c:795 msgid "Only one StGIT patch series can be applied at once" msgstr "一次只能有一个 StGIT 补丁队列被应用" -#: builtin/am.c:839 +#: builtin/am.c:843 msgid "invalid timestamp" msgstr "无效的时间戳" -#: builtin/am.c:844 builtin/am.c:856 +#: builtin/am.c:848 builtin/am.c:860 msgid "invalid Date line" msgstr "无效的日期行" -#: builtin/am.c:851 +#: builtin/am.c:855 msgid "invalid timezone offset" msgstr "无效的时区偏移值" -#: builtin/am.c:944 +#: builtin/am.c:948 msgid "Patch format detection failed." msgstr "补丁格式探测失败。" -#: builtin/am.c:949 builtin/clone.c:407 +#: builtin/am.c:953 builtin/clone.c:409 #, c-format msgid "failed to create directory '%s'" msgstr "创建目录 '%s' 失败" -#: builtin/am.c:954 +#: builtin/am.c:958 msgid "Failed to split patches." msgstr "拆分补丁失败。" -#: builtin/am.c:1084 builtin/commit.c:374 -msgid "unable to write index file" -msgstr "无法写入索引文件" - -#: builtin/am.c:1098 +#: builtin/am.c:1089 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "当您解决这一问题,执行 \"%s --continue\"。" -#: builtin/am.c:1099 +#: builtin/am.c:1090 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "如果您想要跳过这一补丁,则执行 \"%s --skip\"。" -#: builtin/am.c:1100 +#: builtin/am.c:1091 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "若要复原至原始分支并停止补丁操作,执行 \"%s --abort\"。" -#: builtin/am.c:1183 +#: builtin/am.c:1174 msgid "Patch sent with format=flowed; space at the end of lines might be lost." msgstr "补丁使用 format=flowed 格式发送,行尾的空格可能会丢失。" -#: builtin/am.c:1211 +#: builtin/am.c:1202 msgid "Patch is empty." msgstr "补丁为空。" -#: builtin/am.c:1277 +#: builtin/am.c:1267 #, c-format -msgid "invalid ident line: %.*s" -msgstr "无效的身份标识:%.*s" +msgid "missing author line in commit %s" +msgstr "在提交 %s 中缺失作者行" -#: builtin/am.c:1299 +#: builtin/am.c:1270 #, c-format -msgid "unable to parse commit %s" -msgstr "不能解析提交 %s" +msgid "invalid ident line: %.*s" +msgstr "无效的身份标识:%.*s" -#: builtin/am.c:1496 +#: builtin/am.c:1489 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "仓库缺乏必要的数据对象以进行三方合并。" -#: builtin/am.c:1498 +#: builtin/am.c:1491 msgid "Using index info to reconstruct a base tree..." msgstr "使用索引来重建一个(三方合并的)基础目录树..." -#: builtin/am.c:1517 +#: builtin/am.c:1510 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -8694,24 +9603,24 @@ msgstr "" "您是否曾手动编辑过您的补丁?\n" "无法应用补丁到索引中的数据对象上。" -#: builtin/am.c:1523 +#: builtin/am.c:1516 msgid "Falling back to patching base and 3-way merge..." msgstr "回落到基础版本上打补丁及进行三方合并..." -#: builtin/am.c:1549 +#: builtin/am.c:1542 msgid "Failed to merge in the changes." msgstr "无法合并变更。" -#: builtin/am.c:1581 +#: builtin/am.c:1574 msgid "applying to an empty history" msgstr "正应用到一个空历史上" -#: builtin/am.c:1628 builtin/am.c:1632 +#: builtin/am.c:1621 builtin/am.c:1625 #, c-format msgid "cannot resume: %s does not exist." msgstr "无法继续:%s 不存在。" -#: builtin/am.c:1650 +#: builtin/am.c:1643 msgid "Commit Body is:" msgstr "提交内容为:" @@ -8720,35 +9629,39 @@ msgstr "提交内容为:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1660 +#: builtin/am.c:1653 #, c-format msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "应用?是[y]/否[n]/编辑[e]/查看补丁[v]/应用所有[a]:" -#: builtin/am.c:1710 +#: builtin/am.c:1700 builtin/commit.c:398 +msgid "unable to write index file" +msgstr "无法写入索引文件" + +#: builtin/am.c:1704 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "脏索引:不能应用补丁(脏文件:%s)" -#: builtin/am.c:1750 builtin/am.c:1818 +#: builtin/am.c:1744 builtin/am.c:1812 #, c-format msgid "Applying: %.*s" msgstr "应用:%.*s" -#: builtin/am.c:1767 +#: builtin/am.c:1761 msgid "No changes -- Patch already applied." msgstr "没有变更 —— 补丁已经应用过。" -#: builtin/am.c:1773 +#: builtin/am.c:1767 #, c-format msgid "Patch failed at %s %.*s" msgstr "打补丁失败于 %s %.*s" -#: builtin/am.c:1777 -msgid "Use 'git am --show-current-patch' to see the failed patch" -msgstr "用 'git am --show-current-patch' 命令查看失败的补丁" +#: builtin/am.c:1771 +msgid "Use 'git am --show-current-patch=diff' to see the failed patch" +msgstr "用 'git am --show-current-patch=diff' 命令查看失败的补丁" -#: builtin/am.c:1821 +#: builtin/am.c:1815 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -8758,7 +9671,7 @@ msgstr "" "如果没有什么要添加到暂存区的,则很可能是其它提交已经引入了相同的变更。\n" "您也许想要跳过这个补丁。" -#: builtin/am.c:1828 +#: builtin/am.c:1822 msgid "" "You still have unmerged paths in your index.\n" "You should 'git add' each file with resolved conflicts to mark them as " @@ -8769,159 +9682,169 @@ msgstr "" "您应该对已经冲突解决的每一个文件执行 'git add' 来标记已经完成。 \n" "你可以对 \"由他们删除\" 的文件执行 `git rm` 命令。" -#: builtin/am.c:1935 builtin/am.c:1939 builtin/am.c:1951 builtin/reset.c:329 -#: builtin/reset.c:337 +#: builtin/am.c:1929 builtin/am.c:1933 builtin/am.c:1945 builtin/reset.c:346 +#: builtin/reset.c:354 #, c-format msgid "Could not parse object '%s'." msgstr "不能解析对象 '%s'。" -#: builtin/am.c:1987 +#: builtin/am.c:1981 msgid "failed to clean index" msgstr "清空索引失败" -#: builtin/am.c:2031 +#: builtin/am.c:2025 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" msgstr "您好像在上一次 'am' 失败后移动了 HEAD。未回退至 ORIG_HEAD" -#: builtin/am.c:2128 +#: builtin/am.c:2132 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "无效的 --patch-format 值:%s" -#: builtin/am.c:2164 +#: builtin/am.c:2172 +#, c-format +msgid "Invalid value for --show-current-patch: %s" +msgstr "无效的 --show-current-patch 值:%s" + +#: builtin/am.c:2176 +#, c-format +msgid "--show-current-patch=%s is incompatible with --show-current-patch=%s" +msgstr "--show-current-patch=%s 和 --show-current-patch=%s 不兼容" + +#: builtin/am.c:2207 msgid "git am [] [( | )...]" msgstr "git am [<选项>] [( | )...]" -#: builtin/am.c:2165 +#: builtin/am.c:2208 msgid "git am [] (--continue | --skip | --abort)" msgstr "git am [<选项>] (--continue | --skip | --abort)" -#: builtin/am.c:2171 +#: builtin/am.c:2214 msgid "run interactively" msgstr "以交互式方式运行" -#: builtin/am.c:2173 +#: builtin/am.c:2216 msgid "historical option -- no-op" msgstr "老的参数 —— 无作用" -#: builtin/am.c:2175 +#: builtin/am.c:2218 msgid "allow fall back on 3way merging if needed" msgstr "如果必要,允许使用三方合并。" -#: builtin/am.c:2176 builtin/init-db.c:494 builtin/prune-packed.c:58 -#: builtin/repack.c:296 builtin/stash.c:806 +#: builtin/am.c:2219 builtin/init-db.c:494 builtin/prune-packed.c:58 +#: builtin/repack.c:304 builtin/stash.c:812 msgid "be quiet" msgstr "静默模式" -#: builtin/am.c:2178 +#: builtin/am.c:2221 msgid "add a Signed-off-by line to the commit message" msgstr "在提交说明中添加一个 Signed-off-by 签名" -#: builtin/am.c:2181 +#: builtin/am.c:2224 msgid "recode into utf8 (default)" msgstr "使用 utf8 字符集(默认)" -#: builtin/am.c:2183 +#: builtin/am.c:2226 msgid "pass -k flag to git-mailinfo" msgstr "向 git-mailinfo 传递 -k 参数" -#: builtin/am.c:2185 +#: builtin/am.c:2228 msgid "pass -b flag to git-mailinfo" msgstr "向 git-mailinfo 传递 -b 参数" -#: builtin/am.c:2187 +#: builtin/am.c:2230 msgid "pass -m flag to git-mailinfo" msgstr "向 git-mailinfo 传递 -m 参数" -#: builtin/am.c:2189 +#: builtin/am.c:2232 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "针对 mbox 格式,向 git-mailsplit 传递 --keep-cr 参数" -#: builtin/am.c:2192 +#: builtin/am.c:2235 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "不向 git-mailsplit 传递 --keep-cr 参数,覆盖 am.keepcr 的设置" -#: builtin/am.c:2195 +#: builtin/am.c:2238 msgid "strip everything before a scissors line" msgstr "丢弃裁切线前的所有内容" -#: builtin/am.c:2197 builtin/am.c:2200 builtin/am.c:2203 builtin/am.c:2206 -#: builtin/am.c:2209 builtin/am.c:2212 builtin/am.c:2215 builtin/am.c:2218 -#: builtin/am.c:2224 +#: builtin/am.c:2240 builtin/am.c:2243 builtin/am.c:2246 builtin/am.c:2249 +#: builtin/am.c:2252 builtin/am.c:2255 builtin/am.c:2258 builtin/am.c:2261 +#: builtin/am.c:2267 msgid "pass it through git-apply" msgstr "传递给 git-apply" -#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671 -#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249 -#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418 -#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313 +#: builtin/am.c:2257 builtin/commit.c:1391 builtin/fmt-merge-msg.c:670 +#: builtin/fmt-merge-msg.c:673 builtin/grep.c:871 builtin/merge.c:250 +#: builtin/pull.c:140 builtin/pull.c:199 builtin/rebase.c:1505 +#: builtin/repack.c:315 builtin/repack.c:319 builtin/repack.c:321 #: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403 -#: parse-options.h:141 parse-options.h:162 parse-options.h:312 +#: parse-options.h:154 parse-options.h:175 parse-options.h:316 msgid "n" msgstr "n" -#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38 -#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38 +#: builtin/am.c:2263 builtin/branch.c:661 builtin/for-each-ref.c:38 +#: builtin/replace.c:556 builtin/tag.c:437 builtin/verify-tag.c:38 msgid "format" msgstr "格式" -#: builtin/am.c:2221 +#: builtin/am.c:2264 msgid "format the patch(es) are in" msgstr "补丁的格式" -#: builtin/am.c:2227 +#: builtin/am.c:2270 msgid "override error message when patch failure occurs" msgstr "打补丁失败时显示的错误信息" -#: builtin/am.c:2229 +#: builtin/am.c:2272 msgid "continue applying patches after resolving a conflict" msgstr "冲突解决后继续应用补丁" -#: builtin/am.c:2232 +#: builtin/am.c:2275 msgid "synonyms for --continue" msgstr "和 --continue 同义" -#: builtin/am.c:2235 +#: builtin/am.c:2278 msgid "skip the current patch" msgstr "跳过当前补丁" -#: builtin/am.c:2238 +#: builtin/am.c:2281 msgid "restore the original branch and abort the patching operation." msgstr "恢复原始分支并终止打补丁操作。" -#: builtin/am.c:2241 +#: builtin/am.c:2284 msgid "abort the patching operation but keep HEAD where it is." msgstr "终止补丁操作但保持 HEAD 不变。" -#: builtin/am.c:2244 -msgid "show the patch being applied." -msgstr "显示正在应用的补丁。" +#: builtin/am.c:2288 +msgid "show the patch being applied" +msgstr "显示正在应用的补丁" -#: builtin/am.c:2248 +#: builtin/am.c:2293 msgid "lie about committer date" msgstr "将作者日期作为提交日期" -#: builtin/am.c:2250 +#: builtin/am.c:2295 msgid "use current timestamp for author date" msgstr "用当前时间作为作者日期" -#: builtin/am.c:2252 builtin/commit-tree.c:120 builtin/commit.c:1511 -#: builtin/merge.c:286 builtin/pull.c:193 builtin/rebase.c:489 -#: builtin/rebase.c:1459 builtin/revert.c:117 builtin/tag.c:418 +#: builtin/am.c:2297 builtin/commit-tree.c:120 builtin/commit.c:1512 +#: builtin/merge.c:287 builtin/pull.c:174 builtin/rebase.c:517 +#: builtin/rebase.c:1556 builtin/revert.c:117 builtin/tag.c:418 msgid "key-id" msgstr "key-id" -#: builtin/am.c:2253 builtin/rebase.c:490 builtin/rebase.c:1460 +#: builtin/am.c:2298 builtin/rebase.c:518 builtin/rebase.c:1557 msgid "GPG-sign commits" msgstr "使用 GPG 签名提交" -#: builtin/am.c:2256 +#: builtin/am.c:2301 msgid "(internal use for git-rebase)" msgstr "(内部使用,用于 git-rebase)" -#: builtin/am.c:2274 +#: builtin/am.c:2319 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -8929,16 +9852,16 @@ msgstr "" "参数 -b/--binary 已经很长时间不做任何实质操作了,并且将被移除。\n" "请不要再使用它了。" -#: builtin/am.c:2281 +#: builtin/am.c:2326 msgid "failed to read the index" msgstr "读取索引失败" -#: builtin/am.c:2296 +#: builtin/am.c:2341 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "之前的变基目录 %s 仍然存在,但却提供了 mbox。" -#: builtin/am.c:2320 +#: builtin/am.c:2365 #, c-format msgid "" "Stray %s directory found.\n" @@ -8947,11 +9870,11 @@ msgstr "" "发现了错误的 %s 目录。\n" "使用 \"git am --abort\" 删除它。" -#: builtin/am.c:2326 +#: builtin/am.c:2371 msgid "Resolve operation not in progress, we are not resuming." msgstr "解决操作未进行,我们不会继续。" -#: builtin/am.c:2336 +#: builtin/am.c:2381 msgid "interactive mode requires patches on the command line" msgstr "交互式模式需要命令行上提供补丁" @@ -9073,33 +9996,33 @@ msgstr "我们没有在二分查找。\n" msgid "'%s' is not a valid commit" msgstr "'%s' 不是一个有效的提交" -#: builtin/bisect--helper.c:174 +#: builtin/bisect--helper.c:172 #, c-format msgid "" "could not check out original HEAD '%s'. Try 'git bisect reset '." msgstr "不能检出原始 HEAD '%s'。尝试 'git bisect reset <提交>'。" -#: builtin/bisect--helper.c:215 +#: builtin/bisect--helper.c:216 #, c-format msgid "Bad bisect_write argument: %s" msgstr "坏的 bisect_write 参数:%s" -#: builtin/bisect--helper.c:220 +#: builtin/bisect--helper.c:221 #, c-format msgid "couldn't get the oid of the rev '%s'" msgstr "无法获取版本 '%s' 的对象 ID" -#: builtin/bisect--helper.c:232 +#: builtin/bisect--helper.c:233 #, c-format msgid "couldn't open the file '%s'" msgstr "无法打开文件 '%s'" -#: builtin/bisect--helper.c:258 +#: builtin/bisect--helper.c:259 #, c-format msgid "Invalid command: you're currently in a %s/%s bisect" msgstr "无效的命令:您当前正处于一个 %s/%s 二分查找中" -#: builtin/bisect--helper.c:285 +#: builtin/bisect--helper.c:286 #, c-format msgid "" "You need to give me at least one %s and %s revision.\n" @@ -9108,7 +10031,7 @@ msgstr "" "您需要给我至少一个 %s 和一个 %s 版本。\n" "为此您可以用 \"git bisect %s\" 和 \"git bisect %s\"。" -#: builtin/bisect--helper.c:289 +#: builtin/bisect--helper.c:290 #, c-format msgid "" "You need to start by \"git bisect start\".\n" @@ -9119,7 +10042,7 @@ msgstr "" "然后需要提供我至少一个 %s 和一个 %s 版本。\n" "为此您可以用 \"git bisect %s\" 和 \"git bisect %s\" 命令。" -#: builtin/bisect--helper.c:321 +#: builtin/bisect--helper.c:310 #, c-format msgid "bisecting only with a %s commit" msgstr "在只有一个 %s 提交的情况下二分查找" @@ -9129,22 +10052,22 @@ msgstr "在只有一个 %s 提交的情况下二分查找" #. translation. The program will only accept English input #. at this point. #. -#: builtin/bisect--helper.c:329 +#: builtin/bisect--helper.c:318 msgid "Are you sure [Y/n]? " msgstr "您确认么[Y/n]? " -#: builtin/bisect--helper.c:376 +#: builtin/bisect--helper.c:379 msgid "no terms defined" msgstr "未定义术语" -#: builtin/bisect--helper.c:379 +#: builtin/bisect--helper.c:382 #, c-format msgid "" "Your current terms are %s for the old state\n" "and %s for the new state.\n" msgstr "您当前针对旧状态的术语是 %s,对新状态的术语是 %s。\n" -#: builtin/bisect--helper.c:389 +#: builtin/bisect--helper.c:392 #, c-format msgid "" "invalid argument %s for 'git bisect terms'.\n" @@ -9153,266 +10076,262 @@ msgstr "" "命令 'git bisect terms' 的参数 %s 无效。\n" "支持的选项有:--term-good|--term-old 和 --term-bad|--term-new。" -#: builtin/bisect--helper.c:475 +#: builtin/bisect--helper.c:478 #, c-format msgid "unrecognized option: '%s'" msgstr "未识别的选项:'%s'" -#: builtin/bisect--helper.c:479 +#: builtin/bisect--helper.c:482 #, c-format msgid "'%s' does not appear to be a valid revision" msgstr "'%s' 看起来不是一个有效的版本" -#: builtin/bisect--helper.c:511 +#: builtin/bisect--helper.c:514 msgid "bad HEAD - I need a HEAD" msgstr "坏的 HEAD - 我需要一个 HEAD" -#: builtin/bisect--helper.c:526 +#: builtin/bisect--helper.c:529 #, c-format msgid "checking out '%s' failed. Try 'git bisect start '." msgstr "检出 '%s' 失败。尝试 'git bisect start <有效分支>'。" -#: builtin/bisect--helper.c:547 +#: builtin/bisect--helper.c:550 msgid "won't bisect on cg-seek'ed tree" msgstr "不会在做了 cg-seek 的树上做二分查找" -#: builtin/bisect--helper.c:550 +#: builtin/bisect--helper.c:553 msgid "bad HEAD - strange symbolic ref" msgstr "坏的 HEAD - 奇怪的符号引用" -#: builtin/bisect--helper.c:574 +#: builtin/bisect--helper.c:577 #, c-format msgid "invalid ref: '%s'" msgstr "无效的引用:'%s'" -#: builtin/bisect--helper.c:630 +#: builtin/bisect--helper.c:633 msgid "perform 'git bisect next'" msgstr "执行 'git bisect next'" -#: builtin/bisect--helper.c:632 +#: builtin/bisect--helper.c:635 msgid "write the terms to .git/BISECT_TERMS" msgstr "将术语写入 .git/BISECT_TERMS" -#: builtin/bisect--helper.c:634 +#: builtin/bisect--helper.c:637 msgid "cleanup the bisection state" msgstr "清除二分查找状态" -#: builtin/bisect--helper.c:636 +#: builtin/bisect--helper.c:639 msgid "check for expected revs" msgstr "检查预期的版本" -#: builtin/bisect--helper.c:638 +#: builtin/bisect--helper.c:641 msgid "reset the bisection state" msgstr "清除二分查找状态" -#: builtin/bisect--helper.c:640 +#: builtin/bisect--helper.c:643 msgid "write out the bisection state in BISECT_LOG" msgstr "将二分查找的状态写入 BISECT_LOG" -#: builtin/bisect--helper.c:642 +#: builtin/bisect--helper.c:645 msgid "check and set terms in a bisection state" msgstr "在一个二分查找状态中检查和设置术语" -#: builtin/bisect--helper.c:644 +#: builtin/bisect--helper.c:647 msgid "check whether bad or good terms exist" msgstr "检查坏的或好的术语是否存在" -#: builtin/bisect--helper.c:646 +#: builtin/bisect--helper.c:649 msgid "print out the bisect terms" msgstr "打印二分查找术语" -#: builtin/bisect--helper.c:648 +#: builtin/bisect--helper.c:651 msgid "start the bisect session" msgstr "启动二分查找过程" -#: builtin/bisect--helper.c:650 +#: builtin/bisect--helper.c:653 msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "更新 BISECT_HEAD 而非检出当前提交" -#: builtin/bisect--helper.c:652 +#: builtin/bisect--helper.c:655 msgid "no log for BISECT_WRITE" msgstr "BISECT_WRITE 无日志" -#: builtin/bisect--helper.c:669 +#: builtin/bisect--helper.c:673 msgid "--write-terms requires two arguments" msgstr "--write-terms 需要两个参数" -#: builtin/bisect--helper.c:673 +#: builtin/bisect--helper.c:677 msgid "--bisect-clean-state requires no arguments" msgstr "--bisect-clean-state 不带参数" -#: builtin/bisect--helper.c:680 +#: builtin/bisect--helper.c:684 msgid "--bisect-reset requires either no argument or a commit" msgstr "--bisect-reset 无需参数或者需要一个提交" -#: builtin/bisect--helper.c:684 +#: builtin/bisect--helper.c:688 msgid "--bisect-write requires either 4 or 5 arguments" msgstr "--bisect-write 需要 4 或 5 个参数" -#: builtin/bisect--helper.c:690 +#: builtin/bisect--helper.c:694 msgid "--check-and-set-terms requires 3 arguments" msgstr "--check-and-set-terms 需要 3 个参数" -#: builtin/bisect--helper.c:696 +#: builtin/bisect--helper.c:700 msgid "--bisect-next-check requires 2 or 3 arguments" msgstr "--bisect-next-check 需要 2 或 3 个参数" -#: builtin/bisect--helper.c:702 +#: builtin/bisect--helper.c:706 msgid "--bisect-terms requires 0 or 1 argument" msgstr "--bisect-terms 需要 0 或 1 个参数" -#: builtin/blame.c:32 +#: builtin/blame.c:31 msgid "git blame [] [] [] [--] " msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>" -#: builtin/blame.c:37 +#: builtin/blame.c:36 msgid " are documented in git-rev-list(1)" msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中" -#: builtin/blame.c:410 +#: builtin/blame.c:409 #, c-format msgid "expecting a color: %s" msgstr "期望一个颜色:%s" -#: builtin/blame.c:417 +#: builtin/blame.c:416 msgid "must end with a color" msgstr "必须以一个颜色结尾" -#: builtin/blame.c:730 +#: builtin/blame.c:729 #, c-format msgid "invalid color '%s' in color.blame.repeatedLines" msgstr "设置 color.blame.repeatedLines 中的无效颜色 '%s'" -#: builtin/blame.c:748 +#: builtin/blame.c:747 msgid "invalid value for blame.coloring" msgstr "设置 blame.coloring 中的无效取值" -#: builtin/blame.c:823 +#: builtin/blame.c:822 #, c-format msgid "cannot find revision %s to ignore" msgstr "不能找到要忽略的版本 %s" -#: builtin/blame.c:845 +#: builtin/blame.c:844 msgid "Show blame entries as we find them, incrementally" msgstr "增量式地显示发现的 blame 条目" -#: builtin/blame.c:846 +#: builtin/blame.c:845 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "边界提交显示空的 SHA-1(默认:关闭)" -#: builtin/blame.c:847 +#: builtin/blame.c:846 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "不把根提交作为边界(默认:关闭)" -#: builtin/blame.c:848 +#: builtin/blame.c:847 msgid "Show work cost statistics" msgstr "显示命令消耗统计" -#: builtin/blame.c:849 +#: builtin/blame.c:848 msgid "Force progress reporting" msgstr "强制进度显示" -#: builtin/blame.c:850 +#: builtin/blame.c:849 msgid "Show output score for blame entries" msgstr "显示判断 blame 条目位移的得分诊断信息" -#: builtin/blame.c:851 +#: builtin/blame.c:850 msgid "Show original filename (Default: auto)" msgstr "显示原始文件名(默认:自动)" -#: builtin/blame.c:852 +#: builtin/blame.c:851 msgid "Show original linenumber (Default: off)" msgstr "显示原始的行号(默认:关闭)" -#: builtin/blame.c:853 +#: builtin/blame.c:852 msgid "Show in a format designed for machine consumption" msgstr "显示为一个适合机器读取的格式" -#: builtin/blame.c:854 +#: builtin/blame.c:853 msgid "Show porcelain format with per-line commit information" msgstr "为每一行显示机器适用的提交信息" -#: builtin/blame.c:855 +#: builtin/blame.c:854 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "使用和 git-annotate 相同的输出模式(默认:关闭)" -#: builtin/blame.c:856 +#: builtin/blame.c:855 msgid "Show raw timestamp (Default: off)" msgstr "显示原始时间戳(默认:关闭)" -#: builtin/blame.c:857 +#: builtin/blame.c:856 msgid "Show long commit SHA1 (Default: off)" msgstr "显示长的 SHA1 提交号(默认:关闭)" -#: builtin/blame.c:858 +#: builtin/blame.c:857 msgid "Suppress author name and timestamp (Default: off)" msgstr "隐藏作者名字和时间戳(默认:关闭)" -#: builtin/blame.c:859 +#: builtin/blame.c:858 msgid "Show author email instead of name (Default: off)" msgstr "显示作者的邮箱而不是名字(默认:关闭)" -#: builtin/blame.c:860 +#: builtin/blame.c:859 msgid "Ignore whitespace differences" msgstr "忽略空白差异" -#: builtin/blame.c:861 builtin/log.c:1629 +#: builtin/blame.c:860 builtin/log.c:1702 msgid "rev" msgstr "版本" -#: builtin/blame.c:861 +#: builtin/blame.c:860 msgid "Ignore when blaming" msgstr "在执行 blame 操作时忽略 <版本>" -#: builtin/blame.c:862 +#: builtin/blame.c:861 msgid "Ignore revisions from " msgstr "忽略来自 <文件> 中的版本" -#: builtin/blame.c:863 +#: builtin/blame.c:862 msgid "color redundant metadata from previous line differently" msgstr "使用颜色间隔输出与前一行不同的重复元信息" -#: builtin/blame.c:864 +#: builtin/blame.c:863 msgid "color lines by age" msgstr "依据时间着色" -#: builtin/blame.c:871 -msgid "Use an experimental heuristic to improve diffs" -msgstr "使用一个试验性的启发式算法改进差异显示" - -#: builtin/blame.c:873 +#: builtin/blame.c:864 msgid "Spend extra cycles to find better match" msgstr "花费额外的循环来找到更好的匹配" -#: builtin/blame.c:874 +#: builtin/blame.c:865 msgid "Use revisions from instead of calling git-rev-list" msgstr "使用来自 <文件> 的修订集而不是调用 git-rev-list" -#: builtin/blame.c:875 +#: builtin/blame.c:866 msgid "Use 's contents as the final image" msgstr "使用 <文件> 的内容作为最终的图片" -#: builtin/blame.c:876 builtin/blame.c:877 +#: builtin/blame.c:867 builtin/blame.c:868 msgid "score" msgstr "得分" -#: builtin/blame.c:876 +#: builtin/blame.c:867 msgid "Find line copies within and across files" msgstr "找到文件内及跨文件的行拷贝" -#: builtin/blame.c:877 +#: builtin/blame.c:868 msgid "Find line movements within and across files" msgstr "找到文件内及跨文件的行移动" -#: builtin/blame.c:878 +#: builtin/blame.c:869 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:878 +#: builtin/blame.c:869 msgid "Process only line range n,m, counting from 1" msgstr "只处理行范围在 n 和 m 之间的,从 1 开始" -#: builtin/blame.c:929 +#: builtin/blame.c:921 msgid "--progress can't be used with --incremental or porcelain formats" msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用" @@ -9424,18 +10343,18 @@ msgstr "--progress 不能和 --incremental 或 --porcelain 同时使用" #. your language may need more or fewer display #. columns. #. -#: builtin/blame.c:980 +#: builtin/blame.c:972 msgid "4 years, 11 months ago" msgstr "4 年 11 个月前" -#: builtin/blame.c:1087 +#: builtin/blame.c:1079 #, c-format msgid "file %s has only %lu line" msgid_plural "file %s has only %lu lines" msgstr[0] "文件 %s 只有 %lu 行" msgstr[1] "文件 %s 只有 %lu 行" -#: builtin/blame.c:1133 +#: builtin/blame.c:1125 msgid "Blaming lines" msgstr "追踪代码行" @@ -9646,7 +10565,7 @@ msgstr "设置跟踪模式(参见 git-pull(1))" msgid "do not use" msgstr "不要使用" -#: builtin/branch.c:626 builtin/rebase.c:485 +#: builtin/branch.c:626 builtin/rebase.c:513 msgid "upstream" msgstr "上游" @@ -9655,7 +10574,7 @@ msgid "change the upstream info" msgstr "改变上游信息" #: builtin/branch.c:627 -msgid "Unset the upstream info" +msgid "unset the upstream info" msgstr "取消上游信息的设置" #: builtin/branch.c:628 @@ -9757,7 +10676,7 @@ msgstr "排序和过滤属于大小写不敏感" msgid "format to use for the output" msgstr "输出格式" -#: builtin/branch.c:684 builtin/clone.c:761 +#: builtin/branch.c:684 builtin/clone.c:785 msgid "HEAD not found below refs/heads!" msgstr "HEAD 没有位于 /refs/heads 之下!" @@ -9843,20 +10762,65 @@ msgid "" msgstr "" "不再支持选项 '--set-upstream'。请使用 '--track' 或 '--set-upstream-to'。" -#: builtin/bundle.c:45 -#, c-format -msgid "%s is okay\n" -msgstr "%s 可以\n" +#: builtin/bundle.c:15 builtin/bundle.c:23 +msgid "git bundle create [] " +msgstr "git bundle create [<选项>] <文件> " + +#: builtin/bundle.c:16 builtin/bundle.c:28 +msgid "git bundle verify [] " +msgstr "git bundle verify [<选项>] <文件>" + +#: builtin/bundle.c:17 builtin/bundle.c:33 +msgid "git bundle list-heads [...]" +msgstr "git bundle list-heads <文件> [<引用名>...]" + +#: builtin/bundle.c:18 builtin/bundle.c:38 +msgid "git bundle unbundle [...]" +msgstr "git bundle unbundle <文件> [<引用名>...]" + +#: builtin/bundle.c:66 builtin/pack-objects.c:3375 +msgid "do not show progress meter" +msgstr "不显示进度表" + +#: builtin/bundle.c:68 builtin/pack-objects.c:3377 +msgid "show progress meter" +msgstr "显示进度表" + +#: builtin/bundle.c:70 builtin/pack-objects.c:3379 +msgid "show progress meter during object writing phase" +msgstr "在对象写入阶段显示进度表" -#: builtin/bundle.c:58 +#: builtin/bundle.c:73 builtin/pack-objects.c:3382 +msgid "similar to --all-progress when progress meter is shown" +msgstr "当进度表显示时类似于 --all-progress" + +#: builtin/bundle.c:93 msgid "Need a repository to create a bundle." msgstr "需要一个仓库来创建包。" -#: builtin/bundle.c:62 +#: builtin/bundle.c:104 +msgid "do not show bundle details" +msgstr "不显示 bundle 细节" + +#: builtin/bundle.c:119 +#, c-format +msgid "%s is okay\n" +msgstr "%s 可以\n" + +#: builtin/bundle.c:160 msgid "Need a repository to unbundle." msgstr "需要一个仓库来解包。" -#: builtin/cat-file.c:594 +#: builtin/bundle.c:168 builtin/remote.c:1686 +msgid "be verbose; must be placed before a subcommand" +msgstr "冗长输出;必须置于子命令之前" + +#: builtin/bundle.c:190 builtin/remote.c:1717 +#, c-format +msgid "Unknown subcommand: %s" +msgstr "未知子命令:%s" + +#: builtin/cat-file.c:595 msgid "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | | --textconv | --filters) [--path=] " @@ -9864,7 +10828,7 @@ msgstr "" "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -" "p | <类型> | --textconv | --filters) [--path=<路径>] <对象>" -#: builtin/cat-file.c:595 +#: builtin/cat-file.c:596 msgid "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" @@ -9872,71 +10836,71 @@ msgstr "" "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --" "filters]" -#: builtin/cat-file.c:616 +#: builtin/cat-file.c:617 msgid "only one batch option may be specified" msgstr "只能指定一个批处理选项" -#: builtin/cat-file.c:634 +#: builtin/cat-file.c:635 msgid " can be one of: blob, tree, commit, tag" msgstr "<类型> 可以是其中之一:blob、tree、commit、tag" -#: builtin/cat-file.c:635 +#: builtin/cat-file.c:636 msgid "show object type" msgstr "显示对象类型" -#: builtin/cat-file.c:636 +#: builtin/cat-file.c:637 msgid "show object size" msgstr "显示对象大小" -#: builtin/cat-file.c:638 +#: builtin/cat-file.c:639 msgid "exit with zero when there's no error" msgstr "当没有错误时退出并返回零" -#: builtin/cat-file.c:639 +#: builtin/cat-file.c:640 msgid "pretty-print object's content" msgstr "美观地打印对象的内容" -#: builtin/cat-file.c:641 +#: builtin/cat-file.c:642 msgid "for blob objects, run textconv on object's content" msgstr "对于数据对象,对其内容做文本转换" -#: builtin/cat-file.c:643 +#: builtin/cat-file.c:644 msgid "for blob objects, run filters on object's content" msgstr "对于数据对象,对其内容做过滤" -#: builtin/cat-file.c:644 git-submodule.sh:936 +#: builtin/cat-file.c:645 git-submodule.sh:1002 msgid "blob" msgstr "数据对象" -#: builtin/cat-file.c:645 +#: builtin/cat-file.c:646 msgid "use a specific path for --textconv/--filters" msgstr "对于 --textconv/--filters 使用一个特定的路径" -#: builtin/cat-file.c:647 +#: builtin/cat-file.c:648 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "允许 -s 和 -t 对损坏的对象生效" -#: builtin/cat-file.c:648 +#: builtin/cat-file.c:649 msgid "buffer --batch output" msgstr "缓冲 --batch 的输出" -#: builtin/cat-file.c:650 +#: builtin/cat-file.c:651 msgid "show info and content of objects fed from the standard input" msgstr "显示从标准输入提供的对象的信息和内容" -#: builtin/cat-file.c:654 +#: builtin/cat-file.c:655 msgid "show info about objects fed from the standard input" msgstr "显示从标准输入提供的对象的信息" -#: builtin/cat-file.c:658 +#: builtin/cat-file.c:659 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "跟随树内符号链接(和 --batch 或 --batch-check 共用)" -#: builtin/cat-file.c:660 +#: builtin/cat-file.c:661 msgid "show all objects with --batch or --batch-check" msgstr "使用 --batch 或 --batch-check 参数显示所有对象" -#: builtin/cat-file.c:662 +#: builtin/cat-file.c:663 msgid "do not order --batch-all-objects output" msgstr "不要对 --batch-all-objects 的输出排序" @@ -9964,8 +10928,8 @@ msgstr "从标准输入读出文件名" msgid "terminate input and output records by a NUL character" msgstr "输入和输出的记录使用 NUL 字符终结" -#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538 -#: builtin/worktree.c:507 +#: builtin/check-ignore.c:21 builtin/checkout.c:1464 builtin/gc.c:537 +#: builtin/worktree.c:499 msgid "suppress progress reporting" msgstr "不显示进度报告" @@ -9977,27 +10941,27 @@ msgstr "显示未匹配的输入路径" msgid "ignore index when checking" msgstr "检查时忽略索引" -#: builtin/check-ignore.c:160 +#: builtin/check-ignore.c:163 msgid "cannot specify pathnames with --stdin" msgstr "不能同时指定路径及 --stdin 参数" -#: builtin/check-ignore.c:163 +#: builtin/check-ignore.c:166 msgid "-z only makes sense with --stdin" msgstr "-z 需要和 --stdin 参数共用才有意义" -#: builtin/check-ignore.c:165 +#: builtin/check-ignore.c:168 msgid "no path specified" msgstr "未指定路径" -#: builtin/check-ignore.c:169 +#: builtin/check-ignore.c:172 msgid "--quiet is only valid with a single pathname" msgstr "参数 --quiet 只在提供一个路径名时有效" -#: builtin/check-ignore.c:171 +#: builtin/check-ignore.c:174 msgid "cannot have both --quiet and --verbose" msgstr "不能同时提供 --quiet 和 --verbose 参数" -#: builtin/check-ignore.c:174 +#: builtin/check-ignore.c:177 msgid "--non-matching is only valid with --verbose" msgstr "--non-matching 选项只在使用 --verbose 时有效" @@ -10055,9 +11019,9 @@ msgid "write the content to temporary files" msgstr "将内容写入临时文件" #: builtin/checkout-index.c:178 builtin/column.c:31 -#: builtin/submodule--helper.c:1373 builtin/submodule--helper.c:1376 -#: builtin/submodule--helper.c:1384 builtin/submodule--helper.c:1857 -#: builtin/worktree.c:680 +#: builtin/submodule--helper.c:1400 builtin/submodule--helper.c:1403 +#: builtin/submodule--helper.c:1411 builtin/submodule--helper.c:1909 +#: builtin/worktree.c:672 msgid "string" msgstr "字符串" @@ -10085,98 +11049,98 @@ msgstr "git switch [<选项>] [<分支>]" msgid "git restore [] [--source=] ..." msgstr "git restore [<选项>] [--source=<分支>] <文件>..." -#: builtin/checkout.c:172 builtin/checkout.c:211 +#: builtin/checkout.c:175 builtin/checkout.c:214 #, c-format msgid "path '%s' does not have our version" msgstr "路径 '%s' 没有我们的版本" -#: builtin/checkout.c:174 builtin/checkout.c:213 +#: builtin/checkout.c:177 builtin/checkout.c:216 #, c-format msgid "path '%s' does not have their version" msgstr "路径 '%s' 没有他们的版本" -#: builtin/checkout.c:190 +#: builtin/checkout.c:193 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "路径 '%s' 没有全部必需的版本" -#: builtin/checkout.c:240 +#: builtin/checkout.c:243 #, c-format msgid "path '%s' does not have necessary versions" msgstr "路径 '%s' 没有必需的版本" -#: builtin/checkout.c:258 +#: builtin/checkout.c:261 #, c-format msgid "path '%s': cannot merge" msgstr "path '%s':无法合并" -#: builtin/checkout.c:274 +#: builtin/checkout.c:277 #, c-format msgid "Unable to add merge result for '%s'" msgstr "无法为 '%s' 添加合并结果" -#: builtin/checkout.c:374 +#: builtin/checkout.c:377 #, c-format msgid "Recreated %d merge conflict" msgid_plural "Recreated %d merge conflicts" msgstr[0] "重新创建了 %d 个合并冲突" msgstr[1] "重新创建了 %d 个合并冲突" -#: builtin/checkout.c:379 +#: builtin/checkout.c:382 #, c-format msgid "Updated %d path from %s" msgid_plural "Updated %d paths from %s" msgstr[0] "从 %2$s 更新了 %1$d 个路径" msgstr[1] "从 %2$s 更新了 %1$d 个路径" -#: builtin/checkout.c:386 +#: builtin/checkout.c:389 #, c-format msgid "Updated %d path from the index" msgid_plural "Updated %d paths from the index" msgstr[0] "从索引区更新了 %d 个路径" msgstr[1] "从索引区更新了 %d 个路径" -#: builtin/checkout.c:409 builtin/checkout.c:412 builtin/checkout.c:415 -#: builtin/checkout.c:419 +#: builtin/checkout.c:412 builtin/checkout.c:415 builtin/checkout.c:418 +#: builtin/checkout.c:422 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' 不能在更新路径时使用" -#: builtin/checkout.c:422 builtin/checkout.c:425 +#: builtin/checkout.c:425 builtin/checkout.c:428 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' 不能和 %s 同时使用" -#: builtin/checkout.c:429 +#: builtin/checkout.c:432 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "不能同时更新路径并切换到分支'%s'。" -#: builtin/checkout.c:433 +#: builtin/checkout.c:436 #, c-format msgid "neither '%s' or '%s' is specified" msgstr "'%s' 或 '%s' 都没有指定" -#: builtin/checkout.c:437 +#: builtin/checkout.c:440 #, c-format msgid "'%s' must be used when '%s' is not specified" msgstr "未指定 '%2$s' 时,必须使用 '%1$s'" -#: builtin/checkout.c:442 builtin/checkout.c:447 +#: builtin/checkout.c:445 builtin/checkout.c:450 #, c-format msgid "'%s' or '%s' cannot be used with %s" msgstr "'%s' 或 '%s' 不能和 %s 一起使用" -#: builtin/checkout.c:506 builtin/checkout.c:513 +#: builtin/checkout.c:509 builtin/checkout.c:516 #, c-format msgid "path '%s' is unmerged" msgstr "路径 '%s' 未合并" -#: builtin/checkout.c:679 +#: builtin/checkout.c:684 builtin/sparse-checkout.c:106 msgid "you need to resolve your current index first" msgstr "您需要先解决当前索引的冲突" -#: builtin/checkout.c:729 +#: builtin/checkout.c:734 #, c-format msgid "" "cannot continue with staged changes in the following files:\n" @@ -10185,56 +11149,51 @@ msgstr "" "不能继续,下列文件有暂存的修改:\n" "%s" -#: builtin/checkout.c:736 -#, c-format -msgid "staged changes in the following files may be lost: %s" -msgstr "下列文件暂存的修改可能会丢失:%s" - -#: builtin/checkout.c:833 +#: builtin/checkout.c:837 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "不能对 '%s' 执行 reflog 操作:%s\n" -#: builtin/checkout.c:875 +#: builtin/checkout.c:879 msgid "HEAD is now at" msgstr "HEAD 目前位于" -#: builtin/checkout.c:879 builtin/clone.c:714 +#: builtin/checkout.c:883 builtin/clone.c:717 msgid "unable to update HEAD" msgstr "不能更新 HEAD" -#: builtin/checkout.c:883 +#: builtin/checkout.c:887 #, c-format msgid "Reset branch '%s'\n" msgstr "重置分支 '%s'\n" -#: builtin/checkout.c:886 +#: builtin/checkout.c:890 #, c-format msgid "Already on '%s'\n" msgstr "已经位于 '%s'\n" -#: builtin/checkout.c:890 +#: builtin/checkout.c:894 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "切换并重置分支 '%s'\n" -#: builtin/checkout.c:892 builtin/checkout.c:1289 +#: builtin/checkout.c:896 builtin/checkout.c:1320 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "切换到一个新分支 '%s'\n" -#: builtin/checkout.c:894 +#: builtin/checkout.c:898 #, c-format msgid "Switched to branch '%s'\n" msgstr "切换到分支 '%s'\n" # 译者:注意保持前导空格 -#: builtin/checkout.c:945 +#: builtin/checkout.c:949 #, c-format msgid " ... and %d more.\n" msgstr " ... 及其它 %d 个。\n" -#: builtin/checkout.c:951 +#: builtin/checkout.c:955 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -10255,7 +11214,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:970 +#: builtin/checkout.c:974 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -10282,28 +11241,19 @@ msgstr[1] "" " git branch <新分支名> %s\n" "\n" -#: builtin/checkout.c:1005 +#: builtin/checkout.c:1009 msgid "internal error in revision walk" msgstr "在版本遍历时遇到内部错误" -#: builtin/checkout.c:1009 +#: builtin/checkout.c:1013 msgid "Previous HEAD position was" msgstr "之前的 HEAD 位置是" -#: builtin/checkout.c:1049 builtin/checkout.c:1284 +#: builtin/checkout.c:1053 builtin/checkout.c:1315 msgid "You are on a branch yet to be born" msgstr "您位于一个尚未初始化的分支" -#: builtin/checkout.c:1176 -msgid "only one reference expected" -msgstr "预期只有一个引用" - -#: builtin/checkout.c:1193 -#, c-format -msgid "only one reference expected, %d given." -msgstr "应只有一个引用,却给出了 %d 个" - -#: builtin/checkout.c:1230 +#: builtin/checkout.c:1128 #, c-format msgid "" "'%s' could be both a local file and a tracking branch.\n" @@ -10312,37 +11262,70 @@ msgstr "" "'%s' 既可以是一个本地文件,也可以是一个跟踪分支。\n" "请使用 --(和可选的 --no-guess)来消除歧义" -#: builtin/checkout.c:1243 builtin/worktree.c:291 builtin/worktree.c:456 +#: builtin/checkout.c:1135 +msgid "" +"If you meant to check out a remote tracking branch on, e.g. 'origin',\n" +"you can do so by fully qualifying the name with the --track option:\n" +"\n" +" git checkout --track origin/\n" +"\n" +"If you'd like to always have checkouts of an ambiguous prefer\n" +"one remote, e.g. the 'origin' remote, consider setting\n" +"checkout.defaultRemote=origin in your config." +msgstr "" +"如果您想要检出一个远程跟踪分支,例如在 'origin' 上的,您可以使用分支\n" +"全名和 --track 选项:\n" +"\n" +" git checkout --track origin/<名称>\n" +"\n" +"如果您总是喜欢使用模糊的简短分支名 <名称>,而不喜欢如 'origin' 的远程\n" +"名称,可以在配置中设置 checkout.defaultRemote=origin。" + +#: builtin/checkout.c:1145 +#, c-format +msgid "'%s' matched multiple (%d) remote tracking branches" +msgstr "'%s' 匹配多个(%d 个)远程跟踪分支" + +#: builtin/checkout.c:1211 +msgid "only one reference expected" +msgstr "只期望一个引用" + +#: builtin/checkout.c:1228 +#, c-format +msgid "only one reference expected, %d given." +msgstr "应只有一个引用,却给出了 %d 个" + +#: builtin/checkout.c:1274 builtin/worktree.c:283 builtin/worktree.c:448 #, c-format msgid "invalid reference: %s" msgstr "无效引用:%s" -#: builtin/checkout.c:1256 builtin/checkout.c:1618 +#: builtin/checkout.c:1287 builtin/checkout.c:1649 #, c-format msgid "reference is not a tree: %s" msgstr "引用不是一个树:%s" -#: builtin/checkout.c:1303 +#: builtin/checkout.c:1334 #, c-format msgid "a branch is expected, got tag '%s'" msgstr "期望一个分支,得到标签 '%s'" -#: builtin/checkout.c:1305 +#: builtin/checkout.c:1336 #, c-format msgid "a branch is expected, got remote branch '%s'" msgstr "期望一个分支,得到远程分支 '%s'" -#: builtin/checkout.c:1306 builtin/checkout.c:1314 +#: builtin/checkout.c:1337 builtin/checkout.c:1345 #, c-format msgid "a branch is expected, got '%s'" msgstr "期望一个分支,得到 '%s'" -#: builtin/checkout.c:1309 +#: builtin/checkout.c:1340 #, c-format msgid "a branch is expected, got commit '%s'" msgstr "期望一个分支,得到提交 '%s'" -#: builtin/checkout.c:1325 +#: builtin/checkout.c:1356 msgid "" "cannot switch branch while merging\n" "Consider \"git merge --quit\" or \"git worktree add\"." @@ -10350,7 +11333,7 @@ msgstr "" "不能在合并时切换分支\n" "考虑使用 \"git merge --quit\" 或 \"git worktree add\"。" -#: builtin/checkout.c:1329 +#: builtin/checkout.c:1360 msgid "" "cannot switch branch in the middle of an am session\n" "Consider \"git am --quit\" or \"git worktree add\"." @@ -10358,7 +11341,7 @@ msgstr "" "不能在一个 am 会话期间切换分支\n" "考虑使用 \"git am --quit\" 或 \"git worktree add\"。" -#: builtin/checkout.c:1333 +#: builtin/checkout.c:1364 msgid "" "cannot switch branch while rebasing\n" "Consider \"git rebase --quit\" or \"git worktree add\"." @@ -10366,7 +11349,7 @@ msgstr "" "不能在变基时切换分支\n" "考虑使用 \"git rebase --quit\" 或 \"git worktree add\"。" -#: builtin/checkout.c:1337 +#: builtin/checkout.c:1368 msgid "" "cannot switch branch while cherry-picking\n" "Consider \"git cherry-pick --quit\" or \"git worktree add\"." @@ -10374,7 +11357,7 @@ msgstr "" "不能在拣选时切换分支\n" "考虑使用 \"git cherry-pick --quit\" 或 \"git worktree add\"。" -#: builtin/checkout.c:1341 +#: builtin/checkout.c:1372 msgid "" "cannot switch branch while reverting\n" "Consider \"git revert --quit\" or \"git worktree add\"." @@ -10382,230 +11365,211 @@ msgstr "" "不能在还原时切换分支\n" "考虑使用 \"git revert --quit\" 或 \"git worktree add\"。" -#: builtin/checkout.c:1345 +#: builtin/checkout.c:1376 msgid "you are switching branch while bisecting" msgstr "您在执行二分查找时切换分支" -#: builtin/checkout.c:1352 +#: builtin/checkout.c:1383 msgid "paths cannot be used with switching branches" msgstr "路径不能和切换分支同时使用" -#: builtin/checkout.c:1355 builtin/checkout.c:1359 builtin/checkout.c:1363 +#: builtin/checkout.c:1386 builtin/checkout.c:1390 builtin/checkout.c:1394 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' 不能和切换分支同时使用" -#: builtin/checkout.c:1367 builtin/checkout.c:1370 builtin/checkout.c:1373 -#: builtin/checkout.c:1378 builtin/checkout.c:1383 +#: builtin/checkout.c:1398 builtin/checkout.c:1401 builtin/checkout.c:1404 +#: builtin/checkout.c:1409 builtin/checkout.c:1414 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' 不能和 '%s' 同时使用" -#: builtin/checkout.c:1380 +#: builtin/checkout.c:1411 #, c-format msgid "'%s' cannot take " msgstr "'%s' 不带 <起始点>" -#: builtin/checkout.c:1388 +#: builtin/checkout.c:1419 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "不能切换分支到一个非提交 '%s'" -#: builtin/checkout.c:1395 +#: builtin/checkout.c:1426 msgid "missing branch or commit argument" msgstr "缺少分支或提交参数" -#: builtin/checkout.c:1437 builtin/clone.c:91 builtin/fetch.c:151 -#: builtin/merge.c:285 builtin/pull.c:137 builtin/push.c:575 +#: builtin/checkout.c:1468 builtin/clone.c:91 builtin/commit-graph.c:72 +#: builtin/commit-graph.c:135 builtin/fetch.c:167 builtin/merge.c:286 +#: builtin/multi-pack-index.c:27 builtin/pull.c:118 builtin/push.c:563 #: builtin/send-pack.c:174 msgid "force progress reporting" msgstr "强制显示进度报告" -#: builtin/checkout.c:1438 +#: builtin/checkout.c:1469 msgid "perform a 3-way merge with the new branch" msgstr "和新的分支执行三方合并" -#: builtin/checkout.c:1439 builtin/log.c:1617 parse-options.h:318 +#: builtin/checkout.c:1470 builtin/log.c:1690 parse-options.h:322 msgid "style" msgstr "风格" -#: builtin/checkout.c:1440 +#: builtin/checkout.c:1471 msgid "conflict style (merge or diff3)" msgstr "冲突输出风格(merge 或 diff3)" -#: builtin/checkout.c:1452 builtin/worktree.c:504 +#: builtin/checkout.c:1483 builtin/worktree.c:496 msgid "detach HEAD at named commit" msgstr "HEAD 从指定的提交分离" -#: builtin/checkout.c:1453 +#: builtin/checkout.c:1484 msgid "set upstream info for new branch" msgstr "为新的分支设置上游信息" -#: builtin/checkout.c:1455 +#: builtin/checkout.c:1486 msgid "force checkout (throw away local modifications)" msgstr "强制检出(丢弃本地修改)" -#: builtin/checkout.c:1457 +#: builtin/checkout.c:1488 msgid "new-branch" msgstr "新分支" -#: builtin/checkout.c:1457 +#: builtin/checkout.c:1488 msgid "new unparented branch" msgstr "新的没有父提交的分支" -#: builtin/checkout.c:1459 builtin/merge.c:288 +#: builtin/checkout.c:1490 builtin/merge.c:289 msgid "update ignored files (default)" msgstr "更新忽略的文件(默认)" -#: builtin/checkout.c:1462 +#: builtin/checkout.c:1493 msgid "do not check if another worktree is holding the given ref" msgstr "不检查指定的引用是否被其他工作区所占用" -#: builtin/checkout.c:1475 +#: builtin/checkout.c:1506 msgid "checkout our version for unmerged files" msgstr "对尚未合并的文件检出我们的版本" -#: builtin/checkout.c:1478 +#: builtin/checkout.c:1509 msgid "checkout their version for unmerged files" msgstr "对尚未合并的文件检出他们的版本" -#: builtin/checkout.c:1482 +#: builtin/checkout.c:1513 msgid "do not limit pathspecs to sparse entries only" msgstr "对路径不做稀疏检出的限制" -#: builtin/checkout.c:1533 +#: builtin/checkout.c:1565 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b、-B 和 --orphan 是互斥的" -#: builtin/checkout.c:1536 +#: builtin/checkout.c:1568 msgid "-p and --overlay are mutually exclusive" msgstr "-p 和 --overlay 互斥" -#: builtin/checkout.c:1573 +#: builtin/checkout.c:1605 msgid "--track needs a branch name" msgstr "--track 需要一个分支名" -#: builtin/checkout.c:1578 +#: builtin/checkout.c:1610 msgid "missing branch name; try -b" msgstr "缺少分支名,尝试 -b" -#: builtin/checkout.c:1611 +#: builtin/checkout.c:1642 #, c-format msgid "could not resolve %s" msgstr "无法解析 %s" -#: builtin/checkout.c:1623 -msgid "you must specify path(s) to restore" -msgstr "您必须指定一个要恢复的路径" - -#: builtin/checkout.c:1631 +#: builtin/checkout.c:1658 msgid "invalid path specification" msgstr "无效的路径规格" -#: builtin/checkout.c:1638 +#: builtin/checkout.c:1665 #, c-format msgid "'%s' is not a commit and a branch '%s' cannot be created from it" msgstr "'%s' 不是一个提交,不能基于它创建分支 '%s'" -#: builtin/checkout.c:1642 +#: builtin/checkout.c:1669 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout:--detach 不能接收路径参数 '%s'" -#: builtin/checkout.c:1646 +#: builtin/checkout.c:1678 +msgid "--pathspec-from-file is incompatible with --detach" +msgstr "--pathspec-from-file 与 --detach 不兼容" + +#: builtin/checkout.c:1681 builtin/reset.c:324 builtin/stash.c:1506 +msgid "--pathspec-from-file is incompatible with --patch" +msgstr "--pathspec-from-file 与 --patch 不兼容" + +#: builtin/checkout.c:1692 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." msgstr "" "git checkout:在从索引检出时,--ours/--theirs、--force 和 --merge 不兼容。" -#: builtin/checkout.c:1666 -#, c-format -msgid "" -"'%s' matched more than one remote tracking branch.\n" -"We found %d remotes with a reference that matched. So we fell back\n" -"on trying to resolve the argument as a path, but failed there too!\n" -"\n" -"If you meant to check out a remote tracking branch on, e.g. 'origin',\n" -"you can do so by fully qualifying the name with the --track option:\n" -"\n" -" git checkout --track origin/\n" -"\n" -"If you'd like to always have checkouts of an ambiguous prefer\n" -"one remote, e.g. the 'origin' remote, consider setting\n" -"checkout.defaultRemote=origin in your config." -msgstr "" -"'%s' 匹配了一个以上的远程跟踪分支。\n" -"我们发现 %d 个远程仓库具有同名分支。所以我们转而尝试将这个参数解析为\n" -"路径,但是也失败了!\n" -"\n" -"如果您想要检出一个远程跟踪分支,例如在远程仓库 'origin' 上的,您可以\n" -"使用分支全名和 --track 选项:\n" -"\n" -" git checkout --track origin/\n" -"\n" -"如果您总是喜欢使用模糊的简短分支名 ,而不喜欢如 'origin' 的远程\n" -"仓库名,可以在配置中设置 checkout.defaultRemote=origin。" +#: builtin/checkout.c:1697 +msgid "you must specify path(s) to restore" +msgstr "您必须指定一个要恢复的路径" -#: builtin/checkout.c:1691 builtin/checkout.c:1693 builtin/checkout.c:1733 -#: builtin/checkout.c:1735 builtin/clone.c:121 builtin/remote.c:169 -#: builtin/remote.c:171 builtin/worktree.c:500 builtin/worktree.c:502 +#: builtin/checkout.c:1723 builtin/checkout.c:1725 builtin/checkout.c:1774 +#: builtin/checkout.c:1776 builtin/clone.c:121 builtin/remote.c:170 +#: builtin/remote.c:172 builtin/worktree.c:492 builtin/worktree.c:494 msgid "branch" msgstr "分支" -#: builtin/checkout.c:1692 +#: builtin/checkout.c:1724 msgid "create and checkout a new branch" msgstr "创建并检出一个新的分支" -#: builtin/checkout.c:1694 +#: builtin/checkout.c:1726 msgid "create/reset and checkout a branch" msgstr "创建/重置并检出一个分支" -#: builtin/checkout.c:1695 +#: builtin/checkout.c:1727 msgid "create reflog for new branch" msgstr "为新的分支创建引用日志" -#: builtin/checkout.c:1697 +#: builtin/checkout.c:1729 msgid "second guess 'git checkout ' (default)" msgstr "二次猜测 'git checkout <无此分支>'(默认)" -#: builtin/checkout.c:1698 +#: builtin/checkout.c:1730 msgid "use overlay mode (default)" msgstr "使用叠加模式(默认)" -#: builtin/checkout.c:1734 +#: builtin/checkout.c:1775 msgid "create and switch to a new branch" msgstr "创建并切换一个新分支" -#: builtin/checkout.c:1736 +#: builtin/checkout.c:1777 msgid "create/reset and switch to a branch" msgstr "创建/重置并切换一个分支" -#: builtin/checkout.c:1738 +#: builtin/checkout.c:1779 msgid "second guess 'git switch '" msgstr "二次猜测 'git switch <无此分支>'" -#: builtin/checkout.c:1740 +#: builtin/checkout.c:1781 msgid "throw away local modifications" msgstr "丢弃本地修改" -#: builtin/checkout.c:1772 +#: builtin/checkout.c:1813 msgid "which tree-ish to checkout from" msgstr "要检出哪一个树" -#: builtin/checkout.c:1774 +#: builtin/checkout.c:1815 msgid "restore the index" msgstr "恢复索引" -#: builtin/checkout.c:1776 +#: builtin/checkout.c:1817 msgid "restore the working tree (default)" msgstr "恢复工作区(默认)" -#: builtin/checkout.c:1778 +#: builtin/checkout.c:1819 msgid "ignore unmerged entries" msgstr "忽略未合并条目" -#: builtin/checkout.c:1779 +#: builtin/checkout.c:1820 msgid "use overlay mode" msgstr "使用叠加模式" @@ -10645,7 +11609,7 @@ msgstr "删除 %s 失败" msgid "could not lstat %s\n" msgstr "不能对 %s 调用 lstat\n" -#: builtin/clean.c:300 git-add--interactive.perl:593 +#: builtin/clean.c:301 git-add--interactive.perl:595 #, c-format msgid "" "Prompt help:\n" @@ -10658,7 +11622,7 @@ msgstr "" "foo - 通过唯一前缀选择一个选项\n" " - (空)什么也不选择\n" -#: builtin/clean.c:304 git-add--interactive.perl:602 +#: builtin/clean.c:305 git-add--interactive.perl:604 #, c-format msgid "" "Prompt help:\n" @@ -10679,38 +11643,33 @@ msgstr "" "* - 选择所有选项\n" " - (空)结束选择\n" -#: builtin/clean.c:520 git-add--interactive.perl:568 -#: git-add--interactive.perl:573 +#: builtin/clean.c:521 git-add--interactive.perl:570 +#: git-add--interactive.perl:575 #, c-format, perl-format msgid "Huh (%s)?\n" msgstr "嗯(%s)?\n" -#: builtin/clean.c:662 +#: builtin/clean.c:663 #, c-format msgid "Input ignore patterns>> " msgstr "输入模版以排除条目>> " -#: builtin/clean.c:699 +#: builtin/clean.c:700 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "警告:无法找到和 %s 匹配的条目" -#: builtin/clean.c:720 +#: builtin/clean.c:721 msgid "Select items to delete" msgstr "选择要删除的条目" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:761 +#: builtin/clean.c:762 #, c-format msgid "Remove %s [y/N]? " msgstr "删除 %s [y/N]?" -#: builtin/clean.c:786 git-add--interactive.perl:1763 -#, c-format -msgid "Bye.\n" -msgstr "再见。\n" - -#: builtin/clean.c:794 +#: builtin/clean.c:795 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -10728,78 +11687,70 @@ msgstr "" "help - 显示本帮助\n" "? - 显示如何在提示符下选择的帮助" -#: builtin/clean.c:821 git-add--interactive.perl:1849 -msgid "*** Commands ***" -msgstr "*** 命令 ***" - -#: builtin/clean.c:822 git-add--interactive.perl:1846 -msgid "What now" -msgstr "请选择" - -#: builtin/clean.c:830 +#: builtin/clean.c:831 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "将删除如下条目:" msgstr[1] "将删除如下条目:" -#: builtin/clean.c:846 +#: builtin/clean.c:847 msgid "No more files to clean, exiting." msgstr "没有要清理的文件,退出。" -#: builtin/clean.c:908 +#: builtin/clean.c:909 msgid "do not print names of files removed" msgstr "不打印删除文件的名称" -#: builtin/clean.c:910 +#: builtin/clean.c:911 msgid "force" msgstr "强制" -#: builtin/clean.c:911 +#: builtin/clean.c:912 msgid "interactive cleaning" msgstr "交互式清除" -#: builtin/clean.c:913 +#: builtin/clean.c:914 msgid "remove whole directories" msgstr "删除整个目录" -#: builtin/clean.c:914 builtin/describe.c:546 builtin/describe.c:548 -#: builtin/grep.c:899 builtin/log.c:176 builtin/log.c:178 -#: builtin/ls-files.c:557 builtin/name-rev.c:413 builtin/name-rev.c:415 +#: builtin/clean.c:915 builtin/describe.c:562 builtin/describe.c:564 +#: builtin/grep.c:889 builtin/log.c:177 builtin/log.c:179 +#: builtin/ls-files.c:557 builtin/name-rev.c:526 builtin/name-rev.c:528 #: builtin/show-ref.c:179 msgid "pattern" msgstr "模式" -#: builtin/clean.c:915 +#: builtin/clean.c:916 msgid "add to ignore rules" msgstr "添加 <模式> 到忽略规则" -#: builtin/clean.c:916 +#: builtin/clean.c:917 msgid "remove ignored files, too" msgstr "也删除忽略的文件" -#: builtin/clean.c:918 +#: builtin/clean.c:919 msgid "remove only ignored files" msgstr "只删除忽略的文件" -#: builtin/clean.c:936 +#: builtin/clean.c:937 msgid "-x and -X cannot be used together" msgstr "-x 和 -X 不能同时使用" -#: builtin/clean.c:940 +#: builtin/clean.c:941 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" msgstr "" "clean.requireForce 设置为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作" -#: builtin/clean.c:943 +#: builtin/clean.c:944 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" msgstr "" "clean.requireForce 默认为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作" -#: builtin/clone.c:46 +#: builtin/clone.c:45 msgid "git clone [] [--] []" msgstr "git clone [<选项>] [--] <仓库> [<路径>]" @@ -10847,18 +11798,18 @@ msgstr "模板目录" msgid "directory from which templates will be used" msgstr "模板目录将被使用" -#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1380 -#: builtin/submodule--helper.c:1860 +#: builtin/clone.c:114 builtin/clone.c:116 builtin/submodule--helper.c:1407 +#: builtin/submodule--helper.c:1912 msgid "reference repository" msgstr "参考仓库" -#: builtin/clone.c:118 builtin/submodule--helper.c:1382 -#: builtin/submodule--helper.c:1862 +#: builtin/clone.c:118 builtin/submodule--helper.c:1409 +#: builtin/submodule--helper.c:1914 msgid "use --reference only while cloning" msgstr "仅在克隆时参考 --reference 指向的本地仓库" #: builtin/clone.c:119 builtin/column.c:27 builtin/merge-file.c:46 -#: builtin/pack-objects.c:3314 builtin/repack.c:319 +#: builtin/pack-objects.c:3441 builtin/repack.c:327 msgid "name" msgstr "名称" @@ -10874,8 +11825,8 @@ msgstr "检出 <分支> 而不是远程 HEAD" msgid "path to git-upload-pack on the remote" msgstr "远程 git-upload-pack 路径" -#: builtin/clone.c:125 builtin/fetch.c:152 builtin/grep.c:838 -#: builtin/pull.c:226 +#: builtin/clone.c:125 builtin/fetch.c:168 builtin/grep.c:828 +#: builtin/pull.c:207 msgid "depth" msgstr "深度" @@ -10883,7 +11834,7 @@ msgstr "深度" msgid "create a shallow clone of that depth" msgstr "创建一个指定深度的浅克隆" -#: builtin/clone.c:127 builtin/fetch.c:154 builtin/pack-objects.c:3303 +#: builtin/clone.c:127 builtin/fetch.c:170 builtin/pack-objects.c:3430 msgid "time" msgstr "时间" @@ -10891,16 +11842,17 @@ msgstr "时间" msgid "create a shallow clone since a specific time" msgstr "从一个特定时间创建一个浅克隆" -#: builtin/clone.c:129 builtin/fetch.c:156 builtin/fetch.c:179 -#: builtin/rebase.c:1395 +#: builtin/clone.c:129 builtin/fetch.c:172 builtin/fetch.c:195 +#: builtin/rebase.c:1480 msgid "revision" msgstr "版本" -#: builtin/clone.c:130 builtin/fetch.c:157 +#: builtin/clone.c:130 builtin/fetch.c:173 msgid "deepen history of shallow clone, excluding rev" msgstr "深化浅克隆的历史,除了特定版本" -#: builtin/clone.c:132 +#: builtin/clone.c:132 builtin/submodule--helper.c:1419 +#: builtin/submodule--helper.c:1928 msgid "clone only one branch, HEAD or --branch" msgstr "只克隆一个分支、HEAD 或 --branch" @@ -10928,23 +11880,23 @@ msgstr "key=value" msgid "set config inside the new repository" msgstr "在新仓库中设置配置信息" -#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 -#: builtin/push.c:585 builtin/send-pack.c:172 +#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76 +#: builtin/push.c:573 builtin/send-pack.c:172 msgid "server-specific" msgstr "server-specific" -#: builtin/clone.c:142 builtin/fetch.c:174 builtin/ls-remote.c:76 -#: builtin/push.c:585 builtin/send-pack.c:173 +#: builtin/clone.c:142 builtin/fetch.c:190 builtin/ls-remote.c:76 +#: builtin/push.c:573 builtin/send-pack.c:173 msgid "option to transmit" msgstr "传输选项" -#: builtin/clone.c:143 builtin/fetch.c:175 builtin/pull.c:239 -#: builtin/push.c:586 +#: builtin/clone.c:143 builtin/fetch.c:191 builtin/pull.c:220 +#: builtin/push.c:574 msgid "use IPv4 addresses only" msgstr "只使用 IPv4 地址" -#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242 -#: builtin/push.c:588 +#: builtin/clone.c:145 builtin/fetch.c:193 builtin/pull.c:223 +#: builtin/push.c:576 msgid "use IPv6 addresses only" msgstr "只使用 IPv6 地址" @@ -10952,7 +11904,11 @@ msgstr "只使用 IPv6 地址" msgid "any cloned submodules will use their remote-tracking branch" msgstr "任何克隆的子模组将使用它们的远程跟踪分支" -#: builtin/clone.c:285 +#: builtin/clone.c:151 +msgid "initialize sparse-checkout file to include only files at root" +msgstr "初始化稀疏检出文件,只包含根目录文件" + +#: builtin/clone.c:287 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -10960,47 +11916,42 @@ msgstr "" "无法猜到目录名。\n" "请在命令行指定一个目录" -#: builtin/clone.c:338 +#: builtin/clone.c:340 #, c-format msgid "info: Could not add alternate for '%s': %s\n" msgstr "info: 不能为 '%s' 添加一个备用:%s\n" -#: builtin/clone.c:411 +#: builtin/clone.c:413 #, c-format msgid "%s exists and is not a directory" msgstr "%s 存在且不是一个目录" -#: builtin/clone.c:428 +#: builtin/clone.c:430 #, c-format msgid "failed to start iterator over '%s'" msgstr "无法在 '%s' 上启动迭代器" -#: builtin/clone.c:453 -#, c-format -msgid "failed to unlink '%s'" -msgstr "删除 '%s' 失败" - -#: builtin/clone.c:458 +#: builtin/clone.c:460 #, c-format msgid "failed to create link '%s'" msgstr "创建链接 '%s' 失败" -#: builtin/clone.c:462 +#: builtin/clone.c:464 #, c-format msgid "failed to copy file to '%s'" msgstr "拷贝文件至 '%s' 失败" -#: builtin/clone.c:467 +#: builtin/clone.c:469 #, c-format msgid "failed to iterate over '%s'" msgstr "无法在 '%s' 上迭代" -#: builtin/clone.c:492 +#: builtin/clone.c:494 #, c-format msgid "done.\n" msgstr "完成。\n" -#: builtin/clone.c:506 +#: builtin/clone.c:508 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -11010,130 +11961,134 @@ msgstr "" "您可以通过 'git status' 检查哪些已被检出,然后使用命令\n" "'git restore --source=HEAD :/' 重试\n" -#: builtin/clone.c:583 +#: builtin/clone.c:585 #, c-format msgid "Could not find remote branch %s to clone." msgstr "不能发现要克隆的远程分支 %s。" -#: builtin/clone.c:702 +#: builtin/clone.c:705 #, c-format msgid "unable to update %s" msgstr "不能更新 %s" -#: builtin/clone.c:752 +#: builtin/clone.c:753 +msgid "failed to initialize sparse-checkout" +msgstr "无法初始化稀疏检出" + +#: builtin/clone.c:776 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "远程 HEAD 指向一个不存在的引用,无法检出。\n" -#: builtin/clone.c:783 +#: builtin/clone.c:807 msgid "unable to checkout working tree" msgstr "不能检出工作区" -#: builtin/clone.c:833 +#: builtin/clone.c:862 msgid "unable to write parameters to config file" msgstr "无法将参数写入配置文件" -#: builtin/clone.c:896 +#: builtin/clone.c:925 msgid "cannot repack to clean up" msgstr "无法执行 repack 来清理" -#: builtin/clone.c:898 +#: builtin/clone.c:927 msgid "cannot unlink temporary alternates file" msgstr "无法删除临时的 alternates 文件" -#: builtin/clone.c:938 builtin/receive-pack.c:1950 +#: builtin/clone.c:965 builtin/receive-pack.c:1950 msgid "Too many arguments." msgstr "太多参数。" -#: builtin/clone.c:942 +#: builtin/clone.c:969 msgid "You must specify a repository to clone." msgstr "您必须指定一个仓库来克隆。" -#: builtin/clone.c:955 +#: builtin/clone.c:982 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "--bare 和 --origin %s 选项不兼容。" -#: builtin/clone.c:958 +#: builtin/clone.c:985 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare 和 --separate-git-dir 选项不兼容。" -#: builtin/clone.c:971 +#: builtin/clone.c:998 #, c-format msgid "repository '%s' does not exist" msgstr "仓库 '%s' 不存在" -#: builtin/clone.c:977 builtin/fetch.c:1660 +#: builtin/clone.c:1004 builtin/fetch.c:1796 #, c-format msgid "depth %s is not a positive number" msgstr "深度 %s 不是一个正数" -#: builtin/clone.c:987 +#: builtin/clone.c:1014 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "目标路径 '%s' 已经存在,并且不是一个空目录。" -#: builtin/clone.c:997 +#: builtin/clone.c:1024 #, c-format msgid "working tree '%s' already exists." msgstr "工作区 '%s' 已经存在。" -#: builtin/clone.c:1012 builtin/clone.c:1033 builtin/difftool.c:264 -#: builtin/worktree.c:303 builtin/worktree.c:335 +#: builtin/clone.c:1039 builtin/clone.c:1060 builtin/difftool.c:271 +#: builtin/log.c:1866 builtin/worktree.c:295 builtin/worktree.c:327 #, c-format msgid "could not create leading directories of '%s'" msgstr "不能为 '%s' 创建先导目录" -#: builtin/clone.c:1017 +#: builtin/clone.c:1044 #, c-format msgid "could not create work tree dir '%s'" msgstr "不能创建工作区目录 '%s'" -#: builtin/clone.c:1037 +#: builtin/clone.c:1064 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "克隆到纯仓库 '%s'...\n" -#: builtin/clone.c:1039 +#: builtin/clone.c:1066 #, c-format msgid "Cloning into '%s'...\n" msgstr "正克隆到 '%s'...\n" -#: builtin/clone.c:1063 +#: builtin/clone.c:1090 msgid "" "clone --recursive is not compatible with both --reference and --reference-if-" "able" msgstr "clone --recursive 和 --reference 以及 --reference-if-able 不兼容" -#: builtin/clone.c:1124 +#: builtin/clone.c:1154 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth 在本地克隆时被忽略,请改用 file:// 协议。" -#: builtin/clone.c:1126 +#: builtin/clone.c:1156 msgid "--shallow-since is ignored in local clones; use file:// instead." msgstr "--shallow-since 在本地克隆时被忽略,请改用 file:// 协议。" -#: builtin/clone.c:1128 +#: builtin/clone.c:1158 msgid "--shallow-exclude is ignored in local clones; use file:// instead." msgstr "--shallow-exclude 在本地克隆时被忽略,请改用 file:// 协议。" -#: builtin/clone.c:1130 +#: builtin/clone.c:1160 msgid "--filter is ignored in local clones; use file:// instead." msgstr "--filter 在本地克隆时被忽略,请改用 file:// 协议。" -#: builtin/clone.c:1133 +#: builtin/clone.c:1163 msgid "source repository is shallow, ignoring --local" msgstr "源仓库是浅克隆,忽略 --local" -#: builtin/clone.c:1138 +#: builtin/clone.c:1168 msgid "--local is ignored" msgstr "--local 被忽略" -#: builtin/clone.c:1215 builtin/clone.c:1223 +#: builtin/clone.c:1243 builtin/clone.c:1251 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "远程分支 %s 在上游 %s 未发现" -#: builtin/clone.c:1226 +#: builtin/clone.c:1254 msgid "You appear to have cloned an empty repository." msgstr "您似乎克隆了一个空仓库。" @@ -11182,7 +12137,7 @@ msgstr "" msgid "duplicate parent %s ignored" msgstr "忽略重复的父提交 %s" -#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:525 +#: builtin/commit-tree.c:56 builtin/commit-tree.c:136 builtin/log.c:526 #, c-format msgid "not a valid object name %s" msgstr "不是一个有效的对象名 %s" @@ -11210,13 +12165,13 @@ msgstr "父提交" msgid "id of a parent commit object" msgstr "父提交对象 ID" -#: builtin/commit-tree.c:114 builtin/commit.c:1500 builtin/merge.c:270 -#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1460 +#: builtin/commit-tree.c:114 builtin/commit.c:1501 builtin/merge.c:271 +#: builtin/notes.c:409 builtin/notes.c:575 builtin/stash.c:1477 #: builtin/tag.c:412 msgid "message" msgstr "说明" -#: builtin/commit-tree.c:115 builtin/commit.c:1500 +#: builtin/commit-tree.c:115 builtin/commit.c:1501 msgid "commit message" msgstr "提交说明" @@ -11224,8 +12179,8 @@ msgstr "提交说明" msgid "read commit log message from file" msgstr "从文件中读取提交说明" -#: builtin/commit-tree.c:121 builtin/commit.c:1512 builtin/merge.c:287 -#: builtin/pull.c:194 builtin/revert.c:118 +#: builtin/commit-tree.c:121 builtin/commit.c:1513 builtin/merge.c:288 +#: builtin/pull.c:175 builtin/revert.c:118 msgid "GPG sign commit" msgstr "GPG 提交签名" @@ -11297,94 +12252,102 @@ msgstr "" msgid "failed to unpack HEAD tree object" msgstr "解包 HEAD 树对象失败" -#: builtin/commit.c:356 +#: builtin/commit.c:351 +msgid "--pathspec-from-file with -a does not make sense" +msgstr "--pathspec-from-file 和 -a 在一起没有意义" + +#: builtin/commit.c:364 +msgid "No paths with --include/--only does not make sense." +msgstr "参数 --include/--only 不跟路径没有意义。" + +#: builtin/commit.c:376 msgid "unable to create temporary index" msgstr "不能创建临时索引" -#: builtin/commit.c:362 +#: builtin/commit.c:385 msgid "interactive add failed" msgstr "交互式添加失败" -#: builtin/commit.c:376 +#: builtin/commit.c:400 msgid "unable to update temporary index" msgstr "无法更新临时索引" -#: builtin/commit.c:378 +#: builtin/commit.c:402 msgid "Failed to update main cache tree" msgstr "不能更新树的主缓存" -#: builtin/commit.c:403 builtin/commit.c:426 builtin/commit.c:472 +#: builtin/commit.c:427 builtin/commit.c:450 builtin/commit.c:496 msgid "unable to write new_index file" msgstr "无法写 new_index 文件" -#: builtin/commit.c:455 +#: builtin/commit.c:479 msgid "cannot do a partial commit during a merge." msgstr "在合并过程中不能做部分提交。" -#: builtin/commit.c:457 +#: builtin/commit.c:481 msgid "cannot do a partial commit during a cherry-pick." msgstr "在拣选过程中不能做部分提交。" -#: builtin/commit.c:465 +#: builtin/commit.c:489 msgid "cannot read the index" msgstr "无法读取索引" -#: builtin/commit.c:484 +#: builtin/commit.c:508 msgid "unable to write temporary index file" msgstr "无法写临时索引文件" -#: builtin/commit.c:582 +#: builtin/commit.c:606 #, c-format msgid "commit '%s' lacks author header" msgstr "提交 '%s' 缺少作者信息" -#: builtin/commit.c:584 +#: builtin/commit.c:608 #, c-format msgid "commit '%s' has malformed author line" msgstr "提交 '%s' 有格式错误的作者信息" -#: builtin/commit.c:603 +#: builtin/commit.c:627 msgid "malformed --author parameter" msgstr "格式错误的 --author 参数" -#: builtin/commit.c:656 +#: builtin/commit.c:680 msgid "" "unable to select a comment character that is not used\n" "in the current commit message" msgstr "无法选择一个未被当前提交说明使用的注释字符" -#: builtin/commit.c:694 builtin/commit.c:727 builtin/commit.c:1072 +#: builtin/commit.c:718 builtin/commit.c:751 builtin/commit.c:1097 #, c-format msgid "could not lookup commit %s" msgstr "不能查询提交 %s" -#: builtin/commit.c:706 builtin/shortlog.c:319 +#: builtin/commit.c:730 builtin/shortlog.c:319 #, c-format msgid "(reading log message from standard input)\n" msgstr "(正从标准输入中读取日志信息)\n" -#: builtin/commit.c:708 +#: builtin/commit.c:732 msgid "could not read log from standard input" msgstr "不能从标准输入中读取日志信息" -#: builtin/commit.c:712 +#: builtin/commit.c:736 #, c-format msgid "could not read log file '%s'" msgstr "不能读取日志文件 '%s'" -#: builtin/commit.c:743 builtin/commit.c:759 +#: builtin/commit.c:767 builtin/commit.c:783 msgid "could not read SQUASH_MSG" msgstr "不能读取 SQUASH_MSG" -#: builtin/commit.c:750 +#: builtin/commit.c:774 msgid "could not read MERGE_MSG" msgstr "不能读取 MERGE_MSG" -#: builtin/commit.c:810 +#: builtin/commit.c:834 msgid "could not write commit template" msgstr "不能写提交模版" -#: builtin/commit.c:829 +#: builtin/commit.c:853 #, c-format msgid "" "\n" @@ -11398,7 +12361,7 @@ msgstr "" "\t%s\n" "然后重试。\n" -#: builtin/commit.c:834 +#: builtin/commit.c:858 #, c-format msgid "" "\n" @@ -11412,7 +12375,7 @@ msgstr "" "\t%s\n" "然后重试。\n" -#: builtin/commit.c:847 +#: builtin/commit.c:871 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11421,7 +12384,7 @@ msgstr "" "请为您的变更输入提交说明。以 '%c' 开始的行将被忽略,而一个空的提交\n" "说明将会终止提交。\n" -#: builtin/commit.c:855 +#: builtin/commit.c:879 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -11432,324 +12395,320 @@ msgstr "" "也可以删除它们。一个空的提交说明将会终止提交。\n" # 译者:为保证在输出中对齐,注意调整句中空格! -#: builtin/commit.c:872 +#: builtin/commit.c:896 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%s作者: %.*s <%.*s>" # 译者:为保证在输出中对齐,注意调整句中空格! -#: builtin/commit.c:880 +#: builtin/commit.c:904 #, c-format msgid "%sDate: %s" msgstr "%s日期: %s" # 译者:为保证在输出中对齐,注意调整句中空格! -#: builtin/commit.c:887 +#: builtin/commit.c:911 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%s提交者:%.*s <%.*s>" -#: builtin/commit.c:905 +#: builtin/commit.c:929 msgid "Cannot read index" msgstr "无法读取索引" -#: builtin/commit.c:972 +#: builtin/commit.c:997 msgid "Error building trees" msgstr "无法创建树对象" -#: builtin/commit.c:986 builtin/tag.c:275 +#: builtin/commit.c:1011 builtin/tag.c:275 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "请使用 -m 或 -F 选项提供提交说明。\n" -#: builtin/commit.c:1030 +#: builtin/commit.c:1055 #, c-format msgid "--author '%s' is not 'Name ' and matches no existing author" msgstr "--author '%s' 不是 '姓名 <邮箱>' 格式,且未能在现有作者中找到匹配" -#: builtin/commit.c:1044 +#: builtin/commit.c:1069 #, c-format msgid "Invalid ignored mode '%s'" msgstr "无效的忽略模式 '%s'" -#: builtin/commit.c:1062 builtin/commit.c:1304 +#: builtin/commit.c:1087 builtin/commit.c:1327 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "无效的未追踪文件参数 '%s'" -#: builtin/commit.c:1102 +#: builtin/commit.c:1127 msgid "--long and -z are incompatible" msgstr "--long 和 -z 选项不兼容" -#: builtin/commit.c:1146 +#: builtin/commit.c:1171 msgid "Using both --reset-author and --author does not make sense" msgstr "同时使用 --reset-author 和 --author 没有意义" -#: builtin/commit.c:1155 +#: builtin/commit.c:1180 msgid "You have nothing to amend." msgstr "您没有可修补的提交。" -#: builtin/commit.c:1158 +#: builtin/commit.c:1183 msgid "You are in the middle of a merge -- cannot amend." msgstr "您正处于一个合并过程中 -- 无法修补提交。" -#: builtin/commit.c:1160 +#: builtin/commit.c:1185 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "您正处于一个拣选过程中 -- 无法修补提交。" -#: builtin/commit.c:1163 +#: builtin/commit.c:1188 msgid "Options --squash and --fixup cannot be used together" msgstr "选项 --squash 和 --fixup 不能同时使用" -#: builtin/commit.c:1173 +#: builtin/commit.c:1198 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "只能用一个 -c/-C/-F/--fixup 选项。" -#: builtin/commit.c:1175 +#: builtin/commit.c:1200 msgid "Option -m cannot be combined with -c/-C/-F." msgstr "选项 -m 不能和 -c/-C/-F 同时使用。" -#: builtin/commit.c:1183 +#: builtin/commit.c:1208 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author 只能和 -C、-c 或 --amend 同时使用。" -#: builtin/commit.c:1200 +#: builtin/commit.c:1225 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "只能用一个 --include/--only/--all/--interactive/--patch 选项。" -#: builtin/commit.c:1202 -msgid "No paths with --include/--only does not make sense." -msgstr "参数 --include/--only 不跟路径没有意义。" - -#: builtin/commit.c:1208 +#: builtin/commit.c:1231 #, c-format msgid "paths '%s ...' with -a does not make sense" msgstr "路径 '%s ...' 和 -a 选项同时使用没有意义" -#: builtin/commit.c:1339 builtin/commit.c:1523 +#: builtin/commit.c:1362 builtin/commit.c:1524 msgid "show status concisely" msgstr "以简洁的格式显示状态" -#: builtin/commit.c:1341 builtin/commit.c:1525 +#: builtin/commit.c:1364 builtin/commit.c:1526 msgid "show branch information" msgstr "显示分支信息" -#: builtin/commit.c:1343 +#: builtin/commit.c:1366 msgid "show stash information" msgstr "显示贮藏区信息" -#: builtin/commit.c:1345 builtin/commit.c:1527 +#: builtin/commit.c:1368 builtin/commit.c:1528 msgid "compute full ahead/behind values" msgstr "计算完整的领先/落后值" -#: builtin/commit.c:1347 +#: builtin/commit.c:1370 msgid "version" msgstr "版本" -#: builtin/commit.c:1347 builtin/commit.c:1529 builtin/push.c:561 -#: builtin/worktree.c:651 +#: builtin/commit.c:1370 builtin/commit.c:1530 builtin/push.c:549 +#: builtin/worktree.c:643 msgid "machine-readable output" msgstr "机器可读的输出" -#: builtin/commit.c:1350 builtin/commit.c:1531 +#: builtin/commit.c:1373 builtin/commit.c:1532 msgid "show status in long format (default)" msgstr "以长格式显示状态(默认)" -#: builtin/commit.c:1353 builtin/commit.c:1534 +#: builtin/commit.c:1376 builtin/commit.c:1535 msgid "terminate entries with NUL" msgstr "条目以 NUL 字符结尾" -#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537 -#: builtin/fast-export.c:1125 builtin/fast-export.c:1128 -#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332 +#: builtin/commit.c:1378 builtin/commit.c:1382 builtin/commit.c:1538 +#: builtin/fast-export.c:1153 builtin/fast-export.c:1156 +#: builtin/fast-export.c:1159 builtin/rebase.c:1569 parse-options.h:336 msgid "mode" msgstr "模式" -#: builtin/commit.c:1356 builtin/commit.c:1537 +#: builtin/commit.c:1379 builtin/commit.c:1538 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)" -#: builtin/commit.c:1360 +#: builtin/commit.c:1383 msgid "" "show ignored files, optional modes: traditional, matching, no. (Default: " "traditional)" msgstr "" "显示已忽略的文件,可选模式:traditional、matching、no。(默认:traditional)" -#: builtin/commit.c:1362 parse-options.h:179 +#: builtin/commit.c:1385 parse-options.h:192 msgid "when" msgstr "何时" -#: builtin/commit.c:1363 +#: builtin/commit.c:1386 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" msgstr "" "忽略子模组的更改,“何时”的可选参数:all、dirty、untracked。(默认:all)" -#: builtin/commit.c:1365 +#: builtin/commit.c:1388 msgid "list untracked files in columns" msgstr "以列的方式显示未跟踪的文件" -#: builtin/commit.c:1366 +#: builtin/commit.c:1389 msgid "do not detect renames" msgstr "不检测重命名" -#: builtin/commit.c:1368 +#: builtin/commit.c:1391 msgid "detect renames, optionally set similarity index" msgstr "检测重命名,可以设置索引相似度" -#: builtin/commit.c:1388 +#: builtin/commit.c:1411 msgid "Unsupported combination of ignored and untracked-files arguments" msgstr "不支持已忽略和未跟踪文件参数的组合" -#: builtin/commit.c:1493 +#: builtin/commit.c:1494 msgid "suppress summary after successful commit" msgstr "提交成功后不显示概述信息" -#: builtin/commit.c:1494 +#: builtin/commit.c:1495 msgid "show diff in commit message template" msgstr "在提交说明模板里显示差异" -#: builtin/commit.c:1496 +#: builtin/commit.c:1497 msgid "Commit message options" msgstr "提交说明选项" -#: builtin/commit.c:1497 builtin/merge.c:274 builtin/tag.c:414 +#: builtin/commit.c:1498 builtin/merge.c:275 builtin/tag.c:414 msgid "read message from file" msgstr "从文件中读取提交说明" -#: builtin/commit.c:1498 +#: builtin/commit.c:1499 msgid "author" msgstr "作者" -#: builtin/commit.c:1498 +#: builtin/commit.c:1499 msgid "override author for commit" msgstr "提交时覆盖作者" -#: builtin/commit.c:1499 builtin/gc.c:539 +#: builtin/commit.c:1500 builtin/gc.c:538 msgid "date" msgstr "日期" -#: builtin/commit.c:1499 +#: builtin/commit.c:1500 msgid "override date for commit" msgstr "提交时覆盖日期" -#: builtin/commit.c:1501 builtin/commit.c:1502 builtin/commit.c:1503 -#: builtin/commit.c:1504 parse-options.h:324 ref-filter.h:92 +#: builtin/commit.c:1502 builtin/commit.c:1503 builtin/commit.c:1504 +#: builtin/commit.c:1505 parse-options.h:328 ref-filter.h:92 msgid "commit" msgstr "提交" -#: builtin/commit.c:1501 +#: builtin/commit.c:1502 msgid "reuse and edit message from specified commit" msgstr "重用并编辑指定提交的提交说明" -#: builtin/commit.c:1502 +#: builtin/commit.c:1503 msgid "reuse message from specified commit" msgstr "重用指定提交的提交说明" -#: builtin/commit.c:1503 +#: builtin/commit.c:1504 msgid "use autosquash formatted message to fixup specified commit" msgstr "使用 autosquash 格式的提交说明用以修正指定的提交" -#: builtin/commit.c:1504 +#: builtin/commit.c:1505 msgid "use autosquash formatted message to squash specified commit" msgstr "使用 autosquash 格式的提交说明用以压缩至指定的提交" -#: builtin/commit.c:1505 +#: builtin/commit.c:1506 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)" -#: builtin/commit.c:1506 builtin/log.c:1564 builtin/merge.c:289 -#: builtin/pull.c:163 builtin/revert.c:110 +#: builtin/commit.c:1507 builtin/log.c:1634 builtin/merge.c:290 +#: builtin/pull.c:144 builtin/revert.c:110 msgid "add Signed-off-by:" msgstr "添加 Signed-off-by: 签名" -#: builtin/commit.c:1507 +#: builtin/commit.c:1508 msgid "use specified template file" msgstr "使用指定的模板文件" -#: builtin/commit.c:1508 +#: builtin/commit.c:1509 msgid "force edit of commit" msgstr "强制编辑提交" -#: builtin/commit.c:1510 +#: builtin/commit.c:1511 msgid "include status in commit message template" msgstr "在提交说明模板里包含状态信息" -#: builtin/commit.c:1515 +#: builtin/commit.c:1516 msgid "Commit contents options" msgstr "提交内容选项" -#: builtin/commit.c:1516 +#: builtin/commit.c:1517 msgid "commit all changed files" msgstr "提交所有改动的文件" -#: builtin/commit.c:1517 +#: builtin/commit.c:1518 msgid "add specified files to index for commit" msgstr "添加指定的文件到索引区等待提交" -#: builtin/commit.c:1518 +#: builtin/commit.c:1519 msgid "interactively add files" msgstr "交互式添加文件" -#: builtin/commit.c:1519 +#: builtin/commit.c:1520 msgid "interactively add changes" msgstr "交互式添加变更" -#: builtin/commit.c:1520 +#: builtin/commit.c:1521 msgid "commit only specified files" msgstr "只提交指定的文件" -#: builtin/commit.c:1521 +#: builtin/commit.c:1522 msgid "bypass pre-commit and commit-msg hooks" msgstr "绕过 pre-commit 和 commit-msg 钩子" -#: builtin/commit.c:1522 +#: builtin/commit.c:1523 msgid "show what would be committed" msgstr "显示将要提交的内容" -#: builtin/commit.c:1535 +#: builtin/commit.c:1536 msgid "amend previous commit" msgstr "修改先前的提交" -#: builtin/commit.c:1536 +#: builtin/commit.c:1537 msgid "bypass post-rewrite hook" msgstr "绕过 post-rewrite 钩子" -#: builtin/commit.c:1541 +#: builtin/commit.c:1544 msgid "ok to record an empty change" msgstr "允许一个空提交" -#: builtin/commit.c:1543 +#: builtin/commit.c:1546 msgid "ok to record a change with an empty message" msgstr "允许空的提交说明" -#: builtin/commit.c:1616 +#: builtin/commit.c:1619 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "损坏的 MERGE_HEAD 文件(%s)" -#: builtin/commit.c:1623 +#: builtin/commit.c:1626 msgid "could not read MERGE_MODE" msgstr "不能读取 MERGE_MODE" -#: builtin/commit.c:1642 +#: builtin/commit.c:1645 #, c-format msgid "could not read commit message: %s" msgstr "不能读取提交说明:%s" -#: builtin/commit.c:1649 +#: builtin/commit.c:1652 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "终止提交因为提交说明为空。\n" -#: builtin/commit.c:1654 +#: builtin/commit.c:1657 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "终止提交;您未更改来自模版的提交说明。\n" -#: builtin/commit.c:1688 +#: builtin/commit.c:1691 msgid "" "repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" @@ -11758,73 +12717,74 @@ msgstr "" "仓库已更新,但无法写 new_index 文件。检查是否磁盘已满或\n" "磁盘配额已耗尽,然后执行 \"git restore --staged :/\" 恢复。" -#: builtin/commit-graph.c:11 -msgid "git commit-graph [--object-dir ]" -msgstr "git commit-graph [--object-dir <对象目录>]" - -#: builtin/commit-graph.c:12 builtin/commit-graph.c:24 -msgid "git commit-graph read [--object-dir ]" -msgstr "git commit-graph read [--object-dir <对象目录>]" - -#: builtin/commit-graph.c:13 builtin/commit-graph.c:19 -msgid "git commit-graph verify [--object-dir ] [--shallow]" -msgstr "git commit-graph verify [--object-dir <对象目录>] [--shallow]" +#: builtin/commit-graph.c:11 builtin/commit-graph.c:17 +msgid "" +"git commit-graph verify [--object-dir ] [--shallow] [--[no-]progress]" +msgstr "" +"git commit-graph verify [--object-dir <对象目录>] [--shallow] [--" +"[no-]progress]" -#: builtin/commit-graph.c:14 builtin/commit-graph.c:29 +#: builtin/commit-graph.c:12 builtin/commit-graph.c:22 msgid "" "git commit-graph write [--object-dir ] [--append|--split] [--" -"reachable|--stdin-packs|--stdin-commits] " -msgstr "git commit-graph write [--object-dir <对象目录>] [--append|--split] [--reachable|--stdin-packs|--stdin-commits] " +"reachable|--stdin-packs|--stdin-commits] [--[no-]progress] " +msgstr "" +"git commit-graph write [--object-dir <对象目录>] [--append|--split] [--" +"reachable|--stdin-packs|--stdin-commits] [--[no-]progress] " + +#: builtin/commit-graph.c:52 +#, c-format +msgid "could not find object directory matching %s" +msgstr "无法找到和 %s 匹配的对象目录" -#: builtin/commit-graph.c:54 builtin/commit-graph.c:100 -#: builtin/commit-graph.c:161 builtin/commit-graph.c:237 builtin/fetch.c:163 -#: builtin/log.c:1584 +#: builtin/commit-graph.c:68 builtin/commit-graph.c:125 +#: builtin/commit-graph.c:210 builtin/fetch.c:179 builtin/log.c:1657 msgid "dir" msgstr "目录" -#: builtin/commit-graph.c:55 builtin/commit-graph.c:101 -#: builtin/commit-graph.c:162 builtin/commit-graph.c:238 +#: builtin/commit-graph.c:69 builtin/commit-graph.c:126 +#: builtin/commit-graph.c:211 msgid "The object directory to store the graph" msgstr "保存图形的对象目录" -#: builtin/commit-graph.c:57 +#: builtin/commit-graph.c:71 msgid "if the commit-graph is split, only verify the tip file" msgstr "如果提交图形被拆分,只验证头一个文件" -#: builtin/commit-graph.c:73 builtin/commit-graph.c:116 +#: builtin/commit-graph.c:94 t/helper/test-read-graph.c:23 #, c-format msgid "Could not open commit-graph '%s'" msgstr "无法打开提交图形 '%s'" -#: builtin/commit-graph.c:164 +#: builtin/commit-graph.c:128 msgid "start walk at all refs" msgstr "开始遍历所有引用" -#: builtin/commit-graph.c:166 +#: builtin/commit-graph.c:130 msgid "scan pack-indexes listed by stdin for commits" msgstr "从标准输入中的包索引文件列表中扫描提交" -#: builtin/commit-graph.c:168 +#: builtin/commit-graph.c:132 msgid "start walk at commits listed by stdin" msgstr "从标准输入中的提交开始扫描" -#: builtin/commit-graph.c:170 +#: builtin/commit-graph.c:134 msgid "include all commits already in the commit-graph file" msgstr "包含 commit-graph 文件中已有所有提交" -#: builtin/commit-graph.c:172 +#: builtin/commit-graph.c:137 msgid "allow writing an incremental commit-graph file" msgstr "允许写一个增量提交图形文件" -#: builtin/commit-graph.c:174 builtin/commit-graph.c:178 +#: builtin/commit-graph.c:139 builtin/commit-graph.c:143 msgid "maximum number of commits in a non-base split commit-graph" msgstr "在非基本拆分提交图形中的最大提交数" -#: builtin/commit-graph.c:176 +#: builtin/commit-graph.c:141 msgid "maximum ratio between two levels of a split commit-graph" msgstr "一个拆分提交图形的两个级别之间的最大比率" -#: builtin/commit-graph.c:191 +#: builtin/commit-graph.c:159 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs" msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs" @@ -11832,205 +12792,209 @@ msgstr "不能同时使用 --reachable、--stdin-commits 或 --stdin-packs" msgid "git config []" msgstr "git config [<选项>]" -#: builtin/config.c:103 builtin/env--helper.c:23 +#: builtin/config.c:104 builtin/env--helper.c:23 #, c-format msgid "unrecognized --type argument, %s" msgstr "未能识别的 --type 参数,%s" -#: builtin/config.c:115 +#: builtin/config.c:116 msgid "only one type at a time" msgstr "一次只能一个类型" -#: builtin/config.c:124 +#: builtin/config.c:125 msgid "Config file location" msgstr "配置文件位置" -#: builtin/config.c:125 +#: builtin/config.c:126 msgid "use global config file" msgstr "使用全局配置文件" -#: builtin/config.c:126 +#: builtin/config.c:127 msgid "use system config file" msgstr "使用系统级配置文件" -#: builtin/config.c:127 +#: builtin/config.c:128 msgid "use repository config file" msgstr "使用仓库级配置文件" -#: builtin/config.c:128 +#: builtin/config.c:129 msgid "use per-worktree config file" msgstr "使用工作区级别的配置文件" -#: builtin/config.c:129 +#: builtin/config.c:130 msgid "use given config file" msgstr "使用指定的配置文件" -#: builtin/config.c:130 +#: builtin/config.c:131 msgid "blob-id" msgstr "数据对象 ID" -#: builtin/config.c:130 +#: builtin/config.c:131 msgid "read config from given blob object" msgstr "从给定的数据对象读取配置" -#: builtin/config.c:131 +#: builtin/config.c:132 msgid "Action" msgstr "操作" -#: builtin/config.c:132 +#: builtin/config.c:133 msgid "get value: name [value-regex]" msgstr "获取值:name [value-regex]" -#: builtin/config.c:133 +#: builtin/config.c:134 msgid "get all values: key [value-regex]" msgstr "获得所有的值:key [value-regex]" -#: builtin/config.c:134 +#: builtin/config.c:135 msgid "get values for regexp: name-regex [value-regex]" msgstr "根据正则表达式获得值:name-regex [value-regex]" -#: builtin/config.c:135 +#: builtin/config.c:136 msgid "get value specific for the URL: section[.var] URL" msgstr "获得 URL 取值:section[.var] URL" -#: builtin/config.c:136 +#: builtin/config.c:137 msgid "replace all matching variables: name value [value_regex]" msgstr "替换所有匹配的变量:name value [value_regex]" -#: builtin/config.c:137 +#: builtin/config.c:138 msgid "add a new variable: name value" msgstr "添加一个新的变量:name value" -#: builtin/config.c:138 +#: builtin/config.c:139 msgid "remove a variable: name [value-regex]" msgstr "删除一个变量:name [value-regex]" -#: builtin/config.c:139 +#: builtin/config.c:140 msgid "remove all matches: name [value-regex]" msgstr "删除所有匹配项:name [value-regex]" -#: builtin/config.c:140 +#: builtin/config.c:141 msgid "rename section: old-name new-name" msgstr "重命名小节:old-name new-name" -#: builtin/config.c:141 +#: builtin/config.c:142 msgid "remove a section: name" msgstr "删除一个小节:name" -#: builtin/config.c:142 +#: builtin/config.c:143 msgid "list all" msgstr "列出所有" -#: builtin/config.c:143 +#: builtin/config.c:144 msgid "open an editor" msgstr "打开一个编辑器" -#: builtin/config.c:144 +#: builtin/config.c:145 msgid "find the color configured: slot [default]" msgstr "获得配置的颜色:配置 [默认]" -#: builtin/config.c:145 +#: builtin/config.c:146 msgid "find the color setting: slot [stdout-is-tty]" msgstr "获得颜色设置:配置 [stdout-is-tty]" -#: builtin/config.c:146 +#: builtin/config.c:147 msgid "Type" msgstr "类型" -#: builtin/config.c:147 builtin/env--helper.c:38 +#: builtin/config.c:148 builtin/env--helper.c:38 msgid "value is given this type" msgstr "取值为该类型" -#: builtin/config.c:148 +#: builtin/config.c:149 msgid "value is \"true\" or \"false\"" msgstr "值是 \"true\" 或 \"false\"" -#: builtin/config.c:149 +#: builtin/config.c:150 msgid "value is decimal number" msgstr "值是十进制数" -#: builtin/config.c:150 +#: builtin/config.c:151 msgid "value is --bool or --int" msgstr "值是 --bool or --int" -#: builtin/config.c:151 +#: builtin/config.c:152 msgid "value is a path (file or directory name)" msgstr "值是一个路径(文件或目录名)" -#: builtin/config.c:152 +#: builtin/config.c:153 msgid "value is an expiry date" msgstr "值是一个到期日期" -#: builtin/config.c:153 +#: builtin/config.c:154 msgid "Other" msgstr "其它" -#: builtin/config.c:154 +#: builtin/config.c:155 msgid "terminate values with NUL byte" msgstr "终止值是 NUL 字节" -#: builtin/config.c:155 +#: builtin/config.c:156 msgid "show variable names only" msgstr "只显示变量名" -#: builtin/config.c:156 +#: builtin/config.c:157 msgid "respect include directives on lookup" msgstr "查询时参照 include 指令递归查找" -#: builtin/config.c:157 +#: builtin/config.c:158 msgid "show origin of config (file, standard input, blob, command line)" msgstr "显示配置的来源(文件、标准输入、数据对象,或命令行)" -#: builtin/config.c:158 builtin/env--helper.c:40 +#: builtin/config.c:159 +msgid "show scope of config (worktree, local, global, system, command)" +msgstr "显示配置的作用域(工作区、本地、全局、系统、命令)" + +#: builtin/config.c:160 builtin/env--helper.c:40 msgid "value" msgstr "取值" -#: builtin/config.c:158 +#: builtin/config.c:160 msgid "with --get, use default value when missing entry" msgstr "使用 --get 参数,当缺少设置时使用默认值" -#: builtin/config.c:172 +#: builtin/config.c:174 #, c-format msgid "wrong number of arguments, should be %d" msgstr "错误的参数个数,应该为 %d 个" -#: builtin/config.c:174 +#: builtin/config.c:176 #, c-format msgid "wrong number of arguments, should be from %d to %d" msgstr "错误的参数个数,应该为从 %d 个到 %d 个" -#: builtin/config.c:308 +#: builtin/config.c:324 #, c-format msgid "invalid key pattern: %s" msgstr "无效键名模式:%s" -#: builtin/config.c:344 +#: builtin/config.c:360 #, c-format msgid "failed to format default config value: %s" msgstr "格式化默认配置值失败:%s" -#: builtin/config.c:401 +#: builtin/config.c:417 #, c-format msgid "cannot parse color '%s'" msgstr "无法解析颜色 '%s'" -#: builtin/config.c:443 +#: builtin/config.c:459 msgid "unable to parse default color value" msgstr "无法解析默认颜色值" -#: builtin/config.c:496 builtin/config.c:742 +#: builtin/config.c:512 builtin/config.c:768 msgid "not in a git directory" msgstr "不在 git 仓库中" -#: builtin/config.c:499 +#: builtin/config.c:515 msgid "writing to stdin is not supported" msgstr "不支持写到标准输入" -#: builtin/config.c:502 +#: builtin/config.c:518 msgid "writing config blobs is not supported" msgstr "不支持写到配置数据对象" -#: builtin/config.c:587 +#: builtin/config.c:603 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -12045,23 +13009,23 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:611 +#: builtin/config.c:627 msgid "only one config file at a time" msgstr "一次只能有一个配置文件" -#: builtin/config.c:616 +#: builtin/config.c:632 msgid "--local can only be used inside a git repository" msgstr "--local 只能在一个仓库内使用" -#: builtin/config.c:619 +#: builtin/config.c:635 msgid "--blob can only be used inside a git repository" msgstr "--blob 只能在一个仓库内使用" -#: builtin/config.c:638 +#: builtin/config.c:655 msgid "$HOME not set" msgstr "$HOME 未设置" -#: builtin/config.c:658 +#: builtin/config.c:679 msgid "" "--worktree cannot be used with multiple working trees unless the config\n" "extension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\n" @@ -12070,51 +13034,51 @@ msgstr "" "不能和多个工作区一起使用 --worktree,除非启用 worktreeConfig 配置扩展。\n" "详情请阅读“git help worktree”的“CONFIGURATION FILE”小节" -#: builtin/config.c:688 +#: builtin/config.c:714 msgid "--get-color and variable type are incoherent" msgstr "--get-color 和变量类型不兼容" -#: builtin/config.c:693 +#: builtin/config.c:719 msgid "only one action at a time" msgstr "一次只能有一个动作" -#: builtin/config.c:706 +#: builtin/config.c:732 msgid "--name-only is only applicable to --list or --get-regexp" msgstr "--name-only 仅适用于 --list 或 --get-regexp" -#: builtin/config.c:712 +#: builtin/config.c:738 msgid "" "--show-origin is only applicable to --get, --get-all, --get-regexp, and --" "list" msgstr "--show-origin 仅适用于 --get、--get-all、--get-regexp 和 --list" -#: builtin/config.c:718 +#: builtin/config.c:744 msgid "--default is only applicable to --get" msgstr "--default 仅适用于 --get" -#: builtin/config.c:731 +#: builtin/config.c:757 #, c-format msgid "unable to read config file '%s'" msgstr "无法读取配置文件 '%s'" -#: builtin/config.c:734 +#: builtin/config.c:760 msgid "error processing config file(s)" msgstr "处理配置文件出错" -#: builtin/config.c:744 +#: builtin/config.c:770 msgid "editing stdin is not supported" msgstr "不支持编辑标准输入" -#: builtin/config.c:746 +#: builtin/config.c:772 msgid "editing blobs is not supported" msgstr "不支持编辑数据对象" -#: builtin/config.c:760 +#: builtin/config.c:786 #, c-format msgid "cannot create configuration file %s" msgstr "不能创建配置文件 %s" -#: builtin/config.c:773 +#: builtin/config.c:799 #, c-format msgid "" "cannot overwrite multiple values with a single value\n" @@ -12123,7 +13087,7 @@ msgstr "" "无法用一个值覆盖多个值\n" " 使用一个正则表达式、--add 或 --replace-all 来修改 %s。" -#: builtin/config.c:847 builtin/config.c:858 +#: builtin/config.c:873 builtin/config.c:884 #, c-format msgid "no such section: %s" msgstr "无此小节:%s" @@ -12136,57 +13100,57 @@ msgstr "git count-objects [-v] [-H | --human-readable]" msgid "print sizes in human readable format" msgstr "以用户可读的格式显示大小" -#: builtin/describe.c:27 +#: builtin/describe.c:26 msgid "git describe [] [...]" msgstr "git describe [<选项>] [<提交号>...]" -#: builtin/describe.c:28 +#: builtin/describe.c:27 msgid "git describe [] --dirty" msgstr "git describe [<选项>] --dirty" -#: builtin/describe.c:63 +#: builtin/describe.c:62 msgid "head" msgstr "头" -#: builtin/describe.c:63 +#: builtin/describe.c:62 msgid "lightweight" msgstr "轻量级的" -#: builtin/describe.c:63 +#: builtin/describe.c:62 msgid "annotated" msgstr "附注的" -#: builtin/describe.c:273 +#: builtin/describe.c:275 #, c-format msgid "annotated tag %s not available" msgstr "附注标签 %s 无效" -#: builtin/describe.c:277 +#: builtin/describe.c:279 #, c-format msgid "annotated tag %s has no embedded name" msgstr "附注标签 %s 没有嵌入名称" -#: builtin/describe.c:279 +#: builtin/describe.c:281 #, c-format msgid "tag '%s' is really '%s' here" msgstr "标签 '%s' 的确是在 '%s'" -#: builtin/describe.c:323 +#: builtin/describe.c:325 #, c-format msgid "no tag exactly matches '%s'" msgstr "没有标签准确匹配 '%s'" -#: builtin/describe.c:325 +#: builtin/describe.c:327 #, c-format msgid "No exact match on refs or tags, searching to describe\n" msgstr "没有精确匹配到引用或标签,继续搜索进行描述\n" -#: builtin/describe.c:379 +#: builtin/describe.c:394 #, c-format msgid "finished search at %s\n" msgstr "完成搜索 %s\n" -#: builtin/describe.c:405 +#: builtin/describe.c:421 #, c-format msgid "" "No annotated tags can describe '%s'.\n" @@ -12195,7 +13159,7 @@ msgstr "" "没有附注标签能描述 '%s'。\n" "然而,存在未附注标签:尝试 --tags。" -#: builtin/describe.c:409 +#: builtin/describe.c:425 #, c-format msgid "" "No tags can describe '%s'.\n" @@ -12204,12 +13168,12 @@ msgstr "" "没有标签能描述 '%s'。\n" "尝试 --always,或者创建一些标签。" -#: builtin/describe.c:439 +#: builtin/describe.c:455 #, c-format msgid "traversed %lu commits\n" msgstr "已遍历 %lu 个提交\n" -#: builtin/describe.c:442 +#: builtin/describe.c:458 #, c-format msgid "" "more than %i tags found; listed %i most recent\n" @@ -12218,90 +13182,90 @@ msgstr "" "发现多于 %i 个标签,列出最近的 %i 个\n" "在 %s 放弃搜索\n" -#: builtin/describe.c:510 +#: builtin/describe.c:526 #, c-format msgid "describe %s\n" msgstr "描述 %s\n" -#: builtin/describe.c:513 +#: builtin/describe.c:529 #, c-format msgid "Not a valid object name %s" msgstr "不是一个有效的对象名 %s" -#: builtin/describe.c:521 +#: builtin/describe.c:537 #, c-format msgid "%s is neither a commit nor blob" msgstr "%s 既不是提交也不是数据对象" -#: builtin/describe.c:535 +#: builtin/describe.c:551 msgid "find the tag that comes after the commit" msgstr "寻找该提交之后的标签" -#: builtin/describe.c:536 +#: builtin/describe.c:552 msgid "debug search strategy on stderr" msgstr "在标准错误上调试搜索策略" -#: builtin/describe.c:537 +#: builtin/describe.c:553 msgid "use any ref" msgstr "使用任意引用" -#: builtin/describe.c:538 +#: builtin/describe.c:554 msgid "use any tag, even unannotated" msgstr "使用任意标签,即使未附带注释" -#: builtin/describe.c:539 +#: builtin/describe.c:555 msgid "always use long format" msgstr "始终使用长提交号格式" -#: builtin/describe.c:540 +#: builtin/describe.c:556 msgid "only follow first parent" msgstr "只跟随第一个父提交" -#: builtin/describe.c:543 +#: builtin/describe.c:559 msgid "only output exact matches" msgstr "只输出精确匹配" -#: builtin/describe.c:545 +#: builtin/describe.c:561 msgid "consider most recent tags (default: 10)" msgstr "考虑最近 个标签(默认:10)" -#: builtin/describe.c:547 +#: builtin/describe.c:563 msgid "only consider tags matching " msgstr "只考虑匹配 <模式> 的标签" -#: builtin/describe.c:549 +#: builtin/describe.c:565 msgid "do not consider tags matching " msgstr "不考虑匹配 <模式> 的标签" -#: builtin/describe.c:551 builtin/name-rev.c:422 +#: builtin/describe.c:567 builtin/name-rev.c:535 msgid "show abbreviated commit object as fallback" msgstr "显示简写的提交号作为后备" -#: builtin/describe.c:552 builtin/describe.c:555 +#: builtin/describe.c:568 builtin/describe.c:571 msgid "mark" msgstr "标记" -#: builtin/describe.c:553 +#: builtin/describe.c:569 msgid "append on dirty working tree (default: \"-dirty\")" msgstr "对于脏工作区,追加 <标记>(默认:\"-dirty\")" -#: builtin/describe.c:556 +#: builtin/describe.c:572 msgid "append on broken working tree (default: \"-broken\")" msgstr "对于损坏的工作区,追加 <标记>(默认:\"-broken\")" -#: builtin/describe.c:574 +#: builtin/describe.c:590 msgid "--long is incompatible with --abbrev=0" msgstr "--long 与 --abbrev=0 不兼容" -#: builtin/describe.c:603 +#: builtin/describe.c:619 msgid "No names found, cannot describe anything." msgstr "没有发现名称,无法描述任何东西。" -#: builtin/describe.c:654 +#: builtin/describe.c:670 msgid "--dirty is incompatible with commit-ishes" msgstr "--dirty 与提交号不兼容" -#: builtin/describe.c:656 +#: builtin/describe.c:672 msgid "--broken is incompatible with commit-ishes" msgstr "--broken 与提交号不兼容" @@ -12338,27 +13302,27 @@ msgstr "无法处理的对象 '%s'。" msgid "git difftool [] [ []] [--] [...]" msgstr "git difftool [<选项>] [<提交> [<提交>]] [--] [<路径>...]" -#: builtin/difftool.c:253 +#: builtin/difftool.c:260 #, c-format msgid "failed: %d" msgstr "失败:%d" -#: builtin/difftool.c:295 +#: builtin/difftool.c:302 #, c-format msgid "could not read symlink %s" msgstr "无法读取符号链接 %s" -#: builtin/difftool.c:297 +#: builtin/difftool.c:304 #, c-format msgid "could not read symlink file %s" msgstr "无法读取符号链接文件 %s" -#: builtin/difftool.c:305 +#: builtin/difftool.c:312 #, c-format msgid "could not read object %s for symlink %s" msgstr "无法读取符号链接 %2$s 指向的对象 %1$s" -#: builtin/difftool.c:406 +#: builtin/difftool.c:413 msgid "" "combined diff formats('-c' and '--cc') are not supported in\n" "directory diff mode('-d' and '--dir-diff')." @@ -12366,83 +13330,83 @@ msgstr "" "不支持在目录比较模式('-d' 和 '--dir-diff')中采用组合差异格式('-c' 和 '--" "cc')。" -#: builtin/difftool.c:626 +#: builtin/difftool.c:634 #, c-format msgid "both files modified: '%s' and '%s'." msgstr "两个文件都被修改:'%s' 和 '%s'。" -#: builtin/difftool.c:628 +#: builtin/difftool.c:636 msgid "working tree file has been left." msgstr "工作区文件被留了下来。" -#: builtin/difftool.c:639 +#: builtin/difftool.c:647 #, c-format msgid "temporary files exist in '%s'." msgstr "临时文件存在于 '%s'。" -#: builtin/difftool.c:640 +#: builtin/difftool.c:648 msgid "you may want to cleanup or recover these." msgstr "您可能想要清理或者恢复它们。" -#: builtin/difftool.c:689 +#: builtin/difftool.c:697 msgid "use `diff.guitool` instead of `diff.tool`" msgstr "使用 `diff.guitool` 代替 `diff.tool`" -#: builtin/difftool.c:691 +#: builtin/difftool.c:699 msgid "perform a full-directory diff" msgstr "执行一个全目录差异比较" -#: builtin/difftool.c:693 +#: builtin/difftool.c:701 msgid "do not prompt before launching a diff tool" msgstr "启动差异比较工具之前不提示" -#: builtin/difftool.c:698 +#: builtin/difftool.c:706 msgid "use symlinks in dir-diff mode" msgstr "在 dir-diff 模式中使用符号链接" -#: builtin/difftool.c:699 +#: builtin/difftool.c:707 msgid "tool" msgstr "工具" -#: builtin/difftool.c:700 +#: builtin/difftool.c:708 msgid "use the specified diff tool" msgstr "使用指定的差异比较工具" -#: builtin/difftool.c:702 +#: builtin/difftool.c:710 msgid "print a list of diff tools that may be used with `--tool`" msgstr "显示可以用在 `--tool` 参数后的差异工具列表" -#: builtin/difftool.c:705 +#: builtin/difftool.c:713 msgid "" "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit " "code" msgstr "当执行 diff 工具返回非零退出码时,使 'git-difftool' 退出" -#: builtin/difftool.c:708 +#: builtin/difftool.c:716 msgid "specify a custom command for viewing diffs" msgstr "指定一个用于查看差异的自定义命令" -#: builtin/difftool.c:709 +#: builtin/difftool.c:717 msgid "passed to `diff`" msgstr "传递给 `diff`" -#: builtin/difftool.c:724 +#: builtin/difftool.c:732 msgid "difftool requires worktree or --no-index" msgstr "difftool 要求工作区或者 --no-index" -#: builtin/difftool.c:731 +#: builtin/difftool.c:739 msgid "--dir-diff is incompatible with --no-index" msgstr "--dir-diff 和 --no-index 不兼容" -#: builtin/difftool.c:734 +#: builtin/difftool.c:742 msgid "--gui, --tool and --extcmd are mutually exclusive" msgstr "--gui、--tool 和 --extcmd 互斥" -#: builtin/difftool.c:742 +#: builtin/difftool.c:750 msgid "no given for --tool=" msgstr "没有为 --tool=<工具> 参数提供 <工具>" -#: builtin/difftool.c:749 +#: builtin/difftool.c:757 msgid "no given for --extcmd=" msgstr "没有为 --extcmd=<命令> 参数提供 <命令>" @@ -12478,245 +13442,273 @@ msgstr "选项 `--default' 和 `type=ulong` 期望一个无符号长整型,不 msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:1124 +#: builtin/fast-export.c:853 +msgid "Error: Cannot export nested tags unless --mark-tags is specified." +msgstr "错误:除非指定 --mark-tags,否则无法导出嵌套标签。" + +#: builtin/fast-export.c:1152 msgid "show progress after objects" msgstr "在 个对象之后显示进度" -#: builtin/fast-export.c:1126 +#: builtin/fast-export.c:1154 msgid "select handling of signed tags" msgstr "选择如何处理签名标签" -#: builtin/fast-export.c:1129 +#: builtin/fast-export.c:1157 msgid "select handling of tags that tag filtered objects" msgstr "选择当标签指向被过滤对象时该标签的处理方式" -#: builtin/fast-export.c:1132 +#: builtin/fast-export.c:1160 msgid "select handling of commit messages in an alternate encoding" msgstr "选择使用备用编码处理提交说明" -#: builtin/fast-export.c:1135 +#: builtin/fast-export.c:1163 msgid "Dump marks to this file" msgstr "把标记存储到这个文件" -#: builtin/fast-export.c:1137 +#: builtin/fast-export.c:1165 msgid "Import marks from this file" msgstr "从这个文件导入标记" -#: builtin/fast-export.c:1139 +#: builtin/fast-export.c:1169 +msgid "Import marks from this file if it exists" +msgstr "从该文件导入标记(如果存在的话)" + +#: builtin/fast-export.c:1171 msgid "Fake a tagger when tags lack one" msgstr "当标签缺少标记者字段时,假装提供一个" -#: builtin/fast-export.c:1141 +#: builtin/fast-export.c:1173 msgid "Output full tree for each commit" msgstr "每次提交都输出整个树" -#: builtin/fast-export.c:1143 +#: builtin/fast-export.c:1175 msgid "Use the done feature to terminate the stream" msgstr "使用 done 功能来终止流" -#: builtin/fast-export.c:1144 +#: builtin/fast-export.c:1176 msgid "Skip output of blob data" msgstr "跳过数据对象的输出" -#: builtin/fast-export.c:1145 builtin/log.c:1632 +#: builtin/fast-export.c:1177 builtin/log.c:1705 msgid "refspec" msgstr "引用规格" -#: builtin/fast-export.c:1146 +#: builtin/fast-export.c:1178 msgid "Apply refspec to exported refs" msgstr "对导出的引用应用引用规格" -#: builtin/fast-export.c:1147 +#: builtin/fast-export.c:1179 msgid "anonymize output" msgstr "匿名输出" -#: builtin/fast-export.c:1149 +#: builtin/fast-export.c:1181 msgid "Reference parents which are not in fast-export stream by object id" msgstr "引用父对象 ID 不在 fast-export 流中" -#: builtin/fast-export.c:1151 +#: builtin/fast-export.c:1183 msgid "Show original object ids of blobs/commits" msgstr "显示数据对象/提交的原始对象 ID" -#: builtin/fetch.c:30 +#: builtin/fast-export.c:1185 +msgid "Label tags with mark ids" +msgstr "对带有标记 ID 的标签做标记" + +#: builtin/fast-export.c:1220 +msgid "Cannot pass both --import-marks and --import-marks-if-exists" +msgstr "不能同时传递参数 --import-marks 和 --import-marks-if-exists" + +#: builtin/fetch.c:34 msgid "git fetch [] [ [...]]" msgstr "git fetch [<选项>] [<仓库> [<引用规格>...]]" -#: builtin/fetch.c:31 +#: builtin/fetch.c:35 msgid "git fetch [] " msgstr "git fetch [<选项>] <组>" -#: builtin/fetch.c:32 +#: builtin/fetch.c:36 msgid "git fetch --multiple [] [( | )...]" msgstr "git fetch --multiple [<选项>] [(<仓库> | <组>)...]" -#: builtin/fetch.c:33 +#: builtin/fetch.c:37 msgid "git fetch --all []" msgstr "git fetch --all [<选项>]" -#: builtin/fetch.c:125 builtin/pull.c:203 +#: builtin/fetch.c:116 +msgid "fetch.parallel cannot be negative" +msgstr "fetch.parallel 不能为负数" + +#: builtin/fetch.c:139 builtin/pull.c:184 msgid "fetch from all remotes" msgstr "从所有的远程抓取" -#: builtin/fetch.c:127 builtin/pull.c:206 +#: builtin/fetch.c:141 builtin/pull.c:228 +msgid "set upstream for git pull/fetch" +msgstr "为 git pull/fetch 设置上游" + +#: builtin/fetch.c:143 builtin/pull.c:187 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "追加到 .git/FETCH_HEAD 而不是覆盖它" -#: builtin/fetch.c:129 builtin/pull.c:209 +#: builtin/fetch.c:145 builtin/pull.c:190 msgid "path to upload pack on remote end" msgstr "上传包到远程的路径" -#: builtin/fetch.c:130 +#: builtin/fetch.c:146 msgid "force overwrite of local reference" msgstr "强制覆盖本地引用" -#: builtin/fetch.c:132 +#: builtin/fetch.c:148 msgid "fetch from multiple remotes" msgstr "从多个远程抓取" -#: builtin/fetch.c:134 builtin/pull.c:213 +#: builtin/fetch.c:150 builtin/pull.c:194 msgid "fetch all tags and associated objects" msgstr "抓取所有的标签和关联对象" -#: builtin/fetch.c:136 +#: builtin/fetch.c:152 msgid "do not fetch all tags (--no-tags)" msgstr "不抓取任何标签(--no-tags)" -#: builtin/fetch.c:138 +#: builtin/fetch.c:154 msgid "number of submodules fetched in parallel" msgstr "子模组获取的并发数" -#: builtin/fetch.c:140 builtin/pull.c:216 +#: builtin/fetch.c:156 builtin/pull.c:197 msgid "prune remote-tracking branches no longer on remote" msgstr "清除远程已经不存在的分支的跟踪分支" -#: builtin/fetch.c:142 +#: builtin/fetch.c:158 msgid "prune local tags no longer on remote and clobber changed tags" msgstr "清除远程不存在的本地标签,并且替换变更标签" # 译者:可选值,不能翻译 -#: builtin/fetch.c:143 builtin/fetch.c:166 builtin/pull.c:140 +#: builtin/fetch.c:159 builtin/fetch.c:182 builtin/pull.c:121 msgid "on-demand" msgstr "on-demand" -#: builtin/fetch.c:144 +#: builtin/fetch.c:160 msgid "control recursive fetching of submodules" msgstr "控制子模组的递归抓取" -#: builtin/fetch.c:148 builtin/pull.c:224 +#: builtin/fetch.c:164 builtin/pull.c:205 msgid "keep downloaded pack" msgstr "保持下载包" -#: builtin/fetch.c:150 +#: builtin/fetch.c:166 msgid "allow updating of HEAD ref" msgstr "允许更新 HEAD 引用" -#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227 +#: builtin/fetch.c:169 builtin/fetch.c:175 builtin/pull.c:208 msgid "deepen history of shallow clone" msgstr "深化浅克隆的历史" -#: builtin/fetch.c:155 +#: builtin/fetch.c:171 msgid "deepen history of shallow repository based on time" msgstr "基于时间来深化浅克隆的历史" -#: builtin/fetch.c:161 builtin/pull.c:230 +#: builtin/fetch.c:177 builtin/pull.c:211 msgid "convert to a complete repository" msgstr "转换为一个完整的仓库" -#: builtin/fetch.c:164 +#: builtin/fetch.c:180 msgid "prepend this to submodule path output" msgstr "在子模组路径输出的前面加上此目录" -#: builtin/fetch.c:167 +#: builtin/fetch.c:183 msgid "" "default for recursive fetching of submodules (lower priority than config " "files)" msgstr "递归获取子模组的缺省值(比配置文件优先级低)" -#: builtin/fetch.c:171 builtin/pull.c:233 +#: builtin/fetch.c:187 builtin/pull.c:214 msgid "accept refs that update .git/shallow" msgstr "接受更新 .git/shallow 的引用" -#: builtin/fetch.c:172 builtin/pull.c:235 +#: builtin/fetch.c:188 builtin/pull.c:216 msgid "refmap" msgstr "引用映射" -#: builtin/fetch.c:173 builtin/pull.c:236 +#: builtin/fetch.c:189 builtin/pull.c:217 msgid "specify fetch refmap" msgstr "指定获取操作的引用映射" -#: builtin/fetch.c:180 +#: builtin/fetch.c:196 msgid "report that we have only objects reachable from this object" msgstr "报告我们只拥有从该对象开始可达的对象" -#: builtin/fetch.c:183 +#: builtin/fetch.c:199 msgid "run 'gc --auto' after fetching" msgstr "获取后执行 'gc --auto'" -#: builtin/fetch.c:185 builtin/pull.c:245 +#: builtin/fetch.c:201 builtin/pull.c:226 msgid "check for forced-updates on all updated branches" msgstr "在所有更新分支上检查强制更新" -#: builtin/fetch.c:491 +#: builtin/fetch.c:203 +msgid "write the commit-graph after fetching" +msgstr "抓取后写提交图" + +#: builtin/fetch.c:513 msgid "Couldn't find remote ref HEAD" msgstr "无法发现远程 HEAD 引用" -#: builtin/fetch.c:630 +#: builtin/fetch.c:653 #, c-format msgid "configuration fetch.output contains invalid value %s" msgstr "配置变量 fetch.output 包含无效值 %s" -#: builtin/fetch.c:728 +#: builtin/fetch.c:751 #, c-format msgid "object %s not found" msgstr "对象 %s 未发现" -#: builtin/fetch.c:732 +#: builtin/fetch.c:755 msgid "[up to date]" msgstr "[最新]" -#: builtin/fetch.c:745 builtin/fetch.c:761 builtin/fetch.c:833 +#: builtin/fetch.c:768 builtin/fetch.c:784 builtin/fetch.c:856 msgid "[rejected]" msgstr "[已拒绝]" -#: builtin/fetch.c:746 +#: builtin/fetch.c:769 msgid "can't fetch in current branch" msgstr "当前分支下不能执行获取操作" -#: builtin/fetch.c:756 +#: builtin/fetch.c:779 msgid "[tag update]" msgstr "[标签更新]" -#: builtin/fetch.c:757 builtin/fetch.c:794 builtin/fetch.c:816 -#: builtin/fetch.c:828 +#: builtin/fetch.c:780 builtin/fetch.c:817 builtin/fetch.c:839 +#: builtin/fetch.c:851 msgid "unable to update local ref" msgstr "不能更新本地引用" -#: builtin/fetch.c:761 +#: builtin/fetch.c:784 msgid "would clobber existing tag" msgstr "会破坏现有的标签" -#: builtin/fetch.c:783 +#: builtin/fetch.c:806 msgid "[new tag]" msgstr "[新标签]" -#: builtin/fetch.c:786 +#: builtin/fetch.c:809 msgid "[new branch]" msgstr "[新分支]" -#: builtin/fetch.c:789 +#: builtin/fetch.c:812 msgid "[new ref]" msgstr "[新引用]" -#: builtin/fetch.c:828 +#: builtin/fetch.c:851 msgid "forced update" msgstr "强制更新" -#: builtin/fetch.c:833 +#: builtin/fetch.c:856 msgid "non-fast-forward" msgstr "非快进" -#: builtin/fetch.c:854 +#: builtin/fetch.c:877 msgid "" "Fetch normally indicates which branches had a forced update,\n" "but that check has been disabled. To re-enable, use '--show-forced-updates'\n" @@ -12726,7 +13718,7 @@ msgstr "" "要重新启用,请使用 '--show-forced-updates' 选项或运行\n" "'git config fetch.showForcedUpdates true'。" -#: builtin/fetch.c:858 +#: builtin/fetch.c:881 #, c-format msgid "" "It took %.2f seconds to check forced updates. You can use\n" @@ -12737,22 +13729,22 @@ msgstr "" "花了 %.2f 秒来检查强制更新。您可以使用 '--no-show-forced-updates'\n" "或运行 'git config fetch.showForcedUpdates false' 以避免此项检查。\n" -#: builtin/fetch.c:888 +#: builtin/fetch.c:920 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s 未发送所有必需的对象\n" -#: builtin/fetch.c:909 +#: builtin/fetch.c:941 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "拒绝 %s 因为浅克隆不允许被更新" -#: builtin/fetch.c:1000 builtin/fetch.c:1131 +#: builtin/fetch.c:1026 builtin/fetch.c:1164 #, c-format msgid "From %.*s\n" msgstr "来自 %.*s\n" -#: builtin/fetch.c:1011 +#: builtin/fetch.c:1037 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -12762,100 +13754,123 @@ msgstr "" " 'git remote prune %s' 来删除旧的、有冲突的分支" # 译者:注意保持前导空格 -#: builtin/fetch.c:1101 +#: builtin/fetch.c:1134 #, c-format msgid " (%s will become dangling)" msgstr " (%s 将成为悬空状态)" # 译者:注意保持前导空格 -#: builtin/fetch.c:1102 +#: builtin/fetch.c:1135 #, c-format msgid " (%s has become dangling)" msgstr " (%s 已成为悬空状态)" -#: builtin/fetch.c:1134 +#: builtin/fetch.c:1167 msgid "[deleted]" msgstr "[已删除]" -#: builtin/fetch.c:1135 builtin/remote.c:1036 +#: builtin/fetch.c:1168 builtin/remote.c:1112 msgid "(none)" msgstr "(无)" -#: builtin/fetch.c:1158 +#: builtin/fetch.c:1191 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "拒绝获取到非纯仓库的当前分支 %s" -#: builtin/fetch.c:1177 +#: builtin/fetch.c:1210 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s 是无效的" -#: builtin/fetch.c:1180 +#: builtin/fetch.c:1213 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "选项 \"%s\" 为 %s 所忽略\n" -#: builtin/fetch.c:1484 +#: builtin/fetch.c:1421 +msgid "multiple branches detected, incompatible with --set-upstream" +msgstr "检测到多分支,和 --set-upstream 不兼容" + +#: builtin/fetch.c:1436 +msgid "not setting upstream for a remote remote-tracking branch" +msgstr "没有为一个远程跟踪分支设置上游" + +#: builtin/fetch.c:1438 +msgid "not setting upstream for a remote tag" +msgstr "没有为一个远程标签设置上游" + +#: builtin/fetch.c:1440 +msgid "unknown branch type" +msgstr "未知的分支类型" + +#: builtin/fetch.c:1442 +msgid "" +"no source branch found.\n" +"you need to specify exactly one branch with the --set-upstream option." +msgstr "" +"未发现源分支。\n" +"您需要使用 --set-upstream 选项指定一个分支。" + +#: builtin/fetch.c:1568 builtin/fetch.c:1631 #, c-format msgid "Fetching %s\n" msgstr "正在获取 %s\n" -#: builtin/fetch.c:1486 builtin/remote.c:100 +#: builtin/fetch.c:1578 builtin/fetch.c:1633 builtin/remote.c:101 #, c-format msgid "Could not fetch %s" msgstr "不能获取 %s" -#: builtin/fetch.c:1532 -msgid "" -"--filter can only be used with the remote configured in extensions." -"partialClone" -msgstr "只可以将 --filter 用于在 extensions.partialClone 中配置的远程仓库" +#: builtin/fetch.c:1590 +#, c-format +msgid "could not fetch '%s' (exit code: %d)\n" +msgstr "无法获取 '%s'(退出码:%d)\n" -#: builtin/fetch.c:1556 +#: builtin/fetch.c:1693 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "未指定远程仓库。请通过一个 URL 或远程仓库名指定,用以获取新提交。" -#: builtin/fetch.c:1593 +#: builtin/fetch.c:1730 msgid "You need to specify a tag name." msgstr "您需要指定一个标签名称。" -#: builtin/fetch.c:1644 +#: builtin/fetch.c:1780 msgid "Negative depth in --deepen is not supported" msgstr "--deepen 不支持负数深度" -#: builtin/fetch.c:1646 +#: builtin/fetch.c:1782 msgid "--deepen and --depth are mutually exclusive" msgstr "--deepen 和 --depth 是互斥的" -#: builtin/fetch.c:1651 +#: builtin/fetch.c:1787 msgid "--depth and --unshallow cannot be used together" msgstr "--depth 和 --unshallow 不能同时使用" -#: builtin/fetch.c:1653 +#: builtin/fetch.c:1789 msgid "--unshallow on a complete repository does not make sense" msgstr "对于一个完整的仓库,参数 --unshallow 没有意义" -#: builtin/fetch.c:1669 +#: builtin/fetch.c:1805 msgid "fetch --all does not take a repository argument" msgstr "fetch --all 不能带一个仓库参数" -#: builtin/fetch.c:1671 +#: builtin/fetch.c:1807 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all 带引用规格没有任何意义" -#: builtin/fetch.c:1680 +#: builtin/fetch.c:1816 #, c-format msgid "No such remote or remote group: %s" msgstr "没有这样的远程或远程组:%s" -#: builtin/fetch.c:1687 +#: builtin/fetch.c:1823 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "获取组并指定引用规格没有意义" -#: builtin/fetch.c:1703 +#: builtin/fetch.c:1841 msgid "" "--filter can only be used with the remote configured in extensions." "partialclone" @@ -12866,23 +13881,23 @@ msgid "" "git fmt-merge-msg [-m ] [--log[=] | --no-log] [--file ]" msgstr "git fmt-merge-msg [-m <说明>] [--log[=] | --no-log] [--file <文件>]" -#: builtin/fmt-merge-msg.c:672 +#: builtin/fmt-merge-msg.c:671 msgid "populate log with at most entries from shortlog" msgstr "向提交说明中最多复制指定条目(合并而来的提交)的简短说明" -#: builtin/fmt-merge-msg.c:675 +#: builtin/fmt-merge-msg.c:674 msgid "alias for --log (deprecated)" msgstr "参数 --log 的别名(已弃用)" -#: builtin/fmt-merge-msg.c:678 +#: builtin/fmt-merge-msg.c:677 msgid "text" msgstr "文本" -#: builtin/fmt-merge-msg.c:679 +#: builtin/fmt-merge-msg.c:678 msgid "use as start of message" msgstr "使用 <文本> 作为提交说明的开始" -#: builtin/fmt-merge-msg.c:680 +#: builtin/fmt-merge-msg.c:679 msgid "file to read from" msgstr "从文件中读取" @@ -12946,32 +13961,32 @@ msgstr "只打印包含该提交的引用" msgid "print only refs which don't contain the commit" msgstr "只打印不包含该提交的引用" -#: builtin/fsck.c:88 builtin/fsck.c:160 builtin/fsck.c:161 +#: builtin/fsck.c:68 builtin/fsck.c:147 builtin/fsck.c:148 msgid "unknown" msgstr "未知" #. TRANSLATORS: e.g. error in tree 01bfda: -#: builtin/fsck.c:120 builtin/fsck.c:136 +#: builtin/fsck.c:100 builtin/fsck.c:120 #, c-format msgid "error in %s %s: %s" msgstr "%s %s 错误:%s" #. TRANSLATORS: e.g. warning in tree 01bfda: -#: builtin/fsck.c:131 +#: builtin/fsck.c:114 #, c-format msgid "warning in %s %s: %s" msgstr "%s %s 警告:%s" -#: builtin/fsck.c:157 builtin/fsck.c:159 +#: builtin/fsck.c:143 builtin/fsck.c:146 #, c-format msgid "broken link from %7s %s" msgstr "来自 %7s %s 的损坏的链接" -#: builtin/fsck.c:168 +#: builtin/fsck.c:155 msgid "wrong object type in link" msgstr "链接中错误的对象类型" -#: builtin/fsck.c:184 +#: builtin/fsck.c:171 #, c-format msgid "" "broken link from %7s %s\n" @@ -12980,216 +13995,216 @@ msgstr "" "损坏的链接来自于 %7s %s\n" " 到 %7s %s" -#: builtin/fsck.c:295 +#: builtin/fsck.c:282 #, c-format msgid "missing %s %s" msgstr "缺失 %s %s" -#: builtin/fsck.c:321 +#: builtin/fsck.c:309 #, c-format msgid "unreachable %s %s" msgstr "不可达 %s %s" -#: builtin/fsck.c:340 +#: builtin/fsck.c:329 #, c-format msgid "dangling %s %s" msgstr "悬空 %s %s" -#: builtin/fsck.c:349 +#: builtin/fsck.c:339 msgid "could not create lost-found" msgstr "不能创建 lost-found" -#: builtin/fsck.c:360 +#: builtin/fsck.c:350 #, c-format msgid "could not finish '%s'" msgstr "不能完成 '%s'" -#: builtin/fsck.c:377 +#: builtin/fsck.c:367 #, c-format msgid "Checking %s" msgstr "正在检查 %s" -#: builtin/fsck.c:415 +#: builtin/fsck.c:405 #, c-format msgid "Checking connectivity (%d objects)" msgstr "正在检查连通性(%d 个对象)" -#: builtin/fsck.c:434 +#: builtin/fsck.c:424 #, c-format msgid "Checking %s %s" msgstr "正在检查 %s %s" -#: builtin/fsck.c:438 +#: builtin/fsck.c:429 msgid "broken links" msgstr "损坏的链接" -#: builtin/fsck.c:447 +#: builtin/fsck.c:438 #, c-format msgid "root %s" msgstr "根 %s" -#: builtin/fsck.c:455 +#: builtin/fsck.c:446 #, c-format msgid "tagged %s %s (%s) in %s" msgstr "标记 %s %s (%s) 于 %s" -#: builtin/fsck.c:484 +#: builtin/fsck.c:475 #, c-format msgid "%s: object corrupt or missing" msgstr "%s:对象损坏或丢失" -#: builtin/fsck.c:509 +#: builtin/fsck.c:500 #, c-format msgid "%s: invalid reflog entry %s" msgstr "%s:无效的引用日志条目 %s" -#: builtin/fsck.c:523 +#: builtin/fsck.c:514 #, c-format msgid "Checking reflog %s->%s" msgstr "正在检查引用日志 %s->%s" -#: builtin/fsck.c:557 +#: builtin/fsck.c:548 #, c-format msgid "%s: invalid sha1 pointer %s" msgstr "%s:无效的 sha1 指针 %s" -#: builtin/fsck.c:564 +#: builtin/fsck.c:555 #, c-format msgid "%s: not a commit" msgstr "%s:不是一个提交" -#: builtin/fsck.c:619 +#: builtin/fsck.c:609 msgid "notice: No default references" msgstr "注意:无默认引用" -#: builtin/fsck.c:634 +#: builtin/fsck.c:624 #, c-format msgid "%s: object corrupt or missing: %s" msgstr "%s:对象损坏或丢失:%s" -#: builtin/fsck.c:647 +#: builtin/fsck.c:637 #, c-format msgid "%s: object could not be parsed: %s" msgstr "%s:不能解析对象:%s" -#: builtin/fsck.c:667 +#: builtin/fsck.c:657 #, c-format msgid "bad sha1 file: %s" msgstr "坏的 sha1 文件:%s" -#: builtin/fsck.c:682 +#: builtin/fsck.c:672 msgid "Checking object directory" msgstr "正在检查对象目录" -#: builtin/fsck.c:685 +#: builtin/fsck.c:675 msgid "Checking object directories" msgstr "正在检查对象目录" -#: builtin/fsck.c:700 +#: builtin/fsck.c:690 #, c-format msgid "Checking %s link" msgstr "正在检查 %s 链接" -#: builtin/fsck.c:705 builtin/index-pack.c:842 +#: builtin/fsck.c:695 builtin/index-pack.c:843 #, c-format msgid "invalid %s" msgstr "无效的 %s" -#: builtin/fsck.c:712 +#: builtin/fsck.c:702 #, c-format msgid "%s points to something strange (%s)" msgstr "%s 指向奇怪的东西(%s)" -#: builtin/fsck.c:718 +#: builtin/fsck.c:708 #, c-format msgid "%s: detached HEAD points at nothing" msgstr "%s:分离头指针的指向不存在" -#: builtin/fsck.c:722 +#: builtin/fsck.c:712 #, c-format msgid "notice: %s points to an unborn branch (%s)" msgstr "注意:%s 指向一个尚未诞生的分支(%s)" -#: builtin/fsck.c:734 +#: builtin/fsck.c:724 msgid "Checking cache tree" msgstr "正在检查缓存树" -#: builtin/fsck.c:739 +#: builtin/fsck.c:729 #, c-format msgid "%s: invalid sha1 pointer in cache-tree" msgstr "%s:cache-tree 中无效的 sha1 指针" -#: builtin/fsck.c:750 +#: builtin/fsck.c:738 msgid "non-tree in cache-tree" msgstr "cache-tree 中非树对象" -#: builtin/fsck.c:781 +#: builtin/fsck.c:769 msgid "git fsck [] [...]" msgstr "git fsck [<选项>] [<对象>...]" -#: builtin/fsck.c:787 +#: builtin/fsck.c:775 msgid "show unreachable objects" msgstr "显示不可达的对象" -#: builtin/fsck.c:788 +#: builtin/fsck.c:776 msgid "show dangling objects" msgstr "显示悬空的对象" -#: builtin/fsck.c:789 +#: builtin/fsck.c:777 msgid "report tags" msgstr "报告标签" -#: builtin/fsck.c:790 +#: builtin/fsck.c:778 msgid "report root nodes" msgstr "报告根节点" -#: builtin/fsck.c:791 +#: builtin/fsck.c:779 msgid "make index objects head nodes" msgstr "将索引亦作为检查的头节点" -#: builtin/fsck.c:792 +#: builtin/fsck.c:780 msgid "make reflogs head nodes (default)" msgstr "将引用日志作为检查的头节点(默认)" -#: builtin/fsck.c:793 +#: builtin/fsck.c:781 msgid "also consider packs and alternate objects" msgstr "也考虑包和备用对象" -#: builtin/fsck.c:794 +#: builtin/fsck.c:782 msgid "check only connectivity" msgstr "仅检查连通性" -#: builtin/fsck.c:795 +#: builtin/fsck.c:783 msgid "enable more strict checking" msgstr "启用更严格的检查" -#: builtin/fsck.c:797 +#: builtin/fsck.c:785 msgid "write dangling objects in .git/lost-found" msgstr "将悬空对象写入 .git/lost-found 中" -#: builtin/fsck.c:798 builtin/prune.c:132 +#: builtin/fsck.c:786 builtin/prune.c:132 msgid "show progress" msgstr "显示进度" -#: builtin/fsck.c:799 +#: builtin/fsck.c:787 msgid "show verbose names for reachable objects" msgstr "显示可达对象的详细名称" -#: builtin/fsck.c:859 builtin/index-pack.c:225 +#: builtin/fsck.c:846 builtin/index-pack.c:225 msgid "Checking objects" msgstr "正在检查对象" -#: builtin/fsck.c:887 +#: builtin/fsck.c:874 #, c-format msgid "%s: object missing" msgstr "%s:对象缺失" -#: builtin/fsck.c:899 +#: builtin/fsck.c:885 #, c-format msgid "invalid parameter: expected sha1, got '%s'" msgstr "无效的参数:期望 sha1,得到 '%s'" -#: builtin/gc.c:34 +#: builtin/gc.c:35 msgid "git gc []" msgstr "git gc [<选项>]" @@ -13203,17 +14218,17 @@ msgstr "对 %s 调用 fstat 失败:%s" msgid "failed to parse '%s' value '%s'" msgstr "无法解析 '%s' 值 '%s'" -#: builtin/gc.c:476 builtin/init-db.c:55 +#: builtin/gc.c:475 builtin/init-db.c:55 #, c-format msgid "cannot stat '%s'" msgstr "不能对 '%s' 调用 stat" -#: builtin/gc.c:485 builtin/notes.c:240 builtin/tag.c:529 +#: builtin/gc.c:484 builtin/notes.c:240 builtin/tag.c:529 #, c-format msgid "cannot read '%s'" msgstr "不能读取 '%s'" -#: builtin/gc.c:492 +#: builtin/gc.c:491 #, c-format msgid "" "The last gc run reported the following. Please correct the root cause\n" @@ -13227,64 +14242,64 @@ msgstr "" "\n" "%s" -#: builtin/gc.c:540 +#: builtin/gc.c:539 msgid "prune unreferenced objects" msgstr "清除未引用的对象" -#: builtin/gc.c:542 +#: builtin/gc.c:541 msgid "be more thorough (increased runtime)" msgstr "更彻底(增加运行时间)" -#: builtin/gc.c:543 +#: builtin/gc.c:542 msgid "enable auto-gc mode" msgstr "启用自动垃圾回收模式" -#: builtin/gc.c:546 +#: builtin/gc.c:545 msgid "force running gc even if there may be another gc running" msgstr "强制执行 gc 即使另外一个 gc 正在执行" -#: builtin/gc.c:549 +#: builtin/gc.c:548 msgid "repack all other packs except the largest pack" msgstr "除了最大的包之外,对所有其它包文件重新打包" -#: builtin/gc.c:566 +#: builtin/gc.c:565 #, c-format msgid "failed to parse gc.logexpiry value %s" msgstr "解析 gc.logexpiry 的值 %s 失败" -#: builtin/gc.c:577 +#: builtin/gc.c:576 #, c-format msgid "failed to parse prune expiry value %s" msgstr "解析清除期限值 %s 失败" -#: builtin/gc.c:597 +#: builtin/gc.c:596 #, c-format msgid "Auto packing the repository in background for optimum performance.\n" msgstr "自动在后台执行仓库打包以求最佳性能。\n" -#: builtin/gc.c:599 +#: builtin/gc.c:598 #, c-format msgid "Auto packing the repository for optimum performance.\n" msgstr "自动打包仓库以求最佳性能。\n" -#: builtin/gc.c:600 +#: builtin/gc.c:599 #, c-format msgid "See \"git help gc\" for manual housekeeping.\n" msgstr "手工维护参见 \"git help gc\"。\n" -#: builtin/gc.c:640 +#: builtin/gc.c:639 #, c-format msgid "" "gc is already running on machine '%s' pid % (use --force if not)" msgstr "" "已经有一个 gc 正运行在机器 '%s' pid %(如果不是,使用 --force)" -#: builtin/gc.c:695 +#: builtin/gc.c:694 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "有太多不可达的松散对象,运行 'git prune' 删除它们。" -#: builtin/grep.c:29 +#: builtin/grep.c:30 msgid "git grep [] [-e] [...] [[--] ...]" msgstr "git grep [<选项>] [-e] <模式> [<版本>...] [[--] <路径>...]" @@ -13302,259 +14317,259 @@ msgstr "为 %2$s 设定的线程数 (%1$d) 无效" #. variable for tweaking threads, currently #. grep.threads #. -#: builtin/grep.c:287 builtin/index-pack.c:1534 builtin/index-pack.c:1727 -#: builtin/pack-objects.c:2728 +#: builtin/grep.c:287 builtin/index-pack.c:1538 builtin/index-pack.c:1731 +#: builtin/pack-objects.c:2854 #, c-format msgid "no threads support, ignoring %s" msgstr "没有线程支持,忽略 %s" -#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633 +#: builtin/grep.c:453 builtin/grep.c:578 builtin/grep.c:618 #, c-format msgid "unable to read tree (%s)" msgstr "无法读取树(%s)" -#: builtin/grep.c:648 +#: builtin/grep.c:633 #, c-format msgid "unable to grep from object of type %s" msgstr "无法抓取来自于 %s 类型的对象" -#: builtin/grep.c:714 +#: builtin/grep.c:704 #, c-format msgid "switch `%c' expects a numerical value" msgstr "开关 `%c' 期望一个数字值" -#: builtin/grep.c:813 +#: builtin/grep.c:803 msgid "search in index instead of in the work tree" msgstr "在索引区搜索而不是在工作区" -#: builtin/grep.c:815 +#: builtin/grep.c:805 msgid "find in contents not managed by git" msgstr "在未被 git 管理的内容中查找" # 译者:中文字符串拼接,可删除前导空格 -#: builtin/grep.c:817 +#: builtin/grep.c:807 msgid "search in both tracked and untracked files" msgstr "在跟踪和未跟踪的文件中搜索" -#: builtin/grep.c:819 +#: builtin/grep.c:809 msgid "ignore files specified via '.gitignore'" msgstr "忽略 '.gitignore' 包含的文件" -#: builtin/grep.c:821 +#: builtin/grep.c:811 msgid "recursively search in each submodule" msgstr "在每一个子模组中递归搜索" -#: builtin/grep.c:824 +#: builtin/grep.c:814 msgid "show non-matching lines" msgstr "显示未匹配的行" -#: builtin/grep.c:826 +#: builtin/grep.c:816 msgid "case insensitive matching" msgstr "不区分大小写匹配" -#: builtin/grep.c:828 +#: builtin/grep.c:818 msgid "match patterns only at word boundaries" msgstr "只在单词边界匹配模式" -#: builtin/grep.c:830 +#: builtin/grep.c:820 msgid "process binary files as text" msgstr "把二进制文件当做文本处理" -#: builtin/grep.c:832 +#: builtin/grep.c:822 msgid "don't match patterns in binary files" msgstr "不在二进制文件中匹配模式" -#: builtin/grep.c:835 +#: builtin/grep.c:825 msgid "process binary files with textconv filters" msgstr "用 textconv 过滤器处理二进制文件" -#: builtin/grep.c:837 +#: builtin/grep.c:827 msgid "search in subdirectories (default)" msgstr "在子目录中寻找(默认)" -#: builtin/grep.c:839 +#: builtin/grep.c:829 msgid "descend at most levels" msgstr "最多以指定的深度向下寻找" -#: builtin/grep.c:843 +#: builtin/grep.c:833 msgid "use extended POSIX regular expressions" msgstr "使用扩展的 POSIX 正则表达式" -#: builtin/grep.c:846 +#: builtin/grep.c:836 msgid "use basic POSIX regular expressions (default)" msgstr "使用基本的 POSIX 正则表达式(默认)" -#: builtin/grep.c:849 +#: builtin/grep.c:839 msgid "interpret patterns as fixed strings" msgstr "把模式解析为固定的字符串" -#: builtin/grep.c:852 +#: builtin/grep.c:842 msgid "use Perl-compatible regular expressions" msgstr "使用 Perl 兼容的正则表达式" -#: builtin/grep.c:855 +#: builtin/grep.c:845 msgid "show line numbers" msgstr "显示行号" -#: builtin/grep.c:856 +#: builtin/grep.c:846 msgid "show column number of first match" msgstr "显示第一个匹配的列号" -#: builtin/grep.c:857 +#: builtin/grep.c:847 msgid "don't show filenames" msgstr "不显示文件名" -#: builtin/grep.c:858 +#: builtin/grep.c:848 msgid "show filenames" msgstr "显示文件名" -#: builtin/grep.c:860 +#: builtin/grep.c:850 msgid "show filenames relative to top directory" msgstr "显示相对于顶级目录的文件名" -#: builtin/grep.c:862 +#: builtin/grep.c:852 msgid "show only filenames instead of matching lines" msgstr "只显示文件名而不显示匹配的行" -#: builtin/grep.c:864 +#: builtin/grep.c:854 msgid "synonym for --files-with-matches" msgstr "和 --files-with-matches 同义" -#: builtin/grep.c:867 +#: builtin/grep.c:857 msgid "show only the names of files without match" msgstr "只显示未匹配的文件名" -#: builtin/grep.c:869 +#: builtin/grep.c:859 msgid "print NUL after filenames" msgstr "在文件名后输出 NUL 字符" -#: builtin/grep.c:872 +#: builtin/grep.c:862 msgid "show only matching parts of a line" msgstr "只显示行中的匹配的部分" -#: builtin/grep.c:874 +#: builtin/grep.c:864 msgid "show the number of matches instead of matching lines" msgstr "显示总匹配行数,而不显示匹配的行" -#: builtin/grep.c:875 +#: builtin/grep.c:865 msgid "highlight matches" msgstr "高亮显示匹配项" -#: builtin/grep.c:877 +#: builtin/grep.c:867 msgid "print empty line between matches from different files" msgstr "在不同文件的匹配项之间打印空行" -#: builtin/grep.c:879 +#: builtin/grep.c:869 msgid "show filename only once above matches from same file" msgstr "只在同一文件的匹配项的上面显示一次文件名" -#: builtin/grep.c:882 +#: builtin/grep.c:872 msgid "show context lines before and after matches" msgstr "显示匹配项前后的 行上下文" -#: builtin/grep.c:885 +#: builtin/grep.c:875 msgid "show context lines before matches" msgstr "显示匹配项前 行上下文" -#: builtin/grep.c:887 +#: builtin/grep.c:877 msgid "show context lines after matches" msgstr "显示匹配项后 行上下文" -#: builtin/grep.c:889 +#: builtin/grep.c:879 msgid "use worker threads" msgstr "使用 个工作线程" -#: builtin/grep.c:890 +#: builtin/grep.c:880 msgid "shortcut for -C NUM" msgstr "快捷键 -C 数字" -#: builtin/grep.c:893 +#: builtin/grep.c:883 msgid "show a line with the function name before matches" msgstr "在匹配的前面显示一行函数名" -#: builtin/grep.c:895 +#: builtin/grep.c:885 msgid "show the surrounding function" msgstr "显示所在函数的前后内容" -#: builtin/grep.c:898 +#: builtin/grep.c:888 msgid "read patterns from file" msgstr "从文件读取模式" -#: builtin/grep.c:900 +#: builtin/grep.c:890 msgid "match " msgstr "匹配 <模式>" -#: builtin/grep.c:902 +#: builtin/grep.c:892 msgid "combine patterns specified with -e" msgstr "组合用 -e 参数设定的模式" -#: builtin/grep.c:914 +#: builtin/grep.c:904 msgid "indicate hit with exit status without output" msgstr "不输出,而用退出码标识命中状态" -#: builtin/grep.c:916 +#: builtin/grep.c:906 msgid "show only matches from files that match all patterns" msgstr "只显示匹配所有模式的文件中的匹配" -#: builtin/grep.c:918 +#: builtin/grep.c:908 msgid "show parse tree for grep expression" msgstr "显示 grep 表达式的解析树" -#: builtin/grep.c:922 +#: builtin/grep.c:912 msgid "pager" msgstr "分页" -#: builtin/grep.c:922 +#: builtin/grep.c:912 msgid "show matching files in the pager" msgstr "分页显示匹配的文件" -#: builtin/grep.c:926 +#: builtin/grep.c:916 msgid "allow calling of grep(1) (ignored by this build)" msgstr "允许调用 grep(1)(本次构建忽略)" -#: builtin/grep.c:990 +#: builtin/grep.c:983 msgid "no pattern given" msgstr "未提供匹配模式" -#: builtin/grep.c:1026 +#: builtin/grep.c:1019 msgid "--no-index or --untracked cannot be used with revs" msgstr "--no-index 或 --untracked 不能和版本同时使用" -#: builtin/grep.c:1034 +#: builtin/grep.c:1027 #, c-format msgid "unable to resolve revision: %s" msgstr "不能解析版本:%s" -#: builtin/grep.c:1065 +#: builtin/grep.c:1057 +msgid "--untracked not supported with --recurse-submodules" +msgstr "--untracked 不支持和 --recurse-submodules 共用" + +#: builtin/grep.c:1061 msgid "invalid option combination, ignoring --threads" msgstr "无效的选项组合,忽略 --threads" -#: builtin/grep.c:1068 builtin/pack-objects.c:3416 +#: builtin/grep.c:1064 builtin/pack-objects.c:3547 msgid "no threads support, ignoring --threads" msgstr "没有线程支持,忽略 --threads" -#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725 +#: builtin/grep.c:1067 builtin/index-pack.c:1535 builtin/pack-objects.c:2851 #, c-format msgid "invalid number of threads specified (%d)" msgstr "指定的线程数无效(%d)" -#: builtin/grep.c:1094 +#: builtin/grep.c:1101 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager 仅用于工作区" -#: builtin/grep.c:1117 -msgid "option not supported with --recurse-submodules" -msgstr "选项不支持和 --recurse-submodules 共用" - -#: builtin/grep.c:1123 +#: builtin/grep.c:1127 msgid "--cached or --untracked cannot be used with --no-index" msgstr "--cached 或 --untracked 不能与 --no-index 同时使用" -#: builtin/grep.c:1129 +#: builtin/grep.c:1133 msgid "--[no-]exclude-standard cannot be used for tracked contents" msgstr "--[no-]exclude-standard 不能用于已跟踪内容" -#: builtin/grep.c:1137 +#: builtin/grep.c:1141 msgid "both --cached and trees are given" msgstr "同时给出了 --cached 和树对象" @@ -13738,11 +14753,11 @@ msgstr "输入上的读错误" msgid "used more bytes than were available" msgstr "用掉了超过可用的字节" -#: builtin/index-pack.c:288 builtin/pack-objects.c:604 +#: builtin/index-pack.c:288 builtin/pack-objects.c:606 msgid "pack too large for current definition of off_t" msgstr "包太大超过了当前 off_t 的定义" -#: builtin/index-pack.c:291 builtin/unpack-objects.c:94 +#: builtin/index-pack.c:291 builtin/unpack-objects.c:95 msgid "pack exceeds maximum allowed size" msgstr "包超过了最大允许值" @@ -13798,191 +14813,191 @@ msgstr[1] "包文件过早结束,缺少 % 字节" msgid "serious inflate inconsistency" msgstr "解压缩严重的不一致" -#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:764 -#: builtin/index-pack.c:803 builtin/index-pack.c:812 +#: builtin/index-pack.c:735 builtin/index-pack.c:741 builtin/index-pack.c:765 +#: builtin/index-pack.c:804 builtin/index-pack.c:813 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "发现 %s 出现 SHA1 冲突!" -#: builtin/index-pack.c:738 builtin/pack-objects.c:157 -#: builtin/pack-objects.c:217 builtin/pack-objects.c:311 +#: builtin/index-pack.c:738 builtin/pack-objects.c:158 +#: builtin/pack-objects.c:218 builtin/pack-objects.c:313 #, c-format msgid "unable to read %s" msgstr "不能读 %s" -#: builtin/index-pack.c:801 +#: builtin/index-pack.c:802 #, c-format msgid "cannot read existing object info %s" msgstr "不能读取现存对象信息 %s" -#: builtin/index-pack.c:809 +#: builtin/index-pack.c:810 #, c-format msgid "cannot read existing object %s" msgstr "不能读取现存对象 %s" -#: builtin/index-pack.c:823 +#: builtin/index-pack.c:824 #, c-format msgid "invalid blob object %s" msgstr "无效的数据对象 %s" -#: builtin/index-pack.c:826 builtin/index-pack.c:845 +#: builtin/index-pack.c:827 builtin/index-pack.c:846 msgid "fsck error in packed object" msgstr "对打包对象 fsck 检查出错" -#: builtin/index-pack.c:847 +#: builtin/index-pack.c:848 #, c-format msgid "Not all child objects of %s are reachable" msgstr "%s 的所有子对象并非都可达" -#: builtin/index-pack.c:919 builtin/index-pack.c:950 +#: builtin/index-pack.c:920 builtin/index-pack.c:951 msgid "failed to apply delta" msgstr "应用 delta 失败" -#: builtin/index-pack.c:1118 +#: builtin/index-pack.c:1121 msgid "Receiving objects" msgstr "接收对象中" -#: builtin/index-pack.c:1118 +#: builtin/index-pack.c:1121 msgid "Indexing objects" msgstr "索引对象中" -#: builtin/index-pack.c:1152 +#: builtin/index-pack.c:1155 msgid "pack is corrupted (SHA1 mismatch)" msgstr "包冲突(SHA1 不匹配)" -#: builtin/index-pack.c:1157 +#: builtin/index-pack.c:1160 msgid "cannot fstat packfile" msgstr "不能对包文件调用 fstat" -#: builtin/index-pack.c:1160 +#: builtin/index-pack.c:1163 msgid "pack has junk at the end" msgstr "包的结尾有垃圾数据" -#: builtin/index-pack.c:1172 +#: builtin/index-pack.c:1175 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "parse_pack_objects() 中遇到不可理喻的问题" -#: builtin/index-pack.c:1195 +#: builtin/index-pack.c:1198 msgid "Resolving deltas" msgstr "处理 delta 中" -#: builtin/index-pack.c:1205 builtin/pack-objects.c:2497 +#: builtin/index-pack.c:1208 builtin/pack-objects.c:2615 #, c-format msgid "unable to create thread: %s" msgstr "不能创建线程:%s" -#: builtin/index-pack.c:1246 +#: builtin/index-pack.c:1249 msgid "confusion beyond insanity" msgstr "不可理喻" -#: builtin/index-pack.c:1252 +#: builtin/index-pack.c:1255 #, c-format msgid "completed with %d local object" msgid_plural "completed with %d local objects" msgstr[0] "完成 %d 个本地对象" msgstr[1] "完成 %d 个本地对象" -#: builtin/index-pack.c:1264 +#: builtin/index-pack.c:1267 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "对 %s 的尾部校验出现意外(磁盘损坏?)" -#: builtin/index-pack.c:1268 +#: builtin/index-pack.c:1271 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "包有 %d 个未解决的 delta" msgstr[1] "包有 %d 个未解决的 delta" -#: builtin/index-pack.c:1292 +#: builtin/index-pack.c:1295 #, c-format msgid "unable to deflate appended object (%d)" msgstr "不能压缩附加对象(%d)" -#: builtin/index-pack.c:1388 +#: builtin/index-pack.c:1392 #, c-format msgid "local object %s is corrupt" msgstr "本地对象 %s 已损坏" -#: builtin/index-pack.c:1402 +#: builtin/index-pack.c:1406 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "包文件名 '%s' 没有以 '.pack' 结尾" -#: builtin/index-pack.c:1427 +#: builtin/index-pack.c:1431 #, c-format msgid "cannot write %s file '%s'" msgstr "无法写入 %s 文件 '%s'" -#: builtin/index-pack.c:1435 +#: builtin/index-pack.c:1439 #, c-format msgid "cannot close written %s file '%s'" msgstr "无法关闭已写入的 %s 文件 '%s'" -#: builtin/index-pack.c:1459 +#: builtin/index-pack.c:1463 msgid "error while closing pack file" msgstr "关闭包文件时出错" -#: builtin/index-pack.c:1473 +#: builtin/index-pack.c:1477 msgid "cannot store pack file" msgstr "无法存储包文件" -#: builtin/index-pack.c:1481 +#: builtin/index-pack.c:1485 msgid "cannot store index file" msgstr "无法存储索引文件" -#: builtin/index-pack.c:1525 builtin/pack-objects.c:2736 +#: builtin/index-pack.c:1529 builtin/pack-objects.c:2862 #, c-format msgid "bad pack.indexversion=%" msgstr "坏的 pack.indexversion=%" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1597 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "无法打开现存包文件 '%s'" -#: builtin/index-pack.c:1595 +#: builtin/index-pack.c:1599 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "无法为 %s 打开包索引文件" -#: builtin/index-pack.c:1643 +#: builtin/index-pack.c:1647 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "非 delta:%d 个对象" msgstr[1] "非 delta:%d 个对象" -#: builtin/index-pack.c:1650 +#: builtin/index-pack.c:1654 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "链长 = %d: %lu 对象" msgstr[1] "链长 = %d: %lu 对象" -#: builtin/index-pack.c:1689 +#: builtin/index-pack.c:1693 msgid "Cannot come back to cwd" msgstr "无法返回当前工作目录" -#: builtin/index-pack.c:1738 builtin/index-pack.c:1741 -#: builtin/index-pack.c:1757 builtin/index-pack.c:1761 +#: builtin/index-pack.c:1742 builtin/index-pack.c:1745 +#: builtin/index-pack.c:1761 builtin/index-pack.c:1765 #, c-format msgid "bad %s" msgstr "错误选项 %s" -#: builtin/index-pack.c:1777 +#: builtin/index-pack.c:1781 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin 不能和 --stdin 同时使用" -#: builtin/index-pack.c:1779 +#: builtin/index-pack.c:1783 msgid "--stdin requires a git repository" msgstr "--stdin 需要一个 git 仓库" -#: builtin/index-pack.c:1785 +#: builtin/index-pack.c:1789 msgid "--verify with no packfile name given" msgstr "--verify 没有提供包文件名参数" -#: builtin/index-pack.c:1833 builtin/unpack-objects.c:580 +#: builtin/index-pack.c:1837 builtin/unpack-objects.c:582 msgid "fsck error in pack objects" msgstr "在打包对象中 fsck 检查出错" @@ -14163,121 +15178,126 @@ msgstr "--trailer 和 --only-input 同时使用没有意义" msgid "no input file given for in-place editing" msgstr "没有给出要原位编辑的文件" -#: builtin/log.c:55 +#: builtin/log.c:56 msgid "git log [] [] [[--] ...]" msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]" -#: builtin/log.c:56 +#: builtin/log.c:57 msgid "git show [] ..." msgstr "git show [<选项>] <对象>..." -#: builtin/log.c:109 +#: builtin/log.c:110 #, c-format msgid "invalid --decorate option: %s" msgstr "无效的 --decorate 选项:%s" -#: builtin/log.c:173 +#: builtin/log.c:174 msgid "show source" msgstr "显示源" -#: builtin/log.c:174 +#: builtin/log.c:175 msgid "Use mail map file" msgstr "使用邮件映射文件" -#: builtin/log.c:176 +#: builtin/log.c:177 msgid "only decorate refs that match " msgstr "只修饰与 <模式> 匹配的引用" -#: builtin/log.c:178 +#: builtin/log.c:179 msgid "do not decorate refs that match " msgstr "不修饰和 <模式> 匹配的引用" -#: builtin/log.c:179 +#: builtin/log.c:180 msgid "decorate options" msgstr "修饰选项" -#: builtin/log.c:182 +#: builtin/log.c:183 msgid "Process line range n,m in file, counting from 1" msgstr "处理文件中第 n 到 m 之间的行,从 1 开始" -#: builtin/log.c:280 +#: builtin/log.c:281 #, c-format msgid "Final output: %d %s\n" msgstr "最终输出:%d %s\n" -#: builtin/log.c:534 +#: builtin/log.c:535 #, c-format msgid "git show %s: bad file" msgstr "git show %s: 损坏的文件" -#: builtin/log.c:549 builtin/log.c:643 +#: builtin/log.c:550 builtin/log.c:645 #, c-format msgid "could not read object %s" msgstr "不能读取对象 %s" -#: builtin/log.c:668 +#: builtin/log.c:670 #, c-format msgid "unknown type: %d" msgstr "未知类型:%d" -#: builtin/log.c:791 +#: builtin/log.c:814 +#, c-format +msgid "%s: invalid cover from description mode" +msgstr "%s:从描述生成附函的模式无效" + +#: builtin/log.c:821 msgid "format.headers without value" msgstr "format.headers 没有值" -#: builtin/log.c:908 +#: builtin/log.c:936 msgid "name of output directory is too long" msgstr "输出目录名太长" -#: builtin/log.c:924 +#: builtin/log.c:952 #, c-format msgid "cannot open patch file %s" msgstr "无法打开补丁文件 %s" -#: builtin/log.c:941 +#: builtin/log.c:969 msgid "need exactly one range" msgstr "只需要一个范围" -#: builtin/log.c:951 +#: builtin/log.c:979 msgid "not a range" msgstr "不是一个范围" -#: builtin/log.c:1074 +#: builtin/log.c:1143 msgid "cover letter needs email format" msgstr "附函需要邮件地址格式" -#: builtin/log.c:1080 +#: builtin/log.c:1149 msgid "failed to create cover-letter file" msgstr "无法创建附函文件" -#: builtin/log.c:1159 +#: builtin/log.c:1228 #, c-format msgid "insane in-reply-to: %s" msgstr "不正常的 in-reply-to:%s" -#: builtin/log.c:1186 +#: builtin/log.c:1255 msgid "git format-patch [] [ | ]" msgstr "git format-patch [<选项>] [<从> | <版本范围>]" -#: builtin/log.c:1244 +#: builtin/log.c:1313 msgid "two output directories?" msgstr "两个输出目录?" -#: builtin/log.c:1355 builtin/log.c:2099 builtin/log.c:2101 builtin/log.c:2113 +#: builtin/log.c:1424 builtin/log.c:2197 builtin/log.c:2199 builtin/log.c:2211 #, c-format msgid "unknown commit %s" msgstr "未知提交 %s" -#: builtin/log.c:1365 builtin/replace.c:58 builtin/replace.c:207 +#: builtin/log.c:1434 builtin/replace.c:58 builtin/replace.c:207 #: builtin/replace.c:210 #, c-format msgid "failed to resolve '%s' as a valid ref" msgstr "无法将 '%s' 解析为一个有效引用" -#: builtin/log.c:1370 +#: builtin/log.c:1439 msgid "could not find exact merge base" msgstr "不能找到准确的合并基线" -#: builtin/log.c:1374 +#: builtin/log.c:1443 msgid "" "failed to get upstream, if you want to record base commit automatically,\n" "please use git branch --set-upstream-to to track a remote branch.\n" @@ -14287,267 +15307,275 @@ msgstr "" "git branch --set-upstream-to 来跟踪一个远程分支。或者你可以通过\n" "参数 --base=<基线提交> 手动指定一个基线提交" -#: builtin/log.c:1394 +#: builtin/log.c:1463 msgid "failed to find exact merge base" msgstr "无法找到准确的合并基线" -#: builtin/log.c:1405 +#: builtin/log.c:1474 msgid "base commit should be the ancestor of revision list" msgstr "基线提交应该是版本列表的祖先" -#: builtin/log.c:1409 +#: builtin/log.c:1478 msgid "base commit shouldn't be in revision list" msgstr "基线提交不应该出现在版本列表中" -#: builtin/log.c:1462 +#: builtin/log.c:1531 msgid "cannot get patch id" msgstr "无法得到补丁 id" -#: builtin/log.c:1514 +#: builtin/log.c:1583 msgid "failed to infer range-diff ranges" msgstr "无法推断 range-diff 范围" -#: builtin/log.c:1559 +#: builtin/log.c:1629 msgid "use [PATCH n/m] even with a single patch" msgstr "使用 [PATCH n/m],即使只有一个补丁" -#: builtin/log.c:1562 +#: builtin/log.c:1632 msgid "use [PATCH] even with multiple patches" msgstr "使用 [PATCH],即使有多个补丁" -#: builtin/log.c:1566 +#: builtin/log.c:1636 msgid "print patches to standard out" msgstr "打印补丁到标准输出" -#: builtin/log.c:1568 +#: builtin/log.c:1638 msgid "generate a cover letter" msgstr "生成一封附函" -#: builtin/log.c:1570 +#: builtin/log.c:1640 msgid "use simple number sequence for output file names" msgstr "使用简单的数字序列作为输出文件名" -#: builtin/log.c:1571 +#: builtin/log.c:1641 msgid "sfx" msgstr "后缀" -#: builtin/log.c:1572 +#: builtin/log.c:1642 msgid "use instead of '.patch'" msgstr "使用 <后缀> 代替 '.patch'" -#: builtin/log.c:1574 +#: builtin/log.c:1644 msgid "start numbering patches at instead of 1" msgstr "补丁以 开始编号,而不是1" -#: builtin/log.c:1576 +#: builtin/log.c:1646 msgid "mark the series as Nth re-roll" msgstr "标记补丁系列是第几次重制" -#: builtin/log.c:1578 +#: builtin/log.c:1648 msgid "Use [RFC PATCH] instead of [PATCH]" msgstr "使用 [RFC PATCH] 代替 [PATCH]" -#: builtin/log.c:1581 +#: builtin/log.c:1651 +msgid "cover-from-description-mode" +msgstr "从分支描述获取附函的模式" + +#: builtin/log.c:1652 +msgid "generate parts of a cover letter based on a branch's description" +msgstr "基于一个分支描述生成部分附函" + +#: builtin/log.c:1654 msgid "Use [] instead of [PATCH]" msgstr "使用 [<前缀>] 代替 [PATCH]" -#: builtin/log.c:1584 +#: builtin/log.c:1657 msgid "store resulting files in " msgstr "把结果文件存储在 <目录>" -#: builtin/log.c:1587 +#: builtin/log.c:1660 msgid "don't strip/add [PATCH]" msgstr "不删除/添加 [PATCH]" -#: builtin/log.c:1590 +#: builtin/log.c:1663 msgid "don't output binary diffs" msgstr "不输出二进制差异" -#: builtin/log.c:1592 +#: builtin/log.c:1665 msgid "output all-zero hash in From header" msgstr "在 From 头信息中输出全为零的哈希值" -#: builtin/log.c:1594 +#: builtin/log.c:1667 msgid "don't include a patch matching a commit upstream" msgstr "不包含已在上游提交中的补丁" -#: builtin/log.c:1596 +#: builtin/log.c:1669 msgid "show patch format instead of default (patch + stat)" msgstr "显示纯补丁格式而非默认的(补丁+状态)" -#: builtin/log.c:1598 +#: builtin/log.c:1671 msgid "Messaging" msgstr "邮件发送" -#: builtin/log.c:1599 +#: builtin/log.c:1672 msgid "header" msgstr "header" -#: builtin/log.c:1600 +#: builtin/log.c:1673 msgid "add email header" msgstr "添加邮件头" -#: builtin/log.c:1601 builtin/log.c:1603 +#: builtin/log.c:1674 builtin/log.c:1676 msgid "email" msgstr "邮件地址" -#: builtin/log.c:1601 +#: builtin/log.c:1674 msgid "add To: header" msgstr "添加收件人" -#: builtin/log.c:1603 +#: builtin/log.c:1676 msgid "add Cc: header" msgstr "添加抄送" -#: builtin/log.c:1605 +#: builtin/log.c:1678 msgid "ident" msgstr "标识" -#: builtin/log.c:1606 +#: builtin/log.c:1679 msgid "set From address to (or committer ident if absent)" msgstr "将 From 地址设置为 <标识>(如若不提供,则用提交者 ID 做为地址)" -#: builtin/log.c:1608 +#: builtin/log.c:1681 msgid "message-id" msgstr "邮件标识" -#: builtin/log.c:1609 +#: builtin/log.c:1682 msgid "make first mail a reply to " msgstr "使第一封邮件作为对 <邮件标识> 的回复" -#: builtin/log.c:1610 builtin/log.c:1613 +#: builtin/log.c:1683 builtin/log.c:1686 msgid "boundary" msgstr "边界" -#: builtin/log.c:1611 +#: builtin/log.c:1684 msgid "attach the patch" msgstr "附件方式添加补丁" -#: builtin/log.c:1614 +#: builtin/log.c:1687 msgid "inline the patch" msgstr "内联显示补丁" -#: builtin/log.c:1618 +#: builtin/log.c:1691 msgid "enable message threading, styles: shallow, deep" msgstr "启用邮件线索,风格:浅,深" -#: builtin/log.c:1620 +#: builtin/log.c:1693 msgid "signature" msgstr "签名" -#: builtin/log.c:1621 +#: builtin/log.c:1694 msgid "add a signature" msgstr "添加一个签名" -#: builtin/log.c:1622 +#: builtin/log.c:1695 msgid "base-commit" msgstr "基线提交" -#: builtin/log.c:1623 +#: builtin/log.c:1696 msgid "add prerequisite tree info to the patch series" msgstr "为补丁列表添加前置树信息" -#: builtin/log.c:1625 +#: builtin/log.c:1698 msgid "add a signature from a file" msgstr "从文件添加一个签名" -#: builtin/log.c:1626 +#: builtin/log.c:1699 msgid "don't print the patch filenames" msgstr "不要打印补丁文件名" -#: builtin/log.c:1628 +#: builtin/log.c:1701 msgid "show progress while generating patches" msgstr "在生成补丁时显示进度" -#: builtin/log.c:1630 +#: builtin/log.c:1703 msgid "show changes against in cover letter or single patch" msgstr "在附函或单个补丁中显示和 的差异" -#: builtin/log.c:1633 +#: builtin/log.c:1706 msgid "show changes against in cover letter or single patch" msgstr "在附函或单个补丁中显示和 的差异" -#: builtin/log.c:1635 +#: builtin/log.c:1708 msgid "percentage by which creation is weighted" msgstr "创建权重的百分比" -#: builtin/log.c:1710 +#: builtin/log.c:1792 #, c-format msgid "invalid ident line: %s" msgstr "包含无效的身份标识:%s" -#: builtin/log.c:1725 +#: builtin/log.c:1807 msgid "-n and -k are mutually exclusive" msgstr "-n 和 -k 互斥" -#: builtin/log.c:1727 +#: builtin/log.c:1809 msgid "--subject-prefix/--rfc and -k are mutually exclusive" msgstr "--subject-prefix/--rfc 和 -k 互斥" -#: builtin/log.c:1735 +#: builtin/log.c:1817 msgid "--name-only does not make sense" msgstr "--name-only 无意义" -#: builtin/log.c:1737 +#: builtin/log.c:1819 msgid "--name-status does not make sense" msgstr "--name-status 无意义" -#: builtin/log.c:1739 +#: builtin/log.c:1821 msgid "--check does not make sense" msgstr "--check 无意义" -#: builtin/log.c:1771 +#: builtin/log.c:1854 msgid "standard output, or directory, which one?" msgstr "标准输出或目录,哪一个?" -#: builtin/log.c:1860 +#: builtin/log.c:1958 msgid "--interdiff requires --cover-letter or single patch" msgstr "--interdiff 需要 --cover-letter 或单一补丁" -#: builtin/log.c:1864 +#: builtin/log.c:1962 msgid "Interdiff:" msgstr "版本间差异:" -#: builtin/log.c:1865 +#: builtin/log.c:1963 #, c-format msgid "Interdiff against v%d:" msgstr "对 v%d 的版本差异:" -#: builtin/log.c:1871 +#: builtin/log.c:1969 msgid "--creation-factor requires --range-diff" msgstr "--creation-factor 需要 --range-diff" -#: builtin/log.c:1875 +#: builtin/log.c:1973 msgid "--range-diff requires --cover-letter or single patch" msgstr "--range-diff 需要 --cover-letter 或单一补丁" -#: builtin/log.c:1883 +#: builtin/log.c:1981 msgid "Range-diff:" msgstr "范围差异:" -#: builtin/log.c:1884 +#: builtin/log.c:1982 #, c-format msgid "Range-diff against v%d:" msgstr "对 v%d 的范围差异:" -#: builtin/log.c:1895 +#: builtin/log.c:1993 #, c-format msgid "unable to read signature file '%s'" msgstr "无法读取签名文件 '%s'" -#: builtin/log.c:1931 +#: builtin/log.c:2029 msgid "Generating patches" msgstr "生成补丁" -#: builtin/log.c:1975 +#: builtin/log.c:2073 msgid "failed to create output files" msgstr "无法创建输出文件" -#: builtin/log.c:2034 +#: builtin/log.c:2132 msgid "git cherry [-v] [ [ []]]" msgstr "git cherry [-v] [<上游> [<头> [<限制>]]]" -#: builtin/log.c:2088 +#: builtin/log.c:2186 #, c-format msgid "" "Could not find a tracked remote branch, please specify manually.\n" @@ -14647,11 +15675,11 @@ msgstr "如果任何 <文件> 都不在索引区,视为错误" #: builtin/ls-files.c:576 msgid "tree-ish" -msgstr "树或提交" +msgstr "树对象" #: builtin/ls-files.c:577 msgid "pretend that paths removed since are still present" -msgstr "假装自从 <树或提交> 之后删除的路径仍然存在" +msgstr "假装自从 <树对象> 之后删除的路径仍然存在" #: builtin/ls-files.c:579 msgid "show debugging data" @@ -14671,7 +15699,7 @@ msgstr "" msgid "do not print remote URL" msgstr "不打印远程 URL" -#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1464 +#: builtin/ls-remote.c:60 builtin/ls-remote.c:62 builtin/rebase.c:1561 msgid "exec" msgstr "exec" @@ -14705,7 +15733,7 @@ msgstr "除了显示指向的对象外,显示指向的引用名" #: builtin/ls-tree.c:30 msgid "git ls-tree [] [...]" -msgstr "git ls-tree [<选项>] <树或提交> [<路径>...]" +msgstr "git ls-tree [<选项>] <树对象> [<路径>...]" #: builtin/ls-tree.c:128 msgid "only show trees" @@ -14756,150 +15784,150 @@ msgstr "git merge --abort" msgid "git merge --continue" msgstr "git merge --continue" -#: builtin/merge.c:118 +#: builtin/merge.c:119 msgid "switch `m' requires a value" msgstr "开关 `m' 需要一个值" -#: builtin/merge.c:141 +#: builtin/merge.c:142 #, c-format msgid "option `%s' requires a value" msgstr "选项 `%s' 需要一个值" -#: builtin/merge.c:187 +#: builtin/merge.c:188 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "不能找到合并策略 '%s'。\n" -#: builtin/merge.c:188 +#: builtin/merge.c:189 #, c-format msgid "Available strategies are:" msgstr "可用的策略有:" -#: builtin/merge.c:193 +#: builtin/merge.c:194 #, c-format msgid "Available custom strategies are:" msgstr "可用的自定义策略有:" -#: builtin/merge.c:244 builtin/pull.c:151 +#: builtin/merge.c:245 builtin/pull.c:132 msgid "do not show a diffstat at the end of the merge" msgstr "在合并的最后不显示差异统计" -#: builtin/merge.c:247 builtin/pull.c:154 +#: builtin/merge.c:248 builtin/pull.c:135 msgid "show a diffstat at the end of the merge" msgstr "在合并的最后显示差异统计" -#: builtin/merge.c:248 builtin/pull.c:157 +#: builtin/merge.c:249 builtin/pull.c:138 msgid "(synonym to --stat)" msgstr "(和 --stat 同义)" -#: builtin/merge.c:250 builtin/pull.c:160 +#: builtin/merge.c:251 builtin/pull.c:141 msgid "add (at most ) entries from shortlog to merge commit message" msgstr "在合并提交信息中添加(最多 条)精简提交记录" -#: builtin/merge.c:253 builtin/pull.c:166 +#: builtin/merge.c:254 builtin/pull.c:147 msgid "create a single commit instead of doing a merge" msgstr "创建一个单独的提交而不是做一次合并" -#: builtin/merge.c:255 builtin/pull.c:169 +#: builtin/merge.c:256 builtin/pull.c:150 msgid "perform a commit if the merge succeeds (default)" msgstr "如果合并成功,执行一次提交(默认)" -#: builtin/merge.c:257 builtin/pull.c:172 +#: builtin/merge.c:258 builtin/pull.c:153 msgid "edit message before committing" msgstr "在提交前编辑提交说明" -#: builtin/merge.c:259 +#: builtin/merge.c:260 msgid "allow fast-forward (default)" msgstr "允许快进(默认)" -#: builtin/merge.c:261 builtin/pull.c:179 +#: builtin/merge.c:262 builtin/pull.c:160 msgid "abort if fast-forward is not possible" msgstr "如果不能快进就放弃合并" -#: builtin/merge.c:265 builtin/pull.c:182 +#: builtin/merge.c:266 builtin/pull.c:163 msgid "verify that the named commit has a valid GPG signature" msgstr "验证指定的提交是否包含一个有效的 GPG 签名" -#: builtin/merge.c:266 builtin/notes.c:787 builtin/pull.c:186 -#: builtin/rebase.c:492 builtin/rebase.c:1477 builtin/revert.c:114 +#: builtin/merge.c:267 builtin/notes.c:787 builtin/pull.c:167 +#: builtin/rebase.c:520 builtin/rebase.c:1575 builtin/revert.c:114 msgid "strategy" msgstr "策略" -#: builtin/merge.c:267 builtin/pull.c:187 +#: builtin/merge.c:268 builtin/pull.c:168 msgid "merge strategy to use" msgstr "要使用的合并策略" -#: builtin/merge.c:268 builtin/pull.c:190 +#: builtin/merge.c:269 builtin/pull.c:171 msgid "option=value" msgstr "option=value" -#: builtin/merge.c:269 builtin/pull.c:191 +#: builtin/merge.c:270 builtin/pull.c:172 msgid "option for selected merge strategy" msgstr "所选的合并策略的选项" -#: builtin/merge.c:271 +#: builtin/merge.c:272 msgid "merge commit message (for a non-fast-forward merge)" msgstr "合并的提交说明(针对非快进式合并)" -#: builtin/merge.c:278 +#: builtin/merge.c:279 msgid "abort the current in-progress merge" msgstr "放弃当前正在进行的合并" # -#: builtin/merge.c:280 +#: builtin/merge.c:281 msgid "--abort but leave index and working tree alone" msgstr "--abort,但是保留索引和工作区" -#: builtin/merge.c:282 +#: builtin/merge.c:283 msgid "continue the current in-progress merge" msgstr "继续当前正在进行的合并" -#: builtin/merge.c:284 builtin/pull.c:198 +#: builtin/merge.c:285 builtin/pull.c:179 msgid "allow merging unrelated histories" msgstr "允许合并不相关的历史" -#: builtin/merge.c:290 -msgid "verify commit-msg hook" -msgstr "校验 commit-msg 钩子" +#: builtin/merge.c:291 +msgid "bypass pre-merge-commit and commit-msg hooks" +msgstr "绕过 pre-merge-commit 和 commit-msg 钩子" -#: builtin/merge.c:307 +#: builtin/merge.c:308 msgid "could not run stash." msgstr "不能运行贮藏。" -#: builtin/merge.c:312 +#: builtin/merge.c:313 msgid "stash failed" msgstr "贮藏失败" -#: builtin/merge.c:317 +#: builtin/merge.c:318 #, c-format msgid "not a valid object: %s" msgstr "不是一个有效对象:%s" -#: builtin/merge.c:339 builtin/merge.c:356 +#: builtin/merge.c:340 builtin/merge.c:357 msgid "read-tree failed" msgstr "读取树失败" # 译者:注意保持前导空格 -#: builtin/merge.c:386 +#: builtin/merge.c:387 msgid " (nothing to squash)" msgstr " (无可压缩)" -#: builtin/merge.c:397 +#: builtin/merge.c:398 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "压缩提交 -- 未更新 HEAD\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "无合并信息 -- 未更新 HEAD\n" -#: builtin/merge.c:498 +#: builtin/merge.c:499 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' 没有指向一个提交" -#: builtin/merge.c:585 +#: builtin/merge.c:586 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "坏的 branch.%s.mergeoptions 字符串:%s" @@ -14949,72 +15977,72 @@ msgid "" "the commit.\n" msgstr "以 '%c' 开始的行将被忽略,而空的提交说明将终止提交。\n" -#: builtin/merge.c:853 +#: builtin/merge.c:865 msgid "Empty commit message." msgstr "空提交信息。" -#: builtin/merge.c:872 +#: builtin/merge.c:880 #, c-format msgid "Wonderful.\n" msgstr "太棒了。\n" -#: builtin/merge.c:933 +#: builtin/merge.c:941 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "自动合并失败,修正冲突然后提交修正的结果。\n" -#: builtin/merge.c:972 +#: builtin/merge.c:980 msgid "No current branch." msgstr "没有当前分支。" -#: builtin/merge.c:974 +#: builtin/merge.c:982 msgid "No remote for the current branch." msgstr "当前分支没有对应的远程仓库。" -#: builtin/merge.c:976 +#: builtin/merge.c:984 msgid "No default upstream defined for the current branch." msgstr "当前分支没有定义默认的上游分支。" -#: builtin/merge.c:981 +#: builtin/merge.c:989 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "对于 %s 没有来自 %s 的远程跟踪分支" -#: builtin/merge.c:1038 +#: builtin/merge.c:1046 #, c-format msgid "Bad value '%s' in environment '%s'" msgstr "环境 '%2$s' 中存在坏的取值 '%1$s'" -#: builtin/merge.c:1141 +#: builtin/merge.c:1149 #, c-format msgid "not something we can merge in %s: %s" msgstr "不能在 %s 中合并:%s" -#: builtin/merge.c:1175 +#: builtin/merge.c:1183 msgid "not something we can merge" msgstr "不能合并" -#: builtin/merge.c:1278 +#: builtin/merge.c:1286 msgid "--abort expects no arguments" msgstr "--abort 不带参数" -#: builtin/merge.c:1282 +#: builtin/merge.c:1290 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "没有要终止的合并(MERGE_HEAD 丢失)。" -#: builtin/merge.c:1291 +#: builtin/merge.c:1299 msgid "--quit expects no arguments" msgstr "--quit 不带参数" -#: builtin/merge.c:1304 +#: builtin/merge.c:1312 msgid "--continue expects no arguments" msgstr "--continue 不带参数" -#: builtin/merge.c:1308 +#: builtin/merge.c:1316 msgid "There is no merge in progress (MERGE_HEAD missing)." msgstr "没有进行中的合并(MERGE_HEAD 丢失)。" -#: builtin/merge.c:1324 +#: builtin/merge.c:1332 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15022,7 +16050,7 @@ msgstr "" "您尚未结束您的合并(存在 MERGE_HEAD)。\n" "请在合并前先提交您的修改。" -#: builtin/merge.c:1331 +#: builtin/merge.c:1339 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -15030,96 +16058,96 @@ msgstr "" "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。\n" "请在合并前先提交您的修改。" -#: builtin/merge.c:1334 +#: builtin/merge.c:1342 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "您尚未结束您的拣选(存在 CHERRY_PICK_HEAD)。" -#: builtin/merge.c:1348 +#: builtin/merge.c:1356 msgid "You cannot combine --squash with --no-ff." msgstr "您不能将 --squash 和 --no-ff 组合使用。" -#: builtin/merge.c:1350 +#: builtin/merge.c:1358 msgid "You cannot combine --squash with --commit." msgstr "您不能将 --squash 和 --commit 组合使用。" -#: builtin/merge.c:1366 +#: builtin/merge.c:1374 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "未指定提交并且 merge.defaultToUpstream 未设置。" -#: builtin/merge.c:1383 +#: builtin/merge.c:1391 msgid "Squash commit into empty head not supported yet" msgstr "尚不支持到空分支的压缩提交" -#: builtin/merge.c:1385 +#: builtin/merge.c:1393 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "到空分支的非快进式提交没有意义" -#: builtin/merge.c:1390 +#: builtin/merge.c:1398 #, c-format msgid "%s - not something we can merge" msgstr "%s - 不能被合并" -#: builtin/merge.c:1392 +#: builtin/merge.c:1400 msgid "Can merge only exactly one commit into empty head" msgstr "只能将一个提交合并到空分支上" -#: builtin/merge.c:1471 +#: builtin/merge.c:1481 msgid "refusing to merge unrelated histories" msgstr "拒绝合并无关的历史" -#: builtin/merge.c:1480 +#: builtin/merge.c:1490 msgid "Already up to date." msgstr "已经是最新的。" -#: builtin/merge.c:1490 +#: builtin/merge.c:1500 #, c-format msgid "Updating %s..%s\n" msgstr "更新 %s..%s\n" -#: builtin/merge.c:1532 +#: builtin/merge.c:1542 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "尝试非常小的索引内合并...\n" -#: builtin/merge.c:1539 +#: builtin/merge.c:1549 #, c-format msgid "Nope.\n" msgstr "无。\n" -#: builtin/merge.c:1564 +#: builtin/merge.c:1574 msgid "Already up to date. Yeeah!" msgstr "已经是最新的。耶!" -#: builtin/merge.c:1570 +#: builtin/merge.c:1580 msgid "Not possible to fast-forward, aborting." msgstr "无法快进,终止。" -#: builtin/merge.c:1593 builtin/merge.c:1658 +#: builtin/merge.c:1603 builtin/merge.c:1668 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "将树回滚至原始状态...\n" -#: builtin/merge.c:1597 +#: builtin/merge.c:1607 #, c-format msgid "Trying merge strategy %s...\n" msgstr "尝试合并策略 %s...\n" -#: builtin/merge.c:1649 +#: builtin/merge.c:1659 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "没有合并策略处理此合并。\n" -#: builtin/merge.c:1651 +#: builtin/merge.c:1661 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "使用策略 %s 合并失败。\n" -#: builtin/merge.c:1660 +#: builtin/merge.c:1670 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "使用 %s 以准备手工解决。\n" -#: builtin/merge.c:1672 +#: builtin/merge.c:1682 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "自动合并进展顺利,按要求在提交前停止\n" @@ -15204,33 +16232,33 @@ msgstr "不要警告冲突" msgid "set labels for file1/orig-file/file2" msgstr "为 文件1/初始文件/文件2 设置标签" -#: builtin/merge-recursive.c:46 +#: builtin/merge-recursive.c:47 #, c-format msgid "unknown option %s" msgstr "未知选项 %s" -#: builtin/merge-recursive.c:52 +#: builtin/merge-recursive.c:53 #, c-format msgid "could not parse object '%s'" msgstr "不能解析对象 '%s'" -#: builtin/merge-recursive.c:56 +#: builtin/merge-recursive.c:57 #, c-format msgid "cannot handle more than %d base. Ignoring %s." msgid_plural "cannot handle more than %d bases. Ignoring %s." msgstr[0] "无法处理 %d 条以上的基线。忽略 %s。" msgstr[1] "无法处理 %d 条以上的基线。忽略 %s。" -#: builtin/merge-recursive.c:64 +#: builtin/merge-recursive.c:65 msgid "not handling anything other than two heads merge." msgstr "不能处理两个头合并之外的任何操作。" -#: builtin/merge-recursive.c:70 builtin/merge-recursive.c:72 +#: builtin/merge-recursive.c:74 builtin/merge-recursive.c:76 #, c-format msgid "could not resolve ref '%s'" msgstr "无法解析引用 '%s'" -#: builtin/merge-recursive.c:78 +#: builtin/merge-recursive.c:82 #, c-format msgid "Merging %s with %s\n" msgstr "合并 %s 和 %s\n" @@ -15253,31 +16281,31 @@ msgstr "允许创建一个以上的树" #: builtin/multi-pack-index.c:9 msgid "" -"git multi-pack-index [--object-dir=] (write|verify|expire|repack --" -"batch-size=)" +"git multi-pack-index [] (write|verify|expire|repack --batch-" +"size=)" msgstr "" -"git multi-pack-index [--object-dir=<目录>] (write|verify|expire|repack --" -"batch-size=<大小>)" +"git multi-pack-index [<选项>] (write|verify|expire|repack --batch-size=<大小" +">)" -#: builtin/multi-pack-index.c:23 +#: builtin/multi-pack-index.c:26 msgid "object directory containing set of packfile and pack-index pairs" msgstr "包含成对包文件和包索引的对象目录" -#: builtin/multi-pack-index.c:25 +#: builtin/multi-pack-index.c:29 msgid "" "during repack, collect pack-files of smaller size into a batch that is " "larger than this size" msgstr "在 repack 期间,将较小尺寸的包文件收集到大于此大小的批次中" -#: builtin/multi-pack-index.c:43 builtin/prune-packed.c:67 +#: builtin/multi-pack-index.c:50 builtin/prune-packed.c:67 msgid "too many arguments" msgstr "太多参数" -#: builtin/multi-pack-index.c:52 +#: builtin/multi-pack-index.c:60 msgid "--batch-size option is only for 'repack' subcommand" msgstr "--batch-size 选项仅用于 'repack' 子命令" -#: builtin/multi-pack-index.c:61 +#: builtin/multi-pack-index.c:69 #, c-format msgid "unrecognized subcommand: %s" msgstr "未识别的子命令:%s" @@ -15369,52 +16397,52 @@ msgstr "%s,源=%s,目标=%s" msgid "Renaming %s to %s\n" msgstr "重命名 %s 至 %s\n" -#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510 +#: builtin/mv.c:277 builtin/remote.c:781 builtin/repack.c:518 #, c-format msgid "renaming '%s' failed" msgstr "重命名 '%s' 失败" -#: builtin/name-rev.c:352 +#: builtin/name-rev.c:465 msgid "git name-rev [] ..." msgstr "git name-rev [<选项>] <提交>..." -#: builtin/name-rev.c:353 +#: builtin/name-rev.c:466 msgid "git name-rev [] --all" msgstr "git name-rev [<选项>] --all" -#: builtin/name-rev.c:354 +#: builtin/name-rev.c:467 msgid "git name-rev [] --stdin" msgstr "git name-rev [<选项>] --stdin" -#: builtin/name-rev.c:411 +#: builtin/name-rev.c:524 msgid "print only names (no SHA-1)" msgstr "只打印名称(无 SHA-1)" -#: builtin/name-rev.c:412 +#: builtin/name-rev.c:525 msgid "only use tags to name the commits" msgstr "只使用标签来命名提交" -#: builtin/name-rev.c:414 +#: builtin/name-rev.c:527 msgid "only use refs matching " msgstr "只使用和 <模式> 相匹配的引用" -#: builtin/name-rev.c:416 +#: builtin/name-rev.c:529 msgid "ignore refs matching " msgstr "忽略和 <模式> 相匹配的引用" -#: builtin/name-rev.c:418 +#: builtin/name-rev.c:531 msgid "list all commits reachable from all refs" msgstr "列出可以从所有引用访问的提交" -#: builtin/name-rev.c:419 +#: builtin/name-rev.c:532 msgid "read from stdin" msgstr "从标准输入读取" -#: builtin/name-rev.c:420 +#: builtin/name-rev.c:533 msgid "allow to print `undefined` names (default)" msgstr "允许打印 `未定义` 的名称(默认)" -#: builtin/name-rev.c:426 +#: builtin/name-rev.c:539 msgid "dereference tags in the input (internal use)" msgstr "反向解析输入中的标签(内部使用)" @@ -15801,7 +16829,7 @@ msgstr "尝试删除不存在的注解不是一个错误" msgid "read object names from the standard input" msgstr "从标准输入读取对象名称" -#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:165 +#: builtin/notes.c:954 builtin/prune.c:130 builtin/worktree.c:164 msgid "do not remove, show only" msgstr "不删除,只显示" @@ -15817,7 +16845,7 @@ msgstr "注解引用" msgid "use notes from " msgstr "从 <注解引用> 使用注解" -#: builtin/notes.c:1034 builtin/stash.c:1598 +#: builtin/notes.c:1034 builtin/stash.c:1643 #, c-format msgid "unknown subcommand: %s" msgstr "未知子命令:%s" @@ -15832,124 +16860,101 @@ msgid "" "git pack-objects [...] [< | < ]" msgstr "git pack-objects [<选项>...] <前缀名称> [< <引用列表> | < <对象列表>]" -#: builtin/pack-objects.c:428 +#: builtin/pack-objects.c:430 #, c-format msgid "bad packed object CRC for %s" msgstr "%s 错的包对象 CRC" -#: builtin/pack-objects.c:439 +#: builtin/pack-objects.c:441 #, c-format msgid "corrupt packed object for %s" msgstr "%s 损坏的包对象" -#: builtin/pack-objects.c:570 +#: builtin/pack-objects.c:572 #, c-format msgid "recursive delta detected for object %s" msgstr "发现对象 %s 递归 delta" -#: builtin/pack-objects.c:781 +#: builtin/pack-objects.c:783 #, c-format msgid "ordered %u objects, expected %" msgstr "排序了 %u 个对象,预期 % 个" -#: builtin/pack-objects.c:794 -#, c-format -msgid "packfile is invalid: %s" -msgstr "无效的包文件:%s" - -#: builtin/pack-objects.c:798 -#, c-format -msgid "unable to open packfile for reuse: %s" -msgstr "无法为重用打开包文件:%s" - -#: builtin/pack-objects.c:802 -msgid "unable to seek in reused packfile" -msgstr "无法在重用的包文件中查找" - -#: builtin/pack-objects.c:813 -msgid "unable to read from reused packfile" -msgstr "无法读取索引文件" - -#: builtin/pack-objects.c:841 +#: builtin/pack-objects.c:972 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" msgstr "禁用 bitmap 写入,因为 pack.packSizeLimit 设置使得包被切分为多个" -#: builtin/pack-objects.c:854 +#: builtin/pack-objects.c:985 msgid "Writing objects" msgstr "写入对象中" -#: builtin/pack-objects.c:917 builtin/update-index.c:89 +#: builtin/pack-objects.c:1046 builtin/update-index.c:90 #, c-format msgid "failed to stat %s" msgstr "对 %s 调用 stat 失败" -#: builtin/pack-objects.c:970 +#: builtin/pack-objects.c:1099 #, c-format msgid "wrote % objects while expecting %" msgstr "写入 % 个对象而预期 % 个" -#: builtin/pack-objects.c:1166 +#: builtin/pack-objects.c:1297 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "禁用 bitmap 写入,因为一些对象将不会被打包" -#: builtin/pack-objects.c:1597 +#: builtin/pack-objects.c:1724 #, c-format msgid "delta base offset overflow in pack for %s" msgstr "%s 压缩中 delta 基准偏移越界" -#: builtin/pack-objects.c:1606 +#: builtin/pack-objects.c:1733 #, c-format msgid "delta base offset out of bound for %s" msgstr "%s 的 delta 基准偏移越界" -#: builtin/pack-objects.c:1875 +#: builtin/pack-objects.c:2004 msgid "Counting objects" msgstr "对象计数中" -#: builtin/pack-objects.c:2005 -#, c-format -msgid "unable to get size of %s" -msgstr "不能得到 %s 的大小" - -#: builtin/pack-objects.c:2020 +#: builtin/pack-objects.c:2149 #, c-format msgid "unable to parse object header of %s" msgstr "无法解析对象 %s 头信息" -#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106 -#: builtin/pack-objects.c:2116 +#: builtin/pack-objects.c:2219 builtin/pack-objects.c:2235 +#: builtin/pack-objects.c:2245 #, c-format msgid "object %s cannot be read" msgstr "对象 %s 无法读取" -#: builtin/pack-objects.c:2093 builtin/pack-objects.c:2120 +#: builtin/pack-objects.c:2222 builtin/pack-objects.c:2249 #, c-format msgid "object %s inconsistent object length (% vs %)" msgstr "对象 %s 不一致的对象长度(% vs %)" -#: builtin/pack-objects.c:2130 +#: builtin/pack-objects.c:2259 msgid "suboptimal pack - out of memory" msgstr "次优(suboptimal)打包 - 内存不足" -#: builtin/pack-objects.c:2456 +#: builtin/pack-objects.c:2574 #, c-format msgid "Delta compression using up to %d threads" msgstr "使用 %d 个线程进行压缩" -#: builtin/pack-objects.c:2588 +#: builtin/pack-objects.c:2713 #, c-format msgid "unable to pack objects reachable from tag %s" msgstr "无法为标签 %s 压缩对象" -#: builtin/pack-objects.c:2675 +#: builtin/pack-objects.c:2801 msgid "Compressing objects" msgstr "压缩对象中" -#: builtin/pack-objects.c:2681 +#: builtin/pack-objects.c:2807 msgid "inconsistency with delta count" msgstr "不一致的差异计数" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2888 #, c-format msgid "" "expected edge object ID, got garbage:\n" @@ -15958,7 +16963,7 @@ msgstr "" "预期边界对象(edge object)ID,却得到垃圾数据:\n" " %s" -#: builtin/pack-objects.c:2768 +#: builtin/pack-objects.c:2894 #, c-format msgid "" "expected object ID, got garbage:\n" @@ -15967,245 +16972,233 @@ msgstr "" "预期对象 ID,却得到垃圾数据:\n" " %s" -#: builtin/pack-objects.c:2866 +#: builtin/pack-objects.c:2992 msgid "invalid value for --missing" msgstr "选项 --missing 的值无效" -#: builtin/pack-objects.c:2925 builtin/pack-objects.c:3033 +#: builtin/pack-objects.c:3051 builtin/pack-objects.c:3159 msgid "cannot open pack index" msgstr "无法打开包文件索引" -#: builtin/pack-objects.c:2956 +#: builtin/pack-objects.c:3082 #, c-format msgid "loose object at %s could not be examined" msgstr "无法检查 %s 处的松散对象" -#: builtin/pack-objects.c:3041 +#: builtin/pack-objects.c:3167 msgid "unable to force loose object" msgstr "无法强制松散对象" -#: builtin/pack-objects.c:3133 +#: builtin/pack-objects.c:3260 #, c-format msgid "not a rev '%s'" msgstr "不是一个版本 '%s'" -#: builtin/pack-objects.c:3136 +#: builtin/pack-objects.c:3263 #, c-format msgid "bad revision '%s'" msgstr "坏的版本 '%s'" -#: builtin/pack-objects.c:3161 +#: builtin/pack-objects.c:3288 msgid "unable to add recent objects" msgstr "无法添加最近的对象" -#: builtin/pack-objects.c:3214 +#: builtin/pack-objects.c:3341 #, c-format msgid "unsupported index version %s" msgstr "不支持的索引版本 %s" -#: builtin/pack-objects.c:3218 +#: builtin/pack-objects.c:3345 #, c-format msgid "bad index version '%s'" msgstr "坏的索引版本 '%s'" -#: builtin/pack-objects.c:3248 -msgid "do not show progress meter" -msgstr "不显示进度表" - -#: builtin/pack-objects.c:3250 -msgid "show progress meter" -msgstr "显示进度表" - -#: builtin/pack-objects.c:3252 -msgid "show progress meter during object writing phase" -msgstr "在对象写入阶段显示进度表" - -#: builtin/pack-objects.c:3255 -msgid "similar to --all-progress when progress meter is shown" -msgstr "当进度表显示时类似于 --all-progress" - -#: builtin/pack-objects.c:3256 +#: builtin/pack-objects.c:3383 msgid "[,]" msgstr "<版本>[,<偏移>]" -#: builtin/pack-objects.c:3257 +#: builtin/pack-objects.c:3384 msgid "write the pack index file in the specified idx format version" msgstr "用指定的 idx 格式版本来写包索引文件" -#: builtin/pack-objects.c:3260 +#: builtin/pack-objects.c:3387 msgid "maximum size of each output pack file" msgstr "每个输出包的最大尺寸" -#: builtin/pack-objects.c:3262 +#: builtin/pack-objects.c:3389 msgid "ignore borrowed objects from alternate object store" msgstr "忽略从备用对象存储里借用对象" -#: builtin/pack-objects.c:3264 +#: builtin/pack-objects.c:3391 msgid "ignore packed objects" msgstr "忽略包对象" -#: builtin/pack-objects.c:3266 +#: builtin/pack-objects.c:3393 msgid "limit pack window by objects" msgstr "限制打包窗口的对象数" -#: builtin/pack-objects.c:3268 +#: builtin/pack-objects.c:3395 msgid "limit pack window by memory in addition to object limit" msgstr "除对象数量限制外设置打包窗口的内存限制" -#: builtin/pack-objects.c:3270 +#: builtin/pack-objects.c:3397 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "打包允许的 delta 链的最大长度" -#: builtin/pack-objects.c:3272 +#: builtin/pack-objects.c:3399 msgid "reuse existing deltas" msgstr "重用已存在的 deltas" -#: builtin/pack-objects.c:3274 +#: builtin/pack-objects.c:3401 msgid "reuse existing objects" msgstr "重用已存在的对象" -#: builtin/pack-objects.c:3276 +#: builtin/pack-objects.c:3403 msgid "use OFS_DELTA objects" msgstr "使用 OFS_DELTA 对象" -#: builtin/pack-objects.c:3278 +#: builtin/pack-objects.c:3405 msgid "use threads when searching for best delta matches" msgstr "使用线程查询最佳 delta 匹配" -#: builtin/pack-objects.c:3280 +#: builtin/pack-objects.c:3407 msgid "do not create an empty pack output" msgstr "不创建空的包输出" -#: builtin/pack-objects.c:3282 +#: builtin/pack-objects.c:3409 msgid "read revision arguments from standard input" msgstr "从标准输入读取版本号参数" -#: builtin/pack-objects.c:3284 +#: builtin/pack-objects.c:3411 msgid "limit the objects to those that are not yet packed" msgstr "限制那些尚未打包的对象" -#: builtin/pack-objects.c:3287 +#: builtin/pack-objects.c:3414 msgid "include objects reachable from any reference" msgstr "包括可以从任何引用访问到的对象" -#: builtin/pack-objects.c:3290 +#: builtin/pack-objects.c:3417 msgid "include objects referred by reflog entries" msgstr "包括被引用日志引用到的对象" -#: builtin/pack-objects.c:3293 +#: builtin/pack-objects.c:3420 msgid "include objects referred to by the index" msgstr "包括被索引引用到的对象" -#: builtin/pack-objects.c:3296 +#: builtin/pack-objects.c:3423 msgid "output pack to stdout" msgstr "输出包到标准输出" -#: builtin/pack-objects.c:3298 +#: builtin/pack-objects.c:3425 msgid "include tag objects that refer to objects to be packed" msgstr "包括那些引用了待打包对象的标签对象" -#: builtin/pack-objects.c:3300 +#: builtin/pack-objects.c:3427 msgid "keep unreachable objects" msgstr "维持不可达的对象" -#: builtin/pack-objects.c:3302 +#: builtin/pack-objects.c:3429 msgid "pack loose unreachable objects" msgstr "打包松散的不可达对象" -#: builtin/pack-objects.c:3304 +#: builtin/pack-objects.c:3431 msgid "unpack unreachable objects newer than