about summary refs log tree commit diff
path: root/po/de.po
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2020-05-22T16·46+0100
committerVincent Ambo <tazjin@google.com>2020-05-22T16·46+0100
commit8518a7a51faaf50f830646d4c3585f51236b9349 (patch)
tree4c7b9b1b1c22e457fbfa28ec64f33a0a469ebc02 /po/de.po
parent1b593e1ea4d2af0f6444d9a7788d5d99abd6fde5 (diff)
Squashed 'third_party/git/' changes from 5fa0f5238b..ef7aa56f96
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 <pathspec> 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.<name>.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 <path>
70789843bd t6025: modernize style
6a7aca6f01 doc: rm: synchronize <pathspec> 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 <pathspec> description
8ea1189eac doc: checkout: synchronize <pathspec> 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 <pathspec> description
64bac8df97 reset: support the `--pathspec-from-file` option
d137b50756 doc: reset: synchronize <pathspec> 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=<n> 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=<oid> filter
83b0b8953e doc-diff: replace --cut-header-footer with --cut-footer
7a30134358 asciidoctor-extensions: provide `<refmiscinfo/>`
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.<name>.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 <pattern>
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=<non-utf8>"
4e2443b181 log tests: test regex backends in "--encode=<enc>" 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
Diffstat (limited to 'po/de.po')
-rw-r--r--po/de.po8942
1 files changed, 4910 insertions, 4032 deletions
diff --git a/po/de.po b/po/de.po
index 6d80cfb158a0..cfe50c1055ac 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,15 +1,15 @@
 # German translations for Git.
 # Copyright (C) 2019 Matthias Rüster <matthias.ruester@gmail.com>
 # This file is distributed under the same license as the Git package.
-# Matthias Rüster <matthias.ruester@gmail.com>, 2019.
+# Matthias Rüster <matthias.ruester@gmail.com>, 2019-2020.
 # Ralf Thielow <ralf.thielow@gmail.com>, 2010-2019.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2019-08-10 20:12+0800\n"
-"PO-Revision-Date: 2016-11-28 18:10+0100\n"
+"POT-Creation-Date: 2020-03-11 15:26+0800\n"
+"PO-Revision-Date: 2020-03-14 22:34+0100\n"
 "Last-Translator: Matthias Rüster <matthias.ruester@gmail.com>\n"
 "Language-Team: Matthias Rüster <matthias.ruester@gmail.com>\n"
 "Language: de\n"
@@ -18,43 +18,748 @@ 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 "Wie bitte (%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 "Index konnte nicht gelesen werden"
+
+#: add-interactive.c:576 git-add--interactive.perl:269
+#: git-add--interactive.perl:294
+msgid "binary"
+msgstr "Binär"
+
+#: add-interactive.c:634 git-add--interactive.perl:278
+#: git-add--interactive.perl:332
+msgid "nothing"
+msgstr "Nichts"
+
+#: add-interactive.c:635 git-add--interactive.perl:314
+#: git-add--interactive.perl:329
+msgid "unchanged"
+msgstr "unverändert"
+
+#: add-interactive.c:672 git-add--interactive.perl:643
+msgid "Update"
+msgstr "Aktualisieren"
+
+#: add-interactive.c:689 add-interactive.c:877
+#, c-format
+msgid "could not stage '%s'"
+msgstr "Konnte '%s' nicht zum Commit vormerken."
+
+#: add-interactive.c:695 add-interactive.c:884 sequencer.c:3317
+#: builtin/rebase.c:899
+msgid "could not write index"
+msgstr "Konnte Index nicht schreiben."
+
+#: 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 Pfad aktualisiert\n"
+msgstr[1] "%d Pfade aktualisiert\n"
+
+#: add-interactive.c:716 git-add--interactive.perl:678
+#, c-format, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "Hinweis: %s ist nun unversioniert.\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 "make_cache_entry für Pfad '%s' fehlgeschlagen"
+
+#: add-interactive.c:751 git-add--interactive.perl:655
+msgid "Revert"
+msgstr "Revert"
+
+#: add-interactive.c:767
+msgid "Could not parse HEAD^{tree}"
+msgstr "Konnte HEAD^{tree} nicht parsen."
+
+#: 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 Pfad wiederhergestellt\n"
+msgstr[1] "%d Pfade wiederhergestellt\n"
+
+#: add-interactive.c:856 git-add--interactive.perl:695
+#, c-format
+msgid "No untracked files.\n"
+msgstr "Keine unversionierten Dateien.\n"
+
+#: add-interactive.c:860 git-add--interactive.perl:689
+msgid "Add untracked"
+msgstr "unversionierte Dateien hinzufügen"
+
+#: 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 Pfad hinzugefügt\n"
+msgstr[1] "%d Pfade hinzugefügt\n"
+
+#: add-interactive.c:917
+#, c-format
+msgid "ignoring unmerged: %s"
+msgstr "Ignoriere nicht zusammengeführte Datei: %s"
+
+#: add-interactive.c:929 add-patch.c:1675 git-add--interactive.perl:1366
+#, c-format
+msgid "Only binary files changed.\n"
+msgstr "Nur Binärdateien geändert.\n"
+
+#: add-interactive.c:931 add-patch.c:1673 git-add--interactive.perl:1368
+#, c-format
+msgid "No changes.\n"
+msgstr "Keine Änderungen.\n"
+
+#: add-interactive.c:935 git-add--interactive.perl:1376
+msgid "Patch update"
+msgstr "Patch Aktualisierung"
+
+#: add-interactive.c:974 git-add--interactive.perl:1754
+msgid "Review diff"
+msgstr "Diff überprüfen"
+
+#: add-interactive.c:1002
+msgid "show paths with changes"
+msgstr "Zeige Pfade mit Änderungen"
+
+#: add-interactive.c:1004
+msgid "add working tree state to the staged set of changes"
+msgstr "Zustand des Arbeitsverzeichnisses zum Commit vormerken"
+
+#: add-interactive.c:1006
+msgid "revert staged set of changes back to the HEAD version"
+msgstr "Zum Commit vorgemerkte Änderungen auf HEAD-Version zurücksetzen"
+
+#: add-interactive.c:1008
+msgid "pick hunks and update selectively"
+msgstr "Blöcke und Änderung gezielt auswählen"
+
+#: add-interactive.c:1010
+msgid "view diff between HEAD and index"
+msgstr "Differenz zwischen HEAD und Index ansehen"
+
+#: add-interactive.c:1012
+msgid "add contents of untracked files to the staged set of changes"
+msgstr "Inhalte von unversionierten Dateien zum Commit vormerken"
+
+#: add-interactive.c:1020 add-interactive.c:1069
+msgid "Prompt help:"
+msgstr "Hilfe für Eingaben:"
+
+#: add-interactive.c:1022
+msgid "select a single item"
+msgstr "Ein einzelnes Element auswählen"
+
+#: add-interactive.c:1024
+msgid "select a range of items"
+msgstr "Eine Reihe von Elementen auswählen"
+
+#: add-interactive.c:1026
+msgid "select multiple ranges"
+msgstr "Mehrere Reihen auswählen"
+
+#: add-interactive.c:1028 add-interactive.c:1073
+msgid "select item based on unique prefix"
+msgstr "Element basierend auf eindeutigen Präfix auswählen"
+
+#: add-interactive.c:1030
+msgid "unselect specified items"
+msgstr "Angegebene Elemente abwählen"
+
+#: add-interactive.c:1032
+msgid "choose all items"
+msgstr "Alle Elemente auswählen"
+
+#: add-interactive.c:1034
+msgid "(empty) finish selecting"
+msgstr "(leer) Auswählen beenden"
+
+#: add-interactive.c:1071
+msgid "select a numbered item"
+msgstr "Ein nummeriertes Element auswählen"
+
+#: add-interactive.c:1075
+msgid "(empty) select nothing"
+msgstr "(leer) nichts auswählen"
+
+#: add-interactive.c:1083 builtin/clean.c:822 git-add--interactive.perl:1851
+msgid "*** Commands ***"
+msgstr "*** Befehle ***"
+
+#: add-interactive.c:1084 builtin/clean.c:823 git-add--interactive.perl:1848
+msgid "What now"
+msgstr "Was nun"
+
+#: add-interactive.c:1136 git-add--interactive.perl:213
+msgid "staged"
+msgstr "zur Staging-Area hinzugefügt"
+
+#: add-interactive.c:1136 git-add--interactive.perl:213
+msgid "unstaged"
+msgstr "aus Staging-Area entfernt"
+
+#: 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 "Pfad"
+
+#: add-interactive.c:1143
+msgid "could not refresh index"
+msgstr "Index konnte nicht aktualisiert werden"
+
+#: add-interactive.c:1157 builtin/clean.c:787 git-add--interactive.perl:1765
+#, c-format
+msgid "Bye.\n"
+msgstr "Tschüss.\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 "Modusänderung der Staging-Area hinzufügen [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 "Löschung der Staging-Area hinzufügen [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 "Diesen Patch-Block der Staging-Area hinzufügen [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 ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete "
+"Patch-Block direkt für die Staging-Area markiert."
+
+#: 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 - diesen Patch-Block zum Commit vormerken\n"
+"n - diesen Patch-Block nicht zum Commit vormerken\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht zum Commit "
+"vormerken\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei zum Commit vormerken\n"
+"d - diesen oder alle weiteren Patch-Blöcke in dieser Datei nicht zum Commit "
+"vormerken\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 "Modusänderung stashen [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 "Löschung stashen [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 "Diesen Patch-Block stashen [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 ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete "
+"Patch-Block direkt zum Stashen markiert."
+
+#: 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 - diesen Patch-Block stashen\n"
+"n - diesen Patch-Block nicht stashen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht stashen\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei stashen\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht stashen\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 "Modusänderung aus der Staging-Area entfernen [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 "Löschung aus der Staging-Area entfernen [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 "Diesen Patch-Block aus der Staging-Area entfernen [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 ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete "
+"Patch-Block direkt zum Entfernen aus der Staging-Area markiert."
+
+#: 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 - diesen Patch-Block aus Staging-Area entfernen\n"
+"n - diesen Patch-Block nicht aus Staging-Area entfernen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht aus Staging-"
+"Area entfernen\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei aus Staging-Area "
+"entfernen\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht aus Staging-"
+"Area entfernen\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 "Modusänderung auf Index anwenden [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 "Löschung auf Index anwenden [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 "Diesen Patch-Block auf Index anwenden [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 "Wenn der Patch sauber angewendet werden kann, wird der bearbeitete "
+"Patch-Block direkt zum Anwenden markiert."
+
+#: 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 - diesen Patch-Block auf den Index anwenden\n"
+"n - diesen Patch-Block nicht auf den Index anwenden\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht auf den Index "
+"anwenden\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei auf den Index "
+"anwenden\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht auf den Index "
+"anwenden\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 "Modusänderung im Arbeitsverzeichnis verwerfen [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 "Löschung im Arbeitsverzeichnis verwerfen [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 "Diesen Patch-Block im Arbeitsverzeichnis verwerfen [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 ""
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete "
+"Patch-Block direkt zum Verwerfen markiert."
+
+#: 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 - diesen Patch-Block im Arbeitsverzeichnis verwerfen\n"
+"n - diesen Patch-Block im Arbeitsverzeichnis nicht verwerfen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht im "
+"Arbeitsverzeichnis verwerfen\n"
+"a - diesen und alle weiteren Patch-Blöcke dieser Datei im Arbeitsverzeichnis "
+"verwerfen\n"
+"d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht im "
+"Arbeitsverzeichnis verwerfen\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 ""
+"Modusänderung vom Index und Arbeitsverzeichnis verwerfen [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 "Löschung vom Index und Arbeitsverzeichnis verwerfen [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 ""
+"Diesen Patch-Block vom Index und Arbeitsverzeichnis verwerfen [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 - diesen Patch-Block im Index und Arbeitsverzeichnis verwerfen\n"
+"n - diesen Patch-Block nicht im Index und Arbeitsverzeichnis verwerfen\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht verwerfen\n"
+"a - diesen und alle weiteren Patch-Blöcke in der Datei verwerfen\n"
+"d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht verwerfen\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 ""
+"Modusänderung auf Index und Arbeitsverzeichnis anwenden [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 "Löschung auf Index und Arbeitsverzeichnis anwenden [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 ""
+"Diesen Patch-Block auf Index und Arbeitsverzeichnis anwenden [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 - diesen Patch-Block im Index und auf das Arbeitsverzeichnis anwenden\n"
+"n - diesen Patch-Block nicht im Index und auf das Arbeitsverzeichnis "
+"anwenden\n"
+"q - Beenden; diesen oder alle verbleibenden Patch-Blöcke nicht anwenden\n"
+"a - diesen und alle weiteren Patch-Blöcke in der Datei anwenden\n"
+"d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht anwenden\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 - diesen Patch-Block auf das Arbeitsverzeichnis anwenden\n"
+"n - diesen Patch-Block nicht auf das Arbeitsverzeichnis anwenden\n"
+"q - Beenden; diesen und alle verbleibenden Patch-Blöcke nicht anwenden\n"
+"a - diesen und alle weiteren Patch-Blöcke in der Datei anwenden\n"
+"d - diesen und alle weiteren Patch-Blöcke in der Datei nicht anwenden\n"
+
+#: add-patch.c:318
+#, c-format
+msgid "could not parse hunk header '%.*s'"
+msgstr "Konnte Block-Header '%.*s' nicht parsen."
+
+#: add-patch.c:337 add-patch.c:341
+#, c-format
+msgid "could not parse colored hunk header '%.*s'"
+msgstr "Konnte farbigen Block-Header '%.*s' nicht parsen."
+
+#: add-patch.c:395
+msgid "could not parse diff"
+msgstr "Konnte Differenz nicht parsen."
+
+#: add-patch.c:414
+msgid "could not parse colored diff"
+msgstr "Konnte farbige Differenz nicht parsen."
+
+#: add-patch.c:428
+#, c-format
+msgid "failed to run '%s'"
+msgstr "'%s' konnte nicht ausgeführt werden"
+
+#: add-patch.c:587
+msgid "mismatched output from interactive.diffFilter"
+msgstr "nicht übereinstimmende Ausgabe von interactive.diffFilter"
+
+#: add-patch.c:588
+msgid ""
+"Your filter must maintain a one-to-one correspondence\n"
+"between its input and output lines."
+msgstr ""
+"Der Filter muss eine Eins-zu-Eins-Beziehung\n"
+"zwischen den Ein- und Ausgabe-Zeilen einhalten."
+
+#: add-patch.c:761
+#, c-format
+msgid ""
+"expected context line #%d in\n"
+"%.*s"
+msgstr ""
+"Erwartete Kontextzeile #%d in\n"
+"%.*s"
+
+#: add-patch.c:776
+#, c-format
+msgid ""
+"hunks do not overlap:\n"
+"%.*s\n"
+"\tdoes not end with:\n"
+"%.*s"
+msgstr ""
+"Patch-Blöcke überlappen sich nicht:\n"
+"%.*s\n"
+"\tendet nicht mit:\n"
+"%.*s"
+
+#: add-patch.c:1052 git-add--interactive.perl:1112
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr ""
+"Manueller Editiermodus für Patch-Blöcke -- siehe nach unten für eine\n"
+"Kurzanleitung.\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"
+"Um '%c' Zeilen zu entfernen, machen Sie aus diesen ' ' Zeilen (Kontext).\n"
+"Um '%c' Zeilen zu entfernen, löschen Sie diese.\n"
+"Zeilen, die mit %c beginnen, werden entfernt.\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 ""
+"Wenn das nicht sauber angewendet werden kann, haben Sie die Möglichkeit\n"
+"einer erneuten Bearbeitung. Wenn alle Zeilen des Patch-Blocks entfernt "
+"werden,\n"
+"wird die Bearbeitung abgebrochen und der Patch-Block bleibt unverändert.\n"
+
+#: add-patch.c:1103
+msgid "could not parse hunk header"
+msgstr "Konnte Block-Header nicht parsen."
+
+#: add-patch.c:1148
+msgid "'git apply --cached' failed"
+msgstr "'git apply --cached' schlug fehl."
+
+#. 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 ""
+"Ihr bearbeiteter Patch-Block kann nicht angewendet werden.\n"
+"Erneut bearbeiten? (\"n\" verwirft Bearbeitung!) [y/n]?"
+
+#: add-patch.c:1261
+msgid "The selected hunks do not apply to the index!"
+msgstr ""
+"Die ausgewählten Patch-Blöcke können nicht auf den Index angewendet werden!"
+
+#: add-patch.c:1262 git-add--interactive.perl:1343
+msgid "Apply them to the worktree anyway? "
+msgstr "Trotzdem auf Arbeitsverzeichnis anwenden? "
+
+#: add-patch.c:1269 git-add--interactive.perl:1346
+msgid "Nothing was applied.\n"
+msgstr "Nichts angewendet.\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 - diesen Patch-Block unbestimmt lassen, nächsten unbestimmten Patch-Block "
+"anzeigen\n"
+"J - diesen Patch-Block unbestimmt lassen, nächsten Patch-Block anzeigen\n"
+"k - diesen Patch-Block unbestimmt lassen, vorherigen unbestimmten Patch-"
+"Block anzeigen\n"
+"K - diesen Patch-Block unbestimmt lassen, vorherigen Patch-Block anzeigen\n"
+"g - Patch-Block zum Hinspringen auswählen\n"
+"/ - nach Patch-Block suchen, der gegebenem regulärem Ausdruck entspricht\n"
+"s - aktuellen Patch-Block in kleinere Patch-Blöcke aufteilen\n"
+"e - aktuellen Patch-Block manuell editieren\n"
+"? - Hilfe anzeigen\n"
+
+#: add-patch.c:1447 add-patch.c:1457
+msgid "No previous hunk"
+msgstr "Kein vorheriger Patch-Block"
+
+#: add-patch.c:1452 add-patch.c:1462
+msgid "No next hunk"
+msgstr "Kein folgender Patch-Block"
+
+#: add-patch.c:1468
+msgid "No other hunks to goto"
+msgstr "Keine anderen Patch-Blöcke verbleibend"
+
+#: add-patch.c:1479 git-add--interactive.perl:1577
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "zu welchem Patch-Block springen (<Enter> für mehr Informationen)? "
+
+#: add-patch.c:1480 git-add--interactive.perl:1579
+msgid "go to which hunk? "
+msgstr "zu welchem Patch-Block springen? "
+
+#: add-patch.c:1491
+#, c-format
+msgid "Invalid number: '%s'"
+msgstr "Ungültige Nummer: '%s'"
+
+#: add-patch.c:1496
+#, c-format
+msgid "Sorry, only %d hunk available."
+msgid_plural "Sorry, only %d hunks available."
+msgstr[0] "Entschuldigung, nur %d Patch-Block verfügbar."
+msgstr[1] "Entschuldigung, nur %d Patch-Blöcke verfügbar."
+
+#: add-patch.c:1505
+msgid "No other hunks to search"
+msgstr "Keine anderen Patch-Blöcke zum Durchsuchen"
+
+#: add-patch.c:1511 git-add--interactive.perl:1623
+msgid "search for regex? "
+msgstr "Suche nach regulärem Ausdruck? "
+
+#: add-patch.c:1526
+#, c-format
+msgid "Malformed search regexp %s: %s"
+msgstr "Fehlerhafter regulärer Ausdruck für Suche %s: %s"
+
+#: add-patch.c:1543
+msgid "No hunk matches the given pattern"
+msgstr "Kein Patch-Block entspricht dem angegebenen Muster"
+
+#: add-patch.c:1550
+msgid "Sorry, cannot split this hunk"
+msgstr "Entschuldigung, kann diesen Patch-Block nicht aufteilen"
+
+#: add-patch.c:1554
+#, c-format
+msgid "Split into %d hunks."
+msgstr "In %d Patch-Block aufgeteilt."
+
+#: add-patch.c:1558
+msgid "Sorry, cannot edit this hunk"
+msgstr "Entschuldigung, kann diesen Patch-Block nicht bearbeiten"
+
+#: add-patch.c:1609
+msgid "'git apply' failed"
+msgstr "'git apply' schlug fehl"
+
+#: advice.c:115
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sHinweis: %.*s%s\n"
 
-#: advice.c:162
+#: advice.c:168
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 "Cherry-Picken ist nicht möglich, weil Sie nicht zusammengeführte Dateien "
 "haben."
 
-#: advice.c:164
+#: advice.c:170
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 "Committen ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
 
-#: advice.c:166
+#: advice.c:172
 msgid "Merging is not possible because you have unmerged files."
 msgstr ""
 "Mergen ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
 
-#: advice.c:168
+#: advice.c:174
 msgid "Pulling is not possible because you have unmerged files."
 msgstr ""
 "Pullen ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
 
-#: advice.c:170
+#: advice.c:176
 msgid "Reverting is not possible because you have unmerged files."
 msgstr ""
 "Reverten ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
 
-#: advice.c:172
+#: advice.c:178
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "%s ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
 
-#: advice.c:180
+#: advice.c:186
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm <file>'\n"
 "as appropriate to mark resolution and make a commit."
@@ -63,23 +768,23 @@ msgstr ""
 "dann 'git add/rm <Datei>', um die Auflösung entsprechend zu markieren\n"
 "und zu committen."
 
-#: advice.c:188
+#: advice.c:194
 msgid "Exiting because of an unresolved conflict."
 msgstr "Beende wegen unaufgelöstem Konflikt."
 
-#: 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 "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert)."
 
-#: advice.c:195
+#: advice.c:201
 msgid "Please, commit your changes before merging."
 msgstr "Bitte committen Sie Ihre Änderungen, bevor Sie mergen."
 
-#: advice.c:196
+#: advice.c:202
 msgid "Exiting because of unfinished merge."
 msgstr "Beende wegen nicht abgeschlossenem Merge."
 
-#: advice.c:202
+#: advice.c:208
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -212,17 +917,7 @@ msgstr "Ungültiger Modus in Zeile %d: %s"
 msgid "inconsistent header lines %d and %d"
 msgstr "Inkonsistente Kopfzeilen %d und %d."
 
-#: apply.c:1460
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr "recount: unerwartete Zeile: %.*s"
-
-#: apply.c:1529
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "Patch-Fragment ohne Kopfbereich bei Zeile %d: %.*s"
-
-#: apply.c:1551
+#: apply.c:1372
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -237,72 +932,82 @@ msgstr[1] ""
 "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen, wenn "
 "%d vorangestellte Teile des Pfades entfernt werden (Zeile %d)"
 
-#: apply.c:1564
+#: apply.c:1385
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen (Zeile "
 "%d)"
 
-#: apply.c:1752
+#: apply.c:1481
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr "recount: unerwartete Zeile: %.*s"
+
+#: apply.c:1550
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr "Patch-Fragment ohne Kopfbereich bei Zeile %d: %.*s"
+
+#: apply.c:1753
 msgid "new file depends on old contents"
 msgstr "neue Datei hängt von alten Inhalten ab"
 
-#: apply.c:1754
+#: apply.c:1755
 msgid "deleted file still has contents"
 msgstr "entfernte Datei hat noch Inhalte"
 
-#: apply.c:1788
+#: apply.c:1789
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "fehlerhafter Patch bei Zeile %d"
 
-#: apply.c:1825
+#: apply.c:1826
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "neue Datei %s hängt von alten Inhalten ab"
 
-#: apply.c:1827
+#: apply.c:1828
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "entfernte Datei %s hat noch Inhalte"
 
-#: apply.c:1830
+#: apply.c:1831
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** Warnung: Datei %s wird leer, aber nicht entfernt."
 
-#: apply.c:1977
+#: apply.c:1978
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "fehlerhafter Binär-Patch bei Zeile %d: %.*s"
 
-#: apply.c:2014
+#: apply.c:2015
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "nicht erkannter Binär-Patch bei Zeile %d"
 
-#: apply.c:2176
+#: apply.c:2177
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "Patch mit nutzlosen Informationen bei Zeile %d"
 
-#: apply.c:2262
+#: apply.c:2263
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "konnte symbolische Verknüpfung %s nicht lesen"
 
-#: apply.c:2266
+#: apply.c:2267
 #, c-format
 msgid "unable to open or read %s"
 msgstr "konnte %s nicht öffnen oder lesen"
 
-#: apply.c:2925
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "Ungültiger Zeilenanfang: '%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)."
@@ -310,12 +1015,12 @@ msgstr[0] "Patch-Bereich #%d erfolgreich angewendet bei %d (%d Zeile versetzt)"
 msgstr[1] ""
 "Patch-Bereich #%d erfolgreich angewendet bei %d (%d Zeilen versetzt)"
 
-#: apply.c:3058
+#: apply.c:3069
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Kontext reduziert zu (%ld/%ld), um Patch-Bereich bei %d anzuwenden"
 
-#: apply.c:3064
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -324,25 +1029,25 @@ msgstr ""
 "bei der Suche nach:\n"
 "%.*s"
 
-#: apply.c:3086
+#: apply.c:3097
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "keine Daten in Binär-Patch für '%s'"
 
-#: apply.c:3094
+#: apply.c:3105
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "kann binären Patch nicht in umgekehrter Reihenfolge anwenden ohne einen\n"
 "umgekehrten Patch-Block auf '%s'"
 
-#: apply.c:3141
+#: apply.c:3152
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "kann binären Patch auf '%s' nicht ohne eine vollständige Index-Zeile anwenden"
 
-#: apply.c:3151
+#: apply.c:3163
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
@@ -350,441 +1055,427 @@ msgstr ""
 "der Patch wird angewendet auf '%s' (%s), was nicht den aktuellen Inhalten\n"
 "entspricht"
 
-#: apply.c:3159
+#: apply.c:3171
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "der Patch wird auf ein leeres '%s' angewendet, was aber nicht leer ist"
 
-#: apply.c:3177
+#: apply.c:3189
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "das erforderliche Postimage %s für '%s' kann nicht gelesen werden"
 
-#: apply.c:3190
+#: apply.c:3202
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "Konnte Binär-Patch nicht auf '%s' anwenden"
 
-#: apply.c:3196
+#: apply.c:3209
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "Binär-Patch für '%s' erzeugt falsches Ergebnis (erwartete %s, bekam %s)"
 
-#: apply.c:3217
+#: apply.c:3230
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "Anwendung des Patches fehlgeschlagen: %s:%ld"
 
-#: apply.c:3340
+#: apply.c:3353
 #, c-format
 msgid "cannot checkout %s"
 msgstr "kann %s nicht auschecken"
 
-#: 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 "Fehler beim Lesen von %s"
 
-#: apply.c:3400
+#: apply.c:3413
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "'%s' ist hinter einer symbolischen Verknüpfung"
 
-#: apply.c:3429 apply.c:3672
+#: apply.c:3442 apply.c:3685
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "Pfad %s wurde umbenannt/gelöscht"
 
-#: apply.c:3515 apply.c:3687
+#: apply.c:3528 apply.c:3700
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s ist nicht im Index"
 
-#: apply.c:3524 apply.c:3695
+#: apply.c:3537 apply.c:3708
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s entspricht nicht der Version im Index"
 
-#: apply.c:3559
+#: apply.c:3572
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "Dem Repository fehlt der notwendige Blob, um auf einen 3-Wege-Merge\n"
 "zurückzufallen."
 
-#: apply.c:3562
+#: apply.c:3575
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Falle zurück auf 3-Wege-Merge ...\n"
 
-#: apply.c:3578 apply.c:3582
+#: apply.c:3591 apply.c:3595
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "kann aktuelle Inhalte von '%s' nicht lesen"
 
-#: apply.c:3594
+#: apply.c:3607
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Fehler beim Zurückfallen auf 3-Wege-Merge...\n"
 
-#: apply.c:3608
+#: apply.c:3621
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch auf '%s' mit Konflikten angewendet.\n"
 
-#: apply.c:3613
+#: apply.c:3626
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch auf '%s' sauber angewendet.\n"
 
-#: apply.c:3639
+#: apply.c:3652
 msgid "removal patch leaves file contents"
 msgstr "Lösch-Patch hinterlässt Dateiinhalte"
 
-#: apply.c:3712
+#: apply.c:3725
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s: falscher Typ"
 
-#: apply.c:3714
+#: apply.c:3727
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s ist vom Typ %o, erwartete %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 "Ungültiger Pfad '%s'"
 
-#: apply.c:3923
+#: apply.c:3936
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s ist bereits bereitgestellt"
 
-#: apply.c:3926
+#: apply.c:3939
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s existiert bereits im Arbeitsverzeichnis"
 
-#: apply.c:3946
+#: apply.c:3959
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "neuer Modus (%o) von %s entspricht nicht dem alten Modus (%o)"
 
-#: apply.c:3951
+#: apply.c:3964
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr "neuer Modus (%o) von %s entspricht nicht dem alten Modus (%o) von %s"
 
-#: apply.c:3971
+#: apply.c:3984
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "betroffene Datei '%s' ist hinter einer symbolischen Verknüpfung"
 
-#: apply.c:3975
+#: apply.c:3988
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s: Patch konnte nicht angewendet werden"
 
-#: apply.c:3990
+#: apply.c:4003
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Prüfe Patch %s ..."
 
-#: apply.c:4082
+#: apply.c:4095
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr "SHA-1 Information fehlt oder ist unbrauchbar für Submodul %s"
 
-#: apply.c:4089
+#: apply.c:4102
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "Modusänderung für %s, was sich nicht im aktuellen HEAD befindet"
 
-#: apply.c:4092
+#: apply.c:4105
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "SHA-1 Information fehlt oder ist unbrauchbar (%s)."
 
-#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr "make_cache_entry für Pfad '%s' fehlgeschlagen"
-
-#: apply.c:4101
+#: apply.c:4114
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "konnte %s nicht zum temporären Index hinzufügen"
 
-#: apply.c:4111
+#: apply.c:4124
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "konnte temporären Index nicht nach %s schreiben"
 
-#: apply.c:4249
+#: apply.c:4262
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "konnte %s nicht aus dem Index entfernen"
 
-#: apply.c:4283
+#: apply.c:4296
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "fehlerhafter Patch für Submodul %s"
 
-#: apply.c:4289
+#: apply.c:4302
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "konnte neu erstellte Datei '%s' nicht lesen"
 
-#: apply.c:4297
+#: apply.c:4310
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr "kann internen Speicher für eben erstellte Datei %s nicht erzeugen"
 
-#: apply.c:4303 apply.c:4448
+#: apply.c:4316 apply.c:4461
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "kann für %s keinen Eintrag in den Zwischenspeicher hinzufügen"
 
-#: apply.c:4346
+#: apply.c:4359
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "Fehler beim Schreiben nach '%s'"
 
-#: apply.c:4350
+#: apply.c:4363
 #, c-format
 msgid "closing file '%s'"
 msgstr "schließe Datei '%s'"
 
-#: apply.c:4420
+#: apply.c:4433
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "konnte Datei '%s' mit Modus %o nicht schreiben"
 
-#: apply.c:4518
+#: apply.c:4531
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s sauber angewendet"
 
-#: apply.c:4526
+#: apply.c:4539
 msgid "internal error"
 msgstr "interner Fehler"
 
-#: 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] "Wende Patch %%s mit %d Zurückweisung an..."
 msgstr[1] "Wende Patch %%s mit %d Zurückweisungen an..."
 
-#: apply.c:4540
+#: apply.c:4553
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "Verkürze Name von .rej Datei zu %.*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 "kann '%s' nicht öffnen"
 
-#: apply.c:4562
+#: apply.c:4575
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Patch-Bereich #%d sauber angewendet."
 
-#: apply.c:4566
+#: apply.c:4579
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Patch-Block #%d zurückgewiesen."
 
-#: apply.c:4676
+#: apply.c:4698
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Patch '%s' ausgelassen."
 
-#: apply.c:4684
+#: apply.c:4706
 msgid "unrecognized input"
 msgstr "nicht erkannte Eingabe"
 
-#: apply.c:4704
+#: apply.c:4726
 msgid "unable to read index file"
 msgstr "Konnte Index-Datei nicht lesen"
 
-#: apply.c:4859
+#: apply.c:4883
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "kann Patch '%s' nicht öffnen: %s"
 
-#: apply.c:4886
+#: apply.c:4910
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "unterdrückte %d Whitespace-Fehler"
 msgstr[1] "unterdrückte %d Whitespace-Fehler"
 
-#: 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 Zeile fügt Whitespace-Fehler hinzu."
 msgstr[1] "%d Zeilen fügen Whitespace-Fehler hinzu."
 
-#: 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 Zeile nach Behebung von Whitespace-Fehlern angewendet."
 msgstr[1] "%d Zeilen nach Behebung von Whitespace-Fehlern angewendet."
 
-#: 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 "Konnte neue Index-Datei nicht schreiben."
 
-#: 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 "Pfad"
-
-#: apply.c:4944
+#: apply.c:4968
 msgid "don't apply changes matching the given path"
 msgstr "keine Änderungen im angegebenen Pfad anwenden"
 
-#: apply.c:4947
+#: apply.c:4971
 msgid "apply changes matching the given path"
 msgstr "Änderungen nur im angegebenen Pfad anwenden"
 
-#: apply.c:4949 builtin/am.c:2217
+#: apply.c:4973 builtin/am.c:2260
 msgid "num"
 msgstr "Anzahl"
 
-#: apply.c:4950
+#: apply.c:4974
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr ""
 "<Anzahl> vorangestellte Schrägstriche von herkömmlichen Differenzpfaden "
 "entfernen"
 
-#: apply.c:4953
+#: apply.c:4977
 msgid "ignore additions made by the patch"
 msgstr "hinzugefügte Zeilen des Patches ignorieren"
 
-#: apply.c:4955
+#: apply.c:4979
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr ""
 "anstatt der Anwendung des Patches, den \"diffstat\" für die Eingabe "
 "ausgegeben"
 
-#: apply.c:4959
+#: apply.c:4983
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "die Anzahl von hinzugefügten/entfernten Zeilen in Dezimalnotation anzeigen"
 
-#: apply.c:4961
+#: apply.c:4985
 msgid "instead of applying the patch, output a summary for the input"
 msgstr ""
 "anstatt der Anwendung des Patches, eine Zusammenfassung für die Eingabe "
 "ausgeben"
 
-#: apply.c:4963
+#: apply.c:4987
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr ""
 "anstatt der Anwendung des Patches, zeige ob Patch angewendet werden kann"
 
-#: apply.c:4965
+#: apply.c:4989
 msgid "make sure the patch is applicable to the current index"
 msgstr ""
 "sicherstellen, dass der Patch mit dem aktuellen Index angewendet werden kann"
 
-#: apply.c:4967
+#: apply.c:4991
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "neue Dateien mit `git add --intent-to-add` markieren"
 
-#: apply.c:4969
+#: apply.c:4993
 msgid "apply a patch without touching the working tree"
 msgstr "Patch anwenden, ohne Änderungen im Arbeitsverzeichnis vorzunehmen"
 
-#: apply.c:4971
+#: apply.c:4995
 msgid "accept a patch that touches outside the working area"
 msgstr ""
 "Patch anwenden, der Änderungen außerhalb des Arbeitsverzeichnisses vornimmt"
 
-#: apply.c:4974
+#: apply.c:4998
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "Patch anwenden (Benutzung mit --stat/--summary/--check)"
 
-#: apply.c:4976
+#: apply.c:5000
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "versuche 3-Wege-Merge, wenn der Patch nicht angewendet werden konnte"
 
-#: apply.c:4978
+#: apply.c:5002
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "einen temporären Index, basierend auf den integrierten Index-Informationen, "
 "erstellen"
 
-#: 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 "Pfade sind getrennt durch NUL Zeichen"
 
-#: apply.c:4983
+#: apply.c:5007
 msgid "ensure at least <n> lines of context match"
 msgstr ""
 "sicher stellen, dass mindestens <n> Zeilen des Kontextes übereinstimmen"
 
-#: 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 "Aktion"
 
-#: apply.c:4985
+#: apply.c:5009
 msgid "detect new or modified lines that have whitespace errors"
 msgstr "neue oder geänderte Zeilen, die Whitespace-Fehler haben, ermitteln"
 
-#: apply.c:4988 apply.c:4991
+#: apply.c:5012 apply.c:5015
 msgid "ignore changes in whitespace when finding context"
 msgstr "Änderungen im Whitespace bei der Suche des Kontextes ignorieren"
 
-#: apply.c:4994
+#: apply.c:5018
 msgid "apply the patch in reverse"
 msgstr "den Patch in umgekehrter Reihenfolge anwenden"
 
-#: apply.c:4996
+#: apply.c:5020
 msgid "don't expect at least one line of context"
 msgstr "keinen Kontext erwarten"
 
-#: apply.c:4998
+#: apply.c:5022
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr ""
 "zurückgewiesene Patch-Blöcke in entsprechenden *.rej Dateien hinterlassen"
 
-#: apply.c:5000
+#: apply.c:5024
 msgid "allow overlapping hunks"
 msgstr "sich überlappende Patch-Blöcke erlauben"
 
-#: 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 "erweiterte Ausgaben"
 
-#: apply.c:5003
+#: apply.c:5027
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr "fehlerhaft erkannten fehlenden Zeilenumbruch am Dateiende tolerieren"
 
-#: apply.c:5006
+#: apply.c:5030
 msgid "do not trust the line counts in the hunk headers"
 msgstr "den Zeilennummern im Kopf des Patch-Blocks nicht vertrauen"
 
-#: apply.c:5008 builtin/am.c:2205
+#: apply.c:5032 builtin/am.c:2248
 msgid "root"
 msgstr "Wurzelverzeichnis"
 
-#: apply.c:5009
+#: apply.c:5033
 msgid "prepend <root> to all filenames"
 msgstr "<Wurzelverzeichnis> vor alle Dateinamen stellen"
 
@@ -807,7 +1498,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <Repository> [--exec <Programm>] --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 "Pfadspezifikation '%s' stimmt mit keinen Dateien überein"
@@ -839,7 +1530,7 @@ msgstr "Format"
 msgid "archive format"
 msgstr "Archivformat"
 
-#: archive.c:458 builtin/log.c:1580
+#: archive.c:458 builtin/log.c:1653
 msgid "prefix"
 msgstr "Präfix"
 
@@ -847,11 +1538,12 @@ msgstr "Präfix"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "einen Präfix vor jeden Pfadnamen in dem Archiv stellen"
 
-#: 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 "Datei"
 
@@ -884,7 +1576,7 @@ msgid "list supported archive formats"
 msgstr "unterstützte Archivformate auflisten"
 
 #: 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 "Repository"
 
@@ -892,7 +1584,7 @@ msgstr "Repository"
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "Archiv vom Remote-Repository <Repository> abrufen"
 
-#: 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 "Programm"
@@ -923,66 +1615,66 @@ msgstr "Unbekanntes Archivformat '%s'"
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument für Format '%s' nicht unterstützt: -%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 "Kann Blob %s nicht streamen."
 
-#: 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 "Nicht unterstützter Dateimodus: 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 "Kann %s nicht lesen."
 
-#: archive-tar.c:459
+#: archive-tar.c:465
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr "Konnte '%s' Filter nicht starten."
 
-#: archive-tar.c:462
+#: archive-tar.c:468
 msgid "unable to redirect descriptor"
 msgstr "Konnte Descriptor nicht umleiten."
 
-#: archive-tar.c:469
+#: archive-tar.c:475
 #, c-format
 msgid "'%s' filter reported error"
 msgstr "'%s' Filter meldete Fehler."
 
-#: archive-zip.c:314
+#: archive-zip.c:319
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "Pfad ist kein gültiges UTF-8: %s"
 
-#: archive-zip.c:318
+#: archive-zip.c:323
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "Pfad zu lang (%d Zeichen, 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 "Fehler beim Komprimieren (%d)"
 
-#: archive-zip.c:609
+#: archive-zip.c:615
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "Timestamp zu groß für dieses System: %<PRIuMAX>"
 
-#: attr.c:211
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s ist kein gültiger Attributname"
 
-#: attr.c:368
+#: attr.c:369
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s nicht erlaubt: %s:%d"
 
-#: attr.c:408
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1000,12 +1692,12 @@ msgstr "Ungültiger Inhalt bzgl. Anführungszeichen in Datei '%s': %s"
 msgid "We cannot bisect more!\n"
 msgstr "Keine binäre Suche mehr möglich!\n"
 
-#: bisect.c:733
+#: bisect.c:745
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "%s ist kein gültiger Commit-Name"
 
-#: bisect.c:758
+#: bisect.c:770
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1014,7 +1706,7 @@ msgstr ""
 "Die Merge-Basis %s ist fehlerhaft.\n"
 "Das bedeutet, der Fehler wurde zwischen %s und [%s] behoben.\n"
 
-#: bisect.c:763
+#: bisect.c:775
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1023,7 +1715,7 @@ msgstr ""
 "Die Merge-Basis %s ist neu.\n"
 "Das bedeutet, die Eigenschaft hat sich zwischen %s und [%s] geändert.\n"
 
-#: bisect.c:768
+#: bisect.c:780
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1032,7 +1724,7 @@ msgstr ""
 "Die Merge-Basis %s ist %s.\n"
 "Das bedeutet, der erste '%s' Commit befindet sich zwischen %s und [%s].\n"
 
-#: bisect.c:776
+#: bisect.c:788
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1043,7 +1735,7 @@ msgstr ""
 "git bisect kann in diesem Fall nicht richtig arbeiten.\n"
 "Vielleicht verwechselten Sie %s und %s Commits?\n"
 
-#: bisect.c:789
+#: bisect.c:801
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1055,36 +1747,36 @@ msgstr ""
 "erste %s Commit zwischen %s und %s befindet.\n"
 "Es wird dennoch fortgesetzt."
 
-#: bisect.c:822
+#: bisect.c:840
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "binäre Suche: eine Merge-Basis muss geprüft werden\n"
 
-#: bisect.c:865
+#: bisect.c:890
 #, c-format
 msgid "a %s revision is needed"
 msgstr "ein %s Commit wird benötigt"
 
-#: 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 "konnte Datei '%s' nicht erstellen"
 
-#: bisect.c:928 builtin/merge.c:148
+#: bisect.c:966 builtin/merge.c:149
 #, c-format
 msgid "could not read file '%s'"
 msgstr "Konnte Datei '%s' nicht lesen"
 
-#: bisect.c:958
+#: bisect.c:997
 msgid "reading bisect refs failed"
 msgstr "Lesen von Referenzen für binäre Suche fehlgeschlagen"
 
-#: bisect.c:977
+#: bisect.c:1019
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s war sowohl %s als auch %s\n"
 
-#: bisect.c:985
+#: bisect.c:1028
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1093,7 +1785,7 @@ msgstr ""
 "Kein testbarer Commit gefunden.\n"
 "Vielleicht starteten Sie mit falschen Pfad-Parametern?\n"
 
-#: bisect.c:1004
+#: bisect.c:1057
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1103,50 +1795,50 @@ msgstr[1] "(ungefähr %d Schritte)"
 #. 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] "binäre Suche: danach noch %d Commit zum Testen übrig %s\n"
 msgstr[1] "binäre Suche: danach noch %d Commits zum Testen übrig %s\n"
 
-#: blame.c:2697
+#: blame.c:2700
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents und --reverse funktionieren gemeinsam nicht."
 
-#: blame.c:2711
+#: blame.c:2714
 msgid "cannot use --contents with final commit object name"
 msgstr ""
 "kann --contents nicht mit endgültigem Namen des Commit-Objektes benutzen"
 
-#: blame.c:2732
+#: blame.c:2735
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse und --first-parent zusammen erfordern die Angabe eines "
 "endgültigen\n"
 "Commits"
 
-#: 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 "Einrichtung des Revisionsgangs fehlgeschlagen"
 
-#: blame.c:2759
+#: blame.c:2762
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse und --first-parent zusammen erfordern einen Bereich entlang der\n"
 "\"first-parent\"-Kette"
 
-#: blame.c:2770
+#: blame.c:2773
 #, c-format
 msgid "no such path %s in %s"
 msgstr "Pfad %s nicht in %s"
 
-#: blame.c:2781
+#: blame.c:2784
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "kann Blob %s für Pfad '%s' nicht lesen"
@@ -1303,8 +1995,8 @@ msgstr "'%s' sieht nicht wie eine v2 Paketdatei aus"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "nicht erkannter Kopfbereich: %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 "Konnte '%s' nicht öffnen"
@@ -1335,62 +2027,62 @@ msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Das Paket benötigt diese Referenz:"
 msgstr[1] "Das Paket benötigt diese %d Referenzen:"
 
-#: bundle.c:272
+#: bundle.c:273
 msgid "unable to dup bundle descriptor"
 msgstr "Konnte dup für Descriptor des Pakets nicht ausführen."
 
-#: bundle.c:279
+#: bundle.c:280
 msgid "Could not spawn pack-objects"
 msgstr "Konnte Paketobjekte nicht erstellen"
 
-#: bundle.c:290
+#: bundle.c:291
 msgid "pack-objects died"
 msgstr "Erstellung der Paketobjekte abgebrochen"
 
-#: bundle.c:332
+#: bundle.c:333
 msgid "rev-list died"
 msgstr "\"rev-list\" abgebrochen"
 
-#: bundle.c:381
+#: bundle.c:382
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "Referenz '%s' wird durch \"rev-list\" Optionen ausgeschlossen"
 
-#: 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 "nicht erkanntes Argument: %s"
 
-#: bundle.c:468
+#: bundle.c:469
 msgid "Refusing to create empty bundle."
 msgstr "Erstellung eines leeren Pakets zurückgewiesen."
 
-#: bundle.c:478
+#: bundle.c:479
 #, c-format
 msgid "cannot create '%s'"
 msgstr "kann '%s' nicht erstellen"
 
-#: bundle.c:503
+#: bundle.c:504
 msgid "index-pack died"
 msgstr "Erstellung der Paketindexdatei abgebrochen"
 
-#: color.c:296
+#: color.c:329
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "Ungültiger Farbwert: %.*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 "konnte %s nicht parsen"
 
-#: commit.c:52
+#: commit.c:53
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s ist kein Commit!"
 
-#: commit.c:192
+#: commit.c:193
 msgid ""
 "Support for <GIT_DIR>/info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
@@ -1411,28 +2103,28 @@ msgstr ""
 "Sie können diese Meldung unterdrücken, indem Sie\n"
 "\"git config advice.graftFileDeprecated false\" ausführen."
 
-#: commit.c:1127
+#: commit.c:1153
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr ""
 "Commit %s hat eine nicht vertrauenswürdige GPG-Signatur, angeblich von %s."
 
-#: commit.c:1130
+#: commit.c:1157
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "Commit %s hat eine ungültige GPG-Signatur, angeblich von %s."
 
-#: commit.c:1133
+#: commit.c:1160
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "Commit %s hat keine GPG-Signatur."
 
-#: commit.c:1136
+#: commit.c:1163
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "Commit %s hat eine gültige GPG-Signatur von %s\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"
@@ -1444,167 +2136,177 @@ msgstr ""
 "Encoding,\n"
 "welches von ihrem Projekt verwendet wird.\n"
 
-#: commit-graph.c:127
+#: commit-graph.c:122
 msgid "commit-graph file is too small"
 msgstr "Commit-Graph-Datei ist zu klein."
 
-#: commit-graph.c:192
+#: commit-graph.c:189
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr "Commit-Graph-Signatur %X stimmt nicht mit Signatur %X überein."
 
-#: commit-graph.c:199
+#: commit-graph.c:196
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "Commit-Graph-Version %X stimmt nicht mit Version %X überein."
 
-#: commit-graph.c:206
+#: commit-graph.c:203
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr "Hash-Version des Commit-Graph %X stimmt nicht mit Version %X überein."
 
-#: commit-graph.c:229
+#: commit-graph.c:226
 msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
 "fehlender Tabelleneintrag für Commit-Graph Chunk-Lookup; Datei "
 "möglicherweise unvollständig"
 
-#: commit-graph.c:240
+#: commit-graph.c:237
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "Unzulässiger Commit-Graph Chunk-Offset %08x%08x"
 
-#: commit-graph.c:283
+#: commit-graph.c:280
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr "Commit-Graph Chunk-Id %08x kommt mehrfach vor."
 
-#: commit-graph.c:347
+#: commit-graph.c:343
 msgid "commit-graph has no base graphs chunk"
 msgstr "Commit-Graph hat keinen Basis-Graph-Chunk"
 
-#: commit-graph.c:357
+#: commit-graph.c:353
 msgid "commit-graph chain does not match"
 msgstr "Commit-Graph Verkettung stimmt nicht überein."
 
-#: commit-graph.c:404
+#: commit-graph.c:401
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr "Ungültige Commit-Graph Verkettung: Zeile '%s' ist kein Hash"
 
-#: commit-graph.c:430
+#: commit-graph.c:425
 msgid "unable to find all commit-graph files"
 msgstr "Konnte nicht alle Commit-Graph-Dateien finden."
 
-#: 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 "Ungültige Commit-Position. Commit-Graph ist wahrscheinlich beschädigt."
 
-#: commit-graph.c:575
+#: commit-graph.c:579
 #, c-format
 msgid "could not find commit %s"
 msgstr "Konnte Commit %s nicht finden."
 
-#: 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 "Konnte Commit '%s' nicht parsen."
+
+#: commit-graph.c:1011 builtin/pack-objects.c:2782
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "Konnte Art von Objekt '%s' nicht bestimmen."
 
-#: commit-graph.c:1034
+#: commit-graph.c:1043
 msgid "Loading known commits in commit graph"
 msgstr "Lade bekannte Commits in Commit-Graph"
 
-#: commit-graph.c:1051
+#: commit-graph.c:1060
 msgid "Expanding reachable commits in commit graph"
 msgstr "Erweitere erreichbare Commits in Commit-Graph"
 
-#: commit-graph.c:1070
+#: commit-graph.c:1079
 msgid "Clearing commit marks in commit graph"
 msgstr "Lösche Commit-Markierungen in Commit-Graph"
 
-#: commit-graph.c:1089
+#: commit-graph.c:1098
 msgid "Computing commit graph generation numbers"
-msgstr "Commit-Graph Generierungsnummern berechnen"
+msgstr "Commit-Graph Generationsnummern berechnen"
 
-#: 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] "Suche Commits für Commit-Graph in %d Paket"
 msgstr[1] "Suche Commits für Commit-Graph in %d Paketen"
 
-#: commit-graph.c:1176
+#: commit-graph.c:1186
 #, c-format
 msgid "error adding pack %s"
 msgstr "Fehler beim Hinzufügen von Paket %s."
 
-#: commit-graph.c:1180
+#: commit-graph.c:1190
 #, c-format
 msgid "error opening index for %s"
 msgstr "Fehler beim Öffnen des Index für %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] "Suche Commits für Commit-Graph in %d Referenz"
 msgstr[1] "Suche Commits für Commit-Graph in %d Referenzen"
 
-#: commit-graph.c:1238
+#: commit-graph.c:1234
+#, c-format
+msgid "invalid commit object id: %s"
+msgstr "ungültige Commit-Objekt-ID: %s"
+
+#: commit-graph.c:1249
 msgid "Finding commits for commit graph among packed objects"
 msgstr "Suche Commits für Commit-Graph in gepackten Objekten"
 
-#: commit-graph.c:1253
+#: commit-graph.c:1264
 msgid "Counting distinct commits in commit graph"
 msgstr "Zähle Commits in Commit-Graph"
 
-#: commit-graph.c:1284
+#: commit-graph.c:1294
 msgid "Finding extra edges in commit graph"
 msgstr "Suche zusätzliche Ränder in Commit-Graph"
 
-#: commit-graph.c:1332
+#: commit-graph.c:1340
 msgid "failed to write correct number of base graph ids"
 msgstr "Fehler beim Schreiben der korrekten Anzahl von Basis-Graph-IDs."
 
-#: 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 "Konnte führende Verzeichnisse von '%s' nicht erstellen."
 
-#: 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 "konnte '%s' nicht erstellen"
 
-#: 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] "Schreibe Commit-Graph in %d Durchgang"
 msgstr[1] "Schreibe Commit-Graph in %d Durchgängen"
 
-#: commit-graph.c:1478
+#: commit-graph.c:1486
 msgid "unable to open commit-graph chain file"
 msgstr "Konnte Commit-Graph Chain-Datei nicht öffnen."
 
-#: commit-graph.c:1490
+#: commit-graph.c:1498
 msgid "failed to rename base commit-graph file"
 msgstr "Konnte Basis-Commit-Graph-Datei nicht umbenennen."
 
-#: commit-graph.c:1510
+#: commit-graph.c:1518
 msgid "failed to rename temporary commit-graph file"
 msgstr "Konnte temporäre Commit-Graph-Datei nicht umbenennen."
 
-#: commit-graph.c:1621
+#: commit-graph.c:1631
 msgid "Scanning merged commits"
 msgstr "Durchsuche zusammengeführte Commits"
 
-#: commit-graph.c:1632
+#: commit-graph.c:1642
 #, c-format
 msgid "unexpected duplicate commit id %s"
 msgstr "Unerwartete doppelte Commit-ID %s"
 
-#: commit-graph.c:1657
+#: commit-graph.c:1665
 msgid "Merging commit-graph"
 msgstr "Zusammenführen von Commit-Graph"
 
@@ -1617,23 +2319,23 @@ msgstr "Das Commit-Graph Format kann nicht %d Commits schreiben."
 msgid "too many commits to write graph"
 msgstr "Zu viele Commits zum Schreiben des Graphen."
 
-#: commit-graph.c:1945
+#: commit-graph.c:1944
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "Die Commit-Graph-Datei hat eine falsche Prüfsumme und ist wahrscheinlich "
 "beschädigt."
 
-#: commit-graph.c:1955
+#: commit-graph.c:1954
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "Commit-Graph hat fehlerhafte OID-Reihenfolge: %s dann %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 "Commit-Graph hat fehlerhaften Fanout-Wert: fanout[%d] = %u != %u"
 
-#: commit-graph.c:1972
+#: commit-graph.c:1971
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "Konnte Commit %s von Commit-Graph nicht parsen."
@@ -1642,34 +2344,34 @@ msgstr "Konnte Commit %s von Commit-Graph nicht parsen."
 msgid "Verifying commits in commit graph"
 msgstr "Commit in Commit-Graph überprüfen"
 
-#: commit-graph.c:2002
+#: commit-graph.c:2003
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "Fehler beim Parsen des Commits %s von Objekt-Datenbank für Commit-Graph"
 
-#: commit-graph.c:2009
+#: commit-graph.c:2010
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 "OID des Wurzelverzeichnisses für Commit %s in Commit-Graph ist %s != %s"
 
-#: commit-graph.c:2019
+#: commit-graph.c:2020
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr "Commit-Graph Vorgänger-Liste für Commit %s ist zu lang"
 
-#: commit-graph.c:2028
+#: commit-graph.c:2029
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "Commit-Graph-Vorgänger für %s ist %s != %s"
 
-#: commit-graph.c:2041
+#: commit-graph.c:2042
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr "Commit-Graph Vorgänger-Liste für Commit %s endet zu früh"
 
-#: commit-graph.c:2046
+#: commit-graph.c:2047
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -1677,7 +2379,7 @@ msgstr ""
 "Commit-Graph hat Generationsnummer null für Commit %s, aber sonst ungleich "
 "null"
 
-#: commit-graph.c:2050
+#: commit-graph.c:2051
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -1685,12 +2387,12 @@ msgstr ""
 "Commit-Graph hat Generationsnummer ungleich null für Commit %s, aber sonst "
 "null"
 
-#: commit-graph.c:2065
+#: commit-graph.c:2066
 #, c-format
 msgid "commit-graph generation for commit %s is %u != %u"
 msgstr "Commit-Graph Erstellung für Commit %s ist %u != %u"
 
-#: commit-graph.c:2071
+#: commit-graph.c:2072
 #, c-format
 msgid "commit date for commit %s in commit-graph is %<PRIuMAX> != %<PRIuMAX>"
 msgstr ""
@@ -1742,7 +2444,7 @@ msgstr "Schlüssel enthält keine Sektion: %s"
 msgid "key does not contain variable name: %s"
 msgstr "Schlüssel enthält keinen Variablennamen: %s"
 
-#: config.c:406 sequencer.c:2463
+#: config.c:406 sequencer.c:2444
 #, c-format
 msgid "invalid key: %s"
 msgstr "Ungültiger Schlüssel: %s"
@@ -1886,7 +2588,7 @@ msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr ""
 "Muss einer von diesen sein: 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 "ungültiger Komprimierungsgrad (%d) für Paketierung"
@@ -1911,117 +2613,111 @@ msgstr "Konnte Blob '%s' für Konfiguration nicht auflösen."
 msgid "failed to parse %s"
 msgstr "Fehler beim Parsen von %s."
 
-#: config.c:1745
+#: config.c:1743
 msgid "unable to parse command-line config"
 msgstr ""
 "Konnte die über die Befehlszeile angegebene Konfiguration nicht parsen."
 
-#: config.c:2094
+#: config.c:2097
 msgid "unknown error occurred while reading the configuration files"
 msgstr ""
 "Es trat ein unbekannter Fehler beim Lesen der Konfigurationsdateien auf."
 
-#: config.c:2264
+#: config.c:2267
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "Ungültiger %s: '%s'"
 
-#: config.c:2307
-#, c-format
-msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
-"Unbekannter Wert '%s' in core.untrackedCache; benutze Standardwert 'keep'"
-
-#: config.c:2333
+#: config.c:2312
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr ""
 "Der Wert '%d' von splitIndex.maxPercentChange sollte zwischen 0 und 100 "
 "liegen."
 
-#: config.c:2379
+#: config.c:2358
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 "Konnte Wert '%s' aus der über die Befehlszeile angegebenen Konfiguration\n"
 "nicht parsen."
 
-#: config.c:2381
+#: config.c:2360
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "ungültige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d"
 
-#: config.c:2462
+#: config.c:2441
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "Ungültiger Sektionsname '%s'"
 
-#: config.c:2494
+#: config.c:2473
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s hat mehrere Werte"
 
-#: config.c:2523
+#: config.c:2502
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "Konnte neue Konfigurationsdatei '%s' nicht schreiben."
 
-#: config.c:2775 config.c:3099
+#: config.c:2754 config.c:3078
 #, c-format
 msgid "could not lock config file %s"
 msgstr "Konnte Konfigurationsdatei '%s' nicht sperren."
 
-#: config.c:2786
+#: config.c:2765
 #, c-format
 msgid "opening %s"
 msgstr "Öffne %s"
 
-#: config.c:2821 builtin/config.c:328
+#: config.c:2800 builtin/config.c:344
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "Ungültiges Muster: %s"
 
-#: config.c:2846
+#: config.c:2825
 #, c-format
 msgid "invalid config file %s"
 msgstr "Ungültige Konfigurationsdatei %s"
 
-#: config.c:2859 config.c:3112
+#: config.c:2838 config.c:3091
 #, c-format
 msgid "fstat on %s failed"
 msgstr "fstat auf %s fehlgeschlagen"
 
-#: config.c:2870
+#: config.c:2849
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "mmap für '%s' fehlgeschlagen"
 
-#: config.c:2879 config.c:3117
+#: config.c:2858 config.c:3096
 #, c-format
 msgid "chmod on %s failed"
 msgstr "chmod auf %s fehlgeschlagen"
 
-#: config.c:2964 config.c:3214
+#: config.c:2943 config.c:3193
 #, c-format
 msgid "could not write config file %s"
 msgstr "Konnte Konfigurationsdatei %s nicht schreiben."
 
-#: config.c:2998
+#: config.c:2977
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "Konnte '%s' nicht zu '%s' setzen."
 
-#: 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 "Konnte '%s' nicht aufheben."
 
-#: config.c:3090
+#: config.c:3069
 #, c-format
 msgid "invalid section name: %s"
 msgstr "Ungültiger Sektionsname: %s"
 
-#: config.c:3257
+#: config.c:3236
 #, c-format
 msgid "missing value for '%s'"
 msgstr "Fehlender Wert für '%s'"
@@ -2148,7 +2844,7 @@ msgstr "Fehler bei der Suche nach %s (%s)"
 msgid "unknown port %s"
 msgstr "Unbekannter Port %s"
 
-#: connect.c:845 connect.c:1171
+#: connect.c:845 connect.c:1175
 #, c-format
 msgid "strange hostname '%s' blocked"
 msgstr "Merkwürdigen Hostnamen '%s' blockiert."
@@ -2163,59 +2859,59 @@ msgstr "Merkwürdigen Port '%s' blockiert."
 msgid "cannot start proxy %s"
 msgstr "Kann Proxy %s nicht starten."
 
-#: connect.c:924
+#: connect.c:928
 msgid "no path specified; see 'git help pull' for valid url syntax"
 msgstr ""
 "Kein Pfad angegeben; siehe 'git help pull' für eine gültige URL-Syntax."
 
-#: connect.c:1119
+#: connect.c:1123
 msgid "ssh variant 'simple' does not support -4"
 msgstr "SSH-Variante 'simple' unterstützt kein -4."
 
-#: connect.c:1131
+#: connect.c:1135
 msgid "ssh variant 'simple' does not support -6"
 msgstr "SSH-Variante 'simple' unterstützt kein -6."
 
-#: connect.c:1148
+#: connect.c:1152
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "SSH-Variante 'simple' unterstützt nicht das Setzen eines Ports."
 
-#: connect.c:1260
+#: connect.c:1264
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "Merkwürdigen Pfadnamen '%s' blockiert."
 
-#: connect.c:1307
+#: connect.c:1311
 msgid "unable to fork"
 msgstr "Kann Prozess nicht starten."
 
-#: 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 "Prüfe Konnektivität"
 
-#: connected.c:98
+#: connected.c:110
 msgid "Could not run 'git rev-list'"
 msgstr "Konnte 'git rev-list' nicht ausführen"
 
-#: connected.c:118
+#: connected.c:130
 msgid "failed write to rev-list"
 msgstr "Fehler beim Schreiben nach rev-list"
 
-#: connected.c:125
+#: connected.c:137
 msgid "failed to close rev-list's stdin"
 msgstr "Fehler beim Schließen von rev-list's Standard-Eingabe"
 
-#: convert.c:193
+#: convert.c:194
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr "Unerlaubte crlf_action %d"
 
-#: convert.c:206
+#: convert.c:207
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr "CRLF würde in %s durch LF ersetzt werden."
 
-#: convert.c:208
+#: convert.c:209
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -2225,12 +2921,12 @@ msgstr ""
 "Die Datei wird ihre ursprünglichen Zeilenenden im Arbeitsverzeichnis "
 "behalten."
 
-#: convert.c:216
+#: convert.c:217
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "LF würde in %s durch CRLF ersetzt werden."
 
-#: convert.c:218
+#: convert.c:219
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -2240,19 +2936,19 @@ msgstr ""
 "Die Datei wird ihre ursprünglichen Zeilenenden im Arbeitsverzeichnis "
 "behalten."
 
-#: convert.c:279
+#: convert.c:284
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "BOM ist in '%s' unzulässig, wenn als %s codiert."
 
-#: 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."
+"The file '%s' contains a byte order mark (BOM). Please use UTF-%.*s as "
+"working-tree-encoding."
 msgstr ""
-"Die Datei '%s' enthält ein Byte-Order-Mark (BOM). Bitte benutzen Sie UTF-%s\n"
-"als Codierung im Arbeitsverzeichnis."
+"Die Datei '%s' enthält ein Byte-Order-Mark (BOM). Bitte benutzen Sie\n"
+"UTF-%.*s als Codierung im Arbeitsverzeichnis."
 
 #: convert.c:304
 #, c-format
@@ -2269,50 +2965,50 @@ msgstr ""
 "oder UTF-%sLE (abhängig von der Byte-Reihenfolge) als Codierung im\n"
 "Arbeitsverzeichnis."
 
-#: convert.c:424 convert.c:495
+#: convert.c:419 convert.c:490
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "Fehler beim Codieren von '%s' von %s nach %s."
 
-#: convert.c:467
+#: convert.c:462
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr "Die Codierung '%s' von %s nach %s und zurück ist nicht dasselbe."
 
-#: convert.c:673
+#: convert.c:668
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "Kann externen Filter '%s' nicht starten."
 
-#: convert.c:693
+#: convert.c:688
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "Kann Eingaben nicht an externen Filter '%s' übergeben."
 
-#: convert.c:700
+#: convert.c:695
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "Externer Filter '%s' fehlgeschlagen %d"
 
-#: convert.c:735 convert.c:738
+#: convert.c:730 convert.c:733
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "Lesen von externem Filter '%s' fehlgeschlagen."
 
-#: convert.c:741 convert.c:796
+#: convert.c:736 convert.c:791
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "Externer Filter '%s' fehlgeschlagen."
 
-#: convert.c:844
+#: convert.c:839
 msgid "unexpected filter type"
 msgstr "Unerwartete Filterart."
 
-#: convert.c:855
+#: convert.c:850
 msgid "path name too long for external filter"
 msgstr "Pfadname zu lang für externen Filter."
 
-#: convert.c:929
+#: convert.c:924
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
@@ -2320,67 +3016,67 @@ msgid ""
 msgstr ""
 "Externer Filter '%s' nicht mehr verfügbar. Nicht alle Pfade wurden gefiltert."
 
-#: convert.c:1228
+#: convert.c:1223
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false sind keine gültigen Codierungen im Arbeitsverzeichnis."
 
-#: convert.c:1398 convert.c:1432
+#: convert.c:1411 convert.c:1445
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s: clean-Filter '%s' fehlgeschlagen."
 
-#: convert.c:1476
+#: convert.c:1489
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s: smudge-Filter '%s' fehlgeschlagen."
 
-#: date.c:137
+#: date.c:138
 msgid "in the future"
 msgstr "in der Zukunft"
 
-#: date.c:143
+#: date.c:144
 #, c-format
 msgid "%<PRIuMAX> second ago"
 msgid_plural "%<PRIuMAX> seconds ago"
 msgstr[0] "vor %<PRIuMAX> Sekunde"
 msgstr[1] "vor %<PRIuMAX> Sekunden"
 
-#: date.c:150
+#: date.c:151
 #, c-format
 msgid "%<PRIuMAX> minute ago"
 msgid_plural "%<PRIuMAX> minutes ago"
 msgstr[0] "vor %<PRIuMAX> Minute"
 msgstr[1] "vor %<PRIuMAX> Minuten"
 
-#: date.c:157
+#: date.c:158
 #, c-format
 msgid "%<PRIuMAX> hour ago"
 msgid_plural "%<PRIuMAX> hours ago"
 msgstr[0] "vor %<PRIuMAX> Stunde"
 msgstr[1] "vor %<PRIuMAX> Stunden"
 
-#: date.c:164
+#: date.c:165
 #, c-format
 msgid "%<PRIuMAX> day ago"
 msgid_plural "%<PRIuMAX> days ago"
 msgstr[0] "vor %<PRIuMAX> Tag"
 msgstr[1] "vor %<PRIuMAX> Tagen"
 
-#: date.c:170
+#: date.c:171
 #, c-format
 msgid "%<PRIuMAX> week ago"
 msgid_plural "%<PRIuMAX> weeks ago"
 msgstr[0] "vor %<PRIuMAX> Woche"
 msgstr[1] "vor %<PRIuMAX> Wochen"
 
-#: date.c:177
+#: date.c:178
 #, c-format
 msgid "%<PRIuMAX> month ago"
 msgid_plural "%<PRIuMAX> months ago"
 msgstr[0] "vor %<PRIuMAX> Monat"
 msgstr[1] "vor %<PRIuMAX> Monaten"
 
-#: date.c:188
+#: date.c:189
 #, c-format
 msgid "%<PRIuMAX> year"
 msgid_plural "%<PRIuMAX> years"
@@ -2388,14 +3084,14 @@ msgstr[0] "vor %<PRIuMAX> Jahr"
 msgstr[1] "vor %<PRIuMAX> Jahren"
 
 #. TRANSLATORS: "%s" is "<n> years"
-#: date.c:191
+#: date.c:192
 #, c-format
 msgid "%s, %<PRIuMAX> month ago"
 msgid_plural "%s, %<PRIuMAX> months ago"
 msgstr[0] "%s, und %<PRIuMAX> Monat"
 msgstr[1] "%s, und %<PRIuMAX> Monaten"
 
-#: date.c:196 date.c:201
+#: date.c:197 date.c:202
 #, c-format
 msgid "%<PRIuMAX> year ago"
 msgid_plural "%<PRIuMAX> years ago"
@@ -2434,7 +3130,7 @@ msgstr "%d Delta-Islands markiert, fertig.\n"
 msgid "failed to read orderfile '%s'"
 msgstr "Fehler beim Lesen der Reihenfolgedatei '%s'."
 
-#: diffcore-rename.c:544
+#: diffcore-rename.c:543
 msgid "Performing inexact rename detection"
 msgstr "Führe Erkennung für ungenaue Umbenennung aus"
 
@@ -2500,36 +3196,36 @@ msgstr ""
 "Fehler in 'diff.dirstat' Konfigurationsvariable gefunden:\n"
 "%s"
 
-#: diff.c:4215
+#: diff.c:4202
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "externes Diff-Programm unerwartet beendet, angehalten bei %s"
 
-#: diff.c:4560
+#: diff.c:4547
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 "--name-only, --name-status, --check und -s schließen sich gegenseitig aus"
 
-#: diff.c:4563
+#: diff.c:4550
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S und --find-object schließen sich gegenseitig aus"
 
-#: diff.c:4641
+#: diff.c:4628
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow erfordert genau eine Pfadspezifikation"
 
-#: diff.c:4689
+#: diff.c:4676
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "Ungültiger --stat Wert: %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 erwartet einen numerischen Wert."
 
-#: diff.c:4726
+#: diff.c:4713
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2538,42 +3234,42 @@ msgstr ""
 "Fehler beim Parsen des --dirstat/-X Optionsparameters:\n"
 "%s"
 
-#: diff.c:4811
+#: diff.c:4798
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "Unbekannte Änderungsklasse '%c' in --diff-filter=%s"
 
-#: diff.c:4835
+#: diff.c:4822
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "Unbekannter Wert nach ws-error-highlight=%.*s"
 
-#: diff.c:4849
+#: diff.c:4836
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "konnte '%s' nicht auflösen"
 
-#: diff.c:4899 diff.c:4905
+#: diff.c:4886 diff.c:4892
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "%s erwartet die Form <n>/<m>"
 
-#: diff.c:4917
+#: diff.c:4904
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "%s erwartet ein Zeichen, '%s' bekommen"
 
-#: diff.c:4938
+#: diff.c:4925
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "Ungültiges --color-moved Argument: %s"
 
-#: diff.c:4957
+#: diff.c:4944
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "Ungültiger Modus '%s' in --color-moved-ws"
 
-#: diff.c:4997
+#: diff.c:4984
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -2581,152 +3277,152 @@ msgstr ""
 "Option diff-algorithm akzeptiert: \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
 
-#: diff.c:5033 diff.c:5053
+#: diff.c:5020 diff.c:5040
 #, c-format
 msgid "invalid argument to %s"
 msgstr "Ungültiges Argument für %s"
 
-#: diff.c:5191
+#: diff.c:5178
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "Fehler beim Parsen des --submodule Optionsparameters: '%s'"
 
-#: diff.c:5247
+#: diff.c:5234
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "Ungültiges --word-diff Argument: %s"
 
-#: diff.c:5270
+#: diff.c:5257
 msgid "Diff output format options"
 msgstr "Diff-Optionen zu Ausgabeformaten"
 
-#: diff.c:5272 diff.c:5278
+#: diff.c:5259 diff.c:5265
 msgid "generate patch"
 msgstr "Erzeuge Patch"
 
-#: diff.c:5275 builtin/log.c:172
+#: diff.c:5262 builtin/log.c:173
 msgid "suppress diff output"
 msgstr "Ausgabe der Unterschiede unterdrücken"
 
-#: diff.c:5280 diff.c:5394 diff.c:5401
+#: diff.c:5267 diff.c:5381 diff.c:5388
 msgid "<n>"
 msgstr "<n>"
 
-#: diff.c:5281 diff.c:5284
+#: diff.c:5268 diff.c:5271
 msgid "generate diffs with <n> lines context"
 msgstr "Erstelle Unterschiede mit <n> Zeilen des Kontextes"
 
-#: diff.c:5286
+#: diff.c:5273
 msgid "generate the diff in raw format"
 msgstr "Erstelle Unterschiede im Rohformat"
 
-#: diff.c:5289
+#: diff.c:5276
 msgid "synonym for '-p --raw'"
 msgstr "Synonym für '-p --raw'"
 
-#: diff.c:5293
+#: diff.c:5280
 msgid "synonym for '-p --stat'"
 msgstr "Synonym für '-p --stat'"
 
-#: diff.c:5297
+#: diff.c:5284
 msgid "machine friendly --stat"
 msgstr "maschinenlesbare Ausgabe von --stat"
 
-#: diff.c:5300
+#: diff.c:5287
 msgid "output only the last line of --stat"
 msgstr "nur die letzte Zeile von --stat ausgeben"
 
-#: diff.c:5302 diff.c:5310
+#: diff.c:5289 diff.c:5297
 msgid "<param1,param2>..."
 msgstr "<Parameter1,Parameter2>..."
 
-#: diff.c:5303
+#: diff.c:5290
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 "Gebe die Verteilung des relativen Umfangs der Änderungen für jedes "
 "Unterverzeichnis aus"
 
-#: diff.c:5307
+#: diff.c:5294
 msgid "synonym for --dirstat=cumulative"
 msgstr "Synonym für --dirstat=cumulative"
 
-#: diff.c:5311
+#: diff.c:5298
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "Synonym für --dirstat=files,Parameter1,Parameter2..."
 
-#: diff.c:5315
+#: diff.c:5302
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "Warnen, wenn Änderungen Konfliktmarker oder Whitespace-Fehler einbringen"
 
-#: diff.c:5318
+#: diff.c:5305
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr ""
 "Gekürzte Zusammenfassung, wie z.B. Erstellungen, Umbenennungen und "
 "Änderungen der Datei-Rechte"
 
-#: diff.c:5321
+#: diff.c:5308
 msgid "show only names of changed files"
 msgstr "nur Dateinamen der geänderten Dateien anzeigen"
 
-#: diff.c:5324
+#: diff.c:5311
 msgid "show only names and status of changed files"
 msgstr "nur Dateinamen und Status der geänderten Dateien anzeigen"
 
-#: diff.c:5326
+#: diff.c:5313
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<Breite>[,<Namens-Breite>[,<Anzahl>]]"
 
-#: diff.c:5327
+#: diff.c:5314
 msgid "generate diffstat"
 msgstr "Generiere Zusammenfassung der Unterschiede"
 
-#: diff.c:5329 diff.c:5332 diff.c:5335
+#: diff.c:5316 diff.c:5319 diff.c:5322
 msgid "<width>"
 msgstr "<Breite>"
 
-#: diff.c:5330
+#: diff.c:5317
 msgid "generate diffstat with a given width"
 msgstr "Erzeuge Zusammenfassung der Unterschiede mit gegebener Breite"
 
-#: diff.c:5333
+#: diff.c:5320
 msgid "generate diffstat with a given name width"
 msgstr "Erzeuge Zusammenfassung der Unterschiede mit gegebener Namens-Breite"
 
-#: diff.c:5336
+#: diff.c:5323
 msgid "generate diffstat with a given graph width"
 msgstr "Erzeuge Zusammenfassung der Unterschiede mit gegebener Graph-Breite"
 
-#: diff.c:5338
+#: diff.c:5325
 msgid "<count>"
 msgstr "<Anzahl>"
 
-#: diff.c:5339
+#: diff.c:5326
 msgid "generate diffstat with limited lines"
 msgstr "Erzeuge Zusammenfassung der Unterschiede mit begrenzten Zeilen"
 
-#: diff.c:5342
+#: diff.c:5329
 msgid "generate compact summary in diffstat"
 msgstr "Erzeuge kompakte Zusammenstellung in Zusammenfassung der Unterschiede"
 
-#: diff.c:5345
+#: diff.c:5332
 msgid "output a binary diff that can be applied"
 msgstr "Gebe eine binäre Differenz aus, dass angewendet werden kann"
 
-#: diff.c:5348
+#: diff.c:5335
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr "Zeige vollständige Objekt-Namen in den \"index\"-Zeilen"
 
-#: diff.c:5350
+#: diff.c:5337
 msgid "show colored diff"
 msgstr "Zeige farbige Unterschiede"
 
-#: diff.c:5351
+#: diff.c:5338
 msgid "<kind>"
 msgstr "<Art>"
 
-#: diff.c:5352
+#: diff.c:5339
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -2734,7 +3430,7 @@ msgstr ""
 "Hebe Whitespace-Fehler in den Zeilen 'context', 'old' oder 'new' bei den "
 "Unterschieden hervor"
 
-#: diff.c:5355
+#: diff.c:5342
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -2742,91 +3438,91 @@ msgstr ""
 "Verschleiere nicht die Pfadnamen und nutze NUL-Zeichen als Schlusszeichen in "
 "Ausgabefeldern bei --raw oder --numstat"
 
-#: 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 "<prefix>"
 msgstr "<Präfix>"
 
-#: diff.c:5359
+#: diff.c:5346
 msgid "show the given source prefix instead of \"a/\""
 msgstr "Zeige den gegebenen Quell-Präfix statt \"a/\""
 
-#: diff.c:5362
+#: diff.c:5349
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "Zeige den gegebenen Ziel-Präfix statt \"b/\""
 
-#: diff.c:5365
+#: diff.c:5352
 msgid "prepend an additional prefix to every line of output"
 msgstr "Stelle einen zusätzlichen Präfix bei jeder Ausgabezeile voran"
 
-#: diff.c:5368
+#: diff.c:5355
 msgid "do not show any source or destination prefix"
 msgstr "Zeige keine Quell- oder Ziel-Präfixe an"
 
-#: diff.c:5371
+#: diff.c:5358
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "Zeige Kontext zwischen Unterschied-Blöcken bis zur angegebenen Anzahl von "
 "Zeilen."
 
-#: diff.c:5375 diff.c:5380 diff.c:5385
+#: diff.c:5362 diff.c:5367 diff.c:5372
 msgid "<char>"
 msgstr "<Zeichen>"
 
-#: diff.c:5376
+#: diff.c:5363
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "Das Zeichen festlegen, das eine neue Zeile kennzeichnet (statt '+')"
 
-#: diff.c:5381
+#: diff.c:5368
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "Das Zeichen festlegen, das eine alte Zeile kennzeichnet (statt '-')"
 
-#: diff.c:5386
+#: diff.c:5373
 msgid "specify the character to indicate a context instead of ' '"
 msgstr "Das Zeichen festlegen, das den Kontext kennzeichnet (statt ' ')"
 
-#: diff.c:5389
+#: diff.c:5376
 msgid "Diff rename options"
 msgstr "Diff-Optionen zur Umbenennung"
 
-#: diff.c:5390
+#: diff.c:5377
 msgid "<n>[/<m>]"
 msgstr "<n>[/<m>]"
 
-#: diff.c:5391
+#: diff.c:5378
 msgid "break complete rewrite changes into pairs of delete and create"
 msgstr ""
 "Teile komplette Rewrite-Änderungen in Änderungen mit \"löschen\" und "
 "\"erstellen\""
 
-#: diff.c:5395
+#: diff.c:5382
 msgid "detect renames"
 msgstr "Umbenennungen erkennen"
 
-#: diff.c:5399
+#: diff.c:5386
 msgid "omit the preimage for deletes"
 msgstr "Preimage für Löschungen weglassen."
 
-#: diff.c:5402
+#: diff.c:5389
 msgid "detect copies"
 msgstr "Kopien erkennen"
 
-#: diff.c:5406
+#: diff.c:5393
 msgid "use unmodified files as source to find copies"
 msgstr "Nutze ungeänderte Dateien als Quelle zum Finden von Kopien"
 
-#: diff.c:5408
+#: diff.c:5395
 msgid "disable rename detection"
 msgstr "Erkennung von Umbenennungen deaktivieren"
 
-#: diff.c:5411
+#: diff.c:5398
 msgid "use empty blobs as rename source"
 msgstr "Nutze leere Blobs als Quelle von Umbennungen"
 
-#: diff.c:5413
+#: diff.c:5400
 msgid "continue listing the history of a file beyond renames"
 msgstr "Fortführen der Auflistung der Historie einer Datei nach Umbennung"
 
-#: diff.c:5416
+#: diff.c:5403
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -2834,159 +3530,159 @@ msgstr ""
 "Verhindere die Erkennung von Umbennungen und Kopien, wenn die Anzahl der "
 "Ziele für Umbennungen und Kopien das gegebene Limit überschreitet"
 
-#: diff.c:5418
+#: diff.c:5405
 msgid "Diff algorithm options"
 msgstr "Diff Algorithmus-Optionen"
 
-#: diff.c:5420
+#: diff.c:5407
 msgid "produce the smallest possible diff"
 msgstr "Erzeuge die kleinstmöglichen Änderungen"
 
-#: diff.c:5423
+#: diff.c:5410
 msgid "ignore whitespace when comparing lines"
 msgstr "Whitespace-Änderungen beim Vergleich von Zeilen ignorieren"
 
-#: diff.c:5426
+#: diff.c:5413
 msgid "ignore changes in amount of whitespace"
 msgstr "Änderungen bei der Anzahl von Whitespace ignorieren"
 
-#: diff.c:5429
+#: diff.c:5416
 msgid "ignore changes in whitespace at EOL"
 msgstr "Whitespace-Änderungen am Zeilenende ignorieren"
 
-#: diff.c:5432
+#: diff.c:5419
 msgid "ignore carrier-return at the end of line"
 msgstr "Ignoriere den Zeilenumbruch am Ende der Zeile"
 
-#: diff.c:5435
+#: diff.c:5422
 msgid "ignore changes whose lines are all blank"
 msgstr "Ignoriere Änderungen in leeren Zeilen"
 
-#: diff.c:5438
+#: diff.c:5425
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr ""
 "Heuristik, um Grenzen der Änderungsblöcke für bessere Lesbarkeit zu "
 "verschieben"
 
-#: diff.c:5441
+#: diff.c:5428
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "Erzeuge Änderungen durch Nutzung des Algorithmus \"Patience Diff\""
 
-#: diff.c:5445
+#: diff.c:5432
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr "Erzeuge Änderungen durch Nutzung des Algorithmus \"Histogram Diff\""
 
-#: diff.c:5447
+#: diff.c:5434
 msgid "<algorithm>"
 msgstr "<Algorithmus>"
 
-#: diff.c:5448
+#: diff.c:5435
 msgid "choose a diff algorithm"
 msgstr "Ein Algorithmus für Änderungen wählen"
 
-#: diff.c:5450
+#: diff.c:5437
 msgid "<text>"
 msgstr "<Text>"
 
-#: diff.c:5451
+#: diff.c:5438
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "Erzeuge Änderungen durch Nutzung des Algorithmus \"Anchored Diff\""
 
-#: diff.c:5453 diff.c:5462 diff.c:5465
+#: diff.c:5440 diff.c:5449 diff.c:5452
 msgid "<mode>"
 msgstr "<Modus>"
 
-#: diff.c:5454
+#: diff.c:5441
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr "Zeige Wort-Änderungen, nutze <Modus>, um Wörter abzugrenzen"
 
-#: diff.c:5456 diff.c:5459 diff.c:5504
+#: diff.c:5443 diff.c:5446 diff.c:5491
 msgid "<regex>"
 msgstr "<Regex>"
 
-#: diff.c:5457
+#: diff.c:5444
 msgid "use <regex> to decide what a word is"
 msgstr "Nutze <Regex>, um zu entscheiden, was ein Wort ist"
 
-#: diff.c:5460
+#: diff.c:5447
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "Entsprechend wie --word-diff=color --word-diff-regex=<Regex>"
 
-#: diff.c:5463
+#: diff.c:5450
 msgid "moved lines of code are colored differently"
 msgstr "Verschobene Codezeilen sind andersfarbig"
 
-#: diff.c:5466
+#: diff.c:5453
 msgid "how white spaces are ignored in --color-moved"
 msgstr "Wie Whitespaces in --color-moved ignoriert werden"
 
-#: diff.c:5469
+#: diff.c:5456
 msgid "Other diff options"
 msgstr "Andere Diff-Optionen"
 
-#: diff.c:5471
+#: diff.c:5458
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "Wenn vom Unterverzeichnis aufgerufen, schließe Änderungen außerhalb aus und "
 "zeige relative Pfade an"
 
-#: diff.c:5475
+#: diff.c:5462
 msgid "treat all files as text"
 msgstr "alle Dateien als Text behandeln"
 
-#: diff.c:5477
+#: diff.c:5464
 msgid "swap two inputs, reverse the diff"
 msgstr "Vertausche die beiden Eingaben und drehe die Änderungen um"
 
-#: diff.c:5479
+#: diff.c:5466
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr ""
 "Beende mit Exit-Status 1, wenn Änderungen vorhanden sind, andernfalls mit 0"
 
-#: diff.c:5481
+#: diff.c:5468
 msgid "disable all output of the program"
 msgstr "Keine Ausgaben vom Programm"
 
-#: diff.c:5483
+#: diff.c:5470
 msgid "allow an external diff helper to be executed"
 msgstr "Erlaube die Ausführung eines externes Programms für Änderungen"
 
-#: diff.c:5485
+#: diff.c:5472
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "Führe externe Text-Konvertierungsfilter aus, wenn binäre Dateien vergleicht "
 "werden"
 
-#: diff.c:5487
+#: diff.c:5474
 msgid "<when>"
 msgstr "<wann>"
 
-#: diff.c:5488
+#: diff.c:5475
 msgid "ignore changes to submodules in the diff generation"
 msgstr ""
 "Änderungen in Submodulen während der Erstellung der Unterschiede ignorieren"
 
-#: diff.c:5491
+#: diff.c:5478
 msgid "<format>"
 msgstr "<Format>"
 
-#: diff.c:5492
+#: diff.c:5479
 msgid "specify how differences in submodules are shown"
 msgstr "Angeben, wie Unterschiede in Submodulen gezeigt werden"
 
-#: diff.c:5496
+#: diff.c:5483
 msgid "hide 'git add -N' entries from the index"
 msgstr "verstecke 'git add -N' Einträge vom Index"
 
-#: diff.c:5499
+#: diff.c:5486
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "Behandle 'git add -N' Einträge im Index als echt"
 
-#: diff.c:5501
+#: diff.c:5488
 msgid "<string>"
 msgstr "<Zeichenkette>"
 
-#: diff.c:5502
+#: diff.c:5489
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -2994,7 +3690,7 @@ msgstr ""
 "Suche nach Unterschieden, welche die Anzahl des Vorkommens der angegebenen "
 "Zeichenkette verändern"
 
-#: diff.c:5505
+#: diff.c:5492
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3002,25 +3698,25 @@ msgstr ""
 "Suche nach Unterschieden, welche die Anzahl des Vorkommens des angegebenen "
 "regulären Ausdrucks verändern"
 
-#: diff.c:5508
+#: diff.c:5495
 msgid "show all changes in the changeset with -S or -G"
 msgstr "zeige alle Änderungen im Changeset mit -S oder -G"
 
-#: diff.c:5511
+#: diff.c:5498
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr ""
 "behandle <Zeichenkette> bei -S als erweiterten POSIX regulären Ausdruck"
 
-#: diff.c:5514
+#: diff.c:5501
 msgid "control the order in which files appear in the output"
 msgstr ""
 "kontrolliere die Reihenfolge, in der die Dateien in der Ausgabe erscheinen"
 
-#: diff.c:5515
+#: diff.c:5502
 msgid "<object-id>"
 msgstr "<Objekt-ID>"
 
-#: diff.c:5516
+#: diff.c:5503
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3028,33 +3724,33 @@ msgstr ""
 "Suche nach Unterschieden, welche die Anzahl des Vorkommens des angegebenen "
 "Objektes verändern"
 
-#: 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 "Wähle Dateien anhand der Art der Änderung"
 
-#: diff.c:5521
+#: diff.c:5508
 msgid "<file>"
 msgstr "<Datei>"
 
-#: diff.c:5522
+#: diff.c:5509
 msgid "Output to a specific file"
 msgstr "Ausgabe zu einer bestimmten Datei"
 
-#: diff.c:6177
+#: diff.c:6164
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "Ungenaue Erkennung für Umbenennungen wurde aufgrund zu vieler Dateien\n"
 "übersprungen."
 
-#: diff.c:6180
+#: diff.c:6167
 msgid "only found copies from modified paths due to too many files."
 msgstr "nur Kopien von geänderten Pfaden, aufgrund zu vieler Dateien, gefunden"
 
-#: 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."
@@ -3062,43 +3758,64 @@ msgstr ""
 "Sie könnten die Variable %s auf mindestens %d setzen und den Befehl\n"
 "erneut versuchen."
 
-#: dir.c:537
+#: dir.c:555
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr ""
 "Pfadspezifikation '%s' stimmt mit keinen git-bekannten Dateien überein."
 
-#: dir.c:926
+#: dir.c:695 dir.c:724 dir.c:737
+#, c-format
+msgid "unrecognized pattern: '%s'"
+msgstr "Unbekanntes Muster: '%s'"
+
+#: dir.c:754 dir.c:768
+#, c-format
+msgid "unrecognized negative pattern: '%s'"
+msgstr "Unbekanntes verneinendes Muster: '%s'"
+
+#: dir.c:786
+#, c-format
+msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
+msgstr ""
+"Ihre Datei für den partiellen Checkout hat eventuell Probleme:\n"
+"Muster '%s' wiederholt sich."
+
+#: dir.c:796
+msgid "disabling cone pattern matching"
+msgstr "Deaktiviere Cone-Muster-Übereinstimmung"
+
+#: dir.c:1173
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "Kann %s nicht als exclude-Filter benutzen."
 
-#: dir.c:1843
+#: dir.c:2144
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "Konnte Verzeichnis '%s' nicht öffnen."
 
-#: dir.c:2085
+#: dir.c:2479
 msgid "failed to get kernel name and information"
 msgstr "Fehler beim Sammeln von Namen und Informationen zum Kernel"
 
-#: dir.c:2209
+#: dir.c:2603
 msgid "untracked cache is disabled on this system or location"
 msgstr ""
 "Cache für unversionierte Dateien ist auf diesem System oder\n"
 "für dieses Verzeichnis deaktiviert."
 
-#: dir.c:3013
+#: dir.c:3407
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "Index-Datei in Repository %s beschädigt."
 
-#: dir.c:3058 dir.c:3063
+#: dir.c:3452 dir.c:3457
 #, c-format
 msgid "could not create directories for %s"
 msgstr "Konnte Verzeichnisse für '%s' nicht erstellen."
 
-#: dir.c:3092
+#: dir.c:3486
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
@@ -3117,12 +3834,12 @@ msgstr "Filtere Inhalt"
 msgid "could not stat file '%s'"
 msgstr "Konnte Datei '%s' nicht lesen."
 
-#: environment.c:150
+#: environment.c:149
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "Ungültiger Git-Namespace-Pfad \"%s\""
 
-#: environment.c:332
+#: environment.c:331
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr "Konnte GIT_DIR nicht zu '%s' setzen."
@@ -3132,265 +3849,269 @@ msgstr "Konnte GIT_DIR nicht zu '%s' setzen."
 msgid "too many args to run %s"
 msgstr "Zu viele Argumente angegeben, um %s auszuführen."
 
-#: fetch-object.c:17
-msgid "Remote with no URL"
-msgstr "Remote-Repository ohne URL"
-
-#: fetch-pack.c:151
+#: fetch-pack.c:150
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: erwartete shallow-Liste"
 
-#: fetch-pack.c:154
+#: fetch-pack.c:153
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr "git fetch-pack: erwartete ein Flush-Paket nach der shallow-Liste"
 
-#: 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 erwartet, Flush-Paket bekommen"
 
-#: 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 erwartet, '%s' bekommen"
 
-#: fetch-pack.c:196
+#: fetch-pack.c:195
 msgid "unable to write to remote"
 msgstr "konnte nicht zum Remote schreiben"
 
-#: fetch-pack.c:258
+#: fetch-pack.c:257
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc benötigt 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 "Ungültige shallow-Zeile: %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 "Ungültige unshallow-Zeile: %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 "Objekt nicht gefunden: %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 "Fehler in Objekt: %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 "Kein shallow-Objekt gefunden: %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 erwartet, %s bekommen"
 
-#: fetch-pack.c:417
+#: fetch-pack.c:414
 #, c-format
 msgid "got %s %d %s"
 msgstr "%s %d %s bekommen"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:431
 #, c-format
 msgid "invalid commit %s"
 msgstr "Ungültiger Commit %s"
 
-#: fetch-pack.c:465
+#: fetch-pack.c:462
 msgid "giving up"
 msgstr "Gebe auf"
 
-#: fetch-pack.c:477 progress.c:277
+#: fetch-pack.c:475 progress.c:323
 msgid "done"
 msgstr "Fertig"
 
-#: fetch-pack.c:489
+#: fetch-pack.c:487
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "%s (%d) %s bekommen"
 
-#: fetch-pack.c:535
+#: fetch-pack.c:533
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Markiere %s als vollständig"
 
-#: fetch-pack.c:744
+#: fetch-pack.c:754
 #, c-format
 msgid "already have %s (%s)"
 msgstr "habe %s (%s) bereits"
 
-#: fetch-pack.c:783
+#: fetch-pack.c:818
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack: Fehler beim Starten des sideband demultiplexer"
 
-#: fetch-pack.c:791
+#: fetch-pack.c:826
 msgid "protocol error: bad pack header"
 msgstr "Protokollfehler: ungültiger Pack-Header"
 
-#: fetch-pack.c:859
+#: fetch-pack.c:900
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack: konnte %s nicht starten"
 
-#: fetch-pack.c:875
+#: fetch-pack.c:916
 #, c-format
 msgid "%s failed"
 msgstr "%s fehlgeschlagen"
 
-#: fetch-pack.c:877
+#: fetch-pack.c:918
 msgid "error in sideband demultiplexer"
 msgstr "Fehler in sideband demultiplexer"
 
-#: fetch-pack.c:908
+#: fetch-pack.c:965
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Server-Version ist %.*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 "Server unterstützt %s"
 
-#: fetch-pack.c:915
+#: fetch-pack.c:972
 msgid "Server does not support shallow clients"
 msgstr "Server unterstützt keine shallow-Clients"
 
-#: fetch-pack.c:975
+#: fetch-pack.c:1032
 msgid "Server does not support --shallow-since"
 msgstr "Server unterstützt kein --shallow-since"
 
-#: fetch-pack.c:980
+#: fetch-pack.c:1037
 msgid "Server does not support --shallow-exclude"
 msgstr "Server unterstützt kein --shallow-exclude"
 
-#: fetch-pack.c:984
+#: fetch-pack.c:1041
 msgid "Server does not support --deepen"
 msgstr "Server unterstützt kein --deepen"
 
-#: fetch-pack.c:1001
+#: fetch-pack.c:1058
 msgid "no common commits"
 msgstr "keine gemeinsamen Commits"
 
-#: 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: Abholen fehlgeschlagen."
 
-#: fetch-pack.c:1151
+#: fetch-pack.c:1209
 msgid "Server does not support shallow requests"
 msgstr "Server unterstützt keine shallow-Anfragen."
 
-#: fetch-pack.c:1157
+#: fetch-pack.c:1216
 msgid "Server supports filter"
 msgstr "Server unterstützt Filter"
 
-#: fetch-pack.c:1184
+#: fetch-pack.c:1239
 msgid "unable to write request to remote"
 msgstr "konnte Anfrage nicht zum Remote schreiben"
 
-#: fetch-pack.c:1202
+#: fetch-pack.c:1257
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "Fehler beim Lesen von Sektionskopf '%s'."
 
-#: fetch-pack.c:1208
+#: fetch-pack.c:1263
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "'%s' erwartet, '%s' empfangen"
 
-#: fetch-pack.c:1247
+#: fetch-pack.c:1303
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "Unerwartete Acknowledgment-Zeile: '%s'"
 
-#: fetch-pack.c:1252
+#: fetch-pack.c:1308
 #, c-format
 msgid "error processing acks: %d"
 msgstr "Fehler beim Verarbeiten von ACKS: %d"
 
-#: fetch-pack.c:1262
+#: fetch-pack.c:1318
 msgid "expected packfile to be sent after 'ready'"
 msgstr "Erwartete Versand einer Packdatei nach 'ready'."
 
-#: fetch-pack.c:1264
+#: fetch-pack.c:1320
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "Erwartete keinen Versand einer anderen Sektion ohne 'ready'."
 
-#: fetch-pack.c:1306
+#: fetch-pack.c:1362
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "Fehler beim Verarbeiten von Shallow-Informationen: %d"
 
-#: fetch-pack.c:1353
+#: fetch-pack.c:1409
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "wanted-ref erwartet, '%s' bekommen"
 
-#: fetch-pack.c:1358
+#: fetch-pack.c:1414
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "Unerwartetes wanted-ref: '%s'"
 
-#: fetch-pack.c:1363
+#: fetch-pack.c:1419
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "Fehler beim Verarbeiten von wanted-refs: %d"
 
-#: fetch-pack.c:1689
+#: fetch-pack.c:1762
 msgid "no matching remote head"
 msgstr "kein übereinstimmender Remote-Branch"
 
-#: 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 "Remote-Repository hat nicht alle erforderlichen Objekte gesendet."
 
-#: fetch-pack.c:1739
+#: fetch-pack.c:1812
 #, c-format
 msgid "no such remote ref %s"
 msgstr "keine solche Remote-Referenz %s"
 
-#: fetch-pack.c:1742
+#: fetch-pack.c:1815
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "Der Server lehnt Anfrage nach nicht angebotenem Objekt %s ab."
 
-#: gpg-interface.c:321
+#: gpg-interface.c:408
 msgid "gpg failed to sign the data"
 msgstr "gpg beim Signieren der Daten fehlgeschlagen"
 
-#: gpg-interface.c:347
+#: gpg-interface.c:434
 msgid "could not create temporary file"
 msgstr "konnte temporäre Datei nicht erstellen"
 
-#: gpg-interface.c:350
+#: gpg-interface.c:437
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "Fehler beim Schreiben der losgelösten Signatur nach '%s'"
 
-#: graph.c:97
+#: graph.c:98
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "Ignoriere ungültige Farbe '%.*s' in log.graphColors"
 
-#: grep.c:2117
+#: grep.c:668
+msgid ""
+"given pattern contains NULL byte (via -f <file>). This is only supported "
+"with -P under PCRE v2"
+msgstr ""
+"Angegebenes Muster enthält NULL Byte (über -f <Datei>). Das wird nur mit -"
+"Punter PCRE v2 unterstützt."
+
+#: grep.c:2128
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': konnte %s nicht lesen"
 
-#: 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 "Konnte '%s' nicht lesen"
 
-#: grep.c:2145
+#: grep.c:2156
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s': read() zu kurz"
@@ -3440,7 +4161,7 @@ msgid "Low-level Commands / Interrogators"
 msgstr "Systembefehle / Abfragen"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr "Systembefehle / Repositories synchronisieren"
 
 #: help.c:38
@@ -3535,12 +4256,12 @@ msgstr[1] ""
 msgid "git version [<options>]"
 msgstr "git version [<Optionen>]"
 
-#: 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?"
@@ -3608,47 +4329,62 @@ msgstr "Leerer Name in Identifikation (für <%s>) nicht erlaubt."
 msgid "name consists only of disallowed characters: %s"
 msgstr "Name besteht nur aus nicht erlaubten Zeichen: %s"
 
-#: ident.c:436 builtin/commit.c:611
+#: ident.c:436 builtin/commit.c:635
 #, c-format
 msgid "invalid date format: %s"
 msgstr "Ungültiges Datumsformat: %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 ""
 "Eintrag '%s' im Tree-Objekt %s hat Tree-Modus, aber ist kein Tree-Objekt"
 
-#: 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 "Eintrag '%s' im Tree-Objekt %s hat Blob-Modus, aber ist kein Blob"
 
-#: list-objects.c:378
+#: list-objects.c:375
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr "Konnte Root-Tree-Objekt für Commit %s nicht laden."
 
-#: list-objects-filter-options.c:36
-msgid "multiple filter-specs cannot be combined"
-msgstr "Mehrere filter-specs können nicht kombiniert werden."
+#: list-objects-filter.c:492
+#, c-format
+msgid "unable to access sparse blob in '%s'"
+msgstr "konnte nicht auf partiellen Blob '%s' zugreifen"
+
+#: list-objects-filter.c:495
+#, c-format
+msgid "unable to parse sparse filter data in %s"
+msgstr "Konnte partielle Filter-Daten in %s nicht parsen."
 
 #: list-objects-filter-options.c:58
 msgid "expected 'tree:<depth>'"
 msgstr "'tree:<Tiefe>' erwartet"
 
-#: list-objects-filter-options.c:84
+#: list-objects-filter-options.c:73
 msgid "sparse:path filters support has been dropped"
 msgstr "Keine Unterstützung für sparse:path Filter mehr"
 
-#: list-objects-filter-options.c:94
+#: list-objects-filter-options.c:86
 #, c-format
 msgid "invalid filter-spec '%s'"
 msgstr "Ungültige filter-spec '%s'"
 
-#: list-objects-filter-options.c:158
-msgid "cannot change partial clone promisor remote"
-msgstr "Kann Remote-Repository für partielles Klonen nicht ändern."
+#: list-objects-filter-options.c:102
+#, c-format
+msgid "must escape char in sub-filter-spec: '%c'"
+msgstr "Zeichen in sub-filter-spec muss maskiert werden: '%c'"
+
+#: list-objects-filter-options.c:144
+msgid "expected something after combine:"
+msgstr "erwartete etwas nach 'combine:'"
+
+#: list-objects-filter-options.c:226
+msgid "multiple filter-specs cannot be combined"
+msgstr "Mehrere filter-specs können nicht kombiniert werden."
 
 #: lockfile.c:151
 #, c-format
@@ -3679,118 +4415,114 @@ msgstr "Konnte '%s.lock' nicht erstellen: %s"
 msgid "failed to read the cache"
 msgstr "Lesen des Zwischenspeichers fehlgeschlagen"
 
-#: 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 "Konnte neue Index-Datei nicht schreiben."
 
-#: merge-recursive.c:322
+#: merge-recursive.c:356
 msgid "(bad commit)\n"
 msgstr "(ungültiger Commit)\n"
 
-#: merge-recursive.c:345
+#: merge-recursive.c:379
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "add_cacheinfo für Pfad '%s' fehlgeschlagen; Merge wird abgebrochen."
 
-#: merge-recursive.c:354
+#: merge-recursive.c:388
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr ""
 "add_cacheinfo zur Aktualisierung für Pfad '%s' fehlgeschlagen;\n"
 "Merge wird abgebrochen."
 
-#: merge-recursive.c:437
-msgid "error building trees"
-msgstr "Fehler beim Erstellen der \"Tree\"-Objekte"
-
-#: merge-recursive.c:863
+#: merge-recursive.c:874
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "Fehler beim Erstellen des Pfades '%s'%s"
 
-#: merge-recursive.c:874
+#: merge-recursive.c:885
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Entferne %s, um Platz für Unterverzeichnis zu schaffen\n"
 
-#: merge-recursive.c:888 merge-recursive.c:907
+#: merge-recursive.c:899 merge-recursive.c:918
 msgid ": perhaps a D/F conflict?"
 msgstr ": vielleicht ein Verzeichnis/Datei-Konflikt?"
 
-#: merge-recursive.c:897
+#: merge-recursive.c:908
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "verweigere, da unversionierte Dateien in '%s' verloren gehen würden"
 
-#: 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 "kann Objekt %s '%s' nicht lesen"
 
-#: merge-recursive.c:941
+#: merge-recursive.c:954
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "Blob erwartet für %s '%s'"
 
-#: merge-recursive.c:965
+#: merge-recursive.c:979
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "Fehler beim Öffnen von '%s': %s"
 
-#: merge-recursive.c:976
+#: merge-recursive.c:990
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "Fehler beim Erstellen einer symbolischen Verknüpfung für '%s': %s"
 
-#: merge-recursive.c:981
+#: merge-recursive.c:995
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "weiß nicht was mit %06o %s '%s' zu machen ist"
 
-#: merge-recursive.c:1177
+#: merge-recursive.c:1191
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Fehler beim Merge von Submodul %s (nicht ausgecheckt)."
 
-#: merge-recursive.c:1184
+#: merge-recursive.c:1198
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Fehler beim Merge von Submodul %s (Commits nicht vorhanden)."
 
-#: merge-recursive.c:1191
+#: merge-recursive.c:1205
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr "Fehler beim Merge von Submodul %s (Commits folgen keiner Merge-Basis)"
 
-#: 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 "Spule Submodul %s zu dem folgenden Commit vor:"
 
-#: merge-recursive.c:1202 merge-recursive.c:1214
+#: merge-recursive.c:1216 merge-recursive.c:1228
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Spule Submodul %s vor"
 
-#: merge-recursive.c:1237
+#: merge-recursive.c:1251
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 "Fehler beim Merge von Submodule %s (dem Merge nachfolgende Commits nicht "
 "gefunden)"
 
-#: merge-recursive.c:1241
+#: merge-recursive.c:1255
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Fehler beim Merge von Submodul %s (kein Vorspulen)"
 
-#: merge-recursive.c:1242
+#: merge-recursive.c:1256
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Mögliche Auflösung des Merges für Submodul gefunden:\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"
@@ -3807,33 +4539,33 @@ msgstr ""
 "\n"
 "hinzu, um diesen Vorschlag zu akzeptieren.\n"
 
-#: merge-recursive.c:1254
+#: merge-recursive.c:1268
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Fehler beim Merge von Submodul %s (mehrere Merges gefunden)"
 
-#: merge-recursive.c:1327
+#: merge-recursive.c:1341
 msgid "Failed to execute internal merge"
 msgstr "Fehler bei Ausführung des internen Merges"
 
-#: merge-recursive.c:1332
+#: merge-recursive.c:1346
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Konnte %s nicht zur Datenbank hinzufügen"
 
-#: merge-recursive.c:1364
+#: merge-recursive.c:1378
 #, c-format
 msgid "Auto-merging %s"
 msgstr "automatischer Merge von %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 ""
 "Fehler: Verweigere unversionierte Datei bei %s zu verlieren;\n"
 "schreibe stattdessen nach %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 "
@@ -3842,7 +4574,7 @@ msgstr ""
 "KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
 "im Arbeitsbereich gelassen."
 
-#: 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 "
@@ -3851,7 +4583,7 @@ msgstr ""
 "KONFLIKT (%s/löschen): %s gelöscht in %s und %s nach %s in %s. Stand %s von "
 "%s wurde im Arbeitsbereich gelassen."
 
-#: 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 "
@@ -3860,7 +4592,7 @@ msgstr ""
 "KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
 "im Arbeitsbereich bei %s gelassen."
 
-#: 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 "
@@ -3869,46 +4601,46 @@ msgstr ""
 "KONFLIKT (%s/löschen): %s gelöscht in %s und %s nach %s in %s. Stand %s von "
 "%s wurde im Arbeitsbereich bei %s gelassen."
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1526
 msgid "rename"
 msgstr "umbenennen"
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1526
 msgid "renamed"
 msgstr "umbenannt"
 
-#: 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 "Verweigere geänderte Datei bei %s zu verlieren."
 
-#: 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 ""
 "Verweigere unversionierte Datei bei %s zu verlieren, auch wenn diese im Weg "
 "ist."
 
-#: merge-recursive.c:1659
+#: merge-recursive.c:1645
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "KONFLIKT (umbenennen/hinzufügen): Benenne um %s->%s in %s. %s hinzugefügt in "
 "%s"
 
-#: merge-recursive.c:1690
+#: merge-recursive.c:1676
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s ist ein Verzeichnis in %s, füge es stattdessen als %s hinzu"
 
-#: merge-recursive.c:1695
+#: merge-recursive.c:1681
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr ""
 "Verweigere unversionierte Datei bei %s zu verlieren; füge stattdessen %s "
 "hinzu"
 
-#: merge-recursive.c:1714
+#: merge-recursive.c:1708
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3917,18 +4649,18 @@ msgstr ""
 "KONFLIKT (umbenennen/umbenennen): Benenne um \"%s\"->\"%s\" in Branch \"%s\" "
 "und \"%s\"->\"%s\" in Branch \"%s\"%s"
 
-#: merge-recursive.c:1719
+#: merge-recursive.c:1713
 msgid " (left unresolved)"
 msgstr " (bleibt unaufgelöst)"
 
-#: 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 ""
 "KONFLIKT (umbenennen/umbenennen): Benenne um %s->%s in %s. Benenne um %s->%s "
 "in %s"
 
-#: merge-recursive.c:2035
+#: merge-recursive.c:2056
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -3941,7 +4673,7 @@ msgstr ""
 "wobei\n"
 "keines dieser Ziele die Mehrheit der Dateien erhielt."
 
-#: merge-recursive.c:2067
+#: merge-recursive.c:2088
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -3952,7 +4684,7 @@ msgstr ""
 "Weg von impliziter Verzeichnisumbenennung, die versucht, einen oder mehrere\n"
 "Pfade dahin zu setzen: %s."
 
-#: merge-recursive.c:2077
+#: merge-recursive.c:2098
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -3963,7 +4695,7 @@ msgstr ""
 "%s mappen; implizite Verzeichnisumbenennungen versuchten diese Pfade dahin\n"
 "zu setzen: %s"
 
-#: merge-recursive.c:2169
+#: merge-recursive.c:2190
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -3972,7 +4704,7 @@ msgstr ""
 "KONFLIKT (umbenennen/umbenennen): Benenne Verzeichnis um %s->%s in %s.\n"
 "Benenne Verzeichnis um %s->%s in %s"
 
-#: merge-recursive.c:2413
+#: merge-recursive.c:2435
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -3981,52 +4713,52 @@ msgstr ""
 "WARNUNG: Vermeide Umbenennung %s -> %s von %s, weil %s selbst umbenannt "
 "wurde."
 
-#: merge-recursive.c:2938
+#: merge-recursive.c:2961
 #, c-format
 msgid "cannot read object %s"
 msgstr "kann Objekt %s nicht lesen"
 
-#: merge-recursive.c:2941
+#: merge-recursive.c:2964
 #, c-format
 msgid "object %s is not a blob"
 msgstr "Objekt %s ist kein Blob"
 
-#: merge-recursive.c:3005
+#: merge-recursive.c:3028
 msgid "modify"
 msgstr "ändern"
 
-#: merge-recursive.c:3005
+#: merge-recursive.c:3028
 msgid "modified"
 msgstr "geändert"
 
-#: merge-recursive.c:3017
+#: merge-recursive.c:3040
 msgid "content"
 msgstr "Inhalt"
 
-#: merge-recursive.c:3021
+#: merge-recursive.c:3044
 msgid "add/add"
 msgstr "hinzufügen/hinzufügen"
 
-#: merge-recursive.c:3044
+#: merge-recursive.c:3067
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s ausgelassen (Ergebnis des Merges existiert bereits)"
 
-#: merge-recursive.c:3066 git-submodule.sh:937
+#: merge-recursive.c:3089 git-submodule.sh:1003
 msgid "submodule"
 msgstr "Submodul"
 
-#: merge-recursive.c:3067
+#: merge-recursive.c:3090
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "KONFLIKT (%s): Merge-Konflikt in %s"
 
-#: merge-recursive.c:3097
+#: merge-recursive.c:3120
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Füge stattdessen als %s hinzu"
 
-#: 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; "
@@ -4035,7 +4767,7 @@ msgstr ""
 "Pfad aktualisiert: %s hinzugefügt in %s innerhalb eines Verzeichnisses, das "
 "umbenannt wurde in %s; Verschiebe es nach %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 "
@@ -4044,7 +4776,7 @@ msgstr ""
 "KONFLIKT (Speicherort): %s hinzugefügt in %s innerhalb eines Verzeichnisses, "
 "das umbenannt wurde in %s, es sollte vielleicht nach %s verschoben werden."
 
-#: 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 "
@@ -4053,7 +4785,7 @@ msgstr ""
 "Pfad aktualisiert: %s umbenannt nach %s in %s, innerhalb eines "
 "Verzeichnisses, das umbenannt wurde in %s; Verschiebe es nach %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 "
@@ -4063,173 +4795,181 @@ msgstr ""
 "Verzeichnisses, das umbenannt wurde in %s, es sollte vielleicht nach %s "
 "verschoben werden."
 
-#: merge-recursive.c:3303
+#: merge-recursive.c:3327
 #, c-format
 msgid "Removing %s"
 msgstr "Entferne %s"
 
-#: merge-recursive.c:3326
+#: merge-recursive.c:3350
 msgid "file/directory"
 msgstr "Datei/Verzeichnis"
 
-#: merge-recursive.c:3331
+#: merge-recursive.c:3355
 msgid "directory/file"
 msgstr "Verzeichnis/Datei"
 
-#: 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 ""
 "KONFLIKT (%s): Es existiert bereits ein Verzeichnis %s in %s. Füge %s als %s "
 "hinzu."
 
-#: merge-recursive.c:3347
+#: merge-recursive.c:3371
 #, c-format
 msgid "Adding %s"
 msgstr "Füge %s hinzu"
 
-#: merge-recursive.c:3356
+#: merge-recursive.c:3380
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "KONFLIKT (hinzufügen/hinzufügen): Merge-Konflikt in %s"
 
-#: merge-recursive.c:3394
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-"Ihre lokalen Änderungen in den folgenden Dateien würden durch den Merge\n"
-"überschrieben werden:\n"
-"  %s"
-
-#: merge-recursive.c:3405
+#: merge-recursive.c:3424
 msgid "Already up to date!"
 msgstr "Bereits aktuell!"
 
-#: merge-recursive.c:3414
+#: merge-recursive.c:3433
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "Zusammenführen der \"Tree\"-Objekte %s und %s fehlgeschlagen"
 
-#: merge-recursive.c:3513
+#: merge-recursive.c:3537
 msgid "Merging:"
 msgstr "Merge:"
 
-#: merge-recursive.c:3526
+#: merge-recursive.c:3550
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "%u gemeinsamen Vorgänger-Commit gefunden"
 msgstr[1] "%u gemeinsame Vorgänger-Commits gefunden"
 
-#: merge-recursive.c:3565
+#: merge-recursive.c:3600
 msgid "merge returned no commit"
 msgstr "Merge hat keinen Commit zurückgegeben"
 
-#: 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 ""
+"Ihre lokalen Änderungen in den folgenden Dateien würden durch den Merge\n"
+"überschrieben werden:\n"
+"  %s"
+
+#: merge-recursive.c:3756
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Konnte Objekt '%s' nicht parsen."
 
-#: 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 "Konnte Index nicht schreiben."
 
-#: midx.c:69
+#: midx.c:68
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "multi-pack-index-Datei %s ist zu klein."
 
-#: midx.c:85
+#: midx.c:84
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 "multi-pack-index-Signatur 0x%08x stimmt nicht mit Signatur 0x%08x überein."
 
-#: midx.c:90
+#: midx.c:89
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "multi-pack-index-Version %d nicht erkannt."
 
-#: midx.c:95
+#: midx.c:94
 #, c-format
 msgid "hash version %u does not match"
 msgstr "Hash-Version %u stimmt nicht überein."
 
-#: midx.c:109
+#: midx.c:108
 msgid "invalid chunk offset (too large)"
 msgstr "Ungültiger Chunk-Offset (zu groß)"
 
-#: midx.c:133
+#: midx.c:132
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr "Abschließende multi-pack-index Chunk-Id erscheint eher als erwartet."
 
-#: midx.c:146
+#: midx.c:145
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "multi-pack-index fehlt erforderlicher pack-name Chunk."
 
-#: midx.c:148
+#: midx.c:147
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "multi-pack-index fehlt erforderlicher OID fanout Chunk."
 
-#: midx.c:150
+#: midx.c:149
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "multi-pack-index fehlt erforderlicher OID lookup Chunk."
 
-#: midx.c:152
+#: midx.c:151
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "multi-pack-index fehlt erforderlicher object offset Chunk."
 
-#: midx.c:166
+#: midx.c:165
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr "Falsche Reihenfolge bei multi-pack-index Pack-Namen: '%s' vor '%s'"
 
-#: midx.c:211
+#: midx.c:210
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "Ungültige pack-int-id: %u (%u Pakete insgesamt)"
 
-#: midx.c:261
+#: midx.c:260
 msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 msgstr ""
 "multi-pack-index speichert einen 64-Bit Offset, aber off_t ist zu klein."
 
-#: midx.c:289
+#: midx.c:288
 msgid "error preparing packfile from multi-pack-index"
 msgstr "Fehler bei Vorbereitung der Packdatei aus multi-pack-index."
 
-#: midx.c:470
+#: midx.c:472
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "Fehler beim Hinzufügen von Packdatei '%s'."
 
-#: midx.c:476
+#: midx.c:478
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "Fehler beim Öffnen von pack-index '%s'"
 
-#: midx.c:536
+#: midx.c:538
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "Fehler beim Lokalisieren von Objekt %d in Packdatei."
 
-#: midx.c:865
+#: midx.c:842
+msgid "Adding packfiles to multi-pack-index"
+msgstr "Packdateien zum multi-pack-index hinzufügen"
+
+#: midx.c:875
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "Pack-Datei %s zum Weglassen nicht gefunden"
 
-#: midx.c:1036
+#: midx.c:973
+msgid "Writing chunks to multi-pack-index"
+msgstr "Chunks zum multi-pack-index schreiben"
+
+#: midx.c:1052
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "Fehler beim Löschen des multi-pack-index bei %s"
 
-#: midx.c:1091
+#: midx.c:1108
 msgid "Looking for referenced packfiles"
 msgstr "Suche nach referenzierten Pack-Dateien"
 
-#: midx.c:1106
+#: midx.c:1123
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
@@ -4237,57 +4977,65 @@ msgstr ""
 "Ungültige oid fanout Reihenfolge: fanout[%d] = %<PRIx32> > %<PRIx32> = "
 "fanout[%d]"
 
-#: midx.c:1110
-msgid "Verifying OID order in MIDX"
-msgstr "Verifiziere OID-Reihenfolge in MIDX"
+#: midx.c:1128
+msgid "Verifying OID order in multi-pack-index"
+msgstr "Verifiziere OID-Reihenfolge im multi-pack-index"
 
-#: midx.c:1119
+#: midx.c:1137
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "Ungültige oid lookup Reihenfolge: oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1138
+#: midx.c:1157
 msgid "Sorting objects by packfile"
 msgstr "Sortiere Objekte nach Pack-Datei"
 
-#: midx.c:1144
+#: midx.c:1164
 msgid "Verifying object offsets"
 msgstr "Überprüfe Objekt-Offsets"
 
-#: midx.c:1160
+#: midx.c:1180
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "Fehler beim Laden des Pack-Eintrags für oid[%d] = %s"
 
-#: midx.c:1166
+#: midx.c:1186
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "Fehler beim Laden des Pack-Index für Packdatei %s"
 
-#: midx.c:1175
+#: midx.c:1195
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "Falscher Objekt-Offset für oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1350
+#: midx.c:1220
+msgid "Counting referenced objects"
+msgstr "Referenzierte Objekte zählen"
+
+#: midx.c:1230
+msgid "Finding and deleting unreferenced packfiles"
+msgstr "Suchen und Löschen von unreferenzierten Pack-Dateien"
+
+#: midx.c:1388
 msgid "could not start pack-objects"
 msgstr "Konnte 'pack-objects' nicht ausführen"
 
-#: midx.c:1369
+#: midx.c:1407
 msgid "could not finish pack-objects"
 msgstr "Konnte 'pack-objects' nicht beenden"
 
-#: name-hash.c:532
+#: name-hash.c:537
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "Kann lazy_dir Thread nicht erzeugen: %s"
 
-#: name-hash.c:554
+#: name-hash.c:559
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "Kann lazy_name Thread nicht erzeugen: %s"
 
-#: name-hash.c:560
+#: name-hash.c:565
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "Kann lazy_name Thread nicht beitreten: %s"
@@ -4337,32 +5085,32 @@ msgstr ""
 msgid "Bad %s value: '%s'"
 msgstr "Ungültiger %s Wert: '%s'"
 
-#: object.c:54
+#: object.c:53
 #, c-format
 msgid "invalid object type \"%s\""
 msgstr "Ungültiger Objekttyp \"%s\""
 
-#: object.c:174
+#: object.c:173
 #, c-format
 msgid "object %s is a %s, not a %s"
 msgstr "Objekt %s ist ein %s, kein %s"
 
-#: object.c:234
+#: object.c:233
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr "Objekt %s hat eine unbekannte Typ-Identifikation %d"
 
-#: object.c:247
+#: object.c:246
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "Konnte Objekt '%s' nicht parsen."
 
-#: object.c:267 object.c:278
+#: object.c:266 object.c:278
 #, c-format
 msgid "hash mismatch %s"
 msgstr "Hash stimmt nicht mit %s überein."
 
-#: packfile.c:648
+#: packfile.c:629
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "Offset vor Ende der Packdatei (fehlerhafte Indexdatei?)"
 
@@ -4376,6 +5124,11 @@ msgstr "Offset vor Beginn des Pack-Index für %s (beschädigter Index?)"
 msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr "Offset hinter Ende des Pack-Index für %s (abgeschnittener Index?)"
 
+#: pack-bitmap.c:800 pack-bitmap.c:806 builtin/pack-objects.c:2134
+#, c-format
+msgid "unable to get size of %s"
+msgstr "Konnte Größe von %s nicht bestimmen."
+
 #: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
@@ -4391,7 +5144,7 @@ msgstr "%s ist inkompatibel mit %s."
 msgid "%s : incompatible with something else"
 msgstr "%s: inkompatibel mit etwas anderem"
 
-#: 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 erwartet keinen Wert"
@@ -4401,43 +5154,43 @@ msgstr "%s erwartet keinen Wert"
 msgid "%s isn't available"
 msgstr "%s ist nicht verfügbar."
 
-#: 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 erwartet einen nicht-negativen Integer-Wert mit einem optionalen k/m/g "
 "Suffix"
 
-#: parse-options.c:389
+#: parse-options.c:386
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "Mehrdeutige Option: %s (kann --%s%s oder --%s%s sein)"
 
-#: 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 "Meinten Sie `--%s` (mit zwei Strichen?)"
+msgid "did you mean `--%s` (with two dashes)?"
+msgstr "Meinten Sie `--%s` (mit zwei Strichen)?"
 
-#: parse-options.c:859
+#: parse-options.c:857
 #, c-format
 msgid "unknown option `%s'"
 msgstr "Unbekannte Option: `%s'"
 
-#: parse-options.c:861
+#: parse-options.c:859
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "Unbekannter Schalter `%c'"
 
-#: parse-options.c:863
+#: parse-options.c:861
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "Unbekannte nicht-Ascii Option in String: `%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 "Verwendung: %s"
@@ -4445,21 +5198,21 @@ msgstr "Verwendung: %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 "      oder: %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 "-NUM"
 
-#: parse-options.c:968
+#: parse-options.c:966
 #, c-format
 msgid "alias of --%s"
 msgstr "Alias für --%s"
@@ -4484,35 +5237,35 @@ msgstr "Option `%s' erwartet \"always\", \"auto\" oder \"never\"."
 msgid "malformed object name '%s'"
 msgstr "fehlerhafter Objekt-Name '%s'"
 
-#: path.c:897
+#: path.c:915
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Konnte Gruppenschreibrecht für %s nicht setzen."
 
-#: pathspec.c:128
+#: pathspec.c:130
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr "Escape-Zeichen '\\' als letztes Zeichen in Attributwert nicht erlaubt"
 
-#: pathspec.c:146
+#: pathspec.c:148
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Es ist nur eine Angabe von 'attr:' erlaubt."
 
-#: pathspec.c:149
+#: pathspec.c:151
 msgid "attr spec must not be empty"
 msgstr "Angabe von 'attr:' darf nicht leer sein"
 
-#: pathspec.c:192
+#: pathspec.c:194
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "Ungültiger Attributname %s"
 
-#: pathspec.c:257
+#: pathspec.c:259
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "Globale Einstellungen zur Pfadspezifikation 'glob' und 'noglob' sind "
 "inkompatibel."
 
-#: pathspec.c:264
+#: pathspec.c:266
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -4520,51 +5273,56 @@ msgstr ""
 "Globale Einstellung zur Pfadspezifikation 'literal' ist inkompatibel\n"
 "mit allen anderen Optionen."
 
-#: pathspec.c:304
+#: pathspec.c:306
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "ungültiger Parameter für Pfadspezifikationsangabe 'prefix'"
 
-#: pathspec.c:325
+#: pathspec.c:327
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "ungültige Pfadspezifikationsangabe '%.*s' in '%s'"
 
-#: pathspec.c:330
+#: pathspec.c:332
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "Fehlendes ')' am Ende der Pfadspezifikationsangabe in '%s'"
 
-#: pathspec.c:368
+#: pathspec.c:370
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "nicht unterstützte Pfadspezifikationsangabe '%c' in '%s'"
 
-#: pathspec.c:427
+#: pathspec.c:429
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s: 'literal' und 'glob' sind inkompatibel"
 
-#: pathspec.c:440
+#: pathspec.c:442
 #, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s: '%s' liegt außerhalb des Repositories"
+msgid "%s: '%s' is outside repository at '%s'"
+msgstr "%s: '%s' liegt außerhalb des Repositories von '%s'"
 
-#: pathspec.c:514
+#: pathspec.c:517
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s' (Kürzel: '%c')"
 
-#: pathspec.c:524
+#: pathspec.c:527
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s: Pfadspezifikationsangabe wird von diesem Befehl nicht unterstützt: %s"
 
-#: pathspec.c:591
+#: pathspec.c:594
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "Pfadspezifikation '%s' ist hinter einer symbolischen Verknüpfung"
 
+#: pathspec.c:639
+#, c-format
+msgid "line is badly quoted: %s"
+msgstr "Zeile enthält falsche Anführungszeichen: %s"
+
 #: pkt-line.c:92
 msgid "unable to write flush packet"
 msgstr "Konnte Flush-Paket nicht schreiben."
@@ -4626,33 +5384,42 @@ msgstr "Aktualisiere Index"
 msgid "unable to create threaded lstat: %s"
 msgstr "Kann Thread für lstat nicht erzeugen: %s"
 
-#: pretty.c:966
+#: pretty.c:981
 msgid "unable to parse --pretty format"
 msgstr "Konnte --pretty Format nicht parsen."
 
-#: range-diff.c:70
+#: promisor-remote.c:23
+msgid "Remote with no URL"
+msgstr "Remote-Repository ohne URL"
+
+#: promisor-remote.c:58
+#, c-format
+msgid "promisor remote name cannot begin with '/': %s"
+msgstr "Promisor-Remote-Name kann nicht mit '/' beginnen: %s"
+
+#: range-diff.c:75
 msgid "could not start `log`"
 msgstr "Konnte `log` nicht starten."
 
-#: range-diff.c:72
+#: range-diff.c:77
 msgid "could not read `log` output"
 msgstr "Konnte Ausgabe von `log` nicht lesen."
 
-#: range-diff.c:91 sequencer.c:5021
+#: range-diff.c:96 sequencer.c:5020
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "Konnte Commit '%s' nicht parsen."
 
-#: range-diff.c:117
+#: range-diff.c:122
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "Konnte Git-Header '%.*s' nicht parsen."
 
-#: range-diff.c:274
+#: range-diff.c:285
 msgid "failed to generate diff"
 msgstr "Fehler beim Generieren des Diffs."
 
-#: 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 "Konnte Log für '%s' nicht parsen."
@@ -4694,16 +5461,16 @@ msgstr "Konnte '%s' nicht dem Index hinzufügen."
 msgid "unable to stat '%s'"
 msgstr "Konnte '%s' nicht lesen."
 
-#: read-cache.c:1314
+#: read-cache.c:1330
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' scheint eine Datei und ein Verzeichnis zu sein."
 
-#: read-cache.c:1499
+#: read-cache.c:1536
 msgid "Refresh index"
 msgstr "Aktualisiere Index"
 
-#: read-cache.c:1613
+#: read-cache.c:1651
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -4712,7 +5479,7 @@ msgstr ""
 "index.version gesetzt, aber Wert ungültig.\n"
 "Verwende Version %i"
 
-#: read-cache.c:1623
+#: read-cache.c:1661
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -4721,143 +5488,154 @@ msgstr ""
 "GIT_INDEX_VERSION gesetzt, aber Wert ungültig.\n"
 "Verwende Version %i"
 
-#: read-cache.c:1679
+#: read-cache.c:1717
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "Ungültige Signatur 0x%08x"
 
-#: read-cache.c:1682
+#: read-cache.c:1720
 #, c-format
 msgid "bad index version %d"
 msgstr "Ungültige Index-Version %d"
 
-#: read-cache.c:1691
+#: read-cache.c:1729
 msgid "bad index file sha1 signature"
 msgstr "Ungültige SHA1-Signatur der Index-Datei."
 
-#: read-cache.c:1721
+#: read-cache.c:1759
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "Index verwendet Erweiterung %.4s, welche wir nicht unterstützen."
 
-#: read-cache.c:1723
+#: read-cache.c:1761
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "Ignoriere Erweiterung %.4s"
 
-#: read-cache.c:1760
+#: read-cache.c:1798
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "Unbekanntes Format für Index-Eintrag 0x%08x"
 
-#: read-cache.c:1776
+#: read-cache.c:1814
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "Ungültiges Namensfeld im Index, in der Nähe von Pfad '%s'."
 
-#: read-cache.c:1833
+#: read-cache.c:1871
 msgid "unordered stage entries in index"
 msgstr "Ungeordnete Stage-Einträge im Index."
 
-#: read-cache.c:1836
+#: read-cache.c:1874
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "Mehrere Stage-Einträge für zusammengeführte Datei '%s'."
 
-#: read-cache.c:1839
+#: read-cache.c:1877
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "Ungeordnete Stage-Einträge für '%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 "Index-Datei beschädigt"
 
-#: read-cache.c:2087
+#: read-cache.c:2124
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "Kann Thread für load_cache_entries nicht erzeugen: %s"
 
-#: read-cache.c:2100
+#: read-cache.c:2137
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "Kann Thread für load_cache_entries nicht erzeugen: %s"
 
-#: read-cache.c:2133
+#: read-cache.c:2170
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s: Öffnen der Index-Datei fehlgeschlagen."
 
-#: read-cache.c:2137
+#: read-cache.c:2174
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s: Kann geöffneten Index nicht lesen."
 
-#: read-cache.c:2141
+#: read-cache.c:2178
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s: Index-Datei ist kleiner als erwartet."
 
-#: read-cache.c:2145
+#: read-cache.c:2182
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s: Konnte Index-Datei nicht einlesen."
 
-#: read-cache.c:2187
+#: read-cache.c:2224
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "Kann Thread für load_index_extensions nicht erzeugen: %s"
 
-#: read-cache.c:2214
+#: read-cache.c:2251
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "Kann Thread für load_index_extensions nicht beitreten: %s"
 
-#: read-cache.c:2246
+#: read-cache.c:2283
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "Konnte geteilten Index '%s' nicht aktualisieren."
 
-#: read-cache.c:2293
+#: read-cache.c:2330
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "Fehlerhafter Index. Erwartete %s in %s, erhielt %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 "Konnte '%s' nicht schließen."
 
-#: 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 "Konnte '%s' nicht lesen."
 
-#: read-cache.c:3105
+#: read-cache.c:3142
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "konnte Git-Verzeichnis nicht öffnen: %s"
 
-#: read-cache.c:3117
+#: read-cache.c:3154
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "Konnte '%s' nicht entfernen."
 
-#: read-cache.c:3142
+#: read-cache.c:3179
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "Konnte Zugriffsberechtigung auf '%s' nicht setzen."
 
-#: read-cache.c:3291
+#: read-cache.c:3328
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s: Kann nicht auf Stufe #0 wechseln."
 
-#: 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 ""
+"Sie können das mit 'git rebase --edit-todo' beheben. Führen Sie danach\n"
+"'git rebase --continue' aus.\n"
+"Oder Sie können den Rebase mit 'git rebase --abort' abbrechen.\n"
+
+#: rebase-interactive.c:33
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
@@ -4865,7 +5643,7 @@ msgstr ""
 "Nicht erkannte Einstellung %s für Option rebase.missingCommitsCheck. "
 "Ignoriere."
 
-#: rebase-interactive.c:35
+#: rebase-interactive.c:42
 msgid ""
 "\n"
 "Commands:\n"
@@ -4910,14 +5688,14 @@ msgstr ""
 "Diese Zeilen können umsortiert werden; Sie werden von oben nach unten\n"
 "ausgeführt.\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] "Rebase von %s auf %s (%d Kommando)"
 msgstr[1] "Rebase von %s auf %s (%d Kommandos)"
 
-#: 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"
@@ -4926,7 +5704,7 @@ msgstr ""
 "Keine Zeile entfernen. Benutzen Sie 'drop', um explizit einen Commit zu\n"
 "entfernen.\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"
@@ -4934,7 +5712,7 @@ msgstr ""
 "\n"
 "Wenn Sie hier eine Zeile entfernen, wird DIESER COMMIT VERLOREN GEHEN.\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"
@@ -4948,7 +5726,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"
@@ -4958,22 +5736,19 @@ msgstr ""
 "Wenn Sie jedoch alles löschen, wird der Rebase abgebrochen.\n"
 "\n"
 
-#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955
-msgid "Note that empty commits are commented out"
-msgstr "Leere Commits sind auskommentiert."
-
-#: 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 "Konnte '%s' nicht schreiben."
 
-#: 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 "Konnte '%s' nicht nach '%s' kopieren."
+msgid "could not write '%s'."
+msgstr "Konnte '%s' nicht schreiben."
 
-#: rebase-interactive.c:173
+#: rebase-interactive.c:193
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -4982,7 +5757,7 @@ msgstr ""
 "Warnung: Einige Commits könnten aus Versehen entfernt worden sein.\n"
 "Entfernte Commits (neu zu alt):\n"
 
-#: rebase-interactive.c:180
+#: rebase-interactive.c:200
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -4999,6 +5774,13 @@ msgstr ""
 "Warnungen zu ändern.\n"
 "Die möglichen Verhaltensweisen sind: ignore, warn, error.\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 "Konnte '%s' nicht lesen."
+
 #: refs.c:262
 #, c-format
 msgid "%s does not point to a valid object!"
@@ -5009,7 +5791,7 @@ msgstr "%s zeigt auf kein gültiges Objekt!"
 msgid "ignoring dangling symref %s"
 msgstr "Ignoriere unreferenzierte symbolische Referenz %s"
 
-#: refs.c:669 ref-filter.c:2092
+#: refs.c:669 ref-filter.c:2098
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "Ignoriere fehlerhafte Referenz %s"
@@ -5034,14 +5816,15 @@ msgstr "Referenz '%s' existiert bereits."
 msgid "unexpected object ID when writing '%s'"
 msgstr "Unerwartete Objekt-ID beim Schreiben von '%s'."
 
-#: 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 "Konnte nicht nach '%s' schreiben."
 
-#: 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 "Konnte '%s' nicht zum Schreiben öffnen."
@@ -5076,39 +5859,39 @@ msgstr "Verweigere Aktualisierung einer Referenz mit fehlerhaftem Namen '%s'."
 msgid "update_ref failed for ref '%s': %s"
 msgstr "update_ref für Referenz '%s' fehlgeschlagen: %s"
 
-#: refs.c:2012
+#: refs.c:2023
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "Mehrere Aktualisierungen für Referenz '%s' nicht erlaubt."
 
-#: refs.c:2044
+#: refs.c:2055
 msgid "ref updates forbidden inside quarantine environment"
 msgstr ""
 "Aktualisierungen von Referenzen ist innerhalb der Quarantäne-Umgebung "
 "verboten."
 
-#: refs.c:2140 refs.c:2170
+#: refs.c:2151 refs.c:2181
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' existiert; kann '%s' nicht erstellen"
 
-#: 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 "Kann '%s' und '%s' nicht zur selben Zeit verarbeiten."
 
-#: refs/files-backend.c:1234
+#: refs/files-backend.c:1233
 #, c-format
 msgid "could not remove reference %s"
 msgstr "Konnte Referenz %s nicht löschen"
 
-#: 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 "Konnte Referenz %s nicht entfernen: %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 "Konnte Referenzen nicht entfernen: %s"
@@ -5118,7 +5901,7 @@ msgstr "Konnte Referenzen nicht entfernen: %s"
 msgid "invalid refspec '%s'"
 msgstr "Ungültige Refspec '%s'"
 
-#: ref-filter.c:42 wt-status.c:1934
+#: ref-filter.c:42 wt-status.c:1938
 msgid "gone"
 msgstr "entfernt"
 
@@ -5137,283 +5920,283 @@ msgstr "%d hinterher"
 msgid "ahead %d, behind %d"
 msgstr "%d voraus, %d hinterher"
 
-#: ref-filter.c:162
+#: ref-filter.c:165
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "Erwartetes Format: %%(color:<Farbe>)"
 
-#: ref-filter.c:164
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "nicht erkannte Farbe: %%(color:%s)"
 
-#: ref-filter.c:186
+#: ref-filter.c:189
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Positiver Wert erwartet refname:lstrip=%s"
 
-#: ref-filter.c:190
+#: ref-filter.c:193
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Positiver Wert erwartet refname:rstrip=%s"
 
-#: ref-filter.c:192
+#: ref-filter.c:195
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "nicht erkanntes %%(%s) Argument: %s"
 
-#: ref-filter.c:247
+#: ref-filter.c:250
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) akzeptiert keine Argumente"
 
-#: ref-filter.c:269
+#: ref-filter.c:272
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr "nicht erkanntes %%(objectsize) Argument: %s"
 
-#: ref-filter.c:277
+#: ref-filter.c:280
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr "%%(deltabase) akzeptiert keine Argumente"
 
-#: ref-filter.c:289
+#: ref-filter.c:292
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) akzeptiert keine Argumente"
 
-#: ref-filter.c:298
+#: ref-filter.c:301
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) akzeptiert keine Argumente"
 
-#: ref-filter.c:320
+#: ref-filter.c:323
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "unbekanntes %%(trailers) Argument: %s"
 
-#: ref-filter.c:349
+#: ref-filter.c:352
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "Positiver Wert erwartet contents:lines=%s"
 
-#: ref-filter.c:351
+#: ref-filter.c:354
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "nicht erkanntes %%(contents) Argument: %s"
 
-#: ref-filter.c:366
+#: ref-filter.c:369
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "Positiver Wert erwartet objectname:short=%s"
 
-#: ref-filter.c:370
+#: ref-filter.c:373
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "nicht erkanntes %%(objectname) Argument: %s"
 
-#: ref-filter.c:400
+#: ref-filter.c:403
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "Erwartetes Format: %%(align:<Breite>,<Position>)"
 
-#: ref-filter.c:412
+#: ref-filter.c:415
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "nicht erkannte Position:%s"
 
-#: ref-filter.c:419
+#: ref-filter.c:422
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "nicht erkannte Breite:%s"
 
-#: ref-filter.c:428
+#: ref-filter.c:431
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "nicht erkanntes %%(align) Argument: %s"
 
-#: ref-filter.c:436
+#: ref-filter.c:439
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "Positive Breitenangabe für %%(align) erwartet"
 
-#: ref-filter.c:454
+#: ref-filter.c:457
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "nicht erkanntes %%(if) Argument: %s"
 
-#: ref-filter.c:556
+#: ref-filter.c:559
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "Fehlerhafter Feldname: %.*s"
 
-#: ref-filter.c:583
+#: ref-filter.c:586
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "Unbekannter Feldname: %.*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 ""
 "Kein Git-Repository, aber das Feld '%.*s' erfordert Zugriff auf Objektdaten."
 
-#: ref-filter.c:711
+#: ref-filter.c:714
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format: %%(if) Atom ohne ein %%(then) Atom verwendet"
 
-#: ref-filter.c:774
+#: ref-filter.c:777
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format: %%(then) Atom ohne ein %%(if) Atom verwendet"
 
-#: ref-filter.c:776
+#: ref-filter.c:779
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format: %%(then) Atom mehr als einmal verwendet"
 
-#: ref-filter.c:778
+#: ref-filter.c:781
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: %%(then) Atom nach %%(else) verwendet"
 
-#: ref-filter.c:806
+#: ref-filter.c:809
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format: %%(else) Atom ohne ein %%(if) Atom verwendet"
 
-#: ref-filter.c:808
+#: ref-filter.c:811
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "Format: %%(else) Atom ohne ein %%(then) Atom verwendet"
 
-#: ref-filter.c:810
+#: ref-filter.c:813
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "Format: %%(end) Atom mehr als einmal verwendet"
 
-#: ref-filter.c:825
+#: ref-filter.c:828
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "Format: %%(end) Atom ohne zugehöriges Atom verwendet"
 
-#: ref-filter.c:882
+#: ref-filter.c:885
 #, c-format
 msgid "malformed format string %s"
 msgstr "Fehlerhafter Formatierungsstring %s"
 
-#: ref-filter.c:1485
+#: ref-filter.c:1488
 #, c-format
 msgid "no branch, rebasing %s"
 msgstr "kein Branch, Rebase von %s"
 
-#: ref-filter.c:1488
+#: ref-filter.c:1491
 #, c-format
 msgid "no branch, rebasing detached HEAD %s"
 msgstr "kein Branch, Rebase von losgelöstem HEAD %s"
 
-#: ref-filter.c:1491
+#: ref-filter.c:1494
 #, c-format
 msgid "no branch, bisect started on %s"
 msgstr "kein Branch, binäre Suche begonnen bei %s"
 
-#: ref-filter.c:1501
+#: ref-filter.c:1504
 msgid "no branch"
 msgstr "kein Branch"
 
-#: 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 "Objekt %s fehlt für %s"
 
-#: ref-filter.c:1547
+#: ref-filter.c:1550
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "parse_object_buffer bei %s für %s fehlgeschlagen"
 
-#: ref-filter.c:1998
+#: ref-filter.c:2004
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "fehlerhaftes Objekt bei '%s'"
 
-#: ref-filter.c:2087
+#: ref-filter.c:2093
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "Ignoriere Referenz mit fehlerhaftem Namen %s"
 
-#: ref-filter.c:2382
+#: ref-filter.c:2389
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "Format: %%(end) Atom fehlt"
 
-#: ref-filter.c:2482
+#: ref-filter.c:2489
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "Die Option `%s' ist inkompatibel mit --merged."
 
-#: ref-filter.c:2485
+#: ref-filter.c:2492
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "Die Option `%s' ist inkompatibel mit --no-merged."
 
-#: ref-filter.c:2495
+#: ref-filter.c:2502
 #, c-format
 msgid "malformed object name %s"
 msgstr "Missgebildeter Objektname %s"
 
-#: ref-filter.c:2500
+#: ref-filter.c:2507
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "Die Option `%s' muss auf einen Commit zeigen."
 
-#: remote.c:363
+#: remote.c:366
 #, c-format
 msgid "config remote shorthand cannot begin with '/': %s"
 msgstr ""
 "Kürzel für Remote-Repository in der Konfiguration kann nicht mit '/' "
 "beginnen: %s"
 
-#: remote.c:410
+#: remote.c:414
 msgid "more than one receivepack given, using the first"
 msgstr "Mehr als ein receivepack-Befehl angegeben, benutze den ersten."
 
-#: remote.c:418
+#: remote.c:422
 msgid "more than one uploadpack given, using the first"
 msgstr "Mehr als ein uploadpack-Befehl angegeben, benutze den ersten."
 
-#: remote.c:608
+#: remote.c:612
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Kann 'fetch' nicht für sowohl %s als auch %s nach %s ausführen."
 
-#: remote.c:612
+#: remote.c:616
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s folgt üblicherweise %s, nicht %s"
 
-#: remote.c:616
+#: remote.c:620
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s folgt sowohl %s als auch %s"
 
-#: remote.c:684
+#: remote.c:688
 #, c-format
 msgid "key '%s' of pattern had no '*'"
 msgstr "Schlüssel '%s' des Musters hatte kein '*'."
 
-#: remote.c:694
+#: remote.c:698
 #, c-format
 msgid "value '%s' of pattern has no '*'"
 msgstr "Wert '%s' des Musters hat kein '*'."
 
-#: remote.c:1000
+#: remote.c:1004
 #, c-format
 msgid "src refspec %s does not match any"
 msgstr "Src-Refspec %s entspricht keiner Referenz."
 
-#: remote.c:1005
+#: remote.c:1009
 #, c-format
 msgid "src refspec %s matches more than one"
 msgstr "Src-Refspec %s entspricht mehr als einer Referenz."
@@ -5422,7 +6205,7 @@ msgstr "Src-Refspec %s entspricht mehr als einer Referenz."
 #. <remote> <src>:<dst>" push, and "being pushed ('%s')" is
 #. the <src>.
 #.
-#: remote.c:1020
+#: remote.c:1024
 #, c-format
 msgid ""
 "The destination you provided is not a full refname (i.e.,\n"
@@ -5449,7 +6232,7 @@ msgstr ""
 "Keines hat funktioniert, sodass wir aufgegeben haben. Sie müssen die\n"
 "Referenz mit vollqualifizierten Namen angeben."
 
-#: remote.c:1040
+#: remote.c:1044
 #, c-format
 msgid ""
 "The <src> part of the refspec is a commit object.\n"
@@ -5460,7 +6243,7 @@ msgstr ""
 "Meinten Sie, einen neuen Branch mittels Push nach\n"
 "'%s:refs/heads/%s' zu erstellen?"
 
-#: remote.c:1045
+#: remote.c:1049
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tag object.\n"
@@ -5471,7 +6254,7 @@ msgstr ""
 "Meinten Sie, einen neuen Tag mittels Push nach\n"
 "'%s:refs/tags/%s' zu erstellen?"
 
-#: remote.c:1050
+#: remote.c:1054
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tree object.\n"
@@ -5482,7 +6265,7 @@ msgstr ""
 "Meinten Sie, einen Tag für ein neues Tree-Objekt\n"
 "mittels Push nach '%s:refs/tags/'%s' zu erstellen?"
 
-#: remote.c:1055
+#: remote.c:1059
 #, c-format
 msgid ""
 "The <src> part of the refspec is a blob object.\n"
@@ -5493,117 +6276,117 @@ msgstr ""
 "Meinten Sie, einen Tag für ein neues Blob-Objekt\n"
 "mittels Push nach '%s:refs/tags/%s' zu erstellen?"
 
-#: remote.c:1091
+#: remote.c:1095
 #, c-format
 msgid "%s cannot be resolved to branch"
 msgstr "%s kann nicht zu Branch aufgelöst werden."
 
-#: remote.c:1102
+#: remote.c:1106
 #, c-format
 msgid "unable to delete '%s': remote ref does not exist"
 msgstr "Konnte '%s' nicht löschen: Remote-Referenz existiert nicht."
 
-#: remote.c:1114
+#: remote.c:1118
 #, c-format
 msgid "dst refspec %s matches more than one"
 msgstr "Dst-Refspec %s entspricht mehr als einer Referenz."
 
-#: remote.c:1121
+#: remote.c:1125
 #, c-format
 msgid "dst ref %s receives from more than one src"
 msgstr "Dst-Referenz %s empfängt von mehr als einer Quelle"
 
-#: remote.c:1624 remote.c:1725
+#: remote.c:1628 remote.c:1729
 msgid "HEAD does not point to a branch"
 msgstr "HEAD zeigt auf keinen Branch"
 
-#: remote.c:1633
+#: remote.c:1637
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "Kein solcher Branch: '%s'"
 
-#: remote.c:1636
+#: remote.c:1640
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "Kein Upstream-Branch für Branch '%s' konfiguriert."
 
-#: remote.c:1642
+#: remote.c:1646
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "Upstream-Branch '%s' nicht als Remote-Tracking-Branch gespeichert"
 
-#: remote.c:1657
+#: remote.c:1661
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "Ziel für \"push\" '%s' auf Remote-Repository '%s' hat keinen lokal gefolgten "
 "Branch"
 
-#: remote.c:1669
+#: remote.c:1673
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt"
 
-#: remote.c:1679
+#: remote.c:1683
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "Push-Refspecs für '%s' beinhalten nicht '%s'"
 
-#: remote.c:1692
+#: remote.c:1696
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "kein Ziel für \"push\" (push.default ist 'nothing')"
 
-#: remote.c:1714
+#: remote.c:1718
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr "kann einzelnes Ziel für \"push\" im Modus 'simple' nicht auflösen"
 
-#: remote.c:1840
+#: remote.c:1844
 #, c-format
 msgid "couldn't find remote ref %s"
 msgstr "Konnte Remote-Referenz %s nicht finden."
 
-#: remote.c:1853
+#: remote.c:1857
 #, c-format
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* Ignoriere sonderbare Referenz '%s' lokal"
 
-#: remote.c:2016
+#: remote.c:2020
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr ""
 "Ihr Branch basiert auf '%s', aber der Upstream-Branch wurde entfernt.\n"
 
-#: remote.c:2020
+#: remote.c:2024
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (benutzen Sie \"git branch --unset-upstream\" zum Beheben)\n"
 
-#: remote.c:2023
+#: remote.c:2027
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Ihr Branch ist auf demselben Stand wie '%s'.\n"
 
-#: remote.c:2027
+#: remote.c:2031
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Ihr Branch und '%s' zeigen auf unterschiedliche Commits.\n"
 
-#: remote.c:2030
+#: remote.c:2034
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (benutzen Sie \"%s\" für Details)\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] "Ihr Branch ist %2$d Commit vor '%1$s'.\n"
 msgstr[1] "Ihr Branch ist %2$d Commits vor '%1$s'.\n"
 
-#: remote.c:2040
+#: remote.c:2044
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (benutzen Sie \"git push\", um lokale Commits zu publizieren)\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 ""
@@ -5613,12 +6396,12 @@ msgstr[0] ""
 msgstr[1] ""
 "Ihr Branch ist %2$d Commits hinter '%1$s', und kann vorgespult werden.\n"
 
-#: remote.c:2051
+#: remote.c:2055
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr ""
 "  (benutzen Sie \"git pull\", um Ihren lokalen Branch zu aktualisieren)\n"
 
-#: remote.c:2054
+#: remote.c:2058
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -5633,13 +6416,13 @@ msgstr[1] ""
 "Ihr Branch und '%s' sind divergiert,\n"
 "und haben jeweils %d und %d unterschiedliche Commits.\n"
 
-#: remote.c:2064
+#: remote.c:2068
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (benutzen Sie \"git pull\", um Ihren Branch mit dem Remote-Branch "
 "zusammenzuführen)\n"
 
-#: remote.c:2247
+#: remote.c:2251
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "Kann erwarteten Objektnamen '%s' nicht parsen."
@@ -5654,7 +6437,7 @@ msgstr "ungültiger Name für ersetzende Referenz: %s"
 msgid "duplicate replace ref: %s"
 msgstr "doppelte ersetzende Referenz: %s"
 
-#: replace-object.c:73
+#: replace-object.c:82
 #, c-format
 msgid "replace depth too high for object %s"
 msgstr "Ersetzungstiefe zu hoch für Objekt %s"
@@ -5717,8 +6500,8 @@ msgstr "Kann '%s' nicht löschen."
 msgid "Recorded preimage for '%s'"
 msgstr "Preimage für '%s' aufgezeichnet."
 
-#: 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 "Konnte Verzeichnis '%s' nicht erstellen."
@@ -5752,20 +6535,20 @@ msgstr "Aufgezeichnete Konfliktauflösung für '%s' gelöscht.\n"
 msgid "unable to open rr-cache directory"
 msgstr "Konnte rr-cache Verzeichnis nicht öffnen."
 
-#: revision.c:2507
+#: revision.c:2497
 msgid "your current branch appears to be broken"
 msgstr "Ihr aktueller Branch scheint fehlerhaft zu sein."
 
-#: revision.c:2510
+#: revision.c:2500
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "Ihr aktueller Branch '%s' hat noch keine Commits."
 
-#: revision.c:2710
+#: revision.c:2708
 msgid "--first-parent is incompatible with --bisect"
 msgstr "Die Optionen --first-parent und --bisect sind inkompatibel."
 
-#: revision.c:2714
+#: revision.c:2712
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L unterstützt noch keine anderen Diff-Formate außer -p und -s"
 
@@ -5788,30 +6571,30 @@ msgstr ""
 "Sie können diese Warnung mit `git config advice.ignoredHook false` "
 "deaktivieren."
 
-#: send-pack.c:141
+#: send-pack.c:144
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr "Unerwartetes Flush-Paket beim Lesen des Remote-Unpack-Status."
 
-#: send-pack.c:143
+#: send-pack.c:146
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "Konnte Status des Entpackens der Gegenseite nicht parsen: %s"
 
-#: send-pack.c:145
+#: send-pack.c:148
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "Entpacken auf der Gegenseite fehlgeschlagen: %s"
 
-#: send-pack.c:306
+#: send-pack.c:309
 msgid "failed to sign the push certificate"
 msgstr "Fehler beim Signieren des \"push\"-Zertifikates"
 
-#: send-pack.c:420
+#: send-pack.c:423
 msgid "the receiving end does not support --signed push"
 msgstr ""
 "die Gegenseite unterstützt keinen signierten Versand (\"--signed push\")"
 
-#: send-pack.c:422
+#: send-pack.c:425
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -5819,47 +6602,47 @@ msgstr ""
 "kein Versand des \"push\"-Zertifikates, da die Gegenseite keinen signierten\n"
 "Versand (\"--signed push\") unterstützt"
 
-#: send-pack.c:434
+#: send-pack.c:437
 msgid "the receiving end does not support --atomic push"
 msgstr "die Gegenseite unterstützt keinen atomaren Versand (\"--atomic push\")"
 
-#: send-pack.c:439
+#: send-pack.c:442
 msgid "the receiving end does not support push options"
 msgstr "die Gegenseite unterstützt keine Push-Optionen"
 
-#: sequencer.c:187
+#: sequencer.c:191
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "Ungültiger \"cleanup\"-Modus '%s' für Commit-Beschreibungen."
 
-#: sequencer.c:292
+#: sequencer.c:296
 #, c-format
 msgid "could not delete '%s'"
 msgstr "Konnte '%s' nicht löschen."
 
-#: 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 "Konnte '%s' nicht löschen"
 
-#: sequencer.c:321
+#: sequencer.c:325
 msgid "revert"
 msgstr "Revert"
 
-#: sequencer.c:323
+#: sequencer.c:327
 msgid "cherry-pick"
 msgstr "Cherry-Pick"
 
-#: sequencer.c:325
-msgid "rebase -i"
-msgstr "interaktives Rebase"
+#: sequencer.c:329
+msgid "rebase"
+msgstr "Rebase"
 
-#: sequencer.c:327
+#: sequencer.c:331
 #, c-format
 msgid "unknown action: %d"
 msgstr "Unbekannte Aktion: %d"
 
-#: sequencer.c:385
+#: sequencer.c:389
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'"
@@ -5867,7 +6650,7 @@ msgstr ""
 "nach Auflösung der Konflikte markieren Sie die korrigierten Pfade\n"
 "mit 'git add <Pfade>' oder 'git rm <Pfade>'"
 
-#: sequencer.c:388
+#: sequencer.c:392
 msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add <paths>' or 'git rm <paths>'\n"
@@ -5877,116 +6660,111 @@ msgstr ""
 "mit 'git add <Pfade>' oder 'git rm <Pfade>' und tragen Sie das Ergebnis mit\n"
 "'git commit' ein"
 
-#: sequencer.c:401 sequencer.c:2909
+#: sequencer.c:405 sequencer.c:2901
 #, c-format
 msgid "could not lock '%s'"
 msgstr "Konnte '%s' nicht sperren"
 
-#: sequencer.c:408
+#: sequencer.c:412
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "Konnte EOL nicht nach '%s' schreiben."
 
-#: 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 "Fehler beim Fertigstellen von '%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 "Konnte '%s' nicht lesen"
 
-#: sequencer.c:462
+#: sequencer.c:466
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "Ihre lokalen Änderungen würden durch den %s überschrieben werden."
 
-#: sequencer.c:466
+#: sequencer.c:470
 msgid "commit your changes or stash them to proceed."
 msgstr ""
 "Committen Sie Ihre Änderungen oder benutzen Sie \"stash\", um fortzufahren."
 
-#: sequencer.c:498
+#: sequencer.c:502
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s: Vorspulen"
 
-#: sequencer.c:537 builtin/tag.c:565
+#: sequencer.c:541 builtin/tag.c:565
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Ungültiger \"cleanup\" Modus %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: Konnte neue Index-Datei nicht schreiben"
 
-#: sequencer.c:649
+#: sequencer.c:652
 msgid "unable to update cache tree"
 msgstr "Konnte Cache-Verzeichnis nicht aktualisieren."
 
-#: sequencer.c:663
+#: sequencer.c:666
 msgid "could not resolve HEAD commit"
 msgstr "Konnte HEAD-Commit nicht auflösen."
 
-#: sequencer.c:743
+#: sequencer.c:746
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "Kein Schlüssel in '%.*s' vorhanden."
 
-#: sequencer.c:754
+#: sequencer.c:757
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "Konnte Anführungszeichen von '%s' nicht entfernen."
 
-#: 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 "Konnte '%s' nicht zum Lesen öffnen."
 
-#: sequencer.c:801
+#: sequencer.c:804
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "'GIT_AUTHOR_NAME' bereits angegeben."
 
-#: sequencer.c:806
+#: sequencer.c:809
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "'GIT_AUTHOR_EMAIL' bereits angegeben."
 
-#: sequencer.c:811
+#: sequencer.c:814
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "'GIT_AUTHOR_DATE' bereits angegeben."
 
-#: sequencer.c:815
+#: sequencer.c:818
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "Unbekannte Variable '%s'"
 
-#: sequencer.c:820
+#: sequencer.c:823
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "'GIT_AUTHOR_NAME' fehlt."
 
-#: sequencer.c:822
+#: sequencer.c:825
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "'GIT_AUTHOR_EMAIL' fehlt."
 
-#: sequencer.c:824
+#: sequencer.c:827
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "'GIT_AUTHOR_DATE' fehlt."
 
-#: sequencer.c:884
-#, c-format
-msgid "invalid date format '%s' in '%s'"
-msgstr "Ungültiges Datumsformat '%s' in '%s'"
-
-#: sequencer.c:901
+#: sequencer.c:876
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -6017,15 +6795,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:995
-msgid "writing root commit"
-msgstr "Root-Commit schreiben"
-
-#: sequencer.c:1216
+#: sequencer.c:1148
 msgid "'prepare-commit-msg' hook failed"
 msgstr "'prepare-commit-msg' Hook fehlgeschlagen."
 
-#: 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"
@@ -6053,7 +6827,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"
@@ -6079,327 +6853,326 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1278
+#: sequencer.c:1209
 msgid "couldn't look up newly created commit"
 msgstr "Konnte neu erstellten Commit nicht nachschlagen."
 
-#: sequencer.c:1280
+#: sequencer.c:1211
 msgid "could not parse newly created commit"
 msgstr "Konnte neu erstellten Commit nicht analysieren."
 
-#: sequencer.c:1326
+#: sequencer.c:1257
 msgid "unable to resolve HEAD after creating commit"
 msgstr "Konnte HEAD nicht auflösen, nachdem der Commit erstellt wurde."
 
-#: sequencer.c:1328
+#: sequencer.c:1259
 msgid "detached HEAD"
 msgstr "losgelöster HEAD"
 
-#: sequencer.c:1332
+#: sequencer.c:1263
 msgid " (root-commit)"
 msgstr " (Root-Commit)"
 
-#: sequencer.c:1353
+#: sequencer.c:1284
 msgid "could not parse HEAD"
 msgstr "Konnte HEAD nicht parsen."
 
-#: sequencer.c:1355
+#: sequencer.c:1286
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s ist kein Commit!"
 
-#: sequencer.c:1359 builtin/commit.c:1571
+#: sequencer.c:1290 sequencer.c:1364 builtin/commit.c:1574
 msgid "could not parse HEAD commit"
 msgstr "Konnte Commit von HEAD nicht analysieren."
 
-#: sequencer.c:1411 sequencer.c:2004
+#: sequencer.c:1342 sequencer.c:1968
 msgid "unable to parse commit author"
 msgstr "Konnte Commit-Autor nicht parsen."
 
-#: 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\" schlug beim Schreiben eines \"Tree\"-Objektes fehl"
 
-#: sequencer.c:1438 sequencer.c:1499
+#: sequencer.c:1386 sequencer.c:1447
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "Konnte Commit-Beschreibung von '%s' nicht lesen."
 
-#: 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 "Fehler beim Schreiben des Commit-Objektes."
 
-#: sequencer.c:1526
+#: sequencer.c:1474
 #, c-format
 msgid "could not parse commit %s"
 msgstr "Konnte Commit %s nicht parsen."
 
-#: sequencer.c:1531
+#: sequencer.c:1479
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "Konnte Eltern-Commit %s nicht parsen."
 
-#: sequencer.c:1605 sequencer.c:1715
+#: sequencer.c:1562 sequencer.c:1673
 #, c-format
 msgid "unknown command: %d"
 msgstr "Unbekannter Befehl: %d"
 
-#: sequencer.c:1662 sequencer.c:1687
+#: sequencer.c:1620 sequencer.c:1645
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Das ist eine Kombination aus %d Commits."
 
-#: sequencer.c:1672
+#: sequencer.c:1630
 msgid "need a HEAD to fixup"
 msgstr "benötige HEAD für fixup"
 
-#: sequencer.c:1674 sequencer.c:3219
+#: sequencer.c:1632 sequencer.c:3212
 msgid "could not read HEAD"
 msgstr "Konnte HEAD nicht lesen"
 
-#: sequencer.c:1676
+#: sequencer.c:1634
 msgid "could not read HEAD's commit message"
 msgstr "Konnte Commit-Beschreibung von HEAD nicht lesen"
 
-#: sequencer.c:1682
+#: sequencer.c:1640
 #, c-format
 msgid "cannot write '%s'"
 msgstr "kann '%s' nicht schreiben"
 
-#: 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 "Das ist die erste Commit-Beschreibung:"
 
-#: sequencer.c:1697
+#: sequencer.c:1655
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "Konnte Commit-Beschreibung von %s nicht lesen."
 
-#: sequencer.c:1704
+#: sequencer.c:1662
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Das ist Commit-Beschreibung #%d:"
 
-#: sequencer.c:1710
+#: sequencer.c:1668
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Die Commit-Beschreibung #%d wird ausgelassen:"
 
-#: sequencer.c:1798
+#: sequencer.c:1756
 msgid "your index file is unmerged."
 msgstr "Ihre Index-Datei ist nicht zusammengeführt."
 
-#: sequencer.c:1805
+#: sequencer.c:1763
 msgid "cannot fixup root commit"
 msgstr "kann fixup nicht auf Root-Commit anwenden"
 
-#: sequencer.c:1824
+#: sequencer.c:1782
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "Commit %s ist ein Merge, aber die Option -m wurde nicht angegeben."
 
-#: sequencer.c:1832 sequencer.c:1840
+#: sequencer.c:1790 sequencer.c:1798
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "Commit %s hat keinen Eltern-Commit %d"
 
-#: sequencer.c:1846
+#: sequencer.c:1804
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "Kann keine Commit-Beschreibung für %s bekommen."
 
 #. 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: kann Eltern-Commit %s nicht parsen"
 
-#: sequencer.c:1930
+#: sequencer.c:1888
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "Konnte '%s' nicht zu '%s' umbenennen."
 
-#: sequencer.c:1985
+#: sequencer.c:1943
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "Konnte \"revert\" nicht auf %s... (%s) ausführen"
 
-#: sequencer.c:1986
+#: sequencer.c:1944
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "Konnte %s... (%s) nicht anwenden"
 
-#: sequencer.c:2045
+#: sequencer.c:1961
+#, c-format
+msgid "dropping %s %s -- patch contents already upstream\n"
+msgstr "Weglassen von %s %s -- Patch-Inhalte sind bereits im Upstream-Branch\n"
+
+#: sequencer.c:2018
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s: Fehler beim Lesen des Index"
 
-#: sequencer.c:2052
+#: sequencer.c:2025
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s: Fehler beim Aktualisieren des Index"
 
-#: sequencer.c:2128
+#: sequencer.c:2102
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s akzeptiert keine Argumente: '%s'"
 
-#: sequencer.c:2137
+#: sequencer.c:2111
 #, c-format
 msgid "missing arguments for %s"
 msgstr "Fehlende Argumente für %s."
 
-#: sequencer.c:2174
+#: sequencer.c:2142
 #, c-format
-msgid "could not parse '%.*s'"
-msgstr "Konnte '%.*s' nicht parsen."
+msgid "could not parse '%s'"
+msgstr "Konnte '%s' nicht parsen."
 
-#: sequencer.c:2228
+#: sequencer.c:2203
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "Ungültige Zeile %d: %.*s"
 
-#: sequencer.c:2239
+#: sequencer.c:2214
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "Kann '%s' nicht ohne vorherigen Commit ausführen"
 
-#: 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 "Konnte '%s' nicht lesen."
-
-#: sequencer.c:2323
+#: sequencer.c:2298
 msgid "cancelling a cherry picking in progress"
 msgstr "Abbrechen eines laufenden \"cherry-pick\""
 
-#: sequencer.c:2330
+#: sequencer.c:2305
 msgid "cancelling a revert in progress"
 msgstr "Abbrechen eines laufenden \"revert\""
 
-#: sequencer.c:2364
+#: sequencer.c:2349
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr ""
 "Bitte beheben Sie dieses, indem Sie 'git rebase --edit-todo' ausführen."
 
-#: sequencer.c:2366
+#: sequencer.c:2351
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "Unbenutzbares Instruktionsblatt: '%s'"
 
-#: sequencer.c:2371
+#: sequencer.c:2356
 msgid "no commits parsed."
 msgstr "Keine Commits geparst."
 
-#: sequencer.c:2382
+#: sequencer.c:2367
 msgid "cannot cherry-pick during a revert."
 msgstr "Kann Cherry-Pick nicht während eines Reverts ausführen."
 
-#: sequencer.c:2384
+#: sequencer.c:2369
 msgid "cannot revert during a cherry-pick."
 msgstr "Kann Revert nicht während eines Cherry-Picks ausführen."
 
-#: sequencer.c:2466
+#: sequencer.c:2447
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "Ungültiger Wert für %s: %s"
 
-#: sequencer.c:2553
+#: sequencer.c:2540
 msgid "unusable squash-onto"
 msgstr "Unbenutzbares squash-onto."
 
-#: sequencer.c:2569
+#: sequencer.c:2556
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "Fehlerhaftes Optionsblatt: '%s'"
 
-#: sequencer.c:2652 sequencer.c:4351
+#: sequencer.c:2644 sequencer.c:4361
 msgid "empty commit set passed"
 msgstr "leere Menge von Commits übergeben"
 
-#: sequencer.c:2668
+#: sequencer.c:2660
 msgid "revert is already in progress"
 msgstr "\"revert\" ist bereits im Gange"
 
-#: sequencer.c:2670
+#: sequencer.c:2662
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "Versuchen Sie \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2673
+#: sequencer.c:2665
 msgid "cherry-pick is already in progress"
 msgstr "\"cherry-pick\" wird bereits durchgeführt"
 
-#: sequencer.c:2675
+#: sequencer.c:2667
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "Versuchen Sie \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2689
+#: sequencer.c:2681
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "Konnte \"sequencer\"-Verzeichnis '%s' nicht erstellen."
 
-#: sequencer.c:2704
+#: sequencer.c:2696
 msgid "could not lock HEAD"
 msgstr "Konnte HEAD nicht sperren"
 
-#: sequencer.c:2764 sequencer.c:4103
+#: sequencer.c:2756 sequencer.c:4099
 msgid "no cherry-pick or revert in progress"
 msgstr "kein \"cherry-pick\" oder \"revert\" im Gange"
 
-#: sequencer.c:2766 sequencer.c:2777
+#: sequencer.c:2758 sequencer.c:2769
 msgid "cannot resolve HEAD"
 msgstr "kann HEAD nicht auflösen"
 
-#: sequencer.c:2768 sequencer.c:2812
+#: sequencer.c:2760 sequencer.c:2804
 msgid "cannot abort from a branch yet to be born"
 msgstr "kann nicht abbrechen: bin auf einem Branch, der noch nicht geboren ist"
 
-#: sequencer.c:2798 builtin/grep.c:734
+#: sequencer.c:2790 builtin/grep.c:724
 #, c-format
 msgid "cannot open '%s'"
 msgstr "kann '%s' nicht öffnen"
 
-#: sequencer.c:2800
+#: sequencer.c:2792
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "Kann '%s' nicht lesen: %s"
 
-#: sequencer.c:2801
+#: sequencer.c:2793
 msgid "unexpected end of file"
 msgstr "Unerwartetes Dateiende"
 
-#: sequencer.c:2807
+#: sequencer.c:2799
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' ist beschädigt"
 
-#: sequencer.c:2818
+#: sequencer.c:2810
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 "Sie scheinen HEAD verändert zu haben. Keine Rückspulung, prüfen Sie HEAD."
 
-#: sequencer.c:2859
+#: sequencer.c:2851
 msgid "no revert in progress"
 msgstr "Kein Revert im Gange"
 
-#: sequencer.c:2867
+#: sequencer.c:2859
 msgid "no cherry-pick in progress"
 msgstr "kein \"cherry-pick\" im Gange"
 
-#: sequencer.c:2877
+#: sequencer.c:2869
 msgid "failed to skip the commit"
 msgstr "Überspringen des Commits fehlgeschlagen"
 
-#: sequencer.c:2884
+#: sequencer.c:2876
 msgid "there is nothing to skip"
 msgstr "Nichts zum Überspringen vorhanden"
 
-#: sequencer.c:2887
+#: sequencer.c:2879
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -6408,21 +7181,21 @@ msgstr ""
 "Haben Sie bereits committet?\n"
 "Versuchen Sie \"git %s --continue\""
 
-#: sequencer.c:3011 sequencer.c:4015
+#: sequencer.c:3003 sequencer.c:4011
 #, c-format
 msgid "could not update %s"
 msgstr "Konnte %s nicht aktualisieren."
 
-#: sequencer.c:3049 sequencer.c:3995
+#: sequencer.c:3042 sequencer.c:3991
 msgid "cannot read HEAD"
 msgstr "Kann HEAD nicht lesen"
 
-#: sequencer.c:3066
+#: sequencer.c:3059
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "Konnte '%s' nicht nach '%s' kopieren."
 
-#: sequencer.c:3074
+#: sequencer.c:3067
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -6441,27 +7214,22 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3084
+#: sequencer.c:3077
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "Konnte %s... (%.*s) nicht anwenden"
 
-#: sequencer.c:3091
+#: sequencer.c:3084
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Konnte \"%.*s\" nicht zusammenführen."
 
-#: 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 "Konnte '%s' nicht nach '%s' kopieren."
 
-#: 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 "Konnte den Index nicht lesen."
-
-#: sequencer.c:3136
+#: sequencer.c:3129
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -6477,11 +7245,11 @@ msgstr ""
 "\n"
 "ausführen.\n"
 
-#: sequencer.c:3142
+#: sequencer.c:3135
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "Der Index und/oder das Arbeitsverzeichnis wurde geändert.\n"
 
-#: sequencer.c:3148
+#: sequencer.c:3141
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -6499,77 +7267,73 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3209
+#: sequencer.c:3202
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "Unerlaubter Beschriftungsname: '%.*s'"
 
-#: sequencer.c:3263
+#: sequencer.c:3256
 msgid "writing fake root commit"
 msgstr "unechten Root-Commit schreiben"
 
-#: sequencer.c:3268
+#: sequencer.c:3261
 msgid "writing squash-onto"
 msgstr "squash-onto schreiben"
 
-#: 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 "Fehler beim Finden des \"Tree\"-Objektes von %s."
 
-#: sequencer.c:3324 builtin/rebase.c:873
-msgid "could not write index"
-msgstr "Konnte Index nicht schreiben."
-
-#: sequencer.c:3351
+#: sequencer.c:3344
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "Konnte '%s' nicht auflösen."
 
-#: sequencer.c:3379
+#: sequencer.c:3375
 msgid "cannot merge without a current revision"
 msgstr "Kann nicht ohne einen aktuellen Commit mergen."
 
-#: sequencer.c:3401
+#: sequencer.c:3397
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "Konnte '%.*s' nicht parsen."
 
-#: sequencer.c:3410
+#: sequencer.c:3406
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "Nichts zum Zusammenführen: '%.*s'"
 
-#: sequencer.c:3422
+#: sequencer.c:3418
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr ""
 "Octupus-Merge kann nicht auf Basis von [neuem Root-Commit] ausgeführt werden."
 
-#: sequencer.c:3437
+#: sequencer.c:3434
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "Konnte keine Commit-Beschreibung von '%s' bekommen."
 
-#: sequencer.c:3590
+#: sequencer.c:3594
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "Konnte nicht einmal versuchen '%.*s' zu mergen."
 
-#: sequencer.c:3606
+#: sequencer.c:3610
 msgid "merge: Unable to write new index file"
 msgstr "merge: Konnte neue Index-Datei nicht schreiben."
 
-#: sequencer.c:3675 builtin/rebase.c:711
+#: sequencer.c:3679 builtin/rebase.c:737
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Automatischen Stash angewendet.\n"
 
-#: sequencer.c:3687
+#: sequencer.c:3691
 #, c-format
 msgid "cannot store %s"
 msgstr "kann %s nicht speichern"
 
-#: 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"
@@ -6580,31 +7344,26 @@ msgstr ""
 "Ihre Änderungen sind im Stash sicher.\n"
 "Sie können jederzeit \"git stash pop\" oder \"git stash drop\" ausführen.\n"
 
-#: sequencer.c:3751
-#, c-format
-msgid "could not checkout %s"
-msgstr "Konnte %s nicht auschecken."
-
-#: sequencer.c:3765
+#: sequencer.c:3755
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s: keine gültige OID"
 
-#: sequencer.c:3770 git-rebase--preserve-merges.sh:779
+#: sequencer.c:3760 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr "Konnte HEAD nicht loslösen"
 
-#: sequencer.c:3785
+#: sequencer.c:3775
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "Angehalten bei HEAD\n"
 
-#: sequencer.c:3787
+#: sequencer.c:3777
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Angehalten bei %s\n"
 
-#: sequencer.c:3795
+#: sequencer.c:3785
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6626,50 +7385,50 @@ 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 "Angehalten bei %s... %.*s\n"
 
-#: sequencer.c:3958
+#: sequencer.c:3940
 #, c-format
 msgid "unknown command %d"
 msgstr "Unbekannter Befehl %d"
 
-#: sequencer.c:4003
+#: sequencer.c:3999
 msgid "could not read orig-head"
 msgstr "Konnte orig-head nicht lesen."
 
-#: sequencer.c:4008
+#: sequencer.c:4004
 msgid "could not read 'onto'"
 msgstr "Konnte 'onto' nicht lesen."
 
-#: sequencer.c:4022
+#: sequencer.c:4018
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "Konnte HEAD nicht auf %s aktualisieren."
 
-#: sequencer.c:4115
+#: sequencer.c:4111
 msgid "cannot rebase: You have unstaged changes."
 msgstr ""
 "Rebase nicht möglich: Sie haben Änderungen, die nicht zum Commit\n"
 "vorgemerkt sind."
 
-#: sequencer.c:4124
+#: sequencer.c:4120
 msgid "cannot amend non-existing commit"
 msgstr "Kann nicht existierenden Commit nicht nachbessern."
 
-#: sequencer.c:4126
+#: sequencer.c:4122
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "Ungültige Datei: '%s'"
 
-#: sequencer.c:4128
+#: sequencer.c:4124
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "Ungültige Inhalte: '%s'"
 
-#: sequencer.c:4131
+#: sequencer.c:4127
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -6680,69 +7439,59 @@ msgstr ""
 "committen Sie diese zuerst und führen Sie dann 'git rebase --continue'\n"
 "erneut aus."
 
-#: sequencer.c:4167 sequencer.c:4205
+#: sequencer.c:4163 sequencer.c:4202
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "Konnte Datei nicht schreiben: '%s'"
 
-#: sequencer.c:4220
+#: sequencer.c:4217
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "Konnte CHERRY_PICK_HEAD nicht löschen."
 
-#: sequencer.c:4227
+#: sequencer.c:4224
 msgid "could not commit staged changes."
 msgstr "Konnte Änderungen aus der Staging-Area nicht committen."
 
-#: sequencer.c:4328
+#: sequencer.c:4338
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s: %s kann nicht in \"cherry-pick\" benutzt werden"
 
-#: sequencer.c:4332
+#: sequencer.c:4342
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s: ungültiger Commit"
 
-#: sequencer.c:4367
+#: sequencer.c:4377
 msgid "can't revert as initial commit"
 msgstr "Kann nicht als allerersten Commit einen Revert ausführen."
 
-#: sequencer.c:4810
+#: sequencer.c:4846
 msgid "make_script: unhandled options"
 msgstr "make_script: unbehandelte Optionen"
 
-#: sequencer.c:4813
+#: sequencer.c:4849
 msgid "make_script: error preparing revisions"
 msgstr "make_script: Fehler beim Vorbereiten der Commits"
 
-#: 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 ""
-"Sie können das mit 'git rebase --edit-todo' beheben. Führen Sie danach\n"
-"'git rebase --continue' aus.\n"
-"Oder Sie können den Rebase mit 'git rebase --abort' abbrechen.\n"
-
 #: sequencer.c:5083 sequencer.c:5100
 msgid "nothing to do"
 msgstr "Nichts zu tun."
 
-#: sequencer.c:5114
+#: sequencer.c:5119
 msgid "could not skip unnecessary pick commands"
 msgstr "Konnte unnötige \"pick\"-Befehle nicht auslassen."
 
-#: sequencer.c:5197
+#: sequencer.c:5213
 msgid "the script was already rearranged."
 msgstr "Das Script wurde bereits umgeordnet."
 
-#: setup.c:123
+#: setup.c:124
 #, c-format
-msgid "'%s' is outside repository"
-msgstr "'%s' liegt außerhalb des Repositories."
+msgid "'%s' is outside repository at '%s'"
+msgstr "'%s' liegt außerhalb des Repositories von '%s'"
 
-#: setup.c:173
+#: setup.c:175
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -6752,7 +7501,7 @@ msgstr ""
 "Benutzen Sie 'git <Befehl> -- <Pfad>...' zur Angabe von Pfaden, die lokal\n"
 "nicht existieren."
 
-#: setup.c:186
+#: setup.c:188
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -6764,13 +7513,13 @@ msgstr ""
 "Benutzen Sie '--', um Pfade und Commits zu trennen, ähnlich wie:\n"
 "'git <Befehl> [<Commit>...] -- [<Datei>...]'"
 
-#: setup.c:235
+#: setup.c:254
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr ""
 "Die Option '%s' muss vor den Argumenten kommen, die keine Optionen sind."
 
-#: setup.c:254
+#: setup.c:273
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -6781,93 +7530,93 @@ msgstr ""
 "Benutzen Sie '--', um Pfade und Commits zu trennen, ähnlich wie:\n"
 "'git <Befehl> [<Commit>...] -- [<Datei>...]'"
 
-#: setup.c:390
+#: setup.c:409
 msgid "unable to set up work tree using invalid config"
 msgstr ""
 "Konnte Arbeitsverzeichnis mit ungültiger Konfiguration nicht einrichten."
 
-#: setup.c:394
+#: setup.c:413
 msgid "this operation must be run in a work tree"
 msgstr "Diese Operation muss in einem Arbeitsverzeichnis ausgeführt werden."
 
-#: setup.c:540
+#: setup.c:559
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Erwartete Git-Repository-Version <= %d, %d gefunden"
 
-#: setup.c:548
+#: setup.c:567
 msgid "unknown repository extensions found:"
 msgstr "Unbekannte Repository-Erweiterungen gefunden:"
 
-#: setup.c:567
+#: setup.c:586
 #, c-format
 msgid "error opening '%s'"
 msgstr "Fehler beim Öffnen von '%s'."
 
-#: setup.c:569
+#: setup.c:588
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "Zu groß, um eine .git-Datei zu sein: '%s'"
 
-#: setup.c:571
+#: setup.c:590
 #, c-format
 msgid "error reading %s"
 msgstr "Fehler beim Lesen von '%s'."
 
-#: setup.c:573
+#: setup.c:592
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "Ungültiges gitfile-Format: %s"
 
-#: setup.c:575
+#: setup.c:594
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "Kein Pfad in gitfile: %s"
 
-#: setup.c:577
+#: setup.c:596
 #, c-format
 msgid "not a git repository: %s"
 msgstr "Kein Git-Repository: %s"
 
-#: setup.c:676
+#: setup.c:695
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' zu groß"
 
-#: setup.c:690
+#: setup.c:709
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "Kein Git-Repository: '%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 "Kann nicht in Verzeichnis '%s' wechseln."
 
-#: 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 "Kann nicht zum aktuellen Arbeitsverzeichnis zurückwechseln."
 
-#: setup.c:851
+#: setup.c:870
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "Konnte '%*s%s%s' nicht lesen."
 
-#: setup.c:1083
+#: setup.c:1108
 msgid "Unable to read current working directory"
 msgstr "Konnte aktuelles Arbeitsverzeichnis nicht lesen."
 
-#: setup.c:1092 setup.c:1098
+#: setup.c:1117 setup.c:1123
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "Kann nicht nach '%s' wechseln."
 
-#: setup.c:1103
+#: setup.c:1128
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "Kein Git-Repository (oder irgendeines der Elternverzeichnisse): %s"
 
-#: setup.c:1109
+#: setup.c:1134
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -6877,7 +7626,7 @@ msgstr ""
 "%s)\n"
 "Stoppe bei Dateisystemgrenze (GIT_DISCOVERY_ACROSS_FILESYSTEM nicht gesetzt)."
 
-#: setup.c:1220
+#: setup.c:1245
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -6886,290 +7635,290 @@ msgstr ""
 "Problem mit Wert für Dateimodus (0%.3o) von core.sharedRepository.\n"
 "Der Besitzer der Dateien muss immer Lese- und Schreibrechte haben."
 
-#: setup.c:1264
+#: setup.c:1289
 msgid "open /dev/null or dup failed"
 msgstr "Öffnen von /dev/null oder dup fehlgeschlagen."
 
-#: setup.c:1279
+#: setup.c:1304
 msgid "fork failed"
 msgstr "fork fehlgeschlagen"
 
-#: setup.c:1284
+#: setup.c:1309
 msgid "setsid failed"
 msgstr "setsid fehlgeschlagen"
 
-#: sha1-file.c:453
+#: sha1-file.c:452
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 "Objektverzeichnis %s existiert nicht; prüfe .git/objects/info/alternates"
 
-#: sha1-file.c:504
+#: sha1-file.c:503
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "Konnte alternativen Objektpfad '%s' nicht normalisieren."
 
-#: sha1-file.c:576
+#: sha1-file.c:575
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s: ignoriere alternative Objektspeicher - Verschachtelung zu tief"
 
-#: sha1-file.c:583
+#: sha1-file.c:582
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "Konnte Objektverzeichnis '%s' nicht normalisieren."
 
-#: sha1-file.c:626
+#: sha1-file.c:625
 msgid "unable to fdopen alternates lockfile"
 msgstr "Konnte fdopen nicht auf Lock-Datei für \"alternates\" aufrufen."
 
-#: sha1-file.c:644
+#: sha1-file.c:643
 msgid "unable to read alternates file"
 msgstr "Konnte \"alternates\"-Datei nicht lesen."
 
-#: sha1-file.c:651
+#: sha1-file.c:650
 msgid "unable to move new alternates file into place"
 msgstr "Konnte neue \"alternates\"-Datei nicht übernehmen."
 
-#: sha1-file.c:686
+#: sha1-file.c:685
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "Pfad '%s' existiert nicht"
 
-#: sha1-file.c:712
+#: sha1-file.c:711
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "Referenziertes Repository '%s' wird noch nicht als verknüpftes\n"
 "Arbeitsverzeichnis unterstützt."
 
-#: sha1-file.c:718
+#: sha1-file.c:717
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "Referenziertes Repository '%s' ist kein lokales Repository."
 
-#: sha1-file.c:724
+#: sha1-file.c:723
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr ""
 "Referenziertes Repository '%s' hat eine unvollständige Historie (shallow)."
 
-#: sha1-file.c:732
+#: sha1-file.c:731
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr ""
 "Referenziertes Repository '%s' ist mit künstlichen Vorgängern (\"grafts\") "
 "eingehängt."
 
-#: sha1-file.c:792
+#: sha1-file.c:791
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "Ungültige Zeile beim Parsen alternativer Referenzen: %s"
 
-#: sha1-file.c:944
+#: sha1-file.c:943
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "Versuche mmap %<PRIuMAX> über Limit %<PRIuMAX>."
 
-#: sha1-file.c:969
+#: sha1-file.c:964
 msgid "mmap failed"
 msgstr "mmap fehlgeschlagen"
 
-#: sha1-file.c:1133
+#: sha1-file.c:1128
 #, c-format
 msgid "object file %s is empty"
 msgstr "Objektdatei %s ist leer."
 
-#: sha1-file.c:1257 sha1-file.c:2396
+#: sha1-file.c:1263 sha1-file.c:2443
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "Fehlerhaftes loses Objekt '%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 "Nutzlose Daten am Ende von losem Objekt '%s'."
 
-#: sha1-file.c:1301
+#: sha1-file.c:1307
 msgid "invalid object type"
 msgstr "ungültiger Objekt-Typ"
 
-#: sha1-file.c:1385
+#: sha1-file.c:1391
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "Konnte %s Kopfbereich nicht mit --allow-unknown-type entpacken."
 
-#: sha1-file.c:1388
+#: sha1-file.c:1394
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "Konnte %s Kopfbereich nicht entpacken."
 
-#: sha1-file.c:1394
+#: sha1-file.c:1400
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "Konnte %s Kopfbereich mit --allow-unknown-type nicht parsen."
 
-#: sha1-file.c:1397
+#: sha1-file.c:1403
 #, c-format
 msgid "unable to parse %s header"
 msgstr "Konnte %s Kopfbereich nicht parsen."
 
-#: sha1-file.c:1588
+#: sha1-file.c:1629
 #, c-format
 msgid "failed to read object %s"
 msgstr "Konnte Objekt %s nicht lesen."
 
-#: sha1-file.c:1592
+#: sha1-file.c:1633
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "Ersetzung %s für %s nicht gefunden."
 
-#: sha1-file.c:1596
+#: sha1-file.c:1637
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "Loses Objekt %s (gespeichert in %s) ist beschädigt."
 
-#: sha1-file.c:1600
+#: sha1-file.c:1641
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "Gepacktes Objekt %s (gespeichert in %s) ist beschädigt."
 
-#: sha1-file.c:1703
+#: sha1-file.c:1746
 #, c-format
 msgid "unable to write file %s"
 msgstr "Konnte Datei %s nicht schreiben."
 
-#: sha1-file.c:1710
+#: sha1-file.c:1753
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "Konnte Zugriffsberechtigung auf '%s' nicht setzen."
 
-#: sha1-file.c:1717
+#: sha1-file.c:1760
 msgid "file write error"
 msgstr "Fehler beim Schreiben einer Datei."
 
-#: sha1-file.c:1736
+#: sha1-file.c:1780
 msgid "error when closing loose object file"
 msgstr "Fehler beim Schließen der Datei für lose Objekte."
 
-#: sha1-file.c:1801
+#: sha1-file.c:1845
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "Unzureichende Berechtigung zum Hinzufügen eines Objektes zur Repository-"
 "Datenbank %s"
 
-#: sha1-file.c:1803
+#: sha1-file.c:1847
 msgid "unable to create temporary file"
 msgstr "Konnte temporäre Datei nicht erstellen."
 
-#: sha1-file.c:1827
+#: sha1-file.c:1871
 msgid "unable to write loose object file"
 msgstr "Fehler beim Schreiben der Datei für lose Objekte."
 
-#: sha1-file.c:1833
+#: sha1-file.c:1877
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "Konnte neues Objekt %s (%d) nicht komprimieren."
 
-#: sha1-file.c:1837
+#: sha1-file.c:1881
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "deflateEnd auf Objekt %s fehlgeschlagen (%d)"
 
-#: sha1-file.c:1841
+#: sha1-file.c:1885
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "Fehler wegen instabilen Objektquelldaten für %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 "Fehler beim Aufruf von utime() auf '%s'."
 
-#: sha1-file.c:1926
+#: sha1-file.c:1972
 #, c-format
 msgid "cannot read object for %s"
 msgstr "Kann Objekt für %s nicht lesen."
 
-#: sha1-file.c:1966
+#: sha1-file.c:2011
 msgid "corrupt commit"
 msgstr "fehlerhafter Commit"
 
-#: sha1-file.c:1974
+#: sha1-file.c:2019
 msgid "corrupt tag"
 msgstr "fehlerhaftes Tag"
 
-#: sha1-file.c:2073
+#: sha1-file.c:2119
 #, c-format
 msgid "read error while indexing %s"
 msgstr "Lesefehler beim Indizieren von '%s'."
 
-#: sha1-file.c:2076
+#: sha1-file.c:2122
 #, c-format
 msgid "short read while indexing %s"
 msgstr "read() zu kurz beim Indizieren von '%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: Fehler beim Einfügen in die Datenbank"
 
-#: sha1-file.c:2164
+#: sha1-file.c:2211
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s: nicht unterstützte Dateiart"
 
-#: sha1-file.c:2188
+#: sha1-file.c:2235
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s ist kein gültiges Objekt"
 
-#: sha1-file.c:2190
+#: sha1-file.c:2237
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s ist kein gültiges '%s' Objekt"
 
-#: 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 "kann %s nicht öffnen"
 
-#: 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 "Hash für %s stimmt nicht überein (%s erwartet)."
 
-#: sha1-file.c:2431
+#: sha1-file.c:2478
 #, c-format
 msgid "unable to mmap %s"
 msgstr "Konnte mmap nicht auf %s ausführen."
 
-#: sha1-file.c:2436
+#: sha1-file.c:2483
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "Konnte Kopfbereich von %s nicht entpacken."
 
-#: sha1-file.c:2442
+#: sha1-file.c:2489
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "Konnte Kopfbereich von %s nicht parsen."
 
-#: sha1-file.c:2453
+#: sha1-file.c:2500
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "Konnte Inhalt von %s nicht entpacken."
 
-#: sha1-name.c:490
+#: sha1-name.c:486
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "Kurzer SHA-1 %s ist mehrdeutig."
 
-#: sha1-name.c:501
+#: sha1-name.c:497
 msgid "The candidates are:"
 msgstr "Die Kandidaten sind:"
 
-#: 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"
@@ -7194,44 +7943,112 @@ msgstr ""
 "indem Sie \"git config advice.objectNameWarning false\"\n"
 "ausführen."
 
+#: sha1-name.c:916
+#, c-format
+msgid "log for '%.*s' only goes back to %s"
+msgstr "Log für '%.*s' geht nur bis %s zurück"
+
+#: sha1-name.c:924
+#, c-format
+msgid "log for '%.*s' only has %d entries"
+msgstr "Log für '%.*s' hat nur %d Einträge"
+
+#: sha1-name.c:1689
+#, c-format
+msgid "path '%s' exists on disk, but not in '%.*s'"
+msgstr "Pfad '%s' befindet sich im Dateisystem, aber nicht in '%.*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 ""
+"Pfad '%s' existiert, aber nicht '%s'\n"
+"Hinweis: Meinten Sie '%.*s:%s' auch bekannt als '%.*s:./%s'?"
+
+#: sha1-name.c:1704
+#, c-format
+msgid "path '%s' does not exist in '%.*s'"
+msgstr "Pfad '%s' existiert nicht in '%.*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 ""
+"Pfad '%s' ist im Index, aber nicht in Stufe %d\n"
+"Hinweis: Meinten Sie ':%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 ""
+"Pfad '%s' ist im Index, aber nicht '%s'\n"
+"Hinweis: Meinten Sie ':%d:%s' auch bekannt als ':%d:./%s'?"
+
+#: sha1-name.c:1756
+#, c-format
+msgid "path '%s' exists on disk, but not in the index"
+msgstr "Pfad '%s' existiert im Dateisystem, aber nicht im Index"
+
+#: sha1-name.c:1758
+#, c-format
+msgid "path '%s' does not exist (neither on disk nor in the index)"
+msgstr "Pfad '%s' existiert nicht (weder im Dateisystem noch im Index)"
+
+#: sha1-name.c:1771
+msgid "relative path syntax can't be used outside working tree"
+msgstr ""
+"Die Syntax für relative Pfade kann nicht außerhalb des Arbeitsverzeichnisses "
+"benutzt werden."
+
+#: sha1-name.c:1909
+#, c-format
+msgid "invalid object name '%.*s'."
+msgstr "ungültiger Objektname '%.*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"
@@ -7239,13 +8056,18 @@ msgstr[0] "%u Byte"
 msgstr[1] "%u Bytes"
 
 #. 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 Byte/s"
 msgstr[1] "%u Bytes/s"
 
+#: strbuf.c:1164
+#, c-format
+msgid "could not edit '%s'"
+msgstr "Konnte '%s' nicht editieren."
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -7276,51 +8098,128 @@ msgstr "In nicht ausgechecktem Submodul '%s'."
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Pfadspezifikation '%s' befindet sich in Submodul '%.*s'"
 
+#: submodule.c:434
+#, c-format
+msgid "bad --ignore-submodules argument: %s"
+msgstr "ungültiges --ignore-submodules Argument: %s"
+
+#: submodule.c:815
+#, c-format
+msgid ""
+"Submodule in commit %s at path: '%s' collides with a submodule named the "
+"same. Skipping it."
+msgstr ""
+"Submodul in Commit %s beim Pfad: '%s' hat den gleichen Namen wie ein "
+"Submodul. Wird übersprungen."
+
 #: submodule.c:910
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "Submodul-Eintrag '%s' (%s) ist ein %s, kein Commit."
 
-#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:1989
+#: submodule.c:995
+#, c-format
+msgid ""
+"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
+"submodule %s"
+msgstr ""
+"Konnte 'git rev-list <Commits> --not --remotes -n 1' nicht in Submodul '%s' "
+"ausführen."
+
+#: submodule.c:1118
+#, c-format
+msgid "process for submodule '%s' failed"
+msgstr "Prozess für Submodul '%s' fehlgeschlagen"
+
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:2045
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Konnte HEAD nicht als gültige Referenz auflösen."
 
-#: submodule.c:1481
+#: submodule.c:1158
+#, c-format
+msgid "Pushing submodule '%s'\n"
+msgstr "Pushe Submodul '%s'\n"
+
+#: submodule.c:1161
+#, c-format
+msgid "Unable to push submodule '%s'\n"
+msgstr "Kann Push für Submodul '%s' nicht ausführen\n"
+
+#: submodule.c:1453
 #, c-format
-msgid "Could not access submodule '%s'"
-msgstr "Konnte nicht auf Submodul '%s' zugreifen."
+msgid "Fetching submodule %s%s\n"
+msgstr "Anfordern des Submoduls %s%s\n"
 
-#: submodule.c:1651
+#: submodule.c:1483
+#, c-format
+msgid "Could not access submodule '%s'\n"
+msgstr "Konnte nicht auf Submodul '%s' zugreifen\n"
+
+#: submodule.c:1637
+#, c-format
+msgid ""
+"Errors during submodule fetch:\n"
+"%s"
+msgstr ""
+"Fehler während des Anforderns der Submodule:\n"
+"%s"
+
+#: submodule.c:1662
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' nicht als Git-Repository erkannt"
 
-#: submodule.c:1789
+#: submodule.c:1679
+#, c-format
+msgid "Could not run 'git status --porcelain=2' in submodule %s"
+msgstr "Konnte 'git status --porcelain=2' nicht in Submodul %s ausführen"
+
+#: submodule.c:1720
+#, c-format
+msgid "'git status --porcelain=2' failed in submodule %s"
+msgstr "'git status --porcelain=2' ist in Submodul %s fehlgeschlagen"
+
+#: submodule.c:1800
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "Konnte 'git status' in Submodul '%s' nicht starten."
 
-#: submodule.c:1802
+#: submodule.c:1813
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "Konnte 'git status' in Submodul '%s' nicht ausführen."
 
-#: submodule.c:1817
+#: submodule.c:1828
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "Konnte core.worktree Einstellung in Submodul '%s' nicht aufheben."
 
-#: submodule.c:1907
+#: submodule.c:1855 submodule.c:2165
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "Fehler bei Rekursion in Submodul-Pfad '%s'"
+
+#: submodule.c:1876
+msgid "could not reset submodule index"
+msgstr "konnte Index des Submoduls nicht zurücksetzen"
+
+#: submodule.c:1918
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "Submodul '%s' hat einen geänderten Index."
 
-#: submodule.c:1959
+#: submodule.c:1970
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "Submodule '%s' konnte nicht aktualisiert werden."
 
-#: submodule.c:2007
+#: submodule.c:2038
+#, c-format
+msgid "submodule git dir '%s' is inside git dir '%.*s'"
+msgstr ""
+"Git-Verzeichnis des Submoduls '%s' ist im Git-Verzeichnis '%.*s' enthalten."
+
+#: submodule.c:2059
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -7328,12 +8227,17 @@ msgstr ""
 "relocate_gitdir für Submodul '%s' mit mehr als einem Arbeitsverzeichnis\n"
 "wird nicht unterstützt"
 
-#: submodule.c:2019 submodule.c:2074
+#: submodule.c:2071 submodule.c:2130
 #, c-format
 msgid "could not lookup name for submodule '%s'"
-msgstr "konnte Name für Submodul '%s' nicht nachschlagen"
+msgstr "Konnte Name für Submodul '%s' nicht nachschlagen."
+
+#: submodule.c:2075
+#, c-format
+msgid "refusing to move '%s' into an existing git dir"
+msgstr "Verschieben von '%s' in ein existierendes Git-Verzeichnis verweigert."
 
-#: submodule.c:2026
+#: submodule.c:2082
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -7344,42 +8248,37 @@ msgstr ""
 "'%s' nach\n"
 "'%s'\n"
 
-#: submodule.c:2109
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr "Fehler bei Rekursion in Submodul-Pfad '%s'"
-
-#: submodule.c:2153
+#: submodule.c:2209
 msgid "could not start ls-files in .."
 msgstr "Konnte 'ls-files' nicht in .. starten"
 
-#: submodule.c:2192
+#: submodule.c:2248
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree mit unerwartetem Rückgabewert %d beendet"
 
-#: submodule-config.c:232
+#: submodule-config.c:236
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "Ignoriere verdächtigen Submodulnamen: %s"
 
-#: submodule-config.c:299
+#: submodule-config.c:303
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "Negative Werte für submodule.fetchjobs nicht erlaubt."
 
-#: submodule-config.c:397
+#: submodule-config.c:401
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr ""
 "Ignoriere '%s', was als eine Befehlszeilenoption '%s' interpretiert werden "
 "würde."
 
-#: submodule-config.c:486
+#: submodule-config.c:498
 #, c-format
 msgid "invalid value for %s"
 msgstr "Ungültiger Wert für %s"
 
-#: submodule-config.c:755
+#: submodule-config.c:765
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Konnte Eintrag '%s' in .gitmodules nicht aktualisieren"
@@ -7395,7 +8294,7 @@ msgstr "Ausführen des Anhang-Befehls '%s' fehlgeschlagen"
 msgid "unknown value '%s' for key '%s'"
 msgstr "unbekannter Wert '%s' für Schlüssel %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 "mehr als ein %s"
@@ -7414,7 +8313,7 @@ msgstr "Konnte Eingabe-Datei '%s' nicht lesen"
 msgid "could not read from stdin"
 msgstr "konnte nicht von der Standard-Eingabe lesen"
 
-#: trailer.c:1011 wrapper.c:701
+#: trailer.c:1011 wrapper.c:665
 #, c-format
 msgid "could not stat %s"
 msgstr "Konnte '%s' nicht lesen"
@@ -7443,47 +8342,47 @@ msgstr "konnte temporäre Datei nicht zu %s umbenennen"
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "Würde Upstream-Branch von '%s' zu '%s' von '%s' setzen\n"
 
-#: transport.c:142
+#: transport.c:145
 #, c-format
 msgid "could not read bundle '%s'"
 msgstr "Konnte Paket '%s' nicht lesen."
 
-#: transport.c:208
+#: transport.c:214
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "transport: ungültige --depth Option '%s'"
 
-#: transport.c:259
+#: transport.c:266
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "Siehe protocol.version in 'git help config' für weitere Informationen"
 
-#: transport.c:260
+#: transport.c:267
 msgid "server options require protocol version 2 or later"
 msgstr "Server-Optionen benötigen Protokoll-Version 2 oder höher"
 
-#: transport.c:625
+#: transport.c:632
 msgid "could not parse transport.color.* config"
 msgstr "Konnte transport.color.* Konfiguration nicht parsen."
 
-#: transport.c:698
+#: transport.c:705
 msgid "support for protocol v2 not implemented yet"
 msgstr "Unterstützung für Protokoll v2 noch nicht implementiert."
 
-#: transport.c:825
+#: transport.c:831
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "Unbekannter Wert für Konfiguration '%s': %s"
 
-#: transport.c:891
+#: transport.c:897
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "Übertragungsart '%s' nicht erlaubt."
 
-#: transport.c:945
+#: transport.c:949
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync wird nicht länger unterstützt."
 
-#: transport.c:1040
+#: transport.c:1044
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -7492,7 +8391,7 @@ msgstr ""
 "Die folgenden Submodul-Pfade enthalten Änderungen, die in keinem\n"
 "Remote-Repository gefunden wurden:\n"
 
-#: transport.c:1044
+#: transport.c:1048
 #, c-format
 msgid ""
 "\n"
@@ -7519,34 +8418,34 @@ msgstr ""
 "zum Versenden zu einem Remote-Repository.\n"
 "\n"
 
-#: transport.c:1052
+#: transport.c:1056
 msgid "Aborting."
 msgstr "Abbruch."
 
-#: transport.c:1193
+#: transport.c:1201
 msgid "failed to push all needed submodules"
 msgstr "Fehler beim Versand aller erforderlichen Submodule."
 
-#: transport.c:1340 transport-helper.c:645
+#: transport.c:1345 transport-helper.c:657
 msgid "operation not supported by protocol"
 msgstr "Die Operation wird von dem Protokoll nicht unterstützt."
 
-#: transport-helper.c:51 transport-helper.c:80
+#: transport-helper.c:61 transport-helper.c:90
 msgid "full write to remote helper failed"
 msgstr "Vollständiges Schreiben zu Remote-Helper fehlgeschlagen."
 
-#: transport-helper.c:134
+#: transport-helper.c:144
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr "Konnte Remote-Helper für '%s' nicht finden."
 
-#: transport-helper.c:150 transport-helper.c:559
+#: transport-helper.c:160 transport-helper.c:571
 msgid "can't dup helper output fd"
 msgstr ""
 "Konnte dup() auf Dateideskriptor für Ausgaben des Remote-Helpers nicht "
 "ausführen."
 
-#: transport-helper.c:201
+#: transport-helper.c:211
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
@@ -7555,100 +8454,105 @@ msgstr ""
 "Unbekannte erforderliche Fähigkeit %s; dieser Remote-Helper benötigt\n"
 "wahrscheinlich eine neuere Version von Git."
 
-#: transport-helper.c:207
+#: transport-helper.c:217
 msgid "this remote helper should implement refspec capability"
 msgstr "Dieser Remote-Helper sollte die \"refspec\"-Fähigkeit implementieren."
 
-#: transport-helper.c:274 transport-helper.c:414
+#: transport-helper.c:284 transport-helper.c:425
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr "unerwartete Ausgabe von %s: '%s'"
 
-#: transport-helper.c:403
+#: transport-helper.c:414
 #, c-format
 msgid "%s also locked %s"
 msgstr "%s sperrte auch %s"
 
-#: transport-helper.c:481
+#: transport-helper.c:493
 msgid "couldn't run fast-import"
 msgstr "Konnte \"fast-import\" nicht ausführen."
 
-#: transport-helper.c:504
+#: transport-helper.c:516
 msgid "error while running fast-import"
 msgstr "Fehler beim Ausführen von '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 "Konnte Referenz %s nicht lesen."
 
-#: transport-helper.c:578
+#: transport-helper.c:590
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "Unbekannte Antwort auf 'connect': %s"
 
-#: transport-helper.c:600
+#: transport-helper.c:612
 msgid "setting remote service path not supported by protocol"
 msgstr ""
 "Setzen des Remote-Service Pfads wird von dem Protokoll nicht unterstützt."
 
-#: transport-helper.c:602
+#: transport-helper.c:614
 msgid "invalid remote service path"
 msgstr "Ungültiger Remote-Service Pfad."
 
-#: transport-helper.c:648
+#: transport-helper.c:660
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "Kann keine Verbindung zu Subservice %s herstellen."
 
-#: transport-helper.c:720
+#: transport-helper.c:736
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "Erwartete ok/error, Remote-Helper gab '%s' aus."
 
-#: transport-helper.c:773
+#: transport-helper.c:789
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "Remote-Helper meldete unerwarteten Status von %s."
 
-#: transport-helper.c:834
+#: transport-helper.c:850
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "Remote-Helper %s unterstützt kein Trockenlauf."
 
-#: transport-helper.c:837
+#: transport-helper.c:853
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "Remote-Helper %s unterstützt kein --signed."
 
-#: transport-helper.c:840
+#: transport-helper.c:856
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "Remote-Helper %s unterstützt kein --signed=if-asked."
 
-#: transport-helper.c:847
+#: transport-helper.c:861
+#, c-format
+msgid "helper %s does not support --atomic"
+msgstr "Remote-Helper %s unterstützt kein --atomic."
+
+#: transport-helper.c:867
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "Remote-Helper %s unterstützt nicht 'push-option'."
 
-#: transport-helper.c:945
+#: transport-helper.c:965
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr "Remote-Helper unterstützt kein Push; Refspec benötigt"
 
-#: transport-helper.c:950
+#: transport-helper.c:970
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "Remote-Helper %s unterstützt kein 'force'."
 
-#: transport-helper.c:997
+#: transport-helper.c:1017
 msgid "couldn't run fast-export"
 msgstr "Konnte \"fast-export\" nicht ausführen."
 
-#: transport-helper.c:1002
+#: transport-helper.c:1022
 msgid "error while running fast-export"
 msgstr "Fehler beim Ausführen von \"fast-export\"."
 
-#: transport-helper.c:1027
+#: transport-helper.c:1047
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -7657,67 +8561,67 @@ msgstr ""
 "Keine gemeinsamen Referenzen und nichts spezifiziert; keine Ausführung.\n"
 "Vielleicht sollten Sie einen Branch wie 'master' angeben.\n"
 
-#: transport-helper.c:1091
+#: transport-helper.c:1120
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "Ungültige Antwort in Referenzliste: %s"
 
-#: transport-helper.c:1244
+#: transport-helper.c:1272
 #, c-format
 msgid "read(%s) failed"
 msgstr "Lesen von %s fehlgeschlagen."
 
-#: transport-helper.c:1271
+#: transport-helper.c:1299
 #, c-format
 msgid "write(%s) failed"
 msgstr "Schreiben von %s fehlgeschlagen."
 
-#: transport-helper.c:1320
+#: transport-helper.c:1348
 #, c-format
 msgid "%s thread failed"
 msgstr "Thread %s fehlgeschlagen."
 
-#: transport-helper.c:1324
+#: transport-helper.c:1352
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "Fehler beim Beitreten zu Thread %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 "Kann Thread zum Kopieren von Daten nicht starten: %s"
 
-#: transport-helper.c:1384
+#: transport-helper.c:1412
 #, c-format
 msgid "%s process failed to wait"
 msgstr "Fehler beim Warten von Prozess %s."
 
-#: transport-helper.c:1388
+#: transport-helper.c:1416
 #, c-format
 msgid "%s process failed"
 msgstr "Prozess %s fehlgeschlagen"
 
-#: 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 "Kann Thread zum Kopieren von Daten nicht starten."
 
-#: tree-walk.c:33
+#: tree-walk.c:32
 msgid "too-short tree object"
 msgstr "zu kurzes Tree-Objekt"
 
-#: tree-walk.c:39
+#: tree-walk.c:38
 msgid "malformed mode in tree entry"
 msgstr "fehlerhafter Modus in Tree-Eintrag"
 
-#: tree-walk.c:43
+#: tree-walk.c:42
 msgid "empty filename in tree entry"
 msgstr "leerer Dateiname in Tree-Eintrag"
 
-#: tree-walk.c:118
+#: tree-walk.c:117
 msgid "too-short tree file"
 msgstr "zu kurze Tree-Datei"
 
-#: unpack-trees.c:111
+#: unpack-trees.c:110
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -7728,7 +8632,7 @@ msgstr ""
 "%%sBitte committen oder stashen Sie Ihre Änderungen, bevor Sie Branches\n"
 "wechseln."
 
-#: unpack-trees.c:113
+#: unpack-trees.c:112
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -7738,7 +8642,7 @@ msgstr ""
 "überschrieben werden:\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"
@@ -7748,7 +8652,7 @@ msgstr ""
 "überschrieben werden:\n"
 "%%sBitte committen oder stashen Sie Ihre Änderungen, bevor Sie mergen."
 
-#: unpack-trees.c:118
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -7758,7 +8662,7 @@ msgstr ""
 "überschrieben werden:\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"
@@ -7768,7 +8672,7 @@ msgstr ""
 "überschrieben werden:\n"
 "%%sBitte committen oder stashen Sie Ihre Änderungen, bevor Sie %s ausführen."
 
-#: unpack-trees.c:123
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -7777,7 +8681,7 @@ msgstr ""
 "Ihre lokalen Änderungen würden durch %s überschrieben werden.\n"
 "%%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -7787,7 +8691,7 @@ msgstr ""
 "Dateien in diesen Verzeichnissen verloren gehen:\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"
@@ -7797,7 +8701,7 @@ msgstr ""
 "den Checkout entfernt werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor Sie Branches wechseln."
 
-#: unpack-trees.c:134
+#: unpack-trees.c:133
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -7808,7 +8712,7 @@ msgstr ""
 "Checkout entfernt werden:\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"
@@ -7818,7 +8722,7 @@ msgstr ""
 "den Merge entfernt werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor sie mergen."
 
-#: unpack-trees.c:139
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -7829,7 +8733,7 @@ msgstr ""
 "Merge entfernt werden:\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"
@@ -7839,7 +8743,7 @@ msgstr ""
 "den %s entfernt werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor sie %s ausführen."
 
-#: unpack-trees.c:144
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -7849,7 +8753,7 @@ msgstr ""
 "den %s entfernt werden:\n"
 "%%s"
 
-#: unpack-trees.c:150
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7860,7 +8764,7 @@ msgstr ""
 "den Checkout überschrieben werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor Sie Branches wechseln."
 
-#: unpack-trees.c:152
+#: unpack-trees.c:151
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7872,7 +8776,7 @@ msgstr ""
 "Checkout überschrieben werden:\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"
@@ -7882,7 +8786,7 @@ msgstr ""
 "den Merge überschrieben werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor Sie mergen."
 
-#: unpack-trees.c:157
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -7892,7 +8796,7 @@ msgstr ""
 "den Merge überschrieben werden:\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"
@@ -7902,7 +8806,7 @@ msgstr ""
 "den %s überschrieben werden:\n"
 "%%sBitte verschieben oder entfernen Sie diese, bevor sie %s ausführen."
 
-#: unpack-trees.c:162
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -7913,12 +8817,12 @@ msgstr ""
 "%s überschrieben werden:\n"
 "%%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:169
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "Eintrag '%s' überschneidet sich mit '%s'. Kann nicht verbinden."
 
-#: unpack-trees.c:173
+#: unpack-trees.c:172
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
@@ -7928,7 +8832,7 @@ msgstr ""
 "sind nicht aktuell:\n"
 "%s"
 
-#: unpack-trees.c:175
+#: unpack-trees.c:174
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -7939,7 +8843,7 @@ msgstr ""
 "über einen partiellen Checkout überschrieben werden:\n"
 "%s"
 
-#: unpack-trees.c:177
+#: unpack-trees.c:176
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -7950,7 +8854,7 @@ msgstr ""
 "über einen partiellen Checkout entfernt werden:\n"
 "%s"
 
-#: unpack-trees.c:179
+#: unpack-trees.c:178
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -7959,16 +8863,16 @@ msgstr ""
 "Kann Submodul nicht aktualisieren:\n"
 "%s"
 
-#: unpack-trees.c:256
+#: unpack-trees.c:255
 #, c-format
 msgid "Aborting\n"
 msgstr "Abbruch\n"
 
-#: unpack-trees.c:318
+#: unpack-trees.c:317
 msgid "Updating files"
 msgstr "Aktualisiere Dateien"
 
-#: 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"
@@ -7978,6 +8882,10 @@ msgstr ""
 "auf einem case-insensitiven Dateisystem) und nur einer von der\n"
 "selben Kollissionsgruppe ist im Arbeitsverzeichnis:\n"
 
+#: unpack-trees.c:1445
+msgid "Updating index flags"
+msgstr "Aktualisiere Index-Markierungen"
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "Ungültiges URL-Schema oder Suffix '://' fehlt"
@@ -8007,47 +8915,51 @@ msgstr "ungültige Portnummer"
 msgid "invalid '..' path segment"
 msgstr "ungültiges '..' Pfadsegment"
 
-#: worktree.c:258 builtin/am.c:2095
+#: walker.c:170
+msgid "Fetching objects"
+msgstr "Anfordern der Objekte"
+
+#: worktree.c:259 builtin/am.c:2099
 #, c-format
 msgid "failed to read '%s'"
 msgstr "Fehler beim Lesen von '%s'"
 
-#: worktree.c:304
+#: worktree.c:305
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr "'%s' im Hauptarbeitsverzeichnis ist nicht das Repository-Verzeichnis."
 
-#: worktree.c:315
+#: worktree.c:316
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr "'%s' Datei enthält nicht den absoluten Pfad zum Arbeitsverzeichnis."
 
-#: worktree.c:327
+#: worktree.c:328
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' existiert nicht."
 
-#: worktree.c:333
+#: worktree.c:334
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' ist keine .git-Datei, Fehlercode %d"
 
-#: worktree.c:341
+#: worktree.c:342
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' zeigt nicht zurück auf '%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 "Konnte '%s' nicht zum Lesen und Schreiben öffnen."
 
-#: wrapper.c:424 wrapper.c:624
+#: wrapper.c:387 wrapper.c:588
 #, c-format
 msgid "unable to access '%s'"
 msgstr "konnte nicht auf '%s' zugreifen"
 
-#: wrapper.c:632
+#: wrapper.c:596
 msgid "unable to get current working directory"
 msgstr "Konnte aktuelles Arbeitsverzeichnis nicht bekommen."
 
@@ -8243,7 +9155,7 @@ msgstr "Sie haben nicht zusammengeführte Pfade."
 
 #: wt-status.c:1147
 msgid "  (fix conflicts and run \"git commit\")"
-msgstr " (beheben Sie die Konflikte und führen Sie \"git commit\" aus)"
+msgstr "  (beheben Sie die Konflikte und führen Sie \"git commit\" aus)"
 
 #: wt-status.c:1149
 msgid "  (use \"git merge --abort\" to abort the merge)"
@@ -8411,87 +9323,96 @@ msgstr ""
 "  (alle Konflikte behoben: führen Sie \"git cherry-pick --continue\" aus)"
 
 #: wt-status.c:1437
+msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
+msgstr ""
+"  (benutzen Sie \"git cherry-pick --skip\", um diesen Patch auszulassen)"
+
+#: wt-status.c:1439
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr ""
 "  (benutzen Sie \"git cherry-pick --abort\", um die Cherry-Pick-Operation "
 "abzubrechen)"
 
-#: wt-status.c:1447
+#: wt-status.c:1449
 msgid "Revert currently in progress."
 msgstr "Revert zurzeit im Gange."
 
-#: wt-status.c:1450
+#: wt-status.c:1452
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Sie sind gerade beim Revert von Commit '%s'."
 
-#: wt-status.c:1456
+#: wt-status.c:1458
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr ""
 "  (beheben Sie die Konflikte und führen Sie dann \"git revert --continue\" "
 "aus)"
 
-#: wt-status.c:1459
+#: wt-status.c:1461
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (Führen Sie \"git revert --continue\", um weiterzumachen)"
 
-#: wt-status.c:1462
+#: wt-status.c:1464
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (alle Konflikte behoben: führen Sie \"git revert --continue\" aus)"
 
-#: wt-status.c:1464
+#: wt-status.c:1466
+msgid "  (use \"git revert --skip\" to skip this patch)"
+msgstr "  (benutzen Sie \"git revert --skip\", um diesen Patch auszulassen)"
+
+#: wt-status.c:1468
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr ""
 "  (benutzen Sie \"git revert --abort\", um die Revert-Operation abzubrechen)"
 
-#: wt-status.c:1474
+#: wt-status.c:1478
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Sie sind gerade bei einer binären Suche, gestartet von Branch '%s'."
 
-#: wt-status.c:1478
+#: wt-status.c:1482
 msgid "You are currently bisecting."
 msgstr "Sie sind gerade bei einer binären Suche."
 
-#: wt-status.c:1481
+#: wt-status.c:1485
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr ""
 "  (benutzen Sie \"git bisect reset\", um zum ursprünglichen Branch "
 "zurückzukehren)"
 
-#: wt-status.c:1690
+#: wt-status.c:1694
 msgid "On branch "
 msgstr "Auf Branch "
 
-#: wt-status.c:1697
+#: wt-status.c:1701
 msgid "interactive rebase in progress; onto "
 msgstr "interaktives Rebase im Gange; auf "
 
-#: wt-status.c:1699
+#: wt-status.c:1703
 msgid "rebase in progress; onto "
 msgstr "Rebase im Gange; auf "
 
-#: wt-status.c:1709
+#: wt-status.c:1713
 msgid "Not currently on any branch."
 msgstr "Im Moment auf keinem Branch."
 
-#: wt-status.c:1726
+#: wt-status.c:1730
 msgid "Initial commit"
 msgstr "Initialer Commit"
 
-#: wt-status.c:1727
+#: wt-status.c:1731
 msgid "No commits yet"
 msgstr "Noch keine Commits"
 
-#: wt-status.c:1741
+#: wt-status.c:1745
 msgid "Untracked files"
 msgstr "Unversionierte Dateien"
 
-#: wt-status.c:1743
+#: wt-status.c:1747
 msgid "Ignored files"
 msgstr "Ignorierte Dateien"
 
-#: wt-status.c:1747
+#: wt-status.c:1751
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -8502,32 +9423,32 @@ msgstr ""
 "'status -uno' könnte das beschleunigen, aber Sie müssen darauf achten,\n"
 "neue Dateien selbstständig hinzuzufügen (siehe 'git help status')."
 
-#: wt-status.c:1753
+#: wt-status.c:1757
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Unversionierte Dateien nicht aufgelistet%s"
 
-#: wt-status.c:1755
+#: wt-status.c:1759
 msgid " (use -u option to show untracked files)"
 msgstr " (benutzen Sie die Option -u, um unversionierte Dateien anzuzeigen)"
 
-#: wt-status.c:1761
+#: wt-status.c:1765
 msgid "No changes"
 msgstr "Keine Änderungen"
 
-#: 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 ""
 "keine Änderungen zum Commit vorgemerkt (benutzen Sie \"git add\" und/oder "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1769
+#: wt-status.c:1773
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "keine Änderungen zum Commit vorgemerkt\n"
 
-#: wt-status.c:1772
+#: wt-status.c:1776
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -8536,200 +9457,209 @@ msgstr ""
 "nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien\n"
 "(benutzen Sie \"git add\" zum Versionieren)\n"
 
-#: wt-status.c:1775
+#: wt-status.c:1779
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr "nichts zum Commit vorgemerkt, aber es gibt unversionierte Dateien\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 ""
 "nichts zu committen (erstellen/kopieren Sie Dateien und benutzen\n"
 "Sie \"git add\" zum Versionieren)\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 "nichts zu committen\n"
 
-#: wt-status.c:1784
+#: wt-status.c:1788
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr ""
 "nichts zu committen (benutzen Sie die Option -u, um unversionierte Dateien "
 "anzuzeigen)\n"
 
-#: wt-status.c:1788
+#: wt-status.c:1792
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "nichts zu committen, Arbeitsverzeichnis unverändert\n"
 
-#: wt-status.c:1901
+#: wt-status.c:1905
 msgid "No commits yet on "
 msgstr "Noch keine Commits in "
 
-#: wt-status.c:1905
+#: wt-status.c:1909
 msgid "HEAD (no branch)"
 msgstr "HEAD (kein Branch)"
 
-#: wt-status.c:1936
+#: wt-status.c:1940
 msgid "different"
 msgstr "unterschiedlich"
 
-#: wt-status.c:1938 wt-status.c:1946
+#: wt-status.c:1942 wt-status.c:1950
 msgid "behind "
 msgstr "hinterher "
 
-#: wt-status.c:1941 wt-status.c:1944
+#: wt-status.c:1945 wt-status.c:1948
 msgid "ahead "
 msgstr "voraus "
 
 #. 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 nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt sind."
 
-#: wt-status.c:2472
+#: wt-status.c:2476
 msgid "additionally, your index contains uncommitted changes."
 msgstr "Zusätzlich enthält die Staging-Area nicht committete Änderungen."
 
-#: wt-status.c:2474
+#: wt-status.c:2478
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr ""
 "%s nicht möglich: Die Staging-Area enthält nicht committete Änderungen."
 
-#: builtin/add.c:25
+#: compat/precompose_utf8.c:58 builtin/clone.c:455
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "Konnte '%s' nicht entfernen."
+
+#: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<Optionen>] [--] <Pfadspezifikation>..."
 
-#: builtin/add.c:84
+#: builtin/add.c:88
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "unerwarteter Differenz-Status %c"
 
-#: builtin/add.c:89 builtin/commit.c:288
+#: builtin/add.c:93 builtin/commit.c:288
 msgid "updating files failed"
 msgstr "Aktualisierung der Dateien fehlgeschlagen"
 
-#: builtin/add.c:99
+#: builtin/add.c:103
 #, c-format
 msgid "remove '%s'\n"
 msgstr "lösche '%s'\n"
 
-#: builtin/add.c:174
+#: builtin/add.c:178
 msgid "Unstaged changes after refreshing the index:"
 msgstr ""
 "Nicht zum Commit vorgemerkte Änderungen nach Aktualisierung der Staging-Area:"
 
-#: 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 "Konnte den Index nicht lesen"
 
-#: builtin/add.c:245
+#: builtin/add.c:277
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Konnte '%s' nicht zum Schreiben öffnen."
 
-#: builtin/add.c:249
+#: builtin/add.c:281
 msgid "Could not write patch"
 msgstr "Konnte Patch nicht schreiben"
 
-#: builtin/add.c:252
+#: builtin/add.c:284
 msgid "editing patch failed"
 msgstr "Bearbeitung des Patches fehlgeschlagen"
 
-#: builtin/add.c:255
+#: builtin/add.c:287
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Konnte Verzeichnis '%s' nicht lesen"
 
-#: builtin/add.c:257
+#: builtin/add.c:289
 msgid "Empty patch. Aborted."
 msgstr "Leerer Patch. Abgebrochen."
 
-#: builtin/add.c:262
+#: builtin/add.c:294
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Konnte '%s' nicht anwenden."
 
-#: builtin/add.c:270
+#: builtin/add.c:302
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Die folgenden Pfade werden durch eine Ihrer \".gitignore\" Dateien "
 "ignoriert:\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 "Probelauf"
 
-#: builtin/add.c:293
+#: builtin/add.c:325
 msgid "interactive picking"
 msgstr "interaktives Auswählen"
 
-#: 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 "Blöcke interaktiv auswählen"
 
-#: builtin/add.c:295
+#: builtin/add.c:327
 msgid "edit current diff and apply"
 msgstr "aktuelle Unterschiede editieren und anwenden"
 
-#: builtin/add.c:296
+#: builtin/add.c:328
 msgid "allow adding otherwise ignored files"
 msgstr "das Hinzufügen andernfalls ignorierter Dateien erlauben"
 
-#: builtin/add.c:297
+#: builtin/add.c:329
 msgid "update tracked files"
 msgstr "versionierte Dateien aktualisieren"
 
-#: builtin/add.c:298
+#: builtin/add.c:330
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr ""
 "erneutes Normalisieren der Zeilenenden von versionierten Dateien (impliziert "
 "-u)"
 
-#: builtin/add.c:299
+#: builtin/add.c:331
 msgid "record only the fact that the path will be added later"
 msgstr "nur speichern, dass der Pfad später hinzugefügt werden soll"
 
-#: builtin/add.c:300
+#: builtin/add.c:332
 msgid "add changes from all tracked and untracked files"
 msgstr ""
 "Änderungen von allen versionierten und unversionierten Dateien hinzufügen"
 
-#: builtin/add.c:303
+#: builtin/add.c:335
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr "gelöschte Pfade im Arbeitsverzeichnis ignorieren (genau wie --no-all)"
 
-#: builtin/add.c:305
+#: builtin/add.c:337
 msgid "don't add, only refresh the index"
 msgstr "nichts hinzufügen, nur den Index aktualisieren"
 
-#: builtin/add.c:306
+#: builtin/add.c:338
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 "Dateien überspringen, die aufgrund von Fehlern nicht hinzugefügt werden "
 "konnten"
 
-#: builtin/add.c:307
+#: builtin/add.c:339
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "prüfen ob - auch fehlende - Dateien im Probelauf ignoriert werden"
 
-#: 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 "das \"ausführbar\"-Bit der aufgelisteten Dateien überschreiben"
 
-#: builtin/add.c:311
+#: builtin/add.c:343
 msgid "warn when adding an embedded repository"
 msgstr "warnen wenn eingebettetes Repository hinzugefügt wird"
 
-#: builtin/add.c:326
+#: builtin/add.c:345
+msgid "backend for `git stash -p`"
+msgstr "Backend für `git stash -p`"
+
+#: builtin/add.c:363
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -8763,158 +9693,186 @@ msgstr ""
 "\n"
 "Siehe \"git help submodule\" für weitere Informationen."
 
-#: builtin/add.c:354
+#: builtin/add.c:391
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "Füge eingebettetes Repository hinzu: %s"
 
-#: builtin/add.c:372
-#, c-format
-msgid "Use -f if you really want to add them.\n"
-msgstr "Verwenden Sie -f wenn Sie diese wirklich hinzufügen möchten.\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 ""
+"Nutzen Sie die Option -f, wenn sie wirklich hinzugefügt werden sollen.\n"
+"Um diese Meldung abzuschalten, führen Sie folgenden Befehl aus:\n"
+"\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:379
+#: builtin/add.c:419
 msgid "adding files failed"
 msgstr "Hinzufügen von Dateien fehlgeschlagen"
 
-#: builtin/add.c:419
+#: builtin/add.c:447 builtin/commit.c:348
+msgid "--pathspec-from-file is incompatible with --interactive/--patch"
+msgstr ""
+"Die Optionen --pathspec-from-file und --interactive/--patch sind "
+"inkompatibel."
+
+#: builtin/add.c:464
+msgid "--pathspec-from-file is incompatible with --edit"
+msgstr "Die Optionen --pathspec-from-file und --edit sind inkompatibel."
+
+#: builtin/add.c:476
 msgid "-A and -u are mutually incompatible"
 msgstr "Die Optionen -A und -u sind zueinander inkompatibel."
 
-#: builtin/add.c:426
+#: builtin/add.c:479
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 "Die Option --ignore-missing kann nur zusammen mit --dry-run verwendet werden."
 
-#: builtin/add.c:430
+#: builtin/add.c:483
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "--chmod Parameter '%s' muss entweder -x oder +x sein"
 
-#: 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 ""
+"Die Option --pathspec-from-file ist inkompatibel mit\n"
+"Pfadspezifikation-Argumenten."
+
+#: 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 "Die Option --pathspec-file-nul benötigt --pathspec-from-file"
+
+#: builtin/add.c:512
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Nichts spezifiziert, nichts hinzugefügt.\n"
 
-#: builtin/add.c:446
-#, c-format
-msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr "Meinten Sie vielleicht '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 ""
+"Eventuell meinten Sie 'git add .'?\n"
+"Um diese Meldung abzuschalten, führen Sie folgenden Befehl aus:\n"
+"\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:348
+#: builtin/am.c:352
 msgid "could not parse author script"
 msgstr "konnte Autor-Skript nicht parsen"
 
-#: builtin/am.c:432
+#: builtin/am.c:436
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' wurde durch den applypatch-msg Hook entfernt"
 
-#: builtin/am.c:474
+#: builtin/am.c:478
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Fehlerhafte Eingabezeile: '%s'."
 
-#: builtin/am.c:512
+#: builtin/am.c:516
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Fehler beim Kopieren der Notizen von '%s' nach '%s'"
 
-#: builtin/am.c:538
+#: builtin/am.c:542
 msgid "fseek failed"
 msgstr "\"fseek\" fehlgeschlagen"
 
-#: builtin/am.c:726
+#: builtin/am.c:730
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "konnte Patch '%s' nicht parsen"
 
-#: builtin/am.c:791
+#: builtin/am.c:795
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Es kann nur eine StGIT Patch-Serie auf einmal angewendet werden."
 
-#: builtin/am.c:839
+#: builtin/am.c:843
 msgid "invalid timestamp"
 msgstr "ungültiger Zeitstempel"
 
-#: builtin/am.c:844 builtin/am.c:856
+#: builtin/am.c:848 builtin/am.c:860
 msgid "invalid Date line"
 msgstr "Ungültige \"Date\"-Zeile"
 
-#: builtin/am.c:851
+#: builtin/am.c:855
 msgid "invalid timezone offset"
 msgstr "Ungültiger Offset in der Zeitzone"
 
-#: builtin/am.c:944
+#: builtin/am.c:948
 msgid "Patch format detection failed."
 msgstr "Patch-Formaterkennung fehlgeschlagen."
 
-#: 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 "Fehler beim Erstellen von Verzeichnis '%s'"
 
-#: builtin/am.c:954
+#: builtin/am.c:958
 msgid "Failed to split patches."
 msgstr "Fehler beim Aufteilen der Patches."
 
-#: builtin/am.c:1084 builtin/commit.c:374
-msgid "unable to write index file"
-msgstr "Konnte Index-Datei nicht schreiben."
-
-#: builtin/am.c:1098
+#: builtin/am.c:1089
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr ""
 "Wenn Sie das Problem aufgelöst haben, führen Sie \"%s --continue\" aus."
 
-#: builtin/am.c:1099
+#: builtin/am.c:1090
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr ""
 "Falls Sie diesen Patch auslassen möchten, führen Sie stattdessen \"%s --skip"
 "\" aus."
 
-#: builtin/am.c:1100
+#: builtin/am.c:1091
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 "Um den ursprünglichen Branch wiederherzustellen und die Anwendung der "
 "Patches abzubrechen, führen Sie \"%s --abort\" aus."
 
-#: builtin/am.c:1183
+#: builtin/am.c:1174
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 "Patch mit format=flowed versendet; Leerzeichen am Ende von Zeilen könnte "
 "verloren gehen."
 
-#: builtin/am.c:1211
+#: builtin/am.c:1202
 msgid "Patch is empty."
 msgstr "Patch ist leer."
 
-#: builtin/am.c:1277
+#: builtin/am.c:1267
 #, c-format
-msgid "invalid ident line: %.*s"
-msgstr "Ungültige Identifikationszeile: %.*s"
+msgid "missing author line in commit %s"
+msgstr "Autor-Zeile fehlt in Commit %s"
 
-#: builtin/am.c:1299
+#: builtin/am.c:1270
 #, c-format
-msgid "unable to parse commit %s"
-msgstr "Konnte Commit '%s' nicht parsen."
+msgid "invalid ident line: %.*s"
+msgstr "Ungültige Identifikationszeile: %.*s"
 
-#: builtin/am.c:1496
+#: builtin/am.c:1489
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 "Dem Repository fehlen notwendige Blobs um auf einen 3-Wege-Merge "
 "zurückzufallen."
 
-#: builtin/am.c:1498
+#: builtin/am.c:1491
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Verwende Informationen aus der Staging-Area, um ein Basisverzeichnis "
 "nachzustellen ..."
 
-#: 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."
@@ -8922,24 +9880,24 @@ msgstr ""
 "Haben Sie den Patch per Hand editiert?\n"
 "Er kann nicht auf die Blobs in seiner 'index' Zeile angewendet werden."
 
-#: builtin/am.c:1523
+#: builtin/am.c:1516
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Falle zurück zum Patchen der Basis und zum 3-Wege-Merge ..."
 
-#: builtin/am.c:1549
+#: builtin/am.c:1542
 msgid "Failed to merge in the changes."
 msgstr "Merge der Änderungen fehlgeschlagen."
 
-#: builtin/am.c:1581
+#: builtin/am.c:1574
 msgid "applying to an empty history"
 msgstr "auf leere Historie anwenden"
 
-#: 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 "Kann nicht fortsetzen: %s existiert nicht"
 
-#: builtin/am.c:1650
+#: builtin/am.c:1643
 msgid "Commit Body is:"
 msgstr "Commit-Beschreibung ist:"
 
@@ -8947,37 +9905,41 @@ msgstr "Commit-Beschreibung ist:"
 #. 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 "Anwenden? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
 
-#: builtin/am.c:1710
+#: builtin/am.c:1700 builtin/commit.c:398
+msgid "unable to write index file"
+msgstr "Konnte Index-Datei nicht schreiben."
+
+#: builtin/am.c:1704
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Geänderter Index: kann Patches nicht anwenden (geändert: %s)"
 
-#: builtin/am.c:1750 builtin/am.c:1818
+#: builtin/am.c:1744 builtin/am.c:1812
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Wende an: %.*s"
 
-#: builtin/am.c:1767
+#: builtin/am.c:1761
 msgid "No changes -- Patch already applied."
 msgstr "Keine Änderungen -- Patches bereits angewendet."
 
-#: builtin/am.c:1773
+#: builtin/am.c:1767
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "Anwendung des Patches fehlgeschlagen bei %s %.*s"
 
-#: builtin/am.c:1777
-msgid "Use 'git am --show-current-patch' to see the failed patch"
+#: builtin/am.c:1771
+msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
 msgstr ""
-"Benutzen Sie 'git am --show-current-patch', um den\n"
-"fehlgeschlagenen Patch zu sehen."
+"Benutzen Sie 'git am --show-current-patch=diff', um den\n"
+"fehlgeschlagenen Patch zu sehen"
 
-#: 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"
@@ -8988,7 +9950,7 @@ msgstr ""
 "diese bereits anderweitig eingefügt worden sein; Sie könnten diesen Patch\n"
 "auslassen."
 
-#: 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 "
@@ -9001,17 +9963,17 @@ msgstr ""
 "Sie können 'git rm' auf Dateien ausführen, um \"von denen gelöscht\" für\n"
 "diese zu akzeptieren."
 
-#: 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 "Konnte Objekt '%s' nicht parsen."
 
-#: builtin/am.c:1987
+#: builtin/am.c:1981
 msgid "failed to clean index"
 msgstr "Fehler beim Bereinigen des Index"
 
-#: 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"
@@ -9019,144 +9981,155 @@ msgstr ""
 "Sie scheinen seit dem letzten gescheiterten 'am' HEAD geändert zu haben.\n"
 "Keine Zurücksetzung zu ORIG_HEAD."
 
-#: builtin/am.c:2128
+#: builtin/am.c:2132
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Ungültiger Wert für --patch-format: %s"
 
-#: builtin/am.c:2164
+#: builtin/am.c:2172
+#, c-format
+msgid "Invalid value for --show-current-patch: %s"
+msgstr "Ungültiger Wert für --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 ist inkombatibel mit --show-current-patch=%s"
+
+#: builtin/am.c:2207
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<Optionen>] [(<mbox> | <E-Mail-Verzeichnis>)...]"
 
-#: builtin/am.c:2165
+#: builtin/am.c:2208
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<Optionen>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2171
+#: builtin/am.c:2214
 msgid "run interactively"
 msgstr "interaktiv ausführen"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2216
 msgid "historical option -- no-op"
 msgstr "historische Option -- kein Effekt"
 
-#: builtin/am.c:2175
+#: builtin/am.c:2218
 msgid "allow fall back on 3way merging if needed"
 msgstr "erlaube, falls notwendig, das Zurückfallen auf einen 3-Wege-Merge"
 
-#: 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 "weniger Ausgaben"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2221
 msgid "add a Signed-off-by line to the commit message"
 msgstr "der Commit-Beschreibung eine Signed-off-by Zeile hinzufügen"
 
-#: builtin/am.c:2181
+#: builtin/am.c:2224
 msgid "recode into utf8 (default)"
 msgstr "nach UTF-8 umkodieren (Standard)"
 
-#: builtin/am.c:2183
+#: builtin/am.c:2226
 msgid "pass -k flag to git-mailinfo"
 msgstr "-k an git-mailinfo übergeben"
 
-#: builtin/am.c:2185
+#: builtin/am.c:2228
 msgid "pass -b flag to git-mailinfo"
 msgstr "-b an git-mailinfo übergeben"
 
-#: builtin/am.c:2187
+#: builtin/am.c:2230
 msgid "pass -m flag to git-mailinfo"
 msgstr "-m an git-mailinfo übergeben"
 
-#: builtin/am.c:2189
+#: builtin/am.c:2232
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "--keep-cr an git-mailsplit für mbox-Format übergeben"
 
-#: builtin/am.c:2192
+#: builtin/am.c:2235
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr "kein --keep-cr an git-mailsplit übergeben, unabhängig von am.keepcr"
 
-#: builtin/am.c:2195
+#: builtin/am.c:2238
 msgid "strip everything before a scissors line"
 msgstr "alles vor einer Scheren-Zeile entfernen"
 
-#: 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 "an git-apply übergeben"
 
-#: 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 "Anzahl"
 
-#: 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 "Format"
 
-#: builtin/am.c:2221
+#: builtin/am.c:2264
 msgid "format the patch(es) are in"
 msgstr "Patch-Format"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2270
 msgid "override error message when patch failure occurs"
 msgstr "Meldung bei fehlerhafter Patch-Anwendung überschreiben"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2272
 msgid "continue applying patches after resolving a conflict"
 msgstr "Anwendung der Patches nach Auflösung eines Konfliktes fortsetzen"
 
-#: builtin/am.c:2232
+#: builtin/am.c:2275
 msgid "synonyms for --continue"
 msgstr "Synonyme für --continue"
 
-#: builtin/am.c:2235
+#: builtin/am.c:2278
 msgid "skip the current patch"
 msgstr "den aktuellen Patch auslassen"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2281
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "ursprünglichen Branch wiederherstellen und Anwendung der Patches abbrechen"
 
-#: builtin/am.c:2241
+#: builtin/am.c:2284
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "Patch-Operation abbrechen, aber HEAD an aktueller Stelle belassen"
 
-#: builtin/am.c:2244
-msgid "show the patch being applied."
+#: builtin/am.c:2288
+msgid "show the patch being applied"
 msgstr "den Patch, der gerade angewendet wird, anzeigen"
 
-#: builtin/am.c:2248
+#: builtin/am.c:2293
 msgid "lie about committer date"
 msgstr "Autor-Datum als Commit-Datum verwenden"
 
-#: builtin/am.c:2250
+#: builtin/am.c:2295
 msgid "use current timestamp for author date"
 msgstr "aktuellen Zeitstempel als Autor-Datum verwenden"
 
-#: 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 "GPG-Schlüsselkennung"
 
-#: 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 "Commits mit GPG signieren"
 
-#: builtin/am.c:2256
+#: builtin/am.c:2301
 msgid "(internal use for git-rebase)"
 msgstr "(intern für git-rebase verwendet)"
 
-#: 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."
@@ -9164,16 +10137,16 @@ msgstr ""
 "Die -b/--binary Option hat seit Langem keinen Effekt und wird\n"
 "entfernt. Bitte verwenden Sie diese nicht mehr."
 
-#: builtin/am.c:2281
+#: builtin/am.c:2326
 msgid "failed to read the index"
 msgstr "Fehler beim Lesen des Index"
 
-#: builtin/am.c:2296
+#: builtin/am.c:2341
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr "Vorheriges Rebase-Verzeichnis %s existiert noch, aber mbox gegeben."
 
-#: builtin/am.c:2320
+#: builtin/am.c:2365
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -9182,11 +10155,11 @@ msgstr ""
 "Stray %s Verzeichnis gefunden.\n"
 "Benutzen Sie \"git am --abort\", um es zu entfernen."
 
-#: builtin/am.c:2326
+#: builtin/am.c:2371
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr "Es ist keine Auflösung im Gange, es wird nicht fortgesetzt."
 
-#: builtin/am.c:2336
+#: builtin/am.c:2381
 msgid "interactive mode requires patches on the command line"
 msgstr "Interaktiver Modus benötigt Patches über die Kommandozeile"
 
@@ -9311,7 +10284,7 @@ msgstr "Keine binäre Suche im Gange.\n"
 msgid "'%s' is not a valid commit"
 msgstr "'%s' ist kein gültiger Commit."
 
-#: builtin/bisect--helper.c:174
+#: builtin/bisect--helper.c:172
 #, c-format
 msgid ""
 "could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
@@ -9319,27 +10292,27 @@ msgstr ""
 "Konnte den ursprünglichen HEAD '%s' nicht auschecken.\n"
 "Versuchen Sie 'git bisect reset <Commit>'."
 
-#: builtin/bisect--helper.c:215
+#: builtin/bisect--helper.c:216
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr "Ungültiges \"bisect_write\" Argument: %s"
 
-#: builtin/bisect--helper.c:220
+#: builtin/bisect--helper.c:221
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr "Konnte die OID der Revision '%s' nicht erhalten."
 
-#: builtin/bisect--helper.c:232
+#: builtin/bisect--helper.c:233
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr "Konnte die Datei '%s' nicht öffnen."
 
-#: builtin/bisect--helper.c:258
+#: builtin/bisect--helper.c:259
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr "Ungültiger Befehl: Sie sind gerade bei einer binären %s/%s Suche."
 
-#: 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"
@@ -9348,7 +10321,7 @@ msgstr ""
 "Sie müssen mindestens einen \"%s\" und einen \"%s\" Commit angeben.\n"
 "Sie können dafür \"git bisect %s\" und \"git bisect %s\" benutzen."
 
-#: builtin/bisect--helper.c:289
+#: builtin/bisect--helper.c:290
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -9359,7 +10332,7 @@ msgstr ""
 "Danach müssen Sie mindestens einen \"%s\" und einen \"%s\" Commit angeben.\n"
 "Sie können dafür \"git bisect %s\" und \"git bisect %s\" benutzen."
 
-#: builtin/bisect--helper.c:321
+#: builtin/bisect--helper.c:310
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr "Binäre Suche nur mit einem %s Commit."
@@ -9368,15 +10341,15 @@ msgstr "Binäre Suche nur mit einem %s Commit."
 #. 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 "Sind Sie sicher [Y/n]? "
 
-#: builtin/bisect--helper.c:376
+#: builtin/bisect--helper.c:379
 msgid "no terms defined"
 msgstr "Keine Begriffe definiert."
 
-#: builtin/bisect--helper.c:379
+#: builtin/bisect--helper.c:382
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
@@ -9385,7 +10358,7 @@ msgstr ""
 "Ihre aktuellen Begriffe sind %s für den alten Zustand\n"
 "und %s für den neuen Zustand.\n"
 
-#: builtin/bisect--helper.c:389
+#: builtin/bisect--helper.c:392
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
@@ -9394,274 +10367,268 @@ msgstr ""
 "Ungültiges Argument %s für 'git bisect terms'.\n"
 "Unterstützte Optionen sind: --term-good|--term-old und --term-bad|--term-new."
 
-#: builtin/bisect--helper.c:475
+#: builtin/bisect--helper.c:478
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr "Nicht erkannte Position: '%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' scheint kein gültiger Commit zu sein."
 
-#: builtin/bisect--helper.c:511
+#: builtin/bisect--helper.c:514
 msgid "bad HEAD - I need a HEAD"
 msgstr "Ungültiger HEAD - HEAD wird benötigt."
 
-#: builtin/bisect--helper.c:526
+#: builtin/bisect--helper.c:529
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr ""
 "Auschecken von '%s' fehlgeschlagen. Versuchen Sie 'git bisect start "
 "<gültiger-Branch>'."
 
-#: builtin/bisect--helper.c:547
+#: builtin/bisect--helper.c:550
 msgid "won't bisect on cg-seek'ed tree"
 msgstr ""
 "binäre Suche auf einem durch 'cg-seek' geändertem Verzeichnis nicht möglich"
 
-#: builtin/bisect--helper.c:550
+#: builtin/bisect--helper.c:553
 msgid "bad HEAD - strange symbolic ref"
 msgstr "Ungültiger HEAD - merkwürdige symbolische Referenz."
 
-#: builtin/bisect--helper.c:574
+#: builtin/bisect--helper.c:577
 #, c-format
 msgid "invalid ref: '%s'"
 msgstr "Ungültige Referenz: '%s'"
 
-#: builtin/bisect--helper.c:630
+#: builtin/bisect--helper.c:633
 msgid "perform 'git bisect next'"
 msgstr "'git bisect next' ausführen"
 
-#: builtin/bisect--helper.c:632
+#: builtin/bisect--helper.c:635
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr "die Begriffe nach .git/BISECT_TERMS schreiben"
 
-#: builtin/bisect--helper.c:634
+#: builtin/bisect--helper.c:637
 msgid "cleanup the bisection state"
 msgstr "den Zustand der binären Suche aufräumen"
 
-#: builtin/bisect--helper.c:636
+#: builtin/bisect--helper.c:639
 msgid "check for expected revs"
 msgstr "auf erwartete Commits prüfen"
 
-#: builtin/bisect--helper.c:638
+#: builtin/bisect--helper.c:641
 msgid "reset the bisection state"
 msgstr "den Zustand der binären Suche zurücksetzen"
 
-#: builtin/bisect--helper.c:640
+#: builtin/bisect--helper.c:643
 msgid "write out the bisection state in BISECT_LOG"
 msgstr "den Zustand der binären Suche nach BISECT_LOG schreiben"
 
-#: builtin/bisect--helper.c:642
+#: builtin/bisect--helper.c:645
 msgid "check and set terms in a bisection state"
 msgstr "Begriffe innerhalb einer binären Suche prüfen und setzen"
 
-#: builtin/bisect--helper.c:644
+#: builtin/bisect--helper.c:647
 msgid "check whether bad or good terms exist"
 msgstr "prüfen, ob Begriffe für gute und schlechte Commits existieren"
 
-#: builtin/bisect--helper.c:646
+#: builtin/bisect--helper.c:649
 msgid "print out the bisect terms"
 msgstr "die Begriffe für die binäre Suche ausgeben"
 
-#: builtin/bisect--helper.c:648
+#: builtin/bisect--helper.c:651
 msgid "start the bisect session"
 msgstr "Sitzung für binäre Suche starten"
 
-#: builtin/bisect--helper.c:650
+#: builtin/bisect--helper.c:653
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "BISECT_HEAD aktualisieren, anstatt den aktuellen Commit auszuchecken"
 
-#: builtin/bisect--helper.c:652
+#: builtin/bisect--helper.c:655
 msgid "no log for BISECT_WRITE"
 msgstr "kein Log für BISECT_WRITE"
 
-#: builtin/bisect--helper.c:669
+#: builtin/bisect--helper.c:673
 msgid "--write-terms requires two arguments"
 msgstr "--write-terms benötigt zwei Argumente."
 
-#: builtin/bisect--helper.c:673
+#: builtin/bisect--helper.c:677
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state erwartet keine Argumente."
 
-#: builtin/bisect--helper.c:680
+#: builtin/bisect--helper.c:684
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset benötigt entweder kein Argument oder ein Commit."
 
-#: builtin/bisect--helper.c:684
+#: builtin/bisect--helper.c:688
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr "--bisect-write benötigt entweder 4 oder 5 Argumente."
 
-#: builtin/bisect--helper.c:690
+#: builtin/bisect--helper.c:694
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr "--check-and-set-terms benötigt 3 Argumente."
 
-#: builtin/bisect--helper.c:696
+#: builtin/bisect--helper.c:700
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check benötigt 2 oder 3 Argumente."
 
-#: builtin/bisect--helper.c:702
+#: builtin/bisect--helper.c:706
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms benötigt 0 oder 1 Argument."
 
-#: builtin/blame.c:32
+#: builtin/blame.c:31
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<Optionen>] [<rev-opts>] [<Commit>] [--] <Datei>"
 
-#: builtin/blame.c:37
+#: builtin/blame.c:36
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<rev-opts> sind dokumentiert in git-rev-list(1)"
 
-#: builtin/blame.c:410
+#: builtin/blame.c:409
 #, c-format
 msgid "expecting a color: %s"
 msgstr "Erwarte eine Farbe: %s"
 
-#: builtin/blame.c:417
+#: builtin/blame.c:416
 msgid "must end with a color"
 msgstr "Muss mit einer Farbe enden."
 
-#: builtin/blame.c:730
+#: builtin/blame.c:729
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "Ungültige Farbe '%s' in color.blame.repeatedLines."
 
-#: builtin/blame.c:748
+#: builtin/blame.c:747
 msgid "invalid value for blame.coloring"
 msgstr "Ungültiger Wert für blame.coloring."
 
-#: builtin/blame.c:823
+#: builtin/blame.c:822
 #, c-format
 msgid "cannot find revision %s to ignore"
 msgstr "Konnte Commit %s zum Ignorieren nicht finden"
 
-#: builtin/blame.c:845
+#: builtin/blame.c:844
 msgid "Show blame entries as we find them, incrementally"
 msgstr "\"blame\"-Einträge schrittweise anzeigen, während wir sie generieren"
 
-#: builtin/blame.c:846
+#: builtin/blame.c:845
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "leere SHA-1 für Grenz-Commits anzeigen (Standard: aus)"
 
-#: builtin/blame.c:847
+#: builtin/blame.c:846
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr "Root-Commits nicht als Grenzen behandeln (Standard: aus)"
 
-#: builtin/blame.c:848
+#: builtin/blame.c:847
 msgid "Show work cost statistics"
 msgstr "Statistiken zum Arbeitsaufwand anzeigen"
 
-#: builtin/blame.c:849
+#: builtin/blame.c:848
 msgid "Force progress reporting"
 msgstr "Fortschrittsanzeige erzwingen"
 
-#: builtin/blame.c:850
+#: builtin/blame.c:849
 msgid "Show output score for blame entries"
 msgstr "Ausgabebewertung für \"blame\"-Einträge anzeigen"
 
-#: builtin/blame.c:851
+#: builtin/blame.c:850
 msgid "Show original filename (Default: auto)"
 msgstr "ursprünglichen Dateinamen anzeigen (Standard: auto)"
 
-#: builtin/blame.c:852
+#: builtin/blame.c:851
 msgid "Show original linenumber (Default: off)"
 msgstr "ursprüngliche Zeilennummer anzeigen (Standard: aus)"
 
-#: builtin/blame.c:853
+#: builtin/blame.c:852
 msgid "Show in a format designed for machine consumption"
 msgstr "Anzeige in einem Format für maschinelle Auswertung"
 
-#: builtin/blame.c:854
+#: builtin/blame.c:853
 msgid "Show porcelain format with per-line commit information"
 msgstr ""
 "Anzeige in Format für Fremdprogramme mit Commit-Informationen pro Zeile"
 
-#: builtin/blame.c:855
+#: builtin/blame.c:854
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr ""
 "Den gleichen Ausgabemodus benutzen wie \"git-annotate\" (Standard: aus)"
 
-#: builtin/blame.c:856
+#: builtin/blame.c:855
 msgid "Show raw timestamp (Default: off)"
 msgstr "Unbearbeiteten Zeitstempel anzeigen (Standard: aus)"
 
-#: builtin/blame.c:857
+#: builtin/blame.c:856
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Langen Commit-SHA1 anzeigen (Standard: aus)"
 
-#: builtin/blame.c:858
+#: builtin/blame.c:857
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Den Namen des Autors und den Zeitstempel unterdrücken (Standard: aus)"
 
-#: builtin/blame.c:859
+#: builtin/blame.c:858
 msgid "Show author email instead of name (Default: off)"
 msgstr ""
 "Anstatt des Namens die E-Mail-Adresse des Autors anzeigen (Standard: aus)"
 
-#: builtin/blame.c:860
+#: builtin/blame.c:859
 msgid "Ignore whitespace differences"
 msgstr "Unterschiede im Whitespace ignorieren"
 
-#: builtin/blame.c:861 builtin/log.c:1629
+#: builtin/blame.c:860 builtin/log.c:1702
 msgid "rev"
 msgstr "Commit"
 
-#: builtin/blame.c:861
+#: builtin/blame.c:860
 msgid "Ignore <rev> when blaming"
 msgstr "Ignoriere <rev> beim Ausführen von 'blame'"
 
-#: builtin/blame.c:862
+#: builtin/blame.c:861
 msgid "Ignore revisions from <file>"
 msgstr "Ignoriere Commits aus <Datei>"
 
-#: builtin/blame.c:863
+#: builtin/blame.c:862
 msgid "color redundant metadata from previous line differently"
 msgstr "redundante Metadaten der vorherigen Zeile unterschiedlich einfärben"
 
-#: builtin/blame.c:864
+#: builtin/blame.c:863
 msgid "color lines by age"
 msgstr "Zeilen nach Alter einfärben"
 
-#: builtin/blame.c:871
-msgid "Use an experimental heuristic to improve diffs"
-msgstr ""
-"eine experimentelle Heuristik zur Verbesserung der Darstellung\n"
-"von Unterschieden verwenden"
-
-#: builtin/blame.c:873
+#: builtin/blame.c:864
 msgid "Spend extra cycles to find better match"
 msgstr "Länger arbeiten, um bessere Übereinstimmungen zu finden"
 
-#: builtin/blame.c:874
+#: builtin/blame.c:865
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr "Commits von <Datei> benutzen, anstatt \"git-rev-list\" aufzurufen"
 
-#: builtin/blame.c:875
+#: builtin/blame.c:866
 msgid "Use <file>'s contents as the final image"
 msgstr "Inhalte der <Datei>en als endgültiges Abbild benutzen"
 
-#: builtin/blame.c:876 builtin/blame.c:877
+#: builtin/blame.c:867 builtin/blame.c:868
 msgid "score"
 msgstr "Bewertung"
 
-#: builtin/blame.c:876
+#: builtin/blame.c:867
 msgid "Find line copies within and across files"
 msgstr "kopierte Zeilen innerhalb oder zwischen Dateien finden"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:868
 msgid "Find line movements within and across files"
 msgstr "verschobene Zeilen innerhalb oder zwischen Dateien finden"
 
-#: 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 "nur Zeilen im Bereich n,m verarbeiten, gezählt von 1"
 
-#: builtin/blame.c:929
+#: builtin/blame.c:921
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress kann nicht mit --incremental oder Formaten für Fremdprogramme\n"
@@ -9675,18 +10642,18 @@ msgstr ""
 #. your language may need more or fewer display
 #. columns.
 #.
-#: builtin/blame.c:980
+#: builtin/blame.c:972
 msgid "4 years, 11 months ago"
 msgstr "vor 4 Jahren und 11 Monaten"
 
-#: 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] "Datei %s hat nur %lu Zeile"
 msgstr[1] "Datei %s hat nur %lu Zeilen"
 
-#: builtin/blame.c:1133
+#: builtin/blame.c:1125
 msgid "Blaming lines"
 msgstr "Verarbeite Zeilen"
 
@@ -9903,7 +10870,7 @@ msgstr "Modus zum Folgen von Branches einstellen (siehe git-pull(1))"
 msgid "do not use"
 msgstr "nicht verwenden"
 
-#: builtin/branch.c:626 builtin/rebase.c:485
+#: builtin/branch.c:626 builtin/rebase.c:513
 msgid "upstream"
 msgstr "Upstream"
 
@@ -9912,7 +10879,7 @@ msgid "change the upstream info"
 msgstr "Informationen zum Upstream-Branch ändern"
 
 #: builtin/branch.c:627
-msgid "Unset the upstream info"
+msgid "unset the upstream info"
 msgstr "Informationen zum Upstream-Branch entfernen"
 
 #: builtin/branch.c:628
@@ -10015,7 +10982,7 @@ msgstr "Sortierung und Filterung sind unabhängig von Groß- und Kleinschreibung
 msgid "format to use for the output"
 msgstr "für die Ausgabe zu verwendendes Format"
 
-#: 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 wurde nicht unter \"refs/heads\" gefunden!"
 
@@ -10109,20 +11076,65 @@ msgstr ""
 "Die '--set-upstream' Option wird nicht länger unterstützt.\n"
 "Bitte benutzen Sie stattdessen '--track' oder '--set-upstream-to'."
 
-#: builtin/bundle.c:45
-#, c-format
-msgid "%s is okay\n"
-msgstr "%s ist in Ordnung\n"
+#: builtin/bundle.c:15 builtin/bundle.c:23
+msgid "git bundle create [<options>] <file> <git-rev-list args>"
+msgstr "git bundle create [<Optionen>] <Datei> <git-rev-list Argumente>"
+
+#: builtin/bundle.c:16 builtin/bundle.c:28
+msgid "git bundle verify [<options>] <file>"
+msgstr "git bundle verify [<Optionen>] <Datei>"
+
+#: builtin/bundle.c:17 builtin/bundle.c:33
+msgid "git bundle list-heads <file> [<refname>...]"
+msgstr "git bundle list-heads <Datei> [<Referenzname>...]"
+
+#: builtin/bundle.c:18 builtin/bundle.c:38
+msgid "git bundle unbundle <file> [<refname>...]"
+msgstr "git bundle unbundle <Datei> [<Referenzname>...]"
+
+#: builtin/bundle.c:66 builtin/pack-objects.c:3375
+msgid "do not show progress meter"
+msgstr "keine Fortschrittsanzeige anzeigen"
 
-#: builtin/bundle.c:58
+#: builtin/bundle.c:68 builtin/pack-objects.c:3377
+msgid "show progress meter"
+msgstr "Fortschrittsanzeige anzeigen"
+
+#: builtin/bundle.c:70 builtin/pack-objects.c:3379
+msgid "show progress meter during object writing phase"
+msgstr "Forschrittsanzeige während des Schreibens von Objekten anzeigen"
+
+#: builtin/bundle.c:73 builtin/pack-objects.c:3382
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "ähnlich zu --all-progress wenn Fortschrittsanzeige darstellt wird"
+
+#: builtin/bundle.c:93
 msgid "Need a repository to create a bundle."
 msgstr "Um ein Paket zu erstellen wird ein Repository benötigt."
 
-#: builtin/bundle.c:62
+#: builtin/bundle.c:104
+msgid "do not show bundle details"
+msgstr "Keine Bundle-Details anzeigen"
+
+#: builtin/bundle.c:119
+#, c-format
+msgid "%s is okay\n"
+msgstr "%s ist in Ordnung\n"
+
+#: builtin/bundle.c:160
 msgid "Need a repository to unbundle."
 msgstr "Zum Entpacken wird ein Repository benötigt."
 
-#: builtin/cat-file.c:594
+#: builtin/bundle.c:168 builtin/remote.c:1686
+msgid "be verbose; must be placed before a subcommand"
+msgstr "erweiterte Ausgaben; muss vor einem Unterbefehl angegeben werden"
+
+#: builtin/bundle.c:190 builtin/remote.c:1717
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "Unbekannter Unterbefehl: %s"
+
+#: builtin/cat-file.c:595
 msgid ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <type> | --textconv | --filters) [--path=<path>] <object>"
@@ -10130,7 +11142,7 @@ msgstr ""
 "git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -"
 "p | <Art> | --textconv | --filters) [--path=<Pfad>] <Objekt>"
 
-#: builtin/cat-file.c:595
+#: builtin/cat-file.c:596
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -10138,76 +11150,76 @@ 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 "Nur eine Batch-Option erlaubt."
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:635
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<Art> kann sein: blob, tree, commit, tag"
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:636
 msgid "show object type"
 msgstr "Objektart anzeigen"
 
-#: builtin/cat-file.c:636
+#: builtin/cat-file.c:637
 msgid "show object size"
 msgstr "Objektgröße anzeigen"
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:639
 msgid "exit with zero when there's no error"
 msgstr "mit Rückgabewert 0 beenden, wenn kein Fehler aufgetreten ist"
 
-#: builtin/cat-file.c:639
+#: builtin/cat-file.c:640
 msgid "pretty-print object's content"
 msgstr "ansprechende Anzeige des Objektinhaltes"
 
-#: builtin/cat-file.c:641
+#: builtin/cat-file.c:642
 msgid "for blob objects, run textconv on object's content"
 msgstr "eine Textkonvertierung auf den Inhalt von Blob-Objekten ausführen"
 
-#: builtin/cat-file.c:643
+#: builtin/cat-file.c:644
 msgid "for blob objects, run filters on object's content"
 msgstr "für Blob-Objekte, Filter auf Objekt-Inhalte ausführen"
 
-#: builtin/cat-file.c:644 git-submodule.sh:936
+#: builtin/cat-file.c:645 git-submodule.sh:1002
 msgid "blob"
 msgstr "Blob"
 
-#: builtin/cat-file.c:645
+#: builtin/cat-file.c:646
 msgid "use a specific path for --textconv/--filters"
 msgstr "einen bestimmten Pfad für --textconv/--filters verwenden"
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:648
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "-s und -t mit beschädigten Objekten erlauben"
 
-#: builtin/cat-file.c:648
+#: builtin/cat-file.c:649
 msgid "buffer --batch output"
 msgstr "Ausgabe von --batch puffern"
 
-#: builtin/cat-file.c:650
+#: builtin/cat-file.c:651
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "Anzeige von Informationen und Inhalt von Objekten, gelesen von der Standard-"
 "Eingabe"
 
-#: builtin/cat-file.c:654
+#: builtin/cat-file.c:655
 msgid "show info about objects fed from the standard input"
 msgstr ""
 "Anzeige von Informationen über Objekte, gelesen von der Standard-Eingabe"
 
-#: builtin/cat-file.c:658
+#: builtin/cat-file.c:659
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 "symbolischen Verknüpfungen innerhalb des Repositories folgen (verwendet mit "
 "--batch oder --batch-check)"
 
-#: builtin/cat-file.c:660
+#: builtin/cat-file.c:661
 msgid "show all objects with --batch or --batch-check"
 msgstr "alle Objekte mit --batch oder --batch-check anzeigen"
 
-#: builtin/cat-file.c:662
+#: builtin/cat-file.c:663
 msgid "do not order --batch-all-objects output"
 msgstr "Ausgabe von --batch-all-objects nicht ordnen"
 
@@ -10235,8 +11247,8 @@ msgstr "Dateinamen von der Standard-Eingabe lesen"
 msgid "terminate input and output records by a NUL character"
 msgstr "Einträge von Ein- und Ausgabe mit NUL-Zeichen abschließen"
 
-#: 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 "Fortschrittsanzeige unterdrücken"
 
@@ -10248,28 +11260,28 @@ msgstr "Eingabe-Pfade ohne Übereinstimmungen anzeigen"
 msgid "ignore index when checking"
 msgstr "Index bei der Prüfung ignorieren"
 
-#: builtin/check-ignore.c:160
+#: builtin/check-ignore.c:163
 msgid "cannot specify pathnames with --stdin"
 msgstr "Angabe von Pfadnamen kann nicht gemeinsam mit --stdin verwendet werden"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:166
 msgid "-z only makes sense with --stdin"
 msgstr "Die Option -z kann nur mit --stdin verwendet werden."
 
-#: builtin/check-ignore.c:165
+#: builtin/check-ignore.c:168
 msgid "no path specified"
 msgstr "kein Pfad angegeben"
 
-#: builtin/check-ignore.c:169
+#: builtin/check-ignore.c:172
 msgid "--quiet is only valid with a single pathname"
 msgstr "Die Option --quiet ist nur mit einem einzelnen Pfadnamen gültig."
 
-#: builtin/check-ignore.c:171
+#: builtin/check-ignore.c:174
 msgid "cannot have both --quiet and --verbose"
 msgstr ""
 "Die Optionen --quiet und --verbose können nicht gemeinsam verwendet werden."
 
-#: builtin/check-ignore.c:174
+#: builtin/check-ignore.c:177
 msgid "--non-matching is only valid with --verbose"
 msgstr "--non-matching ist nur mit --verbose zulässig"
 
@@ -10329,9 +11341,9 @@ msgid "write the content to temporary files"
 msgstr "den Inhalt in temporäre Dateien schreiben"
 
 #: 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 "Zeichenkette"
 
@@ -10360,99 +11372,99 @@ msgstr "git switch [<Optionen>] [<Branch>]"
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<Optionen>] [--source=<Branch>] <Datei>..."
 
-#: 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 "Pfad '%s' hat nicht unsere Version."
 
-#: 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 "Pfad '%s' hat nicht deren Version."
 
-#: builtin/checkout.c:190
+#: builtin/checkout.c:193
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "Pfad '%s' hat nicht alle notwendigen Versionen."
 
-#: builtin/checkout.c:240
+#: builtin/checkout.c:243
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "Pfad '%s' hat nicht die notwendigen Versionen."
 
-#: builtin/checkout.c:258
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "Pfad '%s': kann nicht zusammenführen"
 
-#: builtin/checkout.c:274
+#: builtin/checkout.c:277
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Konnte Merge-Ergebnis von '%s' nicht hinzufügen."
 
-#: builtin/checkout.c:374
+#: builtin/checkout.c:377
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "%d Merge-Konflikt wieder erstellt"
 msgstr[1] "%d Merge-Konflikte wieder erstellt"
 
-#: 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] "%d Pfad von %s aktualisiert"
 msgstr[1] "%d Pfade von %s aktualisiert"
 
-#: 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 Pfad vom Index aktualisiert"
 msgstr[1] "%d Pfade vom Index aktualisiert"
 
-#: 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' kann nicht mit der Aktualisierung von Pfaden verwendet werden"
 
-#: 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' kann nicht mit '%s' verwendet werden"
 
-#: builtin/checkout.c:429
+#: builtin/checkout.c:432
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Kann nicht gleichzeitig Pfade aktualisieren und zu Branch '%s' wechseln"
 
-#: builtin/checkout.c:433
+#: builtin/checkout.c:436
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "Weder '%s' noch '%s' ist angegeben"
 
-#: builtin/checkout.c:437
+#: builtin/checkout.c:440
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "'%s' kann nur genutzt werden, wenn '%s' nicht verwendet wird"
 
-#: 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' oder '%s' kann nicht mit %s verwendet werden"
 
-#: builtin/checkout.c:506 builtin/checkout.c:513
+#: builtin/checkout.c:509 builtin/checkout.c:516
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "Pfad '%s' ist nicht zusammengeführt."
 
-#: builtin/checkout.c:679
+#: builtin/checkout.c:684 builtin/sparse-checkout.c:106
 msgid "you need to resolve your current index first"
 msgstr "Sie müssen zuerst die Konflikte in Ihrem aktuellen Index auflösen."
 
-#: builtin/checkout.c:729
+#: builtin/checkout.c:734
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -10461,57 +11473,50 @@ msgstr ""
 "Kann nicht mit vorgemerkten Änderungen in folgenden Dateien fortsetzen:\n"
 "%s"
 
-#: builtin/checkout.c:736
-#, c-format
-msgid "staged changes in the following files may be lost: %s"
-msgstr ""
-"Zum Commit vorgemerkte Änderungen in den folgenden Dateien gehen eventuell "
-"verloren: %s"
-
-#: builtin/checkout.c:833
+#: builtin/checkout.c:837
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Kann \"reflog\" für '%s' nicht durchführen: %s\n"
 
-#: builtin/checkout.c:875
+#: builtin/checkout.c:879
 msgid "HEAD is now at"
 msgstr "HEAD ist jetzt bei"
 
-#: builtin/checkout.c:879 builtin/clone.c:714
+#: builtin/checkout.c:883 builtin/clone.c:717
 msgid "unable to update HEAD"
 msgstr "Konnte HEAD nicht aktualisieren."
 
-#: builtin/checkout.c:883
+#: builtin/checkout.c:887
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Setze Branch '%s' neu\n"
 
-#: builtin/checkout.c:886
+#: builtin/checkout.c:890
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Bereits auf '%s'\n"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:894
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Zu umgesetztem Branch '%s' gewechselt\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 "Zu neuem Branch '%s' gewechselt\n"
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:898
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Zu Branch '%s' gewechselt\n"
 
-#: builtin/checkout.c:945
+#: builtin/checkout.c:949
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... und %d weitere.\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:955
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -10534,7 +11539,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"
@@ -10561,28 +11566,19 @@ msgstr[1] ""
 " git branch <neuer-Branchname> %s\n"
 "\n"
 
-#: builtin/checkout.c:1005
+#: builtin/checkout.c:1009
 msgid "internal error in revision walk"
 msgstr "interner Fehler im Revisionsgang"
 
-#: builtin/checkout.c:1009
+#: builtin/checkout.c:1013
 msgid "Previous HEAD position was"
 msgstr "Vorherige Position von HEAD war"
 
-#: 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 "Sie sind auf einem Branch, der noch nicht geboren ist"
 
-#: builtin/checkout.c:1176
-msgid "only one reference expected"
-msgstr "nur eine Referenz erwartet"
-
-#: builtin/checkout.c:1193
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr "nur eine Referenz erwartet, %d gegeben."
-
-#: builtin/checkout.c:1230
+#: builtin/checkout.c:1128
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -10592,37 +11588,74 @@ msgstr ""
 "Bitte benutzen Sie -- (und optional --no-guess), um diese\n"
 "eindeutig voneinander zu unterscheiden."
 
-#: 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/<name>\n"
+"\n"
+"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
+"one remote, e.g. the 'origin' remote, consider setting\n"
+"checkout.defaultRemote=origin in your config."
+msgstr ""
+"Falls Sie einen Remote-Tracking-Branch, z.B. von 'origin', auschecken "
+"wollten,\n"
+"können Sie das tun, indem Sie den vollständig qualifizierten Namen mit der\n"
+"--track Option angeben:\n"
+"\n"
+"    git checkout --track origin/<Name>\n"
+"\n"
+"Falls Sie beim Auschecken mit mehrdeutigen <Namen> immer ein Remote-"
+"Repository\n"
+"bevorzugen möchten, z.B. 'origin', können Sie die Einstellung\n"
+"checkout.defaultRemote=origin in Ihrer Konfiguration setzen."
+
+#: builtin/checkout.c:1145
+#, c-format
+msgid "'%s' matched multiple (%d) remote tracking branches"
+msgstr "'%s' entspricht mehreren (%d) Remote-Tracking-Branches"
+
+#: builtin/checkout.c:1211
+msgid "only one reference expected"
+msgstr "nur eine Referenz erwartet"
+
+#: builtin/checkout.c:1228
+#, c-format
+msgid "only one reference expected, %d given."
+msgstr "nur eine Referenz erwartet, %d gegeben."
+
+#: builtin/checkout.c:1274 builtin/worktree.c:283 builtin/worktree.c:448
 #, c-format
 msgid "invalid reference: %s"
 msgstr "Ungültige Referenz: %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 "Referenz ist kein \"Tree\"-Objekt: %s"
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1334
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "Ein Branch wird erwartet, Tag '%s' bekommen"
 
-#: builtin/checkout.c:1305
+#: builtin/checkout.c:1336
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "Ein Branch wird erwartet, Remote-Branch '%s' bekommen"
 
-#: 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 "Ein Branch wird erwartet, '%s' bekommen"
 
-#: builtin/checkout.c:1309
+#: builtin/checkout.c:1340
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "Ein Branch wird erwartet, Commit '%s' bekommen"
 
-#: builtin/checkout.c:1325
+#: builtin/checkout.c:1356
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -10630,7 +11663,7 @@ msgstr ""
 "Der Branch kann nicht während eines Merges gewechselt werden.\n"
 "Ziehen Sie \"git merge --quit\" oder \"git worktree add\" in Betracht."
 
-#: 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\"."
@@ -10639,7 +11672,7 @@ msgstr ""
 "werden.\n"
 "Ziehen Sie \"git am --quit\" oder \"git worktree add\" in Betracht."
 
-#: builtin/checkout.c:1333
+#: builtin/checkout.c:1364
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -10648,7 +11681,7 @@ msgstr ""
 "werden.\n"
 "Ziehen Sie \"git rebase --quit\" oder \"git worktree add\" in Betracht."
 
-#: 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\"."
@@ -10657,7 +11690,7 @@ msgstr ""
 "gewechselt werden.\n"
 "Ziehen Sie \"git cherry-pick --quit\" oder \"git worktree add\" in Betracht."
 
-#: builtin/checkout.c:1341
+#: builtin/checkout.c:1372
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -10666,140 +11699,145 @@ msgstr ""
 "werden.\n"
 "Ziehen Sie \"git revert --quit\" oder \"git worktree add\" in Betracht."
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1376
 msgid "you are switching branch while bisecting"
 msgstr "Sie wechseln den Branch während einer binären Suche"
 
-#: builtin/checkout.c:1352
+#: builtin/checkout.c:1383
 msgid "paths cannot be used with switching branches"
 msgstr "Pfade können nicht beim Wechseln von Branches verwendet werden"
 
-#: 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' kann nicht beim Wechseln von Branches verwendet werden"
 
-#: 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' kann nicht mit '%s' verwendet werden"
 
-#: builtin/checkout.c:1380
+#: builtin/checkout.c:1411
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' kann nicht <Startpunkt> bekommen"
 
-#: builtin/checkout.c:1388
+#: builtin/checkout.c:1419
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Kann Branch nicht zu Nicht-Commit '%s' wechseln"
 
-#: builtin/checkout.c:1395
+#: builtin/checkout.c:1426
 msgid "missing branch or commit argument"
 msgstr "Branch- oder Commit-Argument fehlt"
 
-#: 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 "Fortschrittsanzeige erzwingen"
 
-#: builtin/checkout.c:1438
+#: builtin/checkout.c:1469
 msgid "perform a 3-way merge with the new branch"
 msgstr "einen 3-Wege-Merge mit dem neuen Branch ausführen"
 
-#: 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 "Stil"
 
-#: builtin/checkout.c:1440
+#: builtin/checkout.c:1471
 msgid "conflict style (merge or diff3)"
 msgstr "Konfliktstil (merge oder 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 bei benanntem Commit loslösen"
 
-#: builtin/checkout.c:1453
+#: builtin/checkout.c:1484
 msgid "set upstream info for new branch"
 msgstr "Informationen zum Upstream-Branch für den neuen Branch setzen"
 
-#: builtin/checkout.c:1455
+#: builtin/checkout.c:1486
 msgid "force checkout (throw away local modifications)"
 msgstr "Auschecken erzwingen (verwirft lokale Änderungen)"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1488
 msgid "new-branch"
 msgstr "neuer Branch"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1488
 msgid "new unparented branch"
 msgstr "neuer Branch ohne Eltern-Commit"
 
-#: builtin/checkout.c:1459 builtin/merge.c:288
+#: builtin/checkout.c:1490 builtin/merge.c:289
 msgid "update ignored files (default)"
 msgstr "ignorierte Dateien aktualisieren (Standard)"
 
-#: builtin/checkout.c:1462
+#: builtin/checkout.c:1493
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 "Prüfung, ob die Referenz bereits in einem anderen Arbeitsverzeichnis "
 "ausgecheckt wurde, deaktivieren"
 
-#: builtin/checkout.c:1475
+#: builtin/checkout.c:1506
 msgid "checkout our version for unmerged files"
 msgstr "unsere Variante für nicht zusammengeführte Dateien auschecken"
 
-#: builtin/checkout.c:1478
+#: builtin/checkout.c:1509
 msgid "checkout their version for unmerged files"
 msgstr "ihre Variante für nicht zusammengeführte Dateien auschecken"
 
-#: builtin/checkout.c:1482
+#: builtin/checkout.c:1513
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "keine Einschränkung bei Pfadspezifikationen zum partiellen Auschecken"
 
-#: builtin/checkout.c:1533
+#: builtin/checkout.c:1565
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "Die Optionen -b, -B und --orphan schließen sich gegenseitig aus."
 
-#: builtin/checkout.c:1536
+#: builtin/checkout.c:1568
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p und --overlay schließen sich gegenseitig aus."
 
-#: builtin/checkout.c:1573
+#: builtin/checkout.c:1605
 msgid "--track needs a branch name"
 msgstr "Bei der Option --track muss ein Branchname angegeben werden."
 
-#: builtin/checkout.c:1578
+#: builtin/checkout.c:1610
 msgid "missing branch name; try -b"
 msgstr "Kein Branchname; versuchen Sie -b."
 
-#: builtin/checkout.c:1611
+#: builtin/checkout.c:1642
 #, c-format
 msgid "could not resolve %s"
 msgstr "Konnte %s nicht auflösen."
 
-#: builtin/checkout.c:1623
-msgid "you must specify path(s) to restore"
-msgstr "Sie müssen Pfad(e) zur Wiederherstellung angeben."
-
-#: builtin/checkout.c:1631
+#: builtin/checkout.c:1658
 msgid "invalid path specification"
 msgstr "ungültige Pfadspezifikation"
 
-#: 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' ist kein Commit und es kann kein Branch '%s' aus diesem erstellt werden."
 
-#: 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 nimmt kein Pfad-Argument '%s'"
 
-#: builtin/checkout.c:1646
+#: builtin/checkout.c:1678
+msgid "--pathspec-from-file is incompatible with --detach"
+msgstr "Die Optionen --pathspec-from-file und --detach sind inkompatibel."
+
+#: builtin/checkout.c:1681 builtin/reset.c:324 builtin/stash.c:1506
+msgid "--pathspec-from-file is incompatible with --patch"
+msgstr "Die Optionen --pathspec-from-file und --patch sind inkompatibel."
+
+#: builtin/checkout.c:1692
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -10807,98 +11845,69 @@ msgstr ""
 "git checkout: --ours/--theirs, --force und --merge sind inkompatibel wenn\n"
 "Sie aus dem Index auschecken."
 
-#: 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/<name>\n"
-"\n"
-"If you'd like to always have checkouts of an ambiguous <name> prefer\n"
-"one remote, e.g. the 'origin' remote, consider setting\n"
-"checkout.defaultRemote=origin in your config."
-msgstr ""
-"'%s' entspricht mehr als einem Remote-Tracking-Branch.\n"
-"Wir fanden %d Remote-Repositories mit einer entsprechenden Referenz, also\n"
-"haben wir versucht, das Argument als Pfad aufzulösen, was auch schief ging!\n"
-"\n"
-"Falls Sie einen Remote-Tracking-Branch, z.B. von 'origin', auschecken "
-"wollten,\n"
-"können Sie das tun, indem Sie den vollständig qualifizierten Namen mit der\n"
-"--track Option angeben:\n"
-"\n"
-"    git checkout --track origin/<Name>\n"
-"\n"
-"Falls Sie beim Auschecken mit mehrdeutigen <Namen> immer ein Remote-"
-"Repository\n"
-"bevorzugen möchten, z.B. 'origin', könnten Sie die Einstellung\n"
-"checkout.defaultRemote=origin in Ihrer Konfiguration setzen."
+#: builtin/checkout.c:1697
+msgid "you must specify path(s) to restore"
+msgstr "Sie müssen Pfad(e) zur Wiederherstellung angeben."
 
-#: 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 "Branch"
 
-#: builtin/checkout.c:1692
+#: builtin/checkout.c:1724
 msgid "create and checkout a new branch"
 msgstr "einen neuen Branch erzeugen und auschecken"
 
-#: builtin/checkout.c:1694
+#: builtin/checkout.c:1726
 msgid "create/reset and checkout a branch"
 msgstr "einen Branch erstellen/umsetzen und auschecken"
 
-#: builtin/checkout.c:1695
+#: builtin/checkout.c:1727
 msgid "create reflog for new branch"
 msgstr "das Reflog für den neuen Branch erzeugen"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1729
 msgid "second guess 'git checkout <no-such-branch>' (default)"
-msgstr ""
-"Zweite Vermutung 'git checkout <kein-solcher-Branch>' (Standard)"
+msgstr "Zweite Vermutung 'git checkout <kein-solcher-Branch>' (Standard)"
 
-#: builtin/checkout.c:1698
+#: builtin/checkout.c:1730
 msgid "use overlay mode (default)"
 msgstr "benutze Overlay-Modus (Standard)"
 
-#: builtin/checkout.c:1734
+#: builtin/checkout.c:1775
 msgid "create and switch to a new branch"
 msgstr "einen neuen Branch erzeugen und dahin wechseln"
 
-#: builtin/checkout.c:1736
+#: builtin/checkout.c:1777
 msgid "create/reset and switch to a branch"
 msgstr "einen Branch erstellen/umsetzen und dahin wechseln"
 
-#: builtin/checkout.c:1738
+#: builtin/checkout.c:1779
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "Zweite Vermutung 'git switch <kein-solcher-Branch>'"
 
-#: builtin/checkout.c:1740
+#: builtin/checkout.c:1781
 msgid "throw away local modifications"
 msgstr "lokale Änderungen verwerfen"
 
-#: builtin/checkout.c:1772
+#: builtin/checkout.c:1813
 msgid "which tree-ish to checkout from"
 msgstr "Von welcher Commit-Referenz ausgecheckt werden soll"
 
-#: builtin/checkout.c:1774
+#: builtin/checkout.c:1815
 msgid "restore the index"
 msgstr "Index wiederherstellen"
 
-#: builtin/checkout.c:1776
+#: builtin/checkout.c:1817
 msgid "restore the working tree (default)"
 msgstr "das Arbeitsverzeichnis wiederherstellen (Standard)"
 
-#: builtin/checkout.c:1778
+#: builtin/checkout.c:1819
 msgid "ignore unmerged entries"
 msgstr "ignoriere nicht zusammengeführte Einträge"
 
-#: builtin/checkout.c:1779
+#: builtin/checkout.c:1820
 msgid "use overlay mode"
 msgstr "benutze Overlay-Modus"
 
@@ -10938,7 +11947,7 @@ msgstr "Fehler beim Löschen von %s"
 msgid "could not lstat %s\n"
 msgstr "Konnte 'lstat' nicht für %s ausführen\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"
@@ -10951,7 +11960,7 @@ msgstr ""
 "foo        - Element anhand eines eindeutigen Präfix auswählen\n"
 "           - (leer) nichts auswählen\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"
@@ -10972,38 +11981,33 @@ msgstr ""
 "*          - alle Elemente auswählen\n"
 "           - (leer) Auswahl beenden\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 "Wie bitte (%s)?\n"
 
-#: builtin/clean.c:662
+#: builtin/clean.c:663
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Ignorier-Muster eingeben>> "
 
-#: builtin/clean.c:699
+#: builtin/clean.c:700
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "WARNUNG: Kann keine Einträge finden die Muster entsprechen: %s"
 
-#: builtin/clean.c:720
+#: builtin/clean.c:721
 msgid "Select items to delete"
 msgstr "Wählen Sie Einträge zum Löschen"
 
 #. 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' löschen [y/N]? "
 
-#: builtin/clean.c:786 git-add--interactive.perl:1763
-#, c-format
-msgid "Bye.\n"
-msgstr "Tschüss.\n"
-
-#: builtin/clean.c:794
+#: builtin/clean.c:795
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -11021,64 +12025,56 @@ msgstr ""
 "help                - diese Meldung anzeigen\n"
 "?                   - Hilfe zur Auswahl mittels Eingabe anzeigen"
 
-#: builtin/clean.c:821 git-add--interactive.perl:1849
-msgid "*** Commands ***"
-msgstr "*** Befehle ***"
-
-#: builtin/clean.c:822 git-add--interactive.perl:1846
-msgid "What now"
-msgstr "Was nun"
-
-#: builtin/clean.c:830
+#: builtin/clean.c:831
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Würde das folgende Element entfernen:"
 msgstr[1] "Würde die folgenden Elemente entfernen:"
 
-#: builtin/clean.c:846
+#: builtin/clean.c:847
 msgid "No more files to clean, exiting."
 msgstr "Keine Dateien mehr zum Löschen, beende."
 
-#: builtin/clean.c:908
+#: builtin/clean.c:909
 msgid "do not print names of files removed"
 msgstr "keine Namen von gelöschten Dateien ausgeben"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:911
 msgid "force"
 msgstr "Aktion erzwingen"
 
-#: builtin/clean.c:911
+#: builtin/clean.c:912
 msgid "interactive cleaning"
 msgstr "interaktives Clean"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:914
 msgid "remove whole directories"
 msgstr "ganze Verzeichnisse löschen"
 
-#: 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 "Muster"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:916
 msgid "add <pattern> to ignore rules"
 msgstr "<Muster> zu den Regeln für ignorierte Pfade hinzufügen"
 
-#: builtin/clean.c:916
+#: builtin/clean.c:917
 msgid "remove ignored files, too"
 msgstr "auch ignorierte Dateien löschen"
 
-#: builtin/clean.c:918
+#: builtin/clean.c:919
 msgid "remove only ignored files"
 msgstr "nur ignorierte Dateien löschen"
 
-#: builtin/clean.c:936
+#: builtin/clean.c:937
 msgid "-x and -X cannot be used together"
 msgstr "Die Optionen -x und -X können nicht gemeinsam verwendet werden."
 
-#: builtin/clean.c:940
+#: builtin/clean.c:941
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -11086,7 +12082,7 @@ msgstr ""
 "clean.requireForce auf \"true\" gesetzt und weder -i, -n noch -f gegeben; "
 "\"clean\" verweigert"
 
-#: builtin/clean.c:943
+#: builtin/clean.c:944
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -11094,7 +12090,7 @@ msgstr ""
 "clean.requireForce standardmäßig auf \"true\" gesetzt und weder -i, -n noch -"
 "f gegeben; \"clean\" verweigert"
 
-#: builtin/clone.c:46
+#: builtin/clone.c:45
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<Optionen>] [--] <Repository> [<Verzeichnis>]"
 
@@ -11142,18 +12138,18 @@ msgstr "Vorlagenverzeichnis"
 msgid "directory from which templates will be used"
 msgstr "Verzeichnis, von welchem die Vorlagen verwendet werden"
 
-#: 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 "Repository referenzieren"
 
-#: 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 nur während des Klonens benutzen"
 
 #: 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 "Name"
 
@@ -11169,8 +12165,8 @@ msgstr "<Branch> auschecken, anstatt HEAD des Remote-Repositories"
 msgid "path to git-upload-pack on the remote"
 msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite"
 
-#: 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 "Tiefe"
 
@@ -11179,7 +12175,7 @@ msgid "create a shallow clone of that depth"
 msgstr ""
 "einen Klon mit unvollständiger Historie (shallow) in dieser Tiefe erstellen"
 
-#: 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 "Zeit"
 
@@ -11190,18 +12186,19 @@ msgstr ""
 "Zeit\n"
 "erstellen"
 
-#: 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 "Commit"
 
-#: 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 ""
 "die Historie eines Klons mit unvollständiger Historie (shallow) mittels\n"
 "Ausschluss eines Commits vertiefen"
 
-#: 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 "nur einen Branch klonen, HEAD oder --branch"
 
@@ -11229,23 +12226,23 @@ msgstr "Schlüssel=Wert"
 msgid "set config inside the new repository"
 msgstr "Konfiguration innerhalb des neuen Repositories setzen"
 
-#: 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 "serverspezifisch"
 
-#: 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 "Option übertragen"
 
-#: 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 "nur IPv4-Adressen benutzen"
 
-#: 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 "nur IPv6-Adressen benutzen"
 
@@ -11253,7 +12250,13 @@ msgstr "nur IPv6-Adressen benutzen"
 msgid "any cloned submodules will use their remote-tracking branch"
 msgstr "jedes geklonte Submodul nutzt seinen Remote-Tracking-Branch"
 
-#: builtin/clone.c:285
+#: builtin/clone.c:151
+msgid "initialize sparse-checkout file to include only files at root"
+msgstr ""
+"Initialisiere Datei für partiellen Checkout, um nur Dateien im\n"
+"Root-Verzeichnis einzubeziehen"
+
+#: builtin/clone.c:287
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -11261,47 +12264,42 @@ msgstr ""
 "Konnte keinen Verzeichnisnamen erraten.\n"
 "Bitte geben Sie ein Verzeichnis auf der Befehlszeile an."
 
-#: builtin/clone.c:338
+#: builtin/clone.c:340
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info: Konnte Alternative für '%s' nicht hinzufügen: %s\n"
 
-#: builtin/clone.c:411
+#: builtin/clone.c:413
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existiert und ist kein Verzeichnis"
 
-#: builtin/clone.c:428
+#: builtin/clone.c:430
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "Fehler beim Starten der Iteration über '%s'"
 
-#: builtin/clone.c:453
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr "Konnte '%s' nicht entfernen."
-
-#: builtin/clone.c:458
+#: builtin/clone.c:460
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "Konnte Verweis '%s' nicht erstellen"
 
-#: builtin/clone.c:462
+#: builtin/clone.c:464
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "Konnte Datei nicht nach '%s' kopieren"
 
-#: builtin/clone.c:467
+#: builtin/clone.c:469
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "Fehler beim Iterieren über '%s'"
 
-#: builtin/clone.c:492
+#: builtin/clone.c:494
 #, c-format
 msgid "done.\n"
 msgstr "Fertig.\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"
@@ -11311,97 +12309,101 @@ msgstr ""
 "Sie können mit 'git status' prüfen, was ausgecheckt worden ist\n"
 "und das Auschecken mit 'git restore --source=HEAD :/' erneut versuchen.\n"
 
-#: builtin/clone.c:583
+#: builtin/clone.c:585
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Konnte zu klonenden Remote-Branch %s nicht finden."
 
-#: builtin/clone.c:702
+#: builtin/clone.c:705
 #, c-format
 msgid "unable to update %s"
 msgstr "kann %s nicht aktualisieren"
 
-#: builtin/clone.c:752
+#: builtin/clone.c:753
+msgid "failed to initialize sparse-checkout"
+msgstr "Fehler beim Initialisieren vom partiellen Checkout."
+
+#: builtin/clone.c:776
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "Externer HEAD bezieht sich auf eine nicht existierende Referenz und kann "
 "nicht ausgecheckt werden.\n"
 
-#: builtin/clone.c:783
+#: builtin/clone.c:807
 msgid "unable to checkout working tree"
 msgstr "Arbeitsverzeichnis konnte nicht ausgecheckt werden"
 
-#: builtin/clone.c:833
+#: builtin/clone.c:862
 msgid "unable to write parameters to config file"
 msgstr "konnte Parameter nicht in Konfigurationsdatei schreiben"
 
-#: builtin/clone.c:896
+#: builtin/clone.c:925
 msgid "cannot repack to clean up"
 msgstr "Kann \"repack\" zum Aufräumen nicht aufrufen"
 
-#: builtin/clone.c:898
+#: builtin/clone.c:927
 msgid "cannot unlink temporary alternates file"
 msgstr "Kann temporäre \"alternates\"-Datei nicht entfernen"
 
-#: builtin/clone.c:938 builtin/receive-pack.c:1950
+#: builtin/clone.c:965 builtin/receive-pack.c:1950
 msgid "Too many arguments."
 msgstr "Zu viele Argumente."
 
-#: builtin/clone.c:942
+#: builtin/clone.c:969
 msgid "You must specify a repository to clone."
 msgstr "Sie müssen ein Repository zum Klonen angeben."
 
-#: builtin/clone.c:955
+#: builtin/clone.c:982
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "Die Optionen --bare und --origin %s sind inkompatibel."
 
-#: builtin/clone.c:958
+#: builtin/clone.c:985
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "Die Optionen --bare und --separate-git-dir sind inkompatibel."
 
-#: builtin/clone.c:971
+#: builtin/clone.c:998
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "Repository '%s' existiert nicht."
 
-#: 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 "Tiefe %s ist keine positive Zahl"
 
-#: builtin/clone.c:987
+#: builtin/clone.c:1014
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr "Zielpfad '%s' existiert bereits und ist kein leeres Verzeichnis."
 
-#: builtin/clone.c:997
+#: builtin/clone.c:1024
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "Arbeitsverzeichnis '%s' existiert bereits."
 
-#: 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 "Konnte führende Verzeichnisse von '%s' nicht erstellen."
 
-#: builtin/clone.c:1017
+#: builtin/clone.c:1044
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "Konnte Arbeitsverzeichnis '%s' nicht erstellen"
 
-#: builtin/clone.c:1037
+#: builtin/clone.c:1064
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Klone in Bare-Repository '%s' ...\n"
 
-#: builtin/clone.c:1039
+#: builtin/clone.c:1066
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Klone nach '%s' ...\n"
 
-#: builtin/clone.c:1063
+#: builtin/clone.c:1090
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -11409,45 +12411,45 @@ msgstr ""
 "'clone --recursive' ist nicht kompatibel mit --reference und --reference-if-"
 "able"
 
-#: builtin/clone.c:1124
+#: builtin/clone.c:1154
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 "Die Option --depth wird in lokalen Klonen ignoriert; benutzen Sie "
 "stattdessen file://"
 
-#: builtin/clone.c:1126
+#: builtin/clone.c:1156
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-since wird in lokalen Klonen ignoriert; benutzen Sie stattdessen "
 "file://"
 
-#: builtin/clone.c:1128
+#: builtin/clone.c:1158
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-exclude wird in lokalen Klonen ignoriert; benutzen Sie stattdessen "
 "file://"
 
-#: builtin/clone.c:1130
+#: builtin/clone.c:1160
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr ""
 "--filter wird in lokalen Klonen ignoriert; benutzen Sie stattdessen file://"
 
-#: builtin/clone.c:1133
+#: builtin/clone.c:1163
 msgid "source repository is shallow, ignoring --local"
 msgstr ""
 "Quelle ist ein Repository mit unvollständiger Historie (shallow),\n"
 "ignoriere --local"
 
-#: builtin/clone.c:1138
+#: builtin/clone.c:1168
 msgid "--local is ignored"
 msgstr "--local wird ignoriert"
 
-#: 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 "Remote-Branch %s nicht im Upstream-Repository %s gefunden"
 
-#: builtin/clone.c:1226
+#: builtin/clone.c:1254
 msgid "You appear to have cloned an empty repository."
 msgstr "Sie scheinen ein leeres Repository geklont zu haben."
 
@@ -11496,7 +12498,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "doppelter Vorgänger %s ignoriert"
 
-#: 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 "Kein gültiger Objektname: %s"
@@ -11524,13 +12526,13 @@ msgstr "Eltern-Commit"
 msgid "id of a parent commit object"
 msgstr "ID eines Eltern-Commit-Objektes."
 
-#: 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 "Beschreibung"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1500
+#: builtin/commit-tree.c:115 builtin/commit.c:1501
 msgid "commit message"
 msgstr "Commit-Beschreibung"
 
@@ -11538,8 +12540,8 @@ msgstr "Commit-Beschreibung"
 msgid "read commit log message from file"
 msgstr "Commit-Beschreibung von Datei lesen"
 
-#: 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 "Commit mit GPG signieren"
 
@@ -11614,58 +12616,66 @@ msgstr ""
 msgid "failed to unpack HEAD tree object"
 msgstr "Fehler beim Entpacken des Tree-Objektes von HEAD."
 
-#: builtin/commit.c:356
+#: builtin/commit.c:351
+msgid "--pathspec-from-file with -a does not make sense"
+msgstr "Option --pathspec-from-file mit -a ist nicht sinnvoll."
+
+#: builtin/commit.c:364
+msgid "No paths with --include/--only does not make sense."
+msgstr "Keine Pfade mit der Option --include/--only ist nicht sinnvoll."
+
+#: builtin/commit.c:376
 msgid "unable to create temporary index"
 msgstr "Konnte temporären Index nicht erstellen."
 
-#: builtin/commit.c:362
+#: builtin/commit.c:385
 msgid "interactive add failed"
 msgstr "interaktives Hinzufügen fehlgeschlagen"
 
-#: builtin/commit.c:376
+#: builtin/commit.c:400
 msgid "unable to update temporary index"
 msgstr "Konnte temporären Index nicht aktualisieren."
 
-#: builtin/commit.c:378
+#: builtin/commit.c:402
 msgid "Failed to update main cache tree"
 msgstr "Konnte Haupt-Cache-Verzeichnis nicht aktualisieren"
 
-#: 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 "Konnte new_index Datei nicht schreiben"
 
-#: builtin/commit.c:455
+#: builtin/commit.c:479
 msgid "cannot do a partial commit during a merge."
 msgstr "Kann keinen Teil-Commit durchführen, während ein Merge im Gange ist."
 
-#: builtin/commit.c:457
+#: builtin/commit.c:481
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr ""
 "Kann keinen Teil-Commit durchführen, während \"cherry-pick\" im Gange ist."
 
-#: builtin/commit.c:465
+#: builtin/commit.c:489
 msgid "cannot read the index"
 msgstr "Kann Index nicht lesen"
 
-#: builtin/commit.c:484
+#: builtin/commit.c:508
 msgid "unable to write temporary index file"
 msgstr "Konnte temporäre Index-Datei nicht schreiben."
 
-#: builtin/commit.c:582
+#: builtin/commit.c:606
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "Commit '%s' fehlt Autor-Kopfbereich"
 
-#: builtin/commit.c:584
+#: builtin/commit.c:608
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "Commit '%s' hat fehlerhafte Autor-Zeile"
 
-#: builtin/commit.c:603
+#: builtin/commit.c:627
 msgid "malformed --author parameter"
 msgstr "Fehlerhafter --author Parameter"
 
-#: 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"
@@ -11673,38 +12683,38 @@ msgstr ""
 "Konnte kein Kommentar-Zeichen auswählen, das nicht in\n"
 "der aktuellen Commit-Beschreibung verwendet wird."
 
-#: 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 "Konnte Commit %s nicht nachschlagen"
 
-#: 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 "(lese Log-Nachricht von Standard-Eingabe)\n"
 
-#: builtin/commit.c:708
+#: builtin/commit.c:732
 msgid "could not read log from standard input"
 msgstr "Konnte Log nicht von Standard-Eingabe lesen."
 
-#: builtin/commit.c:712
+#: builtin/commit.c:736
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "Konnte Log-Datei '%s' nicht lesen"
 
-#: builtin/commit.c:743 builtin/commit.c:759
+#: builtin/commit.c:767 builtin/commit.c:783
 msgid "could not read SQUASH_MSG"
 msgstr "Konnte SQUASH_MSG nicht lesen"
 
-#: builtin/commit.c:750
+#: builtin/commit.c:774
 msgid "could not read MERGE_MSG"
 msgstr "Konnte MERGE_MSG nicht lesen"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:834
 msgid "could not write commit template"
 msgstr "Konnte Commit-Vorlage nicht schreiben"
 
-#: builtin/commit.c:829
+#: builtin/commit.c:853
 #, c-format
 msgid ""
 "\n"
@@ -11719,7 +12729,7 @@ msgstr ""
 "\t%s\n"
 "und versuchen Sie es erneut.\n"
 
-#: builtin/commit.c:834
+#: builtin/commit.c:858
 #, c-format
 msgid ""
 "\n"
@@ -11734,7 +12744,7 @@ msgstr ""
 "\t%s\n"
 "und versuchen Sie es erneut.\n"
 
-#: builtin/commit.c:847
+#: builtin/commit.c:871
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11744,7 +12754,7 @@ msgstr ""
 "die mit '%c' beginnen, werden ignoriert, und eine leere Beschreibung\n"
 "bricht den Commit ab.\n"
 
-#: builtin/commit.c:855
+#: builtin/commit.c:879
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11757,155 +12767,149 @@ msgstr ""
 "entfernen.\n"
 "Eine leere Beschreibung bricht den Commit ab.\n"
 
-#: builtin/commit.c:872
+#: builtin/commit.c:896
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAutor:           %.*s <%.*s>"
 
-#: builtin/commit.c:880
+#: builtin/commit.c:904
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDatum:            %s"
 
-#: builtin/commit.c:887
+#: builtin/commit.c:911
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sCommit-Ersteller: %.*s <%.*s>"
 
-#: builtin/commit.c:905
+#: builtin/commit.c:929
 msgid "Cannot read index"
 msgstr "Kann Index nicht lesen"
 
-#: builtin/commit.c:972
+#: builtin/commit.c:997
 msgid "Error building trees"
 msgstr "Fehler beim Erzeugen der \"Tree\"-Objekte"
 
-#: 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 ""
 "Bitte liefern Sie eine Beschreibung entweder mit der Option -m oder -F.\n"
 
-#: builtin/commit.c:1030
+#: builtin/commit.c:1055
 #, c-format
 msgid "--author '%s' is not 'Name <email>' and matches no existing author"
 msgstr ""
 "--author '%s' ist nicht im Format 'Name <E-Mail>' und stimmt mit keinem "
 "vorhandenen Autor überein"
 
-#: builtin/commit.c:1044
+#: builtin/commit.c:1069
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Ungültiger ignored-Modus '%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 "Ungültiger Modus '%s' für unversionierte Dateien"
 
-#: builtin/commit.c:1102
+#: builtin/commit.c:1127
 msgid "--long and -z are incompatible"
 msgstr "Die Optionen --long und -z sind inkompatibel."
 
-#: builtin/commit.c:1146
+#: builtin/commit.c:1171
 msgid "Using both --reset-author and --author does not make sense"
 msgstr ""
 "Die Optionen --reset-author und --author können nicht gemeinsam verwendet "
 "werden."
 
-#: builtin/commit.c:1155
+#: builtin/commit.c:1180
 msgid "You have nothing to amend."
 msgstr "Sie haben nichts für \"--amend\"."
 
-#: builtin/commit.c:1158
+#: builtin/commit.c:1183
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Ein Merge ist im Gange -- kann \"--amend\" nicht ausführen."
 
-#: builtin/commit.c:1160
+#: builtin/commit.c:1185
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "\"cherry-pick\" ist im Gange -- kann \"--amend\" nicht ausführen."
 
-#: builtin/commit.c:1163
+#: builtin/commit.c:1188
 msgid "Options --squash and --fixup cannot be used together"
 msgstr ""
 "Die Optionen --squash und --fixup können nicht gemeinsam verwendet werden."
 
-#: builtin/commit.c:1173
+#: builtin/commit.c:1198
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Es kann nur eine Option von -c/-C/-F/--fixup verwendet werden."
 
-#: builtin/commit.c:1175
+#: builtin/commit.c:1200
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "Die Option -m kann nicht mit -c/-C/-F kombiniert werden."
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1208
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr ""
 "Die Option --reset--author kann nur mit -C, -c oder --amend verwendet werden."
 
-#: builtin/commit.c:1200
+#: builtin/commit.c:1225
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Es kann nur eine Option von --include/--only/--all/--interactive/--patch "
 "verwendet werden."
 
-#: builtin/commit.c:1202
-msgid "No paths with --include/--only does not make sense."
-msgstr ""
-"Die Optionen --include und --only können nur mit der Angabe von Pfaden "
-"verwendet werden."
-
-#: builtin/commit.c:1208
+#: builtin/commit.c:1231
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "Pfade '%s ...' mit -a sind nicht sinnvoll"
 
-#: builtin/commit.c:1339 builtin/commit.c:1523
+#: builtin/commit.c:1362 builtin/commit.c:1524
 msgid "show status concisely"
 msgstr "Status im Kurzformat anzeigen"
 
-#: builtin/commit.c:1341 builtin/commit.c:1525
+#: builtin/commit.c:1364 builtin/commit.c:1526
 msgid "show branch information"
 msgstr "Branchinformationen anzeigen"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1366
 msgid "show stash information"
 msgstr "Stashinformationen anzeigen"
 
-#: builtin/commit.c:1345 builtin/commit.c:1527
+#: builtin/commit.c:1368 builtin/commit.c:1528
 msgid "compute full ahead/behind values"
 msgstr "voraus/hinterher-Werte berechnen"
 
-#: builtin/commit.c:1347
+#: builtin/commit.c:1370
 msgid "version"
 msgstr "Version"
 
-#: 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 "maschinenlesbare Ausgabe"
 
-#: builtin/commit.c:1350 builtin/commit.c:1531
+#: builtin/commit.c:1373 builtin/commit.c:1532
 msgid "show status in long format (default)"
 msgstr "Status im Langformat anzeigen (Standard)"
 
-#: builtin/commit.c:1353 builtin/commit.c:1534
+#: builtin/commit.c:1376 builtin/commit.c:1535
 msgid "terminate entries with NUL"
 msgstr "Einträge mit NUL-Zeichen abschließen"
 
-#: 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 "Modus"
 
-#: 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 ""
 "unversionierte Dateien anzeigen, optionale Modi: all, normal, no. (Standard: "
 "all)"
 
-#: builtin/commit.c:1360
+#: builtin/commit.c:1383
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -11913,11 +12917,11 @@ msgstr ""
 "ignorierte Dateien anzeigen, optionale Modi: traditional, matching, no. "
 "(Standard: traditional)"
 
-#: builtin/commit.c:1362 parse-options.h:179
+#: builtin/commit.c:1385 parse-options.h:192
 msgid "when"
 msgstr "wann"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1386
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -11925,174 +12929,174 @@ msgstr ""
 "Änderungen in Submodulen ignorieren, optional wenn: all, dirty, untracked. "
 "(Standard: all)"
 
-#: builtin/commit.c:1365
+#: builtin/commit.c:1388
 msgid "list untracked files in columns"
 msgstr "unversionierte Dateien in Spalten auflisten"
 
-#: builtin/commit.c:1366
+#: builtin/commit.c:1389
 msgid "do not detect renames"
 msgstr "keine Umbenennungen ermitteln"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1391
 msgid "detect renames, optionally set similarity index"
 msgstr "Umbenennungen erkennen, optional Index für Gleichheit setzen"
 
-#: builtin/commit.c:1388
+#: builtin/commit.c:1411
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 "Nicht unterstützte Kombination von ignored und untracked-files Argumenten."
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1494
 msgid "suppress summary after successful commit"
 msgstr "Zusammenfassung nach erfolgreichem Commit unterdrücken"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1495
 msgid "show diff in commit message template"
 msgstr "Unterschiede in Commit-Beschreibungsvorlage anzeigen"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1497
 msgid "Commit message options"
 msgstr "Optionen für Commit-Beschreibung"
 
-#: 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 "Beschreibung von Datei lesen"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1499
 msgid "author"
 msgstr "Autor"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1499
 msgid "override author for commit"
 msgstr "Autor eines Commits überschreiben"
 
-#: builtin/commit.c:1499 builtin/gc.c:539
+#: builtin/commit.c:1500 builtin/gc.c:538
 msgid "date"
 msgstr "Datum"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1500
 msgid "override date for commit"
 msgstr "Datum eines Commits überschreiben"
 
-#: 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 "Commit"
 
-#: builtin/commit.c:1501
+#: builtin/commit.c:1502
 msgid "reuse and edit message from specified commit"
 msgstr "Beschreibung des angegebenen Commits wiederverwenden und editieren"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1503
 msgid "reuse message from specified commit"
 msgstr "Beschreibung des angegebenen Commits wiederverwenden"
 
-#: builtin/commit.c:1503
+#: builtin/commit.c:1504
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "eine automatisch zusammengesetzte Beschreibung zum Nachbessern des "
 "angegebenen Commits verwenden"
 
-#: builtin/commit.c:1504
+#: builtin/commit.c:1505
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "eine automatisch zusammengesetzte Beschreibung beim \"squash\" des "
 "angegebenen Commits verwenden"
 
-#: builtin/commit.c:1505
+#: builtin/commit.c:1506
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr "Sie als Autor des Commits setzen (verwendet mit -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:'-Zeile hinzufügen"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1508
 msgid "use specified template file"
 msgstr "angegebene Vorlagendatei verwenden"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1509
 msgid "force edit of commit"
 msgstr "Bearbeitung des Commits erzwingen"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1511
 msgid "include status in commit message template"
 msgstr "Status in die Commit-Beschreibungsvorlage einfügen"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1516
 msgid "Commit contents options"
 msgstr "Optionen für Commit-Inhalt"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1517
 msgid "commit all changed files"
 msgstr "alle geänderten Dateien committen"
 
-#: builtin/commit.c:1517
+#: builtin/commit.c:1518
 msgid "add specified files to index for commit"
 msgstr "die angegebenen Dateien zusätzlich zum Commit vormerken"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1519
 msgid "interactively add files"
 msgstr "interaktives Hinzufügen von Dateien"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1520
 msgid "interactively add changes"
 msgstr "interaktives Hinzufügen von Änderungen"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1521
 msgid "commit only specified files"
 msgstr "nur die angegebenen Dateien committen"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1522
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "Hooks pre-commit und commit-msg umgehen"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1523
 msgid "show what would be committed"
 msgstr "anzeigen, was committet werden würde"
 
-#: builtin/commit.c:1535
+#: builtin/commit.c:1536
 msgid "amend previous commit"
 msgstr "vorherigen Commit ändern"
 
-#: builtin/commit.c:1536
+#: builtin/commit.c:1537
 msgid "bypass post-rewrite hook"
 msgstr "\"post-rewrite hook\" umgehen"
 
-#: builtin/commit.c:1541
+#: builtin/commit.c:1544
 msgid "ok to record an empty change"
 msgstr "Aufzeichnung einer leeren Änderung erlauben"
 
-#: builtin/commit.c:1543
+#: builtin/commit.c:1546
 msgid "ok to record a change with an empty message"
 msgstr "Aufzeichnung einer Änderung mit einer leeren Beschreibung erlauben"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1619
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Beschädigte MERGE_HEAD-Datei (%s)"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1626
 msgid "could not read MERGE_MODE"
 msgstr "Konnte MERGE_MODE nicht lesen"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1645
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "Konnte Commit-Beschreibung nicht lesen: %s"
 
-#: builtin/commit.c:1649
+#: builtin/commit.c:1652
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Commit aufgrund leerer Beschreibung abgebrochen.\n"
 
-#: builtin/commit.c:1654
+#: builtin/commit.c:1657
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Commit abgebrochen; Sie haben die Beschreibung nicht editiert.\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"
@@ -12103,80 +13107,80 @@ msgstr ""
 "voll und Ihr Kontingent nicht aufgebraucht ist und führen Sie\n"
 "anschließend \"git restore HEAD --staged :/\" zur Wiederherstellung aus."
 
-#: builtin/commit-graph.c:11
-msgid "git commit-graph [--object-dir <objdir>]"
-msgstr "git commit-graph [--object-dir <Objektverzeichnis>]"
-
-#: builtin/commit-graph.c:12 builtin/commit-graph.c:24
-msgid "git commit-graph read [--object-dir <objdir>]"
-msgstr "git commit-graph read [--object-dir <Objektverzeichnis>]"
-
-#: builtin/commit-graph.c:13 builtin/commit-graph.c:19
-msgid "git commit-graph verify [--object-dir <objdir>] [--shallow]"
-msgstr "git commit-graph verify [--object-dir <Objektverzeichnis>] [--shallow]"
+#: builtin/commit-graph.c:11 builtin/commit-graph.c:17
+msgid ""
+"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+msgstr ""
+"git commit-graph verify [--object-dir <Objektverzeichnis>] [--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 <objdir>] [--append|--split] [--"
-"reachable|--stdin-packs|--stdin-commits] <split options>"
+"reachable|--stdin-packs|--stdin-commits] [--[no-]progress] <split options>"
 msgstr ""
 "git commit-graph write [--object-dir <Objektverzeichnis>] [--append|split] "
-"[--reachable|--stdin-packs|--stdin-commits] <Split-Optionen>"
+"[--reachable|--stdin-packs|--stdin-commits] [--[no-]progress] <Split-"
+"Optionen>"
+
+#: builtin/commit-graph.c:52
+#, c-format
+msgid "could not find object directory matching %s"
+msgstr "konnte Objekt-Verzeichnis nicht finden, dass '%s' entsprechen soll"
 
-#: 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 "Verzeichnis"
 
-#: 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 "Das Objektverzeichnis zum Speichern des Graphen."
 
-#: builtin/commit-graph.c:57
+#: builtin/commit-graph.c:71
 msgid "if the commit-graph is split, only verify the tip file"
 msgstr ""
 "Wenn der Commit-Graph aufgeteilt ist, nur die Datei an der Spitze überprüfen"
 
-#: 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 "Konnte Commit-Graph '%s' nicht öffnen."
 
-#: builtin/commit-graph.c:164
+#: builtin/commit-graph.c:128
 msgid "start walk at all refs"
 msgstr "Durchlauf auf allen Referenzen beginnen"
 
-#: builtin/commit-graph.c:166
+#: builtin/commit-graph.c:130
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "durch Standard-Eingabe gelistete Pack-Indexe nach Commits scannen"
 
-#: builtin/commit-graph.c:168
+#: builtin/commit-graph.c:132
 msgid "start walk at commits listed by stdin"
 msgstr "Lauf bei Commits beginnen, die über die Standard-Eingabe gelistet sind"
 
-#: builtin/commit-graph.c:170
+#: builtin/commit-graph.c:134
 msgid "include all commits already in the commit-graph file"
 msgstr ""
 "alle Commits einschließen, die sich bereits in der Commit-Graph-Datei "
 "befinden"
 
-#: builtin/commit-graph.c:172
+#: builtin/commit-graph.c:137
 msgid "allow writing an incremental commit-graph file"
 msgstr "Erlaube das Schreiben einer inkrementellen Commit-Graph-Datei"
 
-#: 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 ""
 "Maximale Anzahl von Commits in einem aufgeteilten Commit-Graph ohne Basis"
 
-#: builtin/commit-graph.c:176
+#: builtin/commit-graph.c:141
 msgid "maximum ratio between two levels of a split commit-graph"
 msgstr ""
 "Maximales Verhältnis zwischen zwei Ebenen eines aufgeteilten Commit-Graph"
 
-#: builtin/commit-graph.c:191
+#: builtin/commit-graph.c:159
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr ""
 "Benutzen Sie mindestens eins von --reachable, --stdin-commits, oder --stdin-"
@@ -12186,208 +13190,214 @@ msgstr ""
 msgid "git config [<options>]"
 msgstr "git config [<Optionen>]"
 
-#: 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 "nicht erkanntes --type Argument, %s"
 
-#: builtin/config.c:115
+#: builtin/config.c:116
 msgid "only one type at a time"
 msgstr "nur ein Typ erlaubt"
 
-#: builtin/config.c:124
+#: builtin/config.c:125
 msgid "Config file location"
 msgstr "Ort der Konfigurationsdatei"
 
-#: builtin/config.c:125
+#: builtin/config.c:126
 msgid "use global config file"
 msgstr "globale Konfigurationsdatei verwenden"
 
-#: builtin/config.c:126
+#: builtin/config.c:127
 msgid "use system config file"
 msgstr "systemweite Konfigurationsdatei verwenden"
 
-#: builtin/config.c:127
+#: builtin/config.c:128
 msgid "use repository config file"
 msgstr "Konfigurationsdatei des Repositories verwenden"
 
-#: builtin/config.c:128
+#: builtin/config.c:129
 msgid "use per-worktree config file"
 msgstr "Konfigurationsdatei pro Arbeitsverzeichnis verwenden"
 
-#: builtin/config.c:129
+#: builtin/config.c:130
 msgid "use given config file"
 msgstr "die angegebene Konfigurationsdatei verwenden"
 
-#: builtin/config.c:130
+#: builtin/config.c:131
 msgid "blob-id"
 msgstr "Blob-Id"
 
-#: builtin/config.c:130
+#: builtin/config.c:131
 msgid "read config from given blob object"
 msgstr "Konfiguration von angegebenem Blob-Objekt lesen"
 
-#: builtin/config.c:131
+#: builtin/config.c:132
 msgid "Action"
 msgstr "Aktion"
 
-#: builtin/config.c:132
+#: builtin/config.c:133
 msgid "get value: name [value-regex]"
 msgstr "Wert zurückgeben: Name [Wert-regex]"
 
-#: builtin/config.c:133
+#: builtin/config.c:134
 msgid "get all values: key [value-regex]"
 msgstr "alle Werte zurückgeben: Schlüssel [Wert-regex]"
 
-#: builtin/config.c:134
+#: builtin/config.c:135
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "Werte für den regulären Ausdruck zurückgeben: Name-regex [Wert-regex]"
 
-#: builtin/config.c:135
+#: builtin/config.c:136
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "Wert spezifisch für eine URL zurückgeben: section[.var] URL"
 
-#: builtin/config.c:136
+#: builtin/config.c:137
 msgid "replace all matching variables: name value [value_regex]"
 msgstr "alle passenden Variablen ersetzen: Name Wert [Wert-regex] "
 
-#: builtin/config.c:137
+#: builtin/config.c:138
 msgid "add a new variable: name value"
 msgstr "neue Variable hinzufügen: Name Wert"
 
-#: builtin/config.c:138
+#: builtin/config.c:139
 msgid "remove a variable: name [value-regex]"
 msgstr "eine Variable entfernen: Name [Wert-regex]"
 
-#: builtin/config.c:139
+#: builtin/config.c:140
 msgid "remove all matches: name [value-regex]"
 msgstr "alle Übereinstimmungen entfernen: Name [Wert-regex]"
 
-#: builtin/config.c:140
+#: builtin/config.c:141
 msgid "rename section: old-name new-name"
 msgstr "eine Sektion umbenennen: alter-Name neuer-Name"
 
-#: builtin/config.c:141
+#: builtin/config.c:142
 msgid "remove a section: name"
 msgstr "eine Sektion entfernen: Name"
 
-#: builtin/config.c:142
+#: builtin/config.c:143
 msgid "list all"
 msgstr "alles auflisten"
 
-#: builtin/config.c:143
+#: builtin/config.c:144
 msgid "open an editor"
 msgstr "einen Editor öffnen"
 
-#: builtin/config.c:144
+#: builtin/config.c:145
 msgid "find the color configured: slot [default]"
 msgstr "die konfigurierte Farbe finden: Slot [Standard]"
 
-#: builtin/config.c:145
+#: builtin/config.c:146
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "die Farbeinstellung finden: Slot [Standard-Ausgabe-ist-Terminal]"
 
-#: builtin/config.c:146
+#: builtin/config.c:147
 msgid "Type"
 msgstr "Typ"
 
-#: 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 "Wert ist mit diesem Typ angegeben"
 
-#: builtin/config.c:148
+#: builtin/config.c:149
 msgid "value is \"true\" or \"false\""
 msgstr "Wert ist \"true\" oder \"false\""
 
-#: builtin/config.c:149
+#: builtin/config.c:150
 msgid "value is decimal number"
 msgstr "Wert ist eine Dezimalzahl"
 
-#: builtin/config.c:150
+#: builtin/config.c:151
 msgid "value is --bool or --int"
 msgstr "Wert ist --bool oder --int"
 
-#: builtin/config.c:151
+#: builtin/config.c:152
 msgid "value is a path (file or directory name)"
 msgstr "Wert ist ein Pfad (Datei oder Verzeichnisname)"
 
-#: builtin/config.c:152
+#: builtin/config.c:153
 msgid "value is an expiry date"
 msgstr "Wert ist ein Verfallsdatum"
 
-#: builtin/config.c:153
+#: builtin/config.c:154
 msgid "Other"
 msgstr "Sonstiges"
 
-#: builtin/config.c:154
+#: builtin/config.c:155
 msgid "terminate values with NUL byte"
 msgstr "schließt Werte mit NUL-Byte ab"
 
-#: builtin/config.c:155
+#: builtin/config.c:156
 msgid "show variable names only"
 msgstr "nur Variablennamen anzeigen"
 
-#: builtin/config.c:156
+#: builtin/config.c:157
 msgid "respect include directives on lookup"
 msgstr "beachtet \"include\"-Direktiven beim Nachschlagen"
 
-#: builtin/config.c:157
+#: builtin/config.c:158
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 "Ursprung der Konfiguration anzeigen (Datei, Standard-Eingabe, Blob, "
 "Befehlszeile)"
 
-#: builtin/config.c:158 builtin/env--helper.c:40
+#: builtin/config.c:159
+msgid "show scope of config (worktree, local, global, system, command)"
+msgstr ""
+"Zeige Geltungsbereich der Konfiguration (Arbeitsverzeichnis, lokal, global, "
+"systemweit, Befehl)"
+
+#: builtin/config.c:160 builtin/env--helper.c:40
 msgid "value"
 msgstr "Wert"
 
-#: builtin/config.c:158
+#: builtin/config.c:160
 msgid "with --get, use default value when missing entry"
 msgstr "mit --get, benutze den Standardwert, wenn der Eintrag fehlt"
 
-#: builtin/config.c:172
+#: builtin/config.c:174
 #, c-format
 msgid "wrong number of arguments, should be %d"
 msgstr "Falsche Anzahl von Argumenten - sollte %d sein."
 
-#: builtin/config.c:174
+#: builtin/config.c:176
 #, c-format
 msgid "wrong number of arguments, should be from %d to %d"
 msgstr "Falsche Anzahl von Argumenten - sollte zwischen %d und %d sein."
 
-#: builtin/config.c:308
+#: builtin/config.c:324
 #, c-format
 msgid "invalid key pattern: %s"
 msgstr "Ungültiges Schlüsselmuster: %s"
 
-#: builtin/config.c:344
+#: builtin/config.c:360
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr "Fehler beim Formatieren des Standardkonfigurationswertes: %s"
 
-#: builtin/config.c:401
+#: builtin/config.c:417
 #, c-format
 msgid "cannot parse color '%s'"
 msgstr "Kann Farbe '%s' nicht parsen."
 
-#: builtin/config.c:443
+#: builtin/config.c:459
 msgid "unable to parse default color value"
 msgstr "konnte Standard-Farbwert nicht parsen"
 
-#: builtin/config.c:496 builtin/config.c:742
+#: builtin/config.c:512 builtin/config.c:768
 msgid "not in a git directory"
 msgstr "Nicht in einem Git-Repository."
 
-#: builtin/config.c:499
+#: builtin/config.c:515
 msgid "writing to stdin is not supported"
 msgstr "Das Schreiben in die Standard-Eingabe wird nicht unterstützt."
 
-#: builtin/config.c:502
+#: builtin/config.c:518
 msgid "writing config blobs is not supported"
 msgstr ""
 "Das Schreiben von Blob-Objekten für Konfigurationen wird nicht unterstützt."
 
-#: builtin/config.c:587
+#: builtin/config.c:603
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -12402,23 +13412,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 "Nur eine Konfigurationsdatei zu einer Zeit möglich."
 
-#: builtin/config.c:616
+#: builtin/config.c:632
 msgid "--local can only be used inside a git repository"
 msgstr "--local kann nur innerhalb eines Git-Repositories verwendet werden."
 
-#: builtin/config.c:619
+#: builtin/config.c:635
 msgid "--blob can only be used inside a git repository"
 msgstr "--blob kann nur innerhalb eines Git-Repositories verwendet werden."
 
-#: builtin/config.c:638
+#: builtin/config.c:655
 msgid "$HOME not set"
 msgstr "$HOME nicht gesetzt."
 
-#: 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"
@@ -12429,52 +13439,52 @@ msgstr ""
 "lesen Sie die Sektion \"CONFIGURATION_FILE\" in \"git help worktree\" für "
 "Details"
 
-#: builtin/config.c:688
+#: builtin/config.c:714
 msgid "--get-color and variable type are incoherent"
 msgstr "Angabe von --get-color und Variablentyp sind ungültig."
 
-#: builtin/config.c:693
+#: builtin/config.c:719
 msgid "only one action at a time"
 msgstr "Nur eine Aktion erlaubt."
 
-#: builtin/config.c:706
+#: builtin/config.c:732
 msgid "--name-only is only applicable to --list or --get-regexp"
 msgstr "--name-only ist nur anwendbar auf --list oder --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 ist nur anwendbar auf --get, --get-all, --get-regexp und --list"
 
-#: builtin/config.c:718
+#: builtin/config.c:744
 msgid "--default is only applicable to --get"
 msgstr "--default ist nur anwendbar auf --get"
 
-#: builtin/config.c:731
+#: builtin/config.c:757
 #, c-format
 msgid "unable to read config file '%s'"
 msgstr "Konnte Konfigurationsdatei '%s' nicht lesen."
 
-#: builtin/config.c:734
+#: builtin/config.c:760
 msgid "error processing config file(s)"
 msgstr "Fehler beim Verarbeiten der Konfigurationsdatei(en)."
 
-#: builtin/config.c:744
+#: builtin/config.c:770
 msgid "editing stdin is not supported"
 msgstr "Das Bearbeiten der Standard-Eingabe wird nicht unterstützt."
 
-#: builtin/config.c:746
+#: builtin/config.c:772
 msgid "editing blobs is not supported"
 msgstr "Das Bearbeiten von Blobs wird nicht unterstützt."
 
-#: builtin/config.c:760
+#: builtin/config.c:786
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "Konnte Konfigurationsdatei '%s' nicht erstellen."
 
-#: builtin/config.c:773
+#: builtin/config.c:799
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -12484,7 +13494,7 @@ msgstr ""
 "       Benutzen Sie einen regulären Ausdruck, --add oder --replace, um %s\n"
 "       zu ändern."
 
-#: builtin/config.c:847 builtin/config.c:858
+#: builtin/config.c:873 builtin/config.c:884
 #, c-format
 msgid "no such section: %s"
 msgstr "Keine solche Sektion: %s"
@@ -12497,59 +13507,59 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "gibt Größenangaben in menschenlesbaren Format aus"
 
-#: builtin/describe.c:27
+#: builtin/describe.c:26
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<Optionen>] [<Commit-Angabe>...]"
 
-#: builtin/describe.c:28
+#: builtin/describe.c:27
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<Optionen>] --dirty"
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "head"
 msgstr "Branch"
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "lightweight"
 msgstr "nicht-annotiert"
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "annotated"
 msgstr "annotiert"
 
-#: builtin/describe.c:273
+#: builtin/describe.c:275
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "annotiertes Tag %s ist nicht verfügbar"
 
-#: builtin/describe.c:277
+#: builtin/describe.c:279
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "annotiertes Tag %s hat keinen eingebetteten Namen"
 
-#: builtin/describe.c:279
+#: builtin/describe.c:281
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "Tag '%s' ist eigentlich '%s' hier"
 
-#: builtin/describe.c:323
+#: builtin/describe.c:325
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "kein Tag entspricht exakt '%s'"
 
-#: builtin/describe.c:325
+#: builtin/describe.c:327
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr ""
 "Keine exakte Übereinstimmung bei Referenzen oder Tags, Suche zum "
 "Beschreiben\n"
 
-#: builtin/describe.c:379
+#: builtin/describe.c:394
 #, c-format
 msgid "finished search at %s\n"
 msgstr "beendete Suche bei %s\n"
 
-#: builtin/describe.c:405
+#: builtin/describe.c:421
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -12558,7 +13568,7 @@ msgstr ""
 "Keine annotierten Tags können '%s' beschreiben.\n"
 "Jedoch gab es nicht-annotierte Tags: versuchen Sie --tags."
 
-#: builtin/describe.c:409
+#: builtin/describe.c:425
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -12567,12 +13577,12 @@ msgstr ""
 "Keine Tags können '%s' beschreiben.\n"
 "Versuchen Sie --always oder erstellen Sie einige Tags."
 
-#: builtin/describe.c:439
+#: builtin/describe.c:455
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "%lu Commits durchlaufen\n"
 
-#: builtin/describe.c:442
+#: builtin/describe.c:458
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -12581,94 +13591,93 @@ msgstr ""
 "mehr als %i Tags gefunden; führe die ersten %i auf\n"
 "Suche bei %s aufgegeben\n"
 
-#: builtin/describe.c:510
+#: builtin/describe.c:526
 #, c-format
 msgid "describe %s\n"
 msgstr "Beschreibe %s\n"
 
-#: builtin/describe.c:513
+#: builtin/describe.c:529
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "%s ist kein gültiger Objekt-Name"
 
-#: builtin/describe.c:521
+#: builtin/describe.c:537
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr "%s ist weder ein Commit, noch ein Blob."
 
-#: builtin/describe.c:535
+#: builtin/describe.c:551
 msgid "find the tag that comes after the commit"
 msgstr "das Tag finden, das nach dem Commit kommt"
 
-#: builtin/describe.c:536
+#: builtin/describe.c:552
 msgid "debug search strategy on stderr"
 msgstr "die Suchstrategie in der Standard-Fehlerausgabe protokollieren"
 
-#: builtin/describe.c:537
+#: builtin/describe.c:553
 msgid "use any ref"
 msgstr "alle Referenzen verwenden"
 
-#: builtin/describe.c:538
+#: builtin/describe.c:554
 msgid "use any tag, even unannotated"
 msgstr "jedes Tag verwenden, auch nicht-annotierte"
 
-#: builtin/describe.c:539
+#: builtin/describe.c:555
 msgid "always use long format"
 msgstr "immer langes Format verwenden"
 
-#: builtin/describe.c:540
+#: builtin/describe.c:556
 msgid "only follow first parent"
 msgstr "nur erstem Elternteil folgen"
 
-#: builtin/describe.c:543
+#: builtin/describe.c:559
 msgid "only output exact matches"
 msgstr "nur exakte Übereinstimmungen ausgeben"
 
-#: builtin/describe.c:545
+#: builtin/describe.c:561
 msgid "consider <n> most recent tags (default: 10)"
 msgstr "die jüngsten <n> Tags betrachten (Standard: 10)"
 
-#: builtin/describe.c:547
+#: builtin/describe.c:563
 msgid "only consider tags matching <pattern>"
 msgstr "nur Tags, die <Muster> entsprechen, betrachten"
 
-#: builtin/describe.c:549
+#: builtin/describe.c:565
 msgid "do not consider tags matching <pattern>"
 msgstr "keine Tags betrachten, die <Muster> entsprechen"
 
-#: 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 "gekürztes Commit-Objekt anzeigen, wenn sonst nichts zutrifft"
 
-#: builtin/describe.c:552 builtin/describe.c:555
+#: builtin/describe.c:568 builtin/describe.c:571
 msgid "mark"
-msgstr "Kennzeichen"
+msgstr "Markierung"
 
-#: builtin/describe.c:553
+#: builtin/describe.c:569
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr ""
-"<Kennzeichen> bei geändertem Arbeitsverzeichnis anhängen (Standard: \"-dirty"
+"<Markierung> bei geändertem Arbeitsverzeichnis anhängen (Standard: \"-dirty"
 "\")"
 
-#: builtin/describe.c:556
+#: builtin/describe.c:572
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr ""
-"<Kennzeichen> bei defektem Arbeitsverzeichnis anhängen (Standard: \"-broken"
-"\")"
+"<Markierung> bei defektem Arbeitsverzeichnis anhängen (Standard: \"-broken\")"
 
-#: builtin/describe.c:574
+#: builtin/describe.c:590
 msgid "--long is incompatible with --abbrev=0"
 msgstr "Die Optionen --long und --abbrev=0 sind inkompatibel."
 
-#: builtin/describe.c:603
+#: builtin/describe.c:619
 msgid "No names found, cannot describe anything."
 msgstr "Keine Namen gefunden, kann nichts beschreiben."
 
-#: builtin/describe.c:654
+#: builtin/describe.c:670
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "Die Option --dirty kann nicht mit Commits verwendet werden."
 
-#: builtin/describe.c:656
+#: builtin/describe.c:672
 msgid "--broken is incompatible with commit-ishes"
 msgstr "Die Option --broken kann nicht mit Commits verwendet werden."
 
@@ -12705,27 +13714,27 @@ msgstr "unbehandeltes Objekt '%s' angegeben"
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<Optionen>] [<Commit> [<Commit>]] [--] [<Pfad>...]"
 
-#: builtin/difftool.c:253
+#: builtin/difftool.c:260
 #, c-format
 msgid "failed: %d"
 msgstr "fehlgeschlagen: %d"
 
-#: builtin/difftool.c:295
+#: builtin/difftool.c:302
 #, c-format
 msgid "could not read symlink %s"
 msgstr "konnte symbolische Verknüpfung %s nicht lesen"
 
-#: builtin/difftool.c:297
+#: builtin/difftool.c:304
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "Konnte Datei von symbolischer Verknüpfung '%s' nicht lesen."
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:312
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "Konnte Objekt '%s' für symbolische Verknüpfung '%s' nicht lesen."
 
-#: 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')."
@@ -12733,54 +13742,54 @@ msgstr ""
 "Kombinierte Diff-Formate('-c' und '--cc') werden im Verzeichnis-\n"
 "Diff-Modus('-d' und '--dir-diff') nicht unterstützt."
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:634
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "beide Dateien geändert: '%s' und '%s'."
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:636
 msgid "working tree file has been left."
 msgstr "Datei im Arbeitsverzeichnis belassen."
 
-#: builtin/difftool.c:639
+#: builtin/difftool.c:647
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "Es existieren temporäre Dateien in '%s'."
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:648
 msgid "you may want to cleanup or recover these."
 msgstr "Sie könnten diese aufräumen oder wiederherstellen."
 
-#: builtin/difftool.c:689
+#: builtin/difftool.c:697
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "`diff.guitool` anstatt `diff.tool` benutzen"
 
-#: builtin/difftool.c:691
+#: builtin/difftool.c:699
 msgid "perform a full-directory diff"
 msgstr "Diff über ganzes Verzeichnis ausführen"
 
-#: builtin/difftool.c:693
+#: builtin/difftool.c:701
 msgid "do not prompt before launching a diff tool"
 msgstr "keine Eingabeaufforderung vor Ausführung eines Diff-Tools"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:706
 msgid "use symlinks in dir-diff mode"
 msgstr "symbolische Verknüpfungen im dir-diff Modus verwenden"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:707
 msgid "tool"
 msgstr "Tool"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:708
 msgid "use the specified diff tool"
 msgstr "das angegebene Diff-Tool benutzen"
 
-#: builtin/difftool.c:702
+#: builtin/difftool.c:710
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr ""
 "eine Liste mit Diff-Tools darstellen, die mit `--tool` benutzt werden können"
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:713
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -12789,31 +13798,31 @@ msgstr ""
 "Rückkehrwert\n"
 "verschieden 0 ausgeführt wurde"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:716
 msgid "specify a custom command for viewing diffs"
 msgstr "eigenen Befehl zur Anzeige von Unterschieden angeben"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:717
 msgid "passed to `diff`"
 msgstr "an 'diff' übergeben"
 
-#: builtin/difftool.c:724
+#: builtin/difftool.c:732
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool benötigt Arbeitsverzeichnis oder --no-index"
 
-#: builtin/difftool.c:731
+#: builtin/difftool.c:739
 msgid "--dir-diff is incompatible with --no-index"
 msgstr "--dir-diff kann nicht mit --no-index verwendet werden"
 
-#: builtin/difftool.c:734
+#: builtin/difftool.c:742
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr "--gui, --tool und --extcmd schließen sich gegenseitig aus"
 
-#: builtin/difftool.c:742
+#: builtin/difftool.c:750
 msgid "no <tool> given for --tool=<tool>"
 msgstr "kein <Tool> für --tool=<Tool> angegeben"
 
-#: builtin/difftool.c:749
+#: builtin/difftool.c:757
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "kein <Programm> für --extcmd=<Programm> angegeben"
 
@@ -12853,166 +13862,194 @@ msgstr ""
 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 ""
+"Fehler: Verschachtelte Tags können nicht exportiert werden, außer --mark-"
+"tags wurde angegeben."
+
+#: builtin/fast-export.c:1152
 msgid "show progress after <n> objects"
 msgstr "Fortschritt nach <n> Objekten anzeigen"
 
-#: builtin/fast-export.c:1126
+#: builtin/fast-export.c:1154
 msgid "select handling of signed tags"
 msgstr "Behandlung von signierten Tags wählen"
 
-#: builtin/fast-export.c:1129
+#: builtin/fast-export.c:1157
 msgid "select handling of tags that tag filtered objects"
 msgstr "Behandlung von Tags wählen, die gefilterte Objekte markieren"
 
-#: builtin/fast-export.c:1132
+#: builtin/fast-export.c:1160
 msgid "select handling of commit messages in an alternate encoding"
 msgstr ""
 "Auswählen der Behandlung von Commit-Beschreibungen bei wechselndem Encoding"
 
-#: builtin/fast-export.c:1135
+#: builtin/fast-export.c:1163
 msgid "Dump marks to this file"
-msgstr "Kennzeichen in diese Datei schreiben"
+msgstr "Markierungen in diese Datei schreiben"
 
-#: builtin/fast-export.c:1137
+#: builtin/fast-export.c:1165
 msgid "Import marks from this file"
-msgstr "Kennzeichen von dieser Datei importieren"
+msgstr "Markierungen von dieser Datei importieren"
 
-#: builtin/fast-export.c:1139
+#: builtin/fast-export.c:1169
+msgid "Import marks from this file if it exists"
+msgstr "Markierungen von dieser Datei importieren, wenn diese existiert"
+
+#: builtin/fast-export.c:1171
 msgid "Fake a tagger when tags lack one"
 msgstr "künstlich einen Tag-Ersteller erzeugen, wenn das Tag keinen hat"
 
-#: builtin/fast-export.c:1141
+#: builtin/fast-export.c:1173
 msgid "Output full tree for each commit"
 msgstr "für jeden Commit das gesamte Verzeichnis ausgeben"
 
-#: builtin/fast-export.c:1143
+#: builtin/fast-export.c:1175
 msgid "Use the done feature to terminate the stream"
 msgstr "die \"done\"-Funktion benutzen, um den Datenstrom abzuschließen"
 
-#: builtin/fast-export.c:1144
+#: builtin/fast-export.c:1176
 msgid "Skip output of blob data"
 msgstr "Ausgabe von Blob-Daten überspringen"
 
-#: builtin/fast-export.c:1145 builtin/log.c:1632
+#: builtin/fast-export.c:1177 builtin/log.c:1705
 msgid "refspec"
 msgstr "Refspec"
 
-#: builtin/fast-export.c:1146
+#: builtin/fast-export.c:1178
 msgid "Apply refspec to exported refs"
 msgstr "Refspec auf exportierte Referenzen anwenden"
 
-#: builtin/fast-export.c:1147
+#: builtin/fast-export.c:1179
 msgid "anonymize output"
 msgstr "Ausgabe anonymisieren"
 
-#: builtin/fast-export.c:1149
+#: builtin/fast-export.c:1181
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 "Eltern, die nicht im Fast-Export-Stream sind, anhand ihrer Objekt-ID "
 "referenzieren"
 
-#: builtin/fast-export.c:1151
+#: builtin/fast-export.c:1183
 msgid "Show original object ids of blobs/commits"
 msgstr "originale Objekt-IDs von Blobs/Commits anzeigen"
 
-#: builtin/fetch.c:30
+#: builtin/fast-export.c:1185
+msgid "Label tags with mark ids"
+msgstr "Tags mit Markierungs-IDs beschriften"
+
+#: builtin/fast-export.c:1220
+msgid "Cannot pass both --import-marks and --import-marks-if-exists"
+msgstr ""
+"--import-marks und --import-marks-if-exists können nicht zusammen "
+"weitergegeben werden"
+
+#: builtin/fetch.c:34
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<Optionen>] [<Repository> [<Refspec>...]]"
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:35
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<Optionen>] <Gruppe>"
 
-#: builtin/fetch.c:32
+#: builtin/fetch.c:36
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<Optionen>] [(<Repository> | <Gruppe>)...]"
 
-#: builtin/fetch.c:33
+#: builtin/fetch.c:37
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<Optionen>]"
 
-#: builtin/fetch.c:125 builtin/pull.c:203
+#: builtin/fetch.c:116
+msgid "fetch.parallel cannot be negative"
+msgstr "fetch.parallel kann nicht negativ sein"
+
+#: builtin/fetch.c:139 builtin/pull.c:184
 msgid "fetch from all remotes"
 msgstr "fordert von allen Remote-Repositories an"
 
-#: builtin/fetch.c:127 builtin/pull.c:206
+#: builtin/fetch.c:141 builtin/pull.c:228
+msgid "set upstream for git pull/fetch"
+msgstr "Upstream für \"git pull/fetch\" setzen"
+
+#: builtin/fetch.c:143 builtin/pull.c:187
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "an .git/FETCH_HEAD anhängen, anstatt zu überschreiben"
 
-#: 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 "Pfad des Programms zum Hochladen von Paketen auf der Gegenseite"
 
-#: builtin/fetch.c:130
+#: builtin/fetch.c:146
 msgid "force overwrite of local reference"
 msgstr "das Überschreiben einer lokalen Referenz erzwingen"
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:148
 msgid "fetch from multiple remotes"
 msgstr "von mehreren Remote-Repositories anfordern"
 
-#: builtin/fetch.c:134 builtin/pull.c:213
+#: builtin/fetch.c:150 builtin/pull.c:194
 msgid "fetch all tags and associated objects"
 msgstr "alle Tags und verbundene Objekte anfordern"
 
-#: builtin/fetch.c:136
+#: builtin/fetch.c:152
 msgid "do not fetch all tags (--no-tags)"
 msgstr "nicht alle Tags anfordern (--no-tags)"
 
-#: builtin/fetch.c:138
+#: builtin/fetch.c:154
 msgid "number of submodules fetched in parallel"
 msgstr "Anzahl der parallel anzufordernden Submodule"
 
-#: 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 ""
 "Remote-Tracking-Branches entfernen, die sich nicht mehr im Remote-Repository "
 "befinden"
 
-#: builtin/fetch.c:142
+#: builtin/fetch.c:158
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 "lokale Tags entfernen, die sich nicht mehr im Remote-Repository befinden, "
 "und geänderte Tags aktualisieren"
 
-#: 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 "bei-Bedarf"
 
-#: builtin/fetch.c:144
+#: builtin/fetch.c:160
 msgid "control recursive fetching of submodules"
 msgstr "rekursive Anforderungen von Submodulen kontrollieren"
 
-#: builtin/fetch.c:148 builtin/pull.c:224
+#: builtin/fetch.c:164 builtin/pull.c:205
 msgid "keep downloaded pack"
 msgstr "heruntergeladenes Paket behalten"
 
-#: builtin/fetch.c:150
+#: builtin/fetch.c:166
 msgid "allow updating of HEAD ref"
 msgstr "Aktualisierung der \"HEAD\"-Referenz erlauben"
 
-#: 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 ""
 "die Historie eines Klons mit unvollständiger Historie (shallow) vertiefen"
 
-#: builtin/fetch.c:155
+#: builtin/fetch.c:171
 msgid "deepen history of shallow repository based on time"
 msgstr ""
 "die Historie eines Klons mit unvollständiger Historie (shallow) auf "
 "Zeitbasis\n"
 "vertiefen"
 
-#: builtin/fetch.c:161 builtin/pull.c:230
+#: builtin/fetch.c:177 builtin/pull.c:211
 msgid "convert to a complete repository"
 msgstr "zu einem vollständigen Repository konvertieren"
 
-#: builtin/fetch.c:164
+#: builtin/fetch.c:180
 msgid "prepend this to submodule path output"
 msgstr "dies an die Ausgabe der Submodul-Pfade voranstellen"
 
-#: builtin/fetch.c:167
+#: builtin/fetch.c:183
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -13020,92 +14057,96 @@ msgstr ""
 "Standard für die rekursive Anforderung von Submodulen (geringere Priorität\n"
 "als Konfigurationsdateien)"
 
-#: builtin/fetch.c:171 builtin/pull.c:233
+#: builtin/fetch.c:187 builtin/pull.c:214
 msgid "accept refs that update .git/shallow"
 msgstr "Referenzen, die .git/shallow aktualisieren, akzeptieren"
 
-#: builtin/fetch.c:172 builtin/pull.c:235
+#: builtin/fetch.c:188 builtin/pull.c:216
 msgid "refmap"
 msgstr "Refmap"
 
-#: builtin/fetch.c:173 builtin/pull.c:236
+#: builtin/fetch.c:189 builtin/pull.c:217
 msgid "specify fetch refmap"
 msgstr "Refmap für 'fetch' angeben"
 
-#: builtin/fetch.c:180
+#: builtin/fetch.c:196
 msgid "report that we have only objects reachable from this object"
 msgstr ""
 "ausgeben, dass wir nur Objekte haben, die von diesem Objekt aus erreichbar "
 "sind"
 
-#: builtin/fetch.c:183
+#: builtin/fetch.c:199
 msgid "run 'gc --auto' after fetching"
 msgstr "Führe 'gc --auto' nach \"fetch\" aus"
 
-#: 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 "Prüfe auf erzwungene Aktualisierungen in allen aktualisierten Branches"
 
-#: builtin/fetch.c:491
+#: builtin/fetch.c:203
+msgid "write the commit-graph after fetching"
+msgstr "Schreibe den Commit-Graph nach \"fetch\""
+
+#: builtin/fetch.c:513
 msgid "Couldn't find remote ref HEAD"
 msgstr "Konnte Remote-Referenz von HEAD nicht finden."
 
-#: builtin/fetch.c:630
+#: builtin/fetch.c:653
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr "Konfiguration fetch.output enthält ungültigen Wert %s"
 
-#: builtin/fetch.c:728
+#: builtin/fetch.c:751
 #, c-format
 msgid "object %s not found"
 msgstr "Objekt %s nicht gefunden"
 
-#: builtin/fetch.c:732
+#: builtin/fetch.c:755
 msgid "[up to date]"
 msgstr "[aktuell]"
 
-#: 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 "[zurückgewiesen]"
 
-#: builtin/fetch.c:746
+#: builtin/fetch.c:769
 msgid "can't fetch in current branch"
 msgstr "kann \"fetch\" im aktuellen Branch nicht ausführen"
 
-#: builtin/fetch.c:756
+#: builtin/fetch.c:779
 msgid "[tag update]"
 msgstr "[Tag Aktualisierung]"
 
-#: 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 "kann lokale Referenz nicht aktualisieren"
 
-#: builtin/fetch.c:761
+#: builtin/fetch.c:784
 msgid "would clobber existing tag"
 msgstr "würde bestehende Tags verändern"
 
-#: builtin/fetch.c:783
+#: builtin/fetch.c:806
 msgid "[new tag]"
 msgstr "[neues Tag]"
 
-#: builtin/fetch.c:786
+#: builtin/fetch.c:809
 msgid "[new branch]"
 msgstr "[neuer Branch]"
 
-#: builtin/fetch.c:789
+#: builtin/fetch.c:812
 msgid "[new ref]"
 msgstr "[neue Referenz]"
 
-#: builtin/fetch.c:828
+#: builtin/fetch.c:851
 msgid "forced update"
 msgstr "Aktualisierung erzwungen"
 
-#: builtin/fetch.c:833
+#: builtin/fetch.c:856
 msgid "non-fast-forward"
 msgstr "kein Vorspulen"
 
-#: 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"
@@ -13116,7 +14157,7 @@ msgstr ""
 "aktivieren, nutzen Sie die Option '--show-forced-updated' oder führen\n"
 "Sie 'git config fetch.showForcedUpdates true' aus."
 
-#: builtin/fetch.c:858
+#: builtin/fetch.c:881
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -13129,12 +14170,12 @@ msgstr ""
 "'git config fetch.showForcedUpdates false' ausführen, um diese Überprüfung\n"
 "zu umgehen.\n"
 
-#: builtin/fetch.c:888
+#: builtin/fetch.c:920
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s hat nicht alle erforderlichen Objekte gesendet\n"
 
-#: builtin/fetch.c:909
+#: builtin/fetch.c:941
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
@@ -13142,12 +14183,12 @@ msgstr ""
 "unvollständiger\n"
 "Historie (shallow) nicht aktualisiert werden dürfen."
 
-#: builtin/fetch.c:1000 builtin/fetch.c:1131
+#: builtin/fetch.c:1026 builtin/fetch.c:1164
 #, c-format
 msgid "From %.*s\n"
 msgstr "Von %.*s\n"
 
-#: builtin/fetch.c:1011
+#: builtin/fetch.c:1037
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -13156,60 +14197,81 @@ msgstr ""
 "Einige lokale Referenzen konnten nicht aktualisiert werden; versuchen Sie\n"
 "'git remote prune %s', um jeden älteren, widersprüchlichen Branch zu löschen."
 
-#: builtin/fetch.c:1101
+#: builtin/fetch.c:1134
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s wird unreferenziert)"
 
-#: builtin/fetch.c:1102
+#: builtin/fetch.c:1135
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s wurde unreferenziert)"
 
-#: builtin/fetch.c:1134
+#: builtin/fetch.c:1167
 msgid "[deleted]"
 msgstr "[gelöscht]"
 
-#: builtin/fetch.c:1135 builtin/remote.c:1036
+#: builtin/fetch.c:1168 builtin/remote.c:1112
 msgid "(none)"
 msgstr "(nichts)"
 
-#: builtin/fetch.c:1158
+#: builtin/fetch.c:1191
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr ""
 "Der \"fetch\" in den aktuellen Branch %s von einem Nicht-Bare-Repository "
 "wurde verweigert."
 
-#: builtin/fetch.c:1177
+#: builtin/fetch.c:1210
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "Option \"%s\" Wert \"%s\" ist nicht gültig für %s"
 
-#: builtin/fetch.c:1180
+#: builtin/fetch.c:1213
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "Option \"%s\" wird ignoriert für %s\n"
 
-#: builtin/fetch.c:1484
+#: builtin/fetch.c:1421
+msgid "multiple branches detected, incompatible with --set-upstream"
+msgstr "Mehrere Branches erkannt, inkompatibel mit --set-upstream"
+
+#: builtin/fetch.c:1436
+msgid "not setting upstream for a remote remote-tracking branch"
+msgstr "Setze keinen Upstream für einen entfernten Remote-Tracking-Branch."
+
+#: builtin/fetch.c:1438
+msgid "not setting upstream for a remote tag"
+msgstr "Setze keinen Upstream für einen Tag eines Remote-Repositories."
+
+#: builtin/fetch.c:1440
+msgid "unknown branch type"
+msgstr "Unbekannter Branch-Typ"
+
+#: builtin/fetch.c:1442
+msgid ""
+"no source branch found.\n"
+"you need to specify exactly one branch with the --set-upstream option."
+msgstr ""
+"Keinen Quell-Branch gefunden.\n"
+"Sie müssen bei der Option --set-upstream genau einen Branch angeben."
+
+#: builtin/fetch.c:1568 builtin/fetch.c:1631
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Fordere an von %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 "Konnte nicht von %s anfordern"
 
-#: builtin/fetch.c:1532
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialClone"
-msgstr ""
-"--filter kann nur mit den Remote-Repositories verwendet werden,\n"
-"die in core.partialClone konfiguriert sind."
+#: builtin/fetch.c:1590
+#, c-format
+msgid "could not fetch '%s' (exit code: %d)\n"
+msgstr "Konnte '%s' nicht anfordern (Exit-Code: %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."
@@ -13218,49 +14280,49 @@ msgstr ""
 "oder den Namen des Remote-Repositories an, von welchem neue\n"
 "Commits angefordert werden sollen."
 
-#: builtin/fetch.c:1593
+#: builtin/fetch.c:1730
 msgid "You need to specify a tag name."
 msgstr "Sie müssen den Namen des Tags angeben."
 
-#: builtin/fetch.c:1644
+#: builtin/fetch.c:1780
 msgid "Negative depth in --deepen is not supported"
 msgstr "Negative Tiefe wird von --deepen nicht unterstützt."
 
-#: builtin/fetch.c:1646
+#: builtin/fetch.c:1782
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen und --depth schließen sich gegenseitig aus"
 
-#: builtin/fetch.c:1651
+#: builtin/fetch.c:1787
 msgid "--depth and --unshallow cannot be used together"
 msgstr ""
 "Die Optionen --depth und --unshallow können nicht gemeinsam verwendet werden."
 
-#: builtin/fetch.c:1653
+#: builtin/fetch.c:1789
 msgid "--unshallow on a complete repository does not make sense"
 msgstr ""
 "Die Option --unshallow kann nicht in einem Repository mit vollständiger "
 "Historie verwendet werden."
 
-#: builtin/fetch.c:1669
+#: builtin/fetch.c:1805
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all akzeptiert kein Repository als Argument"
 
-#: builtin/fetch.c:1671
+#: builtin/fetch.c:1807
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all kann nicht mit Refspecs verwendet werden."
 
-#: builtin/fetch.c:1680
+#: builtin/fetch.c:1816
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "Kein Remote-Repository (einzeln oder Gruppe): %s"
 
-#: builtin/fetch.c:1687
+#: builtin/fetch.c:1823
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 "Das Abholen einer Gruppe von Remote-Repositories kann nicht mit der Angabe\n"
 "von Refspecs verwendet werden."
 
-#: builtin/fetch.c:1703
+#: builtin/fetch.c:1841
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -13275,23 +14337,23 @@ msgstr ""
 "git fmt-merge-msg [-m <Beschreibung>] [--log[=<n>] | --no-log] [--file "
 "<Datei>]"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:671
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "Historie mit höchstens <n> Einträgen von \"shortlog\" hinzufügen"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:674
 msgid "alias for --log (deprecated)"
 msgstr "Alias für --log (veraltet)"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:677
 msgid "text"
 msgstr "Text"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:678
 msgid "use <text> as start of message"
 msgstr "<Text> als Beschreibungsanfang verwenden"
 
-#: builtin/fmt-merge-msg.c:680
+#: builtin/fmt-merge-msg.c:679
 msgid "file to read from"
 msgstr "Datei zum Einlesen"
 
@@ -13355,32 +14417,32 @@ msgstr "nur Referenzen ausgeben, die diesen Commit enthalten"
 msgid "print only refs which don't contain the commit"
 msgstr "nur Referenzen ausgeben, die diesen Commit nicht enthalten"
 
-#: 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 "unbekannt"
 
 #. TRANSLATORS: e.g. error in tree 01bfda: <more explanation>
-#: 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 "Fehler in %s %s: %s"
 
 #. TRANSLATORS: e.g. warning in tree 01bfda: <more explanation>
-#: builtin/fsck.c:131
+#: builtin/fsck.c:114
 #, c-format
 msgid "warning in %s %s: %s"
 msgstr "Warnung in %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 "Fehlerhafte Verknüpfung von %7s %s"
 
-#: builtin/fsck.c:168
+#: builtin/fsck.c:155
 msgid "wrong object type in link"
 msgstr "Falscher Objekttyp in Verknüpfung."
 
-#: builtin/fsck.c:184
+#: builtin/fsck.c:171
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -13389,216 +14451,216 @@ msgstr ""
 "Fehlerhafte Verknüpfung von %7s %s\n"
 "                       nach %7s %s"
 
-#: builtin/fsck.c:295
+#: builtin/fsck.c:282
 #, c-format
 msgid "missing %s %s"
 msgstr "%s %s fehlt"
 
-#: builtin/fsck.c:321
+#: builtin/fsck.c:309
 #, c-format
 msgid "unreachable %s %s"
 msgstr "%s %s nicht erreichbar"
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:329
 #, c-format
 msgid "dangling %s %s"
 msgstr "%s %s unreferenziert"
 
-#: builtin/fsck.c:349
+#: builtin/fsck.c:339
 msgid "could not create lost-found"
 msgstr "Konnte lost-found nicht erstellen."
 
-#: builtin/fsck.c:360
+#: builtin/fsck.c:350
 #, c-format
 msgid "could not finish '%s'"
 msgstr "Konnte '%s' nicht abschließen."
 
-#: builtin/fsck.c:377
+#: builtin/fsck.c:367
 #, c-format
 msgid "Checking %s"
 msgstr "Prüfe %s"
 
-#: builtin/fsck.c:415
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Prüfe Konnektivität (%d Objekte)"
 
-#: builtin/fsck.c:434
+#: builtin/fsck.c:424
 #, c-format
 msgid "Checking %s %s"
 msgstr "Prüfe %s %s"
 
-#: builtin/fsck.c:438
+#: builtin/fsck.c:429
 msgid "broken links"
 msgstr "Fehlerhafte Verknüpfungen"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:438
 #, c-format
 msgid "root %s"
 msgstr "Wurzel %s"
 
-#: builtin/fsck.c:455
+#: builtin/fsck.c:446
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "%s %s (%s) in %s getaggt"
 
-#: builtin/fsck.c:484
+#: builtin/fsck.c:475
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s: Objekt fehlerhaft oder nicht vorhanden"
 
-#: builtin/fsck.c:509
+#: builtin/fsck.c:500
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s: Ungültiger Reflog-Eintrag %s"
 
-#: builtin/fsck.c:523
+#: builtin/fsck.c:514
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "Prüfe Reflog %s->%s"
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:548
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s: Ungültiger SHA1-Zeiger %s"
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:555
 #, c-format
 msgid "%s: not a commit"
 msgstr "%s: kein Commit"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:609
 msgid "notice: No default references"
 msgstr "Notiz: Keine Standardreferenzen"
 
-#: builtin/fsck.c:634
+#: builtin/fsck.c:624
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s: Objekt fehlerhaft oder nicht vorhanden: %s"
 
-#: builtin/fsck.c:647
+#: builtin/fsck.c:637
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s: Objekt konnte nicht geparst werden: %s"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:657
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "Ungültige SHA1-Datei: %s"
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:672
 msgid "Checking object directory"
 msgstr "Prüfe Objekt-Verzeichnis"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:675
 msgid "Checking object directories"
 msgstr "Prüfe Objekt-Verzeichnisse"
 
-#: builtin/fsck.c:700
+#: builtin/fsck.c:690
 #, c-format
 msgid "Checking %s link"
 msgstr "Prüfe %s Verknüpfung"
 
-#: builtin/fsck.c:705 builtin/index-pack.c:842
+#: builtin/fsck.c:695 builtin/index-pack.c:843
 #, c-format
 msgid "invalid %s"
 msgstr "Ungültiger Objekt-Typ %s"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:702
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s zeigt auf etwas seltsames (%s)"
 
-#: builtin/fsck.c:718
+#: builtin/fsck.c:708
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s: losgelöster HEAD zeigt auf nichts"
 
-#: builtin/fsck.c:722
+#: builtin/fsck.c:712
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "Notiz: %s zeigt auf einen ungeborenen Branch (%s)"
 
-#: builtin/fsck.c:734
+#: builtin/fsck.c:724
 msgid "Checking cache tree"
 msgstr "Prüfe Cache-Verzeichnis"
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:729
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s: Ungültiger SHA1-Zeiger in Cache-Verzeichnis"
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:738
 msgid "non-tree in cache-tree"
 msgstr "non-tree in Cache-Verzeichnis"
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:769
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<Optionen>] [<Objekt>...]"
 
-#: builtin/fsck.c:787
+#: builtin/fsck.c:775
 msgid "show unreachable objects"
 msgstr "unerreichbare Objekte anzeigen"
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:776
 msgid "show dangling objects"
 msgstr "unreferenzierte Objekte anzeigen"
 
-#: builtin/fsck.c:789
+#: builtin/fsck.c:777
 msgid "report tags"
 msgstr "Tags melden"
 
-#: builtin/fsck.c:790
+#: builtin/fsck.c:778
 msgid "report root nodes"
 msgstr "Hauptwurzeln melden"
 
-#: builtin/fsck.c:791
+#: builtin/fsck.c:779
 msgid "make index objects head nodes"
 msgstr "Index-Objekte in Erreichbarkeitsprüfung einbeziehen"
 
-#: builtin/fsck.c:792
+#: builtin/fsck.c:780
 msgid "make reflogs head nodes (default)"
 msgstr "Reflogs in Erreichbarkeitsprüfung einbeziehen (Standard)"
 
-#: builtin/fsck.c:793
+#: builtin/fsck.c:781
 msgid "also consider packs and alternate objects"
 msgstr "ebenso Pakete und alternative Objekte betrachten"
 
-#: builtin/fsck.c:794
+#: builtin/fsck.c:782
 msgid "check only connectivity"
 msgstr "nur Konnektivität prüfen"
 
-#: builtin/fsck.c:795
+#: builtin/fsck.c:783
 msgid "enable more strict checking"
 msgstr "genauere Prüfung aktivieren"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:785
 msgid "write dangling objects in .git/lost-found"
 msgstr "unreferenzierte Objekte nach .git/lost-found schreiben"
 
-#: builtin/fsck.c:798 builtin/prune.c:132
+#: builtin/fsck.c:786 builtin/prune.c:132
 msgid "show progress"
 msgstr "Fortschrittsanzeige anzeigen"
 
-#: builtin/fsck.c:799
+#: builtin/fsck.c:787
 msgid "show verbose names for reachable objects"
 msgstr "ausführliche Namen für erreichbare Objekte anzeigen"
 
-#: builtin/fsck.c:859 builtin/index-pack.c:225
+#: builtin/fsck.c:846 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr "Prüfe Objekte"
 
-#: builtin/fsck.c:887
+#: builtin/fsck.c:874
 #, c-format
 msgid "%s: object missing"
 msgstr "%s: Objekt nicht vorhanden"
 
-#: builtin/fsck.c:899
+#: builtin/fsck.c:885
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "Ungültiger Parameter: SHA-1 erwartet, '%s' bekommen"
 
-#: builtin/gc.c:34
+#: builtin/gc.c:35
 msgid "git gc [<options>]"
 msgstr "git gc [<Optionen>]"
 
@@ -13612,17 +14674,17 @@ msgstr "Konnte '%s' nicht lesen: %s"
 msgid "failed to parse '%s' value '%s'"
 msgstr "Fehler beim Parsen von '%s' mit dem Wert '%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 "Kann '%s' nicht lesen"
 
-#: 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 "kann '%s' nicht lesen"
 
-#: builtin/gc.c:492
+#: builtin/gc.c:491
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -13638,58 +14700,58 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:540
+#: builtin/gc.c:539
 msgid "prune unreferenced objects"
 msgstr "unreferenzierte Objekte entfernen"
 
-#: builtin/gc.c:542
+#: builtin/gc.c:541
 msgid "be more thorough (increased runtime)"
 msgstr "mehr Gründlichkeit (erhöht Laufzeit)"
 
-#: builtin/gc.c:543
+#: builtin/gc.c:542
 msgid "enable auto-gc mode"
 msgstr "\"auto-gc\" Modus aktivieren"
 
-#: builtin/gc.c:546
+#: builtin/gc.c:545
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 "Ausführung von \"git gc\" erzwingen, selbst wenn ein anderes\n"
 "\"git gc\" bereits ausgeführt wird"
 
-#: builtin/gc.c:549
+#: builtin/gc.c:548
 msgid "repack all other packs except the largest pack"
 msgstr "alle anderen Pakete, außer das größte Paket, neu packen"
 
-#: builtin/gc.c:566
+#: builtin/gc.c:565
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "Fehler beim Parsen des Wertes '%s' von gc.logexpiry."
 
-#: builtin/gc.c:577
+#: builtin/gc.c:576
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "Fehler beim Parsen des \"prune expiry\" Wertes %s"
 
-#: builtin/gc.c:597
+#: builtin/gc.c:596
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Die Datenbank des Repositories wird für eine optimale Performance im\n"
 "Hintergrund komprimiert.\n"
 
-#: builtin/gc.c:599
+#: builtin/gc.c:598
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr ""
 "Die Datenbank des Projektarchivs wird für eine optimale Performance "
 "komprimiert.\n"
 
-#: builtin/gc.c:600
+#: builtin/gc.c:599
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Siehe \"git help gc\" für manuelles Aufräumen.\n"
 
-#: builtin/gc.c:640
+#: builtin/gc.c:639
 #, c-format
 msgid ""
 "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
@@ -13697,14 +14759,14 @@ msgstr ""
 "\"git gc\" wird bereits auf Maschine '%s' pid %<PRIuMAX> ausgeführt\n"
 "(benutzen Sie --force falls nicht)"
 
-#: builtin/gc.c:695
+#: builtin/gc.c:694
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Es gibt zu viele unerreichbare lose Objekte; führen Sie 'git prune' aus, um "
 "diese zu löschen."
 
-#: builtin/grep.c:29
+#: builtin/grep.c:30
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<Optionen>] [-e] <Muster> [<Commit>...] [[--] <Pfad>...]"
 
@@ -13722,266 +14784,266 @@ msgstr "ungültige Anzahl von Threads (%d) für %s angegeben"
 #. 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 "keine Unterstützung von Threads, '%s' wird ignoriert"
 
-#: 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 "konnte \"Tree\"-Objekt (%s) nicht lesen"
 
-#: builtin/grep.c:648
+#: builtin/grep.c:633
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "kann \"grep\" nicht mit Objekten des Typs %s durchführen"
 
-#: builtin/grep.c:714
+#: builtin/grep.c:704
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "Schalter '%c' erwartet einen numerischen Wert"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:803
 msgid "search in index instead of in the work tree"
 msgstr "im Index anstatt im Arbeitsverzeichnis suchen"
 
-#: builtin/grep.c:815
+#: builtin/grep.c:805
 msgid "find in contents not managed by git"
 msgstr "auch in Inhalten finden, die nicht von Git verwaltet werden"
 
-#: builtin/grep.c:817
+#: builtin/grep.c:807
 msgid "search in both tracked and untracked files"
 msgstr "in versionierten und unversionierten Dateien suchen"
 
-#: builtin/grep.c:819
+#: builtin/grep.c:809
 msgid "ignore files specified via '.gitignore'"
 msgstr "Dateien, die über '.gitignore' angegeben sind, ignorieren"
 
-#: builtin/grep.c:821
+#: builtin/grep.c:811
 msgid "recursively search in each submodule"
 msgstr "rekursive Suche in jedem Submodul"
 
-#: builtin/grep.c:824
+#: builtin/grep.c:814
 msgid "show non-matching lines"
 msgstr "Zeilen ohne Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:826
+#: builtin/grep.c:816
 msgid "case insensitive matching"
 msgstr "Übereinstimmungen unabhängig von Groß- und Kleinschreibung finden"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:818
 msgid "match patterns only at word boundaries"
 msgstr "nur ganze Wörter suchen"
 
-#: builtin/grep.c:830
+#: builtin/grep.c:820
 msgid "process binary files as text"
 msgstr "binäre Dateien als Text verarbeiten"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:822
 msgid "don't match patterns in binary files"
 msgstr "keine Muster in Binärdateien finden"
 
-#: builtin/grep.c:835
+#: builtin/grep.c:825
 msgid "process binary files with textconv filters"
 msgstr "binäre Dateien mit \"textconv\"-Filtern verarbeiten"
 
-#: builtin/grep.c:837
+#: builtin/grep.c:827
 msgid "search in subdirectories (default)"
 msgstr "in Unterverzeichnissen suchen (Standard)"
 
-#: builtin/grep.c:839
+#: builtin/grep.c:829
 msgid "descend at most <depth> levels"
 msgstr "höchstens <Tiefe> Ebenen durchlaufen"
 
-#: builtin/grep.c:843
+#: builtin/grep.c:833
 msgid "use extended POSIX regular expressions"
 msgstr "erweiterte reguläre Ausdrücke aus POSIX verwenden"
 
-#: builtin/grep.c:846
+#: builtin/grep.c:836
 msgid "use basic POSIX regular expressions (default)"
 msgstr "grundlegende reguläre Ausdrücke aus POSIX verwenden (Standard)"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:839
 msgid "interpret patterns as fixed strings"
 msgstr "Muster als feste Zeichenketten interpretieren"
 
-#: builtin/grep.c:852
+#: builtin/grep.c:842
 msgid "use Perl-compatible regular expressions"
 msgstr "Perl-kompatible reguläre Ausdrücke verwenden"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:845
 msgid "show line numbers"
 msgstr "Zeilennummern anzeigen"
 
-#: builtin/grep.c:856
+#: builtin/grep.c:846
 msgid "show column number of first match"
 msgstr "Nummer der Spalte des ersten Treffers anzeigen"
 
-#: builtin/grep.c:857
+#: builtin/grep.c:847
 msgid "don't show filenames"
 msgstr "keine Dateinamen anzeigen"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:848
 msgid "show filenames"
 msgstr "Dateinamen anzeigen"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:850
 msgid "show filenames relative to top directory"
 msgstr "Dateinamen relativ zum Projektverzeichnis anzeigen"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:852
 msgid "show only filenames instead of matching lines"
 msgstr "nur Dateinamen anzeigen anstatt übereinstimmende Zeilen"
 
-#: builtin/grep.c:864
+#: builtin/grep.c:854
 msgid "synonym for --files-with-matches"
 msgstr "Synonym für --files-with-matches"
 
-#: builtin/grep.c:867
+#: builtin/grep.c:857
 msgid "show only the names of files without match"
 msgstr "nur die Dateinamen ohne Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:859
 msgid "print NUL after filenames"
 msgstr "NUL-Zeichen nach Dateinamen ausgeben"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:862
 msgid "show only matching parts of a line"
 msgstr "nur übereinstimmende Teile der Zeile anzeigen"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:864
 msgid "show the number of matches instead of matching lines"
 msgstr "anstatt der Zeilen, die Anzahl der übereinstimmenden Zeilen anzeigen"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:865
 msgid "highlight matches"
 msgstr "Übereinstimmungen hervorheben"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:867
 msgid "print empty line between matches from different files"
 msgstr ""
 "eine Leerzeile zwischen Übereinstimmungen in verschiedenen Dateien ausgeben"
 
-#: builtin/grep.c:879
+#: builtin/grep.c:869
 msgid "show filename only once above matches from same file"
 msgstr ""
 "den Dateinamen nur einmal oberhalb der Übereinstimmungen aus dieser Datei "
 "anzeigen"
 
-#: builtin/grep.c:882
+#: builtin/grep.c:872
 msgid "show <n> context lines before and after matches"
 msgstr "<n> Zeilen vor und nach den Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:875
 msgid "show <n> context lines before matches"
 msgstr "<n> Zeilen vor den Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:877
 msgid "show <n> context lines after matches"
 msgstr "<n> Zeilen nach den Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:889
+#: builtin/grep.c:879
 msgid "use <n> worker threads"
 msgstr "<n> Threads benutzen"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:880
 msgid "shortcut for -C NUM"
 msgstr "Kurzform für -C NUM"
 
-#: builtin/grep.c:893
+#: builtin/grep.c:883
 msgid "show a line with the function name before matches"
 msgstr "eine Zeile mit dem Funktionsnamen vor Übereinstimmungen anzeigen"
 
-#: builtin/grep.c:895
+#: builtin/grep.c:885
 msgid "show the surrounding function"
 msgstr "die umgebende Funktion anzeigen"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:888
 msgid "read patterns from file"
 msgstr "Muster von einer Datei lesen"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:890
 msgid "match <pattern>"
 msgstr "<Muster> finden"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:892
 msgid "combine patterns specified with -e"
 msgstr "Muster kombinieren, die mit -e angegeben wurden"
 
-#: builtin/grep.c:914
+#: builtin/grep.c:904
 msgid "indicate hit with exit status without output"
 msgstr "Übereinstimmungen nur durch Beendigungsstatus anzeigen"
 
-#: builtin/grep.c:916
+#: builtin/grep.c:906
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "nur Übereinstimmungen von Dateien anzeigen, die allen Mustern entsprechen"
 
-#: builtin/grep.c:918
+#: builtin/grep.c:908
 msgid "show parse tree for grep expression"
 msgstr "geparstes Verzeichnis für \"grep\"-Ausdruck anzeigen"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:912
 msgid "pager"
 msgstr "Anzeigeprogramm"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:912
 msgid "show matching files in the pager"
 msgstr "Dateien mit Übereinstimmungen im Anzeigeprogramm anzeigen"
 
-#: builtin/grep.c:926
+#: builtin/grep.c:916
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "den Aufruf von grep(1) erlauben (von dieser Programmversion ignoriert)"
 
-#: builtin/grep.c:990
+#: builtin/grep.c:983
 msgid "no pattern given"
 msgstr "Kein Muster angegeben."
 
-#: builtin/grep.c:1026
+#: builtin/grep.c:1019
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr "--no-index oder --untracked können nicht mit Commits verwendet werden"
 
-#: builtin/grep.c:1034
+#: builtin/grep.c:1027
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "Konnte Commit nicht auflösen: %s"
 
-#: builtin/grep.c:1065
+#: builtin/grep.c:1057
+msgid "--untracked not supported with --recurse-submodules"
+msgstr "--untracked zusammen mit --recurse-submodules wird nicht unterstützt"
+
+#: builtin/grep.c:1061
 msgid "invalid option combination, ignoring --threads"
 msgstr "Ungültige Kombination von Optionen, --threads wird ignoriert."
 
-#: 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 "Keine Unterstützung für Threads, --threads wird ignoriert."
 
-#: 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 "ungültige Anzahl von Threads angegeben (%d)"
 
-#: builtin/grep.c:1094
+#: builtin/grep.c:1101
 msgid "--open-files-in-pager only works on the worktree"
 msgstr ""
 "Die Option --open-files-in-pager kann nur innerhalb des "
 "Arbeitsverzeichnisses verwendet werden."
 
-#: builtin/grep.c:1117
-msgid "option not supported with --recurse-submodules"
-msgstr "Die Option wird mit --recurse-submodules nicht unterstützt."
-
-#: builtin/grep.c:1123
+#: builtin/grep.c:1127
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr "--cached und --untracked können nicht mit --no-index verwendet werden."
 
-#: builtin/grep.c:1129
+#: builtin/grep.c:1133
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr ""
 "--[no-]exclude-standard kann nicht mit versionierten Inhalten verwendet "
 "werden."
 
-#: builtin/grep.c:1137
+#: builtin/grep.c:1141
 msgid "both --cached and trees are given"
 msgstr "--cached und \"Tree\"-Objekte angegeben"
 
@@ -14167,11 +15229,11 @@ msgstr "Fehler beim Lesen der Eingabe"
 msgid "used more bytes than were available"
 msgstr "verwendete mehr Bytes als verfügbar waren"
 
-#: 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 "Paket ist zu groß für die aktuelle Definition von 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 "Paket überschreitet die maximal erlaubte Größe"
 
@@ -14228,191 +15290,191 @@ msgstr[1] "frühzeitiges Ende der Paketdatei, vermisse %<PRIuMAX> Bytes"
 msgid "serious inflate inconsistency"
 msgstr "ernsthafte Inkonsistenz nach Dekomprimierung"
 
-#: 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 "SHA1 KOLLISION MIT %s GEFUNDEN !"
 
-#: 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 "kann %s nicht lesen"
 
-#: builtin/index-pack.c:801
+#: builtin/index-pack.c:802
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "Kann existierende Informationen zu Objekt %s nicht lesen."
 
-#: builtin/index-pack.c:809
+#: builtin/index-pack.c:810
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "Kann existierendes Objekt %s nicht lesen."
 
-#: builtin/index-pack.c:823
+#: builtin/index-pack.c:824
 #, c-format
 msgid "invalid blob object %s"
 msgstr "ungültiges Blob-Objekt %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 Fehler in gepacktem Objekt"
 
-#: builtin/index-pack.c:847
+#: builtin/index-pack.c:848
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Nicht alle Kind-Objekte von %s sind erreichbar"
 
-#: 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 "Konnte Dateiunterschied nicht anwenden"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1121
 msgid "Receiving objects"
 msgstr "Empfange Objekte"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1121
 msgid "Indexing objects"
 msgstr "Indiziere Objekte"
 
-#: builtin/index-pack.c:1152
+#: builtin/index-pack.c:1155
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "Paket ist beschädigt (SHA1 unterschiedlich)"
 
-#: builtin/index-pack.c:1157
+#: builtin/index-pack.c:1160
 msgid "cannot fstat packfile"
 msgstr "kann Paketdatei nicht lesen"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1163
 msgid "pack has junk at the end"
 msgstr "Paketende enthält nicht verwendbaren Inhalt"
 
-#: builtin/index-pack.c:1172
+#: builtin/index-pack.c:1175
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "Fehler beim Ausführen von \"parse_pack_objects()\""
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1198
 msgid "Resolving deltas"
 msgstr "Löse Unterschiede auf"
 
-#: 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 "kann Thread nicht erzeugen: %s"
 
-#: builtin/index-pack.c:1246
+#: builtin/index-pack.c:1249
 msgid "confusion beyond insanity"
 msgstr "Fehler beim Auflösen der Unterschiede"
 
-#: 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] "abgeschlossen mit %d lokalem Objekt"
 msgstr[1] "abgeschlossen mit %d lokalen Objekten"
 
-#: builtin/index-pack.c:1264
+#: builtin/index-pack.c:1267
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr "Unerwartete Prüfsumme für %s (Festplattenfehler?)"
 
-#: 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] "Paket hat %d unaufgelösten Unterschied"
 msgstr[1] "Paket hat %d unaufgelöste Unterschiede"
 
-#: builtin/index-pack.c:1292
+#: builtin/index-pack.c:1295
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "Konnte angehängtes Objekt (%d) nicht komprimieren"
 
-#: builtin/index-pack.c:1388
+#: builtin/index-pack.c:1392
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "lokales Objekt %s ist beschädigt"
 
-#: builtin/index-pack.c:1402
+#: builtin/index-pack.c:1406
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "Name der Paketdatei '%s' endet nicht mit '.pack'"
 
-#: builtin/index-pack.c:1427
+#: builtin/index-pack.c:1431
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "Kann %s Datei '%s' nicht schreiben."
 
-#: builtin/index-pack.c:1435
+#: builtin/index-pack.c:1439
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "Kann eben geschriebene %s Datei '%s' nicht schließen."
 
-#: builtin/index-pack.c:1459
+#: builtin/index-pack.c:1463
 msgid "error while closing pack file"
 msgstr "Fehler beim Schließen der Paketdatei"
 
-#: builtin/index-pack.c:1473
+#: builtin/index-pack.c:1477
 msgid "cannot store pack file"
 msgstr "Kann Paketdatei nicht speichern"
 
-#: builtin/index-pack.c:1481
+#: builtin/index-pack.c:1485
 msgid "cannot store index file"
 msgstr "Kann Indexdatei nicht speichern"
 
-#: 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=%<PRIu32>"
 msgstr "\"pack.indexversion=%<PRIu32>\" ist ungültig"
 
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1597
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Kann existierende Paketdatei '%s' nicht öffnen"
 
-#: builtin/index-pack.c:1595
+#: builtin/index-pack.c:1599
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Kann existierende Indexdatei für Paket '%s' nicht öffnen"
 
-#: 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] "kein Unterschied: %d Objekt"
 msgstr[1] "kein Unterschied: %d Objekte"
 
-#: 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] "Länge der Objekt-Liste = %d: %lu Objekt"
 msgstr[1] "Länge der Objekt-Liste = %d: %lu Objekte"
 
-#: builtin/index-pack.c:1689
+#: builtin/index-pack.c:1693
 msgid "Cannot come back to cwd"
 msgstr "Kann nicht zurück zum Arbeitsverzeichnis wechseln"
 
-#: 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 ist ungültig"
 
-#: builtin/index-pack.c:1777
+#: builtin/index-pack.c:1781
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "Die Option --fix-thin kann nicht ohne --stdin verwendet werden."
 
-#: builtin/index-pack.c:1779
+#: builtin/index-pack.c:1783
 msgid "--stdin requires a git repository"
 msgstr "--stdin erfordert ein Git-Repository"
 
-#: builtin/index-pack.c:1785
+#: builtin/index-pack.c:1789
 msgid "--verify with no packfile name given"
 msgstr "Die Option --verify wurde ohne Namen der Paketdatei angegeben."
 
-#: 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 Fehler beim Packen von Objekten"
 
@@ -14597,121 +15659,127 @@ msgstr ""
 msgid "no input file given for in-place editing"
 msgstr "keine Datei zur direkten Bearbeitung angegeben"
 
-#: builtin/log.c:55
+#: builtin/log.c:56
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<Optionen>] [<Commitbereich>] [[--] <Pfad>...]"
 
-#: builtin/log.c:56
+#: builtin/log.c:57
 msgid "git show [<options>] <object>..."
 msgstr "git show [<Optionen>] <Objekt>..."
 
-#: builtin/log.c:109
+#: builtin/log.c:110
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "Ungültige Option für --decorate: %s"
 
-#: builtin/log.c:173
+#: builtin/log.c:174
 msgid "show source"
 msgstr "Quelle anzeigen"
 
-#: builtin/log.c:174
+#: builtin/log.c:175
 msgid "Use mail map file"
 msgstr "\"mailmap\"-Datei verwenden"
 
-#: builtin/log.c:176
+#: builtin/log.c:177
 msgid "only decorate refs that match <pattern>"
 msgstr "\"decorate\" nur bei Referenzen anwenden, die <Muster> entsprechen"
 
-#: builtin/log.c:178
+#: builtin/log.c:179
 msgid "do not decorate refs that match <pattern>"
 msgstr "\"decorate\" nicht bei Referenzen anwenden, die <Muster> entsprechen"
 
-#: builtin/log.c:179
+#: builtin/log.c:180
 msgid "decorate options"
 msgstr "decorate-Optionen"
 
-#: builtin/log.c:182
+#: builtin/log.c:183
 msgid "Process line range n,m in file, counting from 1"
 msgstr "Verarbeitet nur Zeilen im Bereich n,m in der Datei, gezählt von 1"
 
-#: builtin/log.c:280
+#: builtin/log.c:281
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "letzte Ausgabe: %d %s\n"
 
-#: builtin/log.c:534
+#: builtin/log.c:535
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s: ungültige Datei"
 
-#: 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 "Konnte Objekt %s nicht lesen."
 
-#: builtin/log.c:668
+#: builtin/log.c:670
 #, c-format
 msgid "unknown type: %d"
 msgstr "Unbekannter Typ: %d"
 
-#: builtin/log.c:791
+#: builtin/log.c:814
+#, c-format
+msgid "%s: invalid cover from description mode"
+msgstr ""
+"%s: Ungültiger Modus für Erstellung des Deckblattes aus der Beschreibung"
+
+#: builtin/log.c:821
 msgid "format.headers without value"
 msgstr "format.headers ohne Wert"
 
-#: builtin/log.c:908
+#: builtin/log.c:936
 msgid "name of output directory is too long"
 msgstr "Name des Ausgabeverzeichnisses ist zu lang."
 
-#: builtin/log.c:924
+#: builtin/log.c:952
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "Kann Patch-Datei %s nicht öffnen"
 
-#: builtin/log.c:941
+#: builtin/log.c:969
 msgid "need exactly one range"
 msgstr "Brauche genau einen Commit-Bereich."
 
-#: builtin/log.c:951
+#: builtin/log.c:979
 msgid "not a range"
 msgstr "Kein Commit-Bereich."
 
-#: builtin/log.c:1074
+#: builtin/log.c:1143
 msgid "cover letter needs email format"
 msgstr "Anschreiben benötigt E-Mail-Format"
 
-#: builtin/log.c:1080
+#: builtin/log.c:1149
 msgid "failed to create cover-letter file"
 msgstr "Fehler beim Erstellen der Datei für das Anschreiben."
 
-#: builtin/log.c:1159
+#: builtin/log.c:1228
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "ungültiges in-reply-to: %s"
 
-#: builtin/log.c:1186
+#: builtin/log.c:1255
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<Optionen>] [<seit> | <Commitbereich>]"
 
-#: builtin/log.c:1244
+#: builtin/log.c:1313
 msgid "two output directories?"
 msgstr "Zwei Ausgabeverzeichnisse?"
 
-#: 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 "Unbekannter Commit %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 "Konnte '%s' nicht als gültige Referenz auflösen."
 
-#: builtin/log.c:1370
+#: builtin/log.c:1439
 msgid "could not find exact merge base"
 msgstr "Konnte keine exakte Merge-Basis finden."
 
-#: 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"
@@ -14722,272 +15790,281 @@ msgstr ""
 "'git branch --set-upstream-to', um einem Remote-Branch zu folgen.\n"
 "Oder geben Sie den Basis-Commit mit '--base=<Basis-Commit-Id>' manuell an."
 
-#: builtin/log.c:1394
+#: builtin/log.c:1463
 msgid "failed to find exact merge base"
 msgstr "Fehler beim Finden einer exakten Merge-Basis."
 
-#: builtin/log.c:1405
+#: builtin/log.c:1474
 msgid "base commit should be the ancestor of revision list"
 msgstr "Basis-Commit sollte der Vorgänger der Revisionsliste sein."
 
-#: builtin/log.c:1409
+#: builtin/log.c:1478
 msgid "base commit shouldn't be in revision list"
 msgstr "Basis-Commit sollte nicht in der Revisionsliste enthalten sein."
 
-#: builtin/log.c:1462
+#: builtin/log.c:1531
 msgid "cannot get patch id"
 msgstr "kann Patch-Id nicht lesen"
 
-#: builtin/log.c:1514
+#: builtin/log.c:1583
 msgid "failed to infer range-diff ranges"
 msgstr "Fehler beim Ableiten des range-diff-Bereichs."
 
-#: builtin/log.c:1559
+#: builtin/log.c:1629
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "[PATCH n/m] auch mit einzelnem Patch verwenden"
 
-#: builtin/log.c:1562
+#: builtin/log.c:1632
 msgid "use [PATCH] even with multiple patches"
 msgstr "[PATCH] auch mit mehreren Patches verwenden"
 
-#: builtin/log.c:1566
+#: builtin/log.c:1636
 msgid "print patches to standard out"
 msgstr "Ausgabe der Patches in Standard-Ausgabe"
 
-#: builtin/log.c:1568
+#: builtin/log.c:1638
 msgid "generate a cover letter"
 msgstr "ein Deckblatt erzeugen"
 
-#: builtin/log.c:1570
+#: builtin/log.c:1640
 msgid "use simple number sequence for output file names"
 msgstr "einfache Nummernfolge für die Namen der Ausgabedateien verwenden"
 
-#: builtin/log.c:1571
+#: builtin/log.c:1641
 msgid "sfx"
 msgstr "Dateiendung"
 
-#: builtin/log.c:1572
+#: builtin/log.c:1642
 msgid "use <sfx> instead of '.patch'"
 msgstr "<Dateiendung> anstatt '.patch' verwenden"
 
-#: builtin/log.c:1574
+#: builtin/log.c:1644
 msgid "start numbering patches at <n> instead of 1"
 msgstr "die Nummerierung der Patches bei <n> anstatt bei 1 beginnen"
 
-#: builtin/log.c:1576
+#: builtin/log.c:1646
 msgid "mark the series as Nth re-roll"
 msgstr "die Serie als n-te Fassung kennzeichnen"
 
-#: builtin/log.c:1578
+#: builtin/log.c:1648
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "[RFC PATCH] anstatt [PATCH] verwenden"
 
-#: builtin/log.c:1581
+#: builtin/log.c:1651
+msgid "cover-from-description-mode"
+msgstr "Modus für Erstellung des Deckblattes aus der Beschreibung"
+
+#: builtin/log.c:1652
+msgid "generate parts of a cover letter based on a branch's description"
+msgstr ""
+"Erzeuge Teile des Deckblattes basierend auf der Beschreibung des Branches"
+
+#: builtin/log.c:1654
 msgid "Use [<prefix>] instead of [PATCH]"
-msgstr "[<Präfix>] anstatt [PATCH] verwenden"
+msgstr "Nutze [<Präfix>] statt [PATCH]"
 
-#: builtin/log.c:1584
+#: builtin/log.c:1657
 msgid "store resulting files in <dir>"
 msgstr "erzeugte Dateien in <Verzeichnis> speichern"
 
-#: builtin/log.c:1587
+#: builtin/log.c:1660
 msgid "don't strip/add [PATCH]"
 msgstr "[PATCH] nicht entfernen/hinzufügen"
 
-#: builtin/log.c:1590
+#: builtin/log.c:1663
 msgid "don't output binary diffs"
 msgstr "keine binären Unterschiede ausgeben"
 
-#: builtin/log.c:1592
+#: builtin/log.c:1665
 msgid "output all-zero hash in From header"
 msgstr "Hash mit Nullen in \"From\"-Header ausgeben"
 
-#: builtin/log.c:1594
+#: builtin/log.c:1667
 msgid "don't include a patch matching a commit upstream"
 msgstr ""
 "keine Patches einschließen, die einem Commit im Upstream-Branch entsprechen"
 
-#: builtin/log.c:1596
+#: builtin/log.c:1669
 msgid "show patch format instead of default (patch + stat)"
 msgstr "Patchformat anstatt des Standards anzeigen (Patch + Zusammenfassung)"
 
-#: builtin/log.c:1598
+#: builtin/log.c:1671
 msgid "Messaging"
 msgstr "E-Mail-Einstellungen"
 
-#: 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 "E-Mail-Header hinzufügen"
 
-#: builtin/log.c:1601 builtin/log.c:1603
+#: builtin/log.c:1674 builtin/log.c:1676
 msgid "email"
 msgstr "E-Mail"
 
-#: builtin/log.c:1601
+#: builtin/log.c:1674
 msgid "add To: header"
 msgstr "\"To:\"-Header hinzufügen"
 
-#: builtin/log.c:1603
+#: builtin/log.c:1676
 msgid "add Cc: header"
 msgstr "\"Cc:\"-Header hinzufügen"
 
-#: builtin/log.c:1605
+#: builtin/log.c:1678
 msgid "ident"
 msgstr "Ident"
 
-#: builtin/log.c:1606
+#: builtin/log.c:1679
 msgid "set From address to <ident> (or committer ident if absent)"
 msgstr ""
 "\"From\"-Adresse auf <Ident> setzen (oder Ident des Commit-Erstellers, wenn "
 "fehlend)"
 
-#: builtin/log.c:1608
+#: builtin/log.c:1681
 msgid "message-id"
 msgstr "message-id"
 
-#: builtin/log.c:1609
+#: builtin/log.c:1682
 msgid "make first mail a reply to <message-id>"
 msgstr "aus erster E-Mail eine Antwort zu <message-id> machen"
 
-#: builtin/log.c:1610 builtin/log.c:1613
+#: builtin/log.c:1683 builtin/log.c:1686
 msgid "boundary"
 msgstr "Grenze"
 
-#: builtin/log.c:1611
+#: builtin/log.c:1684
 msgid "attach the patch"
 msgstr "den Patch anhängen"
 
-#: builtin/log.c:1614
+#: builtin/log.c:1687
 msgid "inline the patch"
 msgstr "den Patch direkt in die Nachricht einfügen"
 
-#: builtin/log.c:1618
+#: builtin/log.c:1691
 msgid "enable message threading, styles: shallow, deep"
 msgstr "Nachrichtenverkettung aktivieren, Stile: shallow, deep"
 
-#: builtin/log.c:1620
+#: builtin/log.c:1693
 msgid "signature"
 msgstr "Signatur"
 
-#: builtin/log.c:1621
+#: builtin/log.c:1694
 msgid "add a signature"
 msgstr "eine Signatur hinzufügen"
 
-#: builtin/log.c:1622
+#: builtin/log.c:1695
 msgid "base-commit"
 msgstr "Basis-Commit"
 
-#: builtin/log.c:1623
+#: builtin/log.c:1696
 msgid "add prerequisite tree info to the patch series"
 msgstr "erforderliche Revisions-Informationen der Patch-Serie hinzufügen"
 
-#: builtin/log.c:1625
+#: builtin/log.c:1698
 msgid "add a signature from a file"
 msgstr "eine Signatur aus einer Datei hinzufügen"
 
-#: builtin/log.c:1626
+#: builtin/log.c:1699
 msgid "don't print the patch filenames"
 msgstr "keine Dateinamen der Patches anzeigen"
 
-#: builtin/log.c:1628
+#: builtin/log.c:1701
 msgid "show progress while generating patches"
 msgstr "Forschrittsanzeige während der Erzeugung der Patches"
 
-#: builtin/log.c:1630
+#: builtin/log.c:1703
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 "Änderungen gegenüber <Commit> im Deckblatt oder einzelnem Patch anzeigen"
 
-#: builtin/log.c:1633
+#: builtin/log.c:1706
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 "Änderungen gegenüber <Refspec> im Deckblatt oder einzelnem Patch anzeigen"
 
-#: builtin/log.c:1635
+#: builtin/log.c:1708
 msgid "percentage by which creation is weighted"
 msgstr "Prozentsatz mit welchem Erzeugung gewichtet wird"
 
-#: builtin/log.c:1710
+#: builtin/log.c:1792
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "Ungültige Identifikationszeile: %s"
 
-#: builtin/log.c:1725
+#: builtin/log.c:1807
 msgid "-n and -k are mutually exclusive"
 msgstr "-n und -k schließen sich gegenseitig aus."
 
-#: builtin/log.c:1727
+#: builtin/log.c:1809
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc und -k schließen sich gegenseitig aus."
 
-#: builtin/log.c:1735
+#: builtin/log.c:1817
 msgid "--name-only does not make sense"
 msgstr "Die Option --name-only kann nicht verwendet werden."
 
-#: builtin/log.c:1737
+#: builtin/log.c:1819
 msgid "--name-status does not make sense"
 msgstr "Die Option --name-status kann nicht verwendet werden."
 
-#: builtin/log.c:1739
+#: builtin/log.c:1821
 msgid "--check does not make sense"
 msgstr "Die Option --check kann nicht verwendet werden."
 
-#: builtin/log.c:1771
+#: builtin/log.c:1854
 msgid "standard output, or directory, which one?"
 msgstr "Standard-Ausgabe oder Verzeichnis, welches von beidem?"
 
-#: builtin/log.c:1860
+#: builtin/log.c:1958
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff erfordert --cover-letter oder einzelnen Patch."
 
-#: builtin/log.c:1864
+#: builtin/log.c:1962
 msgid "Interdiff:"
 msgstr "Interdiff:"
 
-#: builtin/log.c:1865
+#: builtin/log.c:1963
 #, c-format
 msgid "Interdiff against v%d:"
 msgstr "Interdiff gegen v%d:"
 
-#: builtin/log.c:1871
+#: builtin/log.c:1969
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor erfordert --range-diff"
 
-#: builtin/log.c:1875
+#: builtin/log.c:1973
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff erfordert --cover-letter oder einzelnen Patch."
 
-#: builtin/log.c:1883
+#: builtin/log.c:1981
 msgid "Range-diff:"
 msgstr "Range-Diff:"
 
-#: builtin/log.c:1884
+#: builtin/log.c:1982
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Range-Diff gegen v%d:"
 
-#: builtin/log.c:1895
+#: builtin/log.c:1993
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "Konnte Signatur-Datei '%s' nicht lesen"
 
-#: builtin/log.c:1931
+#: builtin/log.c:2029
 msgid "Generating patches"
 msgstr "Erzeuge Patches"
 
-#: builtin/log.c:1975
+#: builtin/log.c:2073
 msgid "failed to create output files"
 msgstr "Fehler beim Erstellen der Ausgabedateien."
 
-#: builtin/log.c:2034
+#: builtin/log.c:2132
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<Upstream> [<Branch> [<Limit>]]]"
 
-#: builtin/log.c:2088
+#: builtin/log.c:2186
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -15118,7 +16195,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "URL des Remote-Repositories nicht ausgeben"
 
-#: 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 "Programm"
 
@@ -15207,151 +16284,151 @@ 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 "Schalter 'm' erfordert einen Wert."
 
-#: builtin/merge.c:141
+#: builtin/merge.c:142
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "Option `%s' erfordert einen Wert."
 
-#: builtin/merge.c:187
+#: builtin/merge.c:188
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Konnte Merge-Strategie '%s' nicht finden.\n"
 
-#: builtin/merge.c:188
+#: builtin/merge.c:189
 #, c-format
 msgid "Available strategies are:"
 msgstr "Verfügbare Strategien sind:"
 
-#: builtin/merge.c:193
+#: builtin/merge.c:194
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Verfügbare benutzerdefinierte Strategien sind:"
 
-#: 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 "keine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen"
 
-#: 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 "eine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen"
 
-#: builtin/merge.c:248 builtin/pull.c:157
+#: builtin/merge.c:249 builtin/pull.c:138
 msgid "(synonym to --stat)"
 msgstr "(Synonym für --stat)"
 
-#: builtin/merge.c:250 builtin/pull.c:160
+#: builtin/merge.c:251 builtin/pull.c:141
 msgid "add (at most <n>) entries from shortlog to merge commit message"
 msgstr ""
 "(höchstens <n>) Einträge von \"shortlog\" zur Beschreibung des Merge-Commits "
 "hinzufügen"
 
-#: 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 "einen einzelnen Commit anstatt eines Merges erzeugen"
 
-#: 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 "einen Commit durchführen, wenn der Merge erfolgreich war (Standard)"
 
-#: builtin/merge.c:257 builtin/pull.c:172
+#: builtin/merge.c:258 builtin/pull.c:153
 msgid "edit message before committing"
 msgstr "Bearbeitung der Beschreibung vor dem Commit"
 
-#: builtin/merge.c:259
+#: builtin/merge.c:260
 msgid "allow fast-forward (default)"
 msgstr "Vorspulen erlauben (Standard)"
 
-#: 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 "abbrechen, wenn kein Vorspulen möglich ist"
 
-#: 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 "den genannten Commit auf eine gültige GPG-Signatur überprüfen"
 
-#: 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 "Strategie"
 
-#: builtin/merge.c:267 builtin/pull.c:187
+#: builtin/merge.c:268 builtin/pull.c:168
 msgid "merge strategy to use"
 msgstr "zu verwendende Merge-Strategie"
 
-#: builtin/merge.c:268 builtin/pull.c:190
+#: builtin/merge.c:269 builtin/pull.c:171
 msgid "option=value"
 msgstr "Option=Wert"
 
-#: builtin/merge.c:269 builtin/pull.c:191
+#: builtin/merge.c:270 builtin/pull.c:172
 msgid "option for selected merge strategy"
 msgstr "Option für ausgewählte Merge-Strategie"
 
-#: builtin/merge.c:271
+#: builtin/merge.c:272
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "Commit-Beschreibung zusammenführen (für einen Merge, der kein Vorspulen war)"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:279
 msgid "abort the current in-progress merge"
 msgstr "den sich im Gange befindlichen Merge abbrechen"
 
-#: builtin/merge.c:280
+#: builtin/merge.c:281
 msgid "--abort but leave index and working tree alone"
 msgstr "--abort, aber Index und Arbeitsverzeichnis unverändert lassen"
 
-#: builtin/merge.c:282
+#: builtin/merge.c:283
 msgid "continue the current in-progress merge"
 msgstr "den sich im Gange befindlichen Merge fortsetzen"
 
-#: builtin/merge.c:284 builtin/pull.c:198
+#: builtin/merge.c:285 builtin/pull.c:179
 msgid "allow merging unrelated histories"
 msgstr "erlaube das Zusammenführen von nicht zusammenhängenden Historien"
 
-#: builtin/merge.c:290
-msgid "verify commit-msg hook"
-msgstr "commit-msg Hook überprüfen"
+#: builtin/merge.c:291
+msgid "bypass pre-merge-commit and commit-msg hooks"
+msgstr "Hooks pre-merge-commit und commit-msg umgehen"
 
-#: builtin/merge.c:307
+#: builtin/merge.c:308
 msgid "could not run stash."
 msgstr "Konnte \"stash\" nicht ausführen."
 
-#: builtin/merge.c:312
+#: builtin/merge.c:313
 msgid "stash failed"
 msgstr "\"stash\" fehlgeschlagen"
 
-#: builtin/merge.c:317
+#: builtin/merge.c:318
 #, c-format
 msgid "not a valid object: %s"
 msgstr "kein gültiges Objekt: %s"
 
-#: builtin/merge.c:339 builtin/merge.c:356
+#: builtin/merge.c:340 builtin/merge.c:357
 msgid "read-tree failed"
 msgstr "read-tree fehlgeschlagen"
 
-#: builtin/merge.c:386
+#: builtin/merge.c:387
 msgid " (nothing to squash)"
 msgstr " (nichts zu quetschen)"
 
-#: builtin/merge.c:397
+#: builtin/merge.c:398
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Quetsche Commit -- HEAD wird nicht aktualisiert\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:448
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Keine Merge-Commit-Beschreibung -- HEAD wird nicht aktualisiert\n"
 
-#: builtin/merge.c:498
+#: builtin/merge.c:499
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' zeigt auf keinen Commit"
 
-#: builtin/merge.c:585
+#: builtin/merge.c:586
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Ungültiger branch.%s.mergeoptions String: %s"
@@ -15406,75 +16483,75 @@ msgstr ""
 "Zeilen, die mit '%c' beginnen, werden ignoriert,\n"
 "und eine leere Beschreibung bricht den Commit ab.\n"
 
-#: builtin/merge.c:853
+#: builtin/merge.c:865
 msgid "Empty commit message."
 msgstr "Leere Commit-Beschreibung"
 
-#: builtin/merge.c:872
+#: builtin/merge.c:880
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Wunderbar.\n"
 
-#: builtin/merge.c:933
+#: builtin/merge.c:941
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "Automatischer Merge fehlgeschlagen; beheben Sie die Konflikte und committen "
 "Sie dann das Ergebnis.\n"
 
-#: builtin/merge.c:972
+#: builtin/merge.c:980
 msgid "No current branch."
 msgstr "Sie befinden sich auf keinem Branch."
 
-#: builtin/merge.c:974
+#: builtin/merge.c:982
 msgid "No remote for the current branch."
 msgstr "Kein Remote-Repository für den aktuellen Branch."
 
-#: builtin/merge.c:976
+#: builtin/merge.c:984
 msgid "No default upstream defined for the current branch."
 msgstr ""
 "Es ist kein Standard-Upstream-Branch für den aktuellen Branch definiert."
 
-#: builtin/merge.c:981
+#: builtin/merge.c:989
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Kein Remote-Tracking-Branch für %s von %s"
 
-#: builtin/merge.c:1038
+#: builtin/merge.c:1046
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Fehlerhafter Wert '%s' in Umgebungsvariable '%s'"
 
-#: builtin/merge.c:1141
+#: builtin/merge.c:1149
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "nichts was wir in %s zusammenführen können: %s"
 
-#: builtin/merge.c:1175
+#: builtin/merge.c:1183
 msgid "not something we can merge"
 msgstr "nichts was wir zusammenführen können"
 
-#: builtin/merge.c:1278
+#: builtin/merge.c:1286
 msgid "--abort expects no arguments"
 msgstr "--abort akzeptiert keine Argumente"
 
-#: builtin/merge.c:1282
+#: builtin/merge.c:1290
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Es gibt keinen Merge abzubrechen (MERGE_HEAD fehlt)"
 
-#: builtin/merge.c:1291
+#: builtin/merge.c:1299
 msgid "--quit expects no arguments"
 msgstr "--quit erwartet keine Argumente"
 
-#: builtin/merge.c:1304
+#: builtin/merge.c:1312
 msgid "--continue expects no arguments"
 msgstr "--continue erwartet keine Argumente"
 
-#: builtin/merge.c:1308
+#: builtin/merge.c:1316
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "Es ist kein Merge im Gange (MERGE_HEAD fehlt)."
 
-#: 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."
@@ -15482,7 +16559,7 @@ msgstr ""
 "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert).\n"
 "Bitte committen Sie Ihre Änderungen, bevor Sie den Merge ausführen."
 
-#: 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."
@@ -15490,100 +16567,100 @@ msgstr ""
 "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert).\n"
 "Bitte committen Sie Ihre Änderungen, bevor Sie den Merge ausführen."
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1342
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr ""
 "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert)."
 
-#: builtin/merge.c:1348
+#: builtin/merge.c:1356
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Sie können --squash nicht mit --no-ff kombinieren."
 
-#: builtin/merge.c:1350
+#: builtin/merge.c:1358
 msgid "You cannot combine --squash with --commit."
 msgstr "Sie können --squash nicht mit --commit kombinieren."
 
-#: builtin/merge.c:1366
+#: builtin/merge.c:1374
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr "Kein Commit angegeben und merge.defaultToUpstream ist nicht gesetzt."
 
-#: builtin/merge.c:1383
+#: builtin/merge.c:1391
 msgid "Squash commit into empty head not supported yet"
 msgstr ""
 "Bin auf einem Commit, der noch geboren wird; kann \"squash\" nicht ausführen."
 
-#: builtin/merge.c:1385
+#: builtin/merge.c:1393
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr ""
 "Nicht vorzuspulender Commit kann nicht in einem leeren Branch verwendet "
 "werden."
 
-#: builtin/merge.c:1390
+#: builtin/merge.c:1398
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - nichts was wir zusammenführen können"
 
-#: builtin/merge.c:1392
+#: builtin/merge.c:1400
 msgid "Can merge only exactly one commit into empty head"
 msgstr "Kann nur exakt einen Commit in einem leeren Branch zusammenführen."
 
-#: builtin/merge.c:1471
+#: builtin/merge.c:1481
 msgid "refusing to merge unrelated histories"
 msgstr "Verweigere den Merge von nicht zusammenhängenden Historien."
 
-#: builtin/merge.c:1480
+#: builtin/merge.c:1490
 msgid "Already up to date."
 msgstr "Bereits aktuell."
 
-#: builtin/merge.c:1490
+#: builtin/merge.c:1500
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Aktualisiere %s..%s\n"
 
-#: builtin/merge.c:1532
+#: builtin/merge.c:1542
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Probiere wirklich trivialen \"in-index\"-Merge ...\n"
 
-#: builtin/merge.c:1539
+#: builtin/merge.c:1549
 #, c-format
 msgid "Nope.\n"
 msgstr "Nein.\n"
 
-#: builtin/merge.c:1564
+#: builtin/merge.c:1574
 msgid "Already up to date. Yeeah!"
 msgstr "Bereits aktuell."
 
-#: builtin/merge.c:1570
+#: builtin/merge.c:1580
 msgid "Not possible to fast-forward, aborting."
 msgstr "Vorspulen nicht möglich, breche ab."
 
-#: 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 "Rücklauf des Verzeichnisses bis zum Ursprung ...\n"
 
-#: builtin/merge.c:1597
+#: builtin/merge.c:1607
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Probiere Merge-Strategie %s ...\n"
 
-#: builtin/merge.c:1649
+#: builtin/merge.c:1659
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Keine Merge-Strategie behandelt diesen Merge.\n"
 
-#: builtin/merge.c:1651
+#: builtin/merge.c:1661
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "Merge mit Strategie %s fehlgeschlagen.\n"
 
-#: builtin/merge.c:1660
+#: builtin/merge.c:1670
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Benutzen Sie \"%s\", um die Auflösung per Hand vorzubereiten.\n"
 
-#: builtin/merge.c:1672
+#: builtin/merge.c:1682
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -15669,33 +16746,33 @@ msgstr "keine Warnung bei Konflikten"
 msgid "set labels for file1/orig-file/file2"
 msgstr "Beschriftung für Datei1/orig-Datei/Datei2 setzen"
 
-#: builtin/merge-recursive.c:46
+#: builtin/merge-recursive.c:47
 #, c-format
 msgid "unknown option %s"
 msgstr "unbekannte Option: %s"
 
-#: builtin/merge-recursive.c:52
+#: builtin/merge-recursive.c:53
 #, c-format
 msgid "could not parse object '%s'"
 msgstr "Konnte Objekt '%s' nicht parsen."
 
-#: 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] "kann nicht mit mehr als %d Merge-Basis umgehen. Ignoriere %s."
 msgstr[1] "kann nicht mit mehr als %d Merge-Basen umgehen. Ignoriere %s."
 
-#: builtin/merge-recursive.c:64
+#: builtin/merge-recursive.c:65
 msgid "not handling anything other than two heads merge."
 msgstr "Es wird nur der Merge von zwei Branches behandelt."
 
-#: 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 "Konnte Referenz '%s' nicht auflösen"
 
-#: builtin/merge-recursive.c:78
+#: builtin/merge-recursive.c:82
 #, c-format
 msgid "Merging %s with %s\n"
 msgstr "Führe %s mit %s zusammen\n"
@@ -15718,18 +16795,18 @@ msgstr "die Erstellung von mehr als einem \"Tree\"-Objekt erlauben"
 
 #: builtin/multi-pack-index.c:9
 msgid ""
-"git multi-pack-index [--object-dir=<dir>] (write|verify|expire|repack --"
-"batch-size=<size>)"
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<size>)"
 msgstr ""
-"git multi-pack-index [--object-dir=<Verzeichnis>] (write|verify|expire|"
-"repack --batch-size=<Größe>)"
+"git multi-pack-index [<Optionen>] (write|verify|expire|repack --batch-"
+"size=<Größe>)"
 
-#: builtin/multi-pack-index.c:23
+#: builtin/multi-pack-index.c:26
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr ""
 "Objekt-Verzeichnis, welches Paare von Packdateien und pack-index enthält"
 
-#: 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"
@@ -15737,15 +16814,15 @@ msgstr ""
 "Während des Umpackens, sammle Paket-Dateien von geringerer Größe in "
 "einenStapel, welcher größer ist als diese Größe"
 
-#: 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 "Zu viele Argumente."
 
-#: builtin/multi-pack-index.c:52
+#: builtin/multi-pack-index.c:60
 msgid "--batch-size option is only for 'repack' subcommand"
 msgstr "Option --batch-size ist nur für den Unterbefehl 'repack'"
 
-#: builtin/multi-pack-index.c:61
+#: builtin/multi-pack-index.c:69
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "Nicht erkannter Unterbefehl: %s"
@@ -15840,52 +16917,52 @@ msgstr "%s, Quelle=%s, Ziel=%s"
 msgid "Renaming %s to %s\n"
 msgstr "Benenne %s nach %s um\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 "Umbenennung von '%s' fehlgeschlagen"
 
-#: builtin/name-rev.c:352
+#: builtin/name-rev.c:465
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<Optionen>] <Commit>..."
 
-#: builtin/name-rev.c:353
+#: builtin/name-rev.c:466
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<Optionen>] --all"
 
-#: builtin/name-rev.c:354
+#: builtin/name-rev.c:467
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<Optionen>] --stdin"
 
-#: builtin/name-rev.c:411
+#: builtin/name-rev.c:524
 msgid "print only names (no SHA-1)"
 msgstr "nur Namen anzeigen (keine SHA-1)"
 
-#: builtin/name-rev.c:412
+#: builtin/name-rev.c:525
 msgid "only use tags to name the commits"
 msgstr "nur Tags verwenden, um die Commits zu benennen"
 
-#: builtin/name-rev.c:414
+#: builtin/name-rev.c:527
 msgid "only use refs matching <pattern>"
 msgstr "nur Referenzen verwenden, die <Muster> entsprechen"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:529
 msgid "ignore refs matching <pattern>"
 msgstr "ignoriere Referenzen die <Muster> entsprechen"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:531
 msgid "list all commits reachable from all refs"
 msgstr "alle Commits auflisten, die von allen Referenzen erreichbar sind"
 
-#: builtin/name-rev.c:419
+#: builtin/name-rev.c:532
 msgid "read from stdin"
 msgstr "von der Standard-Eingabe lesen"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:533
 msgid "allow to print `undefined` names (default)"
 msgstr "Ausgabe von `undefinierten` Namen erlauben (Standard)"
 
-#: builtin/name-rev.c:426
+#: builtin/name-rev.c:539
 msgid "dereference tags in the input (internal use)"
 msgstr "Tags in der Eingabe dereferenzieren (interne Verwendung)"
 
@@ -16291,7 +17368,7 @@ msgstr "der Versuch, eine nicht existierende Notiz zu löschen, ist kein Fehler"
 msgid "read object names from the standard input"
 msgstr "Objektnamen von der Standard-Eingabe lesen"
 
-#: 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 "nicht löschen, nur anzeigen"
 
@@ -16307,7 +17384,7 @@ msgstr "Notiz-Referenz"
 msgid "use notes from <notes-ref>"
 msgstr "Notizen von <Notiz-Referenz> verwenden"
 
-#: builtin/notes.c:1034 builtin/stash.c:1598
+#: builtin/notes.c:1034 builtin/stash.c:1643
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "Unbekannter Unterbefehl: %s"
@@ -16326,129 +17403,106 @@ msgstr ""
 "git pack-objects [<Optionen>...] <Basis-Name> [< <Referenzliste> | < "
 "<Objektliste>]"
 
-#: builtin/pack-objects.c:428
+#: builtin/pack-objects.c:430
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "Ungültiges CRC für gepacktes Objekt %s."
 
-#: builtin/pack-objects.c:439
+#: builtin/pack-objects.c:441
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "Fehlerhaftes gepacktes Objekt für %s."
 
-#: builtin/pack-objects.c:570
+#: builtin/pack-objects.c:572
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "Rekursiver Unterschied für Objekt %s festgestellt."
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:783
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "%u Objekte geordnet, %<PRIu32> erwartet."
 
-#: builtin/pack-objects.c:794
-#, c-format
-msgid "packfile is invalid: %s"
-msgstr "Packdatei ist ungültig: %s"
-
-#: builtin/pack-objects.c:798
-#, c-format
-msgid "unable to open packfile for reuse: %s"
-msgstr "Konnte Packdatei nicht zur Wiederverwendung öffnen: %s"
-
-#: builtin/pack-objects.c:802
-msgid "unable to seek in reused packfile"
-msgstr "Konnte \"seek\" nicht in wiederverwendeter Packdatei ausführen."
-
-#: builtin/pack-objects.c:813
-msgid "unable to read from reused packfile"
-msgstr "Konnte nicht von wiederverwendeter Packdatei lesen."
-
-#: builtin/pack-objects.c:841
+#: builtin/pack-objects.c:972
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "Deaktiviere Schreiben der Bitmap, Pakete wurden durch pack.packSizeLimit\n"
 "aufgetrennt."
 
-#: builtin/pack-objects.c:854
+#: builtin/pack-objects.c:985
 msgid "Writing objects"
 msgstr "Schreibe Objekte"
 
-#: 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 "Konnte '%s' nicht lesen"
 
-#: builtin/pack-objects.c:970
+#: builtin/pack-objects.c:1099
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "Schrieb %<PRIu32> Objekte während %<PRIu32> erwartet waren."
 
-#: builtin/pack-objects.c:1166
+#: builtin/pack-objects.c:1297
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "Deaktiviere Schreiben der Bitmap, da einige Objekte nicht in eine Pack-"
 "Datei\n"
 "geschrieben wurden."
 
-#: builtin/pack-objects.c:1597
+#: builtin/pack-objects.c:1724
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "\"delta base offset\" Überlauf in Paket für %s"
 
-#: builtin/pack-objects.c:1606
+#: builtin/pack-objects.c:1733
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "\"delta base offset\" liegt außerhalb des gültigen Bereichs für %s"
 
-#: builtin/pack-objects.c:1875
+#: builtin/pack-objects.c:2004
 msgid "Counting objects"
 msgstr "Zähle Objekte"
 
-#: builtin/pack-objects.c:2005
-#, c-format
-msgid "unable to get size of %s"
-msgstr "Konnte Größe von %s nicht bestimmen."
-
-#: builtin/pack-objects.c:2020
+#: builtin/pack-objects.c:2149
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "Konnte Kopfbereich von Objekt '%s' nicht parsen."
 
-#: 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 "Objekt %s kann nicht gelesen werden."
 
-#: 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 (%<PRIuMAX> vs %<PRIuMAX>)"
 msgstr "Inkonsistente Objektlänge bei Objekt %s (%<PRIuMAX> vs %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2130
+#: builtin/pack-objects.c:2259
 msgid "suboptimal pack - out of memory"
 msgstr "ungünstiges Packet - Speicher voll"
 
-#: builtin/pack-objects.c:2456
+#: builtin/pack-objects.c:2574
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "Delta-Kompression verwendet bis zu %d Threads."
 
-#: builtin/pack-objects.c:2588
+#: builtin/pack-objects.c:2713
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "Konnte keine Objekte packen, die von Tag %s erreichbar sind."
 
-#: builtin/pack-objects.c:2675
+#: builtin/pack-objects.c:2801
 msgid "Compressing objects"
 msgstr "Komprimiere Objekte"
 
-#: builtin/pack-objects.c:2681
+#: builtin/pack-objects.c:2807
 msgid "inconsistency with delta count"
 msgstr "Inkonsistenz mit der Anzahl von Deltas"
 
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2888
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -16457,7 +17511,7 @@ msgstr ""
 "Erwartete Randobjekt-ID, erhielt nutzlose Daten:\n"
 " %s"
 
-#: builtin/pack-objects.c:2768
+#: builtin/pack-objects.c:2894
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -16466,261 +17520,247 @@ msgstr ""
 "Erwartete Objekt-ID, erhielt nutzlose Daten:\n"
 " %s"
 
-#: builtin/pack-objects.c:2866
+#: builtin/pack-objects.c:2992
 msgid "invalid value for --missing"
 msgstr "Ungültiger Wert für --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 "Kann Paketindex nicht öffnen."
 
-#: builtin/pack-objects.c:2956
+#: builtin/pack-objects.c:3082
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "Loses Objekt bei %s konnte nicht untersucht werden."
 
-#: builtin/pack-objects.c:3041
+#: builtin/pack-objects.c:3167
 msgid "unable to force loose object"
 msgstr "Konnte loses Objekt nicht erzwingen."
 
-#: builtin/pack-objects.c:3133
+#: builtin/pack-objects.c:3260
 #, c-format
 msgid "not a rev '%s'"
 msgstr "'%s' ist kein Commit."
 
-#: builtin/pack-objects.c:3136
+#: builtin/pack-objects.c:3263
 #, c-format
 msgid "bad revision '%s'"
 msgstr "Ungültiger Commit '%s'."
 
-#: builtin/pack-objects.c:3161
+#: builtin/pack-objects.c:3288
 msgid "unable to add recent objects"
 msgstr "Konnte jüngste Objekte nicht hinzufügen."
 
-#: builtin/pack-objects.c:3214
+#: builtin/pack-objects.c:3341
 #, c-format
 msgid "unsupported index version %s"
 msgstr "Nicht unterstützte Index-Version %s"
 
-#: builtin/pack-objects.c:3218
+#: builtin/pack-objects.c:3345
 #, c-format
 msgid "bad index version '%s'"
 msgstr "Ungültige Index-Version '%s'"
 
-#: builtin/pack-objects.c:3248
-msgid "do not show progress meter"
-msgstr "keine Fortschrittsanzeige anzeigen"
-
-#: builtin/pack-objects.c:3250
-msgid "show progress meter"
-msgstr "Fortschrittsanzeige anzeigen"
-
-#: builtin/pack-objects.c:3252
-msgid "show progress meter during object writing phase"
-msgstr "Forschrittsanzeige während des Schreibens von Objekten anzeigen"
-
-#: builtin/pack-objects.c:3255
-msgid "similar to --all-progress when progress meter is shown"
-msgstr "ähnlich zu --all-progress wenn Fortschrittsanzeige darstellt wird"
-
-#: builtin/pack-objects.c:3256
+#: builtin/pack-objects.c:3383
 msgid "<version>[,<offset>]"
 msgstr "<Version>[,<Offset>]"
 
-#: builtin/pack-objects.c:3257
+#: builtin/pack-objects.c:3384
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "die Index-Datei des Paketes in der angegebenen Indexformat-Version schreiben"
 
-#: builtin/pack-objects.c:3260
+#: builtin/pack-objects.c:3387
 msgid "maximum size of each output pack file"
 msgstr "maximale Größe für jede ausgegebene Paketdatei"
 
-#: builtin/pack-objects.c:3262
+#: builtin/pack-objects.c:3389
 msgid "ignore borrowed objects from alternate object store"
 msgstr "geliehene Objekte von alternativem Objektspeicher ignorieren"
 
-#: builtin/pack-objects.c:3264
+#: builtin/pack-objects.c:3391
 msgid "ignore packed objects"
 msgstr "gepackte Objekte ignorieren"
 
-#: builtin/pack-objects.c:3266
+#: builtin/pack-objects.c:3393
 msgid "limit pack window by objects"
 msgstr "Paketfenster durch Objekte begrenzen"
 
-#: builtin/pack-objects.c:3268
+#: builtin/pack-objects.c:3395
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "Paketfenster, zusätzlich zur Objektbegrenzung, durch Speicher begrenzen"
 
-#: builtin/pack-objects.c:3270
+#: builtin/pack-objects.c:3397
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 "maximale Länge der erlaubten Differenzverkettung im resultierenden Paket"
 
-#: builtin/pack-objects.c:3272
+#: builtin/pack-objects.c:3399
 msgid "reuse existing deltas"
 msgstr "existierende Unterschiede wiederverwenden"
 
-#: builtin/pack-objects.c:3274
+#: builtin/pack-objects.c:3401
 msgid "reuse existing objects"
 msgstr "existierende Objekte wiederverwenden"
 
-#: builtin/pack-objects.c:3276
+#: builtin/pack-objects.c:3403
 msgid "use OFS_DELTA objects"
 msgstr "OFS_DELTA Objekte verwenden"
 
-#: builtin/pack-objects.c:3278
+#: builtin/pack-objects.c:3405
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "Threads bei der Suche nach den besten Übereinstimmungen bei Unterschieden "
 "verwenden"
 
-#: builtin/pack-objects.c:3280
+#: builtin/pack-objects.c:3407
 msgid "do not create an empty pack output"
 msgstr "keine leeren Pakete erzeugen"
 
-#: builtin/pack-objects.c:3282
+#: builtin/pack-objects.c:3409
 msgid "read revision arguments from standard input"
 msgstr "Argumente bezüglich Commits von der Standard-Eingabe lesen"
 
-#: builtin/pack-objects.c:3284
+#: builtin/pack-objects.c:3411
 msgid "limit the objects to those that are not yet packed"
 msgstr "die Objekte zu solchen, die noch nicht gepackt wurden, begrenzen"
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3414
 msgid "include objects reachable from any reference"
 msgstr "Objekte einschließen, die von jeder Referenz erreichbar sind"
 
-#: builtin/pack-objects.c:3290
+#: builtin/pack-objects.c:3417
 msgid "include objects referred by reflog entries"
 msgstr ""
 "Objekte einschließen, die von Einträgen des Reflogs referenziert werden"
 
-#: builtin/pack-objects.c:3293
+#: builtin/pack-objects.c:3420
 msgid "include objects referred to by the index"
 msgstr "Objekte einschließen, die vom Index referenziert werden"
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3423
 msgid "output pack to stdout"
 msgstr "Paket in die Standard-Ausgabe schreiben"
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3425
 msgid "include tag objects that refer to objects to be packed"
 msgstr "Tag-Objekte einschließen, die auf gepackte Objekte referenzieren"
 
-#: builtin/pack-objects.c:3300
+#: builtin/pack-objects.c:3427
 msgid "keep unreachable objects"
 msgstr "nicht erreichbare Objekte behalten"
 
-#: builtin/pack-objects.c:3302
+#: builtin/pack-objects.c:3429
 msgid "pack loose unreachable objects"
 msgstr "nicht erreichbare lose Objekte packen"
 
-#: builtin/pack-objects.c:3304
+#: builtin/pack-objects.c:3431
 msgid "unpack unreachable objects newer than <time>"
 msgstr "nicht erreichbare Objekte entpacken, die neuer als <Zeit> sind"
 
-#: builtin/pack-objects.c:3307
+#: builtin/pack-objects.c:3434
 msgid "use the sparse reachability algorithm"
 msgstr "den \"sparse\" Algorithmus zur Bestimmung der Erreichbarkeit benutzen"
 
-#: builtin/pack-objects.c:3309
+#: builtin/pack-objects.c:3436
 msgid "create thin packs"
 msgstr "dünnere Pakete erzeugen"
 
-#: builtin/pack-objects.c:3311
+#: builtin/pack-objects.c:3438
 msgid "create packs suitable for shallow fetches"
 msgstr ""
 "Pakete geeignet für Abholung mit unvollständiger Historie (shallow) erzeugen"
 
-#: builtin/pack-objects.c:3313
+#: builtin/pack-objects.c:3440
 msgid "ignore packs that have companion .keep file"
 msgstr "Pakete ignorieren, die .keep Dateien haben"
 
-#: builtin/pack-objects.c:3315
+#: builtin/pack-objects.c:3442
 msgid "ignore this pack"
 msgstr "dieses Paket ignorieren"
 
-#: builtin/pack-objects.c:3317
+#: builtin/pack-objects.c:3444
 msgid "pack compression level"
 msgstr "Komprimierungsgrad für Paketierung"
 
-#: builtin/pack-objects.c:3319
+#: builtin/pack-objects.c:3446
 msgid "do not hide commits by grafts"
 msgstr "keine künstlichen Vorgänger-Commits (\"grafts\") verbergen"
 
-#: builtin/pack-objects.c:3321
+#: builtin/pack-objects.c:3448
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "Bitmap-Index (falls verfügbar) zur Optimierung der Objektzählung benutzen"
 
-#: builtin/pack-objects.c:3323
+#: builtin/pack-objects.c:3450
 msgid "write a bitmap index together with the pack index"
 msgstr "Bitmap-Index zusammen mit Pack-Index schreiben"
 
-#: builtin/pack-objects.c:3327
+#: builtin/pack-objects.c:3454
 msgid "write a bitmap index if possible"
 msgstr "Bitmap-Index schreiben, wenn möglich"
 
-#: builtin/pack-objects.c:3331
+#: builtin/pack-objects.c:3458
 msgid "handling for missing objects"
 msgstr "Behandlung für fehlende Objekte"
 
-#: builtin/pack-objects.c:3334
+#: builtin/pack-objects.c:3461
 msgid "do not pack objects in promisor packfiles"
 msgstr ""
 "keine Objekte aus Packdateien von partiell geklonten Remote-Repositories "
 "packen"
 
-#: builtin/pack-objects.c:3336
+#: builtin/pack-objects.c:3463
 msgid "respect islands during delta compression"
 msgstr "Delta-Islands bei Delta-Kompression beachten"
 
-#: builtin/pack-objects.c:3361
+#: builtin/pack-objects.c:3492
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "Tiefe für Verkettung von Unterschieden %d ist zu tief, erzwinge %d"
 
-#: builtin/pack-objects.c:3366
+#: builtin/pack-objects.c:3497
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit ist zu hoch, erzwinge %d"
 
-#: builtin/pack-objects.c:3420
+#: builtin/pack-objects.c:3551
 msgid "--max-pack-size cannot be used to build a pack for transfer"
 msgstr ""
 "--max-pack-size kann nicht für die Erstellung eines Pakets für eine "
 "Übertragung\n"
 "benutzt werden."
 
-#: builtin/pack-objects.c:3422
+#: builtin/pack-objects.c:3553
 msgid "minimum pack size limit is 1 MiB"
 msgstr "Minimales Limit für die Paketgröße ist 1 MiB."
 
-#: builtin/pack-objects.c:3427
+#: builtin/pack-objects.c:3558
 msgid "--thin cannot be used to build an indexable pack"
 msgstr ""
 "--thin kann nicht benutzt werden, um ein indizierbares Paket zu erstellen."
 
-#: builtin/pack-objects.c:3430
+#: builtin/pack-objects.c:3561
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable und --unpack-unreachable sind inkompatibel"
 
-#: builtin/pack-objects.c:3436
+#: builtin/pack-objects.c:3567
 msgid "cannot use --filter without --stdout"
 msgstr "Kann --filter nicht ohne --stdout benutzen."
 
-#: builtin/pack-objects.c:3497
+#: builtin/pack-objects.c:3627
 msgid "Enumerating objects"
 msgstr "Objekte aufzählen"
 
-#: builtin/pack-objects.c:3527
+#: builtin/pack-objects.c:3657
 #, c-format
-msgid "Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>)"
+msgid ""
+"Total %<PRIu32> (delta %<PRIu32>), reused %<PRIu32> (delta %<PRIu32>), pack-"
+"reused %<PRIu32>"
 msgstr ""
 "Gesamt %<PRIu32> (Delta %<PRIu32>), Wiederverwendet %<PRIu32> (Delta "
-"%<PRIu32>)"
+"%<PRIu32>), Pack wiederverwendet %<PRIu32>"
 
 #: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
@@ -16764,53 +17804,53 @@ msgstr ""
 msgid "cannot prune in a precious-objects repo"
 msgstr "kann \"prune\" in precious-objects Repository nicht ausführen"
 
-#: builtin/pull.c:66 builtin/pull.c:68
+#: builtin/pull.c:45 builtin/pull.c:47
 #, c-format
 msgid "Invalid value for %s: %s"
 msgstr "Ungültiger Wert für %s: %s"
 
-#: builtin/pull.c:88
+#: builtin/pull.c:67
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<Optionen>] [<Repository> [<Refspec>...]]"
 
-#: builtin/pull.c:141
+#: builtin/pull.c:122
 msgid "control for recursive fetching of submodules"
 msgstr "rekursive Anforderungen von Submodulen kontrollieren"
 
-#: builtin/pull.c:145
+#: builtin/pull.c:126
 msgid "Options related to merging"
 msgstr "Optionen bezogen auf Merge"
 
-#: builtin/pull.c:148
+#: builtin/pull.c:129
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "Integration von Änderungen durch Rebase statt Merge"
 
-#: builtin/pull.c:176 builtin/rebase.c:447 builtin/revert.c:126
+#: builtin/pull.c:157 builtin/rebase.c:471 builtin/revert.c:126
 msgid "allow fast-forward"
 msgstr "Vorspulen erlauben"
 
-#: builtin/pull.c:185
+#: builtin/pull.c:166
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "automatischer Stash/Stash-Pop vor und nach eines Rebase"
 
-#: builtin/pull.c:201
+#: builtin/pull.c:182
 msgid "Options related to fetching"
 msgstr "Optionen bezogen auf Fetch"
 
-#: builtin/pull.c:211
+#: builtin/pull.c:192
 msgid "force overwrite of local branch"
 msgstr "das Überschreiben von lokalen Branches erzwingen"
 
-#: builtin/pull.c:219
+#: builtin/pull.c:200
 msgid "number of submodules pulled in parallel"
 msgstr "Anzahl der parallel mit 'pull' zu verarbeitenden Submodule"
 
-#: builtin/pull.c:316
+#: builtin/pull.c:300
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Ungültiger Wert für pull.ff: %s"
 
-#: builtin/pull.c:433
+#: builtin/pull.c:426
 msgid ""
 "There is no candidate for rebasing against among the refs that you just "
 "fetched."
@@ -16818,14 +17858,14 @@ msgstr ""
 "Es gibt keinen Kandidaten für Rebase innerhalb der Referenzen, die eben "
 "angefordert wurden."
 
-#: builtin/pull.c:435
+#: builtin/pull.c:428
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Es gibt keine Kandidaten für Merge innerhalb der Referenzen, die eben "
 "angefordert wurden."
 
-#: builtin/pull.c:436
+#: builtin/pull.c:429
 msgid ""
 "Generally this means that you provided a wildcard refspec which had no\n"
 "matches on the remote end."
@@ -16833,7 +17873,7 @@ msgstr ""
 "Im Allgemeinen bedeutet das, dass Sie einen Refspec mit Wildcards angegeben\n"
 "haben, der auf der Gegenseite mit keinen Referenzen übereinstimmt."
 
-#: builtin/pull.c:439
+#: builtin/pull.c:432
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -16845,39 +17885,39 @@ msgstr ""
 "Repository für den aktuellen Branch ist, müssen Sie einen Branch auf\n"
 "der Befehlszeile angeben."
 
-#: builtin/pull.c:444 builtin/rebase.c:1326 git-parse-remote.sh:73
+#: builtin/pull.c:437 builtin/rebase.c:1409 git-parse-remote.sh:73
 msgid "You are not currently on a branch."
 msgstr "Im Moment auf keinem Branch."
 
-#: builtin/pull.c:446 builtin/pull.c:461 git-parse-remote.sh:79
+#: builtin/pull.c:439 builtin/pull.c:454 git-parse-remote.sh:79
 msgid "Please specify which branch you want to rebase against."
 msgstr ""
 "Bitte geben Sie den Branch an, gegen welchen Sie \"rebase\" ausführen "
 "möchten."
 
-#: builtin/pull.c:448 builtin/pull.c:463 git-parse-remote.sh:82
+#: builtin/pull.c:441 builtin/pull.c:456 git-parse-remote.sh:82
 msgid "Please specify which branch you want to merge with."
 msgstr "Bitte geben Sie den Branch an, welchen Sie zusammenführen möchten."
 
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:442 builtin/pull.c:457
 msgid "See git-pull(1) for details."
 msgstr "Siehe git-pull(1) für weitere Details."
 
-#: builtin/pull.c:451 builtin/pull.c:457 builtin/pull.c:466
-#: builtin/rebase.c:1332 git-parse-remote.sh:64
+#: builtin/pull.c:444 builtin/pull.c:450 builtin/pull.c:459
+#: builtin/rebase.c:1415 git-parse-remote.sh:64
 msgid "<remote>"
 msgstr "<Remote-Repository>"
 
-#: builtin/pull.c:451 builtin/pull.c:466 builtin/pull.c:471
+#: builtin/pull.c:444 builtin/pull.c:459 builtin/pull.c:464
 #: git-parse-remote.sh:65
 msgid "<branch>"
 msgstr "<Branch>"
 
-#: builtin/pull.c:459 builtin/rebase.c:1324 git-parse-remote.sh:75
+#: builtin/pull.c:452 builtin/rebase.c:1407 git-parse-remote.sh:75
 msgid "There is no tracking information for the current branch."
 msgstr "Es gibt keine Tracking-Informationen für den aktuellen Branch."
 
-#: builtin/pull.c:468 git-parse-remote.sh:95
+#: builtin/pull.c:461 git-parse-remote.sh:95
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:"
 msgstr ""
@@ -16885,7 +17925,7 @@ msgstr ""
 "Sie\n"
 "dies tun mit:"
 
-#: builtin/pull.c:473
+#: builtin/pull.c:466
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -16895,34 +17935,34 @@ msgstr ""
 "des Remote-Repositories durchzuführen, aber diese Referenz\n"
 "wurde nicht angefordert."
 
-#: builtin/pull.c:581
+#: builtin/pull.c:576
 #, c-format
 msgid "unable to access commit %s"
 msgstr "Konnte nicht auf Commit '%s' zugreifen."
 
-#: builtin/pull.c:861
+#: builtin/pull.c:857
 msgid "ignoring --verify-signatures for rebase"
 msgstr "Ignoriere --verify-signatures für Rebase"
 
-#: builtin/pull.c:916
+#: builtin/pull.c:912
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "--[no-]autostash ist nur mit --rebase zulässig."
 
-#: builtin/pull.c:924
+#: builtin/pull.c:920
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 "Aktualisiere einen ungeborenen Branch mit Änderungen, die zum Commit "
 "vorgemerkt sind."
 
-#: builtin/pull.c:928
+#: builtin/pull.c:924
 msgid "pull with rebase"
 msgstr "Pull mit Rebase"
 
-#: builtin/pull.c:929
+#: builtin/pull.c:925
 msgid "please commit or stash them."
 msgstr "Bitte committen Sie die Änderungen oder benutzen Sie \"stash\"."
 
-#: builtin/pull.c:954
+#: builtin/pull.c:950
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -16932,7 +17972,7 @@ msgstr ""
 "\"fetch\" aktualisierte die Spitze des aktuellen Branches.\n"
 "Spule Ihr Arbeitsverzeichnis von Commit %s vor."
 
-#: builtin/pull.c:960
+#: builtin/pull.c:956
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -16949,15 +17989,15 @@ msgstr ""
 "$ git reset --hard\n"
 "zur Wiederherstellung aus."
 
-#: builtin/pull.c:975
+#: builtin/pull.c:971
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Kann nicht mehrere Branches in einen leeren Branch zusammenführen."
 
-#: builtin/pull.c:979
+#: builtin/pull.c:975
 msgid "Cannot rebase onto multiple branches."
 msgstr "Kann Rebase nicht auf mehrere Branches ausführen."
 
-#: builtin/pull.c:986
+#: builtin/pull.c:982
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "Kann Rebase nicht mit lokal aufgezeichneten Änderungen in Submodulen "
@@ -16967,15 +18007,15 @@ msgstr ""
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<Optionen>] [<Repository> [<Refspec>...]]"
 
-#: builtin/push.c:111
+#: builtin/push.c:112
 msgid "tag shorthand without <tag>"
 msgstr "Kurzschrift für Tag ohne <Tag>"
 
-#: builtin/push.c:121
+#: builtin/push.c:122
 msgid "--delete only accepts plain target ref names"
 msgstr "Die Option --delete akzeptiert nur reine Referenznamen als Ziel."
 
-#: builtin/push.c:167
+#: builtin/push.c:168
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -16984,7 +18024,7 @@ msgstr ""
 "Um eine Variante permanent zu verwenden, siehe push.default in 'git help "
 "config'."
 
-#: builtin/push.c:170
+#: builtin/push.c:171
 #, c-format
 msgid ""
 "The upstream branch of your current branch does not match\n"
@@ -17010,7 +18050,7 @@ msgstr ""
 "    git push %s HEAD\n"
 "%s"
 
-#: builtin/push.c:185
+#: builtin/push.c:186
 #, c-format
 msgid ""
 "You are not currently on a branch.\n"
@@ -17025,7 +18065,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<Name-des-Remote-Branches>\n"
 
-#: builtin/push.c:199
+#: builtin/push.c:200
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -17039,13 +18079,13 @@ msgstr ""
 "\n"
 "    git push --set-upstream %s %s\n"
 
-#: builtin/push.c:207
+#: builtin/push.c:208
 #, c-format
 msgid "The current branch %s has multiple upstream branches, refusing to push."
 msgstr ""
 "Der aktuelle Branch %s hat mehrere Upstream-Branches, \"push\" verweigert."
 
-#: builtin/push.c:210
+#: builtin/push.c:211
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -17056,14 +18096,14 @@ msgstr ""
 "Branches '%s' ist, ohne anzugeben, was versendet werden soll, um welchen\n"
 "Remote-Branch zu aktualisieren."
 
-#: builtin/push.c:269
+#: builtin/push.c:270
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Sie haben keine Refspec für \"push\" angegeben, und push.default ist "
 "\"nothing\"."
 
-#: builtin/push.c:276
+#: builtin/push.c:277
 msgid ""
 "Updates were rejected because the tip of your current branch is behind\n"
 "its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -17077,7 +18117,7 @@ msgstr ""
 "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
 "für weitere Details."
 
-#: builtin/push.c:282
+#: builtin/push.c:283
 msgid ""
 "Updates were rejected because a pushed branch tip is behind its remote\n"
 "counterpart. Check out this branch and integrate the remote changes\n"
@@ -17091,7 +18131,7 @@ msgstr ""
 "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
 "für weitere Details."
 
-#: builtin/push.c:288
+#: builtin/push.c:289
 msgid ""
 "Updates were rejected because the remote contains work that you do\n"
 "not have locally. This is usually caused by another repository pushing\n"
@@ -17110,13 +18150,13 @@ msgstr ""
 "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
 "für weitere Details."
 
-#: builtin/push.c:295
+#: builtin/push.c:296
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 "Aktualisierungen wurden zurückgewiesen, weil das Tag bereits\n"
 "im Remote-Repository existiert."
 
-#: builtin/push.c:298
+#: builtin/push.c:299
 msgid ""
 "You cannot update a remote ref that points at a non-commit object,\n"
 "or update a remote ref to make it point at a non-commit object,\n"
@@ -17126,141 +18166,141 @@ msgstr ""
 "das kein Commit ist, oder es auf ein solches Objekt zeigen lassen, ohne\n"
 "die Option '--force' zu verwenden.\n"
 
-#: builtin/push.c:359
+#: builtin/push.c:360
 #, c-format
 msgid "Pushing to %s\n"
-msgstr "Versende nach %s\n"
+msgstr "Push nach %s\n"
 
-#: builtin/push.c:364
+#: builtin/push.c:367
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "Fehler beim Versenden einiger Referenzen nach '%s'"
 
-#: builtin/push.c:398
-#, c-format
-msgid "bad repository '%s'"
-msgstr "ungültiges Repository '%s'"
-
-#: builtin/push.c:399
-msgid ""
-"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote "
-"repository using\n"
-"\n"
-"    git remote add <name> <url>\n"
-"\n"
-"and then push using the remote name\n"
-"\n"
-"    git push <name>\n"
-msgstr ""
-"Kein Ziel für \"push\" konfiguriert.\n"
-"Entweder spezifizieren Sie die URL von der Befehlszeile oder konfigurieren "
-"ein Remote-Repository unter Benutzung von\n"
-"\n"
-"    git remote add <Name> <URL>\n"
-"\n"
-"und führen \"push\" dann unter Benutzung dieses Namens aus\n"
-"\n"
-"    git push <Name>\n"
-
-#: builtin/push.c:554
+#: builtin/push.c:542
 msgid "repository"
 msgstr "Repository"
 
-#: builtin/push.c:555 builtin/send-pack.c:164
+#: builtin/push.c:543 builtin/send-pack.c:164
 msgid "push all refs"
 msgstr "alle Referenzen versenden"
 
-#: builtin/push.c:556 builtin/send-pack.c:166
+#: builtin/push.c:544 builtin/send-pack.c:166
 msgid "mirror all refs"
 msgstr "alle Referenzen spiegeln"
 
-#: builtin/push.c:558
+#: builtin/push.c:546
 msgid "delete refs"
 msgstr "Referenzen löschen"
 
-#: builtin/push.c:559
+#: builtin/push.c:547
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr "Tags versenden (kann nicht mit --all oder --mirror verwendet werden)"
 
-#: builtin/push.c:562 builtin/send-pack.c:167
+#: builtin/push.c:550 builtin/send-pack.c:167
 msgid "force updates"
 msgstr "Aktualisierung erzwingen"
 
-#: builtin/push.c:564 builtin/send-pack.c:181
+#: builtin/push.c:552 builtin/send-pack.c:181
 msgid "<refname>:<expect>"
 msgstr "<Referenzname>:<Erwartungswert>"
 
-#: builtin/push.c:565 builtin/send-pack.c:182
+#: builtin/push.c:553 builtin/send-pack.c:182
 msgid "require old value of ref to be at this value"
 msgstr "Referenz muss sich auf dem angegebenen Wert befinden"
 
-#: builtin/push.c:568
+#: builtin/push.c:556
 msgid "control recursive pushing of submodules"
 msgstr "rekursiven \"push\" von Submodulen steuern"
 
-#: builtin/push.c:570 builtin/send-pack.c:175
+#: builtin/push.c:558 builtin/send-pack.c:175
 msgid "use thin pack"
 msgstr "kleinere Pakete verwenden"
 
-#: builtin/push.c:571 builtin/push.c:572 builtin/send-pack.c:161
+#: builtin/push.c:559 builtin/push.c:560 builtin/send-pack.c:161
 #: builtin/send-pack.c:162
 msgid "receive pack program"
 msgstr "'receive pack' Programm"
 
-#: builtin/push.c:573
+#: builtin/push.c:561
 msgid "set upstream for git pull/status"
 msgstr "Upstream für \"git pull/status\" setzen"
 
-#: builtin/push.c:576
+#: builtin/push.c:564
 msgid "prune locally removed refs"
 msgstr "lokal gelöschte Referenzen entfernen"
 
-#: builtin/push.c:578
+#: builtin/push.c:566
 msgid "bypass pre-push hook"
 msgstr "\"pre-push hook\" umgehen"
 
-#: builtin/push.c:579
+#: builtin/push.c:567
 msgid "push missing but relevant tags"
 msgstr "fehlende, aber relevante Tags versenden"
 
-#: builtin/push.c:582 builtin/send-pack.c:169
+#: builtin/push.c:570 builtin/send-pack.c:169
 msgid "GPG sign the push"
 msgstr "signiert \"push\" mit GPG"
 
-#: builtin/push.c:584 builtin/send-pack.c:176
+#: builtin/push.c:572 builtin/send-pack.c:176
 msgid "request atomic transaction on remote side"
 msgstr "Referenzen atomar versenden"
 
-#: builtin/push.c:602
+#: builtin/push.c:590
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "Die Option --delete ist inkompatibel mit --all, --mirror und --tags."
 
-#: builtin/push.c:604
+#: builtin/push.c:592
 msgid "--delete doesn't make sense without any refs"
 msgstr "Die Option --delete kann nur mit Referenzen verwendet werden."
 
-#: builtin/push.c:607
+#: builtin/push.c:612
+#, c-format
+msgid "bad repository '%s'"
+msgstr "ungültiges Repository '%s'"
+
+#: builtin/push.c:613
+msgid ""
+"No configured push destination.\n"
+"Either specify the URL from the command-line or configure a remote "
+"repository using\n"
+"\n"
+"    git remote add <name> <url>\n"
+"\n"
+"and then push using the remote name\n"
+"\n"
+"    git push <name>\n"
+msgstr ""
+"Kein Ziel für \"push\" konfiguriert.\n"
+"Entweder spezifizieren Sie die URL von der Befehlszeile oder konfigurieren "
+"ein Remote-Repository unter Benutzung von\n"
+"\n"
+"    git remote add <Name> <URL>\n"
+"\n"
+"und führen \"push\" dann unter Benutzung dieses Namens aus\n"
+"\n"
+"    git push <Name>\n"
+
+#: builtin/push.c:628
 msgid "--all and --tags are incompatible"
 msgstr "Die Optionen --all und --tags sind inkompatibel."
 
-#: builtin/push.c:609
+#: builtin/push.c:630
 msgid "--all can't be combined with refspecs"
 msgstr "Die Option --all kann nicht mit Refspecs kombiniert werden."
 
-#: builtin/push.c:613
+#: builtin/push.c:634
 msgid "--mirror and --tags are incompatible"
 msgstr "Die Optionen --mirror und --tags sind inkompatibel."
 
-#: builtin/push.c:615
+#: builtin/push.c:636
 msgid "--mirror can't be combined with refspecs"
 msgstr "Die Option --mirror kann nicht mit Refspecs kombiniert werden."
 
-#: builtin/push.c:618
+#: builtin/push.c:639
 msgid "--all and --mirror are incompatible"
 msgstr "Die Optionen --all und --mirror sind inkompatibel."
 
-#: builtin/push.c:637
+#: builtin/push.c:643
 msgid "push options must not have new line characters"
 msgstr "Push-Optionen dürfen keine Zeilenvorschubzeichen haben"
 
@@ -17278,24 +18318,32 @@ msgstr "git range-diff [<Optionen>] <alte-Spitze>...<neue-Spitze>"
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<Optionen>] <Basis> <alte-Spitze> <neue-Spitze>"
 
-#: builtin/range-diff.c:21
+#: builtin/range-diff.c:22
 msgid "Percentage by which creation is weighted"
 msgstr "Prozentsatz mit welchem Erzeugung gewichtet wird"
 
-#: builtin/range-diff.c:23
+#: builtin/range-diff.c:24
 msgid "use simple diff colors"
 msgstr "einfache Diff-Farben benutzen"
 
-#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#: builtin/range-diff.c:26
+msgid "notes"
+msgstr "Notizen"
+
+#: builtin/range-diff.c:26
+msgid "passed to 'git log'"
+msgstr "an 'git log' übergeben"
+
+#: builtin/range-diff.c:50 builtin/range-diff.c:54
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "Kein .. im Bereich: '%s'"
 
-#: builtin/range-diff.c:60
+#: builtin/range-diff.c:64
 msgid "single arg format must be symmetric range"
 msgstr "Format mit einfachem Argument muss symmetrischer Bereich sein."
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:79
 msgid "need two commit ranges"
 msgstr "Benötige zwei Commit-Bereiche."
 
@@ -17378,13 +18426,17 @@ msgstr "unpack-trees protokollieren"
 msgid "suppress feedback messages"
 msgstr "Rückmeldungen unterdrücken"
 
+#: builtin/read-tree.c:188
+msgid "You need to resolve your current index first"
+msgstr "Sie müssen zuerst die Konflikte in Ihrem aktuellen Index auflösen."
+
 #: builtin/rebase.c:32
 msgid ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] "
-"[<branch>]"
+"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
+"[<upstream> [<branch>]]"
 msgstr ""
-"git rebase [-i] [<Optionen>] [--exec <Programm>] [--onto <neue-Basis>] "
-"[<Upstream>] [<Branch>]"
+"git rebase [-i] [<Optionen>] [--exec <Programm>] [--onto <neue-Basis> | --"
+"keep-base] [<Upstream> [<Branch>]]"
 
 #: builtin/rebase.c:34
 msgid ""
@@ -17397,217 +18449,208 @@ msgstr ""
 msgid "git rebase --continue | --abort | --skip | --edit-todo"
 msgstr "git rebase --continue | --abort | --skip | --edit-todo"
 
-#: builtin/rebase.c:158 builtin/rebase.c:182 builtin/rebase.c:209
+#: builtin/rebase.c:175 builtin/rebase.c:199 builtin/rebase.c:226
 #, c-format
 msgid "unusable todo list: '%s'"
 msgstr "Unbenutzbare TODO-Liste: '%s'"
 
-#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
-#, c-format
-msgid "could not write '%s'."
-msgstr "Konnte '%s' nicht schreiben."
-
-#: builtin/rebase.c:252
-msgid "no HEAD?"
-msgstr "Kein HEAD?"
-
-#: builtin/rebase.c:279
+#: builtin/rebase.c:292
 #, c-format
 msgid "could not create temporary %s"
 msgstr "Konnte temporäres Verzeichnis '%s' nicht erstellen."
 
-#: builtin/rebase.c:285
+#: builtin/rebase.c:298
 msgid "could not mark as interactive"
 msgstr "Markierung auf interaktiven Rebase fehlgeschlagen."
 
-#: builtin/rebase.c:343
+#: builtin/rebase.c:352
 msgid "could not generate todo list"
 msgstr "Konnte TODO-Liste nicht erzeugen."
 
-#: builtin/rebase.c:382
+#: builtin/rebase.c:391
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "Ein Basis-Commit muss mit --upstream oder --onto angegeben werden."
 
-#: builtin/rebase.c:437
+#: builtin/rebase.c:461
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<Optionen>]"
 
-#: builtin/rebase.c:449
-msgid "keep empty commits"
-msgstr "leere Commits behalten"
+#: builtin/rebase.c:474 builtin/rebase.c:1550
+msgid "(DEPRECATED) keep empty commits"
+msgstr "(VERALTET) leere Commits behalten"
 
-#: builtin/rebase.c:451 builtin/revert.c:128
+#: builtin/rebase.c:478 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "Commits mit leerer Beschreibung erlauben"
 
-#: builtin/rebase.c:452
+#: builtin/rebase.c:480
 msgid "rebase merge commits"
 msgstr "Rebase auf Merge-Commits ausführen"
 
-#: builtin/rebase.c:454
+#: builtin/rebase.c:482
 msgid "keep original branch points of cousins"
 msgstr "originale Branch-Punkte der Cousins behalten"
 
-#: builtin/rebase.c:456
+#: builtin/rebase.c:484
 msgid "move commits that begin with squash!/fixup!"
 msgstr "Commits verschieben, die mit squash!/fixup! beginnen"
 
-#: builtin/rebase.c:457
+#: builtin/rebase.c:485
 msgid "sign commits"
 msgstr "Commits signieren"
 
-#: builtin/rebase.c:459 builtin/rebase.c:1403
+#: builtin/rebase.c:487 builtin/rebase.c:1490
 msgid "display a diffstat of what changed upstream"
 msgstr ""
 "Zusammenfassung der Unterschiede gegenüber dem Upstream-Branch anzeigen"
 
-#: builtin/rebase.c:461
+#: builtin/rebase.c:489
 msgid "continue rebase"
 msgstr "Rebase fortsetzen"
 
-#: builtin/rebase.c:463
+#: builtin/rebase.c:491
 msgid "skip commit"
 msgstr "Commit auslassen"
 
-#: builtin/rebase.c:464
+#: builtin/rebase.c:492
 msgid "edit the todo list"
 msgstr "die TODO-Liste bearbeiten"
 
-#: builtin/rebase.c:466
+#: builtin/rebase.c:494
 msgid "show the current patch"
 msgstr "den aktuellen Patch anzeigen"
 
-#: builtin/rebase.c:469
+#: builtin/rebase.c:497
 msgid "shorten commit ids in the todo list"
 msgstr "Commit-IDs in der TODO-Liste verkürzen"
 
-#: builtin/rebase.c:471
+#: builtin/rebase.c:499
 msgid "expand commit ids in the todo list"
 msgstr "Commit-IDs in der TODO-Liste erweitern"
 
-#: builtin/rebase.c:473
+#: builtin/rebase.c:501
 msgid "check the todo list"
 msgstr "die TODO-Liste prüfen"
 
-#: builtin/rebase.c:475
+#: builtin/rebase.c:503
 msgid "rearrange fixup/squash lines"
 msgstr "fixup/squash-Zeilen umordnen"
 
-#: builtin/rebase.c:477
+#: builtin/rebase.c:505
 msgid "insert exec commands in todo list"
 msgstr "\"exec\"-Befehle in TODO-Liste einfügen"
 
-#: builtin/rebase.c:478
+#: builtin/rebase.c:506
 msgid "onto"
 msgstr "auf"
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:509
 msgid "restrict-revision"
 msgstr "Begrenzungscommit"
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:509
 msgid "restrict revision"
 msgstr "Begrenzungscommit"
 
-#: builtin/rebase.c:483
+#: builtin/rebase.c:511
 msgid "squash-onto"
 msgstr "squash-onto"
 
-#: builtin/rebase.c:484
+#: builtin/rebase.c:512
 msgid "squash onto"
 msgstr "squash onto"
 
-#: builtin/rebase.c:486
+#: builtin/rebase.c:514
 msgid "the upstream commit"
 msgstr "der Upstream-Commit"
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:516
 msgid "head-name"
 msgstr "head-Name"
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:516
 msgid "head name"
 msgstr "head-Name"
 
-#: builtin/rebase.c:493
+#: builtin/rebase.c:521
 msgid "rebase strategy"
 msgstr "Rebase-Strategie"
 
-#: builtin/rebase.c:494
+#: builtin/rebase.c:522
 msgid "strategy-opts"
 msgstr "Strategie-Optionen"
 
-#: builtin/rebase.c:495
+#: builtin/rebase.c:523
 msgid "strategy options"
 msgstr "Strategie-Optionen"
 
-#: builtin/rebase.c:496
+#: builtin/rebase.c:524
 msgid "switch-to"
 msgstr "wechseln zu"
 
-#: builtin/rebase.c:497
+#: builtin/rebase.c:525
 msgid "the branch or commit to checkout"
 msgstr "der Branch oder Commit zum Auschecken"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:526
 msgid "onto-name"
 msgstr "onto-Name"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:526
 msgid "onto name"
 msgstr "onto-Name"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:527
 msgid "cmd"
 msgstr "Befehl"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:527
 msgid "the command to run"
 msgstr "auszuführender Befehl"
 
-#: builtin/rebase.c:502 builtin/rebase.c:1486
+#: builtin/rebase.c:530 builtin/rebase.c:1584
 msgid "automatically re-schedule any `exec` that fails"
 msgstr "jeden fehlgeschlagenen `exec`-Befehl neu ansetzen"
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:546
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins hat ohne --rebase-merges keine Auswirkung"
 
-#: builtin/rebase.c:534
+#: builtin/rebase.c:562
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s erfordert ein interaktives Rebase"
 
-#: builtin/rebase.c:586
+#: builtin/rebase.c:612
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "Konnte 'onto' nicht bestimmen: '%s'"
 
-#: builtin/rebase.c:601
+#: builtin/rebase.c:627
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "Ungültiges orig-head: '%s'"
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:652
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "Ignoriere ungültiges allow_rerere_autoupdate: '%s'"
 
-#: builtin/rebase.c:702
+#: builtin/rebase.c:728
 #, c-format
 msgid "Could not read '%s'"
 msgstr "Konnte '%s' nicht lesen."
 
-#: builtin/rebase.c:720
+#: builtin/rebase.c:746
 #, c-format
 msgid "Cannot store %s"
 msgstr "Kann %s nicht speichern."
 
-#: builtin/rebase.c:827
+#: builtin/rebase.c:853
 msgid "could not determine HEAD revision"
 msgstr "Konnte HEAD-Commit nicht bestimmen."
 
-#: builtin/rebase.c:950 git-rebase--preserve-merges.sh:81
+#: builtin/rebase.c:976 git-rebase--preserve-merges.sh:81
 msgid ""
 "Resolve all conflicts manually, mark them as resolved with\n"
 "\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\n"
@@ -17623,7 +18666,7 @@ msgstr ""
 "Um abzubrechen und zurück zum Zustand vor \"git rebase\" zu gelangen,\n"
 "führen Sie \"git rebase --abort\" aus."
 
-#: builtin/rebase.c:1031
+#: builtin/rebase.c:1058
 #, c-format
 msgid ""
 "\n"
@@ -17643,7 +18686,16 @@ msgstr ""
 "Infolge dessen kann Git auf diesen Revisionen Rebase nicht\n"
 "ausführen."
 
-#: builtin/rebase.c:1318
+#: builtin/rebase.c:1383
+#, c-format
+msgid ""
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
+"\"."
+msgstr ""
+"nicht erkannter leerer Typ '%s'; Gültige Werte sind \"drop\", \"keep\", und "
+"\"ask\"."
+
+#: builtin/rebase.c:1401
 #, c-format
 msgid ""
 "%s\n"
@@ -17661,7 +18713,7 @@ msgstr ""
 "    git rebase '<Branch>'\n"
 "\n"
 
-#: builtin/rebase.c:1334
+#: builtin/rebase.c:1417
 #, c-format
 msgid ""
 "If you wish to set tracking information for this branch you can do so with:\n"
@@ -17675,132 +18727,140 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<Branch> %s\n"
 "\n"
 
-#: builtin/rebase.c:1364
+#: builtin/rebase.c:1447
 msgid "exec commands cannot contain newlines"
 msgstr "\"exec\"-Befehle können keine neuen Zeilen enthalten"
 
-#: builtin/rebase.c:1368
+#: builtin/rebase.c:1451
 msgid "empty exec command"
 msgstr "Leerer \"exec\"-Befehl."
 
-#: builtin/rebase.c:1396
+#: builtin/rebase.c:1481
 msgid "rebase onto given branch instead of upstream"
 msgstr "Rebase auf angegebenen Branch anstelle des Upstream-Branches ausführen"
 
-#: builtin/rebase.c:1398
+#: builtin/rebase.c:1483
+msgid "use the merge-base of upstream and branch as the current base"
+msgstr "Nutze die Merge-Basis von Upstream und Branch als die aktuelle Basis"
+
+#: builtin/rebase.c:1485
 msgid "allow pre-rebase hook to run"
 msgstr "Ausführung des pre-rebase-Hooks erlauben"
 
-#: builtin/rebase.c:1400
+#: builtin/rebase.c:1487
 msgid "be quiet. implies --no-stat"
 msgstr "weniger Ausgaben (impliziert --no-stat)"
 
-#: builtin/rebase.c:1406
+#: builtin/rebase.c:1493
 msgid "do not show diffstat of what changed upstream"
 msgstr ""
 "Zusammenfassung der Unterschiede gegenüber dem Upstream-Branch verbergen"
 
-#: builtin/rebase.c:1409
+#: builtin/rebase.c:1496
 msgid "add a Signed-off-by: line to each commit"
 msgstr "eine \"Signed-off-by:\"-Zeile zu jedem Commit hinzufügen"
 
-#: builtin/rebase.c:1411 builtin/rebase.c:1415 builtin/rebase.c:1417
+#: builtin/rebase.c:1498 builtin/rebase.c:1502 builtin/rebase.c:1504
 msgid "passed to 'git am'"
 msgstr "an 'git am' übergeben"
 
-#: builtin/rebase.c:1419 builtin/rebase.c:1421
+#: builtin/rebase.c:1506 builtin/rebase.c:1508
 msgid "passed to 'git apply'"
 msgstr "an 'git apply' übergeben"
 
-#: builtin/rebase.c:1423 builtin/rebase.c:1426
+#: builtin/rebase.c:1510 builtin/rebase.c:1513
 msgid "cherry-pick all commits, even if unchanged"
 msgstr ""
 "Cherry-Pick auf alle Commits ausführen, auch wenn diese unverändert sind"
 
-#: builtin/rebase.c:1428
+#: builtin/rebase.c:1515
 msgid "continue"
 msgstr "fortsetzen"
 
-#: builtin/rebase.c:1431
+#: builtin/rebase.c:1518
 msgid "skip current patch and continue"
 msgstr "den aktuellen Patch auslassen und fortfahren"
 
-#: builtin/rebase.c:1433
+#: builtin/rebase.c:1520
 msgid "abort and check out the original branch"
 msgstr "abbrechen und den ursprünglichen Branch auschecken"
 
-#: builtin/rebase.c:1436
+#: builtin/rebase.c:1523
 msgid "abort but keep HEAD where it is"
 msgstr "abbrechen, aber HEAD an aktueller Stelle belassen"
 
-#: builtin/rebase.c:1437
+#: builtin/rebase.c:1524
 msgid "edit the todo list during an interactive rebase"
 msgstr "TODO-Liste während eines interaktiven Rebase bearbeiten"
 
-#: builtin/rebase.c:1440
+#: builtin/rebase.c:1527
 msgid "show the patch file being applied or merged"
 msgstr "den Patch, der gerade angewendet oder zusammengeführt wird, anzeigen"
 
-#: builtin/rebase.c:1443
+#: builtin/rebase.c:1530
+msgid "use apply strategies to rebase"
+msgstr "Strategien von 'git am' bei Rebase verwenden"
+
+#: builtin/rebase.c:1534
 msgid "use merging strategies to rebase"
 msgstr "Merge-Strategien beim Rebase verwenden"
 
-#: builtin/rebase.c:1447
+#: builtin/rebase.c:1538
 msgid "let the user edit the list of commits to rebase"
 msgstr "den Benutzer die Liste der Commits für den Rebase bearbeiten lassen"
 
-#: builtin/rebase.c:1451
+#: builtin/rebase.c:1542
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr ""
 "(VERALTET) Versuche, Merges wiederherzustellen anstatt sie zu ignorieren"
 
-#: builtin/rebase.c:1455
-msgid "preserve empty commits during rebase"
-msgstr "leere Commits während des Rebase erhalten"
+#: builtin/rebase.c:1547
+msgid "how to handle commits that become empty"
+msgstr "wie sollen Commits behandelt werden, die leer werden"
 
-#: builtin/rebase.c:1457
+#: builtin/rebase.c:1554
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "bei -i Commits verschieben, die mit squash!/fixup! beginnen"
 
-#: builtin/rebase.c:1463
+#: builtin/rebase.c:1560
 msgid "automatically stash/stash pop before and after"
 msgstr "automatischer Stash/Stash-Pop davor und danach"
 
-#: builtin/rebase.c:1465
+#: builtin/rebase.c:1562
 msgid "add exec lines after each commit of the editable list"
 msgstr "exec-Zeilen nach jedem Commit der editierbaren Liste hinzufügen"
 
-#: builtin/rebase.c:1469
+#: builtin/rebase.c:1566
 msgid "allow rebasing commits with empty messages"
 msgstr "Rebase von Commits mit leerer Beschreibung erlauben"
 
-#: builtin/rebase.c:1472
+#: builtin/rebase.c:1570
 msgid "try to rebase merges instead of skipping them"
 msgstr ""
 "versuchen, Rebase mit Merges auszuführen, anstatt diese zu überspringen"
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1573
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr ""
 "'git merge-base --fork-point' benutzen, um Upstream-Branch zu bestimmen"
 
-#: builtin/rebase.c:1477
+#: builtin/rebase.c:1575
 msgid "use the given merge strategy"
 msgstr "angegebene Merge-Strategie verwenden"
 
-#: builtin/rebase.c:1479 builtin/revert.c:115
+#: builtin/rebase.c:1577 builtin/revert.c:115
 msgid "option"
 msgstr "Option"
 
-#: builtin/rebase.c:1480
+#: builtin/rebase.c:1578
 msgid "pass the argument through to the merge strategy"
 msgstr "Argument zur Merge-Strategie durchreichen"
 
-#: builtin/rebase.c:1483
+#: builtin/rebase.c:1581
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "Rebase auf alle erreichbaren Commits bis zum Root-Commit ausführen"
 
-#: builtin/rebase.c:1500
+#: builtin/rebase.c:1598
 msgid ""
 "the rebase.useBuiltin support has been removed!\n"
 "See its entry in 'git help config' for details."
@@ -17808,32 +18868,40 @@ msgstr ""
 "Die Unterstützung für rebase.useBuiltin wurde entfernt!\n"
 "Siehe dessen Eintrag in 'git help config' für Details."
 
-#: builtin/rebase.c:1506
+#: builtin/rebase.c:1604
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "'git-am' scheint im Gange zu sein. Kann Rebase nicht durchführen."
 
-#: builtin/rebase.c:1547
+#: builtin/rebase.c:1645
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "'git rebase --preserve-merges' ist veraltet. Benutzen Sie stattdessen '--"
 "rebase-merges'."
 
-#: builtin/rebase.c:1551
+#: builtin/rebase.c:1650
+msgid "cannot combine '--keep-base' with '--onto'"
+msgstr "'--keep-base' kann nicht mit '--onto' kombiniert werden"
+
+#: builtin/rebase.c:1652
+msgid "cannot combine '--keep-base' with '--root'"
+msgstr "'--keep-base' kann nicht mit '--root' kombiniert werden"
+
+#: builtin/rebase.c:1656
 msgid "No rebase in progress?"
 msgstr "Kein Rebase im Gange?"
 
-#: builtin/rebase.c:1555
+#: builtin/rebase.c:1660
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "Die --edit-todo Aktion kann nur während eines interaktiven Rebase verwendet "
 "werden."
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1683
 msgid "Cannot read HEAD"
 msgstr "Kann HEAD nicht lesen"
 
-#: builtin/rebase.c:1590
+#: builtin/rebase.c:1695
 msgid ""
 "You must edit all merge conflicts and then\n"
 "mark them as resolved using git add"
@@ -17841,16 +18909,16 @@ msgstr ""
 "Sie müssen alle Merge-Konflikte editieren und diese dann\n"
 "mittels \"git add\" als aufgelöst markieren"
 
-#: builtin/rebase.c:1609
+#: builtin/rebase.c:1714
 msgid "could not discard worktree changes"
 msgstr "Konnte Änderungen im Arbeitsverzeichnis nicht verwerfen."
 
-#: builtin/rebase.c:1628
+#: builtin/rebase.c:1733
 #, c-format
 msgid "could not move back to %s"
 msgstr "Konnte nicht zu %s zurückgehen."
 
-#: builtin/rebase.c:1673
+#: builtin/rebase.c:1778
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -17871,179 +18939,170 @@ msgstr ""
 "und führen Sie diesen Befehl nochmal aus. Es wird angehalten, falls noch\n"
 "etwas Schützenswertes vorhanden ist.\n"
 
-#: builtin/rebase.c:1694
+#: builtin/rebase.c:1806
 msgid "switch `C' expects a numerical value"
 msgstr "Schalter `C' erwartet einen numerischen Wert."
 
-#: builtin/rebase.c:1735
+#: builtin/rebase.c:1847
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "Unbekannter Modus: %s"
 
-#: builtin/rebase.c:1757
+#: builtin/rebase.c:1869
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy erfordert --merge oder --interactive"
 
-#: builtin/rebase.c:1797
+#: builtin/rebase.c:1899
+msgid "cannot combine apply options with merge options"
+msgstr ""
+"Optionen für \"am\" können nicht mit Optionen für \"merge\" kombiniert "
+"werden."
+
+#: builtin/rebase.c:1912
+#, c-format
+msgid "Unknown rebase backend: %s"
+msgstr "Unbekanntes Rebase-Backend: %s"
+
+#: builtin/rebase.c:1937
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec erfordert --exec oder --interactive"
 
-#: builtin/rebase.c:1809
-msgid "cannot combine am options with either interactive or merge options"
-msgstr ""
-"Optionen für \"am\" können nicht mit Optionen für \"interactive\" oder "
-"\"merge\" kombiniert werden."
-
-#: builtin/rebase.c:1828
+#: builtin/rebase.c:1957
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr ""
 "'--preserve-merges' kann nicht mit '--rebase-merges' kombiniert werden."
 
-#: builtin/rebase.c:1832
+#: builtin/rebase.c:1961
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 "Fehler: '--preserve-merges' kann nicht mit '--reschedule-failed-exec' "
 "kombiniert werden."
 
-#: builtin/rebase.c:1838
-msgid "cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr ""
-"'--rebase-merges' kann nicht mit '--strategy-option' kombiniert werden."
-
-#: builtin/rebase.c:1841
-msgid "cannot combine '--rebase-merges' with '--strategy'"
-msgstr "'--rebase-merges' kann nicht mit '--strategy' kombiniert werden."
-
-#: builtin/rebase.c:1865
+#: builtin/rebase.c:1985
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "Ungültiger Upstream '%s'"
 
-#: builtin/rebase.c:1871
+#: builtin/rebase.c:1991
 msgid "Could not create new root commit"
 msgstr "Konnte neuen Root-Commit nicht erstellen."
 
-#: builtin/rebase.c:1889
+#: builtin/rebase.c:2017
+#, c-format
+msgid "'%s': need exactly one merge base with branch"
+msgstr "'%s': benötige genau eine Merge-Basis mit dem Branch"
+
+#: builtin/rebase.c:2020
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s': benötige genau eine Merge-Basis"
 
-#: builtin/rebase.c:1896
+#: builtin/rebase.c:2028
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "'%s' zeigt auf keinen gültigen Commit."
 
-#: builtin/rebase.c:1921
+#: builtin/rebase.c:2054
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "fatal: Branch/Commit '%s' nicht gefunden"
 
-#: builtin/rebase.c:1929 builtin/submodule--helper.c:38
-#: builtin/submodule--helper.c:1934
+#: builtin/rebase.c:2062 builtin/submodule--helper.c:40
+#: builtin/submodule--helper.c:1990
 #, c-format
 msgid "No such ref: %s"
 msgstr "Referenz nicht gefunden: %s"
 
-#: builtin/rebase.c:1940
+#: builtin/rebase.c:2073
 msgid "Could not resolve HEAD to a revision"
 msgstr "Konnte HEAD zu keinem Commit auflösen."
 
-#: builtin/rebase.c:1981
+#: builtin/rebase.c:2111
 msgid "Cannot autostash"
 msgstr "Kann automatischen Stash nicht erzeugen."
 
-#: builtin/rebase.c:1984
+#: builtin/rebase.c:2114
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "Unerwartete 'stash'-Antwort: '%s'"
 
-#: builtin/rebase.c:1990
+#: builtin/rebase.c:2120
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "Konnte Verzeichnis für '%s' nicht erstellen."
 
-#: builtin/rebase.c:1993
+#: builtin/rebase.c:2123
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Automatischen Stash erzeugt: %s\n"
 
-#: builtin/rebase.c:1996
+#: builtin/rebase.c:2126
 msgid "could not reset --hard"
 msgstr "Konnte 'reset --hard' nicht ausführen."
 
-#: builtin/rebase.c:1997 builtin/reset.c:114
-#, c-format
-msgid "HEAD is now at %s"
-msgstr "HEAD ist jetzt bei %s"
-
-#: builtin/rebase.c:2013
+#: builtin/rebase.c:2135
 msgid "Please commit or stash them."
 msgstr "Bitte committen Sie die Änderungen oder benutzen Sie \"stash\"."
 
-#: builtin/rebase.c:2040
-#, c-format
-msgid "could not parse '%s'"
-msgstr "Konnte '%s' nicht parsen."
-
-#: builtin/rebase.c:2053
+#: builtin/rebase.c:2169
 #, c-format
 msgid "could not switch to %s"
 msgstr "Konnte nicht zu %s wechseln."
 
-#: builtin/rebase.c:2064
+#: builtin/rebase.c:2180
 msgid "HEAD is up to date."
 msgstr "HEAD ist aktuell."
 
-#: builtin/rebase.c:2066
+#: builtin/rebase.c:2182
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "Aktueller Branch %s ist auf dem neuesten Stand.\n"
 
-#: builtin/rebase.c:2074
+#: builtin/rebase.c:2190
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD ist aktuell, Rebase erzwungen."
 
-#: builtin/rebase.c:2076
+#: builtin/rebase.c:2192
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "Aktueller Branch %s ist auf dem neuesten Stand, Rebase erzwungen.\n"
 
-#: builtin/rebase.c:2084
+#: builtin/rebase.c:2200
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Der \"pre-rebase hook\" hat den Rebase zurückgewiesen."
 
-#: builtin/rebase.c:2091
+#: builtin/rebase.c:2207
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Änderungen zu %s:\n"
 
-#: builtin/rebase.c:2094
+#: builtin/rebase.c:2210
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Änderungen von %s zu %s:\n"
 
-#: builtin/rebase.c:2119
+#: builtin/rebase.c:2235
 #, c-format
 msgid "First, rewinding head to replay your work on top of it...\n"
 msgstr ""
 "Zunächst wird der Branch zurückgespult, um Ihre Änderungen darauf neu "
 "anzuwenden...\n"
 
-#: builtin/rebase.c:2128
+#: builtin/rebase.c:2244
 msgid "Could not detach HEAD"
 msgstr "Konnte HEAD nicht loslösen."
 
-#: builtin/rebase.c:2137
+#: builtin/rebase.c:2253
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Spule %s vor zu %s.\n"
 
-#: builtin/receive-pack.c:32
+#: builtin/receive-pack.c:33
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <Git-Verzeichnis>"
 
-#: builtin/receive-pack.c:832
+#: builtin/receive-pack.c:821
 msgid ""
 "By default, updating the current branch in a non-bare repository\n"
 "is denied, because it will make the index and work tree inconsistent\n"
@@ -18075,7 +19134,7 @@ msgstr ""
 "setzen Sie die Konfigurationsvariable 'receive.denyCurrentBranch' auf\n"
 "'refuse'."
 
-#: builtin/receive-pack.c:852
+#: builtin/receive-pack.c:841
 msgid ""
 "By default, deleting the current branch is denied, because the next\n"
 "'git clone' won't result in any file checked out, causing confusion.\n"
@@ -18126,49 +19185,49 @@ msgstr ""
 msgid "git reflog exists <ref>"
 msgstr "git reflog exists <Referenz>"
 
-#: builtin/reflog.c:567 builtin/reflog.c:572
+#: builtin/reflog.c:568 builtin/reflog.c:573
 #, c-format
 msgid "'%s' is not a valid timestamp"
 msgstr "'%s' ist kein gültiger Zeitstempel"
 
-#: builtin/reflog.c:605
+#: builtin/reflog.c:606
 #, c-format
 msgid "Marking reachable objects..."
 msgstr "Markiere nicht erreichbare Objekte..."
 
-#: builtin/reflog.c:643
+#: builtin/reflog.c:644
 #, c-format
 msgid "%s points nowhere!"
 msgstr "%s zeigt auf nichts!"
 
-#: builtin/reflog.c:695
+#: builtin/reflog.c:696
 msgid "no reflog specified to delete"
 msgstr "Kein Reflog zum Löschen angegeben."
 
-#: builtin/reflog.c:704
+#: builtin/reflog.c:705
 #, c-format
 msgid "not a reflog: %s"
 msgstr "Kein Reflog: %s"
 
-#: builtin/reflog.c:709
+#: builtin/reflog.c:710
 #, c-format
 msgid "no reflog for '%s'"
 msgstr "Kein Reflog für '%s'."
 
-#: builtin/reflog.c:755
+#: builtin/reflog.c:756
 #, c-format
 msgid "invalid ref format: %s"
 msgstr "Ungültiges Format für Referenzen: %s"
 
-#: builtin/reflog.c:764
+#: builtin/reflog.c:765
 msgid "git reflog [ show | expire | delete | exists ]"
 msgstr "git reflog [ show | expire | delete | exists ]"
 
-#: builtin/remote.c:16
+#: builtin/remote.c:17
 msgid "git remote [-v | --verbose]"
 msgstr "git remote [-v | --verbose]"
 
-#: builtin/remote.c:17
+#: builtin/remote.c:18
 msgid ""
 "git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <name> <url>"
@@ -18176,82 +19235,82 @@ msgstr ""
 "git remote add [-t <Branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <Name> <URL>"
 
-#: builtin/remote.c:18 builtin/remote.c:38
+#: builtin/remote.c:19 builtin/remote.c:39
 msgid "git remote rename <old> <new>"
 msgstr "git remote rename <alt> <neu>"
 
-#: builtin/remote.c:19 builtin/remote.c:43
+#: builtin/remote.c:20 builtin/remote.c:44
 msgid "git remote remove <name>"
 msgstr "git remote remove <Name>"
 
-#: builtin/remote.c:20 builtin/remote.c:48
+#: builtin/remote.c:21 builtin/remote.c:49
 msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
 msgstr "git remote set-head <Name> (-a | --auto | -d | --delete | <Branch>)"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <Name>"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <Name>"
 
-#: builtin/remote.c:23
+#: builtin/remote.c:24
 msgid ""
 "git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
 msgstr ""
 "git remote [-v | --verbose] update [-p | --prune] [(<Gruppe> | <Remote>)...]"
 
-#: builtin/remote.c:24
+#: builtin/remote.c:25
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <Name> <Branch>..."
 
-#: builtin/remote.c:25 builtin/remote.c:74
+#: builtin/remote.c:26 builtin/remote.c:75
 msgid "git remote get-url [--push] [--all] <name>"
 msgstr "git remote get-url [--push] [--all] <Name>"
 
-#: builtin/remote.c:26 builtin/remote.c:79
+#: builtin/remote.c:27 builtin/remote.c:80
 msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
 msgstr "git remote set-url [--push] <Name> <neueURL> [<alteURL>]"
 
-#: builtin/remote.c:27 builtin/remote.c:80
+#: builtin/remote.c:28 builtin/remote.c:81
 msgid "git remote set-url --add <name> <newurl>"
 msgstr "git remote set-url --add <Name> <neueURL>"
 
-#: builtin/remote.c:28 builtin/remote.c:81
+#: builtin/remote.c:29 builtin/remote.c:82
 msgid "git remote set-url --delete <name> <url>"
 msgstr "git remote set-url --delete <Name> <URL>"
 
-#: builtin/remote.c:33
+#: builtin/remote.c:34
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<Optionen>] <Name> <URL>"
 
-#: builtin/remote.c:53
+#: builtin/remote.c:54
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <Name> <Branch>..."
 
-#: builtin/remote.c:54
+#: builtin/remote.c:55
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <Name> <Branch>..."
 
-#: builtin/remote.c:59
+#: builtin/remote.c:60
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<Optionen>] <Name>"
 
-#: builtin/remote.c:64
+#: builtin/remote.c:65
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<Optionen>] <Name>"
 
-#: builtin/remote.c:69
+#: builtin/remote.c:70
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<Optionen>] [<Gruppe> | <externesRepository>]..."
 
-#: builtin/remote.c:98
+#: builtin/remote.c:99
 #, c-format
 msgid "Updating %s"
 msgstr "Aktualisiere %s"
 
-#: builtin/remote.c:130
+#: builtin/remote.c:131
 msgid ""
 "--mirror is dangerous and deprecated; please\n"
 "\t use --mirror=fetch or --mirror=push instead"
@@ -18259,88 +19318,104 @@ msgstr ""
 "--mirror ist gefährlich und veraltet; bitte\n"
 "\t benutzen Sie stattdessen --mirror=fetch oder --mirror=push"
 
-#: builtin/remote.c:147
+#: builtin/remote.c:148
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "unbekanntes Argument für Option --mirror: %s"
 
-#: builtin/remote.c:163
+#: builtin/remote.c:164
 msgid "fetch the remote branches"
 msgstr "die Remote-Branches anfordern"
 
-#: builtin/remote.c:165
+#: builtin/remote.c:166
 msgid "import all tags and associated objects when fetching"
 msgstr "alle Tags und verbundene Objekte beim Anfordern importieren"
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "oder fordere gar keine Tags an (--no-tags)"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "branch(es) to track"
 msgstr "Branch(es) zur Übernahme"
 
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 msgid "master branch"
 msgstr "Hauptbranch"
 
-#: builtin/remote.c:173
+#: builtin/remote.c:174
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr ""
 "Aufsetzen des Remote-Repositories als Spiegel-Repository für \"push\" und "
 "\"fetch\""
 
-#: builtin/remote.c:185
+#: builtin/remote.c:186
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr ""
 "Die Option --mirror kann nicht mit der Angabe eines Hauptbranches verwendet "
 "werden."
 
-#: builtin/remote.c:187
+#: builtin/remote.c:188
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr ""
 "Die Angabe von zu folgenden Branches kann nur mit dem Anfordern von "
 "Spiegelarchiven verwendet werden."
 
-#: builtin/remote.c:194 builtin/remote.c:636
+#: builtin/remote.c:195 builtin/remote.c:696
 #, c-format
 msgid "remote %s already exists."
 msgstr "externes Repository %s existiert bereits"
 
-#: builtin/remote.c:198 builtin/remote.c:640
+#: builtin/remote.c:199 builtin/remote.c:700
 #, c-format
 msgid "'%s' is not a valid remote name"
 msgstr "'%s' ist kein gültiger Name für ein Remote-Repository"
 
-#: builtin/remote.c:238
+#: builtin/remote.c:239
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Konnte symbolische Referenz für Hauptbranch von '%s' nicht einrichten"
 
-#: builtin/remote.c:344
+#: builtin/remote.c:354
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr "Konnte Fetch-Map für Refspec %s nicht bekommen"
 
-#: builtin/remote.c:443 builtin/remote.c:451
+#: builtin/remote.c:453 builtin/remote.c:461
 msgid "(matching)"
 msgstr "(übereinstimmend)"
 
-#: builtin/remote.c:455
+#: builtin/remote.c:465
 msgid "(delete)"
 msgstr "(lösche)"
 
-#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
+#: builtin/remote.c:653
+#, c-format
+msgid "could not set '%s'"
+msgstr "konnte '%s' nicht setzen"
+
+#: builtin/remote.c:658
+#, c-format
+msgid ""
+"The %s configuration remote.pushDefault in:\n"
+"\t%s:%d\n"
+"now names the non-existent remote '%s'"
+msgstr ""
+"Die %s Konfiguration remote.pushDefault in:\n"
+"\t%s:%d\n"
+"benennt jetzt das nicht existierende Remote-Repository '%s'"
+
+#: builtin/remote.c:689 builtin/remote.c:832 builtin/remote.c:940
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "Kein solches Remote-Repository: '%s'"
 
-#: builtin/remote.c:646
+#: builtin/remote.c:706
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Konnte Sektion '%s' in Konfiguration nicht nach '%s' umbenennen"
 
-#: builtin/remote.c:666
+#: builtin/remote.c:726
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -18351,17 +19426,17 @@ msgstr ""
 "\t%s\n"
 "\tBitte aktualisieren Sie, falls notwendig, die Konfiguration manuell."
 
-#: builtin/remote.c:702
+#: builtin/remote.c:766
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "Konnte '%s' nicht löschen"
 
-#: builtin/remote.c:736
+#: builtin/remote.c:800
 #, c-format
 msgid "creating '%s' failed"
 msgstr "Konnte '%s' nicht erstellen"
 
-#: builtin/remote.c:802
+#: builtin/remote.c:876
 msgid ""
 "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
 "to delete it, use:"
@@ -18377,118 +19452,118 @@ msgstr[1] ""
 "entfernt;\n"
 "um diese zu entfernen, benutzen Sie:"
 
-#: builtin/remote.c:816
+#: builtin/remote.c:890
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Konnte Sektion '%s' nicht aus Konfiguration entfernen"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:993
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " neu (wird bei nächstem \"fetch\" in remotes/%s gespeichert)"
 
-#: builtin/remote.c:920
+#: builtin/remote.c:996
 msgid " tracked"
 msgstr " gefolgt"
 
-#: builtin/remote.c:922
+#: builtin/remote.c:998
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " veraltet (benutzen Sie 'git remote prune' zum Löschen)"
 
-#: builtin/remote.c:924
+#: builtin/remote.c:1000
 msgid " ???"
 msgstr " ???"
 
-#: builtin/remote.c:965
+#: builtin/remote.c:1041
 #, c-format
 msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
 msgstr "ungültiges branch.%s.merge; kann Rebase nicht auf > 1 Branch ausführen"
 
-#: builtin/remote.c:974
+#: builtin/remote.c:1050
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "interaktiver Rebase auf Remote-Branch %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:1052
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "interaktiver Rebase (mit Merges) auf Remote-Branch %s"
 
-#: builtin/remote.c:979
+#: builtin/remote.c:1055
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "Rebase auf Remote-Branch %s"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:1059
 #, c-format
 msgid " merges with remote %s"
 msgstr " führt mit Remote-Branch %s zusammen"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:1062
 #, c-format
 msgid "merges with remote %s"
 msgstr "führt mit Remote-Branch %s zusammen"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:1065
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    und mit Remote-Branch %s\n"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1108
 msgid "create"
 msgstr "erstellt"
 
-#: builtin/remote.c:1035
+#: builtin/remote.c:1111
 msgid "delete"
 msgstr "gelöscht"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1115
 msgid "up to date"
 msgstr "aktuell"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1118
 msgid "fast-forwardable"
 msgstr "vorspulbar"
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1121
 msgid "local out of date"
 msgstr "lokal nicht aktuell"
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1128
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s erzwingt Versandt nach %-*s (%s)"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1131
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s versendet nach %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1135
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s erzwingt Versand nach %s"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1138
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s versendet nach %s"
 
-#: builtin/remote.c:1130
+#: builtin/remote.c:1206
 msgid "do not query remotes"
 msgstr "keine Abfrage von Remote-Repositories"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1233
 #, c-format
 msgid "* remote %s"
 msgstr "* Remote-Repository %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1234
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL zum Abholen: %s"
 
-#: builtin/remote.c:1159 builtin/remote.c:1175 builtin/remote.c:1314
+#: builtin/remote.c:1235 builtin/remote.c:1251 builtin/remote.c:1390
 msgid "(no URL)"
 msgstr "(keine URL)"
 
@@ -18496,25 +19571,25 @@ msgstr "(keine URL)"
 #. with the one in " Fetch URL: %s"
 #. translation.
 #.
-#: builtin/remote.c:1173 builtin/remote.c:1175
+#: builtin/remote.c:1249 builtin/remote.c:1251
 #, c-format
 msgid "  Push  URL: %s"
 msgstr "  URL zum Versenden: %s"
 
-#: builtin/remote.c:1177 builtin/remote.c:1179 builtin/remote.c:1181
+#: builtin/remote.c:1253 builtin/remote.c:1255 builtin/remote.c:1257
 #, c-format
 msgid "  HEAD branch: %s"
 msgstr "  Hauptbranch: %s"
 
-#: builtin/remote.c:1177
+#: builtin/remote.c:1253
 msgid "(not queried)"
 msgstr "(nicht abgefragt)"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1255
 msgid "(unknown)"
 msgstr "(unbekannt)"
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1259
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -18522,172 +19597,163 @@ msgstr ""
 "  Hauptbranch (externer HEAD ist mehrdeutig, könnte einer der folgenden "
 "sein):\n"
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1271
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Remote-Branch:%s"
 msgstr[1] "  Remote-Branches:%s"
 
-#: builtin/remote.c:1198 builtin/remote.c:1224
+#: builtin/remote.c:1274 builtin/remote.c:1300
 msgid " (status not queried)"
 msgstr " (Zustand nicht abgefragt)"
 
-#: builtin/remote.c:1207
+#: builtin/remote.c:1283
 msgid "  Local branch configured for 'git pull':"
 msgid_plural "  Local branches configured for 'git pull':"
 msgstr[0] "  Lokaler Branch konfiguriert für 'git pull':"
 msgstr[1] "  Lokale Branches konfiguriert für 'git pull':"
 
-#: builtin/remote.c:1215
+#: builtin/remote.c:1291
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  Lokale Referenzen werden von 'git push' gespiegelt"
 
-#: builtin/remote.c:1221
+#: builtin/remote.c:1297
 #, c-format
 msgid "  Local ref configured for 'git push'%s:"
 msgid_plural "  Local refs configured for 'git push'%s:"
 msgstr[0] "  Lokale Referenz konfiguriert für 'git push'%s:"
 msgstr[1] "  Lokale Referenzen konfiguriert für 'git push'%s:"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1318
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "setzt refs/remotes/<Name>/HEAD gemäß dem Remote-Repository"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1320
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "entfernt refs/remotes/<Name>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1335
 msgid "Cannot determine remote HEAD"
 msgstr "Kann HEAD des Remote-Repositories nicht bestimmen"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1337
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 "Mehrere Hauptbranches im Remote-Repository. Bitte wählen Sie explizit einen "
 "aus mit:"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1347
 #, c-format
 msgid "Could not delete %s"
 msgstr "Konnte %s nicht entfernen"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1355
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "keine gültige Referenz: %s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1357
 #, c-format
 msgid "Could not setup %s"
 msgstr "Konnte %s nicht einrichten"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1375
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s wird unreferenziert!"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1376
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s wurde unreferenziert!"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1386
 #, c-format
 msgid "Pruning %s"
 msgstr "entferne veraltete Branches von %s"
 
-#: builtin/remote.c:1311
+#: builtin/remote.c:1387
 #, c-format
 msgid "URL: %s"
 msgstr "URL: %s"
 
-#: builtin/remote.c:1327
+#: builtin/remote.c:1403
 #, c-format
 msgid " * [would prune] %s"
 msgstr " * [würde veralteten Branch entfernen] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1406
 #, c-format
 msgid " * [pruned] %s"
 msgstr "* [veralteten Branch entfernt] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1451
 msgid "prune remotes after fetching"
 msgstr "entferne veraltete Branches im Remote-Repository nach \"fetch\""
 
-#: builtin/remote.c:1438 builtin/remote.c:1492 builtin/remote.c:1560
+#: builtin/remote.c:1514 builtin/remote.c:1568 builtin/remote.c:1636
 #, c-format
 msgid "No such remote '%s'"
 msgstr "Kein solches Remote-Repository '%s'"
 
-#: builtin/remote.c:1454
+#: builtin/remote.c:1530
 msgid "add branch"
 msgstr "Branch hinzufügen"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1537
 msgid "no remote specified"
 msgstr "kein Remote-Repository angegeben"
 
-#: builtin/remote.c:1478
+#: builtin/remote.c:1554
 msgid "query push URLs rather than fetch URLs"
 msgstr "nur URLs für Push ausgeben"
 
-#: builtin/remote.c:1480
+#: builtin/remote.c:1556
 msgid "return all URLs"
 msgstr "alle URLs ausgeben"
 
-#: builtin/remote.c:1508
+#: builtin/remote.c:1584
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "Keine URLs für Remote-Repository '%s' konfiguriert."
 
-#: builtin/remote.c:1534
+#: builtin/remote.c:1610
 msgid "manipulate push URLs"
 msgstr "URLs für \"push\" manipulieren"
 
-#: builtin/remote.c:1536
+#: builtin/remote.c:1612
 msgid "add URL"
 msgstr "URL hinzufügen"
 
-#: builtin/remote.c:1538
+#: builtin/remote.c:1614
 msgid "delete URLs"
 msgstr "URLs löschen"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1621
 msgid "--add --delete doesn't make sense"
 msgstr ""
 "Die Optionen --add und --delete können nicht gemeinsam verwendet werden."
 
-#: builtin/remote.c:1584
+#: builtin/remote.c:1660
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "ungültiges altes URL Format: %s"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1668
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Keine solche URL gefunden: %s"
 
-#: builtin/remote.c:1594
+#: builtin/remote.c:1670
 msgid "Will not delete all non-push URLs"
 msgstr "Werde keine URLs entfernen, die nicht für \"push\" bestimmt sind"
 
-#: builtin/remote.c:1610
-msgid "be verbose; must be placed before a subcommand"
-msgstr "erweiterte Ausgaben; muss vor einem Unterbefehl angegeben werden"
-
-#: builtin/remote.c:1641
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr "Unbekannter Unterbefehl: %s"
-
-#: builtin/repack.c:22
+#: builtin/repack.c:23
 msgid "git repack [<options>]"
 msgstr "git repack [<Optionen>]"
 
-#: builtin/repack.c:27
+#: builtin/repack.c:28
 msgid ""
 "Incremental repacks are incompatible with bitmap indexes.  Use\n"
 "--no-write-bitmap-index or disable the pack.writebitmaps configuration."
@@ -18696,119 +19762,119 @@ msgstr ""
 "--no-write-bitmap-index oder deaktivieren Sie die pack.writebitmaps\n"
 "Konfiguration."
 
-#: builtin/repack.c:190
+#: builtin/repack.c:191
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 "Konnte 'pack-objects' für das Neupacken von Objekten aus partiell geklonten\n"
 "Remote-Repositories nicht starten."
 
-#: builtin/repack.c:229 builtin/repack.c:408
+#: builtin/repack.c:230 builtin/repack.c:416
 msgid "repack: Expecting full hex object ID lines only from pack-objects."
 msgstr ""
 "repack: Erwarte Zeilen mit vollständiger Hex-Objekt-ID nur von pack-objects."
 
-#: builtin/repack.c:246
+#: builtin/repack.c:254
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr ""
 "Konnte 'pack-objects' für das Neupacken von Objekten aus partiell geklonten\n"
 "Remote-Repositories nicht abschließen."
 
-#: builtin/repack.c:284
+#: builtin/repack.c:292
 msgid "pack everything in a single pack"
 msgstr "alles in eine einzige Pack-Datei packen"
 
-#: builtin/repack.c:286
+#: builtin/repack.c:294
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "genau wie -a, unerreichbare Objekte werden aber nicht gelöscht"
 
-#: builtin/repack.c:289
+#: builtin/repack.c:297
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "redundante Pakete entfernen und \"git-prune-packed\" ausführen"
 
-#: builtin/repack.c:291
+#: builtin/repack.c:299
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "--no-reuse-delta an git-pack-objects übergeben"
 
-#: builtin/repack.c:293
+#: builtin/repack.c:301
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "--no-reuse-object an git-pack-objects übergeben"
 
-#: builtin/repack.c:295
+#: builtin/repack.c:303
 msgid "do not run git-update-server-info"
 msgstr "git-update-server-info nicht ausführen"
 
-#: builtin/repack.c:298
+#: builtin/repack.c:306
 msgid "pass --local to git-pack-objects"
 msgstr "--local an git-pack-objects übergeben"
 
-#: builtin/repack.c:300
+#: builtin/repack.c:308
 msgid "write bitmap index"
 msgstr "Bitmap-Index schreiben"
 
-#: builtin/repack.c:302
+#: builtin/repack.c:310
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "--delta-islands an git-pack-objects übergeben"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:311
 msgid "approxidate"
 msgstr "Datumsangabe"
 
-#: builtin/repack.c:304
+#: builtin/repack.c:312
 msgid "with -A, do not loosen objects older than this"
 msgstr "mit -A, keine Objekte älter als dieses Datum löschen"
 
-#: builtin/repack.c:306
+#: builtin/repack.c:314
 msgid "with -a, repack unreachable objects"
 msgstr "mit -a, nicht erreichbare Objekte neu packen"
 
-#: builtin/repack.c:308
+#: builtin/repack.c:316
 msgid "size of the window used for delta compression"
 msgstr "Größe des Fensters für die Delta-Kompression"
 
-#: builtin/repack.c:309 builtin/repack.c:315
+#: builtin/repack.c:317 builtin/repack.c:323
 msgid "bytes"
 msgstr "Bytes"
 
-#: builtin/repack.c:310
+#: builtin/repack.c:318
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "gleiches wie oben, aber die Speichergröße anstatt der\n"
 "Anzahl der Einträge limitieren"
 
-#: builtin/repack.c:312
+#: builtin/repack.c:320
 msgid "limits the maximum delta depth"
 msgstr "die maximale Delta-Tiefe limitieren"
 
-#: builtin/repack.c:314
+#: builtin/repack.c:322
 msgid "limits the maximum number of threads"
 msgstr "maximale Anzahl von Threads limitieren"
 
-#: builtin/repack.c:316
+#: builtin/repack.c:324
 msgid "maximum size of each packfile"
 msgstr "maximale Größe für jede Paketdatei"
 
-#: builtin/repack.c:318
+#: builtin/repack.c:326
 msgid "repack objects in packs marked with .keep"
 msgstr ""
 "Objekte umpacken, die sich in mit .keep markierten Pack-Dateien befinden"
 
-#: builtin/repack.c:320
+#: builtin/repack.c:328
 msgid "do not repack this pack"
 msgstr "dieses Paket nicht neu packen"
 
-#: builtin/repack.c:330
+#: builtin/repack.c:338
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "kann Pack-Dateien in precious-objects Repository nicht löschen"
 
-#: builtin/repack.c:334
+#: builtin/repack.c:342
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable und -A sind inkompatibel"
 
-#: builtin/repack.c:417
+#: builtin/repack.c:425
 msgid "Nothing new to pack."
 msgstr "Nichts Neues zum Packen."
 
-#: builtin/repack.c:478
+#: builtin/repack.c:486
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -18827,7 +19893,7 @@ msgstr ""
 "WARNUNG: ebenfalls fehl.\n"
 "WARNUNG: Bitte benennen Sie diese manuell nach %s um:\n"
 
-#: builtin/repack.c:526
+#: builtin/repack.c:534
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "Fehler beim Löschen von '%s'"
@@ -18936,8 +20002,8 @@ msgstr "Kann fstat auf %s nicht ausführen."
 msgid "unable to write object to database"
 msgstr "Konnte Objekt nicht in Datenbank schreiben."
 
-#: builtin/replace.c:322 builtin/replace.c:377 builtin/replace.c:422
-#: builtin/replace.c:452
+#: builtin/replace.c:322 builtin/replace.c:378 builtin/replace.c:424
+#: builtin/replace.c:454
 #, c-format
 msgid "not a valid object name: '%s'"
 msgstr "Kein gültiger Objektname: '%s'"
@@ -18956,22 +20022,22 @@ msgstr "Bearbeiten von Objektdatei fehlgeschlagen."
 msgid "new object is the same as the old one: '%s'"
 msgstr "Neues Objekt ist dasselbe wie das alte: '%s'"
 
-#: builtin/replace.c:383
+#: builtin/replace.c:384
 #, c-format
 msgid "could not parse %s as a commit"
 msgstr "Konnte nicht %s als Commit parsen."
 
-#: builtin/replace.c:414
+#: builtin/replace.c:416
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "ungültiger Merge-Tag in Commit '%s'"
 
-#: builtin/replace.c:416
+#: builtin/replace.c:418
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "fehlerhafter Merge-Tag in Commit '%s'"
 
-#: builtin/replace.c:428
+#: builtin/replace.c:430
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -18980,31 +20046,31 @@ msgstr ""
 "Der ursprüngliche Commit '%s' enthält Merge-Tag '%s', der verworfen\n"
 "wird; benutzen Sie --edit anstatt --graft"
 
-#: builtin/replace.c:467
+#: builtin/replace.c:469
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr "Der originale Commit '%s' hat eine GPG-Signatur."
 
-#: builtin/replace.c:468
+#: builtin/replace.c:470
 msgid "the signature will be removed in the replacement commit!"
 msgstr "Die Signatur wird in dem Ersetzungs-Commit entfernt!"
 
-#: builtin/replace.c:478
+#: builtin/replace.c:480
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "Konnte Ersetzungs-Commit für '%s' nicht schreiben"
 
-#: builtin/replace.c:486
+#: builtin/replace.c:488
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr "Künstlicher Vorgänger (\"graft\") für '%s' nicht notwendig."
 
-#: builtin/replace.c:490
+#: builtin/replace.c:492
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr "Neuer Commit ist derselbe wie der alte: '%s'"
 
-#: builtin/replace.c:525
+#: builtin/replace.c:527
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
@@ -19013,71 +20079,71 @@ msgstr ""
 "Konnte die folgenden künstlichen Vorgänger (\"grafts\") nicht konvertieren:\n"
 "%s"
 
-#: builtin/replace.c:546
+#: builtin/replace.c:548
 msgid "list replace refs"
 msgstr "ersetzende Referenzen auflisten"
 
-#: builtin/replace.c:547
+#: builtin/replace.c:549
 msgid "delete replace refs"
 msgstr "ersetzende Referenzen löschen"
 
-#: builtin/replace.c:548
+#: builtin/replace.c:550
 msgid "edit existing object"
 msgstr "existierendes Objekt bearbeiten"
 
-#: builtin/replace.c:549
+#: builtin/replace.c:551
 msgid "change a commit's parents"
 msgstr "Eltern-Commits eines Commits ändern"
 
-#: builtin/replace.c:550
+#: builtin/replace.c:552
 msgid "convert existing graft file"
 msgstr "existierende Datei des künstlichen Vorgängers (\"graft\") konvertieren"
 
-#: builtin/replace.c:551
+#: builtin/replace.c:553
 msgid "replace the ref if it exists"
 msgstr "die Referenz ersetzen, wenn sie existiert"
 
-#: builtin/replace.c:553
+#: builtin/replace.c:555
 msgid "do not pretty-print contents for --edit"
 msgstr "keine ansprechende Anzeige des Objektinhaltes für --edit"
 
-#: builtin/replace.c:554
+#: builtin/replace.c:556
 msgid "use this format"
 msgstr "das angegebene Format benutzen"
 
-#: builtin/replace.c:567
+#: builtin/replace.c:569
 msgid "--format cannot be used when not listing"
 msgstr "--format kann nicht beim Auflisten verwendet werden."
 
-#: builtin/replace.c:575
+#: builtin/replace.c:577
 msgid "-f only makes sense when writing a replacement"
 msgstr "-f macht nur beim Schreiben einer Ersetzung Sinn."
 
-#: builtin/replace.c:579
+#: builtin/replace.c:581
 msgid "--raw only makes sense with --edit"
 msgstr "--raw macht nur mit --edit Sinn."
 
-#: builtin/replace.c:585
+#: builtin/replace.c:587
 msgid "-d needs at least one argument"
 msgstr "-d benötigt mindestens ein Argument."
 
-#: builtin/replace.c:591
+#: builtin/replace.c:593
 msgid "bad number of arguments"
 msgstr "Ungültige Anzahl von Argumenten."
 
-#: builtin/replace.c:597
+#: builtin/replace.c:599
 msgid "-e needs exactly one argument"
 msgstr "-e benötigt genau ein Argument."
 
-#: builtin/replace.c:603
+#: builtin/replace.c:605
 msgid "-g needs at least one argument"
 msgstr "-g benötigt mindestens ein Argument."
 
-#: builtin/replace.c:609
+#: builtin/replace.c:611
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file erwartet keine Argumente"
 
-#: builtin/replace.c:615
+#: builtin/replace.c:617
 msgid "only one pattern can be given with -l"
 msgstr "Mit -l kann nur ein Muster angegeben werden."
 
@@ -19105,115 +20171,127 @@ msgstr ""
 "git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<Commit>]"
 
 #: builtin/reset.c:33
-msgid "git reset [-q] [<tree-ish>] [--] <paths>..."
-msgstr "git reset [-q] [<Commit-Referenz>] [--] <Pfade>..."
+msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
+msgstr "git reset [-q] [<Commit-Referenz>] [--] <Pfadspezifikation>..."
 
 #: builtin/reset.c:34
-msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
-msgstr "git reset --patch [<Commit-Referenz>] [--] [<Pfade>...]"
+msgid ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+msgstr ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<Commit-"
+"Referenz>]"
+
+#: builtin/reset.c:35
+msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
+msgstr "git reset --patch [<Commit-Referenz>] [--] [<Pfadspezifikation>...]"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "mixed"
 msgstr "mixed"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "soft"
 msgstr "soft"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "hard"
 msgstr "hard"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "merge"
 msgstr "zusammenführen"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:41
 msgid "keep"
 msgstr "keep"
 
-#: builtin/reset.c:81
+#: builtin/reset.c:82
 msgid "You do not have a valid HEAD."
 msgstr "Sie haben keinen gültigen HEAD."
 
-#: builtin/reset.c:83
+#: builtin/reset.c:84
 msgid "Failed to find tree of HEAD."
 msgstr "Fehler beim Finden des \"Tree\"-Objektes von HEAD."
 
-#: builtin/reset.c:89
+#: builtin/reset.c:90
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Fehler beim Finden des \"Tree\"-Objektes von %s."
 
-#: builtin/reset.c:193
+#: builtin/reset.c:115
+#, c-format
+msgid "HEAD is now at %s"
+msgstr "HEAD ist jetzt bei %s"
+
+#: builtin/reset.c:194
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Kann keinen '%s'-Reset durchführen, während ein Merge im Gange ist."
 
-#: builtin/reset.c:293 builtin/stash.c:514 builtin/stash.c:589
-#: builtin/stash.c:613
+#: builtin/reset.c:294 builtin/stash.c:520 builtin/stash.c:595
+#: builtin/stash.c:619
 msgid "be quiet, only report errors"
 msgstr "weniger Ausgaben, nur Fehler melden"
 
-#: builtin/reset.c:295
+#: builtin/reset.c:296
 msgid "reset HEAD and index"
 msgstr "HEAD und Index umsetzen"
 
-#: builtin/reset.c:296
+#: builtin/reset.c:297
 msgid "reset only HEAD"
 msgstr "nur HEAD umsetzen"
 
-#: builtin/reset.c:298 builtin/reset.c:300
+#: builtin/reset.c:299 builtin/reset.c:301
 msgid "reset HEAD, index and working tree"
 msgstr "HEAD, Index und Arbeitsverzeichnis umsetzen"
 
-#: builtin/reset.c:302
+#: builtin/reset.c:303
 msgid "reset HEAD but keep local changes"
 msgstr "HEAD umsetzen, aber lokale Änderungen behalten"
 
-#: builtin/reset.c:308
+#: builtin/reset.c:309
 msgid "record only the fact that removed paths will be added later"
 msgstr "nur speichern, dass gelöschte Pfade später hinzugefügt werden sollen"
 
-#: builtin/reset.c:326
+#: builtin/reset.c:343
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Konnte '%s' nicht als gültigen Commit auflösen."
 
-#: builtin/reset.c:334
+#: builtin/reset.c:351
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Konnte '%s' nicht als gültiges \"Tree\"-Objekt auflösen."
 
-#: builtin/reset.c:343
+#: builtin/reset.c:360
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch ist inkompatibel mit --{hard,mixed,soft}"
 
-#: builtin/reset.c:353
+#: builtin/reset.c:370
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed mit Pfaden ist veraltet; benutzen Sie stattdessen 'git reset -- "
 "<Pfade>'."
 
-#: builtin/reset.c:355
+#: builtin/reset.c:372
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Ein '%s'-Reset mit Pfaden ist nicht möglich."
 
-#: builtin/reset.c:370
+#: builtin/reset.c:387
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "'%s'-Reset ist in einem Bare-Repository nicht erlaubt"
 
-#: builtin/reset.c:374
+#: builtin/reset.c:391
 msgid "-N can only be used with --mixed"
 msgstr "-N kann nur mit -mixed benutzt werden"
 
-#: builtin/reset.c:395
+#: builtin/reset.c:412
 msgid "Unstaged changes after reset:"
 msgstr "Nicht zum Commit vorgemerkte Änderungen nach Zurücksetzung:"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:415
 #, c-format
 msgid ""
 "\n"
@@ -19227,37 +20305,31 @@ msgstr ""
 "das zu verhindern. Setzen Sie die Konfigurationseinstellung reset.quiet\n"
 "auf \"true\", um das zum Standard zu machen.\n"
 
-#: builtin/reset.c:408
+#: builtin/reset.c:425
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Konnte Index-Datei nicht zu Commit '%s' setzen."
 
-#: builtin/reset.c:412
+#: builtin/reset.c:429
 msgid "Could not write new index file."
 msgstr "Konnte neue Index-Datei nicht schreiben."
 
-#: builtin/rev-list.c:412
+#: builtin/rev-list.c:499
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr ""
 "--exclude-promisor-objects und --missing können nicht kombiniert werden."
 
-#: builtin/rev-list.c:473
+#: builtin/rev-list.c:560
 msgid "object filtering requires --objects"
 msgstr "Das Filtern von Objekten erfordert --objects."
 
-#: builtin/rev-list.c:476
-#, c-format
-msgid "invalid sparse value '%s'"
-msgstr "Ungültiger \"sparse\"-Wert '%s'."
-
-#: builtin/rev-list.c:527
+#: builtin/rev-list.c:610
 msgid "rev-list does not support display of notes"
 msgstr "rev-list unterstützt keine Anzeige von Notizen"
 
-#: builtin/rev-list.c:530
-msgid "cannot combine --use-bitmap-index with object filtering"
-msgstr ""
-"--use-bitmap-index kann nicht mit dem Filtern von Objekten kombiniert werden."
+#: builtin/rev-list.c:615
+msgid "marked counting is incompatible with --objects"
+msgstr "markiertes Zählen ist inkompatibel mit der Option --objects"
 
 #: builtin/rev-parse.c:408
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
@@ -19425,38 +20497,44 @@ msgid_plural "the following files have local modifications:"
 msgstr[0] "die folgende Datei hat lokale Änderungen:"
 msgstr[1] "die folgenden Dateien haben lokale Änderungen:"
 
-#: builtin/rm.c:242
+#: builtin/rm.c:243
 msgid "do not list removed files"
 msgstr "keine gelöschten Dateien auflisten"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "only remove from the index"
 msgstr "nur aus dem Index entfernen"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "override the up-to-date check"
 msgstr "die \"up-to-date\" Prüfung überschreiben"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "allow recursive removal"
 msgstr "rekursives Entfernen erlauben"
 
-#: builtin/rm.c:247
+#: builtin/rm.c:248
 msgid "exit with a zero status even if nothing matched"
 msgstr "mit Rückgabewert 0 beenden, wenn keine Übereinstimmung gefunden wurde"
 
-#: builtin/rm.c:289
+#: builtin/rm.c:282
+msgid "No pathspec was given. Which files should I remove?"
+msgstr ""
+"Es wurde keine Pfadspezifikation angegeben. Welche Dateien sollen entfernt "
+"werden?"
+
+#: builtin/rm.c:305
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "Bitte merken Sie Ihre Änderungen in .gitmodules zum Commit vor oder\n"
 "benutzen Sie \"stash\", um fortzufahren."
 
-#: builtin/rm.c:307
+#: builtin/rm.c:323
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "'%s' wird nicht ohne -r rekursiv entfernt"
 
-#: builtin/rm.c:346
+#: builtin/rm.c:362
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm: konnte %s nicht löschen"
@@ -19711,15 +20789,85 @@ msgstr ""
 "Referenzen von der Standard-Eingabe anzeigen, die sich nicht im lokalen "
 "Repository befinden"
 
-#: builtin/stash.c:22 builtin/stash.c:37
+#: builtin/sparse-checkout.c:21
+msgid "git sparse-checkout (init|list|set|add|disable) <options>"
+msgstr "git sparse-checkout (init|list|set|add|disable) <Optionen>"
+
+#: builtin/sparse-checkout.c:64
+msgid "this worktree is not sparse (sparse-checkout file may not exist)"
+msgstr ""
+"Dieses Arbeitsverzeichnis ist nicht partiell (Datei für partieller Checkout "
+"existiert eventuell nicht)."
+
+#: builtin/sparse-checkout.c:225
+msgid "failed to create directory for sparse-checkout file"
+msgstr "Fehler beim Erstellen eines Verzeichnisses für Datei eines partiellen "
+"Checkouts"
+
+#: builtin/sparse-checkout.c:266
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr "Einstellung für extensions.worktreeConfig konnte nicht gesetzt werden"
+
+#: builtin/sparse-checkout.c:283
+msgid "git sparse-checkout init [--cone]"
+msgstr "git sparse-checkout init [--cone]"
+
+#: builtin/sparse-checkout.c:302
+msgid "initialize the sparse-checkout in cone mode"
+msgstr "Initialisiere den partiellen Checkout im Cone-Modus"
+
+#: builtin/sparse-checkout.c:308
+msgid "initialize sparse-checkout"
+msgstr "Partiellen Checkout initialisieren"
+
+#: builtin/sparse-checkout.c:341
+#, c-format
+msgid "failed to open '%s'"
+msgstr "Fehler beim Öffnen von '%s'"
+
+#: builtin/sparse-checkout.c:398
+#, c-format
+msgid "could not normalize path %s"
+msgstr "konnte Pfad '%s' nicht normalisieren"
+
+#: builtin/sparse-checkout.c:410
+msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
+msgstr "git sparse-checkout (set|add) (--stdin | <Muster>)"
+
+#: builtin/sparse-checkout.c:435
+#, c-format
+msgid "unable to unquote C-style string '%s'"
+msgstr "konnte Anführungszeichen von C-Style Zeichenkette '%s' nicht entfernen"
+
+#: builtin/sparse-checkout.c:489 builtin/sparse-checkout.c:513
+msgid "unable to load existing sparse-checkout patterns"
+msgstr "konnte die existierenden Muster des partiellen Checkouts nicht laden"
+
+#: builtin/sparse-checkout.c:558
+msgid "read patterns from standard in"
+msgstr "Muster von der Standard-Eingabe lesen"
+
+#: builtin/sparse-checkout.c:564
+msgid "set sparse-checkout patterns"
+msgstr "setze Muster für partiellen Checkout"
+
+#: builtin/sparse-checkout.c:581
+msgid "disable sparse-checkout"
+msgstr "Partiellen Checkout deaktivieren"
+
+#: builtin/sparse-checkout.c:593
+msgid "error while refreshing working directory"
+msgstr "Fehler während der Aktualisierung des Arbeitsverzeichnisses."
+
+#: builtin/stash.c:22 builtin/stash.c:38
 msgid "git stash list [<options>]"
 msgstr "git stash list [<Optionen>]"
 
-#: builtin/stash.c:23 builtin/stash.c:42
+#: builtin/stash.c:23 builtin/stash.c:43
 msgid "git stash show [<options>] [<stash>]"
 msgstr "git stash show [<Optionen>] [<Stash>]"
 
-#: builtin/stash.c:24 builtin/stash.c:47
+#: builtin/stash.c:24 builtin/stash.c:48
 msgid "git stash drop [-q|--quiet] [<stash>]"
 msgstr "git stash drop [-q|--quiet] [<Stash>]"
 
@@ -19727,25 +20875,27 @@ msgstr "git stash drop [-q|--quiet] [<Stash>]"
 msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<Stash>]"
 
-#: builtin/stash.c:26 builtin/stash.c:62
+#: builtin/stash.c:26 builtin/stash.c:63
 msgid "git stash branch <branchname> [<stash>]"
 msgstr "git stash branch <Branch> [<Stash>]"
 
-#: builtin/stash.c:27 builtin/stash.c:67
+#: builtin/stash.c:27 builtin/stash.c:68
 msgid "git stash clear"
 msgstr "git stash clear"
 
-#: builtin/stash.c:28 builtin/stash.c:77
+#: builtin/stash.c:28
 msgid ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
 "          [--] [<pathspec>...]]"
 msgstr ""
 "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [-m|--message <Nachricht>]\n"
+"          [--pathspec-from-file=<Datei> [--pathspec-file-nul]]\n"
 "          [--] [<Pfadspezifikation>...]]"
 
-#: builtin/stash.c:31 builtin/stash.c:84
+#: builtin/stash.c:32 builtin/stash.c:85
 msgid ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
@@ -19753,189 +20903,199 @@ msgstr ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<Nachricht>]"
 
-#: builtin/stash.c:52
+#: builtin/stash.c:53
 msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash pop [--index] [-q|--quiet] [<Stash>]"
 
-#: builtin/stash.c:57
+#: builtin/stash.c:58
 msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash apply [--index] [-q|--quiet] [<Stash>]"
 
-#: builtin/stash.c:72
+#: builtin/stash.c:73
 msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
 msgstr "git stash store [-m|--message <Nachricht>] [-q|--quiet] <Commit>"
 
-#: builtin/stash.c:127
+#: builtin/stash.c:78
+msgid ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"          [--] [<pathspec>...]]"
+msgstr ""
+"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+"          [-u|--include-untracked] [-a|--all] [-m|--message <Nachricht>]\n"
+"          [--] [<Pfadspezifikation>...]]"
+
+#: builtin/stash.c:128
 #, c-format
 msgid "'%s' is not a stash-like commit"
 msgstr "'%s' ist kein \"stash\"-artiger Commit"
 
-#: builtin/stash.c:147
+#: builtin/stash.c:148
 #, c-format
 msgid "Too many revisions specified:%s"
 msgstr "Zu viele Commits angegeben:%s"
 
-#: builtin/stash.c:161 git-legacy-stash.sh:548
+#: builtin/stash.c:162 git-legacy-stash.sh:549
 msgid "No stash entries found."
 msgstr "Keine Stash-Einträge gefunden."
 
-#: builtin/stash.c:175
+#: builtin/stash.c:176
 #, c-format
 msgid "%s is not a valid reference"
 msgstr "'%s' ist kein gültiger Referenzname."
 
-#: builtin/stash.c:224 git-legacy-stash.sh:75
+#: builtin/stash.c:225 git-legacy-stash.sh:75
 msgid "git stash clear with parameters is unimplemented"
 msgstr "git stash clear mit Parametern ist nicht implementiert"
 
-#: builtin/stash.c:403
+#: builtin/stash.c:404
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "Kann Stash nicht anwenden, solange ein Merge im Gange ist"
 
-#: builtin/stash.c:414
+#: builtin/stash.c:415
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "Konnte keinen Diff erzeugen %s^!."
 
-#: builtin/stash.c:421
+#: builtin/stash.c:422
 msgid "conflicts in index.Try without --index."
 msgstr "Konflikte im Index. Versuchen Sie es ohne --index."
 
-#: builtin/stash.c:427
+#: builtin/stash.c:428
 msgid "could not save index tree"
 msgstr "Konnte Index-Verzeichnis nicht speichern"
 
-#: builtin/stash.c:434
+#: builtin/stash.c:437
 msgid "could not restore untracked files from stash"
 msgstr "Konnte unversionierte Dateien vom Stash nicht wiederherstellen."
 
-#: builtin/stash.c:448
+#: builtin/stash.c:451
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Führe %s mit %s zusammen"
 
-#: builtin/stash.c:458 git-legacy-stash.sh:680
+#: builtin/stash.c:461 git-legacy-stash.sh:681
 msgid "Index was not unstashed."
 msgstr "Index wurde nicht aus dem Stash zurückgeladen."
 
-#: builtin/stash.c:516 builtin/stash.c:615
+#: builtin/stash.c:522 builtin/stash.c:621
 msgid "attempt to recreate the index"
 msgstr "Versuche Index wiederherzustellen."
 
-#: builtin/stash.c:549
+#: builtin/stash.c:555
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "%s (%s) gelöscht"
 
-#: builtin/stash.c:552
+#: builtin/stash.c:558
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s: Konnte Stash-Eintrag nicht löschen"
 
-#: builtin/stash.c:577
+#: builtin/stash.c:583
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' ist keine Stash-Referenz"
 
-#: builtin/stash.c:627 git-legacy-stash.sh:694
+#: builtin/stash.c:633 git-legacy-stash.sh:695
 msgid "The stash entry is kept in case you need it again."
 msgstr ""
 "Der Stash-Eintrag wird für den Fall behalten, dass Sie diesen nochmal "
 "benötigen."
 
-#: builtin/stash.c:650 git-legacy-stash.sh:712
+#: builtin/stash.c:656 git-legacy-stash.sh:713
 msgid "No branch name specified"
 msgstr "Kein Branchname spezifiziert"
 
-#: builtin/stash.c:790 builtin/stash.c:827
+#: builtin/stash.c:796 builtin/stash.c:833
 #, c-format
 msgid "Cannot update %s with %s"
 msgstr "Kann nicht %s mit %s aktualisieren."
 
-#: builtin/stash.c:808 builtin/stash.c:1461 builtin/stash.c:1497
+#: builtin/stash.c:814 builtin/stash.c:1478 builtin/stash.c:1543
 msgid "stash message"
 msgstr "Stash-Beschreibung"
 
-#: builtin/stash.c:818
+#: builtin/stash.c:824
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" erwartet ein Argument <Commit>"
 
-#: builtin/stash.c:1040 git-legacy-stash.sh:217
+#: builtin/stash.c:1049 git-legacy-stash.sh:218
 msgid "No changes selected"
 msgstr "Keine Änderungen ausgewählt"
 
-#: builtin/stash.c:1136 git-legacy-stash.sh:150
+#: builtin/stash.c:1149 git-legacy-stash.sh:150
 msgid "You do not have the initial commit yet"
 msgstr "Sie haben bisher noch keinen initialen Commit"
 
-#: builtin/stash.c:1163 git-legacy-stash.sh:165
+#: builtin/stash.c:1176 git-legacy-stash.sh:165
 msgid "Cannot save the current index state"
 msgstr "Kann den aktuellen Zustand des Index nicht speichern"
 
-#: builtin/stash.c:1172 git-legacy-stash.sh:180
+#: builtin/stash.c:1185 git-legacy-stash.sh:180
 msgid "Cannot save the untracked files"
 msgstr "Kann die unversionierten Dateien nicht speichern"
 
-#: builtin/stash.c:1183 builtin/stash.c:1192 git-legacy-stash.sh:200
-#: git-legacy-stash.sh:213
+#: builtin/stash.c:1196 builtin/stash.c:1205 git-legacy-stash.sh:201
+#: git-legacy-stash.sh:214
 msgid "Cannot save the current worktree state"
 msgstr "Kann den aktuellen Zustand des Arbeitsverzeichnisses nicht speichern"
 
-#: builtin/stash.c:1220 git-legacy-stash.sh:233
+#: builtin/stash.c:1233 git-legacy-stash.sh:234
 msgid "Cannot record working tree state"
 msgstr "Kann Zustand des Arbeitsverzeichnisses nicht aufzeichnen"
 
-#: builtin/stash.c:1269 git-legacy-stash.sh:337
+#: builtin/stash.c:1282 git-legacy-stash.sh:338
 msgid "Can't use --patch and --include-untracked or --all at the same time"
 msgstr ""
 "Kann nicht gleichzeitig --patch und --include-untracked oder --all verwenden"
 
-#: builtin/stash.c:1285
+#: builtin/stash.c:1298
 msgid "Did you forget to 'git add'?"
 msgstr "Haben Sie vielleicht 'git add' vergessen?"
 
-#: builtin/stash.c:1300 git-legacy-stash.sh:345
+#: builtin/stash.c:1313 git-legacy-stash.sh:346
 msgid "No local changes to save"
 msgstr "Keine lokalen Änderungen zum Speichern"
 
-#: builtin/stash.c:1307 git-legacy-stash.sh:350
+#: builtin/stash.c:1320 git-legacy-stash.sh:351
 msgid "Cannot initialize stash"
 msgstr "Kann \"stash\" nicht initialisieren"
 
-#: builtin/stash.c:1322 git-legacy-stash.sh:354
+#: builtin/stash.c:1335 git-legacy-stash.sh:355
 msgid "Cannot save the current status"
 msgstr "Kann den aktuellen Status nicht speichern"
 
-#: builtin/stash.c:1327
+#: builtin/stash.c:1340
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Arbeitsverzeichnis und Index-Status %s gespeichert."
 
-#: builtin/stash.c:1417 git-legacy-stash.sh:384
+#: builtin/stash.c:1430 git-legacy-stash.sh:385
 msgid "Cannot remove worktree changes"
 msgstr "Kann Änderungen im Arbeitsverzeichnis nicht löschen"
 
-#: builtin/stash.c:1452 builtin/stash.c:1488
+#: builtin/stash.c:1469 builtin/stash.c:1534
 msgid "keep index"
 msgstr "behalte Index"
 
-#: builtin/stash.c:1454 builtin/stash.c:1490
+#: builtin/stash.c:1471 builtin/stash.c:1536
 msgid "stash in patch mode"
 msgstr "Stash in Patch-Modus"
 
-#: builtin/stash.c:1455 builtin/stash.c:1491
+#: builtin/stash.c:1472 builtin/stash.c:1537
 msgid "quiet mode"
 msgstr "weniger Ausgaben"
 
-#: builtin/stash.c:1457 builtin/stash.c:1493
+#: builtin/stash.c:1474 builtin/stash.c:1539
 msgid "include untracked files in stash"
 msgstr "unversionierte Dateien in Stash einbeziehen"
 
-#: builtin/stash.c:1459 builtin/stash.c:1495
+#: builtin/stash.c:1476 builtin/stash.c:1541
 msgid "include ignore files"
 msgstr "ignorierte Dateien einbeziehen"
 
-#: builtin/stash.c:1555
+#: builtin/stash.c:1600
 #, c-format
 msgid "could not exec %s"
 msgstr "Konnte 'exec %s' nicht ausführen."
@@ -19958,40 +21118,40 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr "Kommentarzeichen mit Leerzeichen an jede Zeile voranstellen"
 
-#: builtin/submodule--helper.c:45 builtin/submodule--helper.c:1943
+#: builtin/submodule--helper.c:47 builtin/submodule--helper.c:1999
 #, c-format
 msgid "Expecting a full ref name, got %s"
 msgstr "Vollständiger Referenzname erwartet, %s erhalten"
 
-#: builtin/submodule--helper.c:62
+#: builtin/submodule--helper.c:64
 msgid "submodule--helper print-default-remote takes no arguments"
 msgstr "'submodule--helper print-default-remote' erwartet keine Argumente."
 
-#: builtin/submodule--helper.c:100
+#: builtin/submodule--helper.c:102
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "Kann eine Komponente von URL '%s' nicht extrahieren"
 
-#: builtin/submodule--helper.c:408 builtin/submodule--helper.c:1368
+#: builtin/submodule--helper.c:410 builtin/submodule--helper.c:1395
 msgid "alternative anchor for relative paths"
 msgstr "Alternativer Anker für relative Pfade"
 
-#: builtin/submodule--helper.c:413
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<Pfad>] [<Pfad>...]"
 
-#: builtin/submodule--helper.c:470 builtin/submodule--helper.c:628
-#: builtin/submodule--helper.c:651
+#: builtin/submodule--helper.c:472 builtin/submodule--helper.c:630
+#: builtin/submodule--helper.c:653
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "Keine URL für Submodul-Pfad '%s' in .gitmodules gefunden"
 
-#: builtin/submodule--helper.c:522
+#: builtin/submodule--helper.c:524
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Betrete '%s'\n"
 
-#: builtin/submodule--helper.c:525
+#: builtin/submodule--helper.c:527
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -20000,7 +21160,7 @@ msgstr ""
 "run_command gab nicht-Null Status für '%s' zurück.\n"
 "."
 
-#: builtin/submodule--helper.c:547
+#: builtin/submodule--helper.c:549
 #, c-format
 msgid ""
 "run_command returned non-zero status while recursing in the nested "
@@ -20012,21 +21172,21 @@ msgstr ""
 "nicht-Null Status zurück.\n"
 "."
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:565
 msgid "Suppress output of entering each submodule command"
 msgstr ""
 "Ausgaben beim Betreten und der Befehlsausführung in einem Submodul "
 "unterdrücken"
 
-#: builtin/submodule--helper.c:565 builtin/submodule--helper.c:1050
+#: builtin/submodule--helper.c:567 builtin/submodule--helper.c:1063
 msgid "Recurse into nested submodules"
 msgstr "Rekursion in verschachtelte Submodule durchführen"
 
-#: builtin/submodule--helper.c:570
+#: builtin/submodule--helper.c:572
 msgid "git submodule--helper foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule--helper foreach [--quiet] [--recursive] [--] <Befehl>"
 
-#: builtin/submodule--helper.c:597
+#: builtin/submodule--helper.c:599
 #, c-format
 msgid ""
 "could not look up configuration '%s'. Assuming this repository is its own "
@@ -20035,104 +21195,104 @@ msgstr ""
 "Konnte Konfiguration '%s' nicht nachschlagen. Nehme an, dass dieses\n"
 "Repository sein eigenes verbindliches Upstream-Repository ist."
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr ""
 "Fehler beim Eintragen der URL für Submodul-Pfad '%s' in die Konfiguration."
 
-#: builtin/submodule--helper.c:669
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Submodul '%s' (%s) für Pfad '%s' in die Konfiguration eingetragen.\n"
 
-#: builtin/submodule--helper.c:679
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr "Warnung: 'update'-Modus für Submodul '%s' vorgeschlagen\n"
 
-#: builtin/submodule--helper.c:686
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Fehler bei Änderung des Aktualisierungsmodus für Submodul-Pfad '%s' in der\n"
 "Konfiguration."
 
-#: builtin/submodule--helper.c:708
+#: builtin/submodule--helper.c:710
 msgid "Suppress output for initializing a submodule"
 msgstr "Ausgaben bei Initialisierung eines Submoduls unterdrücken"
 
-#: builtin/submodule--helper.c:713
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<Optionen>] [<Pfad>]"
 
-#: builtin/submodule--helper.c:785 builtin/submodule--helper.c:911
+#: builtin/submodule--helper.c:789 builtin/submodule--helper.c:924
 #, c-format
 msgid "no submodule mapping found in .gitmodules for path '%s'"
 msgstr "Keine Submodul-Zuordnung in .gitmodules für Pfad '%s' gefunden"
 
-#: builtin/submodule--helper.c:824
+#: builtin/submodule--helper.c:837
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "Konnte HEAD-Referenz nicht innerhalb des Submodul-Pfads '%s' auflösen."
 
-#: builtin/submodule--helper.c:851 builtin/submodule--helper.c:1020
+#: builtin/submodule--helper.c:864 builtin/submodule--helper.c:1033
 #, c-format
 msgid "failed to recurse into submodule '%s'"
 msgstr "Fehler bei Rekursion in Submodul '%s'."
 
-#: builtin/submodule--helper.c:875 builtin/submodule--helper.c:1186
+#: builtin/submodule--helper.c:888 builtin/submodule--helper.c:1199
 msgid "Suppress submodule status output"
 msgstr "Ausgabe über Submodul-Status unterdrücken"
 
-#: builtin/submodule--helper.c:876
+#: builtin/submodule--helper.c:889
 msgid ""
 "Use commit stored in the index instead of the one stored in the submodule "
 "HEAD"
 msgstr ""
 "Benutze den Commit, der im Index gespeichert ist, statt den im Submodul HEAD"
 
-#: builtin/submodule--helper.c:877
+#: builtin/submodule--helper.c:890
 msgid "recurse into nested submodules"
 msgstr "Rekursion in verschachtelte Submodule durchführen"
 
-#: builtin/submodule--helper.c:882
+#: builtin/submodule--helper.c:895
 msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
 msgstr "git submodule status [--quiet] [--cached] [--recursive] [<Pfad>...]"
 
-#: builtin/submodule--helper.c:906
+#: builtin/submodule--helper.c:919
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper name <Pfad>"
 
-#: builtin/submodule--helper.c:970
+#: builtin/submodule--helper.c:983
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Synchronisiere Submodul-URL für '%s'\n"
 
-#: builtin/submodule--helper.c:976
+#: builtin/submodule--helper.c:989
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "Fehler beim Registrieren der URL für Submodul-Pfad '%s'."
 
-#: builtin/submodule--helper.c:990
+#: builtin/submodule--helper.c:1003
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "Fehler beim Lesen des Standard-Remote-Repositories für Submodul '%s'."
 
-#: builtin/submodule--helper.c:1001
+#: builtin/submodule--helper.c:1014
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "Fehler beim Aktualisieren des Remote-Repositories für Submodul '%s'."
 
-#: builtin/submodule--helper.c:1048
+#: builtin/submodule--helper.c:1061
 msgid "Suppress output of synchronizing submodule url"
 msgstr "Ausgaben bei der Synchronisierung der Submodul-URLs unterdrücken"
 
-#: builtin/submodule--helper.c:1055
+#: builtin/submodule--helper.c:1068
 msgid "git submodule--helper sync [--quiet] [--recursive] [<path>]"
 msgstr "git submodule--helper sync [--quiet] [--recursive] [<Pfad>]"
 
-#: builtin/submodule--helper.c:1109
+#: builtin/submodule--helper.c:1122
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains a .git directory (use 'rm -rf' if you "
@@ -20142,7 +21302,7 @@ msgstr ""
 "(benutzen Sie 'rm -rf', wenn Sie dieses wirklich mitsamt seiner Historie\n"
 "löschen möchten)"
 
-#: builtin/submodule--helper.c:1121
+#: builtin/submodule--helper.c:1134
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -20151,185 +21311,215 @@ msgstr ""
 "Arbeitsverzeichnis von Submodul in '%s' enthält lokale Änderungen;\n"
 "verwenden Sie '-f', um diese zu verwerfen."
 
-#: builtin/submodule--helper.c:1129
+#: builtin/submodule--helper.c:1142
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Verzeichnis '%s' bereinigt.\n"
 
-#: builtin/submodule--helper.c:1131
+#: builtin/submodule--helper.c:1144
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "Konnte Arbeitsverzeichnis des Submoduls in '%s' nicht löschen.\n"
 
-#: builtin/submodule--helper.c:1142
+#: builtin/submodule--helper.c:1155
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "Konnte kein leeres Verzeichnis für Submodul in '%s' erstellen."
 
-#: builtin/submodule--helper.c:1158
+#: builtin/submodule--helper.c:1171
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Submodul '%s' (%s) für Pfad '%s' ausgetragen.\n"
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1200
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr ""
 "Arbeitsverzeichnisse von Submodulen löschen, auch wenn lokale Änderungen "
 "vorliegen"
 
-#: builtin/submodule--helper.c:1188
+#: builtin/submodule--helper.c:1201
 msgid "Unregister all submodules"
 msgstr "alle Submodule austragen"
 
-#: builtin/submodule--helper.c:1193
+#: builtin/submodule--helper.c:1206
 msgid ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]"
 msgstr ""
 "git submodule deinit [--quiet] [-f | --force] [--all | [--] [<Pfad>...]]"
 
-#: builtin/submodule--helper.c:1207
+#: builtin/submodule--helper.c:1220
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Verwenden Sie '--all', wenn Sie wirklich alle Submodule deinitialisieren\n"
 "möchten."
 
-#: builtin/submodule--helper.c:1302 builtin/submodule--helper.c:1305
+#: builtin/submodule--helper.c:1289
+msgid ""
+"An alternate computed from a superproject's alternate is invalid.\n"
+"To allow Git to clone without an alternate in such a case, set\n"
+"submodule.alternateErrorStrategy to 'info' or, equivalently, clone with\n"
+"'--reference-if-able' instead of '--reference'."
+msgstr ""
+"Eine Alternative, die von einer übergeordneten Projekt-Alternative\n"
+"berechnet wurde, ist ungültig.\n"
+"Um Git das Klonen ohne Alternative in solch einem Fall zu erlauben, setze\n"
+"submodule.alternateErrorStrategy auf 'info' oder klone mit der Option\n"
+"'--reference-if-able' statt '--reference'."
+
+#: builtin/submodule--helper.c:1328 builtin/submodule--helper.c:1331
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "Submodul '%s' kann Alternative nicht hinzufügen: %s"
 
-#: builtin/submodule--helper.c:1341
+#: builtin/submodule--helper.c:1367
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr "Wert '%s' für submodule.alternateErrorStrategy wird nicht erkannt"
 
-#: builtin/submodule--helper.c:1348
+#: builtin/submodule--helper.c:1374
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "Wert '%s' für submodule.alternateLocation wird nicht erkannt."
 
-#: builtin/submodule--helper.c:1371
+#: builtin/submodule--helper.c:1398
 msgid "where the new submodule will be cloned to"
 msgstr "Pfad für neues Submodul"
 
-#: builtin/submodule--helper.c:1374
+#: builtin/submodule--helper.c:1401
 msgid "name of the new submodule"
 msgstr "Name des neuen Submoduls"
 
-#: builtin/submodule--helper.c:1377
+#: builtin/submodule--helper.c:1404
 msgid "url where to clone the submodule from"
 msgstr "URL von der das Submodul geklont wird"
 
-#: builtin/submodule--helper.c:1385
+#: builtin/submodule--helper.c:1412
 msgid "depth for shallow clones"
 msgstr "Tiefe des Klons mit unvollständiger Historie (shallow)"
 
-#: builtin/submodule--helper.c:1388 builtin/submodule--helper.c:1872
+#: builtin/submodule--helper.c:1415 builtin/submodule--helper.c:1924
 msgid "force cloning progress"
 msgstr "Fortschrittsanzeige beim Klonen erzwingen"
 
-#: builtin/submodule--helper.c:1393
+#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1926
+msgid "disallow cloning into non-empty directory"
+msgstr "Klonen in ein nicht leeres Verzeichnis verbieten"
+
+#: builtin/submodule--helper.c:1424
 msgid ""
 "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
-"<repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>"
+"<repository>] [--name <name>] [--depth <depth>] [--single-branch] --url "
+"<url> --path <path>"
 msgstr ""
 "git submodule--helper clone [--prefix=<Pfad>] [--quiet] [--reference "
-"<Repository>] [--name <Name>] [--url <URL>] [--name <Name>] [--depth "
-"<Tiefe>] --url <URL> --path <Pfad>"
+"<Repository>] [--name <Name>] [--depth <Tiefe>] [--single-branch] --url "
+"<URL> --path <Pfad>"
 
-#: builtin/submodule--helper.c:1424
+#: builtin/submodule--helper.c:1449
+#, c-format
+msgid "refusing to create/use '%s' in another submodule's git dir"
+msgstr ""
+"Erstellung/Benutzung von '%s' in einem anderen Submodul-Git-Verzeichnis\n"
+"verweigert."
+
+#: builtin/submodule--helper.c:1460
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
-msgstr "Klonen von '%s' in Submodul-Pfad '%s' fehlgeschlagen"
+msgstr "Klonen von '%s' in Submodul-Pfad '%s' fehlgeschlagen."
+
+#: builtin/submodule--helper.c:1464
+#, c-format
+msgid "directory not empty: '%s'"
+msgstr "Verzeichnis ist nicht leer: '%s'"
 
-#: builtin/submodule--helper.c:1438
+#: builtin/submodule--helper.c:1476
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "Konnte Submodul-Verzeichnis '%s' nicht finden."
 
-#: builtin/submodule--helper.c:1474
+#: builtin/submodule--helper.c:1512
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "Ungültiger Aktualisierungsmodus '%s' für Submodul-Pfad '%s'."
 
-#: builtin/submodule--helper.c:1478
+#: builtin/submodule--helper.c:1516
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Ungültiger Aktualisierungsmodus '%s' für Submodul-Pfad '%s' konfiguriert."
 
-#: builtin/submodule--helper.c:1571
+#: builtin/submodule--helper.c:1617
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Submodul-Pfad '%s' nicht initialisiert"
 
-#: builtin/submodule--helper.c:1575
+#: builtin/submodule--helper.c:1621
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Meinten Sie vielleicht 'update --init'?"
 
-#: builtin/submodule--helper.c:1605
+#: builtin/submodule--helper.c:1651
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Überspringe nicht zusammengeführtes Submodul %s"
 
-#: builtin/submodule--helper.c:1634
+#: builtin/submodule--helper.c:1680
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Überspringe Submodul '%s'"
 
-#: builtin/submodule--helper.c:1778
+#: builtin/submodule--helper.c:1830
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Fehler beim Klonen von '%s'. Weiterer Versuch geplant"
 
-#: builtin/submodule--helper.c:1789
+#: builtin/submodule--helper.c:1841
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Zweiter Versuch '%s' zu klonen fehlgeschlagen, breche ab."
 
-#: builtin/submodule--helper.c:1851 builtin/submodule--helper.c:2093
+#: builtin/submodule--helper.c:1903 builtin/submodule--helper.c:2149
 msgid "path into the working tree"
 msgstr "Pfad zum Arbeitsverzeichnis"
 
-#: builtin/submodule--helper.c:1854
+#: builtin/submodule--helper.c:1906
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "Pfad zum Arbeitsverzeichnis, über verschachtelte Submodul-Grenzen hinweg"
 
-#: builtin/submodule--helper.c:1858
+#: builtin/submodule--helper.c:1910
 msgid "rebase, merge, checkout or none"
 msgstr "rebase, merge, checkout oder none"
 
-#: builtin/submodule--helper.c:1864
+#: builtin/submodule--helper.c:1916
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr ""
 "Erstellung eines Klons mit unvollständiger Historie (shallow), abgeschnitten "
 "bei\n"
 "der angegebenen Anzahl von Commits."
 
-#: builtin/submodule--helper.c:1867
+#: builtin/submodule--helper.c:1919
 msgid "parallel jobs"
 msgstr "Parallele Ausführungen"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:1921
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr ""
 "ob das initiale Klonen den Empfehlungen für eine unvollständige\n"
 "Historie (shallow) folgen soll"
 
-#: builtin/submodule--helper.c:1870
+#: builtin/submodule--helper.c:1922
 msgid "don't print cloning progress"
 msgstr "keine Fortschrittsanzeige beim Klonen"
 
-#: builtin/submodule--helper.c:1877
-msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
-msgstr "git submodule--helper update_clone [--prefix=<Pfad>] [<Pfad>...]"
+#: builtin/submodule--helper.c:1933
+msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
+msgstr "git submodule--helper update-clone [--prefix=<Pfad>] [<Pfad>...]"
 
-#: builtin/submodule--helper.c:1890
+#: builtin/submodule--helper.c:1946
 msgid "bad value for update parameter"
 msgstr "Fehlerhafter Wert für --update Parameter"
 
-#: builtin/submodule--helper.c:1938
+#: builtin/submodule--helper.c:1994
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -20338,52 +21528,52 @@ msgstr ""
 "Branch von Submodul (%s) ist konfiguriert, den Branch des Hauptprojektes\n"
 "zu erben, aber das Hauptprojekt befindet sich auf keinem Branch."
 
-#: builtin/submodule--helper.c:2061
+#: builtin/submodule--helper.c:2117
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "Konnte kein Repository-Handle für Submodul '%s' erhalten."
 
-#: builtin/submodule--helper.c:2094
+#: builtin/submodule--helper.c:2150
 msgid "recurse into submodules"
 msgstr "Rekursion in Submodule durchführen"
 
-#: builtin/submodule--helper.c:2100
+#: builtin/submodule--helper.c:2156
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper absorb-git-dirs [<Optionen>] [<Pfad>...]"
 
-#: builtin/submodule--helper.c:2156
+#: builtin/submodule--helper.c:2212
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "prüfen, ob es sicher ist, in die Datei .gitmodules zu schreiben"
 
-#: builtin/submodule--helper.c:2159
+#: builtin/submodule--helper.c:2215
 msgid "unset the config in the .gitmodules file"
 msgstr "Konfiguration in der .gitmodules-Datei entfernen"
 
-#: builtin/submodule--helper.c:2164
+#: builtin/submodule--helper.c:2220
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config <name> [<Wert>]"
 
-#: builtin/submodule--helper.c:2165
+#: builtin/submodule--helper.c:2221
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <Name>"
 
-#: builtin/submodule--helper.c:2166
+#: builtin/submodule--helper.c:2222
 msgid "git submodule--helper config --check-writeable"
 msgstr "git submodule--helper config --check-writeable"
 
-#: builtin/submodule--helper.c:2185 git-submodule.sh:171
+#: builtin/submodule--helper.c:2241 git-submodule.sh:174
 #, sh-format
 msgid "please make sure that the .gitmodules file is in the working tree"
 msgstr ""
 "Bitte stellen Sie sicher, dass sich die Datei .gitmodules im "
 "Arbeitsverzeichnis befindet."
 
-#: builtin/submodule--helper.c:2235 git.c:434 git.c:684
+#: builtin/submodule--helper.c:2291 git.c:433 git.c:684
 #, c-format
 msgid "%s doesn't support --super-prefix"
 msgstr "%s unterstützt kein --super-prefix"
 
-#: builtin/submodule--helper.c:2241
+#: builtin/submodule--helper.c:2297
 #, c-format
 msgid "'%s' is not a valid submodule--helper subcommand"
 msgstr "'%s' ist kein gültiger Unterbefehl von submodule--helper"
@@ -20639,219 +21829,223 @@ msgstr "Tag '%s' existiert bereits"
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Tag '%s' aktualisiert (war %s)\n"
 
-#: builtin/unpack-objects.c:500
+#: builtin/unpack-objects.c:502
 msgid "Unpacking objects"
 msgstr "Entpacke Objekte"
 
-#: builtin/update-index.c:83
+#: builtin/update-index.c:84
 #, c-format
 msgid "failed to create directory %s"
 msgstr "Fehler beim Erstellen von Verzeichnis '%s'"
 
-#: builtin/update-index.c:99
+#: builtin/update-index.c:100
 #, c-format
 msgid "failed to create file %s"
 msgstr "Konnte Datei '%s' nicht erstellen"
 
-#: builtin/update-index.c:107
+#: builtin/update-index.c:108
 #, c-format
 msgid "failed to delete file %s"
 msgstr "Konnte Datei '%s' nicht löschen"
 
-#: builtin/update-index.c:114 builtin/update-index.c:220
+#: builtin/update-index.c:115 builtin/update-index.c:221
 #, c-format
 msgid "failed to delete directory %s"
 msgstr "Konnte Verzeichnis '%s' nicht löschen"
 
-#: builtin/update-index.c:139
+#: builtin/update-index.c:140
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Prüfe mtime in '%s' "
 
-#: builtin/update-index.c:153
+#: builtin/update-index.c:154
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 "Verzeichnisinformationen haben sich nach Hinzufügen einer neuen Datei nicht "
 "geändert"
 
-#: builtin/update-index.c:166
+#: builtin/update-index.c:167
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 "Verzeichnisinformationen haben sich nach Hinzufügen eines neuen "
 "Verzeichnisses nicht geändert"
 
-#: builtin/update-index.c:179
+#: builtin/update-index.c:180
 msgid "directory stat info changes after updating a file"
 msgstr ""
 "Verzeichnisinformationen haben sich nach Aktualisierung einer Datei geändert"
 
-#: builtin/update-index.c:190
+#: builtin/update-index.c:191
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "Verzeichnisinformationen haben sich nach Hinzufügen einer Datei in ein "
 "Unterverzeichnis geändert"
 
-#: builtin/update-index.c:201
+#: builtin/update-index.c:202
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 "Verzeichnisinformationen haben sich nach dem Löschen einer Datei nicht "
 "geändert"
 
-#: builtin/update-index.c:214
+#: builtin/update-index.c:215
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 "Verzeichnisinformationen haben sich nach dem Löschen eines Verzeichnisses "
 "nicht geändert"
 
-#: builtin/update-index.c:221
+#: builtin/update-index.c:222
 msgid " OK"
 msgstr " OK"
 
-#: builtin/update-index.c:589
+#: builtin/update-index.c:591
 msgid "git update-index [<options>] [--] [<file>...]"
 msgstr "git update-index [<Optionen>] [--] [<Datei>...]"
 
-#: builtin/update-index.c:971
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr ""
 "Aktualisierung fortsetzen, auch wenn der Index aktualisiert werden muss"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr "Aktualisierung: ignoriert Submodule"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr "keine neuen Dateien ignorieren"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr "Dateien Verzeichnisse ersetzen lassen, und umgedreht"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr "fehlende Dateien im Arbeitsverzeichnis beachten"
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr ""
 "aktualisieren, auch wenn der Index nicht zusammengeführte Einträge beinhaltet"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr "Dateiinformationen aktualisieren"
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "wie --refresh, ignoriert aber \"assume-unchanged\" Einstellung"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr "<Modus>,<Objekt>,<Pfad>"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr "den angegebenen Eintrag zum Commit vormerken"
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr "diese Datei immer als unverändert betrachten"
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr "\"assumed-unchanged\"-Bit löschen"
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr "Dateien als \"index-only\" markieren"
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr "\"skip-worktree\"-Bit löschen"
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1020
+msgid "do not touch index-only entries"
+msgstr "\"index-only\" Einträge überspringen"
+
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "die Änderungen nur zum Commit vormerken; Inhalt wird nicht der Objekt-"
 "Datenbank hinzugefügt"
 
-#: builtin/update-index.c:1019
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "benannte Pfade löschen, auch wenn sie sich im Arbeitsverzeichnis befinden"
 
-#: builtin/update-index.c:1021
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "mit --stdin: eingegebene Zeilen sind durch NUL-Bytes abgeschlossen"
 
-#: builtin/update-index.c:1023
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr "Liste der zu aktualisierenden Pfade von der Standard-Eingabe lesen"
 
-#: builtin/update-index.c:1027
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr "Einträge von der Standard-Eingabe zum Commit vormerken"
 
-#: builtin/update-index.c:1031
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr ""
 "wiederholtes Einpflegen der Zustände #2 und #3 für die aufgelisteten Pfade"
 
-#: builtin/update-index.c:1035
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr "nur Einträge aktualisieren, die unterschiedlich zu HEAD sind"
 
-#: builtin/update-index.c:1039
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr "fehlende Dateien im Arbeitsverzeichnis ignorieren"
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr "die Aktionen in der Standard-Ausgabe ausgeben"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(für Fremdprogramme) keine gespeicherten, nicht aufgelöste Konflikte"
 
-#: builtin/update-index.c:1048
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr "Index-Datei in diesem Format schreiben"
 
-#: builtin/update-index.c:1050
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr "Splitting des Index aktivieren oder deaktivieren"
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr "Cache für unversionierte Dateien aktivieren oder deaktivieren"
 
-#: builtin/update-index.c:1054
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr ""
 "prüfen, ob das Dateisystem einen Cache für unversionierte Dateien unterstützt"
 
-#: builtin/update-index.c:1056
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr ""
 "Cache für unversionierte Dateien ohne Prüfung des Dateisystems aktivieren"
 
-#: builtin/update-index.c:1058
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr "Index rausschreiben, auch wenn dieser nicht als geändert markiert ist"
 
-#: builtin/update-index.c:1060
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr "Dateisystem-Monitor aktivieren oder deaktivieren"
 
-#: builtin/update-index.c:1062
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr "Dateien als \"fsmonitor valid\" markieren"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr "\"fsmonitor valid\"-Bit löschen"
 
-#: builtin/update-index.c:1168
+#: builtin/update-index.c:1173
 msgid ""
 "core.splitIndex is set to false; remove or change it, if you really want to "
 "enable split index"
@@ -20859,7 +22053,7 @@ msgstr ""
 "core.splitIndex ist auf 'false' gesetzt. Entfernen oder ändern Sie dies,\n"
 "wenn sie wirklich das Splitting des Index aktivieren möchten."
 
-#: builtin/update-index.c:1177
+#: builtin/update-index.c:1182
 msgid ""
 "core.splitIndex is set to true; remove or change it, if you really want to "
 "disable split index"
@@ -20867,7 +22061,7 @@ msgstr ""
 "core.splitIndex ist auf 'true' gesetzt. Entfernen oder ändern Sie dies,\n"
 "wenn Sie wirklich das Splitting des Index deaktivieren möchten."
 
-#: builtin/update-index.c:1188
+#: builtin/update-index.c:1194
 msgid ""
 "core.untrackedCache is set to true; remove or change it, if you really want "
 "to disable the untracked cache"
@@ -20875,11 +22069,11 @@ msgstr ""
 "core.untrackedCache ist auf 'true' gesetzt. Entfernen oder ändern Sie dies,\n"
 "wenn Sie wirklich den Cache für unversionierte Dateien deaktivieren möchten."
 
-#: builtin/update-index.c:1192
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr "Cache für unversionierte Dateien deaktiviert"
 
-#: builtin/update-index.c:1200
+#: builtin/update-index.c:1206
 msgid ""
 "core.untrackedCache is set to false; remove or change it, if you really want "
 "to enable the untracked cache"
@@ -20888,23 +22082,23 @@ msgstr ""
 "dies,\n"
 "wenn sie wirklich den Cache für unversionierte Dateien aktivieren möchten."
 
-#: builtin/update-index.c:1204
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Cache für unversionierte Dateien für '%s' aktiviert"
 
-#: builtin/update-index.c:1212
+#: builtin/update-index.c:1218
 msgid "core.fsmonitor is unset; set it if you really want to enable fsmonitor"
 msgstr ""
 "core.fsmonitor nicht gesetzt. Setzen Sie es, wenn Sie den Dateisystem-"
 "Monitor\n"
 "wirklich aktivieren möchten."
 
-#: builtin/update-index.c:1216
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr "Dateisystem-Monitor aktiviert"
 
-#: builtin/update-index.c:1219
+#: builtin/update-index.c:1225
 msgid ""
 "core.fsmonitor is set; remove it if you really want to disable fsmonitor"
 msgstr ""
@@ -20912,7 +22106,7 @@ msgstr ""
 "Monitor\n"
 "wirklich deaktivieren möchten."
 
-#: builtin/update-index.c:1223
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr "Dateisystem-Monitor deaktiviert"
 
@@ -21007,55 +22201,55 @@ msgstr "git verify-tag [-v | --verbose] [--format=<Format>] <Tag>..."
 msgid "print tag contents"
 msgstr "Tag-Inhalte ausgeben"
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:17
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
 msgstr "git worktree add [<Optionen>] <Pfad> [<Commit-Angabe>]"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:18
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<Optionen>]"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<Optionen>] <Pfad>"
 
-#: builtin/worktree.c:21
+#: builtin/worktree.c:20
 msgid "git worktree move <worktree> <new-path>"
 msgstr "git worktree move <Arbeitsverzeichnis> <neuer-Pfad>"
 
-#: builtin/worktree.c:22
+#: builtin/worktree.c:21
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<Optionen>]"
 
-#: builtin/worktree.c:23
+#: builtin/worktree.c:22
 msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<Optionen>] <Arbeitsverzeichnis>"
 
-#: builtin/worktree.c:24
+#: builtin/worktree.c:23
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <Pfad>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:899
+#: builtin/worktree.c:60 builtin/worktree.c:891
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "Fehler beim Löschen von '%s'"
 
-#: builtin/worktree.c:80
+#: builtin/worktree.c:79
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "Lösche worktrees/%s: kein gültiges Verzeichnis"
 
-#: builtin/worktree.c:86
+#: builtin/worktree.c:85
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "Lösche worktrees/%s: gitdir-Datei existiert nicht"
 
-#: builtin/worktree.c:91 builtin/worktree.c:100
+#: builtin/worktree.c:90 builtin/worktree.c:99
 #, c-format
 msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
 msgstr "Lösche worktrees/%s: konnte gitdir-Datei (%s) nicht lesen"
 
-#: builtin/worktree.c:110
+#: builtin/worktree.c:109
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
@@ -21064,35 +22258,35 @@ msgstr ""
 "Lösche worktrees/%s: read() zu kurz (%<PRIuMAX> Bytes erwartet, %<PRIuMAX> "
 "gelesen)"
 
-#: builtin/worktree.c:118
+#: builtin/worktree.c:117
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "Lösche worktrees/%s: ungültige gitdir-Datei"
 
-#: builtin/worktree.c:127
+#: builtin/worktree.c:126
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr "Lösche worktrees/%s: gitdir-Datei verweist auf nicht existierenden Ort"
 
-#: builtin/worktree.c:166
+#: builtin/worktree.c:165
 msgid "report pruned working trees"
 msgstr "entfernte Arbeitsverzeichnisse ausgeben"
 
-#: builtin/worktree.c:168
+#: builtin/worktree.c:167
 msgid "expire working trees older than <time>"
 msgstr "Arbeitsverzeichnisse älter als <Zeit> verfallen lassen"
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:234
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' existiert bereits"
 
-#: builtin/worktree.c:252
+#: builtin/worktree.c:244
 #, c-format
 msgid "unable to re-add worktree '%s'"
 msgstr "Konnte Arbeitsverzeichnis '%s' nicht neu hinzufügen."
 
-#: builtin/worktree.c:257
+#: builtin/worktree.c:249
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
@@ -21102,7 +22296,7 @@ msgstr ""
 "Benutzen Sie 'add -f -f' zum Überschrieben, oder 'unlock' und 'prune'\n"
 "oder 'remove' zum Löschen."
 
-#: builtin/worktree.c:259
+#: builtin/worktree.c:251
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
@@ -21112,129 +22306,129 @@ msgstr ""
 "Benutzen Sie 'add -f' zum Überschreiben, oder 'prune' oder 'remove' zum\n"
 "Löschen."
 
-#: builtin/worktree.c:309
+#: builtin/worktree.c:301
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "Konnte Verzeichnis '%s' nicht erstellen."
 
-#: builtin/worktree.c:440 builtin/worktree.c:446
+#: builtin/worktree.c:432 builtin/worktree.c:438
 #, c-format
 msgid "Preparing worktree (new branch '%s')"
 msgstr "Bereite Arbeitsverzeichnis vor (neuer Branch '%s')"
 
-#: builtin/worktree.c:442
+#: builtin/worktree.c:434
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr "Bereite Arbeitsverzeichnis vor (setze Branch '%s' um; war bei %s)"
 
-#: builtin/worktree.c:451
+#: builtin/worktree.c:443
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "Bereite Arbeitsverzeichnis vor (checke '%s' aus)"
 
-#: builtin/worktree.c:457
+#: builtin/worktree.c:449
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Bereite Arbeitsverzeichnis vor (losgelöster HEAD %s)"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:490
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 "<Branch> auschecken, auch wenn dieser bereits in einem anderen "
 "Arbeitsverzeichnis ausgecheckt ist"
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:493
 msgid "create a new branch"
 msgstr "neuen Branch erstellen"
 
-#: builtin/worktree.c:503
+#: builtin/worktree.c:495
 msgid "create or reset a branch"
 msgstr "Branch erstellen oder umsetzen"
 
-#: builtin/worktree.c:505
+#: builtin/worktree.c:497
 msgid "populate the new working tree"
 msgstr "das neue Arbeitsverzeichnis auschecken"
 
-#: builtin/worktree.c:506
+#: builtin/worktree.c:498
 msgid "keep the new working tree locked"
 msgstr "das neue Arbeitsverzeichnis gesperrt lassen"
 
-#: builtin/worktree.c:509
+#: builtin/worktree.c:501
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "Modus zum Folgen von Branches einstellen (siehe git-branch(1))"
 
-#: builtin/worktree.c:512
+#: builtin/worktree.c:504
 msgid "try to match the new branch name with a remote-tracking branch"
 msgstr ""
 "versuchen, eine Übereinstimmung des Branch-Namens mit einem\n"
 "Remote-Tracking-Branch herzustellen"
 
-#: builtin/worktree.c:520
+#: builtin/worktree.c:512
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B und --detach schließen sich gegenseitig aus"
 
-#: builtin/worktree.c:581
+#: builtin/worktree.c:573
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr ""
 "--[no]-track kann nur verwendet werden, wenn ein neuer Branch erstellt wird."
 
-#: builtin/worktree.c:681
+#: builtin/worktree.c:673
 msgid "reason for locking"
 msgstr "Sperrgrund"
 
-#: builtin/worktree.c:693 builtin/worktree.c:726 builtin/worktree.c:800
-#: builtin/worktree.c:927
+#: builtin/worktree.c:685 builtin/worktree.c:718 builtin/worktree.c:792
+#: builtin/worktree.c:919
 #, c-format
 msgid "'%s' is not a working tree"
 msgstr "'%s' ist kein Arbeitsverzeichnis"
 
-#: builtin/worktree.c:695 builtin/worktree.c:728
+#: builtin/worktree.c:687 builtin/worktree.c:720
 msgid "The main working tree cannot be locked or unlocked"
 msgstr "Das Hauptarbeitsverzeichnis kann nicht gesperrt oder entsperrt werden."
 
-#: builtin/worktree.c:700
+#: builtin/worktree.c:692
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' ist bereits gesperrt, Grund: %s"
 
-#: builtin/worktree.c:702
+#: builtin/worktree.c:694
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' ist bereits gesperrt"
 
-#: builtin/worktree.c:730
+#: builtin/worktree.c:722
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' ist nicht gesperrt"
 
-#: builtin/worktree.c:771
+#: builtin/worktree.c:763
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 "Arbeitsverzeichnisse, die Submodule enthalten, können nicht verschoben oder\n"
 "entfernt werden."
 
-#: builtin/worktree.c:779
+#: builtin/worktree.c:771
 msgid "force move even if worktree is dirty or locked"
 msgstr ""
 "Verschieben erzwingen, auch wenn das Arbeitsverzeichnis geändert oder "
 "gesperrt ist"
 
-#: builtin/worktree.c:802 builtin/worktree.c:929
+#: builtin/worktree.c:794 builtin/worktree.c:921
 #, c-format
 msgid "'%s' is a main working tree"
 msgstr "'%s' ist ein Hauptarbeitsverzeichnis"
 
-#: builtin/worktree.c:807
+#: builtin/worktree.c:799
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "Konnte Zielname aus '%s' nicht bestimmen."
 
-#: builtin/worktree.c:813
+#: builtin/worktree.c:805
 #, c-format
 msgid "target '%s' already exists"
 msgstr "Ziel '%s' existiert bereits."
 
-#: builtin/worktree.c:821
+#: builtin/worktree.c:813
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -21244,7 +22438,7 @@ msgstr ""
 "Benutzen Sie 'move -f -f' zum Überschreiben oder entsperren Sie zuerst\n"
 "das Arbeitsverzeichnis."
 
-#: builtin/worktree.c:823
+#: builtin/worktree.c:815
 msgid ""
 "cannot move a locked working tree;\n"
 "use 'move -f -f' to override or unlock first"
@@ -21253,38 +22447,40 @@ msgstr ""
 "Benutzen Sie 'move -f -f' zum Überschreiben oder entsperren Sie zuerst\n"
 "das Arbeitsverzeichnis."
 
-#: builtin/worktree.c:826
+#: builtin/worktree.c:818
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "Validierung fehlgeschlagen, kann Arbeitszeichnis nicht verschieben: %s"
 
-#: builtin/worktree.c:831
+#: builtin/worktree.c:823
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "Fehler beim Verschieben von '%s' nach '%s'"
 
-#: builtin/worktree.c:879
+#: builtin/worktree.c:871
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "Fehler beim Ausführen von 'git status' auf '%s'"
 
-#: builtin/worktree.c:883
+#: builtin/worktree.c:875
 #, c-format
-msgid "'%s' is dirty, use --force to delete it"
-msgstr "'%s' ist verändert, benutzen Sie --force zum Löschen"
+msgid "'%s' contains modified or untracked files, use --force to delete it"
+msgstr ""
+"'%s' enthält geänderte oder nicht versionierte Dateien, benutzen Sie --force "
+"zum Löschen"
 
-#: builtin/worktree.c:888
+#: builtin/worktree.c:880
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "Fehler beim Ausführen von 'git status' auf '%s'. Code: %d"
 
-#: builtin/worktree.c:911
+#: builtin/worktree.c:903
 msgid "force removal even if worktree is dirty or locked"
 msgstr ""
 "Löschen erzwingen, auch wenn das Arbeitsverzeichnis geändert oder gesperrt "
 "ist"
 
-#: builtin/worktree.c:934
+#: builtin/worktree.c:926
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -21294,7 +22490,7 @@ msgstr ""
 "Benutzen Sie 'remove -f -f' zum Überschreiben oder entsperren Sie zuerst\n"
 "das Arbeitsverzeichnis."
 
-#: builtin/worktree.c:936
+#: builtin/worktree.c:928
 msgid ""
 "cannot remove a locked working tree;\n"
 "use 'remove -f -f' to override or unlock first"
@@ -21303,7 +22499,7 @@ msgstr ""
 "Benutzen Sie 'remove -f -f' zum Überschreiben oder entsperren Sie zuerst\n"
 "das Arbeitsverzeichnis."
 
-#: builtin/worktree.c:939
+#: builtin/worktree.c:931
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr "Validierung fehlgeschlagen, kann Arbeitsverzeichnis nicht löschen: %s"
@@ -21324,6 +22520,21 @@ msgstr "das Tree-Objekt für ein Unterverzeichnis <Präfix> schreiben"
 msgid "only useful for debugging"
 msgstr "nur nützlich für Fehlersuche"
 
+#: fast-import.c:3125
+#, c-format
+msgid "Expected 'mark' command, got %s"
+msgstr "'mark' Befehl erwartet, '%s' bekommen"
+
+#: fast-import.c:3130
+#, c-format
+msgid "Expected 'to' command, got %s"
+msgstr "'to' Befehl erwartet, '%s' bekommen"
+
+#: fast-import.c:3254
+#, c-format
+msgid "feature '%s' forbidden in input without --allow-unsafe-features"
+msgstr "Feature '%s' verboten in Eingabe ohne Option --allow-unsafe-features"
+
 #: credential-cache--daemon.c:223
 #, c-format
 msgid ""
@@ -21439,25 +22650,25 @@ msgstr ""
 "Alias '%s' ändert Umgebungsvariablen.\n"
 "Sie können '!git' im Alias benutzen, um dies zu tun."
 
-#: git.c:377
+#: git.c:376
 #, c-format
 msgid "empty alias for %s"
 msgstr "leerer Alias für %s"
 
-#: git.c:380
+#: git.c:379
 #, c-format
 msgid "recursive alias: %s"
 msgstr "rekursiver Alias: %s"
 
-#: git.c:460
+#: git.c:459
 msgid "write failure on standard output"
 msgstr "Fehler beim Schreiben in die Standard-Ausgabe."
 
-#: git.c:462
+#: git.c:461
 msgid "unknown write failure on standard output"
 msgstr "Unbekannter Fehler beim Schreiben in die Standard-Ausgabe."
 
-#: git.c:464
+#: git.c:463
 msgid "close failed on standard output"
 msgstr "Fehler beim Schließen der Standard-Ausgabe."
 
@@ -21513,23 +22724,23 @@ msgstr "CURLSSLOPT_NO_REVOKE wird mit cURL < 7.44.0 nicht unterstützt."
 msgid "Protocol restrictions not supported with cURL < 7.19.4"
 msgstr "Protokollbeschränkungen werden mit cURL < 7.19.4 nicht unterstützt."
 
-#: http.c:1085
+#: http.c:1086
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr "Nicht unterstütztes SSL-Backend '%s'. Unterstützte SSL-Backends:"
 
-#: http.c:1092
+#: http.c:1093
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr ""
 "Konnte SSL-Backend nicht zu '%s' setzen: cURL wurde ohne SSL-Backends gebaut."
 
-#: http.c:1096
+#: http.c:1097
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "Konnte SSL-Backend nicht zu '%s' setzen: bereits gesetzt"
 
-#: http.c:1965
+#: http.c:1966
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -21540,150 +22751,160 @@ msgstr ""
 "  gefragt nach: %s\n"
 "    umgeleitet: %s"
 
-#: remote-curl.c:157
+#: remote-curl.c:166
 #, c-format
 msgid "invalid quoting in push-option value: '%s'"
 msgstr "Ungültiges Quoting beim \"push-option\"-Wert: '%s'"
 
-#: remote-curl.c:254
+#: remote-curl.c:263
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr "%sinfo/refs nicht gültig: Ist das ein Git-Repository?"
 
-#: remote-curl.c:355
+#: remote-curl.c:364
 msgid "invalid server response; expected service, got flush packet"
 msgstr "Ungültige Antwort des Servers. Service erwartet, Flush-Paket bekommen"
 
-#: remote-curl.c:386
+#: remote-curl.c:395
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr "Ungültige Serverantwort; '%s' bekommen"
 
-#: remote-curl.c:446
+#: remote-curl.c:455
 #, c-format
 msgid "repository '%s' not found"
 msgstr "Repository '%s' nicht gefunden."
 
-#: remote-curl.c:450
+#: remote-curl.c:459
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr "Authentifizierung fehlgeschlagen für '%s'"
 
-#: remote-curl.c:454
+#: remote-curl.c:463
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "konnte nicht auf '%s' zugreifen: %s"
 
-#: remote-curl.c:460
+#: remote-curl.c:469
 #, c-format
 msgid "redirecting to %s"
 msgstr "Leite nach %s um"
 
-#: remote-curl.c:584
+#: remote-curl.c:593
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr "sollte kein EOF haben, wenn nicht behutsam mit EOF"
 
-#: remote-curl.c:664
+#: remote-curl.c:673
 msgid "unable to rewind rpc post data - try increasing http.postBuffer"
 msgstr ""
 "Konnte nicht RPC-POST-Daten zurückspulen - Versuchen Sie http.postBuffer zu "
 "erhöhen"
 
-#: remote-curl.c:724
+#: remote-curl.c:733
 #, c-format
 msgid "RPC failed; %s"
 msgstr "RPC fehlgeschlagen; %s"
 
-#: remote-curl.c:764
+#: remote-curl.c:773
 msgid "cannot handle pushes this big"
 msgstr "Kann solche großen Übertragungen nicht verarbeiten."
 
-#: remote-curl.c:879
+#: remote-curl.c:888
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr "Kann Request nicht komprimieren; \"zlib deflate\"-Fehler %d"
 
-#: remote-curl.c:883
+#: remote-curl.c:892
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr "Kann Request nicht komprimieren; \"zlib end\"-Fehler %d"
 
-#: remote-curl.c:1014
+#: remote-curl.c:1023
 msgid "dumb http transport does not support shallow capabilities"
 msgstr "Dumb HTTP-Transport unterstützt keine shallow-Funktionen"
 
-#: remote-curl.c:1028
+#: remote-curl.c:1038
 msgid "fetch failed."
 msgstr "\"fetch\" fehlgeschlagen."
 
-#: remote-curl.c:1076
+#: remote-curl.c:1086
 msgid "cannot fetch by sha1 over smart http"
 msgstr "Kann SHA-1 nicht über Smart-HTTP anfordern"
 
-#: remote-curl.c:1120 remote-curl.c:1126
+#: remote-curl.c:1130 remote-curl.c:1136
 #, c-format
 msgid "protocol error: expected sha/ref, got '%s'"
 msgstr "Protokollfehler: SHA-1/Referenz erwartet, '%s' bekommen"
 
-#: remote-curl.c:1138 remote-curl.c:1252
+#: remote-curl.c:1148 remote-curl.c:1263
 #, c-format
 msgid "http transport does not support %s"
 msgstr "HTTP-Transport unterstützt nicht %s"
 
-#: remote-curl.c:1174
+#: remote-curl.c:1184
 msgid "git-http-push failed"
 msgstr "\"git-http-push\" fehlgeschlagen"
 
-#: remote-curl.c:1360
+#: remote-curl.c:1369
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr "remote-curl: Verwendung: git remote-curl <Remote-Repository> [<URL>]"
 
-#: remote-curl.c:1392
+#: remote-curl.c:1401
 msgid "remote-curl: error reading command stream from git"
 msgstr "remote-curl: Fehler beim Lesen des Kommando-Streams von Git"
 
-#: remote-curl.c:1399
+#: remote-curl.c:1408
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr "remote-curl: \"fetch\" ohne lokales Repository versucht"
 
-#: remote-curl.c:1439
+#: remote-curl.c:1448
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr "remote-curl: Unbekannter Befehl '%s' von Git"
 
-#: list-objects-filter-options.h:61
+#: list-objects-filter-options.h:85
 msgid "args"
 msgstr "Argumente"
 
-#: list-objects-filter-options.h:62
+#: list-objects-filter-options.h:86
 msgid "object filtering"
 msgstr "Filtern nach Objekten"
 
-#: parse-options.h:170
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr "Verfallsdatum"
 
-#: parse-options.h:184
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr "Kein Effekt (Rückwärtskompatibilität)"
 
-#: parse-options.h:305
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr "erweiterte Ausgaben"
 
-#: parse-options.h:307
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr "weniger Ausgaben"
 
-#: parse-options.h:313
+#: parse-options.h:317
 msgid "use <n> digits to display SHA-1s"
 msgstr "benutze <n> Ziffern zur Anzeige von SHA-1s"
 
-#: parse-options.h:332
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr ""
 "wie Leerzeichen und #Kommentare von der Beschreibung getrennt werden sollen"
 
+#: parse-options.h:337
+msgid "read pathspec from file"
+msgstr "Pfadspezifikation aus einer Datei lesen"
+
+#: parse-options.h:338
+msgid ""
+"with --pathspec-from-file, pathspec elements are separated with NUL character"
+msgstr ""
+"Mit der Option --pathspec-from-file sind Pfade durch NUL-Zeichen getrennt"
+
 #: ref-filter.h:101
 msgid "key"
 msgstr "Schüssel"
@@ -22218,167 +23439,175 @@ msgid "Common Git shell script setup code"
 msgstr "allgemeiner Git Shell-Skript Konfigurationscode"
 
 #: command-list.h:171
+msgid "Initialize and modify the sparse-checkout"
+msgstr "Initialisiere und verändere den partiellen Checkout"
+
+#: command-list.h:172
 msgid "Stash the changes in a dirty working directory away"
 msgstr "Änderungen in einem Arbeitsverzeichnis aufbewahren"
 
-#: command-list.h:172
+#: command-list.h:173
 msgid "Add file contents to the staging area"
 msgstr "Dateiinhalte der Staging-Area hinzufügen"
 
-#: command-list.h:173
+#: command-list.h:174
 msgid "Show the working tree status"
 msgstr "den Zustand des Arbeitsverzeichnisses anzeigen"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Remove unnecessary whitespace"
 msgstr "nicht erforderlichen Whitespace entfernen"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Initialize, update or inspect submodules"
 msgstr "Submodule initialisieren, aktualisieren oder inspizieren"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr ""
 "Bidirektionale Operationen zwischen einem Subversion Repository und Git"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Switch branches"
 msgstr "Branches wechseln"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Read, modify and delete symbolic refs"
 msgstr "symbolische Referenzen lesen, ändern und löschen"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr ""
 "ein mit GPG signiertes Tag-Objekt erzeugen, auflisten, löschen oder "
 "verifizieren."
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Creates a temporary file with a blob's contents"
 msgstr "eine temporäre Datei mit den Inhalten eines Blobs erstellen"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Unpack objects from a packed archive"
 msgstr "Objekte von einem gepackten Archiv entpacken"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Register file contents in the working tree to the index"
 msgstr "Dateiinhalte aus dem Arbeitsverzeichnis im Index registrieren"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Update the object name stored in a ref safely"
 msgstr ""
 "den Objektnamen, der in einer Referenz gespeichert ist, sicher aktualisieren"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Update auxiliary info file to help dumb servers"
 msgstr "Hilfsinformationsdatei zur Hilfe von einfachen Servern aktualisieren"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Send archive back to git-archive"
 msgstr "Archiv zurück zu git-archive senden"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Objekte gepackt zurück an git-fetch-pack senden"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Show a Git logical variable"
 msgstr "eine logische Variable von Git anzeigen"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Check the GPG signature of commits"
 msgstr "die GPG-Signatur von Commits prüfen"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Validate packed Git archive files"
 msgstr "gepackte Git-Archivdateien validieren"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Check the GPG signature of tags"
 msgstr "die GPG-Signatur von Tags prüfen"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Git Web Interface (Web-Frontend für Git-Repositories)"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Show logs with difference each commit introduces"
 msgstr "Logs mit dem Unterschied, den jeder Commit einführt, anzeigen"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Manage multiple working trees"
 msgstr "mehrere Arbeitsverzeichnisse verwalten"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "Create a tree object from the current index"
 msgstr "Tree-Objekt vom aktuellen Index erstellen"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Defining attributes per path"
 msgstr "Definition von Attributen pro Pfad"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Git command-line interface and conventions"
 msgstr "Git Kommandozeilenschnittstelle und Konventionen"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "A Git core tutorial for developers"
 msgstr "eine Git Anleitung für Entwickler"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "Git for CVS users"
 msgstr "Git für CVS Benutzer"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Tweaking diff output"
 msgstr "Diff-Ausgabe optimieren"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr ""
 "ein kleine, nützliche Menge von Befehlen für die tägliche Verwendung von Git"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "A Git Glossary"
 msgstr "ein Git-Glossar"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Hooks used by Git"
 msgstr "von Git verwendete Hooks"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Spezifikation von bewusst ignorierten, unversionierten Dateien"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "Defining submodule properties"
 msgstr "Definition von Submodul-Eigenschaften"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "Git namespaces"
 msgstr "Git Namensbereiche"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "Git Repository Layout"
 msgstr "Git Repository Aufbau"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "Specifying revisions and ranges for Git"
 msgstr "Spezifikation von Commits und Bereichen für Git"
 
-#: command-list.h:208
+#: command-list.h:209
+msgid "Mounting one repository inside another"
+msgstr "Einbinden eines Repositories in ein anderes"
+
+#: command-list.h:210
 msgid "A tutorial introduction to Git: part two"
 msgstr "eine einführende Anleitung zu Git: Teil zwei"
 
-#: command-list.h:209
+#: command-list.h:211
 msgid "A tutorial introduction to Git"
 msgstr "eine einführende Anleitung zu Git"
 
-#: command-list.h:210
+#: command-list.h:212
 msgid "An overview of recommended workflows with Git"
 msgstr "Eine Übersicht über empfohlene Arbeitsabläufe mit Git"
 
@@ -22506,144 +23735,133 @@ msgstr "Versuche einfachen Merge mit $pretty_name"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "Einfacher Merge hat nicht funktioniert, versuche automatischen Merge."
 
-#: git-legacy-stash.sh:220
+#: git-legacy-stash.sh:221
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Kann temporären Index nicht löschen (kann nicht passieren)"
 
-#: git-legacy-stash.sh:271
+#: git-legacy-stash.sh:272
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "Kann $ref_stash nicht mit $w_commit aktualisieren."
 
-#: git-legacy-stash.sh:323
+#: git-legacy-stash.sh:324
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr "Fehler: unbekannte Option für 'stash push': $option"
 
-#: git-legacy-stash.sh:355
+#: git-legacy-stash.sh:356
 #, sh-format
 msgid "Saved working directory and index state $stash_msg"
 msgstr "Speicherte Arbeitsverzeichnis und Index-Status $stash_msg"
 
-#: git-legacy-stash.sh:535
+#: git-legacy-stash.sh:536
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "unbekannte Option: $opt"
 
-#: git-legacy-stash.sh:555
+#: git-legacy-stash.sh:556
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Zu viele Commits angegeben: $REV"
 
-#: git-legacy-stash.sh:570
+#: git-legacy-stash.sh:571
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference ist keine gültige Referenz"
 
-#: git-legacy-stash.sh:598
+#: git-legacy-stash.sh:599
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' ist kein \"stash\"-artiger Commit"
 
-#: git-legacy-stash.sh:609
+#: git-legacy-stash.sh:610
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' ist keine \"stash\"-Referenz"
 
-#: git-legacy-stash.sh:617
+#: git-legacy-stash.sh:618
 msgid "unable to refresh index"
 msgstr "Konnte den Index nicht aktualisieren."
 
-#: git-legacy-stash.sh:621
+#: git-legacy-stash.sh:622
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "Kann \"stash\" nicht anwenden, solange ein Merge im Gange ist"
 
-#: git-legacy-stash.sh:629
+#: git-legacy-stash.sh:630
 msgid "Conflicts in index. Try without --index."
 msgstr "Konflikte im Index. Versuchen Sie es ohne --index."
 
-#: git-legacy-stash.sh:631
+#: git-legacy-stash.sh:632
 msgid "Could not save index tree"
 msgstr "Konnte Index-Verzeichnis nicht speichern"
 
-#: git-legacy-stash.sh:640
+#: git-legacy-stash.sh:641
 msgid "Could not restore untracked files from stash entry"
 msgstr ""
 "Konnte unversionierte Dateien vom Stash-Eintrag nicht wiederherstellen."
 
-#: git-legacy-stash.sh:665
+#: git-legacy-stash.sh:666
 msgid "Cannot unstage modified files"
 msgstr "Kann geänderte Dateien nicht aus dem Index entfernen"
 
-#: git-legacy-stash.sh:703
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "${REV} ($s) gelöscht"
 
-#: git-legacy-stash.sh:704
+#: git-legacy-stash.sh:705
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Konnte \"stash\"-Eintrag nicht löschen"
 
-#: git-legacy-stash.sh:791
+#: git-legacy-stash.sh:792
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Zur Wiederherstellung geben Sie \"git stash apply\" ein)"
 
-#: git-submodule.sh:200
+#: git-submodule.sh:203
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Relative Pfade können nur von der obersten Ebene des Arbeitsverzeichnisses "
 "benutzt werden."
 
-#: git-submodule.sh:210
+#: git-submodule.sh:213
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "repo URL: '$repo' muss absolut sein oder mit ./|../ beginnen"
 
-#: git-submodule.sh:229
+#: git-submodule.sh:232
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' ist bereits zum Commit vorgemerkt"
 
-#: git-submodule.sh:232
+#: git-submodule.sh:235
 #, sh-format
 msgid "'$sm_path' already exists in the index and is not a submodule"
 msgstr "'$sm_path' ist bereits zum Commit vorgemerkt und ist kein Submodul"
 
-#: git-submodule.sh:239
+#: git-submodule.sh:242
 #, sh-format
 msgid "'$sm_path' does not have a commit checked out"
 msgstr "'$sm_path' hat keinen Commit ausgecheckt"
 
-#: git-submodule.sh:245
-#, sh-format
-msgid ""
-"The following path is ignored by one of your .gitignore files:\n"
-"$sm_path\n"
-"Use -f if you really want to add it."
-msgstr ""
-"Der folgende Pfad wird durch eine Ihrer \".gitignore\" Dateien ignoriert:\n"
-"$sm_path\n"
-"Benutzen Sie -f wenn Sie diesen wirklich hinzufügen möchten."
-
-#: git-submodule.sh:268
+#: git-submodule.sh:273
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Füge existierendes Repository in '$sm_path' dem Index hinzu."
 
-#: git-submodule.sh:270
+#: git-submodule.sh:275
 #, sh-format
 msgid "'$sm_path' already exists and is not a valid git repo"
 msgstr "'$sm_path' existiert bereits und ist kein gültiges Git-Repository"
 
-#: git-submodule.sh:278
+#: git-submodule.sh:283
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Ein Git-Verzeichnis für '$sm_name' wurde lokal gefunden mit den Remote-"
 "Repositories:"
 
-#: git-submodule.sh:280
+#: git-submodule.sh:285
 #, sh-format
 msgid ""
 "If you want to reuse this local git directory instead of cloning again from\n"
@@ -22661,37 +23879,37 @@ msgstr ""
 "nicht das korrekte Repository ist oder Sie unsicher sind, was das bedeutet,\n"
 "wählen Sie einen anderen Namen mit der Option '--name'."
 
-#: git-submodule.sh:286
+#: git-submodule.sh:291
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Reaktiviere lokales Git-Verzeichnis für Submodul '$sm_name'."
 
-#: git-submodule.sh:298
+#: git-submodule.sh:303
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Kann Submodul '$sm_path' nicht auschecken"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:308
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Hinzufügen von Submodul '$sm_path' fehlgeschlagen"
 
-#: git-submodule.sh:312
+#: git-submodule.sh:317
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Fehler beim Eintragen von Submodul '$sm_path' in die Konfiguration."
 
-#: git-submodule.sh:573
+#: git-submodule.sh:590
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr "Konnte aktuellen Commit in Submodul-Pfad '$displaypath' nicht finden."
 
-#: git-submodule.sh:583
+#: git-submodule.sh:600
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Konnte \"fetch\" in Submodul-Pfad '$sm_path' nicht ausführen"
 
-#: git-submodule.sh:588
+#: git-submodule.sh:605
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -22700,7 +23918,7 @@ msgstr ""
 "Konnte aktuellen Commit von ${remote_name}/${branch} in Submodul-Pfad\n"
 "'$sm_path' nicht finden."
 
-#: git-submodule.sh:606
+#: git-submodule.sh:623
 #, sh-format
 msgid ""
 "Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
@@ -22709,7 +23927,7 @@ msgstr ""
 "Konnte \"fetch\" in Submodul-Pfad '$displaypath' nicht ausführen. Versuche "
 "$sha1 direkt anzufordern:"
 
-#: git-submodule.sh:612
+#: git-submodule.sh:629
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -22718,74 +23936,74 @@ msgstr ""
 "\"fetch\" in Submodul-Pfad '$displaypath' ausgeführt, aber $sha1 nicht\n"
 "enthalten. Direktes Anfordern dieses Commits ist fehlgeschlagen."
 
-#: git-submodule.sh:619
+#: git-submodule.sh:636
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr "Konnte '$sha1' in Submodul-Pfad '$displaypath' nicht auschecken."
 
-#: git-submodule.sh:620
+#: git-submodule.sh:637
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Submodul-Pfad: '$displaypath': '$sha1' ausgecheckt"
 
-#: git-submodule.sh:624
+#: git-submodule.sh:641
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr "Rebase auf '$sha1' in Submodul-Pfad '$displaypath' nicht möglich"
 
-#: git-submodule.sh:625
+#: git-submodule.sh:642
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Submodul-Pfad '$displaypath': Rebase auf '$sha1'"
 
-#: git-submodule.sh:630
+#: git-submodule.sh:647
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr "Merge von '$sha1' in Submodul-Pfad '$displaypath' fehlgeschlagen"
 
-#: git-submodule.sh:631
+#: git-submodule.sh:648
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Submodul-Pfad '$displaypath': zusammengeführt in '$sha1'"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:653
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "Ausführung von '$command $sha1' in Submodul-Pfad '$displaypath' "
 "fehlgeschlagen"
 
-#: git-submodule.sh:637
+#: git-submodule.sh:654
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Submodul-Pfad '$displaypath': '$command $sha1'"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:685
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Fehler bei Rekursion in Submodul-Pfad '$displaypath'"
 
-#: git-submodule.sh:830
+#: git-submodule.sh:896
 msgid "The --cached option cannot be used with the --files option"
 msgstr ""
 "Die Optionen --cached und --files können nicht gemeinsam verwendet werden."
 
-#: git-submodule.sh:882
+#: git-submodule.sh:948
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "unerwarteter Modus $mod_dst"
 
-#: git-submodule.sh:902
+#: git-submodule.sh:968
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Warnung: $display_name beinhaltet nicht Commit $sha1_src"
 
-#: git-submodule.sh:905
+#: git-submodule.sh:971
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Warnung: $display_name beinhaltet nicht Commit $sha1_dst"
 
-#: git-submodule.sh:908
+#: git-submodule.sh:974
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
 msgstr ""
@@ -23116,6 +24334,10 @@ msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebase von $shortrevisions auf $shortonto ($todocount Kommando)"
 msgstr[1] "Rebase von $shortrevisions auf $shortonto ($todocount Kommandos)"
 
+#: git-rebase--preserve-merges.sh:955
+msgid "Note that empty commits are commented out"
+msgstr "Leere Commits sind auskommentiert."
+
 #: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002
 msgid "Could not init rewritten commits"
 msgstr "Konnte neu geschriebene Commits nicht initialisieren."
@@ -23198,140 +24420,67 @@ msgid "Unable to determine absolute path of git directory"
 msgstr "Konnte absoluten Pfad des Git-Verzeichnisses nicht bestimmen."
 
 #. TRANSLATORS: you can adjust this to align "git add -i" status menu
-#: git-add--interactive.perl:210
+#: git-add--interactive.perl:212
 #, perl-format
 msgid "%12s %12s %s"
 msgstr "%28s %25s %s"
 
-#: git-add--interactive.perl:211
-msgid "staged"
-msgstr "zur Staging-Area hinzugefügt"
-
-#: git-add--interactive.perl:211
-msgid "unstaged"
-msgstr "aus Staging-Area entfernt"
-
-#: git-add--interactive.perl:267 git-add--interactive.perl:292
-msgid "binary"
-msgstr "Binär"
-
-#: git-add--interactive.perl:276 git-add--interactive.perl:330
-msgid "nothing"
-msgstr "Nichts"
-
-#: git-add--interactive.perl:312 git-add--interactive.perl:327
-msgid "unchanged"
-msgstr "unverändert"
-
-#: git-add--interactive.perl:623
-#, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] "%d Pfad hinzugefügt\n"
-msgstr[1] "%d Pfade hinzugefügt\n"
-
-#: git-add--interactive.perl:626
-#, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] "%d Pfad aktualisiert\n"
-msgstr[1] "%d Pfade aktualisiert\n"
-
-#: git-add--interactive.perl:629
-#, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] "%d Pfad wiederhergestellt\n"
-msgstr[1] "%d Pfade wiederhergestellt\n"
-
-#: git-add--interactive.perl:632
+#: git-add--interactive.perl:634
 #, perl-format
 msgid "touched %d path\n"
 msgid_plural "touched %d paths\n"
 msgstr[0] "%d Pfad angefasst\n"
 msgstr[1] "%d Pfade angefasst\n"
 
-#: git-add--interactive.perl:641
-msgid "Update"
-msgstr "Aktualisieren"
-
-#: git-add--interactive.perl:653
-msgid "Revert"
-msgstr "Revert"
-
-#: git-add--interactive.perl:676
-#, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr "Hinweis: %s ist nun unversioniert.\n"
-
-#: git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr "unversionierte Dateien hinzufügen"
-
-#: git-add--interactive.perl:693
-msgid "No untracked files.\n"
-msgstr "Keine unversionierten Dateien.\n"
-
-#: git-add--interactive.perl:1051
+#: git-add--interactive.perl:1053
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for staging."
 msgstr ""
-"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-"
-"Block\n"
-"direkt als zum Hinzufügen zur Staging-Area markiert."
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete\n"
+"Patch-Block direkt zum Hinzufügen zur Staging-Area markiert."
 
-#: git-add--interactive.perl:1054
+#: git-add--interactive.perl:1056
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for stashing."
 msgstr ""
-"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-"
-"Block\n"
-"direkt als zum Hinzufügen zum Stash markiert."
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete\n"
+"Patch-Block direkt zum Hinzufügen zum Stash markiert."
 
-#: git-add--interactive.perl:1057
+#: git-add--interactive.perl:1059
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for unstaging."
 msgstr ""
-"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-"
-"Block\n"
-"direkt als zum Entfernen aus der Staging-Area markiert."
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete\n"
+"Patch-Block direkt zum Entfernen aus der Staging-Area markiert."
 
-#: git-add--interactive.perl:1060 git-add--interactive.perl:1069
-#: git-add--interactive.perl:1075
+#: git-add--interactive.perl:1062 git-add--interactive.perl:1071
+#: git-add--interactive.perl:1077
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for applying."
 msgstr ""
-"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-"
-"Block\n"
-"direkt als zum Anwenden markiert."
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete\n"
+"Patch-Block direkt zum Anwenden markiert."
 
-#: git-add--interactive.perl:1063 git-add--interactive.perl:1066
-#: git-add--interactive.perl:1072
+#: git-add--interactive.perl:1065 git-add--interactive.perl:1068
+#: git-add--interactive.perl:1074
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be\n"
 "marked for discarding."
 msgstr ""
-"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete Patch-"
-"Block\n"
-"direkt als zum Verwerfen markiert."
+"Wenn der Patch sauber angewendet werden kann, wird der bearbeitete\n"
+"Patch-Block direkt zum Verwerfen markiert."
 
-#: git-add--interactive.perl:1109
+#: git-add--interactive.perl:1111
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr ""
 "Fehler beim Öffnen von Editier-Datei eines Patch-Blocks zum Schreiben: %s"
 
-#: git-add--interactive.perl:1110
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr ""
-"Manueller Editiermodus für Patch-Blöcke -- siehe nach unten für eine\n"
-"Kurzanleitung.\n"
-
-#: git-add--interactive.perl:1116
+#: git-add--interactive.perl:1118
 #, perl-format
 msgid ""
 "---\n"
@@ -23344,37 +24493,12 @@ msgstr ""
 "Um '%s' Zeilen zu entfernen, löschen Sie diese.\n"
 "Zeilen, die mit %s beginnen, werden entfernt.\n"
 
-#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
-#: git-add--interactive.perl:1124
-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 ""
-"Wenn das nicht sauber angewendet werden kann, haben Sie die Möglichkeit\n"
-"einer erneuten Bearbeitung. Wenn alle Zeilen des Patch-Blocks entfernt "
-"werden,\n"
-"wird die Bearbeitung abgebrochen und der Patch-Block bleibt unverändert.\n"
-
-#: git-add--interactive.perl:1138
+#: git-add--interactive.perl:1140
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "Fehler beim Öffnen von Editier-Datei eines Patch-Blocks zum Lesen: %s"
 
-#. 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.
-#: git-add--interactive.perl:1237
-msgid ""
-"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr ""
-"Ihr bearbeiteter Patch-Block kann nicht angewendet werden.\n"
-"Erneut bearbeiten? (\"n\" verwirft Bearbeitung!) [y/n]?"
-
-#: git-add--interactive.perl:1246
+#: git-add--interactive.perl:1248
 msgid ""
 "y - stage this hunk\n"
 "n - do not stage this hunk\n"
@@ -23390,7 +24514,7 @@ msgstr ""
 "d - diesen oder alle weiteren Patch-Blöcke in dieser Datei nicht zum Commit "
 "vormerken"
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1254
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -23404,7 +24528,7 @@ msgstr ""
 "a - diesen und alle weiteren Patch-Blöcke dieser Datei stashen\n"
 "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht stashen"
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1260
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -23418,7 +24542,7 @@ msgstr ""
 "a - diesen und alle weiteren Patch-Blöcke dieser Datei unstashen\n"
 "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht unstashen"
 
-#: git-add--interactive.perl:1264
+#: git-add--interactive.perl:1266
 msgid ""
 "y - apply this hunk to index\n"
 "n - do not apply this hunk to index\n"
@@ -23435,7 +24559,7 @@ msgstr ""
 "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht auf den Index "
 "anwenden"
 
-#: git-add--interactive.perl:1270 git-add--interactive.perl:1288
+#: git-add--interactive.perl:1272 git-add--interactive.perl:1290
 msgid ""
 "y - discard this hunk from worktree\n"
 "n - do not discard this hunk from worktree\n"
@@ -23452,7 +24576,7 @@ msgstr ""
 "d - diesen oder alle weiteren Patch-Blöcke dieser Datei nicht im "
 "Arbeitsverzeichnis verwerfen"
 
-#: git-add--interactive.perl:1276
+#: git-add--interactive.perl:1278
 msgid ""
 "y - discard this hunk from index and worktree\n"
 "n - do not discard this hunk from index and worktree\n"
@@ -23467,7 +24591,7 @@ msgstr ""
 "a - diesen und alle weiteren Patch-Blöcke in der Datei verwerfen\n"
 "d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht verwerfen"
 
-#: git-add--interactive.perl:1282
+#: git-add--interactive.perl:1284
 msgid ""
 "y - apply this hunk to index and worktree\n"
 "n - do not apply this hunk to index and worktree\n"
@@ -23481,7 +24605,7 @@ msgstr ""
 "a - diesen und alle weiteren Patch-Blöcke in der Datei anwenden\n"
 "d - diesen oder alle weiteren Patch-Blöcke in der Datei nicht anwenden"
 
-#: git-add--interactive.perl:1294
+#: git-add--interactive.perl:1296
 msgid ""
 "y - apply this hunk to worktree\n"
 "n - do not apply this hunk to worktree\n"
@@ -23495,7 +24619,7 @@ msgstr ""
 "a - diesen und alle weiteren Patch-Blöcke in der Datei anwenden\n"
 "d - diesen und alle weiteren Patch-Blöcke in der Datei nicht anwenden"
 
-#: git-add--interactive.perl:1309
+#: git-add--interactive.perl:1311
 msgid ""
 "g - select a hunk to go to\n"
 "/ - search for a hunk matching the given regex\n"
@@ -23519,234 +24643,87 @@ msgstr ""
 "e - aktuellen Patch-Block manuell editieren\n"
 "? - Hilfe anzeigen\n"
 
-#: git-add--interactive.perl:1340
+#: git-add--interactive.perl:1342
 msgid "The selected hunks do not apply to the index!\n"
 msgstr ""
 "Die ausgewählten Patch-Blöcke können nicht auf den Index angewendet werden!\n"
 
-#: git-add--interactive.perl:1341
-msgid "Apply them to the worktree anyway? "
-msgstr "Trotzdem auf Arbeitsverzeichnis anwenden? "
-
-#: git-add--interactive.perl:1344
-msgid "Nothing was applied.\n"
-msgstr "Nichts angewendet.\n"
-
-#: git-add--interactive.perl:1355
+#: git-add--interactive.perl:1357
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "ignoriere nicht zusammengeführte Datei: %s\n"
 
-#: git-add--interactive.perl:1364
-msgid "Only binary files changed.\n"
-msgstr "Nur Binärdateien geändert.\n"
-
-#: git-add--interactive.perl:1366
-msgid "No changes.\n"
-msgstr "Keine Änderungen.\n"
-
-#: git-add--interactive.perl:1374
-msgid "Patch update"
-msgstr "Patch Aktualisierung"
-
-#: git-add--interactive.perl:1426
-#, perl-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr "Modusänderung der Staging-Area hinzufügen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1427
-#, perl-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr "Löschung der Staging-Area hinzufügen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1428
-#, perl-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Diesen Patch-Block der Staging-Area hinzufügen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1431
-#, perl-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr "Modusänderung stashen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1432
-#, perl-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr "Löschung stashen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1433
-#, perl-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr "Diesen Patch-Block stashen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1436
-#, perl-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr "Modusänderung aus der Staging-Area entfernen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1437
-#, perl-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr "Löschung aus der Staging-Area entfernen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1438
-#, perl-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Diesen Patch-Block aus der Staging-Area entfernen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1441
-#, perl-format
-msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr "Modusänderung auf Index anwenden [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1442
-#, perl-format
-msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr "Löschung auf Index anwenden [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1443
-#, perl-format
-msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr "Diesen Patch-Block auf Index anwenden [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1446 git-add--interactive.perl:1461
-#, perl-format
-msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr "Modusänderung im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1447 git-add--interactive.perl:1462
-#, perl-format
-msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr "Löschung im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1448 git-add--interactive.perl:1463
-#, perl-format
-msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr "Diesen Patch-Block im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1451
-#, perl-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-"Modusänderung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1452
-#, perl-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Löschung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1453
-#, perl-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-"Diesen Patch-Block vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d"
-"%s,?]? "
-
-#: git-add--interactive.perl:1456
-#, perl-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-"Modusänderung auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1457
-#, perl-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Löschung auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? "
-
-#: git-add--interactive.perl:1458
-#, perl-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
-msgstr ""
-"Diesen Patch-Block auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d"
-"%s,?]? "
-
-#: git-add--interactive.perl:1466
+#: git-add--interactive.perl:1468
 #, perl-format
 msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
 msgstr "Modusänderung auf Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1467
+#: git-add--interactive.perl:1469
 #, perl-format
 msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
 msgstr "Löschung auf Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1468
+#: git-add--interactive.perl:1470
 #, perl-format
 msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
 msgstr ""
 "Diesen Patch-Block auf das Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? "
 
-#: git-add--interactive.perl:1568
+#: git-add--interactive.perl:1570
 msgid "No other hunks to goto\n"
 msgstr "Keine anderen Patch-Blöcke verbleibend\n"
 
-#: git-add--interactive.perl:1575
-msgid "go to which hunk (<ret> to see more)? "
-msgstr "zu welchem Patch-Block springen (<Enter> für mehr Informationen)? "
-
-#: git-add--interactive.perl:1577
-msgid "go to which hunk? "
-msgstr "zu welchem Patch-Block springen? "
-
-#: git-add--interactive.perl:1586
+#: git-add--interactive.perl:1588
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Ungültige Nummer: '%s'\n"
 
-#: git-add--interactive.perl:1591
+#: git-add--interactive.perl:1593
 #, perl-format
 msgid "Sorry, only %d hunk available.\n"
 msgid_plural "Sorry, only %d hunks available.\n"
 msgstr[0] "Entschuldigung, nur %d Patch-Block verfügbar.\n"
 msgstr[1] "Entschuldigung, nur %d Patch-Blöcke verfügbar.\n"
 
-#: git-add--interactive.perl:1617
+#: git-add--interactive.perl:1619
 msgid "No other hunks to search\n"
 msgstr "Keine anderen Patch-Blöcke zum Durchsuchen\n"
 
-#: git-add--interactive.perl:1621
-msgid "search for regex? "
-msgstr "Suche nach regulärem Ausdruck? "
-
-#: git-add--interactive.perl:1634
+#: git-add--interactive.perl:1636
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Fehlerhafter regulärer Ausdruck für Suche %s: %s\n"
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1646
 msgid "No hunk matches the given pattern\n"
 msgstr "Kein Patch-Block entspricht dem angegebenen Muster\n"
 
-#: git-add--interactive.perl:1656 git-add--interactive.perl:1678
+#: git-add--interactive.perl:1658 git-add--interactive.perl:1680
 msgid "No previous hunk\n"
 msgstr "Kein vorheriger Patch-Block\n"
 
-#: git-add--interactive.perl:1665 git-add--interactive.perl:1684
+#: git-add--interactive.perl:1667 git-add--interactive.perl:1686
 msgid "No next hunk\n"
 msgstr "Kein folgender Patch-Block\n"
 
-#: git-add--interactive.perl:1690
+#: git-add--interactive.perl:1692
 msgid "Sorry, cannot split this hunk\n"
 msgstr "Entschuldigung, kann diesen Patch-Block nicht aufteilen.\n"
 
-#: git-add--interactive.perl:1696
+#: git-add--interactive.perl:1698
 #, perl-format
 msgid "Split into %d hunk.\n"
 msgid_plural "Split into %d hunks.\n"
 msgstr[0] "In %d Patch-Block aufgeteilt.\n"
 msgstr[1] "In %d Patch-Blöcke aufgeteilt.\n"
 
-#: git-add--interactive.perl:1706
+#: git-add--interactive.perl:1708
 msgid "Sorry, cannot edit this hunk\n"
 msgstr "Entschuldigung, kann diesen Patch-Block nicht bearbeiten.\n"
 
-#: git-add--interactive.perl:1752
-msgid "Review diff"
-msgstr "Diff überprüfen"
-
 #. TRANSLATORS: please do not translate the command names
 #. 'status', 'update', 'revert', etc.
-#: git-add--interactive.perl:1771
+#: git-add--interactive.perl:1773
 msgid ""
 "status        - show paths with changes\n"
 "update        - add working tree state to the staged set of changes\n"
@@ -23765,19 +24742,19 @@ msgstr ""
 "diff          - Unterschiede zwischen HEAD und Index anzeigen\n"
 "add untracked - Inhalte von unversionierten Dateien zum Commit vormerken\n"
 
-#: git-add--interactive.perl:1788 git-add--interactive.perl:1793
-#: git-add--interactive.perl:1796 git-add--interactive.perl:1803
-#: git-add--interactive.perl:1806 git-add--interactive.perl:1813
-#: git-add--interactive.perl:1817 git-add--interactive.perl:1823
+#: git-add--interactive.perl:1790 git-add--interactive.perl:1795
+#: git-add--interactive.perl:1798 git-add--interactive.perl:1805
+#: git-add--interactive.perl:1808 git-add--interactive.perl:1815
+#: git-add--interactive.perl:1819 git-add--interactive.perl:1825
 msgid "missing --"
 msgstr "-- fehlt"
 
-#: git-add--interactive.perl:1819
+#: git-add--interactive.perl:1821
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "Unbekannter --patch Modus: %s"
 
-#: git-add--interactive.perl:1825 git-add--interactive.perl:1831
+#: git-add--interactive.perl:1827 git-add--interactive.perl:1833
 #, perl-format
 msgid "invalid argument %s, expecting --"
 msgstr "ungültiges Argument %s, erwarte --"
@@ -24161,102 +25138,3 @@ msgstr "Lasse %s mit Backup-Suffix '%s' aus.\n"
 #, perl-format
 msgid "Do you really want to send %s? [y|N]: "
 msgstr "Wollen Sie %s wirklich versenden? [y|N]: "
-
-#~ msgid ""
-#~ "Fetch normally indicates which branches had a forced update, but that "
-#~ "check has been disabled."
-#~ msgstr ""
-#~ "'fetch' zeigt normalerweise, welche Branches eine erzwungene "
-#~ "Aktualisierung hatten, aber diese Überprüfung wurde deaktiviert."
-
-#~ msgid ""
-#~ "or run 'git config fetch.showForcedUpdates false' to avoid this check.\n"
-#~ msgstr ""
-#~ "oder führen Sie 'git config fetch.showForcedUpdates false' aus, um diese "
-#~ "Überprüfung zu umgehen.\n"
-
-#~ msgid ""
-#~ "log.mailmap is not set; its implicit value will change in an\n"
-#~ "upcoming release. To squelch this message and preserve current\n"
-#~ "behaviour, set the log.mailmap configuration value to false.\n"
-#~ "\n"
-#~ "To squelch this message and adopt the new behaviour now, set the\n"
-#~ "log.mailmap configuration value to true.\n"
-#~ "\n"
-#~ "See 'git help config' and search for 'log.mailmap' for further "
-#~ "information."
-#~ msgstr ""
-#~ "'log.mailmap' ist nicht gesetzt; der implizite Wert wird sich in einem\n"
-#~ "kommenden Release ändern. Um diese Meldung zu unterdrücken und das "
-#~ "aktuelle\n"
-#~ "Verhalten beizubehalten, setzen Sie den Konfigurationswert von'log."
-#~ "mailmap' auf 'false'.\n"
-#~ "\n"
-#~ "Um diese Meldung zu unterdrücken und jetzt das neue Verhalten zu\n"
-#~ "übernehmen, setzen Sie den Konfigurationswert von 'log.mailmap' auf "
-#~ "'true'.\n"
-#~ "\n"
-#~ "Führen Sie 'git help config' aus und suchen Sie nach 'log.mailmap', um\n"
-#~ "weitere Informationen zu erhalten."
-
-#~ msgid "Server supports multi_ack_detailed"
-#~ msgstr "Server unterstützt multi_ack_detailed"
-
-#~ msgid "Server supports no-done"
-#~ msgstr "Server unterstützt no-done"
-
-#~ msgid "Server supports multi_ack"
-#~ msgstr "Server unterstützt multi_ack"
-
-#~ msgid "Server supports side-band-64k"
-#~ msgstr "Server unterstützt side-band-64k"
-
-#~ msgid "Server supports side-band"
-#~ msgstr "Server unterstützt side-band"
-
-#~ msgid "Server supports allow-tip-sha1-in-want"
-#~ msgstr "Server unterstützt allow-tip-sha1-in-want"
-
-#~ msgid "Server supports allow-reachable-sha1-in-want"
-#~ msgstr "Server unterstützt allow-reachable-sha1-in-want"
-
-#~ msgid "Server supports ofs-delta"
-#~ msgstr "Server unterstützt ofs-delta"
-
-#~ msgid "(HEAD detached at %s)"
-#~ msgstr "(HEAD losgelöst bei %s)"
-
-#~ msgid "(HEAD detached from %s)"
-#~ msgstr "(HEAD losgelöst von %s)"
-
-#~ msgid "Checking out files"
-#~ msgstr "Checke Dateien aus"
-
-#~ msgid "cannot be interactive without stdin connected to a terminal."
-#~ msgstr ""
-#~ "Kann nicht interaktiv sein, ohne dass die Standard-Eingabe mit einem "
-#~ "Terminal verbunden ist."
-
-#~ msgid "failed to open '%s'"
-#~ msgstr "Fehler beim Öffnen von '%s'"
-
-#~ msgid "failed to stat %s\n"
-#~ msgstr "Konnte %s nicht lesen\n"
-
-#~ msgid ""
-#~ "If you wish to skip this commit, use:\n"
-#~ "\n"
-#~ "    git reset\n"
-#~ "\n"
-#~ "Then \"git cherry-pick --continue\" will resume cherry-picking\n"
-#~ "the remaining commits.\n"
-#~ msgstr ""
-#~ "Wenn Sie diesen Commit auslassen möchten, benutzen Sie:\n"
-#~ "\n"
-#~ "    git reset\n"
-#~ "\n"
-#~ "Benutzen Sie anschließend \"git cherry-pick --continue\", um die\n"
-#~ "Cherry-Pick-Operation mit den verbleibenden Commits fortzusetzen.\n"
-
-#~ msgid "unrecognized verb: %s"
-#~ msgstr "Nicht erkanntes Verb: %s"