about summary refs log tree commit diff
path: root/po/fr.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/fr.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/fr.po')
-rw-r--r--po/fr.po8759
1 files changed, 4866 insertions, 3893 deletions
diff --git a/po/fr.po b/po/fr.po
index 55c7db6aa6d0..314ff3747ef9 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -75,8 +75,8 @@ 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: 2019-08-10 18:17+0200\n"
+"POT-Creation-Date: 2020-03-11 15:26+0800\n"
+"PO-Revision-Date: 2020-03-11 21:03+0100\n"
 "Last-Translator: Cédric Malard <c.malard-git@valdun.net>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -86,37 +86,730 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
 "X-Generator: Poedit 2.2.3\n"
 
-#: advice.c:109
+#: add-interactive.c:368
+#, c-format
+msgid "Huh (%s)?"
+msgstr "Hein (%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 "impossible de lire l'index"
+
+#: add-interactive.c:576 git-add--interactive.perl:269
+#: git-add--interactive.perl:294
+msgid "binary"
+msgstr "binaire"
+
+#: add-interactive.c:634 git-add--interactive.perl:278
+#: git-add--interactive.perl:332
+msgid "nothing"
+msgstr "rien"
+
+#: add-interactive.c:635 git-add--interactive.perl:314
+#: git-add--interactive.perl:329
+msgid "unchanged"
+msgstr "inchangé"
+
+#: add-interactive.c:672 git-add--interactive.perl:643
+msgid "Update"
+msgstr "Mise à jour"
+
+#: add-interactive.c:689 add-interactive.c:877
+#, c-format
+msgid "could not stage '%s'"
+msgstr "impossible d'indexer '%s'"
+
+#: add-interactive.c:695 add-interactive.c:884 sequencer.c:3317
+#: builtin/rebase.c:899
+msgid "could not write index"
+msgstr "impossible d'écrire l'index"
+
+#: 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 chemin mis à jour\n"
+msgstr[1] "%d chemins mis à jour\n"
+
+#: add-interactive.c:716 git-add--interactive.perl:678
+#, c-format, perl-format
+msgid "note: %s is untracked now.\n"
+msgstr "note : %s n'est plus suivi à présent.\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 "échec de make_cache_entry pour le chemin '%s'"
+
+#: add-interactive.c:751 git-add--interactive.perl:655
+msgid "Revert"
+msgstr "Inverser"
+
+#: add-interactive.c:767
+msgid "Could not parse HEAD^{tree}"
+msgstr "impossible d'analyser HEAD^{tree}"
+
+#: add-interactive.c:805 git-add--interactive.perl:631
+#, c-format, perl-format
+msgid "reverted %d path\n"
+msgid_plural "reverted %d paths\n"
+msgstr[0] "%d chemin inversé\n"
+msgstr[1] "%d chemins inversés\n"
+
+#: add-interactive.c:856 git-add--interactive.perl:695
+#, c-format
+msgid "No untracked files.\n"
+msgstr "Aucun Fichier non suivi.\n"
+
+#: add-interactive.c:860 git-add--interactive.perl:689
+msgid "Add untracked"
+msgstr "Ajouter un fichier non-suivi"
+
+#: 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 chemin ajouté\n"
+msgstr[1] "%d chemins ajoutés\n"
+
+#: add-interactive.c:917
+#, c-format
+msgid "ignoring unmerged: %s"
+msgstr "fichier non-fusionné ignoré : %s"
+
+#: add-interactive.c:929 add-patch.c:1675 git-add--interactive.perl:1366
+#, c-format
+msgid "Only binary files changed.\n"
+msgstr "Seuls des fichiers binaires ont changé.\n"
+
+#: add-interactive.c:931 add-patch.c:1673 git-add--interactive.perl:1368
+#, c-format
+msgid "No changes.\n"
+msgstr "Aucune modification.\n"
+
+#: add-interactive.c:935 git-add--interactive.perl:1376
+msgid "Patch update"
+msgstr "Mise à jour par patch"
+
+#: add-interactive.c:974 git-add--interactive.perl:1754
+msgid "Review diff"
+msgstr "Réviser la différence"
+
+#: add-interactive.c:1002
+msgid "show paths with changes"
+msgstr "afficher les chemins comprenant des modifications"
+
+#: add-interactive.c:1004
+msgid "add working tree state to the staged set of changes"
+msgstr ""
+"ajouter l'état de l'arbre de travail à l'ensemble des modifications indexées"
+
+#: add-interactive.c:1006
+msgid "revert staged set of changes back to the HEAD version"
+msgstr "retourner l'ensemble de modifications indexées à la version HEAD"
+
+#: add-interactive.c:1008
+msgid "pick hunks and update selectively"
+msgstr "sélection et mise à jour individuelle des sections"
+
+#: add-interactive.c:1010
+msgid "view diff between HEAD and index"
+msgstr "visualiser les diffs entre HEAD et l'index"
+
+#: add-interactive.c:1012
+msgid "add contents of untracked files to the staged set of changes"
+msgstr ""
+"ajouter le contenu des fichiers non-suivis à l'ensemble des modifications "
+"indexées"
+
+#: add-interactive.c:1020 add-interactive.c:1069
+msgid "Prompt help:"
+msgstr "Aide :"
+
+#: add-interactive.c:1022
+msgid "select a single item"
+msgstr "sélectionner un seul élément"
+
+#: add-interactive.c:1024
+msgid "select a range of items"
+msgstr "sélectionner une plage d'éléments"
+
+#: add-interactive.c:1026
+msgid "select multiple ranges"
+msgstr "sélectionner plusieurs plages"
+
+#: add-interactive.c:1028 add-interactive.c:1073
+msgid "select item based on unique prefix"
+msgstr "sélectionner un élément basé sur une préfixe unique"
+
+#: add-interactive.c:1030
+msgid "unselect specified items"
+msgstr "désélectionner les éléments spécifiés"
+
+#: add-interactive.c:1032
+msgid "choose all items"
+msgstr "choisir tous les éléments"
+
+#: add-interactive.c:1034
+msgid "(empty) finish selecting"
+msgstr "(vide) arrêter de sélectionner"
+
+#: add-interactive.c:1071
+msgid "select a numbered item"
+msgstr "sélectionner un élément par son numéro"
+
+#: add-interactive.c:1075
+msgid "(empty) select nothing"
+msgstr "(vide) ne rien sélectionner"
+
+#: add-interactive.c:1083 builtin/clean.c:822 git-add--interactive.perl:1851
+msgid "*** Commands ***"
+msgstr "*** Commandes ***"
+
+#: add-interactive.c:1084 builtin/clean.c:823 git-add--interactive.perl:1848
+msgid "What now"
+msgstr "Et maintenant ?"
+
+#: add-interactive.c:1136 git-add--interactive.perl:213
+msgid "staged"
+msgstr "indexé"
+
+#: add-interactive.c:1136 git-add--interactive.perl:213
+msgid "unstaged"
+msgstr "non-indexé"
+
+#: 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 "chemin"
+
+#: add-interactive.c:1143
+msgid "could not refresh index"
+msgstr "impossible de rafraîchir l'index"
+
+#: add-interactive.c:1157 builtin/clean.c:787 git-add--interactive.perl:1765
+#, c-format
+msgid "Bye.\n"
+msgstr "Au revoir.\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 "Indexer le changement de mode [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 "Indexer la suppression [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 "Indexer cette section [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 ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme indexée."
+
+#: 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 - indexer cette section\n"
+"n - ne pas indexer cette section\n"
+"q - quitter ; ne pas indexer cette section ni les autres restantes\n"
+"a - indexer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas indexer cette section ni les suivantes de ce fichier\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 "Remiser le changement de mode [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 "Remiser la suppression [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 "Remiser cette section [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 ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme remisée."
+
+#: 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 - remiser cette section\n"
+"n - ne pas remiser cette section\n"
+"q - quitter ; ne pas remiser cette section ni les autres restantes\n"
+"a - remiser cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas remiser cette section ni les suivantes de ce fichier\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 "Désindexer le changement de mode [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 "Désindexer la suppression [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 "Désindexer cette section [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 ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme desindexée."
+
+#: 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 - désindexer cette section\n"
+"n - ne pas désindexer cette section\n"
+"q - quitter ; ne pas désindexer cette section ni les autres restantes\n"
+"a - désindexer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas désindexer cette section ni les suivantes de ce fichier\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 "Appliquer le changement de mode à l'index [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 "Appliquer la suppression à l'index [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 "Appliquer cette section à l'index [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 ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme appliquée."
+
+#: 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 - appliquer cette section\n"
+"n - ne pas appliquer cette section\n"
+"q - quitter ; ne pas appliquer cette section ni les autres restantes\n"
+"a - appliquer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas appliquer cette section ni les suivantes de ce fichier\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 "Abandonner le changement de mode dans l'arbre [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 "Abandonner la suppression dans l'arbre [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 "Abandonner cette section dans l'arbre [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 ""
+"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"marquée comme éliminée."
+
+#: 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 - supprimer cette section\n"
+"n - ne pas supprimer cette section\n"
+"q - quitter ; ne pas supprimer cette section ni les autres restantes\n"
+"a - supprimer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas supprimer cette section ni les suivantes de ce fichier\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 ""
+"Abandonner le changement de mode dans l'index et l'arbre [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 "Abandonner la suppression de l'index et de l'arbre [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 ""
+"Supprimer la section dans l'index et l'arbre de travail [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 - éliminer cette section de l'index et de l'arbre de travail\n"
+"n - ne pas éliminer cette section\n"
+"q - quitter ; ne pas éliminer cette section ni les autres restantes\n"
+"a - éliminer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas éliminer cette section ni les suivantes de ce fichier\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 ""
+"Appliquer le changement de mode dans l'index et l'arbre de travail [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 ""
+"Appliquer la suppression dans l'index et l'arbre de travail [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 ""
+"Appliquer la section à l'index et l'arbre de travail [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 - appliquer cette section à l'index et à l'arbre de travail\n"
+"n - ne pas appliquer cette section\n"
+"q - quitter ; ne pas appliquer cette section ni les autres restantes\n"
+"a - appliquer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas appliquer cette section ni les suivantes de ce fichier\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 - appliquer cette section à l'arbre de travail\n"
+"n - ne pas appliquer cette section\n"
+"q - quitter ; ne pas appliquer cette section ni les autres restantes\n"
+"a - appliquer cette section et toutes les suivantes de ce fichier\n"
+"d - ne pas appliquer cette section ni les suivantes de ce fichier\n"
+
+#: add-patch.c:318
+#, c-format
+msgid "could not parse hunk header '%.*s'"
+msgstr "impossible d'analyser l'entête de section '%.*s'"
+
+#: add-patch.c:337 add-patch.c:341
+#, c-format
+msgid "could not parse colored hunk header '%.*s'"
+msgstr "impossible d'analyser l'entête coloré de section '%.*s'"
+
+#: add-patch.c:395
+msgid "could not parse diff"
+msgstr "impossible d'analyser la diff"
+
+#: add-patch.c:414
+msgid "could not parse colored diff"
+msgstr "impossible d'analyser la diff colorée"
+
+#: add-patch.c:428
+#, c-format
+msgid "failed to run '%s'"
+msgstr "échec pour lancer '%s'"
+
+#: add-patch.c:587
+msgid "mismatched output from interactive.diffFilter"
+msgstr "sortie sans correspondance depuis interactive.diffFilter"
+
+#: add-patch.c:588
+msgid ""
+"Your filter must maintain a one-to-one correspondence\n"
+"between its input and output lines."
+msgstr ""
+"Votre filtre doit maintenir une correspondance un-pour-un\n"
+"entre les lignes en entrée et en sortie."
+
+#: add-patch.c:761
+#, c-format
+msgid ""
+"expected context line #%d in\n"
+"%.*s"
+msgstr ""
+"ligne de contexte attendue #%d dans\n"
+"%.*s"
+
+#: add-patch.c:776
+#, c-format
+msgid ""
+"hunks do not overlap:\n"
+"%.*s\n"
+"\tdoes not end with:\n"
+"%.*s"
+msgstr ""
+"les sections ne se recouvrent pas :\n"
+"%.*s\n"
+"\tne se termine pas par :\n"
+"%.*s"
+
+#: add-patch.c:1052 git-add--interactive.perl:1112
+msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
+msgstr ""
+"Mode d'édition manuelle de section -- voir ci-dessous pour un guide rapide.\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"
+"Pour éliminer les lignes '%c', rendez-les ' ' (contexte).\n"
+"Pour éliminer les lignes '%c', effacez-les.\n"
+"Les lignes commençant par %c seront éliminées.\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 ""
+"Si ça ne s'applique pas proprement, vous aurez la possibilité de\n"
+"l'éditer à nouveau. Si toutes les lignes de la section sont supprimées,\n"
+"alors l'édition sera abandonnée et la section conservée.\n"
+
+#: add-patch.c:1103
+msgid "could not parse hunk header"
+msgstr "impossible d'analyser l'entête de section"
+
+#: add-patch.c:1148
+msgid "'git apply --cached' failed"
+msgstr "'git apply --cached' a échoué"
+
+#. 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 ""
+"Votre section éditée ne s'applique pas. L'éditer à nouveau (\"no\" "
+"l'élimine !) [y|n] ? "
+
+#: add-patch.c:1261
+msgid "The selected hunks do not apply to the index!"
+msgstr "Les sections sélectionnées ne s'applique pas à l'index !"
+
+#: add-patch.c:1262 git-add--interactive.perl:1343
+msgid "Apply them to the worktree anyway? "
+msgstr "Les appliquer quand même à l'arbre de travail ? "
+
+#: add-patch.c:1269 git-add--interactive.perl:1346
+msgid "Nothing was applied.\n"
+msgstr "Rien n'a été appliqué.\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 - laisser cette section non décidée et aller à la suivante non-décidée\n"
+"J - laisser cette section non décidée et aller à la suivante\n"
+"k - laisser cette section non décidée et aller à la précédente non-décidée\n"
+"K - laisser cette section non décidée et aller à la précédente\n"
+"g - sélectionner une section et s'y rendre\n"
+"/ - rechercher une section correspondant à une regex donnée\n"
+"s - découper la section en sections plus petites\n"
+"e - éditer manuellement la section actuelle\n"
+"? - afficher l'aide\n"
+
+#: add-patch.c:1447 add-patch.c:1457
+msgid "No previous hunk"
+msgstr "Pas de section précédente"
+
+#: add-patch.c:1452 add-patch.c:1462
+msgid "No next hunk"
+msgstr "Pas de section suivante"
+
+#: add-patch.c:1468
+msgid "No other hunks to goto"
+msgstr "Aucune autre section à atteindre"
+
+#: add-patch.c:1479 git-add--interactive.perl:1577
+msgid "go to which hunk (<ret> to see more)? "
+msgstr "aller à quelle section (<ret> pour voir plus) ? "
+
+#: add-patch.c:1480 git-add--interactive.perl:1579
+msgid "go to which hunk? "
+msgstr "aller à quelle section ? "
+
+#: add-patch.c:1491
+#, c-format
+msgid "Invalid number: '%s'"
+msgstr "Numéro invalide : '%s'"
+
+#: add-patch.c:1496
+#, c-format
+msgid "Sorry, only %d hunk available."
+msgid_plural "Sorry, only %d hunks available."
+msgstr[0] "Désolé, %d seule section disponible."
+msgstr[1] "Désolé, Seulement %d sections disponibles."
+
+#: add-patch.c:1505
+msgid "No other hunks to search"
+msgstr "aucune autre section à rechercher"
+
+#: add-patch.c:1511 git-add--interactive.perl:1623
+msgid "search for regex? "
+msgstr "rechercher la regex ? "
+
+#: add-patch.c:1526
+#, c-format
+msgid "Malformed search regexp %s: %s"
+msgstr "Regex de recherche malformée %s : %s"
+
+#: add-patch.c:1543
+msgid "No hunk matches the given pattern"
+msgstr "Aucune section ne correspond au motif donné"
+
+#: add-patch.c:1550
+msgid "Sorry, cannot split this hunk"
+msgstr "Désolé, impossible de découper cette section"
+
+#: add-patch.c:1554
+#, c-format
+msgid "Split into %d hunks."
+msgstr "Découpée en %d sections."
+
+#: add-patch.c:1558
+msgid "Sorry, cannot edit this hunk"
+msgstr "Désolé, impossible d'éditer cette section"
+
+#: add-patch.c:1609
+msgid "'git apply' failed"
+msgstr "'git apply' a échoué"
+
+#: advice.c:115
 #, c-format
 msgid "%shint: %.*s%s\n"
 msgstr "%sastuce: %.*s%s\n"
 
-#: advice.c:162
+#: advice.c:168
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr "Impossible de picorer car vous avez des fichiers non fusionnés."
 
-#: advice.c:164
+#: advice.c:170
 msgid "Committing is not possible because you have unmerged files."
 msgstr "Impossible de valider car vous avez des fichiers non fusionnés."
 
-#: advice.c:166
+#: advice.c:172
 msgid "Merging is not possible because you have unmerged files."
 msgstr "Impossible de fusionner car vous avez des fichiers non fusionnés."
 
-#: advice.c:168
+#: advice.c:174
 msgid "Pulling is not possible because you have unmerged files."
 msgstr "Impossible de tirer car vous avez des fichiers non fusionnés."
 
-#: advice.c:170
+#: advice.c:176
 msgid "Reverting is not possible because you have unmerged files."
 msgstr "Impossible d'annuler car vous avez des fichiers non fusionnés."
 
-#: advice.c:172
+#: advice.c:178
 #, c-format
 msgid "It is not possible to %s because you have unmerged files."
 msgstr "%s n'est pas possible car vous avez des fichiers non fusionnés."
 
-#: 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."
@@ -124,23 +817,23 @@ msgstr ""
 "Corrigez-les puis lancez 'git add/rm <fichier>'\n"
 "si nécessaire pour marquer la résolution et valider."
 
-#: advice.c:188
+#: advice.c:194
 msgid "Exiting because of an unresolved conflict."
 msgstr "Abandon à cause de conflit non résolu."
 
-#: 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 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)."
 
-#: advice.c:195
+#: advice.c:201
 msgid "Please, commit your changes before merging."
 msgstr "Veuillez valider vos changements avant de fusionner."
 
-#: advice.c:196
+#: advice.c:202
 msgid "Exiting because of unfinished merge."
 msgstr "Abandon à cause d'une fusion non terminée."
 
-#: advice.c:202
+#: advice.c:208
 #, c-format
 msgid ""
 "Note: switching to '%s'.\n"
@@ -275,17 +968,7 @@ msgstr "mode invalide dans la ligne %d : %s"
 msgid "inconsistent header lines %d and %d"
 msgstr "lignes d'entête inconsistantes %d et %d"
 
-#: apply.c:1460
-#, c-format
-msgid "recount: unexpected line: %.*s"
-msgstr "recomptage : ligne inattendue : %.*s"
-
-#: apply.c:1529
-#, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "fragment de patch sans en-tête à la ligne %d : %.*s"
-
-#: apply.c:1551
+#: apply.c:1372
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -300,83 +983,93 @@ msgstr[1] ""
 "information de nom de fichier manquante dans l'en-tête de git diff lors de "
 "la suppression de %d composants de préfixe de chemin (ligne %d)"
 
-#: apply.c:1564
+#: apply.c:1385
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
 "information de nom de fichier manquante dans l'en-tête de git diff (ligne %d)"
 
-#: apply.c:1752
+#: apply.c:1481
+#, c-format
+msgid "recount: unexpected line: %.*s"
+msgstr "recomptage : ligne inattendue : %.*s"
+
+#: apply.c:1550
+#, c-format
+msgid "patch fragment without header at line %d: %.*s"
+msgstr "fragment de patch sans en-tête à la ligne %d : %.*s"
+
+#: apply.c:1753
 msgid "new file depends on old contents"
 msgstr "le nouveau fichier dépend de contenus anciens"
 
-#: apply.c:1754
+#: apply.c:1755
 msgid "deleted file still has contents"
 msgstr "le fichier supprimé a encore du contenu"
 
-#: apply.c:1788
+#: apply.c:1789
 #, c-format
 msgid "corrupt patch at line %d"
 msgstr "patch corrompu à la ligne %d"
 
-#: apply.c:1825
+#: apply.c:1826
 #, c-format
 msgid "new file %s depends on old contents"
 msgstr "le nouveau fichier %s dépend de contenus anciens"
 
-#: apply.c:1827
+#: apply.c:1828
 #, c-format
 msgid "deleted file %s still has contents"
 msgstr "le fichier supprimé %s a encore du contenu"
 
-#: apply.c:1830
+#: apply.c:1831
 #, c-format
 msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé"
 
-#: apply.c:1977
+#: apply.c:1978
 #, c-format
 msgid "corrupt binary patch at line %d: %.*s"
 msgstr "patch binaire corrompu à la ligne %d : %.*s"
 
-#: apply.c:2014
+#: apply.c:2015
 #, c-format
 msgid "unrecognized binary patch at line %d"
 msgstr "patch binaire non reconnu à la ligne %d"
 
-#: apply.c:2176
+#: apply.c:2177
 #, c-format
 msgid "patch with only garbage at line %d"
 msgstr "patch totalement incompréhensible à la ligne %d"
 
-#: apply.c:2262
+#: apply.c:2263
 #, c-format
 msgid "unable to read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: apply.c:2266
+#: apply.c:2267
 #, c-format
 msgid "unable to open or read %s"
 msgstr "ouverture ou lecture de %s impossible"
 
-#: apply.c:2925
+#: apply.c:2936
 #, c-format
 msgid "invalid start of line: '%c'"
 msgstr "début de ligne invalide : '%c'"
 
-#: apply.c:3046
+#: apply.c:3057
 #, c-format
 msgid "Hunk #%d succeeded at %d (offset %d line)."
 msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
 msgstr[0] "La section n°%d a réussi à la ligne %d (offset %d ligne)."
 msgstr[1] "La section n°%d a réussi à la ligne %d (offset %d lignes)."
 
-#: apply.c:3058
+#: apply.c:3069
 #, c-format
 msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
 msgstr "Contexte réduit à (%ld/%ld) pour appliquer le fragment à la ligne %d"
 
-#: apply.c:3064
+#: apply.c:3075
 #, c-format
 msgid ""
 "while searching for:\n"
@@ -385,463 +1078,449 @@ msgstr ""
 "pendant la recherche de :\n"
 "%.*s"
 
-#: apply.c:3086
+#: apply.c:3097
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "données de patch binaire manquantes pour '%s'"
 
-#: apply.c:3094
+#: apply.c:3105
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
 "impossible d'appliquer l'inverse d'un patch binaire à '%s' sans la section "
 "inverse"
 
-#: apply.c:3141
+#: apply.c:3152
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
 msgstr ""
 "impossible d'appliquer un patch binaire à '%s' sans la ligne complète d'index"
 
-#: apply.c:3151
+#: apply.c:3163
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
 "le patch s'applique à '%s' (%s), ce qui ne correspond pas au contenu actuel."
 
-#: apply.c:3159
+#: apply.c:3171
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
 msgstr "le patch s'applique à un '%s' vide mais ce n'est pas vide"
 
-#: apply.c:3177
+#: apply.c:3189
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
 msgstr "l'image postérieure nécessaire %s pour '%s' ne peut pas être lue"
 
-#: apply.c:3190
+#: apply.c:3202
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "le patch binaire ne s'applique par correctement à '%s'"
 
-#: apply.c:3196
+#: apply.c:3209
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "le patch binaire sur '%s' crée un résultat incorrect (%s attendu, mais %s "
 "trouvé)"
 
-#: apply.c:3217
+#: apply.c:3230
 #, c-format
 msgid "patch failed: %s:%ld"
 msgstr "le patch a échoué : %s:%ld"
 
-#: apply.c:3340
+#: apply.c:3353
 #, c-format
 msgid "cannot checkout %s"
 msgstr "extraction de %s impossible"
 
-#: 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 "échec de la lecture de %s"
 
-#: apply.c:3400
+#: apply.c:3413
 #, c-format
 msgid "reading from '%s' beyond a symbolic link"
 msgstr "lecture depuis '%s' au-delà d'un lien symbolique"
 
-#: apply.c:3429 apply.c:3672
+#: apply.c:3442 apply.c:3685
 #, c-format
 msgid "path %s has been renamed/deleted"
 msgstr "le chemin %s a été renommé/supprimé"
 
-#: apply.c:3515 apply.c:3687
+#: apply.c:3528 apply.c:3700
 #, c-format
 msgid "%s: does not exist in index"
 msgstr "%s : n'existe pas dans l'index"
 
-#: apply.c:3524 apply.c:3695
+#: apply.c:3537 apply.c:3708
 #, c-format
 msgid "%s: does not match index"
 msgstr "%s : ne correspond pas à l'index"
 
-#: apply.c:3559
+#: apply.c:3572
 msgid "repository lacks the necessary blob to fall back on 3-way merge."
 msgstr ""
 "le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 "
 "points."
 
-#: apply.c:3562
+#: apply.c:3575
 #, c-format
 msgid "Falling back to three-way merge...\n"
 msgstr "Retour à une fusion à 3 points…\n"
 
-#: apply.c:3578 apply.c:3582
+#: apply.c:3591 apply.c:3595
 #, c-format
 msgid "cannot read the current contents of '%s'"
 msgstr "impossible de lire le contenu actuel de '%s'"
 
-#: apply.c:3594
+#: apply.c:3607
 #, c-format
 msgid "Failed to fall back on three-way merge...\n"
 msgstr "Échec du retour à une fusion à 3 points…\n"
 
-#: apply.c:3608
+#: apply.c:3621
 #, c-format
 msgid "Applied patch to '%s' with conflicts.\n"
 msgstr "Patch %s appliqué avec des conflits.\n"
 
-#: apply.c:3613
+#: apply.c:3626
 #, c-format
 msgid "Applied patch to '%s' cleanly.\n"
 msgstr "Patch %s appliqué proprement.\n"
 
-#: apply.c:3639
+#: apply.c:3652
 msgid "removal patch leaves file contents"
 msgstr "le patch de suppression laisse un contenu dans le fichier"
 
-#: apply.c:3712
+#: apply.c:3725
 #, c-format
 msgid "%s: wrong type"
 msgstr "%s : type erroné"
 
-#: apply.c:3714
+#: apply.c:3727
 #, c-format
 msgid "%s has type %o, expected %o"
 msgstr "%s est de type %o, mais %o attendu"
 
-#: 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 "chemin invalide '%s'"
 
-#: apply.c:3923
+#: apply.c:3936
 #, c-format
 msgid "%s: already exists in index"
 msgstr "%s : existe déjà dans l'index"
 
-#: apply.c:3926
+#: apply.c:3939
 #, c-format
 msgid "%s: already exists in working directory"
 msgstr "%s : existe déjà dans la copie de travail"
 
-#: apply.c:3946
+#: apply.c:3959
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o)"
 msgstr "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o)"
 
-#: apply.c:3951
+#: apply.c:3964
 #, c-format
 msgid "new mode (%o) of %s does not match old mode (%o) of %s"
 msgstr ""
 "le nouveau mode (%o) de %s ne correspond pas à l'ancien mode (%o) de %s"
 
-#: apply.c:3971
+#: apply.c:3984
 #, c-format
 msgid "affected file '%s' is beyond a symbolic link"
 msgstr "le fichier affecté '%s' est au-delà d'un lien symbolique"
 
-#: apply.c:3975
+#: apply.c:3988
 #, c-format
 msgid "%s: patch does not apply"
 msgstr "%s : le patch ne s'applique pas"
 
-#: apply.c:3990
+#: apply.c:4003
 #, c-format
 msgid "Checking patch %s..."
 msgstr "Vérification du patch %s..."
 
-#: apply.c:4082
+#: apply.c:4095
 #, c-format
 msgid "sha1 information is lacking or useless for submodule %s"
 msgstr ""
 "l'information sha1 est manquante ou inutilisable pour le sous-module %s"
 
-#: apply.c:4089
+#: apply.c:4102
 #, c-format
 msgid "mode change for %s, which is not in current HEAD"
 msgstr "le mode change pour %s, qui n'est pas dans la HEAD actuelle"
 
-#: apply.c:4092
+#: apply.c:4105
 #, c-format
 msgid "sha1 information is lacking or useless (%s)."
 msgstr "l'information de sha1 est manquante ou inutilisable (%s)."
 
-#: apply.c:4097 builtin/checkout.c:278 builtin/reset.c:143
-#, c-format
-msgid "make_cache_entry failed for path '%s'"
-msgstr "échec de make_cache_entry pour le chemin '%s'"
-
-#: apply.c:4101
+#: apply.c:4114
 #, c-format
 msgid "could not add %s to temporary index"
 msgstr "impossible d'ajouter %s à l'index temporaire"
 
-#: apply.c:4111
+#: apply.c:4124
 #, c-format
 msgid "could not write temporary index to %s"
 msgstr "impossible d'écrire l'index temporaire dans %s"
 
-#: apply.c:4249
+#: apply.c:4262
 #, c-format
 msgid "unable to remove %s from index"
 msgstr "suppression de %s dans l'index impossible"
 
-#: apply.c:4283
+#: apply.c:4296
 #, c-format
 msgid "corrupt patch for submodule %s"
 msgstr "patch corrompu pour le sous-module %s"
 
-#: apply.c:4289
+#: apply.c:4302
 #, c-format
 msgid "unable to stat newly created file '%s'"
 msgstr "stat du fichier nouvellement créé '%s' impossible"
 
-#: apply.c:4297
+#: apply.c:4310
 #, c-format
 msgid "unable to create backing store for newly created file %s"
 msgstr ""
 "création du magasin de stockage pour le fichier nouvellement créé %s "
 "impossible"
 
-#: apply.c:4303 apply.c:4448
+#: apply.c:4316 apply.c:4461
 #, c-format
 msgid "unable to add cache entry for %s"
 msgstr "ajout de l'élément de cache %s impossible"
 
-#: apply.c:4346
+#: apply.c:4359
 #, c-format
 msgid "failed to write to '%s'"
 msgstr "échec de l'écriture dans '%s'"
 
-#: apply.c:4350
+#: apply.c:4363
 #, c-format
 msgid "closing file '%s'"
 msgstr "fermeture du fichier '%s'"
 
-#: apply.c:4420
+#: apply.c:4433
 #, c-format
 msgid "unable to write file '%s' mode %o"
 msgstr "écriture du fichier '%s' mode %o impossible"
 
-#: apply.c:4518
+#: apply.c:4531
 #, c-format
 msgid "Applied patch %s cleanly."
 msgstr "Patch %s appliqué proprement."
 
-#: apply.c:4526
+#: apply.c:4539
 msgid "internal error"
 msgstr "erreur interne"
 
-#: 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] "Application du patch %%s avec %d rejet..."
 msgstr[1] "Application du patch %%s avec %d rejets..."
 
-#: apply.c:4540
+#: apply.c:4553
 #, c-format
 msgid "truncating .rej filename to %.*s.rej"
 msgstr "troncature du nom de fichier .rej en %.*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 "impossible d'ouvrir %s"
 
-#: apply.c:4562
+#: apply.c:4575
 #, c-format
 msgid "Hunk #%d applied cleanly."
 msgstr "Section n°%d appliquée proprement."
 
-#: apply.c:4566
+#: apply.c:4579
 #, c-format
 msgid "Rejected hunk #%d."
 msgstr "Section n°%d rejetée."
 
-#: apply.c:4676
+#: apply.c:4698
 #, c-format
 msgid "Skipped patch '%s'."
 msgstr "Chemin '%s' non traité."
 
-#: apply.c:4684
+#: apply.c:4706
 msgid "unrecognized input"
 msgstr "entrée non reconnue"
 
-#: apply.c:4704
+#: apply.c:4726
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
-#: apply.c:4859
+#: apply.c:4883
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible du patch '%s' :%s"
 
-#: apply.c:4886
+#: apply.c:4910
 #, c-format
 msgid "squelched %d whitespace error"
 msgid_plural "squelched %d whitespace errors"
 msgstr[0] "%d erreur d'espace ignorée"
 msgstr[1] "%d erreurs d'espace ignorées"
 
-#: 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 ligne a ajouté des erreurs d'espace."
 msgstr[1] "%d lignes ont ajouté des erreurs d'espace."
 
-#: 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 ligne ajoutée après correction des erreurs d'espace."
 msgstr[1] "%d lignes ajoutées après correction des erreurs d'espace."
 
-#: 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 "Impossible d'écrire le nouveau fichier d'index"
 
-#: 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 "chemin"
-
-#: apply.c:4944
+#: apply.c:4968
 msgid "don't apply changes matching the given path"
 msgstr "ne pas appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4947
+#: apply.c:4971
 msgid "apply changes matching the given path"
 msgstr "appliquer les modifications qui correspondent au chemin donné"
 
-#: apply.c:4949 builtin/am.c:2217
+#: apply.c:4973 builtin/am.c:2260
 msgid "num"
 msgstr "num"
 
-#: apply.c:4950
+#: apply.c:4974
 msgid "remove <num> leading slashes from traditional diff paths"
 msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
 
-#: apply.c:4953
+#: apply.c:4977
 msgid "ignore additions made by the patch"
 msgstr "ignorer les additions réalisées par le patch"
 
-#: apply.c:4955
+#: apply.c:4979
 msgid "instead of applying the patch, output diffstat for the input"
 msgstr "au lieu d'appliquer le patch, afficher le diffstat de l'entrée"
 
-#: apply.c:4959
+#: apply.c:4983
 msgid "show number of added and deleted lines in decimal notation"
 msgstr ""
 "afficher le nombre de lignes ajoutées et supprimées en notation décimale"
 
-#: apply.c:4961
+#: apply.c:4985
 msgid "instead of applying the patch, output a summary for the input"
 msgstr "au lieu d'appliquer le patch, afficher un résumé de l'entrée"
 
-#: apply.c:4963
+#: apply.c:4987
 msgid "instead of applying the patch, see if the patch is applicable"
 msgstr "au lieu d'appliquer le patch, voir si le patch est applicable"
 
-#: apply.c:4965
+#: apply.c:4989
 msgid "make sure the patch is applicable to the current index"
 msgstr "s'assurer que le patch est applicable sur l'index actuel"
 
-#: apply.c:4967
+#: apply.c:4991
 msgid "mark new files with `git add --intent-to-add`"
 msgstr "marquer les nouveaux fichiers `git add --intent-to-add`"
 
-#: apply.c:4969
+#: apply.c:4993
 msgid "apply a patch without touching the working tree"
 msgstr "appliquer les patch sans toucher à la copie de travail"
 
-#: apply.c:4971
+#: apply.c:4995
 msgid "accept a patch that touches outside the working area"
 msgstr "accepter un patch qui touche hors de la copie de travail"
 
-#: apply.c:4974
+#: apply.c:4998
 msgid "also apply the patch (use with --stat/--summary/--check)"
 msgstr "appliquer aussi le patch (à utiliser avec --stat/--summary/--check)"
 
-#: apply.c:4976
+#: apply.c:5000
 msgid "attempt three-way merge if a patch does not apply"
 msgstr "tenter une fusion à 3 points si le patch ne s'applique pas proprement"
 
-#: apply.c:4978
+#: apply.c:5002
 msgid "build a temporary index based on embedded index information"
 msgstr ""
 "construire un index temporaire fondé sur l'information de l'index embarqué"
 
-#: 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 "les chemins sont séparés par un caractère NUL"
 
-#: apply.c:4983
+#: apply.c:5007
 msgid "ensure at least <n> lines of context match"
 msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
 
-#: 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 "action"
 
-#: apply.c:4985
+#: apply.c:5009
 msgid "detect new or modified lines that have whitespace errors"
 msgstr ""
 "détecter des lignes nouvelles ou modifiées qui contiennent des erreurs "
 "d'espace"
 
-#: apply.c:4988 apply.c:4991
+#: apply.c:5012 apply.c:5015
 msgid "ignore changes in whitespace when finding context"
 msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
 
-#: apply.c:4994
+#: apply.c:5018
 msgid "apply the patch in reverse"
 msgstr "appliquer le patch en sens inverse"
 
-#: apply.c:4996
+#: apply.c:5020
 msgid "don't expect at least one line of context"
 msgstr "ne pas s'attendre à au moins une ligne de contexte"
 
-#: apply.c:4998
+#: apply.c:5022
 msgid "leave the rejected hunks in corresponding *.rej files"
 msgstr "laisser les sections rejetées dans les fichiers *.rej correspondants"
 
-#: apply.c:5000
+#: apply.c:5024
 msgid "allow overlapping hunks"
 msgstr "accepter les recouvrements de sections"
 
-#: 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 "mode verbeux"
 
-#: apply.c:5003
+#: apply.c:5027
 msgid "tolerate incorrectly detected missing new-line at the end of file"
 msgstr ""
 "tolérer des erreurs de détection de retours chariot manquants en fin de "
 "fichier"
 
-#: apply.c:5006
+#: apply.c:5030
 msgid "do not trust the line counts in the hunk headers"
 msgstr "ne pas se fier au compte de lignes dans les en-têtes de section"
 
-#: apply.c:5008 builtin/am.c:2205
+#: apply.c:5032 builtin/am.c:2248
 msgid "root"
 msgstr "racine"
 
-#: apply.c:5009
+#: apply.c:5033
 msgid "prepend <root> to all filenames"
 msgstr "préfixer tous les noms de fichier avec <root>"
 
@@ -864,7 +1543,7 @@ msgstr ""
 msgid "git archive --remote <repo> [--exec <cmd>] --list"
 msgstr "git archive --remote <dépôt> [--exec <commande>] --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 "le chemin '%s' ne correspond à aucun fichier"
@@ -896,7 +1575,7 @@ msgstr "fmt"
 msgid "archive format"
 msgstr "format d'archive"
 
-#: archive.c:458 builtin/log.c:1580
+#: archive.c:458 builtin/log.c:1653
 msgid "prefix"
 msgstr "préfixe"
 
@@ -904,11 +1583,12 @@ msgstr "préfixe"
 msgid "prepend prefix to each pathname in the archive"
 msgstr "préfixer chaque chemin de fichier dans l'archive"
 
-#: 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 "fichier"
 
@@ -941,7 +1621,7 @@ msgid "list supported archive formats"
 msgstr "afficher les formats d'archive supportés"
 
 #: 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 "dépôt"
 
@@ -949,7 +1629,7 @@ msgstr "dépôt"
 msgid "retrieve the archive from remote repository <repo>"
 msgstr "récupérer l'archive depuis le dépôt distant <dépôt>"
 
-#: 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 "commande"
@@ -980,66 +1660,66 @@ msgstr "Format d'archive inconnu '%s'"
 msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument non supporté pour le format '%s' : -%d"
 
-#: archive-tar.c:125 archive-zip.c:345
+#: archive-tar.c:125 archive-zip.c:351
 #, c-format
 msgid "cannot stream blob %s"
 msgstr "impossible de transmettre le blob %s en flux"
 
-#: 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 "mode de fichier non supporté :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 "impossible de lire %s"
 
-#: archive-tar.c:459
+#: archive-tar.c:465
 #, c-format
 msgid "unable to start '%s' filter"
 msgstr "impossible de démarrer le filtre '%s'"
 
-#: archive-tar.c:462
+#: archive-tar.c:468
 msgid "unable to redirect descriptor"
 msgstr "impossible de rediriger un descripteur"
 
-#: archive-tar.c:469
+#: archive-tar.c:475
 #, c-format
 msgid "'%s' filter reported error"
 msgstr "le filtre '%s' a retourné une erreur"
 
-#: archive-zip.c:314
+#: archive-zip.c:319
 #, c-format
 msgid "path is not valid UTF-8: %s"
 msgstr "le chemin n'est pas codé en UTF-8 valide : %s"
 
-#: archive-zip.c:318
+#: archive-zip.c:323
 #, c-format
 msgid "path too long (%d chars, SHA1: %s): %s"
 msgstr "le chemin est trop long (%d caractères, 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 "erreur de compression (%d)"
 
-#: archive-zip.c:609
+#: archive-zip.c:615
 #, c-format
 msgid "timestamp too large for this system: %<PRIuMAX>"
 msgstr "l'horodatage est trop grand pour ce système : %<PRIuMAX>"
 
-#: attr.c:211
+#: attr.c:212
 #, c-format
 msgid "%.*s is not a valid attribute name"
 msgstr "%.*s n'est pas un nom valide d'attribut"
 
-#: attr.c:368
+#: attr.c:369
 #, c-format
 msgid "%s not allowed: %s:%d"
 msgstr "%s non permis : %s : %d"
 
-#: attr.c:408
+#: attr.c:409
 msgid ""
 "Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
@@ -1057,12 +1737,12 @@ msgstr "Contenu mal cité dans le fichier '%s' : %s"
 msgid "We cannot bisect more!\n"
 msgstr "Impossible de pousser la bissection plus loin !\n"
 
-#: bisect.c:733
+#: bisect.c:745
 #, c-format
 msgid "Not a valid commit name %s"
 msgstr "%s n'est pas un nom de commit valide"
 
-#: bisect.c:758
+#: bisect.c:770
 #, c-format
 msgid ""
 "The merge base %s is bad.\n"
@@ -1071,7 +1751,7 @@ msgstr ""
 "La base de fusion %s est mauvaise.\n"
 "Cela signifie que le bogue été corrigé entre %s et [%s].\n"
 
-#: bisect.c:763
+#: bisect.c:775
 #, c-format
 msgid ""
 "The merge base %s is new.\n"
@@ -1080,7 +1760,7 @@ msgstr ""
 "La base de fusion %s est nouvelle.\n"
 "La propriété a changé entre %s et [%s].\n"
 
-#: bisect.c:768
+#: bisect.c:780
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
@@ -1089,7 +1769,7 @@ msgstr ""
 "La base de fusion %s est %s.\n"
 "Ceci signifie que le premier commit '%s' est entre %s et [%s].\n"
 
-#: bisect.c:776
+#: bisect.c:788
 #, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
@@ -1100,7 +1780,7 @@ msgstr ""
 "git bisect ne peut pas fonctionner correctement dans ce cas.\n"
 "Peut-être les révisions %s et %s ne sont-elles pas les bonnes ?\n"
 
-#: bisect.c:789
+#: bisect.c:801
 #, c-format
 msgid ""
 "the merge base between %s and [%s] must be skipped.\n"
@@ -1112,36 +1792,36 @@ msgstr ""
 "et %s.\n"
 "On continue tout de même."
 
-#: bisect.c:822
+#: bisect.c:840
 #, c-format
 msgid "Bisecting: a merge base must be tested\n"
 msgstr "Bissection : une base de fusion doit être testée\n"
 
-#: bisect.c:865
+#: bisect.c:890
 #, c-format
 msgid "a %s revision is needed"
 msgstr "une révision %s est nécessaire"
 
-#: 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 "impossible de créer le fichier '%s'"
 
-#: bisect.c:928 builtin/merge.c:148
+#: bisect.c:966 builtin/merge.c:149
 #, c-format
 msgid "could not read file '%s'"
 msgstr "impossible de lire le fichier '%s'"
 
-#: bisect.c:958
+#: bisect.c:997
 msgid "reading bisect refs failed"
 msgstr "impossible de lire les références de bissection"
 
-#: bisect.c:977
+#: bisect.c:1019
 #, c-format
 msgid "%s was both %s and %s\n"
 msgstr "%s était à la fois %s et %s\n"
 
-#: bisect.c:985
+#: bisect.c:1028
 #, c-format
 msgid ""
 "No testable commit found.\n"
@@ -1150,7 +1830,7 @@ msgstr ""
 "Aucun commit testable n'a été trouvé\n"
 "Peut-être avez-vous démarré avec un mauvais paramètre de chemin ?\n"
 
-#: bisect.c:1004
+#: bisect.c:1057
 #, c-format
 msgid "(roughly %d step)"
 msgid_plural "(roughly %d steps)"
@@ -1160,48 +1840,48 @@ msgstr[1] "(à peu près %d étapes)"
 #. 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] "Bissection : %d révision à tester après ceci %s\n"
 msgstr[1] "Bissection : %d révisions à tester après ceci %s\n"
 
-#: blame.c:2697
+#: blame.c:2700
 msgid "--contents and --reverse do not blend well."
 msgstr "--contents et --reverse ne font pas bon ménage."
 
-#: blame.c:2711
+#: blame.c:2714
 msgid "cannot use --contents with final commit object name"
 msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
 
-#: blame.c:2732
+#: blame.c:2735
 msgid "--reverse and --first-parent together require specified latest commit"
 msgstr ""
 "--reverse et --first-parent ensemble nécessitent la spécification d'un "
 "dernier commit"
 
-#: 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 "échec de la préparation du parcours des révisions"
 
-#: blame.c:2759
+#: blame.c:2762
 msgid ""
 "--reverse --first-parent together require range along first-parent chain"
 msgstr ""
 "--reverse --first-parent ensemble nécessitent une portée avec la chaîne de "
 "premier parent"
 
-#: blame.c:2770
+#: blame.c:2773
 #, c-format
 msgid "no such path %s in %s"
 msgstr "pas de chemin %s dans %s"
 
-#: blame.c:2781
+#: blame.c:2784
 #, c-format
 msgid "cannot read blob %s for path %s"
 msgstr "impossible de lire le blob %s  pour le chemin %s"
@@ -1364,8 +2044,8 @@ msgstr "'%s' ne semble pas être un fichier bundle v2"
 msgid "unrecognized header: %s%s (%d)"
 msgstr "en-tête non reconnu : %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 "impossible d'ouvrir '%s'"
@@ -1396,62 +2076,62 @@ msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Le colis exige cette référence :"
 msgstr[1] "Le colis exige ces %d références :"
 
-#: bundle.c:272
+#: bundle.c:273
 msgid "unable to dup bundle descriptor"
 msgstr "impossible de dupliquer le descripteur de liasse"
 
-#: bundle.c:279
+#: bundle.c:280
 msgid "Could not spawn pack-objects"
 msgstr "Impossible de créer des objets groupés"
 
-#: bundle.c:290
+#: bundle.c:291
 msgid "pack-objects died"
 msgstr "les objets groupés ont disparu"
 
-#: bundle.c:332
+#: bundle.c:333
 msgid "rev-list died"
 msgstr "rev-list a disparu"
 
-#: bundle.c:381
+#: bundle.c:382
 #, c-format
 msgid "ref '%s' is excluded by the rev-list options"
 msgstr "la référence '%s' est exclue par les options de rev-list"
 
-#: bundle.c:460 builtin/log.c:202 builtin/log.c:1732 builtin/shortlog.c:306
+#: bundle.c:461 builtin/log.c:203 builtin/log.c:1814 builtin/shortlog.c:306
 #, c-format
 msgid "unrecognized argument: %s"
 msgstr "argument non reconnu : %s"
 
-#: bundle.c:468
+#: bundle.c:469
 msgid "Refusing to create empty bundle."
 msgstr "Refus de créer un colis vide."
 
-#: bundle.c:478
+#: bundle.c:479
 #, c-format
 msgid "cannot create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: bundle.c:503
+#: bundle.c:504
 msgid "index-pack died"
 msgstr "l'index de groupe a disparu"
 
-#: color.c:296
+#: color.c:329
 #, c-format
 msgid "invalid color value: %.*s"
 msgstr "Valeur invalide de couleur : %.*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 "impossible d'analyser %s"
 
-#: commit.c:52
+#: commit.c:53
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s n'est pas un 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"
@@ -1471,27 +2151,27 @@ msgstr ""
 "Supprimez ce message en lançant\n"
 "\"git config advice.graftFileDeprecated false\""
 
-#: commit.c:1127
+#: commit.c:1153
 #, c-format
 msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
 msgstr "La validation %s a une signature GPG non fiable, prétendument par %s."
 
-#: commit.c:1130
+#: commit.c:1157
 #, c-format
 msgid "Commit %s has a bad GPG signature allegedly by %s."
 msgstr "La validation %s a une mauvaise signature GPG prétendument par %s."
 
-#: commit.c:1133
+#: commit.c:1160
 #, c-format
 msgid "Commit %s does not have a GPG signature."
 msgstr "La validation %s n'a pas de signature GPG."
 
-#: commit.c:1136
+#: commit.c:1163
 #, c-format
 msgid "Commit %s has a good GPG signature by %s\n"
 msgstr "La validation %s a une signature GPG correcte par %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"
@@ -1503,174 +2183,184 @@ msgstr ""
 "variable de configuration i18n.commitencoding à l'encodage utilisé par votre "
 "projet.\n"
 
-#: commit-graph.c:127
+#: commit-graph.c:122
 msgid "commit-graph file is too small"
 msgstr "le graphe de commit est trop petit"
 
-#: commit-graph.c:192
+#: commit-graph.c:189
 #, c-format
 msgid "commit-graph signature %X does not match signature %X"
 msgstr ""
 "la signature du graphe de commit %X ne correspond pas à la signature %X"
 
-#: commit-graph.c:199
+#: commit-graph.c:196
 #, c-format
 msgid "commit-graph version %X does not match version %X"
 msgstr "la version %X du graphe de commit ne correspond pas à la version %X"
 
-#: commit-graph.c:206
+#: commit-graph.c:203
 #, c-format
 msgid "commit-graph hash version %X does not match version %X"
 msgstr ""
 "l'empreinte de la version %X du graphe de commit ne correspond pas à la "
 "version %X"
 
-#: commit-graph.c:229
+#: commit-graph.c:226
 msgid "commit-graph chunk lookup table entry missing; file may be incomplete"
 msgstr ""
 "entrée de table de consultation de morceaux de graphe de commite manquante ; "
 "le fichier est peut être incomplet"
 
-#: commit-graph.c:240
+#: commit-graph.c:237
 #, c-format
 msgid "commit-graph improper chunk offset %08x%08x"
 msgstr "décalage de bloc %08x%08x du graphe de commit inadéquat"
 
-#: commit-graph.c:283
+#: commit-graph.c:280
 #, c-format
 msgid "commit-graph chunk id %08x appears multiple times"
 msgstr "l'id de bloc de graphe de commit %08x apparaît des multiples fois"
 
-#: commit-graph.c:347
+#: commit-graph.c:343
 msgid "commit-graph has no base graphs chunk"
 msgstr "le graphe de commit n'a pas de section de graphes de base"
 
-#: commit-graph.c:357
+#: commit-graph.c:353
 msgid "commit-graph chain does not match"
 msgstr "la chaîne de graphe de commit ne correspond pas"
 
-#: commit-graph.c:404
+#: commit-graph.c:401
 #, c-format
 msgid "invalid commit-graph chain: line '%s' not a hash"
 msgstr ""
 "chaîne de graphe de commit invalide : la ligne '%s' n'est pas une empreinte"
 
-#: commit-graph.c:430
+#: commit-graph.c:425
 msgid "unable to find all commit-graph files"
 msgstr "impossible de trouver tous les fichiers du graphe de commit"
 
-#: 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 ""
 "position de commit invalide. Le graphe de commit est vraisemblablement "
 "corrompu"
 
-#: commit-graph.c:575
+#: commit-graph.c:579
 #, c-format
 msgid "could not find commit %s"
 msgstr "impossible de trouver le commit %s"
 
-#: commit-graph.c:1002 builtin/pack-objects.c:2657
+#: commit-graph.c:852 builtin/am.c:1292
+#, c-format
+msgid "unable to parse commit %s"
+msgstr "impossible d'analyser le commit %s"
+
+#: commit-graph.c:1011 builtin/pack-objects.c:2782
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "impossible d'obtenir le type de l'objet %s"
 
-#: commit-graph.c:1034
+#: commit-graph.c:1043
 msgid "Loading known commits in commit graph"
 msgstr "Lecture des commits connus dans un graphe de commit"
 
-#: commit-graph.c:1051
+#: commit-graph.c:1060
 msgid "Expanding reachable commits in commit graph"
 msgstr "Expansion des commits joignables dans un graphe de commit"
 
-#: commit-graph.c:1070
+#: commit-graph.c:1079
 msgid "Clearing commit marks in commit graph"
 msgstr "Suppression les marques de commit dans le graphe de commits"
 
-#: commit-graph.c:1089
+#: commit-graph.c:1098
 msgid "Computing commit graph generation numbers"
 msgstr "Calcul des chiffres de génération du graphe de commits"
 
-#: 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] "Recherche de commits pour un graphe de commits dans %d paquet"
 msgstr[1] "Recherche de commits pour un graphe de commits dans %d paquets"
 
-#: commit-graph.c:1176
+#: commit-graph.c:1186
 #, c-format
 msgid "error adding pack %s"
 msgstr "erreur à l'ajout du packet %s"
 
-#: commit-graph.c:1180
+#: commit-graph.c:1190
 #, c-format
 msgid "error opening index for %s"
 msgstr "erreur à l'ouverture de l'index pour %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] "Recherche de commits pour un graphe de commits depuis %d réf"
 msgstr[1] "Recherche de commits pour un graphe de commits depuis %d réfs"
 
-#: commit-graph.c:1238
+#: commit-graph.c:1234
+#, c-format
+msgid "invalid commit object id: %s"
+msgstr "identifiant d'objet commit invalide : %s"
+
+#: commit-graph.c:1249
 msgid "Finding commits for commit graph among packed objects"
 msgstr ""
 "Recherche de commits pour un graphe de commits parmi les objets empaquetés"
 
-#: commit-graph.c:1253
+#: commit-graph.c:1264
 msgid "Counting distinct commits in commit graph"
 msgstr "Comptage des commits distincts dans un graphe de commit"
 
-#: commit-graph.c:1284
+#: commit-graph.c:1294
 msgid "Finding extra edges in commit graph"
 msgstr "Recherche d'arêtes supplémentaires dans un graphe de commits"
 
-#: commit-graph.c:1332
+#: commit-graph.c:1340
 msgid "failed to write correct number of base graph ids"
 msgstr "échec à l'écriture le nombre correct d'id de base de fusion"
 
-#: 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 "impossible de créer les répertoires de premier niveau de %s"
 
-#: commit-graph.c:1377 builtin/index-pack.c:306 builtin/repack.c:240
+#: commit-graph.c:1385 builtin/index-pack.c:306 builtin/repack.c:248
 #, c-format
 msgid "unable to create '%s'"
 msgstr "impossible de créer '%s'"
 
-#: commit-graph.c:1437
+#: commit-graph.c:1445
 #, c-format
 msgid "Writing out commit graph in %d pass"
 msgid_plural "Writing out commit graph in %d passes"
 msgstr[0] "Écriture le graphe de commits en %d passe"
 msgstr[1] "Écriture le graphe de commits en %d passes"
 
-#: commit-graph.c:1478
+#: commit-graph.c:1486
 msgid "unable to open commit-graph chain file"
 msgstr "impossible d'ouvrir le fichier de graphe de commit"
 
-#: commit-graph.c:1490
+#: commit-graph.c:1498
 msgid "failed to rename base commit-graph file"
 msgstr "échec du renommage du fichier de graphe de commits"
 
-#: commit-graph.c:1510
+#: commit-graph.c:1518
 msgid "failed to rename temporary commit-graph file"
 msgstr "impossible de renommer le fichier temporaire de graphe de commits"
 
-#: commit-graph.c:1621
+#: commit-graph.c:1631
 msgid "Scanning merged commits"
 msgstr "Analyse des commits de fusion"
 
-#: commit-graph.c:1632
+#: commit-graph.c:1642
 #, c-format
 msgid "unexpected duplicate commit id %s"
 msgstr "id de commit %s dupliqué inattendu"
 
-#: commit-graph.c:1657
+#: commit-graph.c:1665
 msgid "Merging commit-graph"
 msgstr "fusion du graphe de commits"
 
@@ -1683,25 +2373,25 @@ msgstr "le graphe de commits ne peut pas écrire %d commits"
 msgid "too many commits to write graph"
 msgstr "trop de commits pour écrire un graphe"
 
-#: commit-graph.c:1945
+#: commit-graph.c:1944
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "le graphe de commit a une somme de contrôle incorrecte et est "
 "vraisemblablement corrompu"
 
-#: commit-graph.c:1955
+#: commit-graph.c:1954
 #, c-format
 msgid "commit-graph has incorrect OID order: %s then %s"
 msgstr "le graphe de commit a un ordre d'OID incorrect : %s puis %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 ""
 "le graphe de commit a une valeur de dispersion incorrecte : dispersion[%d] = "
 "%u != %u"
 
-#: commit-graph.c:1972
+#: commit-graph.c:1971
 #, c-format
 msgid "failed to parse commit %s from commit-graph"
 msgstr "échec de l'analyse le commit %s depuis le graphe de commits"
@@ -1710,38 +2400,38 @@ msgstr "échec de l'analyse le commit %s depuis le graphe de commits"
 msgid "Verifying commits in commit graph"
 msgstr "Verification des commits dans le graphe de commits"
 
-#: commit-graph.c:2002
+#: commit-graph.c:2003
 #, c-format
 msgid "failed to parse commit %s from object database for commit-graph"
 msgstr ""
 "échec de l'analyse du commit %s depuis la base de données d'objets pour le "
 "graphe de commit"
 
-#: commit-graph.c:2009
+#: commit-graph.c:2010
 #, c-format
 msgid "root tree OID for commit %s in commit-graph is %s != %s"
 msgstr ""
 "l'OID de l'arbre racine pour le commit %s dans le graphe de commit est %s != "
 "%s"
 
-#: commit-graph.c:2019
+#: commit-graph.c:2020
 #, c-format
 msgid "commit-graph parent list for commit %s is too long"
 msgstr ""
 "la liste des parents du graphe de commit pour le commit %s est trop longue"
 
-#: commit-graph.c:2028
+#: commit-graph.c:2029
 #, c-format
 msgid "commit-graph parent for %s is %s != %s"
 msgstr "le parent du graphe de commit pour %s est %s != %s"
 
-#: commit-graph.c:2041
+#: commit-graph.c:2042
 #, c-format
 msgid "commit-graph parent list for commit %s terminates early"
 msgstr ""
 "la liste de parents du graphe de commit pour le commit %s se termine trop tôt"
 
-#: commit-graph.c:2046
+#: commit-graph.c:2047
 #, c-format
 msgid ""
 "commit-graph has generation number zero for commit %s, but non-zero elsewhere"
@@ -1749,7 +2439,7 @@ msgstr ""
 "le graphe de commit a un numéro de génération nul pour le commit %s, mais "
 "non-nul ailleurs"
 
-#: commit-graph.c:2050
+#: commit-graph.c:2051
 #, c-format
 msgid ""
 "commit-graph has non-zero generation number for commit %s, but zero elsewhere"
@@ -1757,12 +2447,12 @@ msgstr ""
 "le graphe de commit a un numéro de génération non-nul pour le commit %s, "
 "mais nul ailleurs"
 
-#: commit-graph.c:2065
+#: commit-graph.c:2066
 #, c-format
 msgid "commit-graph generation for commit %s is %u != %u"
 msgstr "la génération du graphe de commit pour le commit %s est %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 ""
@@ -1813,7 +2503,7 @@ msgstr "la clé ne contient pas de section: %s"
 msgid "key does not contain variable name: %s"
 msgstr "la clé ne contient pas de nom de variable : %s"
 
-#: config.c:406 sequencer.c:2463
+#: config.c:406 sequencer.c:2444
 #, c-format
 msgid "invalid key: %s"
 msgstr "clé invalide : %s"
@@ -1960,7 +2650,7 @@ msgstr "valeur mal formée pour %s : %s"
 msgid "must be one of nothing, matching, simple, upstream or current"
 msgstr "doit être parmi nothing, matching, simple, upstream ou 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 "niveau de compression du paquet %d"
@@ -1985,116 +2675,109 @@ msgstr "impossible de résoudre le blob de config '%s'"
 msgid "failed to parse %s"
 msgstr "échec de l'analyse de %s"
 
-#: config.c:1745
+#: config.c:1743
 msgid "unable to parse command-line config"
 msgstr "lecture de la configuration de ligne de commande impossible"
 
-#: config.c:2094
+#: config.c:2097
 msgid "unknown error occurred while reading the configuration files"
 msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
 
-#: config.c:2264
+#: config.c:2267
 #, c-format
 msgid "Invalid %s: '%s'"
 msgstr "%s invalide : '%s'"
 
-#: config.c:2307
-#, c-format
-msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
-"valeur '%s' de core.untrackedCache inconnue ; utilisation de 'keep' par "
-"défaut"
-
-#: config.c:2333
+#: config.c:2312
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
 msgstr ""
 "la valeur '%d' de splitIndex.maxPercentChange devrait se situer entre 0 et "
 "100"
 
-#: config.c:2379
+#: config.c:2358
 #, c-format
 msgid "unable to parse '%s' from command-line config"
 msgstr ""
 "impossible d'analyser '%s' depuis le configuration en ligne de commande"
 
-#: config.c:2381
+#: config.c:2360
 #, c-format
 msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr ""
 "variable de configuration '%s' incorrecte dans le fichier '%s' à la ligne %d"
 
-#: config.c:2462
+#: config.c:2441
 #, c-format
 msgid "invalid section name '%s'"
 msgstr "nom de section invalide '%s'"
 
-#: config.c:2494
+#: config.c:2473
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s a des valeurs multiples"
 
-#: config.c:2523
+#: config.c:2502
 #, c-format
 msgid "failed to write new configuration file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2775 config.c:3099
+#: config.c:2754 config.c:3078
 #, c-format
 msgid "could not lock config file %s"
 msgstr "impossible de verrouiller le fichier de configuration %s"
 
-#: config.c:2786
+#: config.c:2765
 #, c-format
 msgid "opening %s"
 msgstr "ouverture de %s"
 
-#: config.c:2821 builtin/config.c:328
+#: config.c:2800 builtin/config.c:344
 #, c-format
 msgid "invalid pattern: %s"
 msgstr "motif invalide : %s"
 
-#: config.c:2846
+#: config.c:2825
 #, c-format
 msgid "invalid config file %s"
 msgstr "fichier de configuration invalide %s"
 
-#: config.c:2859 config.c:3112
+#: config.c:2838 config.c:3091
 #, c-format
 msgid "fstat on %s failed"
 msgstr "échec de fstat sur %s"
 
-#: config.c:2870
+#: config.c:2849
 #, c-format
 msgid "unable to mmap '%s'"
 msgstr "impossible de réaliser un map de '%s'"
 
-#: config.c:2879 config.c:3117
+#: config.c:2858 config.c:3096
 #, c-format
 msgid "chmod on %s failed"
 msgstr "échec de chmod sur %s"
 
-#: config.c:2964 config.c:3214
+#: config.c:2943 config.c:3193
 #, c-format
 msgid "could not write config file %s"
 msgstr "impossible d'écrire le fichier de configuration %s"
 
-#: config.c:2998
+#: config.c:2977
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "impossible de régler '%s' à '%s'"
 
-#: config.c:3000 builtin/remote.c:782
+#: config.c:2979 builtin/remote.c:655 builtin/remote.c:849 builtin/remote.c:857
 #, c-format
 msgid "could not unset '%s'"
 msgstr "impossible de désinitialiser '%s'"
 
-#: config.c:3090
+#: config.c:3069
 #, c-format
 msgid "invalid section name: %s"
 msgstr "nom de section invalide : %s"
 
-#: config.c:3257
+#: config.c:3236
 #, c-format
 msgid "missing value for '%s'"
 msgstr "valeur manquante pour '%s'"
@@ -2218,7 +2901,7 @@ msgstr "impossible de rechercher %s (%s)"
 msgid "unknown port %s"
 msgstr "port inconnu %s"
 
-#: connect.c:845 connect.c:1171
+#: connect.c:845 connect.c:1175
 #, c-format
 msgid "strange hostname '%s' blocked"
 msgstr "nom d'hôte étrange '%s' bloqué"
@@ -2233,60 +2916,60 @@ msgstr "port étrange '%s' bloqué"
 msgid "cannot start proxy %s"
 msgstr "impossible de démarrer un proxy %s"
 
-#: connect.c:924
+#: connect.c:928
 msgid "no path specified; see 'git help pull' for valid url syntax"
 msgstr ""
 "aucun chemin spécifié ; référez-vous à 'git help pull' pour une syntaxe "
 "d'URL valide"
 
-#: connect.c:1119
+#: connect.c:1123
 msgid "ssh variant 'simple' does not support -4"
 msgstr "la variante ssh 'simple' ne supporte pas -4"
 
-#: connect.c:1131
+#: connect.c:1135
 msgid "ssh variant 'simple' does not support -6"
 msgstr "la variante ssh 'simple' ne supporte pas -6"
 
-#: connect.c:1148
+#: connect.c:1152
 msgid "ssh variant 'simple' does not support setting port"
 msgstr "la variante ssh 'simple' ne supporte pas de spécifier le port"
 
-#: connect.c:1260
+#: connect.c:1264
 #, c-format
 msgid "strange pathname '%s' blocked"
 msgstr "chemin étrange '%s' bloqué"
 
-#: connect.c:1307
+#: connect.c:1311
 msgid "unable to fork"
 msgstr "fork impossible"
 
-#: 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 "Vérification de la connectivité"
 
-#: connected.c:98
+#: connected.c:110
 msgid "Could not run 'git rev-list'"
 msgstr "Impossible de lancer 'git rev-list'"
 
-#: connected.c:118
+#: connected.c:130
 msgid "failed write to rev-list"
 msgstr "impossible d'écrire dans la rev-list"
 
-#: connected.c:125
+#: connected.c:137
 msgid "failed to close rev-list's stdin"
 msgstr "impossible de fermer l'entrée standard du rev-list"
 
-#: convert.c:193
+#: convert.c:194
 #, c-format
 msgid "illegal crlf_action %d"
 msgstr "crlf_action illégal %d"
 
-#: convert.c:206
+#: convert.c:207
 #, c-format
 msgid "CRLF would be replaced by LF in %s"
 msgstr "Les CRLF seraient remplacés par des LF dans %s"
 
-#: convert.c:208
+#: convert.c:209
 #, c-format
 msgid ""
 "CRLF will be replaced by LF in %s.\n"
@@ -2295,12 +2978,12 @@ msgstr ""
 "Les CRLF seront remplacés par des LF dans %s.\n"
 "Le fichier conservera ses fins de ligne d'origine dans votre copie de travail"
 
-#: convert.c:216
+#: convert.c:217
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "Les LF seraient remplacés par des CRLF dans %s"
 
-#: convert.c:218
+#: convert.c:219
 #, c-format
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
@@ -2309,19 +2992,19 @@ msgstr ""
 "Les LF seront remplacés par des CRLF dans %s.\n"
 "Le fichier conservera ses fins de ligne d'origine dans votre copie de travail"
 
-#: convert.c:279
+#: convert.c:284
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
 msgstr "Aucun BOM n'est permis dans '%s' s'il est encodé comme %s"
 
-#: 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 ""
 "Le fichier '%s' contient un marqueur d'ordre d'octets (BOM). Veuillez "
-"utiliser UTF-%s comme encodage d'arbre de travail."
+"utiliser UTF-%.*s comme encodage d'arbre de travail."
 
 #: convert.c:304
 #, c-format
@@ -2338,52 +3021,52 @@ msgstr ""
 "utiliser UTF-%sBE ou UTF-%sLE (selon l'ordre désiré) comme encodage d'arbre "
 "de travail."
 
-#: convert.c:424 convert.c:495
+#: convert.c:419 convert.c:490
 #, c-format
 msgid "failed to encode '%s' from %s to %s"
 msgstr "échec de l'encodage de '%s' de %s vers %s"
 
-#: convert.c:467
+#: convert.c:462
 #, c-format
 msgid "encoding '%s' from %s to %s and back is not the same"
 msgstr ""
 "encoder '%s' depuis %s vers %s puis inversement ne produit pas le même "
 "contenu"
 
-#: convert.c:673
+#: convert.c:668
 #, c-format
 msgid "cannot fork to run external filter '%s'"
 msgstr "impossible de forker pour lancer le filtre externe '%s'"
 
-#: convert.c:693
+#: convert.c:688
 #, c-format
 msgid "cannot feed the input to external filter '%s'"
 msgstr "impossible de fournir l'entrée au filtre externe '%s'"
 
-#: convert.c:700
+#: convert.c:695
 #, c-format
 msgid "external filter '%s' failed %d"
 msgstr "le filtre externe '%s' a échoué %d"
 
-#: convert.c:735 convert.c:738
+#: convert.c:730 convert.c:733
 #, c-format
 msgid "read from external filter '%s' failed"
 msgstr "la lecture depuis le filtre externe '%s' a échoué"
 
-#: convert.c:741 convert.c:796
+#: convert.c:736 convert.c:791
 #, c-format
 msgid "external filter '%s' failed"
 msgstr "le filtre externe '%s' a échoué"
 
-#: convert.c:844
+#: convert.c:839
 msgid "unexpected filter type"
 msgstr "type de filtre inattendu"
 
-#: convert.c:855
+#: convert.c:850
 msgid "path name too long for external filter"
 msgstr "nom de chemin trop long pour un filtre externe"
 
-#: convert.c:929
+#: convert.c:924
 #, c-format
 msgid ""
 "external filter '%s' is not available anymore although not all paths have "
@@ -2392,67 +3075,67 @@ msgstr ""
 "le filtre externe '%s' n'est plus disponible bien que tous les chemins "
 "n'aient pas été filtrés"
 
-#: convert.c:1228
+#: convert.c:1223
 msgid "true/false are no valid working-tree-encodings"
 msgstr "true/false ne sont pas des encodages d'arbre de travail valides"
 
-#: convert.c:1398 convert.c:1432
+#: convert.c:1411 convert.c:1445
 #, c-format
 msgid "%s: clean filter '%s' failed"
 msgstr "%s : le filtre clean '%s' a échoué"
 
-#: convert.c:1476
+#: convert.c:1489
 #, c-format
 msgid "%s: smudge filter %s failed"
 msgstr "%s : le filtre smudge '%s' a échoué"
 
-#: date.c:137
+#: date.c:138
 msgid "in the future"
 msgstr "dans le futur"
 
-#: date.c:143
+#: date.c:144
 #, c-format
 msgid "%<PRIuMAX> second ago"
 msgid_plural "%<PRIuMAX> seconds ago"
 msgstr[0] "il y a %<PRIuMAX> seconde"
 msgstr[1] "il y a %<PRIuMAX> secondes"
 
-#: date.c:150
+#: date.c:151
 #, c-format
 msgid "%<PRIuMAX> minute ago"
 msgid_plural "%<PRIuMAX> minutes ago"
 msgstr[0] "il y a %<PRIuMAX> minute"
 msgstr[1] "il y a %<PRIuMAX> minutes"
 
-#: date.c:157
+#: date.c:158
 #, c-format
 msgid "%<PRIuMAX> hour ago"
 msgid_plural "%<PRIuMAX> hours ago"
 msgstr[0] "il y a %<PRIuMAX> heure"
 msgstr[1] "il y a %<PRIuMAX> heures"
 
-#: date.c:164
+#: date.c:165
 #, c-format
 msgid "%<PRIuMAX> day ago"
 msgid_plural "%<PRIuMAX> days ago"
 msgstr[0] "il y a %<PRIuMAX> jour"
 msgstr[1] "il y a %<PRIuMAX> jours"
 
-#: date.c:170
+#: date.c:171
 #, c-format
 msgid "%<PRIuMAX> week ago"
 msgid_plural "%<PRIuMAX> weeks ago"
 msgstr[0] "il y a %<PRIuMAX> semaine"
 msgstr[1] "il y a %<PRIuMAX> semaines"
 
-#: date.c:177
+#: date.c:178
 #, c-format
 msgid "%<PRIuMAX> month ago"
 msgid_plural "%<PRIuMAX> months ago"
 msgstr[0] "il y a %<PRIuMAX> mois"
 msgstr[1] "il y a %<PRIuMAX> mois"
 
-#: date.c:188
+#: date.c:189
 #, c-format
 msgid "%<PRIuMAX> year"
 msgid_plural "%<PRIuMAX> years"
@@ -2460,14 +3143,14 @@ msgstr[0] "%<PRIuMAX> an"
 msgstr[1] "%<PRIuMAX> ans"
 
 #. 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] "il y a %s et %<PRIuMAX> mois"
 msgstr[1] "il y a %s et %<PRIuMAX> mois"
 
-#: date.c:196 date.c:201
+#: date.c:197 date.c:202
 #, c-format
 msgid "%<PRIuMAX> year ago"
 msgid_plural "%<PRIuMAX> years ago"
@@ -2505,7 +3188,7 @@ msgstr "Marquage de %d îlots, fait.\n"
 msgid "failed to read orderfile '%s'"
 msgstr "impossible de lire le fichier de commande '%s'"
 
-#: diffcore-rename.c:544
+#: diffcore-rename.c:543
 msgid "Performing inexact rename detection"
 msgstr "Détection de renommage inexact en cours"
 
@@ -2573,35 +3256,35 @@ msgstr ""
 "Erreurs dans la variable de configuration 'diff.dirstat' :\n"
 "%s"
 
-#: diff.c:4215
+#: diff.c:4202
 #, c-format
 msgid "external diff died, stopping at %s"
 msgstr "l'application de diff externe a disparu, arrêt à %s"
 
-#: diff.c:4560
+#: diff.c:4547
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr "--name-only, --name-status, --check et -s sont mutuellement exclusifs"
 
-#: diff.c:4563
+#: diff.c:4550
 msgid "-G, -S and --find-object are mutually exclusive"
 msgstr "-G, -S et --find-object sont mutuellement exclusifs"
 
-#: diff.c:4641
+#: diff.c:4628
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow a besoin d'une spécification de chemin unique"
 
-#: diff.c:4689
+#: diff.c:4676
 #, c-format
 msgid "invalid --stat value: %s"
 msgstr "valeur invalide de --stat : %s"
 
-#: diff.c:4694 diff.c:4699 diff.c:4704 diff.c:4709 diff.c:5222
-#: parse-options.c:199 parse-options.c:203
+#: diff.c:4681 diff.c:4686 diff.c:4691 diff.c:4696 diff.c:5209
+#: parse-options.c:197 parse-options.c:201
 #, c-format
 msgid "%s expects a numerical value"
 msgstr "%s attend une valeur numérique"
 
-#: diff.c:4726
+#: diff.c:4713
 #, c-format
 msgid ""
 "Failed to parse --dirstat/-X option parameter:\n"
@@ -2610,42 +3293,42 @@ msgstr ""
 "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
 "%s"
 
-#: diff.c:4811
+#: diff.c:4798
 #, c-format
 msgid "unknown change class '%c' in --diff-filter=%s"
 msgstr "classe de modification inconnue '%c' dans --diff-fileter=%s"
 
-#: diff.c:4835
+#: diff.c:4822
 #, c-format
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "valeur inconnue après ws-error-highlight=%.*s"
 
-#: diff.c:4849
+#: diff.c:4836
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: diff.c:4899 diff.c:4905
+#: diff.c:4886 diff.c:4892
 #, c-format
 msgid "%s expects <n>/<m> form"
 msgstr "forme <n>/<m> attendue par %s"
 
-#: diff.c:4917
+#: diff.c:4904
 #, c-format
 msgid "%s expects a character, got '%s'"
 msgstr "caractère attendu par %s, '%s' trouvé"
 
-#: diff.c:4938
+#: diff.c:4925
 #, c-format
 msgid "bad --color-moved argument: %s"
 msgstr "mauvais argument --color-moved : %s"
 
-#: diff.c:4957
+#: diff.c:4944
 #, c-format
 msgid "invalid mode '%s' in --color-moved-ws"
 msgstr "mode invalide '%s' dans --color-moved-ws"
 
-#: diff.c:4997
+#: diff.c:4984
 msgid ""
 "option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and "
 "\"histogram\""
@@ -2653,155 +3336,155 @@ msgstr ""
 "l'option diff-algorithm accept \"myers\", \"minimal\", \"patience\" et "
 "\"histogram\""
 
-#: diff.c:5033 diff.c:5053
+#: diff.c:5020 diff.c:5040
 #, c-format
 msgid "invalid argument to %s"
 msgstr "argument invalide pour %s"
 
-#: diff.c:5191
+#: diff.c:5178
 #, c-format
 msgid "failed to parse --submodule option parameter: '%s'"
 msgstr "échec de l'analyse du paramètre de l'option --submodule : '%s'"
 
-#: diff.c:5247
+#: diff.c:5234
 #, c-format
 msgid "bad --word-diff argument: %s"
 msgstr "mauvais argument pour --word-diff : %s"
 
-#: diff.c:5270
+#: diff.c:5257
 msgid "Diff output format options"
 msgstr "Options de format de sortie de diff"
 
-#: diff.c:5272 diff.c:5278
+#: diff.c:5259 diff.c:5265
 msgid "generate patch"
 msgstr "générer la rustine"
 
-#: diff.c:5275 builtin/log.c:172
+#: diff.c:5262 builtin/log.c:173
 msgid "suppress diff output"
 msgstr "supprimer la sortie des différences"
 
-#: 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 "générer les diffs avec <n> lignes de contexte"
 
-#: diff.c:5286
+#: diff.c:5273
 msgid "generate the diff in raw format"
 msgstr "générer le diff en format brut"
 
-#: diff.c:5289
+#: diff.c:5276
 msgid "synonym for '-p --raw'"
 msgstr "synonyme de '-p --raw'"
 
-#: diff.c:5293
+#: diff.c:5280
 msgid "synonym for '-p --stat'"
 msgstr "synonyme de '-p --stat'"
 
-#: diff.c:5297
+#: diff.c:5284
 msgid "machine friendly --stat"
 msgstr "--stat pour traitement automatique"
 
-#: diff.c:5300
+#: diff.c:5287
 msgid "output only the last line of --stat"
 msgstr "afficher seulement la dernière ligne de --stat"
 
-#: diff.c:5302 diff.c:5310
+#: diff.c:5289 diff.c:5297
 msgid "<param1,param2>..."
 msgstr "<param1,param2>..."
 
-#: diff.c:5303
+#: diff.c:5290
 msgid ""
 "output the distribution of relative amount of changes for each sub-directory"
 msgstr ""
 "afficher la distribution des quantités de modifications relatives pour "
 "chaque sous-répertoire"
 
-#: diff.c:5307
+#: diff.c:5294
 msgid "synonym for --dirstat=cumulative"
 msgstr "synonyme pour --dirstat=cumulative"
 
-#: diff.c:5311
+#: diff.c:5298
 msgid "synonym for --dirstat=files,param1,param2..."
 msgstr "synonyme pour --dirstat=files,param1,param2..."
 
-#: diff.c:5315
+#: diff.c:5302
 msgid "warn if changes introduce conflict markers or whitespace errors"
 msgstr ""
 "avertir si les modifications introduisent des marqueurs de conflit ou des "
 "erreurs d'espace"
 
-#: diff.c:5318
+#: diff.c:5305
 msgid "condensed summary such as creations, renames and mode changes"
 msgstr ""
 "résumé succinct tel que les créations, les renommages et les modifications "
 "de mode"
 
-#: diff.c:5321
+#: diff.c:5308
 msgid "show only names of changed files"
 msgstr "n'afficher que les noms de fichiers modifiés"
 
-#: diff.c:5324
+#: diff.c:5311
 msgid "show only names and status of changed files"
 msgstr "n'afficher que les noms et les status des fichiers modifiés"
 
-#: diff.c:5326
+#: diff.c:5313
 msgid "<width>[,<name-width>[,<count>]]"
 msgstr "<largeur>[,<largeur-de-nom>[,<compte>]]"
 
-#: diff.c:5327
+#: diff.c:5314
 msgid "generate diffstat"
 msgstr "générer un diffstat"
 
-#: diff.c:5329 diff.c:5332 diff.c:5335
+#: diff.c:5316 diff.c:5319 diff.c:5322
 msgid "<width>"
 msgstr "<largeur>"
 
-#: diff.c:5330
+#: diff.c:5317
 msgid "generate diffstat with a given width"
 msgstr "générer un diffstat avec la largeur indiquée"
 
-#: diff.c:5333
+#: diff.c:5320
 msgid "generate diffstat with a given name width"
 msgstr "génerer un diffstat avec la largeur de nom indiquée"
 
-#: diff.c:5336
+#: diff.c:5323
 msgid "generate diffstat with a given graph width"
 msgstr "génerer un diffstat avec la largeur de graphe indiquée"
 
-#: diff.c:5338
+#: diff.c:5325
 msgid "<count>"
 msgstr "<compte>"
 
-#: diff.c:5339
+#: diff.c:5326
 msgid "generate diffstat with limited lines"
 msgstr "générer un diffstat avec des lignes limitées"
 
-#: diff.c:5342
+#: diff.c:5329
 msgid "generate compact summary in diffstat"
 msgstr "générer une résumé compact dans le diffstat"
 
-#: diff.c:5345
+#: diff.c:5332
 msgid "output a binary diff that can be applied"
 msgstr "produire un diff binaire qui peut être appliqué"
 
-#: diff.c:5348
+#: diff.c:5335
 msgid "show full pre- and post-image object names on the \"index\" lines"
 msgstr ""
 "afficher les noms complets des objets pre- et post-image sur les lignes "
 "\"index\""
 
-#: diff.c:5350
+#: diff.c:5337
 msgid "show colored diff"
 msgstr "afficher un diff coloré"
 
-#: diff.c:5351
+#: diff.c:5338
 msgid "<kind>"
 msgstr "<sorte>"
 
-#: diff.c:5352
+#: diff.c:5339
 msgid ""
 "highlight whitespace errors in the 'context', 'old' or 'new' lines in the "
 "diff"
@@ -2809,7 +3492,7 @@ msgstr ""
 "surligner les erreurs d'espace dans les lignes 'contexte', 'ancien', "
 "'nouveau' dans le diff"
 
-#: diff.c:5355
+#: diff.c:5342
 msgid ""
 "do not munge pathnames and use NULs as output field terminators in --raw or "
 "--numstat"
@@ -2817,93 +3500,93 @@ msgstr ""
 "ne pas compresser les chemins et utiliser des NULs comme terminateurs de "
 "champs dans --raw ou --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éfixe>"
 
-#: diff.c:5359
+#: diff.c:5346
 msgid "show the given source prefix instead of \"a/\""
 msgstr "afficher le préfixe de source indiqué au lieu de \"a/\""
 
-#: diff.c:5362
+#: diff.c:5349
 msgid "show the given destination prefix instead of \"b/\""
 msgstr "afficher le préfixe de destination indiqué au lieu de \"b/\""
 
-#: diff.c:5365
+#: diff.c:5352
 msgid "prepend an additional prefix to every line of output"
 msgstr "préfixer toutes les lignes en sortie avec la chaîne indiquée"
 
-#: diff.c:5368
+#: diff.c:5355
 msgid "do not show any source or destination prefix"
 msgstr "n'afficher aucun préfixe, ni de source, ni de destination"
 
-#: diff.c:5371
+#: diff.c:5358
 msgid "show context between diff hunks up to the specified number of lines"
 msgstr ""
 "afficher le contexte entre les sections à concurrence du nombre de ligne "
 "indiqué"
 
-#: diff.c:5375 diff.c:5380 diff.c:5385
+#: diff.c:5362 diff.c:5367 diff.c:5372
 msgid "<char>"
 msgstr "<caractère>"
 
-#: diff.c:5376
+#: diff.c:5363
 msgid "specify the character to indicate a new line instead of '+'"
 msgstr "spécifier le caractère pour indiquer une nouvelle ligne au lieu de '+'"
 
-#: diff.c:5381
+#: diff.c:5368
 msgid "specify the character to indicate an old line instead of '-'"
 msgstr "spécifier le caractère pour indiquer une ancienne ligne au lieu de '-'"
 
-#: diff.c:5386
+#: diff.c:5373
 msgid "specify the character to indicate a context instead of ' '"
 msgstr ""
 "spécifier le caractère pour indiquer une ligne de contexte au lieu de ' '"
 
-#: diff.c:5389
+#: diff.c:5376
 msgid "Diff rename options"
 msgstr "Options de renommage de diff"
 
-#: 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 ""
 "casser les modifications d'une réécrire complète en paires de suppression et "
 "création"
 
-#: diff.c:5395
+#: diff.c:5382
 msgid "detect renames"
 msgstr "détecter les renommages"
 
-#: diff.c:5399
+#: diff.c:5386
 msgid "omit the preimage for deletes"
 msgstr "supprimer la pré-image pour les suppressions"
 
-#: diff.c:5402
+#: diff.c:5389
 msgid "detect copies"
 msgstr "détecter les copies"
 
-#: diff.c:5406
+#: diff.c:5393
 msgid "use unmodified files as source to find copies"
 msgstr ""
 "utiliser les fichiers non-modifiés comme sources pour trouver des copies"
 
-#: diff.c:5408
+#: diff.c:5395
 msgid "disable rename detection"
 msgstr "désactiver la détection de renommage"
 
-#: diff.c:5411
+#: diff.c:5398
 msgid "use empty blobs as rename source"
 msgstr "utiliser des blobs vides comme source de renommage"
 
-#: diff.c:5413
+#: diff.c:5400
 msgid "continue listing the history of a file beyond renames"
 msgstr "continuer à afficher l'historique d'un fichier au delà des renommages"
 
-#: diff.c:5416
+#: diff.c:5403
 msgid ""
 "prevent rename/copy detection if the number of rename/copy targets exceeds "
 "given limit"
@@ -2911,161 +3594,161 @@ msgstr ""
 "empêcher la détection de renommage/copie si le nombre de cibles de renommage/"
 "copie excède la limite indiquée"
 
-#: diff.c:5418
+#: diff.c:5405
 msgid "Diff algorithm options"
 msgstr "Options de l'algorithme de diff"
 
-#: diff.c:5420
+#: diff.c:5407
 msgid "produce the smallest possible diff"
 msgstr "produire le diff le plus petit possible"
 
-#: diff.c:5423
+#: diff.c:5410
 msgid "ignore whitespace when comparing lines"
 msgstr "ignorer les espaces lors de la comparaison de ligne"
 
-#: diff.c:5426
+#: diff.c:5413
 msgid "ignore changes in amount of whitespace"
 msgstr "ignorer des modifications du nombre d'espaces"
 
-#: diff.c:5429
+#: diff.c:5416
 msgid "ignore changes in whitespace at EOL"
 msgstr "ignorer des modifications d'espace en fin de ligne"
 
-#: diff.c:5432
+#: diff.c:5419
 msgid "ignore carrier-return at the end of line"
 msgstr "ignore le retour chariot en fin de ligne"
 
-#: diff.c:5435
+#: diff.c:5422
 msgid "ignore changes whose lines are all blank"
 msgstr "ignorer les modifications dont les lignes sont vides"
 
-#: diff.c:5438
+#: diff.c:5425
 msgid "heuristic to shift diff hunk boundaries for easy reading"
 msgstr ""
 "heuristique qui déplace les limites de sections de diff pour faciliter la "
 "lecture"
 
-#: diff.c:5441
+#: diff.c:5428
 msgid "generate diff using the \"patience diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"patience\""
 
-#: diff.c:5445
+#: diff.c:5432
 msgid "generate diff using the \"histogram diff\" algorithm"
 msgstr ""
 "générer un diff en utilisant l'algorithme de différence \"histogramme\""
 
-#: diff.c:5447
+#: diff.c:5434
 msgid "<algorithm>"
 msgstr "<algorithme>"
 
-#: diff.c:5448
+#: diff.c:5435
 msgid "choose a diff algorithm"
 msgstr "choisir un algorithme de différence"
 
-#: diff.c:5450
+#: diff.c:5437
 msgid "<text>"
 msgstr "<texte>"
 
-#: diff.c:5451
+#: diff.c:5438
 msgid "generate diff using the \"anchored diff\" algorithm"
 msgstr "générer un diff en utilisant l'algorithme de différence \"ancré\""
 
-#: diff.c:5453 diff.c:5462 diff.c:5465
+#: diff.c:5440 diff.c:5449 diff.c:5452
 msgid "<mode>"
 msgstr "<mode>"
 
-#: diff.c:5454
+#: diff.c:5441
 msgid "show word diff, using <mode> to delimit changed words"
 msgstr ""
 "afficher des différences par mot, en utilisant <mode> pour délimiter les "
 "mots modifiés"
 
-#: 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 "utiliser <regex> pour décider ce qu'est un mot"
 
-#: diff.c:5460
+#: diff.c:5447
 msgid "equivalent to --word-diff=color --word-diff-regex=<regex>"
 msgstr "équivalent à --word-diff=color --word-diff-regex=<regex>"
 
-#: diff.c:5463
+#: diff.c:5450
 msgid "moved lines of code are colored differently"
 msgstr "les lignes déplacées sont colorées différemment"
 
-#: diff.c:5466
+#: diff.c:5453
 msgid "how white spaces are ignored in --color-moved"
 msgstr "comment les espaces sont ignorés dans --color-moved"
 
-#: diff.c:5469
+#: diff.c:5456
 msgid "Other diff options"
 msgstr "Autres options diff"
 
-#: diff.c:5471
+#: diff.c:5458
 msgid "when run from subdir, exclude changes outside and show relative paths"
 msgstr ""
 "lancé depuis un sous-répertoire, exclure les modifications en dehors et "
 "afficher les chemins relatifs"
 
-#: diff.c:5475
+#: diff.c:5462
 msgid "treat all files as text"
 msgstr "traiter les fichiers comme texte"
 
-#: diff.c:5477
+#: diff.c:5464
 msgid "swap two inputs, reverse the diff"
 msgstr "échanger les entrées, inverser le diff"
 
-#: diff.c:5479
+#: diff.c:5466
 msgid "exit with 1 if there were differences, 0 otherwise"
 msgstr "sortir un code d'erreur 1 s'il y avait de différences, 0 sinon"
 
-#: diff.c:5481
+#: diff.c:5468
 msgid "disable all output of the program"
 msgstr "désactiver tous les affichages du programme"
 
-#: diff.c:5483
+#: diff.c:5470
 msgid "allow an external diff helper to be executed"
 msgstr "autoriser l'exécution d'un assistant externe de diff"
 
-#: diff.c:5485
+#: diff.c:5472
 msgid "run external text conversion filters when comparing binary files"
 msgstr ""
 "lancer les filtres externes de conversion en texte lors de la comparaison de "
 "fichiers binaires"
 
-#: diff.c:5487
+#: diff.c:5474
 msgid "<when>"
 msgstr "<quand>"
 
-#: diff.c:5488
+#: diff.c:5475
 msgid "ignore changes to submodules in the diff generation"
 msgstr ""
 "ignorer les modifications dans les sous-modules lors de la génération de diff"
 
-#: 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 "spécifier comment les différences dans les sous-modules sont affichées"
 
-#: diff.c:5496
+#: diff.c:5483
 msgid "hide 'git add -N' entries from the index"
 msgstr "masquer les entrées 'git add -N' de l'index"
 
-#: diff.c:5499
+#: diff.c:5486
 msgid "treat 'git add -N' entries as real in the index"
 msgstr "traiter les entrées 'git add -N' comme réelles dans l'index"
 
-#: diff.c:5501
+#: diff.c:5488
 msgid "<string>"
 msgstr "<chaîne>"
 
-#: diff.c:5502
+#: diff.c:5489
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "string"
@@ -3073,7 +3756,7 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la "
 "chaîne spécifiée"
 
-#: diff.c:5505
+#: diff.c:5492
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "regex"
@@ -3081,26 +3764,26 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de la regex "
 "spécifiée"
 
-#: diff.c:5508
+#: diff.c:5495
 msgid "show all changes in the changeset with -S or -G"
 msgstr ""
 "afficher toutes les modifications dans l'ensemble de modifications avec -S "
 "ou -G"
 
-#: diff.c:5511
+#: diff.c:5498
 msgid "treat <string> in -S as extended POSIX regular expression"
 msgstr ""
 "traiter <chaîne> dans -S comme une expression rationnelle POSIX étendue"
 
-#: diff.c:5514
+#: diff.c:5501
 msgid "control the order in which files appear in the output"
 msgstr "contrôler l'ordre dans lequel les fichiers apparaissent dans la sortie"
 
-#: diff.c:5515
+#: diff.c:5502
 msgid "<object-id>"
 msgstr "<id-objet>"
 
-#: diff.c:5516
+#: diff.c:5503
 msgid ""
 "look for differences that change the number of occurrences of the specified "
 "object"
@@ -3108,35 +3791,35 @@ msgstr ""
 "rechercher les différences qui modifient le nombre d'occurrences de l'objet "
 "indiqué"
 
-#: 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 "sélectionner les fichiers par types de diff"
 
-#: diff.c:5521
+#: diff.c:5508
 msgid "<file>"
 msgstr "<fichier>"
 
-#: diff.c:5522
+#: diff.c:5509
 msgid "Output to a specific file"
 msgstr "Sortie vers un fichier spécifié"
 
-#: diff.c:6177
+#: diff.c:6164
 msgid "inexact rename detection was skipped due to too many files."
 msgstr ""
 "détection de renommage inexact annulée à cause d'un trop grand nombre de "
 "fichiers."
 
-#: diff.c:6180
+#: diff.c:6167
 msgid "only found copies from modified paths due to too many files."
 msgstr ""
 "recherche uniquement des copies par modification de chemin à cause d'un trop "
 "grand nombre de fichiers."
 
-#: 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."
@@ -3144,41 +3827,62 @@ msgstr ""
 "vous souhaitez peut-être régler la variable %s à au moins %d et réessayer le "
 "commande."
 
-#: dir.c:537
+#: dir.c:555
 #, c-format
 msgid "pathspec '%s' did not match any file(s) known to git"
 msgstr ""
 "le spécificateur de chemin '%s' ne correspond à aucun fichier connu de git"
 
-#: dir.c:926
+#: dir.c:695 dir.c:724 dir.c:737
+#, c-format
+msgid "unrecognized pattern: '%s'"
+msgstr "motif non reconnu : '%s'"
+
+#: dir.c:754 dir.c:768
+#, c-format
+msgid "unrecognized negative pattern: '%s'"
+msgstr "motif négatif non reconnu : '%s'"
+
+#: dir.c:786
+#, c-format
+msgid "your sparse-checkout file may have issues: pattern '%s' is repeated"
+msgstr ""
+"votre fichier d'extraction partielle pourrait présenter des problèmes : le "
+"motif '%s' est répété"
+
+#: dir.c:796
+msgid "disabling cone pattern matching"
+msgstr "désactivation de la correspondance de motif de cone"
+
+#: dir.c:1173
 #, c-format
 msgid "cannot use %s as an exclude file"
 msgstr "impossible d'utiliser %s comme fichier d'exclusion"
 
-#: dir.c:1843
+#: dir.c:2144
 #, c-format
 msgid "could not open directory '%s'"
 msgstr "impossible d'ouvrir le répertoire '%s'"
 
-#: dir.c:2085
+#: dir.c:2479
 msgid "failed to get kernel name and information"
 msgstr "echec de l'obtention d'information de kernel"
 
-#: dir.c:2209
+#: dir.c:2603
 msgid "untracked cache is disabled on this system or location"
 msgstr "Le cache non suivi est désactivé sur ce système ou sur cet endroit"
 
-#: dir.c:3013
+#: dir.c:3407
 #, c-format
 msgid "index file corrupt in repo %s"
 msgstr "fichier d'index corrompu dans le dépôt %s"
 
-#: dir.c:3058 dir.c:3063
+#: dir.c:3452 dir.c:3457
 #, c-format
 msgid "could not create directories for %s"
 msgstr "impossible de créer les répertoires pour %s"
 
-#: dir.c:3092
+#: dir.c:3486
 #, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "impossible de migrer le répertoire git de '%s' vers '%s'"
@@ -3199,12 +3903,12 @@ msgstr "Filtrage du contenu"
 msgid "could not stat file '%s'"
 msgstr "impossible de stat le fichier '%s'"
 
-#: environment.c:150
+#: environment.c:149
 #, c-format
 msgid "bad git namespace path \"%s\""
 msgstr "Espaces de nom de Git \"%s\""
 
-#: environment.c:332
+#: environment.c:331
 #, c-format
 msgid "could not set GIT_DIR to '%s'"
 msgstr "impossible de régler GIT_DIR à '%s'"
@@ -3214,266 +3918,270 @@ msgstr "impossible de régler GIT_DIR à '%s'"
 msgid "too many args to run %s"
 msgstr "trop d'arguments pour lancer %s"
 
-#: fetch-object.c:17
-msgid "Remote with no URL"
-msgstr "Dépôt distant sans URL"
-
-#: fetch-pack.c:151
+#: fetch-pack.c:150
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack : liste superficielle attendue"
 
-#: fetch-pack.c:154
+#: fetch-pack.c:153
 msgid "git fetch-pack: expected a flush packet after shallow list"
 msgstr ""
 "git fetch-pack : paquet de vidage attendu après une liste superficielle"
 
-#: fetch-pack.c:165
+#: fetch-pack.c:164
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
 msgstr "git fetch-pack : ACK/NACK attendu, paquet de nettoyage reçu"
 
-#: fetch-pack.c:185
+#: fetch-pack.c:184
 #, c-format
 msgid "git fetch-pack: expected ACK/NAK, got '%s'"
 msgstr "git fetch-pack : ACK/NACK attendu, '%s' reçu"
 
-#: fetch-pack.c:196
+#: fetch-pack.c:195
 msgid "unable to write to remote"
 msgstr "impossible d'écrire sur un distant"
 
-#: fetch-pack.c:258
+#: fetch-pack.c:257
 msgid "--stateless-rpc requires multi_ack_detailed"
 msgstr "--stateless-rpc nécessite 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 "ligne de superficiel invalide : %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 "ligne de fin de superficiel invalide : %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 "objet non trouvé : %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 "Erreur dans l'objet : %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 "Pas de superficiel trouvé : %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 "superficiel/non superficiel attendu, %s trouvé"
 
-#: fetch-pack.c:417
+#: fetch-pack.c:414
 #, c-format
 msgid "got %s %d %s"
 msgstr "réponse %s %d %s"
 
-#: fetch-pack.c:434
+#: fetch-pack.c:431
 #, c-format
 msgid "invalid commit %s"
 msgstr "commit invalide %s"
 
-#: fetch-pack.c:465
+#: fetch-pack.c:462
 msgid "giving up"
 msgstr "abandon"
 
-#: fetch-pack.c:477 progress.c:277
+#: fetch-pack.c:475 progress.c:323
 msgid "done"
 msgstr "fait"
 
-#: fetch-pack.c:489
+#: fetch-pack.c:487
 #, c-format
 msgid "got %s (%d) %s"
 msgstr "%s trouvé (%d) %s"
 
-#: fetch-pack.c:535
+#: fetch-pack.c:533
 #, c-format
 msgid "Marking %s as complete"
 msgstr "Marquage de %s comme terminé"
 
-#: fetch-pack.c:744
+#: fetch-pack.c:754
 #, c-format
 msgid "already have %s (%s)"
 msgstr "%s déjà possédé (%s)"
 
-#: fetch-pack.c:783
+#: fetch-pack.c:818
 msgid "fetch-pack: unable to fork off sideband demultiplexer"
 msgstr "fetch-pack : impossible de dupliquer le démultiplexeur latéral"
 
-#: fetch-pack.c:791
+#: fetch-pack.c:826
 msgid "protocol error: bad pack header"
 msgstr "erreur de protocole : mauvais entête de paquet"
 
-#: fetch-pack.c:859
+#: fetch-pack.c:900
 #, c-format
 msgid "fetch-pack: unable to fork off %s"
 msgstr "fetch-pack : impossible de dupliquer %s"
 
-#: fetch-pack.c:875
+#: fetch-pack.c:916
 #, c-format
 msgid "%s failed"
 msgstr "échec de %s"
 
-#: fetch-pack.c:877
+#: fetch-pack.c:918
 msgid "error in sideband demultiplexer"
 msgstr "erreur dans le démultiplexer latéral"
 
-#: fetch-pack.c:908
+#: fetch-pack.c:965
 #, c-format
 msgid "Server version is %.*s"
 msgstr "La version du serveur est %.*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 "Le serveur supporte %s"
 
-#: fetch-pack.c:915
+#: fetch-pack.c:972
 msgid "Server does not support shallow clients"
 msgstr "Le serveur ne supporte les clients superficiels"
 
-#: fetch-pack.c:975
+#: fetch-pack.c:1032
 msgid "Server does not support --shallow-since"
 msgstr "Le receveur ne gère pas --shallow-since"
 
-#: fetch-pack.c:980
+#: fetch-pack.c:1037
 msgid "Server does not support --shallow-exclude"
 msgstr "Le receveur ne gère pas --shallow-exclude"
 
-#: fetch-pack.c:984
+#: fetch-pack.c:1041
 msgid "Server does not support --deepen"
 msgstr "Le receveur ne gère pas --deepen"
 
-#: fetch-pack.c:1001
+#: fetch-pack.c:1058
 msgid "no common commits"
 msgstr "pas de commit commun"
 
-#: 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 : échec de le récupération."
 
-#: fetch-pack.c:1151
+#: fetch-pack.c:1209
 msgid "Server does not support shallow requests"
 msgstr "Le serveur ne supporte les requêtes superficielles"
 
-#: fetch-pack.c:1157
+#: fetch-pack.c:1216
 msgid "Server supports filter"
 msgstr "Le serveur supporte filter"
 
-#: fetch-pack.c:1184
+#: fetch-pack.c:1239
 msgid "unable to write request to remote"
 msgstr "impossible d'écrire la requête sur le distant"
 
-#: fetch-pack.c:1202
+#: fetch-pack.c:1257
 #, c-format
 msgid "error reading section header '%s'"
 msgstr "erreur à la lecture de l'entête de section '%s'"
 
-#: fetch-pack.c:1208
+#: fetch-pack.c:1263
 #, c-format
 msgid "expected '%s', received '%s'"
 msgstr "'%s' attendu, '%s' reçu"
 
-#: fetch-pack.c:1247
+#: fetch-pack.c:1303
 #, c-format
 msgid "unexpected acknowledgment line: '%s'"
 msgstr "ligne d'acquittement inattendue : '%s'"
 
-#: fetch-pack.c:1252
+#: fetch-pack.c:1308
 #, c-format
 msgid "error processing acks: %d"
 msgstr "erreur lors du traitement des acquittements : %d"
 
-#: fetch-pack.c:1262
+#: fetch-pack.c:1318
 msgid "expected packfile to be sent after 'ready'"
 msgstr "fichier paquet attendu à envoyer après 'ready'"
 
-#: fetch-pack.c:1264
+#: fetch-pack.c:1320
 msgid "expected no other sections to be sent after no 'ready'"
 msgstr "aucune autre section attendue à envoyer après absence de 'ready'"
 
-#: fetch-pack.c:1306
+#: fetch-pack.c:1362
 #, c-format
 msgid "error processing shallow info: %d"
 msgstr "erreur lors du traitement de l'information de superficialité : %d"
 
-#: fetch-pack.c:1353
+#: fetch-pack.c:1409
 #, c-format
 msgid "expected wanted-ref, got '%s'"
 msgstr "wanted-ref attendu, '%s' trouvé"
 
-#: fetch-pack.c:1358
+#: fetch-pack.c:1414
 #, c-format
 msgid "unexpected wanted-ref: '%s'"
 msgstr "wanted-ref inattendu : '%s'"
 
-#: fetch-pack.c:1363
+#: fetch-pack.c:1419
 #, c-format
 msgid "error processing wanted refs: %d"
 msgstr "erreur lors du traitement des références voulues : %d"
 
-#: fetch-pack.c:1689
+#: fetch-pack.c:1762
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
-#: 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 "le serveur distant n'a pas envoyé tous les objets nécessaires"
 
-#: fetch-pack.c:1739
+#: fetch-pack.c:1812
 #, c-format
 msgid "no such remote ref %s"
 msgstr "référence distante inconnue %s"
 
-#: fetch-pack.c:1742
+#: fetch-pack.c:1815
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
 msgstr "Le serveur n'autorise pas de requête pour l'objet %s non annoncé"
 
-#: gpg-interface.c:321
+#: gpg-interface.c:408
 msgid "gpg failed to sign the data"
 msgstr "gpg n'a pas pu signer les données"
 
-#: gpg-interface.c:347
+#: gpg-interface.c:434
 msgid "could not create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: gpg-interface.c:350
+#: gpg-interface.c:437
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "impossible d'écrire la signature détachée dans '%s'"
 
-#: graph.c:97
+#: graph.c:98
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
 msgstr "couleur invalide '%.*s' ignorée dans 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 ""
+"le motif fourni contient des octets NUL (via -f <fichier>). Ce n'est "
+"supporté qu'avec -P avec PCRE v2"
+
+#: grep.c:2128
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s' : lecture de %s impossible"
 
-#: 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 "échec du stat de '%s'"
 
-#: grep.c:2145
+#: grep.c:2156
 #, c-format
 msgid "'%s': short read"
 msgstr "'%s' : lecture tronquée"
@@ -3524,7 +4232,7 @@ msgid "Low-level Commands / Interrogators"
 msgstr "Commandes bas niveau / Interrogateurs"
 
 #: help.c:37
-msgid "Low-level Commands / Synching Repositories"
+msgid "Low-level Commands / Syncing Repositories"
 msgstr "Commandes bas niveau / Synchronisation de dépôts"
 
 #: help.c:38
@@ -3620,12 +4328,12 @@ msgstr[1] ""
 msgid "git version [<options>]"
 msgstr "git version [<options>]"
 
-#: 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?"
@@ -3693,48 +4401,64 @@ msgstr "nom d'identifiant vide (pour <%s>) non permis"
 msgid "name consists only of disallowed characters: %s"
 msgstr "le nom n'est constitué que de caractères interdits : %s"
 
-#: ident.c:436 builtin/commit.c:611
+#: ident.c:436 builtin/commit.c:635
 #, c-format
 msgid "invalid date format: %s"
 msgstr "format de date invalide : %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 ""
 "l'entrée '%s' dans l'arbre %s a un mode d'arbre, mais n'est pas un arbre"
 
-#: 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 ""
 "l'entrée '%s' dans l'arbre %s a un mode de blob, mais n'est pas un blob"
 
-#: list-objects.c:378
+#: list-objects.c:375
 #, c-format
 msgid "unable to load root tree for commit %s"
 msgstr "impossible de charger l'arbre racine pour le commit %s"
 
-#: list-objects-filter-options.c:36
-msgid "multiple filter-specs cannot be combined"
-msgstr "impossible de combiner des spécificateurs multiples de filtre"
+#: list-objects-filter.c:492
+#, c-format
+msgid "unable to access sparse blob in '%s'"
+msgstr "impossible d'accéder au blob clairsemé dans '%s'"
+
+#: list-objects-filter.c:495
+#, c-format
+msgid "unable to parse sparse filter data in %s"
+msgstr "impossible d'analyser la donnée de filtre clairsemé dans %s"
 
 #: list-objects-filter-options.c:58
 msgid "expected 'tree:<depth>'"
 msgstr "attendu : 'tree:<profondeur>'"
 
-#: list-objects-filter-options.c:84
+#: list-objects-filter-options.c:73
 msgid "sparse:path filters support has been dropped"
 msgstr "sparse : le support des filtres de chemin a été abandonné"
 
-#: list-objects-filter-options.c:94
+#: list-objects-filter-options.c:86
 #, c-format
 msgid "invalid filter-spec '%s'"
 msgstr "spécificateur de filtre invalide '%s'"
 
-#: list-objects-filter-options.c:158
-msgid "cannot change partial clone promisor remote"
-msgstr "impossible de modifier le prometteur distant de clone partiel"
+#: list-objects-filter-options.c:102
+#, c-format
+msgid "must escape char in sub-filter-spec: '%c'"
+msgstr ""
+"le caractère doit être échappé dans le spécificateur de sous-filtre : '%c'"
+
+#: list-objects-filter-options.c:144
+msgid "expected something after combine:"
+msgstr "quelque chose attendu après combine :"
+
+#: list-objects-filter-options.c:226
+msgid "multiple filter-specs cannot be combined"
+msgstr "impossible de combiner des spécificateurs multiples de filtre"
 
 #: lockfile.c:151
 #, c-format
@@ -3764,117 +4488,113 @@ msgstr "Impossible de créer '%s.lock' : %s"
 msgid "failed to read the cache"
 msgstr "impossible de lire le cache"
 
-#: 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 "impossible d'écrire le nouveau fichier d'index"
 
-#: merge-recursive.c:322
+#: merge-recursive.c:356
 msgid "(bad commit)\n"
 msgstr "(mauvais commit)\n"
 
-#: merge-recursive.c:345
+#: merge-recursive.c:379
 #, c-format
 msgid "add_cacheinfo failed for path '%s'; merge aborting."
 msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:354
+#: merge-recursive.c:388
 #, c-format
 msgid "add_cacheinfo failed to refresh for path '%s'; merge aborting."
 msgstr "échec de addinfo_cache pour le chemin '%s' ; abandon de la fusion."
 
-#: merge-recursive.c:437
-msgid "error building trees"
-msgstr "erreur de construction des arbres"
-
-#: merge-recursive.c:863
+#: merge-recursive.c:874
 #, c-format
 msgid "failed to create path '%s'%s"
 msgstr "impossible de créer le chemin '%s' %s"
 
-#: merge-recursive.c:874
+#: merge-recursive.c:885
 #, c-format
 msgid "Removing %s to make room for subdirectory\n"
 msgstr "Suppression de %s pour faire de la place pour le sous-répertoire\n"
 
-#: merge-recursive.c:888 merge-recursive.c:907
+#: merge-recursive.c:899 merge-recursive.c:918
 msgid ": perhaps a D/F conflict?"
 msgstr ": peut-être un conflit D/F ?"
 
-#: merge-recursive.c:897
+#: merge-recursive.c:908
 #, c-format
 msgid "refusing to lose untracked file at '%s'"
 msgstr "refus de perdre le fichier non suivi '%s'"
 
-#: merge-recursive.c:938 builtin/cat-file.c:40
+#: merge-recursive.c:949 builtin/cat-file.c:41
 #, c-format
 msgid "cannot read object %s '%s'"
 msgstr "impossible de lire l'objet %s '%s'"
 
-#: merge-recursive.c:941
+#: merge-recursive.c:954
 #, c-format
 msgid "blob expected for %s '%s'"
 msgstr "blob attendu pour %s '%s'"
 
-#: merge-recursive.c:965
+#: merge-recursive.c:979
 #, c-format
 msgid "failed to open '%s': %s"
 msgstr "échec à l'ouverture de '%s' : %s"
 
-#: merge-recursive.c:976
+#: merge-recursive.c:990
 #, c-format
 msgid "failed to symlink '%s': %s"
 msgstr "échec à la création du lien symbolique '%s' : %s"
 
-#: merge-recursive.c:981
+#: merge-recursive.c:995
 #, c-format
 msgid "do not know what to do with %06o %s '%s'"
 msgstr "ne sait pas traiter %06o %s '%s'"
 
-#: merge-recursive.c:1177
+#: merge-recursive.c:1191
 #, c-format
 msgid "Failed to merge submodule %s (not checked out)"
 msgstr "Échec de la fusion du sous-module %s (non extrait)"
 
-#: merge-recursive.c:1184
+#: merge-recursive.c:1198
 #, c-format
 msgid "Failed to merge submodule %s (commits not present)"
 msgstr "Échec de fusion du sous-module %s (commits non présents)"
 
-#: merge-recursive.c:1191
+#: merge-recursive.c:1205
 #, c-format
 msgid "Failed to merge submodule %s (commits don't follow merge-base)"
 msgstr ""
 "Échec de la fusion du sous-module %s (les commits ne descendent pas de la "
 "base de fusion)"
 
-#: 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 "Avance rapide du sous-module %s au commit suivant :"
 
-#: merge-recursive.c:1202 merge-recursive.c:1214
+#: merge-recursive.c:1216 merge-recursive.c:1228
 #, c-format
 msgid "Fast-forwarding submodule %s"
 msgstr "Avance rapide du sous-module %s"
 
-#: merge-recursive.c:1237
+#: merge-recursive.c:1251
 #, c-format
 msgid "Failed to merge submodule %s (merge following commits not found)"
 msgstr ""
 "Échec de fusion du sous-module %s (fusion suivant les commits non trouvée)"
 
-#: merge-recursive.c:1241
+#: merge-recursive.c:1255
 #, c-format
 msgid "Failed to merge submodule %s (not fast-forward)"
 msgstr "Échec de fusion du sous-module %s (pas en avance rapide)"
 
-#: merge-recursive.c:1242
+#: merge-recursive.c:1256
 msgid "Found a possible merge resolution for the submodule:\n"
 msgstr "Résolution possible de fusion trouvée pour le sous-module :\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"
@@ -3891,33 +4611,33 @@ msgstr ""
 "\n"
 "qui acceptera cette suggestion.\n"
 
-#: merge-recursive.c:1254
+#: merge-recursive.c:1268
 #, c-format
 msgid "Failed to merge submodule %s (multiple merges found)"
 msgstr "Échec de fusion du sous-module %s (plusieurs fusions trouvées)"
 
-#: merge-recursive.c:1327
+#: merge-recursive.c:1341
 msgid "Failed to execute internal merge"
 msgstr "Échec à l'exécution de la fusion interne"
 
-#: merge-recursive.c:1332
+#: merge-recursive.c:1346
 #, c-format
 msgid "Unable to add %s to database"
 msgstr "Impossible d'ajouter %s à la base de données"
 
-#: merge-recursive.c:1364
+#: merge-recursive.c:1378
 #, c-format
 msgid "Auto-merging %s"
 msgstr "Fusion automatique de %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 ""
 "Erreur : refus de perdre le fichier non suivi %s ; écriture dans %s à la "
 "place."
 
-#: 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 "
@@ -3926,7 +4646,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre."
 
-#: 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 "
@@ -3935,7 +4655,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version "
 "%s de %s laissée dans l'arbre."
 
-#: 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 "
@@ -3944,7 +4664,7 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s dans %s. Version %s de "
 "%s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1476
+#: merge-recursive.c:1491
 #, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
@@ -3953,41 +4673,41 @@ msgstr ""
 "CONFLIT (%s/suppression) : %s supprimé dans %s et %s à %s dans %s. Version "
 "%s de %s laissée dans l'arbre dans le fichier %s."
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1526
 msgid "rename"
 msgstr "renommage"
 
-#: merge-recursive.c:1511
+#: merge-recursive.c:1526
 msgid "renamed"
 msgstr "renommé"
 
-#: 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 "Refus de perdre le fichier modifié %s"
 
-#: merge-recursive.c:1601
+#: merge-recursive.c:1587
 #, c-format
 msgid "Refusing to lose untracked file at %s, even though it's in the way."
 msgstr "Refus de perdre le fichier non suivi %s, même s'il gêne."
 
-#: merge-recursive.c:1659
+#: merge-recursive.c:1645
 #, c-format
 msgid "CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s"
 msgstr ""
 "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajouté dans %s"
 
-#: merge-recursive.c:1690
+#: merge-recursive.c:1676
 #, c-format
 msgid "%s is a directory in %s adding as %s instead"
 msgstr "%s est un répertoire dans %s ajouté plutôt comme %s"
 
-#: merge-recursive.c:1695
+#: merge-recursive.c:1681
 #, c-format
 msgid "Refusing to lose untracked file at %s; adding as %s instead"
 msgstr "Refus de perdre le fichier non suivi %s ; ajout comme %s à la place"
 
-#: merge-recursive.c:1714
+#: merge-recursive.c:1708
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -3996,18 +4716,18 @@ msgstr ""
 "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
 "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
 
-#: merge-recursive.c:1719
+#: merge-recursive.c:1713
 msgid " (left unresolved)"
 msgstr " (laissé non résolu)"
 
-#: 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 ""
 "CONFLIT (renommage/renommage) : renommage '%s'->'%s' dans %s. Renommage '%s'-"
 ">'%s' dans %s"
 
-#: merge-recursive.c:2035
+#: merge-recursive.c:2056
 #, c-format
 msgid ""
 "CONFLICT (directory rename split): Unclear where to place %s because "
@@ -4018,7 +4738,7 @@ msgstr ""
 "parce que le répertoire %s a été renommé en plusieurs autres répertoires, "
 "sans aucune destination récupérant la majorité des fichiers."
 
-#: merge-recursive.c:2067
+#: merge-recursive.c:2088
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
@@ -4027,7 +4747,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : le répertoire/fichier %s gêne "
 "des renommages implicites de répertoire déplaçant les chemins suivants : %s."
 
-#: merge-recursive.c:2077
+#: merge-recursive.c:2098
 #, c-format
 msgid ""
 "CONFLICT (implicit dir rename): Cannot map more than one path to %s; "
@@ -4036,7 +4756,7 @@ msgstr ""
 "CONFLIT (renommage implicite de répertoire) : impossible de transformer "
 "plusieurs chemins sur %s ; les chemins concernés sont : %s"
 
-#: merge-recursive.c:2169
+#: merge-recursive.c:2190
 #, c-format
 msgid ""
 "CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s-"
@@ -4045,7 +4765,7 @@ msgstr ""
 "CONFLIT (renommage/renommage) : renommage du répertoire %s->%s dans %s. "
 "Renommage de répertoire %s->%s dans %s"
 
-#: merge-recursive.c:2413
+#: merge-recursive.c:2435
 #, c-format
 msgid ""
 "WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was "
@@ -4054,52 +4774,52 @@ msgstr ""
 "AVERTISSEMENT : ne renomme pas %s->%s dans %s, parce que %s lui-même a été "
 "renommé."
 
-#: merge-recursive.c:2938
+#: merge-recursive.c:2961
 #, c-format
 msgid "cannot read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: merge-recursive.c:2941
+#: merge-recursive.c:2964
 #, c-format
 msgid "object %s is not a blob"
 msgstr "l'objet %s n'est pas un blob"
 
-#: merge-recursive.c:3005
+#: merge-recursive.c:3028
 msgid "modify"
 msgstr "modification"
 
-#: merge-recursive.c:3005
+#: merge-recursive.c:3028
 msgid "modified"
 msgstr "modifié"
 
-#: merge-recursive.c:3017
+#: merge-recursive.c:3040
 msgid "content"
 msgstr "contenu"
 
-#: merge-recursive.c:3021
+#: merge-recursive.c:3044
 msgid "add/add"
 msgstr "ajout/ajout"
 
-#: merge-recursive.c:3044
+#: merge-recursive.c:3067
 #, c-format
 msgid "Skipped %s (merged same as existing)"
 msgstr "%s sauté (fusion identique à l'existant)"
 
-#: merge-recursive.c:3066 git-submodule.sh:937
+#: merge-recursive.c:3089 git-submodule.sh:1003
 msgid "submodule"
 msgstr "sous-module"
 
-#: merge-recursive.c:3067
+#: merge-recursive.c:3090
 #, c-format
 msgid "CONFLICT (%s): Merge conflict in %s"
 msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3097
+#: merge-recursive.c:3120
 #, c-format
 msgid "Adding as %s instead"
 msgstr "Ajout plutôt comme %s"
 
-#: merge-recursive.c:3179
+#: merge-recursive.c:3203
 #, c-format
 msgid ""
 "Path updated: %s added in %s inside a directory that was renamed in %s; "
@@ -4108,7 +4828,7 @@ msgstr ""
 "Chemin mis à jour : %s ajouté dans %s dans un répertoire qui a été renommé "
 "en %s ; déplacé dans %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 "
@@ -4118,7 +4838,7 @@ msgstr ""
 "a été renommé dans %s, ce qui suggère qu'il devrait peut-être être déplacé "
 "vers %s."
 
-#: merge-recursive.c:3186
+#: merge-recursive.c:3210
 #, c-format
 msgid ""
 "Path updated: %s renamed to %s in %s, inside a directory that was renamed in "
@@ -4127,7 +4847,7 @@ msgstr ""
 "Chemin mis à jour : %s renommé en %s dans %s, dans un répertoire qui a été "
 "renommé en %s ; déplacé dans %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 "
@@ -4137,176 +4857,184 @@ msgstr ""
 "répertoire qui a été renommé dans %s, ce qui suggère qu'il devrait peut-être "
 "être déplacé vers %s."
 
-#: merge-recursive.c:3303
+#: merge-recursive.c:3327
 #, c-format
 msgid "Removing %s"
 msgstr "Suppression de %s"
 
-#: merge-recursive.c:3326
+#: merge-recursive.c:3350
 msgid "file/directory"
 msgstr "fichier/répertoire"
 
-#: merge-recursive.c:3331
+#: merge-recursive.c:3355
 msgid "directory/file"
 msgstr "répertoire/fichier"
 
-#: 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 ""
 "CONFLIT (%s) : Il y a un répertoire nommé %s dans %s. Ajout de %s comme %s"
 
-#: merge-recursive.c:3347
+#: merge-recursive.c:3371
 #, c-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: merge-recursive.c:3356
+#: merge-recursive.c:3380
 #, c-format
 msgid "CONFLICT (add/add): Merge conflict in %s"
 msgstr "CONFLIT (ajout/ajout) : Conflit de fusion dans %s"
 
-#: merge-recursive.c:3394
-#, c-format
-msgid ""
-"Your local changes to the following files would be overwritten by merge:\n"
-"  %s"
-msgstr ""
-"Vos modifications locales aux fichiers suivants seraient écrasées par la "
-"fusion :\n"
-"  %s"
-
-#: merge-recursive.c:3405
+#: merge-recursive.c:3424
 msgid "Already up to date!"
 msgstr "Déjà à jour !"
 
-#: merge-recursive.c:3414
+#: merge-recursive.c:3433
 #, c-format
 msgid "merging of trees %s and %s failed"
 msgstr "échec de fusion des arbres %s et %s"
 
-#: merge-recursive.c:3513
+#: merge-recursive.c:3537
 msgid "Merging:"
 msgstr "Fusion :"
 
-#: merge-recursive.c:3526
+#: merge-recursive.c:3550
 #, c-format
 msgid "found %u common ancestor:"
 msgid_plural "found %u common ancestors:"
 msgstr[0] "%u ancêtre commun trouvé :"
 msgstr[1] "%u ancêtres communs trouvés :"
 
-#: merge-recursive.c:3565
+#: merge-recursive.c:3600
 msgid "merge returned no commit"
 msgstr "la fusion n'a pas retourné de commit"
 
-#: 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 ""
+"Vos modifications locales aux fichiers suivants seraient écrasées par la "
+"fusion :\n"
+"  %s"
+
+#: merge-recursive.c:3756
 #, c-format
 msgid "Could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: merge-recursive.c:3647 builtin/merge.c:698 builtin/merge.c:869
+#: merge-recursive.c:3774 builtin/merge.c:697 builtin/merge.c:877
 msgid "Unable to write index."
 msgstr "Impossible d'écrire l'index."
 
-#: midx.c:69
+#: midx.c:68
 #, c-format
 msgid "multi-pack-index file %s is too small"
 msgstr "le fichier d'index multi-paquet %s est trop petit"
 
-#: midx.c:85
+#: midx.c:84
 #, c-format
 msgid "multi-pack-index signature 0x%08x does not match signature 0x%08x"
 msgstr ""
 "la signature de l'index multi-paquet 0x%08x ne correspond pas à la signature "
 "0x%08x"
 
-#: midx.c:90
+#: midx.c:89
 #, c-format
 msgid "multi-pack-index version %d not recognized"
 msgstr "la version d'index multi-paquet %d n'est pas reconnue"
 
-#: midx.c:95
+#: midx.c:94
 #, c-format
 msgid "hash version %u does not match"
 msgstr "la version %u du condensé ne correspond pas"
 
-#: midx.c:109
+#: midx.c:108
 msgid "invalid chunk offset (too large)"
 msgstr "décalage de section invalide (trop grand)"
 
-#: midx.c:133
+#: midx.c:132
 msgid "terminating multi-pack-index chunk id appears earlier than expected"
 msgstr ""
 "identifiant de terminaison de tronçon d'index multi-paquet terminant "
 "apparaît plus tôt qu'attendu"
 
-#: midx.c:146
+#: midx.c:145
 msgid "multi-pack-index missing required pack-name chunk"
 msgstr "index multi-paquet manque de tronçon de nom de paquet"
 
-#: midx.c:148
+#: midx.c:147
 msgid "multi-pack-index missing required OID fanout chunk"
 msgstr "index multi-paquet manque de tronçon de d'étalement OID requis"
 
-#: midx.c:150
+#: midx.c:149
 msgid "multi-pack-index missing required OID lookup chunk"
 msgstr "index multi-paquet manque de tronçon de recherche OID"
 
-#: midx.c:152
+#: midx.c:151
 msgid "multi-pack-index missing required object offsets chunk"
 msgstr "index multi-paquet manque de tronçon de décalage d'objet"
 
-#: midx.c:166
+#: midx.c:165
 #, c-format
 msgid "multi-pack-index pack names out of order: '%s' before '%s'"
 msgstr ""
 "index multi-paquet les noms de paquets sont en désordre : '%s' avant '%s'"
 
-#: midx.c:211
+#: midx.c:210
 #, c-format
 msgid "bad pack-int-id: %u (%u total packs)"
 msgstr "mauvais pack-int-id : %u (%u paquets au total)"
 
-#: 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 stock un décalage en 64-bit, mais off_t est trop petit"
 
-#: midx.c:289
+#: midx.c:288
 msgid "error preparing packfile from multi-pack-index"
 msgstr "erreur à la préparation du fichier paquet depuis un index multi-paquet"
 
-#: midx.c:470
+#: midx.c:472
 #, c-format
 msgid "failed to add packfile '%s'"
 msgstr "échec de l'ajout du fichier paquet '%s'"
 
-#: midx.c:476
+#: midx.c:478
 #, c-format
 msgid "failed to open pack-index '%s'"
 msgstr "échec à l'ouverture du fichier paquet '%s'"
 
-#: midx.c:536
+#: midx.c:538
 #, c-format
 msgid "failed to locate object %d in packfile"
 msgstr "échec de localisation de l'objet %d dans le fichier paquet"
 
-#: midx.c:865
+#: midx.c:842
+msgid "Adding packfiles to multi-pack-index"
+msgstr "Ajout de fichiers paquet à un index multi-paquet"
+
+#: midx.c:875
 #, c-format
 msgid "did not see pack-file %s to drop"
 msgstr "fichier paquet à éliminer %s non trouvé"
 
-#: midx.c:1036
+#: midx.c:973
+msgid "Writing chunks to multi-pack-index"
+msgstr "Écriture des sections dans l'index multi-paquet"
+
+#: midx.c:1052
 #, c-format
 msgid "failed to clear multi-pack-index at %s"
 msgstr "échec du nettoyage de l'index de multi-paquet à %s"
 
-#: midx.c:1091
+#: midx.c:1108
 msgid "Looking for referenced packfiles"
 msgstr "Recherche de fichiers paquets référencés"
 
-#: midx.c:1106
+#: midx.c:1123
 #, c-format
 msgid ""
 "oid fanout out of order: fanout[%d] = %<PRIx32> > %<PRIx32> = fanout[%d]"
@@ -4314,57 +5042,65 @@ msgstr ""
 "étalement oid en désordre : étalement[%d] = %<PRIx32> > %<PRIx32> = "
 "étalement[%d]"
 
-#: midx.c:1110
-msgid "Verifying OID order in MIDX"
-msgstr "Vérification de l'ordre des OID dans MIDX"
+#: midx.c:1128
+msgid "Verifying OID order in multi-pack-index"
+msgstr "Vérification de l'ordre des OID dans l'index multi-paquet"
 
-#: midx.c:1119
+#: midx.c:1137
 #, c-format
 msgid "oid lookup out of order: oid[%d] = %s >= %s = oid[%d]"
 msgstr "recherche d'oid en désordre : oid[%d] = %s >= %s = oid[%d]"
 
-#: midx.c:1138
+#: midx.c:1157
 msgid "Sorting objects by packfile"
 msgstr "Classement des objets par fichier paquet"
 
-#: midx.c:1144
+#: midx.c:1164
 msgid "Verifying object offsets"
 msgstr "Vérification des décalages des objets"
 
-#: midx.c:1160
+#: midx.c:1180
 #, c-format
 msgid "failed to load pack entry for oid[%d] = %s"
 msgstr "échec de la lecture de l'élément de cache pour oid[%d] = %s"
 
-#: midx.c:1166
+#: midx.c:1186
 #, c-format
 msgid "failed to load pack-index for packfile %s"
 msgstr "impossible de lire le fichier paquet %s"
 
-#: midx.c:1175
+#: midx.c:1195
 #, c-format
 msgid "incorrect object offset for oid[%d] = %s: %<PRIx64> != %<PRIx64>"
 msgstr "décalage d'objet incorrect pour oid[%d] = %s : %<PRIx64> != %<PRIx64>"
 
-#: midx.c:1350
+#: midx.c:1220
+msgid "Counting referenced objects"
+msgstr "Comptage des objets référencés"
+
+#: midx.c:1230
+msgid "Finding and deleting unreferenced packfiles"
+msgstr "Recherche et effacement des fichiers paquets non-référencés"
+
+#: midx.c:1388
 msgid "could not start pack-objects"
 msgstr "Impossible de démarrer le groupement d'objets"
 
-#: midx.c:1369
+#: midx.c:1407
 msgid "could not finish pack-objects"
 msgstr "Impossible de finir le groupement d'objets"
 
-#: name-hash.c:532
+#: name-hash.c:537
 #, c-format
 msgid "unable to create lazy_dir thread: %s"
 msgstr "impossible de créer le fil lazy_dir : %s"
 
-#: name-hash.c:554
+#: name-hash.c:559
 #, c-format
 msgid "unable to create lazy_name thread: %s"
 msgstr "impossible de créer le fil lazy_name : %s"
 
-#: name-hash.c:560
+#: name-hash.c:565
 #, c-format
 msgid "unable to join lazy_name thread: %s"
 msgstr "impossible de joindre le fil lazy_name : %s"
@@ -4408,32 +5144,32 @@ msgstr "Refus de réécrire des notes dans %s (hors de refs/notes/)"
 msgid "Bad %s value: '%s'"
 msgstr "Mauvaise valeur de %s : '%s'"
 
-#: object.c:54
+#: object.c:53
 #, c-format
 msgid "invalid object type \"%s\""
 msgstr "type d'objet invalide \"%s\""
 
-#: object.c:174
+#: object.c:173
 #, c-format
 msgid "object %s is a %s, not a %s"
 msgstr "l'objet %s est de type %s, pas de type %s"
 
-#: object.c:234
+#: object.c:233
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr "l'objet %s a un id de type inconnu %d"
 
-#: object.c:247
+#: object.c:246
 #, c-format
 msgid "unable to parse object: %s"
 msgstr "impossible d'analyser l'objet : %s"
 
-#: object.c:267 object.c:278
+#: object.c:266 object.c:278
 #, c-format
 msgid "hash mismatch %s"
 msgstr "incohérence de hachage %s"
 
-#: packfile.c:648
+#: packfile.c:629
 msgid "offset before end of packfile (broken .idx?)"
 msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 
@@ -4448,6 +5184,11 @@ msgid "offset beyond end of pack index for %s (truncated index?)"
 msgstr ""
 "offset au delà de la fin de l'index de paquet pour %s (index tronqué ?)"
 
+#: pack-bitmap.c:800 pack-bitmap.c:806 builtin/pack-objects.c:2134
+#, c-format
+msgid "unable to get size of %s"
+msgstr "impossible de récupérer la taille de %s"
+
 #: parse-options.c:38
 #, c-format
 msgid "%s requires a value"
@@ -4463,7 +5204,7 @@ msgstr "%s est incompatible avec %s"
 msgid "%s : incompatible with something else"
 msgstr "%s est incompatible avec toute autre option"
 
-#: 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 n'accepte aucune valeur"
@@ -4473,41 +5214,41 @@ msgstr "%s n'accepte aucune valeur"
 msgid "%s isn't available"
 msgstr "%s n'est pas disponible"
 
-#: 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 attend une valeur entière non négative avec une suffixe k/m/g"
 
-#: parse-options.c:389
+#: parse-options.c:386
 #, c-format
 msgid "ambiguous option: %s (could be --%s%s or --%s%s)"
 msgstr "option ambigüe : %s (devrait être --%s%s ou --%s%s)"
 
-#: parse-options.c:423 parse-options.c:431
+#: parse-options.c:420 parse-options.c:428
 #, c-format
-msgid "did you mean `--%s` (with two dashes ?)"
+msgid "did you mean `--%s` (with two dashes)?"
 msgstr "vouliez-vous dire `--%s` (avec deux signes moins)?"
 
-#: parse-options.c:859
+#: parse-options.c:857
 #, c-format
 msgid "unknown option `%s'"
 msgstr "option inconnue « %s »"
 
-#: parse-options.c:861
+#: parse-options.c:859
 #, c-format
 msgid "unknown switch `%c'"
 msgstr "bascule inconnue « %c »"
 
-#: parse-options.c:863
+#: parse-options.c:861
 #, c-format
 msgid "unknown non-ascii option in string: `%s'"
 msgstr "option non-ascii inconnue dans la chaîne : '%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 "usage : %s"
@@ -4515,21 +5256,21 @@ msgstr "usage : %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 "   ou : %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 pour --%s"
@@ -4554,37 +5295,37 @@ msgstr "l'option '%s' attend \"always\", \"auto\" ou \"never\""
 msgid "malformed object name '%s'"
 msgstr "nom d'objet malformé '%s'"
 
-#: path.c:897
+#: path.c:915
 #, c-format
 msgid "Could not make %s writable by group"
 msgstr "Impossible de rendre %s inscriptible pour le groupe"
 
-#: pathspec.c:128
+#: pathspec.c:130
 msgid "Escape character '\\' not allowed as last character in attr value"
 msgstr ""
 "Le caractère d'échappement '\\\\' interdit comme dernier caractère dans une "
 "valeur d'attribut"
 
-#: pathspec.c:146
+#: pathspec.c:148
 msgid "Only one 'attr:' specification is allowed."
 msgstr "Une seule spécification 'attr:' est autorisée."
 
-#: pathspec.c:149
+#: pathspec.c:151
 msgid "attr spec must not be empty"
 msgstr "un spécificateur d'attribut ne peut pas être vide"
 
-#: pathspec.c:192
+#: pathspec.c:194
 #, c-format
 msgid "invalid attribute name %s"
 msgstr "nom d'attribut invalide %s"
 
-#: pathspec.c:257
+#: pathspec.c:259
 msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
 msgstr ""
 "les réglages de spécificateurs de chemin généraux 'glob' et 'noglob' sont "
 "incompatibles"
 
-#: pathspec.c:264
+#: pathspec.c:266
 msgid ""
 "global 'literal' pathspec setting is incompatible with all other global "
 "pathspec settings"
@@ -4592,52 +5333,57 @@ msgstr ""
 "le réglage global de spécificateur de chemin 'literal' est incompatible avec "
 "tous les autres réglages globaux de spécificateur de chemin"
 
-#: pathspec.c:304
+#: pathspec.c:306
 msgid "invalid parameter for pathspec magic 'prefix'"
 msgstr "paramètre invalide pour le spécificateur magique de chemin 'prefix'"
 
-#: pathspec.c:325
+#: pathspec.c:327
 #, c-format
 msgid "Invalid pathspec magic '%.*s' in '%s'"
 msgstr "La spécification magique de chemin '%.*s' est invalide dans '%s'"
 
-#: pathspec.c:330
+#: pathspec.c:332
 #, c-format
 msgid "Missing ')' at the end of pathspec magic in '%s'"
 msgstr "')' manquante à la fin du spécificateur magique de chemin dans '%s'"
 
-#: pathspec.c:368
+#: pathspec.c:370
 #, c-format
 msgid "Unimplemented pathspec magic '%c' in '%s'"
 msgstr "Spécificateur magique '%c' non implémenté dans '%s'"
 
-#: pathspec.c:427
+#: pathspec.c:429
 #, c-format
 msgid "%s: 'literal' and 'glob' are incompatible"
 msgstr "%s : 'literal' et 'glob' sont incompatibles"
 
-#: pathspec.c:440
+#: pathspec.c:442
 #, c-format
-msgid "%s: '%s' is outside repository"
-msgstr "%s : '%s' est hors du dépôt"
+msgid "%s: '%s' is outside repository at '%s'"
+msgstr "%s : '%s' est hors du dépôt à '%s'"
 
-#: pathspec.c:514
+#: pathspec.c:517
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
 msgstr "'%s' (mnémonique : '%c')"
 
-#: pathspec.c:524
+#: pathspec.c:527
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s : le spécificateur magique de chemin n'est pas supporté par cette "
 "commande : %s"
 
-#: pathspec.c:591
+#: pathspec.c:594
 #, c-format
 msgid "pathspec '%s' is beyond a symbolic link"
 msgstr "le chemin '%s' est au-delà d'un lien symbolique"
 
+#: pathspec.c:639
+#, c-format
+msgid "line is badly quoted: %s"
+msgstr "la ligne est mal citée : %s"
+
 #: pkt-line.c:92
 msgid "unable to write flush packet"
 msgstr "impossible d'écrire le paquet de vidage"
@@ -4700,33 +5446,42 @@ msgstr "Rafraîchissement de l'index"
 msgid "unable to create threaded lstat: %s"
 msgstr "impossible de créer le lstat en fil : %s"
 
-#: pretty.c:966
+#: pretty.c:981
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
-#: range-diff.c:70
+#: promisor-remote.c:23
+msgid "Remote with no URL"
+msgstr "Dépôt distant sans URL"
+
+#: promisor-remote.c:58
+#, c-format
+msgid "promisor remote name cannot begin with '/': %s"
+msgstr "un nom de prometteur distant ne peut pas commencer par '/' : %s"
+
+#: range-diff.c:75
 msgid "could not start `log`"
 msgstr "impossible de démarrer `log`"
 
-#: range-diff.c:72
+#: range-diff.c:77
 msgid "could not read `log` output"
 msgstr "impossible de lire la sortie de `log`"
 
-#: range-diff.c:91 sequencer.c:5021
+#: range-diff.c:96 sequencer.c:5020
 #, c-format
 msgid "could not parse commit '%s'"
 msgstr "impossible d'analyser le commit '%s'"
 
-#: range-diff.c:117
+#: range-diff.c:122
 #, c-format
 msgid "could not parse git header '%.*s'"
 msgstr "impossible d'analyser l'entête git '%.*s'"
 
-#: range-diff.c:274
+#: range-diff.c:285
 msgid "failed to generate diff"
 msgstr "échec de la génération de diff"
 
-#: range-diff.c:506 range-diff.c:508
+#: range-diff.c:518 range-diff.c:520
 #, c-format
 msgid "could not parse log for '%s'"
 msgstr "impossible d'analyser le journal pour '%s'"
@@ -4767,16 +5522,16 @@ msgstr "impossible d'ajouter '%s' à l'index"
 msgid "unable to stat '%s'"
 msgstr "fstat de '%s' impossible"
 
-#: read-cache.c:1314
+#: read-cache.c:1330
 #, c-format
 msgid "'%s' appears as both a file and as a directory"
 msgstr "'%s' existe à la fois comme un fichier et un répertoire"
 
-#: read-cache.c:1499
+#: read-cache.c:1536
 msgid "Refresh index"
 msgstr "Rafraîchir l'index"
 
-#: read-cache.c:1613
+#: read-cache.c:1651
 #, c-format
 msgid ""
 "index.version set, but the value is invalid.\n"
@@ -4785,7 +5540,7 @@ msgstr ""
 "version d'index renseignée, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1623
+#: read-cache.c:1661
 #, c-format
 msgid ""
 "GIT_INDEX_VERSION set, but the value is invalid.\n"
@@ -4794,150 +5549,161 @@ msgstr ""
 "GIT_INDEX_VERSION est renseigné, mais la valeur est invalide.\n"
 "Utilisation de la version %i"
 
-#: read-cache.c:1679
+#: read-cache.c:1717
 #, c-format
 msgid "bad signature 0x%08x"
 msgstr "signature incorrecte 0x%08x"
 
-#: read-cache.c:1682
+#: read-cache.c:1720
 #, c-format
 msgid "bad index version %d"
 msgstr "mauvaise version d'index %d"
 
-#: read-cache.c:1691
+#: read-cache.c:1729
 msgid "bad index file sha1 signature"
 msgstr "mauvaise signature sha1 d'index"
 
-#: read-cache.c:1721
+#: read-cache.c:1759
 #, c-format
 msgid "index uses %.4s extension, which we do not understand"
 msgstr "l'index utilise l'extension %.4s qui n'est pas comprise"
 
-#: read-cache.c:1723
+#: read-cache.c:1761
 #, c-format
 msgid "ignoring %.4s extension"
 msgstr "extension %.4s ignorée"
 
-#: read-cache.c:1760
+#: read-cache.c:1798
 #, c-format
 msgid "unknown index entry format 0x%08x"
 msgstr "format d'entrée d'index inconnu 0x%08x"
 
-#: read-cache.c:1776
+#: read-cache.c:1814
 #, c-format
 msgid "malformed name field in the index, near path '%s'"
 msgstr "champ de nom malformé dans l'index, près du chemin '%s'"
 
-#: read-cache.c:1833
+#: read-cache.c:1871
 msgid "unordered stage entries in index"
 msgstr "entrées de préparation non ordonnées dans l'index"
 
-#: read-cache.c:1836
+#: read-cache.c:1874
 #, c-format
 msgid "multiple stage entries for merged file '%s'"
 msgstr "entrées multiples de préparation pour le fichier fusionné '%s'"
 
-#: read-cache.c:1839
+#: read-cache.c:1877
 #, c-format
 msgid "unordered stage entries for '%s'"
 msgstr "entrées de préparation non ordonnées pour '%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 "fichier d'index corrompu"
 
-#: read-cache.c:2087
+#: read-cache.c:2124
 #, c-format
 msgid "unable to create load_cache_entries thread: %s"
 msgstr "impossible de créer le fil load_cache_entries : %s"
 
-#: read-cache.c:2100
+#: read-cache.c:2137
 #, c-format
 msgid "unable to join load_cache_entries thread: %s"
 msgstr "impossible de joindre le fil load_cach_entries : %s"
 
-#: read-cache.c:2133
+#: read-cache.c:2170
 #, c-format
 msgid "%s: index file open failed"
 msgstr "%s : l'ouverture du fichier d'index a échoué"
 
-#: read-cache.c:2137
+#: read-cache.c:2174
 #, c-format
 msgid "%s: cannot stat the open index"
 msgstr "%s : impossible de faire un stat sur l'index ouvert"
 
-#: read-cache.c:2141
+#: read-cache.c:2178
 #, c-format
 msgid "%s: index file smaller than expected"
 msgstr "%s : fichier d'index plus petit qu'attendu"
 
-#: read-cache.c:2145
+#: read-cache.c:2182
 #, c-format
 msgid "%s: unable to map index file"
 msgstr "%s : impossible de mapper le fichier d'index"
 
-#: read-cache.c:2187
+#: read-cache.c:2224
 #, c-format
 msgid "unable to create load_index_extensions thread: %s"
 msgstr "impossible de créer le fil load_index_extensions : %s"
 
-#: read-cache.c:2214
+#: read-cache.c:2251
 #, c-format
 msgid "unable to join load_index_extensions thread: %s"
 msgstr "impossible de joindre le fil load_index_extensions : %s"
 
-#: read-cache.c:2246
+#: read-cache.c:2283
 #, c-format
 msgid "could not freshen shared index '%s'"
 msgstr "impossible de rafraîchir l'index partagé '%s'"
 
-#: read-cache.c:2293
+#: read-cache.c:2330
 #, c-format
 msgid "broken index, expect %s in %s, got %s"
 msgstr "index cassé, %s attendu dans %s, %s obtenu"
 
-#: 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 "impossible de fermer '%s'"
 
-#: read-cache.c:3092 sequencer.c:2358 sequencer.c:3928
+#: read-cache.c:3129 sequencer.c:2343 sequencer.c:3959
 #, c-format
 msgid "could not stat '%s'"
 msgstr "stat impossible de '%s'"
 
-#: read-cache.c:3105
+#: read-cache.c:3142
 #, c-format
 msgid "unable to open git dir: %s"
 msgstr "impossible d'ouvrir le répertoire git : %s"
 
-#: read-cache.c:3117
+#: read-cache.c:3154
 #, c-format
 msgid "unable to unlink: %s"
 msgstr "échec lors de l'unlink : %s"
 
-#: read-cache.c:3142
+#: read-cache.c:3179
 #, c-format
 msgid "cannot fix permission bits on '%s'"
 msgstr "impossible de régler les bits de droit de '%s'"
 
-#: read-cache.c:3291
+#: read-cache.c:3328
 #, c-format
 msgid "%s: cannot drop to stage #0"
 msgstr "%s : impossible de revenir à l'étape 0"
 
-#: rebase-interactive.c:26
+#: rebase-interactive.c:11
+msgid ""
+"You can fix this with 'git rebase --edit-todo' and then run 'git rebase --"
+"continue'.\n"
+"Or you can abort the rebase with 'git rebase --abort'.\n"
+msgstr ""
+"Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
+"rebase --continue'.\n"
+"Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
+
+#: rebase-interactive.c:33
 #, c-format
 msgid ""
 "unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
 msgstr ""
 "paramètre non reconnu %s pour l'option rebase.missingCommitsCheck. Ignoré."
 
-#: rebase-interactive.c:35
+#: rebase-interactive.c:42
 msgid ""
 "\n"
 "Commands:\n"
@@ -4979,14 +5745,14 @@ msgstr ""
 "\n"
 "Vous pouvez réordonner ces lignes ; elles sont exécutées de haut en bas.\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] "Rebasage de %s sur %s (%d commande)"
 msgstr[1] "Rebasage de %s sur %s (%d commandes)"
 
-#: 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"
@@ -4995,7 +5761,7 @@ msgstr ""
 "Ne supprimez aucune ligne. Utilisez 'drop' explicitement pour supprimer un "
 "commit.\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"
@@ -5003,7 +5769,7 @@ msgstr ""
 "\n"
 "Si vous éliminez une ligne ici, LE COMMIT CORRESPONDANT SERA PERDU.\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"
@@ -5018,7 +5784,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"
@@ -5028,22 +5794,19 @@ msgstr ""
 "Cependant, si vous effacez tout, le rebasage sera annulé.\n"
 "\n"
 
-#: rebase-interactive.c:85 git-rebase--preserve-merges.sh:955
-msgid "Note that empty commits are commented out"
-msgstr "Veuillez noter que les commits vides sont en commentaire"
-
-#: 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 "impossible d'écrire '%s'"
 
-#: rebase-interactive.c:108
+#: rebase-interactive.c:116 builtin/rebase.c:184 builtin/rebase.c:210
+#: builtin/rebase.c:234
 #, c-format
-msgid "could not copy '%s' to '%s'."
-msgstr "impossible de copier '%s' vers '%s'."
+msgid "could not write '%s'."
+msgstr "impossible d'écrire '%s'."
 
-#: rebase-interactive.c:173
+#: rebase-interactive.c:193
 #, c-format
 msgid ""
 "Warning: some commits may have been dropped accidentally.\n"
@@ -5052,7 +5815,7 @@ msgstr ""
 "Attention : certains commits ont pu être accidentellement supprimés.\n"
 "Commits supprimés (du plus jeune au plus vieux) :\n"
 
-#: rebase-interactive.c:180
+#: rebase-interactive.c:200
 #, c-format
 msgid ""
 "To avoid this message, use \"drop\" to explicitly remove a commit.\n"
@@ -5070,6 +5833,13 @@ msgstr ""
 "Les comportements disponibles sont : ignore, warn, error.\n"
 "\n"
 
+#: rebase-interactive.c:233 rebase-interactive.c:238 sequencer.c:2262
+#: builtin/rebase.c:170 builtin/rebase.c:195 builtin/rebase.c:221
+#: builtin/rebase.c:246
+#, c-format
+msgid "could not read '%s'."
+msgstr "impossible de lire '%s'."
+
 #: refs.c:262
 #, c-format
 msgid "%s does not point to a valid object!"
@@ -5080,7 +5850,7 @@ msgstr "%s ne pointe pas sur un objet valide!"
 msgid "ignoring dangling symref %s"
 msgstr "symref pendant %s ignoré"
 
-#: refs.c:669 ref-filter.c:2092
+#: refs.c:669 ref-filter.c:2098
 #, c-format
 msgid "ignoring broken ref %s"
 msgstr "réf cassé %s ignoré"
@@ -5105,14 +5875,15 @@ msgstr "la référence '%s' existe déjà"
 msgid "unexpected object ID when writing '%s'"
 msgstr "id d'objet inattendu pendant l'écriture de '%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 "impossible d'écrire dans '%s'"
 
-#: refs.c:860 wrapper.c:225 wrapper.c:395 builtin/am.c:715
-#: builtin/rebase.c:1003
+#: refs.c:860 strbuf.c:1155 wrapper.c:188 wrapper.c:358 builtin/am.c:719
+#: builtin/rebase.c:1029
 #, c-format
 msgid "could not open '%s' for writing"
 msgstr "impossible d'ouvrir '%s' en écriture"
@@ -5147,37 +5918,37 @@ msgstr "refus de mettre à jour une réf avec un nom cassé '%s'"
 msgid "update_ref failed for ref '%s': %s"
 msgstr "échec de update_ref pour la réf '%s' : %s"
 
-#: refs.c:2012
+#: refs.c:2023
 #, c-format
 msgid "multiple updates for ref '%s' not allowed"
 msgstr "mises à jour multiples pour la réf '%s' non permises"
 
-#: refs.c:2044
+#: refs.c:2055
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "mises à jour des références interdites en environnement de quarantaine"
 
-#: refs.c:2140 refs.c:2170
+#: refs.c:2151 refs.c:2181
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' existe ; impossible de créer '%s'"
 
-#: refs.c:2146 refs.c:2181
+#: refs.c:2157 refs.c:2192
 #, c-format
 msgid "cannot process '%s' and '%s' at the same time"
 msgstr "impossible de traiter '%s' et '%s' en même temps"
 
-#: refs/files-backend.c:1234
+#: refs/files-backend.c:1233
 #, c-format
 msgid "could not remove reference %s"
 msgstr "impossible de supprimer la référence %s"
 
-#: refs/files-backend.c:1248 refs/packed-backend.c:1532
-#: refs/packed-backend.c:1542
+#: refs/files-backend.c:1247 refs/packed-backend.c:1541
+#: refs/packed-backend.c:1551
 #, c-format
 msgid "could not delete reference %s: %s"
 msgstr "Impossible de supprimer la référence %s : %s"
 
-#: refs/files-backend.c:1251 refs/packed-backend.c:1545
+#: refs/files-backend.c:1250 refs/packed-backend.c:1554
 #, c-format
 msgid "could not delete references: %s"
 msgstr "impossible de supprimer les références : %s"
@@ -5188,7 +5959,7 @@ msgid "invalid refspec '%s'"
 msgstr "spécificateur de réference invalide : '%s'"
 
 # à priori on parle d'une branche ici
-#: ref-filter.c:42 wt-status.c:1934
+#: ref-filter.c:42 wt-status.c:1938
 msgid "gone"
 msgstr "disparue"
 
@@ -5207,283 +5978,283 @@ msgstr "en retard de %d"
 msgid "ahead %d, behind %d"
 msgstr "en avance de %d, en retard de %d"
 
-#: ref-filter.c:162
+#: ref-filter.c:165
 #, c-format
 msgid "expected format: %%(color:<color>)"
 msgstr "format attendu : %%(color:<couleur>)"
 
-#: ref-filter.c:164
+#: ref-filter.c:167
 #, c-format
 msgid "unrecognized color: %%(color:%s)"
 msgstr "couleur non reconnue : %%(color:%s)"
 
-#: ref-filter.c:186
+#: ref-filter.c:189
 #, c-format
 msgid "Integer value expected refname:lstrip=%s"
 msgstr "Valeur entière attendue refname:lstrip=%s"
 
-#: ref-filter.c:190
+#: ref-filter.c:193
 #, c-format
 msgid "Integer value expected refname:rstrip=%s"
 msgstr "Valeur entière attendue refname:rstrip=%s"
 
-#: ref-filter.c:192
+#: ref-filter.c:195
 #, c-format
 msgid "unrecognized %%(%s) argument: %s"
 msgstr "argument %%(%s) non reconnu : %s"
 
-#: ref-filter.c:247
+#: ref-filter.c:250
 #, c-format
 msgid "%%(objecttype) does not take arguments"
 msgstr "%%(objecttype) n'accepte pas d'argument"
 
-#: ref-filter.c:269
+#: ref-filter.c:272
 #, c-format
 msgid "unrecognized %%(objectsize) argument: %s"
 msgstr "argument %%(objectsize) non reconnu : %s"
 
-#: ref-filter.c:277
+#: ref-filter.c:280
 #, c-format
 msgid "%%(deltabase) does not take arguments"
 msgstr "%%(deltabase) n'accepte pas d'argument"
 
-#: ref-filter.c:289
+#: ref-filter.c:292
 #, c-format
 msgid "%%(body) does not take arguments"
 msgstr "%%(body) n'accepte pas d'argument"
 
-#: ref-filter.c:298
+#: ref-filter.c:301
 #, c-format
 msgid "%%(subject) does not take arguments"
 msgstr "%%(subject) n'accepte pas d'argument"
 
-#: ref-filter.c:320
+#: ref-filter.c:323
 #, c-format
 msgid "unknown %%(trailers) argument: %s"
 msgstr "argument %%(trailers) inconnu : %s"
 
-#: ref-filter.c:349
+#: ref-filter.c:352
 #, c-format
 msgid "positive value expected contents:lines=%s"
 msgstr "valeur positive attendue contents:lines=%s"
 
-#: ref-filter.c:351
+#: ref-filter.c:354
 #, c-format
 msgid "unrecognized %%(contents) argument: %s"
 msgstr "argument %%(contents) non reconnu : %s"
 
-#: ref-filter.c:366
+#: ref-filter.c:369
 #, c-format
 msgid "positive value expected objectname:short=%s"
 msgstr "valeur positive attendue objectname:short=%s"
 
-#: ref-filter.c:370
+#: ref-filter.c:373
 #, c-format
 msgid "unrecognized %%(objectname) argument: %s"
 msgstr "argument %%(objectname) non reconnu : %s"
 
-#: ref-filter.c:400
+#: ref-filter.c:403
 #, c-format
 msgid "expected format: %%(align:<width>,<position>)"
 msgstr "format attendu : %%(align:<largeur>,<position>)"
 
-#: ref-filter.c:412
+#: ref-filter.c:415
 #, c-format
 msgid "unrecognized position:%s"
 msgstr "position non reconnue : %s"
 
-#: ref-filter.c:419
+#: ref-filter.c:422
 #, c-format
 msgid "unrecognized width:%s"
 msgstr "largeur non reconnue : %s"
 
-#: ref-filter.c:428
+#: ref-filter.c:431
 #, c-format
 msgid "unrecognized %%(align) argument: %s"
 msgstr "argument %%(align) non reconnu : %s"
 
-#: ref-filter.c:436
+#: ref-filter.c:439
 #, c-format
 msgid "positive width expected with the %%(align) atom"
 msgstr "valeur positive attendue avec l'atome %%(align)"
 
-#: ref-filter.c:454
+#: ref-filter.c:457
 #, c-format
 msgid "unrecognized %%(if) argument: %s"
 msgstr "argument %%(if) non reconnu : %s"
 
-#: ref-filter.c:556
+#: ref-filter.c:559
 #, c-format
 msgid "malformed field name: %.*s"
 msgstr "nom de champ malformé %.*s"
 
-#: ref-filter.c:583
+#: ref-filter.c:586
 #, c-format
 msgid "unknown field name: %.*s"
 msgstr "nom de champ inconnu : %.*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 ""
 "pas un dépôt git, mais le champ '%.*s' nécessite l'accès aux données d'objet"
 
-#: ref-filter.c:711
+#: ref-filter.c:714
 #, c-format
 msgid "format: %%(if) atom used without a %%(then) atom"
 msgstr "format : atome %%(if) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:774
+#: ref-filter.c:777
 #, c-format
 msgid "format: %%(then) atom used without an %%(if) atom"
 msgstr "format : atome %%(then) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:776
+#: ref-filter.c:779
 #, c-format
 msgid "format: %%(then) atom used more than once"
 msgstr "format : atome %%(then) utilisé plus d'une fois"
 
-#: ref-filter.c:778
+#: ref-filter.c:781
 #, c-format
 msgid "format: %%(then) atom used after %%(else)"
 msgstr "format: atome %%(then) utilisé après %%(else)"
 
-#: ref-filter.c:806
+#: ref-filter.c:809
 #, c-format
 msgid "format: %%(else) atom used without an %%(if) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(if)"
 
-#: ref-filter.c:808
+#: ref-filter.c:811
 #, c-format
 msgid "format: %%(else) atom used without a %%(then) atom"
 msgstr "format : atome %%(else) utilisé sans un atome %%(then)"
 
-#: ref-filter.c:810
+#: ref-filter.c:813
 #, c-format
 msgid "format: %%(else) atom used more than once"
 msgstr "format : atome %%(else) utilisé plus d'une fois"
 
-#: ref-filter.c:825
+#: ref-filter.c:828
 #, c-format
 msgid "format: %%(end) atom used without corresponding atom"
 msgstr "format : atome %%(end) utilisé sans atome correspondant"
 
-#: ref-filter.c:882
+#: ref-filter.c:885
 #, c-format
 msgid "malformed format string %s"
 msgstr "Chaîne de formatage mal formée %s"
 
-#: ref-filter.c:1485
+#: ref-filter.c:1488
 #, c-format
 msgid "no branch, rebasing %s"
 msgstr "aucune branche, rebasage de %s"
 
-#: ref-filter.c:1488
+#: ref-filter.c:1491
 #, c-format
 msgid "no branch, rebasing detached HEAD %s"
 msgstr "aucune branche, rebasage de la HEAD détachée %s"
 
-#: ref-filter.c:1491
+#: ref-filter.c:1494
 #, c-format
 msgid "no branch, bisect started on %s"
 msgstr "aucune branche, bisect a démarré sur %s"
 
-#: ref-filter.c:1501
+#: ref-filter.c:1504
 msgid "no branch"
 msgstr "aucune branche"
 
-#: 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 "objet manquant %s pour %s"
 
-#: ref-filter.c:1547
+#: ref-filter.c:1550
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
 msgstr "échec de parse_object_buffer sur %s pour %s"
 
-#: ref-filter.c:1998
+#: ref-filter.c:2004
 #, c-format
 msgid "malformed object at '%s'"
 msgstr "objet malformé à '%s'"
 
-#: ref-filter.c:2087
+#: ref-filter.c:2093
 #, c-format
 msgid "ignoring ref with broken name %s"
 msgstr "réf avec un nom cassé %s ignoré"
 
-#: ref-filter.c:2382
+#: ref-filter.c:2389
 #, c-format
 msgid "format: %%(end) atom missing"
 msgstr "format: atome %%(end) manquant"
 
-#: ref-filter.c:2482
+#: ref-filter.c:2489
 #, c-format
 msgid "option `%s' is incompatible with --merged"
 msgstr "l'option « %s » est incompatible avec --merged"
 
-#: ref-filter.c:2485
+#: ref-filter.c:2492
 #, c-format
 msgid "option `%s' is incompatible with --no-merged"
 msgstr "l'option « %s » est incompatible avec --no-merged"
 
-#: ref-filter.c:2495
+#: ref-filter.c:2502
 #, c-format
 msgid "malformed object name %s"
 msgstr "nom d'objet malformé %s"
 
-#: ref-filter.c:2500
+#: ref-filter.c:2507
 #, c-format
 msgid "option `%s' must point to a commit"
 msgstr "l'option '%s' doit pointer sur un commit"
 
-#: remote.c:363
+#: remote.c:366
 #, c-format
 msgid "config remote shorthand cannot begin with '/': %s"
 msgstr ""
 "un raccourci de configuration de distant ne peut pas commencer par '/' : %s"
 
-#: remote.c:410
+#: remote.c:414
 msgid "more than one receivepack given, using the first"
 msgstr "plus d'un receivepack fournis, utilisation du premier"
 
-#: remote.c:418
+#: remote.c:422
 msgid "more than one uploadpack given, using the first"
 msgstr "plus d'un uploadpack fournis, utilisation du premier"
 
-#: remote.c:608
+#: remote.c:612
 #, c-format
 msgid "Cannot fetch both %s and %s to %s"
 msgstr "Impossible de récupérer à la fois %s et %s pour %s"
 
-#: remote.c:612
+#: remote.c:616
 #, c-format
 msgid "%s usually tracks %s, not %s"
 msgstr "%s suit habituellement %s, pas %s"
 
-#: remote.c:616
+#: remote.c:620
 #, c-format
 msgid "%s tracks both %s and %s"
 msgstr "%s suit à la fois %s et %s"
 
-#: remote.c:684
+#: remote.c:688
 #, c-format
 msgid "key '%s' of pattern had no '*'"
 msgstr "la clé '%s' du modèle n'a pas de '*'"
 
-#: remote.c:694
+#: remote.c:698
 #, c-format
 msgid "value '%s' of pattern has no '*'"
 msgstr "la valeur '%s' du modèle n'a pas de '*'"
 
-#: remote.c:1000
+#: remote.c:1004
 #, c-format
 msgid "src refspec %s does not match any"
 msgstr ""
 "le spécificateur de référence source %s ne correspond à aucune référence"
 
-#: remote.c:1005
+#: remote.c:1009
 #, c-format
 msgid "src refspec %s matches more than one"
 msgstr ""
@@ -5493,7 +6264,7 @@ msgstr ""
 #. <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"
@@ -5517,7 +6288,7 @@ msgstr ""
 "Aucune n'a fonctionné, donc abandon. Veuillez spécifier une référence "
 "totalement qualifiée."
 
-#: remote.c:1040
+#: remote.c:1044
 #, c-format
 msgid ""
 "The <src> part of the refspec is a commit object.\n"
@@ -5528,7 +6299,7 @@ msgstr ""
 "Souhaitiez-vous créer une nouvelle branche en poussant sur\n"
 "'%s:refs/heads/%s' ?"
 
-#: remote.c:1045
+#: remote.c:1049
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tag object.\n"
@@ -5539,7 +6310,7 @@ msgstr ""
 "Souhaitiez-vous créer une nouvelle étiquette en poussant sur\n"
 "'%s:refs/tags/%s' ?"
 
-#: remote.c:1050
+#: remote.c:1054
 #, c-format
 msgid ""
 "The <src> part of the refspec is a tree object.\n"
@@ -5550,7 +6321,7 @@ msgstr ""
 "Souhaitiez-vous créer un nouvel arbre en poussant sur\n"
 "'%s:refs/tags/%s' ?"
 
-#: remote.c:1055
+#: remote.c:1059
 #, c-format
 msgid ""
 "The <src> part of the refspec is a blob object.\n"
@@ -5561,119 +6332,119 @@ msgstr ""
 "Souhaitiez-vous créer un nouveau blob en poussant sur\n"
 "'%s:refs/tags/%s' ?"
 
-#: remote.c:1091
+#: remote.c:1095
 #, c-format
 msgid "%s cannot be resolved to branch"
 msgstr "'%s' ne peut pas être résolue comme une branche"
 
-#: remote.c:1102
+#: remote.c:1106
 #, c-format
 msgid "unable to delete '%s': remote ref does not exist"
 msgstr "suppression d '%s' impossible : la référence distante n'existe pas"
 
-#: remote.c:1114
+#: remote.c:1118
 #, c-format
 msgid "dst refspec %s matches more than one"
 msgstr ""
 "le spécificateur de référence dst %s correspond à plus d'un spécificateur de "
 "références"
 
-#: remote.c:1121
+#: remote.c:1125
 #, c-format
 msgid "dst ref %s receives from more than one src"
 msgstr "le spécificateur de référence dst %s reçoit depuis plus d'une source"
 
-#: remote.c:1624 remote.c:1725
+#: remote.c:1628 remote.c:1729
 msgid "HEAD does not point to a branch"
 msgstr "HEAD ne pointe pas sur une branche"
 
-#: remote.c:1633
+#: remote.c:1637
 #, c-format
 msgid "no such branch: '%s'"
 msgstr "pas de branche '%s'"
 
-#: remote.c:1636
+#: remote.c:1640
 #, c-format
 msgid "no upstream configured for branch '%s'"
 msgstr "aucune branche amont configurée pour la branche '%s'"
 
-#: remote.c:1642
+#: remote.c:1646
 #, c-format
 msgid "upstream branch '%s' not stored as a remote-tracking branch"
 msgstr "la branche amont '%s' n'est pas stockée comme branche de suivi"
 
-#: remote.c:1657
+#: remote.c:1661
 #, c-format
 msgid "push destination '%s' on remote '%s' has no local tracking branch"
 msgstr ""
 "la destination de poussée '%s' sur le serveur distant '%s' n'a pas de "
 "branche locale de suivi"
 
-#: remote.c:1669
+#: remote.c:1673
 #, c-format
 msgid "branch '%s' has no remote for pushing"
 msgstr "la branche '%s' n'a aucune branche distante de poussée"
 
-#: remote.c:1679
+#: remote.c:1683
 #, c-format
 msgid "push refspecs for '%s' do not include '%s'"
 msgstr "les références de spec pour '%s' n'incluent pas '%s'"
 
-#: remote.c:1692
+#: remote.c:1696
 msgid "push has no destination (push.default is 'nothing')"
 msgstr "la poussée n'a pas de destination (push.default vaut 'nothing')"
 
-#: remote.c:1714
+#: remote.c:1718
 msgid "cannot resolve 'simple' push to a single destination"
 msgstr ""
 "impossible de résoudre une poussée 'simple' pour une destination unique"
 
-#: remote.c:1840
+#: remote.c:1844
 #, c-format
 msgid "couldn't find remote ref %s"
 msgstr "impossible de trouver la référence distante %s"
 
-#: remote.c:1853
+#: remote.c:1857
 #, c-format
 msgid "* Ignoring funny ref '%s' locally"
 msgstr "* Référence bizarre '%s' ignorée localement"
 
-#: remote.c:2016
+#: remote.c:2020
 #, c-format
 msgid "Your branch is based on '%s', but the upstream is gone.\n"
 msgstr "Votre branche est basée sur '%s', mais la branche amont a disparu.\n"
 
-#: remote.c:2020
+#: remote.c:2024
 msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
 msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
 
-#: remote.c:2023
+#: remote.c:2027
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Votre branche est à jour avec '%s'.\n"
 
-#: remote.c:2027
+#: remote.c:2031
 #, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
 msgstr "Votre branche et '%s' font référence à des commits différents.\n"
 
-#: remote.c:2030
+#: remote.c:2034
 #, c-format
 msgid "  (use \"%s\" for details)\n"
 msgstr "  (utilisez \"%s\" pour plus de détails)\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] "Votre branche est en avance sur '%s' de %d commit.\n"
 msgstr[1] "Votre branche est en avance sur '%s' de %d commits.\n"
 
-#: remote.c:2040
+#: remote.c:2044
 msgid "  (use \"git push\" to publish your local commits)\n"
 msgstr "  (utilisez \"git push\" pour publier vos commits locaux)\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 ""
@@ -5685,11 +6456,11 @@ msgstr[1] ""
 "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour "
 "en avance rapide.\n"
 
-#: remote.c:2051
+#: remote.c:2055
 msgid "  (use \"git pull\" to update your local branch)\n"
 msgstr "  (utilisez \"git pull\" pour mettre à jour votre branche locale)\n"
 
-#: remote.c:2054
+#: remote.c:2058
 #, c-format
 msgid ""
 "Your branch and '%s' have diverged,\n"
@@ -5704,12 +6475,12 @@ msgstr[1] ""
 "Votre branche et '%s' ont divergé,\n"
 "et ont %d et %d commits différents chacune respectivement.\n"
 
-#: remote.c:2064
+#: remote.c:2068
 msgid "  (use \"git pull\" to merge the remote branch into yours)\n"
 msgstr ""
 "  (utilisez \"git pull\" pour fusionner la branche distante dans la vôtre)\n"
 
-#: remote.c:2247
+#: remote.c:2251
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "impossible d'analyser le nom attendu d'objet '%s'"
@@ -5724,7 +6495,7 @@ msgstr "mauvaise références de remplacement : %s"
 msgid "duplicate replace ref: %s"
 msgstr "référence de remplacement dupliquée : %s"
 
-#: replace-object.c:73
+#: replace-object.c:82
 #, c-format
 msgid "replace depth too high for object %s"
 msgstr "profondeur de remplacement trop grande pour l'objet %s"
@@ -5787,8 +6558,8 @@ msgstr "impossible de délier '%s' qui est errant"
 msgid "Recorded preimage for '%s'"
 msgstr "Pré-image enregistrée pour '%s'"
 
-#: 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 "impossible de créer le répertoire '%s'"
@@ -5822,20 +6593,20 @@ msgstr "Résolution  pour '%s' oubliée\n"
 msgid "unable to open rr-cache directory"
 msgstr "impossible d'ouvrir le répertoire rr-cache"
 
-#: revision.c:2507
+#: revision.c:2497
 msgid "your current branch appears to be broken"
 msgstr "votre branche actuelle semble cassée"
 
-#: revision.c:2510
+#: revision.c:2500
 #, c-format
 msgid "your current branch '%s' does not have any commits yet"
 msgstr "votre branche actuelle '%s' ne contient encore aucun commit"
 
-#: revision.c:2710
+#: revision.c:2708
 msgid "--first-parent is incompatible with --bisect"
 msgstr "--first-parent est incompatible avec --bisect"
 
-#: revision.c:2714
+#: revision.c:2712
 msgid "-L does not yet support diff formats besides -p and -s"
 msgstr "-L ne supporte pas encore les formats de diff autres que -p et -s"
 
@@ -5858,31 +6629,31 @@ msgstr ""
 "Vous pouvez désactiver cet avertissement avec `git config advice.ignoredHook "
 "false`."
 
-#: send-pack.c:141
+#: send-pack.c:144
 msgid "unexpected flush packet while reading remote unpack status"
 msgstr ""
 "paquet de nettoyage inattendu pendant la lecture de l'état de dépaquetage "
 "distant"
 
-#: send-pack.c:143
+#: send-pack.c:146
 #, c-format
 msgid "unable to parse remote unpack status: %s"
 msgstr "impossible d'analyser l'état de dépaquetage distant : %s"
 
-#: send-pack.c:145
+#: send-pack.c:148
 #, c-format
 msgid "remote unpack failed: %s"
 msgstr "le dépaquetage a échoué : %s"
 
-#: send-pack.c:306
+#: send-pack.c:309
 msgid "failed to sign the push certificate"
 msgstr "impossible de signer le certificat de poussée"
 
-#: send-pack.c:420
+#: send-pack.c:423
 msgid "the receiving end does not support --signed push"
 msgstr "Le receveur ne gère pas les poussées avec --signed"
 
-#: send-pack.c:422
+#: send-pack.c:425
 msgid ""
 "not sending a push certificate since the receiving end does not support --"
 "signed push"
@@ -5890,47 +6661,47 @@ msgstr ""
 "pas d'envoi de certificat de poussée car le receveur ne gère pas les "
 "poussées avec --signed"
 
-#: send-pack.c:434
+#: send-pack.c:437
 msgid "the receiving end does not support --atomic push"
 msgstr "Le receveur ne gère pas les poussées avec --atomic"
 
-#: send-pack.c:439
+#: send-pack.c:442
 msgid "the receiving end does not support push options"
 msgstr "Le receveur ne gère pas les options de poussées"
 
-#: sequencer.c:187
+#: sequencer.c:191
 #, c-format
 msgid "invalid commit message cleanup mode '%s'"
 msgstr "mode de nettoyage invalide de message de validation '%s'"
 
-#: sequencer.c:292
+#: sequencer.c:296
 #, c-format
 msgid "could not delete '%s'"
 msgstr "Impossible de supprimer '%s'"
 
-#: sequencer.c:311 builtin/rebase.c:759 builtin/rebase.c:1645 builtin/rm.c:369
+#: sequencer.c:315 builtin/rebase.c:785 builtin/rebase.c:1750 builtin/rm.c:385
 #, c-format
 msgid "could not remove '%s'"
 msgstr "impossible de supprimer '%s'"
 
-#: 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 "rebase -i"
+#: sequencer.c:329
+msgid "rebase"
+msgstr "rebase"
 
-#: sequencer.c:327
+#: sequencer.c:331
 #, c-format
 msgid "unknown action: %d"
 msgstr "action inconnue : %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>'"
@@ -5938,7 +6709,7 @@ msgstr ""
 "après résolution des conflits, marquez les chemins corrigés\n"
 "avec 'git add <chemins>' ou 'git rm <chemins>'"
 
-#: 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"
@@ -5948,115 +6719,110 @@ msgstr ""
 "avec 'git add <chemins>' ou 'git rm <chemins>'\n"
 "puis validez le résultat avec 'git commit'"
 
-#: sequencer.c:401 sequencer.c:2909
+#: sequencer.c:405 sequencer.c:2901
 #, c-format
 msgid "could not lock '%s'"
 msgstr "impossible de verrouiller '%s'"
 
-#: sequencer.c:408
+#: sequencer.c:412
 #, c-format
 msgid "could not write eol to '%s'"
 msgstr "impossible d'écrire la fin de ligne dans '%s'"
 
-#: sequencer.c:413 sequencer.c:2714 sequencer.c:2915 sequencer.c:2929
-#: sequencer.c:3192
+#: sequencer.c:417 sequencer.c:2706 sequencer.c:2907 sequencer.c:2921
+#: sequencer.c:3185
 #, c-format
 msgid "failed to finalize '%s'"
 msgstr "échec lors de la finalisation de '%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 "impossible de lire '%s'"
 
-#: sequencer.c:462
+#: sequencer.c:466
 #, c-format
 msgid "your local changes would be overwritten by %s."
 msgstr "vos modifications locales seraient écrasées par %s."
 
-#: sequencer.c:466
+#: sequencer.c:470
 msgid "commit your changes or stash them to proceed."
 msgstr "validez vos modifications ou les remiser pour continuer."
 
-#: sequencer.c:498
+#: sequencer.c:502
 #, c-format
 msgid "%s: fast-forward"
 msgstr "%s : avance rapide"
 
-#: sequencer.c:537 builtin/tag.c:565
+#: sequencer.c:541 builtin/tag.c:565
 #, c-format
 msgid "Invalid cleanup mode %s"
 msgstr "Mode de nettoyage invalide %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: Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:649
+#: sequencer.c:652
 msgid "unable to update cache tree"
 msgstr "impossible de mettre à jour l'arbre de cache"
 
-#: sequencer.c:663
+#: sequencer.c:666
 msgid "could not resolve HEAD commit"
 msgstr "impossible de résoudre le commit HEAD"
 
-#: sequencer.c:743
+#: sequencer.c:746
 #, c-format
 msgid "no key present in '%.*s'"
 msgstr "aucune clé présente dans '%.*s'"
 
-#: sequencer.c:754
+#: sequencer.c:757
 #, c-format
 msgid "unable to dequote value of '%s'"
 msgstr "Impossible de décoter la valeur de '%s'"
 
-#: sequencer.c:791 wrapper.c:227 wrapper.c:397 builtin/am.c:706
-#: builtin/am.c:798 builtin/merge.c:1109 builtin/rebase.c:1045
+#: sequencer.c:794 wrapper.c:190 wrapper.c:360 builtin/am.c:710
+#: builtin/am.c:802 builtin/merge.c:1117 builtin/rebase.c:1072
 #, c-format
 msgid "could not open '%s' for reading"
 msgstr "impossible d'ouvrir '%s' en lecture"
 
-#: sequencer.c:801
+#: sequencer.c:804
 msgid "'GIT_AUTHOR_NAME' already given"
 msgstr "'GIT_AUTHOR_NAME' déjà fourni"
 
-#: sequencer.c:806
+#: sequencer.c:809
 msgid "'GIT_AUTHOR_EMAIL' already given"
 msgstr "'GIT_AUTHOR_EMAIL' déjà fourni"
 
-#: sequencer.c:811
+#: sequencer.c:814
 msgid "'GIT_AUTHOR_DATE' already given"
 msgstr "'GIT_AUTHOR_DATE' déjà fourni"
 
-#: sequencer.c:815
+#: sequencer.c:818
 #, c-format
 msgid "unknown variable '%s'"
 msgstr "variable inconnue '%s'"
 
-#: sequencer.c:820
+#: sequencer.c:823
 msgid "missing 'GIT_AUTHOR_NAME'"
 msgstr "'GIT_AUTHOR_NAME' manquant"
 
-#: sequencer.c:822
+#: sequencer.c:825
 msgid "missing 'GIT_AUTHOR_EMAIL'"
 msgstr "'GIT_AUTHOR_EMAIL' manquant"
 
-#: sequencer.c:824
+#: sequencer.c:827
 msgid "missing 'GIT_AUTHOR_DATE'"
 msgstr "'GIT_AUTHOR_DATE' manquant"
 
-#: sequencer.c:884
-#, c-format
-msgid "invalid date format '%s' in '%s'"
-msgstr "format de date invalide '%s' dans '%s'"
-
-#: sequencer.c:901
+#: sequencer.c:876
 #, c-format
 msgid ""
 "you have staged changes in your working tree\n"
@@ -6085,15 +6851,11 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:995
-msgid "writing root commit"
-msgstr "écriture du commit racine"
-
-#: sequencer.c:1216
+#: sequencer.c:1148
 msgid "'prepare-commit-msg' hook failed"
 msgstr "échec du crochet 'prepare-commit-msg'"
 
-#: sequencer.c:1223
+#: sequencer.c:1154
 msgid ""
 "Your name and email address were configured automatically based\n"
 "on your username and hostname. Please check that they are accurate.\n"
@@ -6122,7 +6884,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"
@@ -6148,326 +6910,325 @@ msgstr ""
 "\n"
 "    git commit --amend --reset-author\n"
 
-#: sequencer.c:1278
+#: sequencer.c:1209
 msgid "couldn't look up newly created commit"
 msgstr "impossible de retrouver le commit nouvellement créé"
 
-#: sequencer.c:1280
+#: sequencer.c:1211
 msgid "could not parse newly created commit"
 msgstr "impossible d'analyser le commit nouvellement créé"
 
-#: sequencer.c:1326
+#: sequencer.c:1257
 msgid "unable to resolve HEAD after creating commit"
 msgstr "impossible de résoudre HEAD après création du commit"
 
-#: sequencer.c:1328
+#: sequencer.c:1259
 msgid "detached HEAD"
 msgstr "HEAD détachée"
 
-#: sequencer.c:1332
+#: sequencer.c:1263
 msgid " (root-commit)"
 msgstr " (commit racine)"
 
-#: sequencer.c:1353
+#: sequencer.c:1284
 msgid "could not parse HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:1355
+#: sequencer.c:1286
 #, c-format
 msgid "HEAD %s is not a commit!"
 msgstr "HEAD %s n'est pas un 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 "impossible d'analyser le commit HEAD"
 
-#: sequencer.c:1411 sequencer.c:2004
+#: sequencer.c:1342 sequencer.c:1968
 msgid "unable to parse commit author"
 msgstr "impossible d'analyser l'auteur du commit"
 
-#: 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 a échoué à écrire un arbre"
 
-#: sequencer.c:1438 sequencer.c:1499
+#: sequencer.c:1386 sequencer.c:1447
 #, c-format
 msgid "unable to read commit message from '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:1465 builtin/am.c:1595 builtin/commit.c:1670 builtin/merge.c:878
-#: builtin/merge.c:903
+#: sequencer.c:1413 builtin/am.c:1588 builtin/commit.c:1673 builtin/merge.c:886
+#: builtin/merge.c:911
 msgid "failed to write commit object"
 msgstr "échec de l'écriture de l'objet commit"
 
-#: sequencer.c:1526
+#: sequencer.c:1474
 #, c-format
 msgid "could not parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
-#: sequencer.c:1531
+#: sequencer.c:1479
 #, c-format
 msgid "could not parse parent commit %s"
 msgstr "impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1605 sequencer.c:1715
+#: sequencer.c:1562 sequencer.c:1673
 #, c-format
 msgid "unknown command: %d"
 msgstr "commande inconnue : %d"
 
-#: sequencer.c:1662 sequencer.c:1687
+#: sequencer.c:1620 sequencer.c:1645
 #, c-format
 msgid "This is a combination of %d commits."
 msgstr "Ceci est la combinaison de %d commits."
 
-#: sequencer.c:1672
+#: sequencer.c:1630
 msgid "need a HEAD to fixup"
 msgstr "une HEAD est nécessaire à la correction"
 
-#: sequencer.c:1674 sequencer.c:3219
+#: sequencer.c:1632 sequencer.c:3212
 msgid "could not read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: sequencer.c:1676
+#: sequencer.c:1634
 msgid "could not read HEAD's commit message"
 msgstr "impossible de lire le message de validation de HEAD"
 
-#: sequencer.c:1682
+#: sequencer.c:1640
 #, c-format
 msgid "cannot write '%s'"
 msgstr "impossible d'écrire '%s'"
 
-#: sequencer.c:1689 git-rebase--preserve-merges.sh:496
+#: sequencer.c:1647 git-rebase--preserve-merges.sh:496
 msgid "This is the 1st commit message:"
 msgstr "Ceci est le premier message de validation :"
 
-#: sequencer.c:1697
+#: sequencer.c:1655
 #, c-format
 msgid "could not read commit message of %s"
 msgstr "impossible de lire le message de validation de %s"
 
-#: sequencer.c:1704
+#: sequencer.c:1662
 #, c-format
 msgid "This is the commit message #%d:"
 msgstr "Ceci est le message de validation numéro %d :"
 
-#: sequencer.c:1710
+#: sequencer.c:1668
 #, c-format
 msgid "The commit message #%d will be skipped:"
 msgstr "Le message de validation %d sera ignoré :"
 
-#: sequencer.c:1798
+#: sequencer.c:1756
 msgid "your index file is unmerged."
 msgstr "votre fichier d'index n'est pas fusionné."
 
-#: sequencer.c:1805
+#: sequencer.c:1763
 msgid "cannot fixup root commit"
 msgstr "impossible de réparer le commit racine"
 
-#: sequencer.c:1824
+#: sequencer.c:1782
 #, c-format
 msgid "commit %s is a merge but no -m option was given."
 msgstr "le commit %s est une fusion mais l'option -m n'a pas été spécifiée."
 
-#: sequencer.c:1832 sequencer.c:1840
+#: sequencer.c:1790 sequencer.c:1798
 #, c-format
 msgid "commit %s does not have parent %d"
 msgstr "le commit %s n'a pas de parent %d"
 
-#: sequencer.c:1846
+#: sequencer.c:1804
 #, c-format
 msgid "cannot get commit message for %s"
 msgstr "impossible d'obtenir un message de validation pour %s"
 
 #. TRANSLATORS: The first %s will be a "todo" command like
 #. "revert" or "pick", the second %s a SHA1.
-#: sequencer.c:1865
+#: sequencer.c:1823
 #, c-format
 msgid "%s: cannot parse parent commit %s"
 msgstr "%s : impossible d'analyser le commit parent %s"
 
-#: sequencer.c:1930
+#: sequencer.c:1888
 #, c-format
 msgid "could not rename '%s' to '%s'"
 msgstr "impossible de renommer '%s' en '%s'"
 
-#: sequencer.c:1985
+#: sequencer.c:1943
 #, c-format
 msgid "could not revert %s... %s"
 msgstr "impossible d'annuler %s... %s"
 
-#: sequencer.c:1986
+#: sequencer.c:1944
 #, c-format
 msgid "could not apply %s... %s"
 msgstr "impossible d'appliquer %s... %s"
 
-#: sequencer.c:2045
+#: sequencer.c:1961
+#, c-format
+msgid "dropping %s %s -- patch contents already upstream\n"
+msgstr "abandon de %s %s -- le contenu de la rustine déjà en amont\n"
+
+#: sequencer.c:2018
 #, c-format
 msgid "git %s: failed to read the index"
 msgstr "git %s : échec à la lecture de l'index"
 
-#: sequencer.c:2052
+#: sequencer.c:2025
 #, c-format
 msgid "git %s: failed to refresh the index"
 msgstr "git %s : échec du rafraîchissement de l'index"
 
-#: sequencer.c:2128
+#: sequencer.c:2102
 #, c-format
 msgid "%s does not accept arguments: '%s'"
 msgstr "%s n'accepte pas d'argument : '%s'"
 
-#: sequencer.c:2137
+#: sequencer.c:2111
 #, c-format
 msgid "missing arguments for %s"
 msgstr "argument manquant pour %s"
 
-#: sequencer.c:2174
+#: sequencer.c:2142
 #, c-format
-msgid "could not parse '%.*s'"
-msgstr "impossible d'analyser '%.*s'"
+msgid "could not parse '%s'"
+msgstr "impossible d'analyser '%s'"
 
-#: sequencer.c:2228
+#: sequencer.c:2203
 #, c-format
 msgid "invalid line %d: %.*s"
 msgstr "ligne %d invalide : %.*s"
 
-#: sequencer.c:2239
+#: sequencer.c:2214
 #, c-format
 msgid "cannot '%s' without a previous commit"
 msgstr "'%s' impossible avec le commit précédent"
 
-#: 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 "impossible de lire '%s'."
-
-#: sequencer.c:2323
+#: sequencer.c:2298
 msgid "cancelling a cherry picking in progress"
 msgstr "annulation d'un picorage en cours"
 
-#: sequencer.c:2330
+#: sequencer.c:2305
 msgid "cancelling a revert in progress"
 msgstr "annulation d'un retour en cours"
 
-#: sequencer.c:2364
+#: sequencer.c:2349
 msgid "please fix this using 'git rebase --edit-todo'."
 msgstr "veuillez corriger ceci en utilisant 'git rebase --edit-todo'."
 
-#: sequencer.c:2366
+#: sequencer.c:2351
 #, c-format
 msgid "unusable instruction sheet: '%s'"
 msgstr "feuille d'instruction inutilisable : '%s'"
 
-#: sequencer.c:2371
+#: sequencer.c:2356
 msgid "no commits parsed."
 msgstr "aucun commit analysé."
 
-#: sequencer.c:2382
+#: sequencer.c:2367
 msgid "cannot cherry-pick during a revert."
 msgstr "impossible de picorer pendant l'annulation d'un commit."
 
-#: sequencer.c:2384
+#: sequencer.c:2369
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
-#: sequencer.c:2466
+#: sequencer.c:2447
 #, c-format
 msgid "invalid value for %s: %s"
 msgstr "valeur invalide pour %s : %s"
 
-#: sequencer.c:2553
+#: sequencer.c:2540
 msgid "unusable squash-onto"
 msgstr "\"écrase-sur\" inutilisable"
 
-#: sequencer.c:2569
+#: sequencer.c:2556
 #, c-format
 msgid "malformed options sheet: '%s'"
 msgstr "feuille d'options malformée : %s"
 
-#: sequencer.c:2652 sequencer.c:4351
+#: sequencer.c:2644 sequencer.c:4361
 msgid "empty commit set passed"
 msgstr "l'ensemble de commits spécifié est vide"
 
-#: sequencer.c:2668
+#: sequencer.c:2660
 msgid "revert is already in progress"
 msgstr "un retour est déjà en cours"
 
-#: sequencer.c:2670
+#: sequencer.c:2662
 #, c-format
 msgid "try \"git revert (--continue | %s--abort | --quit)\""
 msgstr "essayez \"git revert (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2673
+#: sequencer.c:2665
 msgid "cherry-pick is already in progress"
 msgstr "un picorage est déjà en cours"
 
-#: sequencer.c:2675
+#: sequencer.c:2667
 #, c-format
 msgid "try \"git cherry-pick (--continue | %s--abort | --quit)\""
 msgstr "essayez \"git cherry-pick (--continue | %s--abort | --quit)\""
 
-#: sequencer.c:2689
+#: sequencer.c:2681
 #, c-format
 msgid "could not create sequencer directory '%s'"
 msgstr "impossible de créer le répertoire de séquenceur '%s'"
 
-#: sequencer.c:2704
+#: sequencer.c:2696
 msgid "could not lock HEAD"
 msgstr "impossible de verrouiller HEAD"
 
-#: sequencer.c:2764 sequencer.c:4103
+#: sequencer.c:2756 sequencer.c:4099
 msgid "no cherry-pick or revert in progress"
 msgstr "aucun picorage ou retour en cours"
 
-#: sequencer.c:2766 sequencer.c:2777
+#: sequencer.c:2758 sequencer.c:2769
 msgid "cannot resolve HEAD"
 msgstr "impossible de résoudre HEAD"
 
-#: sequencer.c:2768 sequencer.c:2812
+#: sequencer.c:2760 sequencer.c:2804
 msgid "cannot abort from a branch yet to be born"
 msgstr "impossible d'abandonner depuis une branche non encore créée"
 
-#: sequencer.c:2798 builtin/grep.c:734
+#: sequencer.c:2790 builtin/grep.c:724
 #, c-format
 msgid "cannot open '%s'"
 msgstr "impossible d'ouvrir '%s'"
 
-#: sequencer.c:2800
+#: sequencer.c:2792
 #, c-format
 msgid "cannot read '%s': %s"
 msgstr "impossible de lire '%s' : %s"
 
-#: sequencer.c:2801
+#: sequencer.c:2793
 msgid "unexpected end of file"
 msgstr "fin de fichier inattendue"
 
-#: sequencer.c:2807
+#: sequencer.c:2799
 #, c-format
 msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
 msgstr "le fichier HEAD de préparation de picorage '%s' est corrompu"
 
-#: sequencer.c:2818
+#: sequencer.c:2810
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
 "Vous semblez avoir déplacé la HEAD. Pas de rembobinage, vérifiez votre HEAD !"
 
-#: sequencer.c:2859
+#: sequencer.c:2851
 msgid "no revert in progress"
 msgstr "Pas de retour en cours ?"
 
-#: sequencer.c:2867
+#: sequencer.c:2859
 msgid "no cherry-pick in progress"
 msgstr "aucun picorage en cours"
 
-#: sequencer.c:2877
+#: sequencer.c:2869
 msgid "failed to skip the commit"
 msgstr "échec du saut de commit"
 
-#: sequencer.c:2884
+#: sequencer.c:2876
 msgid "there is nothing to skip"
 msgstr "il n'y a rien à sauter"
 
-#: sequencer.c:2887
+#: sequencer.c:2879
 #, c-format
 msgid ""
 "have you committed already?\n"
@@ -6476,21 +7237,21 @@ msgstr ""
 "Avez-vous déjà validé ?\n"
 "essayez \"git %s -continue\""
 
-#: sequencer.c:3011 sequencer.c:4015
+#: sequencer.c:3003 sequencer.c:4011
 #, c-format
 msgid "could not update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: sequencer.c:3049 sequencer.c:3995
+#: sequencer.c:3042 sequencer.c:3991
 msgid "cannot read HEAD"
 msgstr "impossible de lire HEAD"
 
-#: sequencer.c:3066
+#: sequencer.c:3059
 #, c-format
 msgid "unable to copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:3074
+#: sequencer.c:3067
 #, c-format
 msgid ""
 "You can amend the commit now, with\n"
@@ -6509,27 +7270,22 @@ msgstr ""
 "\n"
 "  git rebase --continue\n"
 
-#: sequencer.c:3084
+#: sequencer.c:3077
 #, c-format
 msgid "Could not apply %s... %.*s"
 msgstr "impossible d'appliquer %s... %.*s"
 
-#: sequencer.c:3091
+#: sequencer.c:3084
 #, c-format
 msgid "Could not merge %.*s"
 msgstr "Impossible de fusionner %.*s"
 
-#: sequencer.c:3105 sequencer.c:3109 builtin/difftool.c:633
+#: sequencer.c:3098 sequencer.c:3102 builtin/difftool.c:641
 #, c-format
 msgid "could not copy '%s' to '%s'"
 msgstr "impossible de copier '%s' vers '%s'"
 
-#: sequencer.c:3131 sequencer.c:3558 builtin/rebase.c:849 builtin/rebase.c:1582
-#: builtin/rebase.c:1953 builtin/rebase.c:2008
-msgid "could not read index"
-msgstr "impossible de lire l'index"
-
-#: sequencer.c:3136
+#: sequencer.c:3129
 #, c-format
 msgid ""
 "execution failed: %s\n"
@@ -6544,11 +7300,11 @@ msgstr ""
 "git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3142
+#: sequencer.c:3135
 msgid "and made changes to the index and/or the working tree\n"
 msgstr "et a mis à jour l'index ou l'arbre de travail\n"
 
-#: sequencer.c:3148
+#: sequencer.c:3141
 #, c-format
 msgid ""
 "execution succeeded: %s\n"
@@ -6565,77 +7321,73 @@ msgstr ""
 "  git rebase --continue\n"
 "\n"
 
-#: sequencer.c:3209
+#: sequencer.c:3202
 #, c-format
 msgid "illegal label name: '%.*s'"
 msgstr "nom de label illégal '%.*s'"
 
-#: sequencer.c:3263
+#: sequencer.c:3256
 msgid "writing fake root commit"
 msgstr "écriture d'un commit racine bidon"
 
-#: sequencer.c:3268
+#: sequencer.c:3261
 msgid "writing squash-onto"
 msgstr "écriture de 'écraser-sur'"
 
-#: 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 "impossible de trouver l'arbre de %s"
 
-#: sequencer.c:3324 builtin/rebase.c:873
-msgid "could not write index"
-msgstr "impossible d'écrire l'index"
-
-#: sequencer.c:3351
+#: sequencer.c:3344
 #, c-format
 msgid "could not resolve '%s'"
 msgstr "impossible de résoudre '%s'"
 
-#: sequencer.c:3379
+#: sequencer.c:3375
 msgid "cannot merge without a current revision"
 msgstr "impossible de fusionner avec une révision courante"
 
-#: sequencer.c:3401
+#: sequencer.c:3397
 #, c-format
 msgid "unable to parse '%.*s'"
 msgstr "impossible d'analyser '%.*s'"
 
-#: sequencer.c:3410
+#: sequencer.c:3406
 #, c-format
 msgid "nothing to merge: '%.*s'"
 msgstr "rien à fusionner : '%.*s'"
 
-#: sequencer.c:3422
+#: sequencer.c:3418
 msgid "octopus merge cannot be executed on top of a [new root]"
 msgstr ""
 "une fusion octopus ne peut pas être exécutée par dessus une nouvelle racine"
 
-#: sequencer.c:3437
+#: sequencer.c:3434
 #, c-format
 msgid "could not get commit message of '%s'"
 msgstr "impossible de lire le message de validation de '%s'"
 
-#: sequencer.c:3590
+#: sequencer.c:3594
 #, c-format
 msgid "could not even attempt to merge '%.*s'"
 msgstr "impossible de seulement essayer de fusionner '%.*s'"
 
-#: sequencer.c:3606
+#: sequencer.c:3610
 msgid "merge: Unable to write new index file"
 msgstr "fusion : Impossible d'écrire le nouveau fichier index"
 
-#: sequencer.c:3675 builtin/rebase.c:711
+#: sequencer.c:3679 builtin/rebase.c:737
 #, c-format
 msgid "Applied autostash.\n"
 msgstr "Autoremisage appliqué.\n"
 
-#: sequencer.c:3687
+#: sequencer.c:3691
 #, c-format
 msgid "cannot store %s"
 msgstr "impossible de stocker %s"
 
-#: sequencer.c:3690 builtin/rebase.c:727 git-rebase--preserve-merges.sh:113
+#: sequencer.c:3694 builtin/rebase.c:753 git-rebase--preserve-merges.sh:113
 #, c-format
 msgid ""
 "Applying autostash resulted in conflicts.\n"
@@ -6646,31 +7398,26 @@ msgstr ""
 "Vos  modifications sont à l'abri dans la remise.\n"
 "Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n"
 
-#: sequencer.c:3751
-#, c-format
-msgid "could not checkout %s"
-msgstr "extraction de %s impossible"
-
-#: sequencer.c:3765
+#: sequencer.c:3755
 #, c-format
 msgid "%s: not a valid OID"
 msgstr "%s n'est pas un OID valide"
 
-#: sequencer.c:3770 git-rebase--preserve-merges.sh:779
+#: sequencer.c:3760 git-rebase--preserve-merges.sh:779
 msgid "could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: sequencer.c:3785
+#: sequencer.c:3775
 #, c-format
 msgid "Stopped at HEAD\n"
 msgstr "arrêt à HEAD\n"
 
-#: sequencer.c:3787
+#: sequencer.c:3777
 #, c-format
 msgid "Stopped at %s\n"
 msgstr "Arrêté à %s\n"
 
-#: sequencer.c:3795
+#: sequencer.c:3785
 #, c-format
 msgid ""
 "Could not execute the todo command\n"
@@ -6691,48 +7438,48 @@ msgstr ""
 "    git rebase --edit-todo\n"
 "    git rebase --continue\n"
 
-#: sequencer.c:3877
+#: sequencer.c:3869
 #, c-format
 msgid "Stopped at %s...  %.*s\n"
 msgstr "arrêt à %s... %.*s\n"
 
-#: sequencer.c:3958
+#: sequencer.c:3940
 #, c-format
 msgid "unknown command %d"
 msgstr "commande inconnue %d"
 
-#: sequencer.c:4003
+#: sequencer.c:3999
 msgid "could not read orig-head"
 msgstr "impossible de lire orig-head"
 
-#: sequencer.c:4008
+#: sequencer.c:4004
 msgid "could not read 'onto'"
 msgstr "impossible de lire 'onto'"
 
-#: sequencer.c:4022
+#: sequencer.c:4018
 #, c-format
 msgid "could not update HEAD to %s"
 msgstr "impossible de mettre à jour HEAD sur %s"
 
-#: sequencer.c:4115
+#: sequencer.c:4111
 msgid "cannot rebase: You have unstaged changes."
 msgstr "impossible de rebaser : vous avez des modifications non indexées."
 
-#: sequencer.c:4124
+#: sequencer.c:4120
 msgid "cannot amend non-existing commit"
 msgstr "impossible de corriger un commit non-existant"
 
-#: sequencer.c:4126
+#: sequencer.c:4122
 #, c-format
 msgid "invalid file: '%s'"
 msgstr "fichier invalide : '%s'"
 
-#: sequencer.c:4128
+#: sequencer.c:4124
 #, c-format
 msgid "invalid contents: '%s'"
 msgstr "contenu invalide : '%s'"
 
-#: sequencer.c:4131
+#: sequencer.c:4127
 msgid ""
 "\n"
 "You have uncommitted changes in your working tree. Please, commit them\n"
@@ -6742,69 +7489,59 @@ msgstr ""
 "Vous avez des modifications non validées dans votre copie de travail.\n"
 "Veuillez les valider d'abord, puis relancer 'git rebase --continue'."
 
-#: sequencer.c:4167 sequencer.c:4205
+#: sequencer.c:4163 sequencer.c:4202
 #, c-format
 msgid "could not write file: '%s'"
 msgstr "impossible d'écrire le fichier : '%s'"
 
-#: sequencer.c:4220
+#: sequencer.c:4217
 msgid "could not remove CHERRY_PICK_HEAD"
 msgstr "impossible de supprimer CHERRY_PICK_HEAD"
 
-#: sequencer.c:4227
+#: sequencer.c:4224
 msgid "could not commit staged changes."
 msgstr "impossible de valider les modifications indexées."
 
-#: sequencer.c:4328
+#: sequencer.c:4338
 #, c-format
 msgid "%s: can't cherry-pick a %s"
 msgstr "%s : impossible de picorer un %s"
 
-#: sequencer.c:4332
+#: sequencer.c:4342
 #, c-format
 msgid "%s: bad revision"
 msgstr "%s : mauvaise révision"
 
-#: sequencer.c:4367
+#: sequencer.c:4377
 msgid "can't revert as initial commit"
 msgstr "impossible d'annuler en tant que commit initial"
 
-#: sequencer.c:4810
+#: sequencer.c:4846
 msgid "make_script: unhandled options"
 msgstr "make_script : options non gérées"
 
-#: sequencer.c:4813
+#: sequencer.c:4849
 msgid "make_script: error preparing revisions"
 msgstr "make_script : erreur lors de la préparation des révisions"
 
-#: 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 ""
-"Vous pouvez corriger ceci avec 'git rebase --edit-todo' puis lancez 'git "
-"rebase --continue'.\n"
-"Ou vous pouvez abandonner le rebasage avec 'git rebase --abort'.\n"
-
 #: sequencer.c:5083 sequencer.c:5100
 msgid "nothing to do"
 msgstr "rien à faire"
 
-#: sequencer.c:5114
+#: sequencer.c:5119
 msgid "could not skip unnecessary pick commands"
 msgstr "impossible d'éviter les commandes de picorage non nécessaires"
 
-#: sequencer.c:5197
+#: sequencer.c:5213
 msgid "the script was already rearranged."
 msgstr "le script a déjà été réarrangé."
 
-#: setup.c:123
+#: setup.c:124
 #, c-format
-msgid "'%s' is outside repository"
-msgstr "'%s' est hors du dépôt"
+msgid "'%s' is outside repository at '%s'"
+msgstr "'%s' est hors du dépôt à '%s'"
 
-#: setup.c:173
+#: setup.c:175
 #, c-format
 msgid ""
 "%s: no such path in the working tree.\n"
@@ -6814,7 +7551,7 @@ msgstr ""
 "Utilisez 'git <commande> -- <chemin>...' pour spécifier des chemins qui "
 "n'existent pas localement."
 
-#: setup.c:186
+#: setup.c:188
 #, c-format
 msgid ""
 "ambiguous argument '%s': unknown revision or path not in the working tree.\n"
@@ -6825,14 +7562,14 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:235
+#: setup.c:254
 #, c-format
 msgid "option '%s' must come before non-option arguments"
 msgstr ""
 "l'option '%s' doit être présente avant les arguments qui ne sont pas des "
 "options"
 
-#: setup.c:254
+#: setup.c:273
 #, c-format
 msgid ""
 "ambiguous argument '%s': both revision and filename\n"
@@ -6843,94 +7580,94 @@ msgstr ""
 "Utilisez '--' pour séparer les chemins des révisions, comme ceci :\n"
 "'git <commande> [<révision>...] -- [<chemin>...]'"
 
-#: setup.c:390
+#: setup.c:409
 msgid "unable to set up work tree using invalid config"
 msgstr ""
 "impossible de mettre en place le répertoire de travail en utilisant une "
 "configuration invalide"
 
-#: setup.c:394
+#: setup.c:413
 msgid "this operation must be run in a work tree"
 msgstr "Cette opération doit être effectuée dans un arbre de travail"
 
-#: setup.c:540
+#: setup.c:559
 #, c-format
 msgid "Expected git repo version <= %d, found %d"
 msgstr "Version attendue du dépôt git <= %d, %d trouvée"
 
-#: setup.c:548
+#: setup.c:567
 msgid "unknown repository extensions found:"
 msgstr "extensions de dépôt inconnues trouvées :"
 
-#: setup.c:567
+#: setup.c:586
 #, c-format
 msgid "error opening '%s'"
 msgstr "erreur à l'ouverture de '%s'"
 
-#: setup.c:569
+#: setup.c:588
 #, c-format
 msgid "too large to be a .git file: '%s'"
 msgstr "trop gros pour être une fichier .git : '%s'"
 
-#: setup.c:571
+#: setup.c:590
 #, c-format
 msgid "error reading %s"
 msgstr "erreur à la lecture de %s"
 
-#: setup.c:573
+#: setup.c:592
 #, c-format
 msgid "invalid gitfile format: %s"
 msgstr "format de fichier git invalide : %s"
 
-#: setup.c:575
+#: setup.c:594
 #, c-format
 msgid "no path in gitfile: %s"
 msgstr "aucun chemin dans le fichier git : %s"
 
-#: setup.c:577
+#: setup.c:596
 #, c-format
 msgid "not a git repository: %s"
 msgstr "ce n'est pas un dépôt git : %s"
 
-#: setup.c:676
+#: setup.c:695
 #, c-format
 msgid "'$%s' too big"
 msgstr "'$%s' trop gros"
 
-#: setup.c:690
+#: setup.c:709
 #, c-format
 msgid "not a git repository: '%s'"
 msgstr "ce n'est pas un dépôt git : '%s'"
 
-#: setup.c:719 setup.c:721 setup.c:752
+#: setup.c:738 setup.c:740 setup.c:771
 #, c-format
 msgid "cannot chdir to '%s'"
 msgstr "impossible de se déplacer vers le répertoire (chdir) '%s'"
 
-#: setup.c:724 setup.c:780 setup.c:790 setup.c:829 setup.c:837
+#: setup.c:743 setup.c:799 setup.c:809 setup.c:848 setup.c:856
 msgid "cannot come back to cwd"
 msgstr "impossible de revenir au répertoire de travail courant"
 
-#: setup.c:851
+#: setup.c:870
 #, c-format
 msgid "failed to stat '%*s%s%s'"
 msgstr "échec du stat de '%*s%s%s'"
 
-#: setup.c:1083
+#: setup.c:1108
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
-#: setup.c:1092 setup.c:1098
+#: setup.c:1117 setup.c:1123
 #, c-format
 msgid "cannot change to '%s'"
 msgstr "impossible de modifier en '%s'"
 
-#: setup.c:1103
+#: setup.c:1128
 #, c-format
 msgid "not a git repository (or any of the parent directories): %s"
 msgstr "ni ceci ni aucun de ses répertoires parents n'est un dépôt git : %s"
 
-#: setup.c:1109
+#: setup.c:1134
 #, c-format
 msgid ""
 "not a git repository (or any parent up to mount point %s)\n"
@@ -6941,7 +7678,7 @@ msgstr ""
 "Arrêt à la limite du système de fichiers (GIT_DISCOVERY_ACROSS_FILESYSTEM "
 "n'est pas défini)."
 
-#: setup.c:1220
+#: setup.c:1245
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -6951,286 +7688,286 @@ msgstr ""
 "Le propriétaire des fichiers doit toujours avoir les droits en lecture et "
 "écriture."
 
-#: setup.c:1264
+#: setup.c:1289
 msgid "open /dev/null or dup failed"
 msgstr "échec de l'ouverture ou au dup de /dev/null"
 
-#: setup.c:1279
+#: setup.c:1304
 msgid "fork failed"
 msgstr "échec de la bifurcation"
 
-#: setup.c:1284
+#: setup.c:1309
 msgid "setsid failed"
 msgstr "échec du setsid"
 
-#: sha1-file.c:453
+#: sha1-file.c:452
 #, c-format
 msgid "object directory %s does not exist; check .git/objects/info/alternates"
 msgstr ""
 "le répertoire objet %s n'existe pas ; vérifiez .git/objects/info/alternates"
 
-#: sha1-file.c:504
+#: sha1-file.c:503
 #, c-format
 msgid "unable to normalize alternate object path: %s"
 msgstr "impossible de normaliser le chemin d'objet alternatif : %s"
 
-#: sha1-file.c:576
+#: sha1-file.c:575
 #, c-format
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s : magasins d'objets alternatifs ignorés, récursion trop profonde"
 
-#: sha1-file.c:583
+#: sha1-file.c:582
 #, c-format
 msgid "unable to normalize object directory: %s"
 msgstr "impossible de normaliser le répertoire d'objet : %s"
 
-#: sha1-file.c:626
+#: sha1-file.c:625
 msgid "unable to fdopen alternates lockfile"
 msgstr "impossible d'ouvrir (fdopen) le fichier verrou des alternatives"
 
-#: sha1-file.c:644
+#: sha1-file.c:643
 msgid "unable to read alternates file"
 msgstr "lecture du fichier d'alternatives impossible"
 
-#: sha1-file.c:651
+#: sha1-file.c:650
 msgid "unable to move new alternates file into place"
 msgstr "impossible de déplacer le nouveau fichier d'alternative"
 
-#: sha1-file.c:686
+#: sha1-file.c:685
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
 
-#: sha1-file.c:712
+#: sha1-file.c:711
 #, c-format
 msgid "reference repository '%s' as a linked checkout is not supported yet."
 msgstr ""
 "extraire le dépôt de référence '%s' comme une extraction liée n'est pas "
 "encore supporté."
 
-#: sha1-file.c:718
+#: sha1-file.c:717
 #, c-format
 msgid "reference repository '%s' is not a local repository."
 msgstr "le dépôt de référence '%s' n'est pas un dépôt local."
 
-#: sha1-file.c:724
+#: sha1-file.c:723
 #, c-format
 msgid "reference repository '%s' is shallow"
 msgstr "le dépôt de référence '%s' est superficiel"
 
-#: sha1-file.c:732
+#: sha1-file.c:731
 #, c-format
 msgid "reference repository '%s' is grafted"
 msgstr "le dépôt de référence '%s' est greffé"
 
-#: sha1-file.c:792
+#: sha1-file.c:791
 #, c-format
 msgid "invalid line while parsing alternate refs: %s"
 msgstr "ligne invalide pendant l'analyse des refs alternatives : %s"
 
-#: sha1-file.c:944
+#: sha1-file.c:943
 #, c-format
 msgid "attempting to mmap %<PRIuMAX> over limit %<PRIuMAX>"
 msgstr "essai de mmap %<PRIuMAX> au delà de la limite %<PRIuMAX>"
 
-#: sha1-file.c:969
+#: sha1-file.c:964
 msgid "mmap failed"
 msgstr "échec de mmap"
 
-#: sha1-file.c:1133
+#: sha1-file.c:1128
 #, c-format
 msgid "object file %s is empty"
 msgstr "le fichier objet %s est vide"
 
-#: sha1-file.c:1257 sha1-file.c:2396
+#: sha1-file.c:1263 sha1-file.c:2443
 #, c-format
 msgid "corrupt loose object '%s'"
 msgstr "objet libre corrompu '%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 "données incorrectes à la fin de l'objet libre '%s'"
 
-#: sha1-file.c:1301
+#: sha1-file.c:1307
 msgid "invalid object type"
 msgstr "type d'objet invalide"
 
-#: sha1-file.c:1385
+#: sha1-file.c:1391
 #, c-format
 msgid "unable to unpack %s header with --allow-unknown-type"
 msgstr "impossible de dépaqueter l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1388
+#: sha1-file.c:1394
 #, c-format
 msgid "unable to unpack %s header"
 msgstr "impossible de dépaqueter l'entête %s"
 
-#: sha1-file.c:1394
+#: sha1-file.c:1400
 #, c-format
 msgid "unable to parse %s header with --allow-unknown-type"
 msgstr "impossible d'analyser l'entête %s avec --allow-unknow-type"
 
-#: sha1-file.c:1397
+#: sha1-file.c:1403
 #, c-format
 msgid "unable to parse %s header"
 msgstr "impossible d'analyser l'entête %s"
 
-#: sha1-file.c:1588
+#: sha1-file.c:1629
 #, c-format
 msgid "failed to read object %s"
 msgstr "impossible de lire l'objet %s"
 
-#: sha1-file.c:1592
+#: sha1-file.c:1633
 #, c-format
 msgid "replacement %s not found for %s"
 msgstr "remplacement %s non trouvé pour %s"
 
-#: sha1-file.c:1596
+#: sha1-file.c:1637
 #, c-format
 msgid "loose object %s (stored in %s) is corrupt"
 msgstr "l'objet libre %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1600
+#: sha1-file.c:1641
 #, c-format
 msgid "packed object %s (stored in %s) is corrupt"
 msgstr "l'objet empaqueté %s (stocké dans %s) est corrompu"
 
-#: sha1-file.c:1703
+#: sha1-file.c:1746
 #, c-format
 msgid "unable to write file %s"
 msgstr "impossible d'écrire le fichier %s"
 
-#: sha1-file.c:1710
+#: sha1-file.c:1753
 #, c-format
 msgid "unable to set permission to '%s'"
 msgstr "impossible de régler les droits de '%s'"
 
-#: sha1-file.c:1717
+#: sha1-file.c:1760
 msgid "file write error"
 msgstr "erreur d'écriture d'un fichier"
 
-#: sha1-file.c:1736
+#: sha1-file.c:1780
 msgid "error when closing loose object file"
 msgstr "erreur en fermeture du fichier d'objet esseulé"
 
-#: sha1-file.c:1801
+#: sha1-file.c:1845
 #, c-format
 msgid "insufficient permission for adding an object to repository database %s"
 msgstr ""
 "droits insuffisants pour ajouter un objet à la base de données %s du dépôt"
 
-#: sha1-file.c:1803
+#: sha1-file.c:1847
 msgid "unable to create temporary file"
 msgstr "impossible de créer un fichier temporaire"
 
-#: sha1-file.c:1827
+#: sha1-file.c:1871
 msgid "unable to write loose object file"
 msgstr "impossible d'écrire le fichier d'objet esseulé"
 
-#: sha1-file.c:1833
+#: sha1-file.c:1877
 #, c-format
 msgid "unable to deflate new object %s (%d)"
 msgstr "impossible de compresser le nouvel objet %s (%d)"
 
-#: sha1-file.c:1837
+#: sha1-file.c:1881
 #, c-format
 msgid "deflateEnd on object %s failed (%d)"
 msgstr "échec de deflateEnd sur l'objet %s (%d)"
 
-#: sha1-file.c:1841
+#: sha1-file.c:1885
 #, c-format
 msgid "confused by unstable object source data for %s"
 msgstr "données de source d'objet instable pour %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 "échec de utime() sur %s"
 
-#: sha1-file.c:1926
+#: sha1-file.c:1972
 #, c-format
 msgid "cannot read object for %s"
 msgstr "impossible de lire l'objet pour %s"
 
-#: sha1-file.c:1966
+#: sha1-file.c:2011
 msgid "corrupt commit"
 msgstr "commit corrompu"
 
-#: sha1-file.c:1974
+#: sha1-file.c:2019
 msgid "corrupt tag"
 msgstr "étiquette corrompue"
 
-#: sha1-file.c:2073
+#: sha1-file.c:2119
 #, c-format
 msgid "read error while indexing %s"
 msgstr "erreur de lecture à l'indexation de %s"
 
-#: sha1-file.c:2076
+#: sha1-file.c:2122
 #, c-format
 msgid "short read while indexing %s"
 msgstr "lecture tronquée pendant l'indexation de %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 : échec de l'insertion dans la base de données"
 
-#: sha1-file.c:2164
+#: sha1-file.c:2211
 #, c-format
 msgid "%s: unsupported file type"
 msgstr "%s : type de fichier non supporté"
 
-#: sha1-file.c:2188
+#: sha1-file.c:2235
 #, c-format
 msgid "%s is not a valid object"
 msgstr "%s n'est pas un objet valide"
 
-#: sha1-file.c:2190
+#: sha1-file.c:2237
 #, c-format
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
-#: 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 "impossible d'ouvrir %s"
 
-#: sha1-file.c:2407 sha1-file.c:2459
+#: sha1-file.c:2454 sha1-file.c:2507
 #, c-format
 msgid "hash mismatch for %s (expected %s)"
 msgstr "incohérence de hachage pour %s (%s attendu)"
 
-#: sha1-file.c:2431
+#: sha1-file.c:2478
 #, c-format
 msgid "unable to mmap %s"
 msgstr "impossible de mmap %s"
 
-#: sha1-file.c:2436
+#: sha1-file.c:2483
 #, c-format
 msgid "unable to unpack header of %s"
 msgstr "impossible de dépaqueter l'entête de %s"
 
-#: sha1-file.c:2442
+#: sha1-file.c:2489
 #, c-format
 msgid "unable to parse header of %s"
 msgstr "impossible d'analyser l'entête de %s"
 
-#: sha1-file.c:2453
+#: sha1-file.c:2500
 #, c-format
 msgid "unable to unpack contents of %s"
 msgstr "impossible de dépaqueter le contenu de %s"
 
-#: sha1-name.c:490
+#: sha1-name.c:486
 #, c-format
 msgid "short SHA1 %s is ambiguous"
 msgstr "le SHA1 court %s est ambigu"
 
-#: sha1-name.c:501
+#: sha1-name.c:497
 msgid "The candidates are:"
 msgstr "Les candidats sont :"
 
-#: 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"
@@ -7254,44 +7991,112 @@ msgstr ""
 "message\n"
 "en lançant \"git config advice.objectNameWarning false\""
 
+#: sha1-name.c:916
+#, c-format
+msgid "log for '%.*s' only goes back to %s"
+msgstr "le journal de '%.*s' ne remonte qu'à %s"
+
+#: sha1-name.c:924
+#, c-format
+msgid "log for '%.*s' only has %d entries"
+msgstr "le journal de '%.*s' n'a que %d entrées"
+
+#: sha1-name.c:1689
+#, c-format
+msgid "path '%s' exists on disk, but not in '%.*s'"
+msgstr "le chemin '%s' existe sur le disque, mais pas dans '%.*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 ""
+"le chemin '%s' existe, mais pas '%s'\n"
+"conseil : peut-être vouliez-vous dire '%.*s:%s', soit '%.*s:./%s'"
+
+#: sha1-name.c:1704
+#, c-format
+msgid "path '%s' does not exist in '%.*s'"
+msgstr "le chemin '%s' n'existe pas dnas '%.*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 ""
+"le chemin '%s' est dans l'index, mais pas à l'étape %d\n"
+"conseil : vous vouliez peut-être dire ':%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 ""
+"le chemin '%s' est dans l'index, mais pas '%s'\n"
+"conseil : peut-être vouliez-vous dire ':%d:%s', soit '%d:./%s'"
+
+#: sha1-name.c:1756
+#, c-format
+msgid "path '%s' exists on disk, but not in the index"
+msgstr "le chemin '%s' existe sur le disque, mais pas dans l'index"
+
+#: sha1-name.c:1758
+#, c-format
+msgid "path '%s' does not exist (neither on disk nor in the index)"
+msgstr "le chemin '%s' n'existe pas (ni sur le disque, ni dans l'index)"
+
+#: sha1-name.c:1771
+msgid "relative path syntax can't be used outside working tree"
+msgstr ""
+"la syntaxe de chemin relatif ne peut pas être utilisée hors de l'arbre de "
+"travail"
+
+#: sha1-name.c:1909
+#, c-format
+msgid "invalid object name '%.*s'."
+msgstr "nom d'objet invalide : '%.*s'."
+
 #. TRANSLATORS: IEC 80000-13:2008 gibibyte
-#: strbuf.c:821
+#: strbuf.c:837
 #, c-format
 msgid "%u.%2.2u GiB"
 msgstr "%u.%2.2u Gio"
 
 #. 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 Gio/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 mebibyte
-#: strbuf.c:831
+#: strbuf.c:847
 #, c-format
 msgid "%u.%2.2u MiB"
 msgstr "%u.%2.2u Mio"
 
 #. 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 Mio/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 kibibyte
-#: strbuf.c:840
+#: strbuf.c:856
 #, c-format
 msgid "%u.%2.2u KiB"
 msgstr "%u.%2.2u Kio"
 
 #. 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 Kio/s"
 
 #. TRANSLATORS: IEC 80000-13:2008 byte
-#: strbuf.c:848
+#: strbuf.c:864
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
@@ -7299,13 +8104,18 @@ msgstr[0] "%u octet"
 msgstr[1] "%u octets"
 
 #. 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 octet/s"
 msgstr[1] "%u octets/s"
 
+#: strbuf.c:1164
+#, c-format
+msgid "could not edit '%s'"
+msgstr "impossible d'éditer '%s'"
+
 #: submodule.c:114 submodule.c:143
 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
 msgstr ""
@@ -7337,51 +8147,129 @@ msgstr "dans le sous-module '%s' non populé"
 msgid "Pathspec '%s' is in submodule '%.*s'"
 msgstr "Le chemin '%s' est dans le sous-module '%.*s'"
 
+#: submodule.c:434
+#, c-format
+msgid "bad --ignore-submodules argument: %s"
+msgstr "mauvais argument --ignore-submodules : %s"
+
+#: submodule.c:815
+#, c-format
+msgid ""
+"Submodule in commit %s at path: '%s' collides with a submodule named the "
+"same. Skipping it."
+msgstr ""
+"Le sous-module dans le commit %s au chemin : '%s' entre en collision avec un "
+"sous-module du même nom. Ignoré."
+
 #: submodule.c:910
 #, c-format
 msgid "submodule entry '%s' (%s) is a %s, not a commit"
 msgstr "l'entrée de sous-module '%s' (%s) est un %s, pas un 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 ""
+"Impossible de lancer la commande 'git rev-list <commits> --not --remotes -n "
+"1' dans le sous-module %s"
+
+#: submodule.c:1118
+#, c-format
+msgid "process for submodule '%s' failed"
+msgstr "le processus pour le sous-module '%s' a échoué"
+
+#: submodule.c:1147 builtin/branch.c:680 builtin/submodule--helper.c:2045
 msgid "Failed to resolve HEAD as a valid ref."
 msgstr "Échec de résolution de HEAD comme référence valide."
 
-#: submodule.c:1481
+#: submodule.c:1158
+#, c-format
+msgid "Pushing submodule '%s'\n"
+msgstr "Poussée du sous-module '%s'\n"
+
+#: submodule.c:1161
+#, c-format
+msgid "Unable to push submodule '%s'\n"
+msgstr "Impossible de pousser le sous-module '%s'\n"
+
+#: submodule.c:1453
+#, c-format
+msgid "Fetching submodule %s%s\n"
+msgstr "Récupération du sous-module %s%s\n"
+
+#: submodule.c:1483
 #, c-format
-msgid "Could not access submodule '%s'"
-msgstr "Impossible d'accéder au sous-module '%s'"
+msgid "Could not access submodule '%s'\n"
+msgstr "Impossible d'accéder au sous-module '%s'\n"
 
-#: submodule.c:1651
+#: submodule.c:1637
+#, c-format
+msgid ""
+"Errors during submodule fetch:\n"
+"%s"
+msgstr ""
+"Erreurs pendant la récupération du sous-module :\n"
+"%s"
+
+#: submodule.c:1662
 #, c-format
 msgid "'%s' not recognized as a git repository"
 msgstr "'%s' n'est pas reconnu comme dépôt git"
 
-#: submodule.c:1789
+#: submodule.c:1679
+#, c-format
+msgid "Could not run 'git status --porcelain=2' in submodule %s"
+msgstr "impossible de lancer 'git status --porcelain=2' dans le sous-module %s"
+
+#: submodule.c:1720
+#, c-format
+msgid "'git status --porcelain=2' failed in submodule %s"
+msgstr "'git status --porcelain=2' a échoué dans le sous-module %s"
+
+#: submodule.c:1800
 #, c-format
 msgid "could not start 'git status' in submodule '%s'"
 msgstr "impossible de démarrer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1802
+#: submodule.c:1813
 #, c-format
 msgid "could not run 'git status' in submodule '%s'"
 msgstr "impossible de lancer 'git status' dans le sous-module '%s'"
 
-#: submodule.c:1817
+#: submodule.c:1828
 #, c-format
 msgid "Could not unset core.worktree setting in submodule '%s'"
 msgstr "Impossible de désactiver core.worktree dans le sous-module '%s'"
 
-#: submodule.c:1907
+#: submodule.c:1855 submodule.c:2165
+#, c-format
+msgid "could not recurse into submodule '%s'"
+msgstr "récursion impossible dans le sous-module '%s'"
+
+#: submodule.c:1876
+msgid "could not reset submodule index"
+msgstr "impossible de réinitialiser l'index du sous-module"
+
+#: submodule.c:1918
 #, c-format
 msgid "submodule '%s' has dirty index"
 msgstr "le sous-module '%s' a un index sale"
 
-#: submodule.c:1959
+#: submodule.c:1970
 #, c-format
 msgid "Submodule '%s' could not be updated."
 msgstr "le sous-module '%s' n'a pas pu être mis à jour."
 
-#: submodule.c:2007
+#: submodule.c:2038
+#, c-format
+msgid "submodule git dir '%s' is inside git dir '%.*s'"
+msgstr ""
+"le répertoire git du sous-module '%s' est à l'intérieur du répertoire git "
+"'%.*s'"
+
+#: submodule.c:2059
 #, c-format
 msgid ""
 "relocate_gitdir for submodule '%s' with more than one worktree not supported"
@@ -7389,12 +8277,17 @@ msgstr ""
 "relocate_gitdir pour le sous-module '%s' avec plus d'un arbre de travail "
 "n'est pas supporté"
 
-#: submodule.c:2019 submodule.c:2074
+#: submodule.c:2071 submodule.c:2130
 #, c-format
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#: submodule.c:2026
+#: submodule.c:2075
+#, c-format
+msgid "refusing to move '%s' into an existing git dir"
+msgstr "refus de déplacer '%s' dans une répertoire git existant"
+
+#: submodule.c:2082
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -7405,42 +8298,37 @@ msgstr ""
 "'%s' sur\n"
 "'%s'\n"
 
-#: submodule.c:2109
-#, c-format
-msgid "could not recurse into submodule '%s'"
-msgstr "récursion impossible dans le sous-module '%s'"
-
-#: submodule.c:2153
+#: submodule.c:2209
 msgid "could not start ls-files in .."
 msgstr "impossible de démarrer ls-files dans .."
 
-#: submodule.c:2192
+#: submodule.c:2248
 #, c-format
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
 
-#: submodule-config.c:232
+#: submodule-config.c:236
 #, c-format
 msgid "ignoring suspicious submodule name: %s"
 msgstr "nom de sous-module suspicieux %s ignoré"
 
-#: submodule-config.c:299
+#: submodule-config.c:303
 msgid "negative values not allowed for submodule.fetchjobs"
 msgstr "les valeurs négatives ne sont pas permises pour submodule.fetchJobs"
 
-#: submodule-config.c:397
+#: submodule-config.c:401
 #, c-format
 msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
 msgstr ""
 "'%s' ignoré et qui peut être interprété comme une option de ligne de "
 "commande : %s"
 
-#: submodule-config.c:486
+#: submodule-config.c:498
 #, c-format
 msgid "invalid value for %s"
 msgstr "Valeur invalide pour %s"
 
-#: submodule-config.c:755
+#: submodule-config.c:765
 #, c-format
 msgid "Could not update .gitmodules entry %s"
 msgstr "Impossible de mettre à jour l'élément %s de .gitmodules"
@@ -7456,7 +8344,7 @@ msgstr "échec de la commande trailer '%s'"
 msgid "unknown value '%s' for key '%s'"
 msgstr "valeur inconnue '%s' pour la clé '%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 "plus d'un %s"
@@ -7475,7 +8363,7 @@ msgstr "impossible de lire le fichier d'entrée '%s'"
 msgid "could not read from stdin"
 msgstr "Impossible de lire depuis l'entrée standard"
 
-#: trailer.c:1011 wrapper.c:701
+#: trailer.c:1011 wrapper.c:665
 #, c-format
 msgid "could not stat %s"
 msgstr "stat impossible de %s"
@@ -7504,47 +8392,47 @@ msgstr "impossible de renommer un fichier temporaire en %s"
 msgid "Would set upstream of '%s' to '%s' of '%s'\n"
 msgstr "Positionnerait la branche amont de '%s' sur '%s' de '%s'\n"
 
-#: transport.c:142
+#: transport.c:145
 #, c-format
 msgid "could not read bundle '%s'"
 msgstr "impossible de lire la liasse '%s'"
 
-#: transport.c:208
+#: transport.c:214
 #, c-format
 msgid "transport: invalid depth option '%s'"
 msgstr "transport : option de profondeur invalide '%s'"
 
-#: transport.c:259
+#: transport.c:266
 msgid "see protocol.version in 'git help config' for more details"
 msgstr "voir protocol.version dans 'git help config' pour plus d'information"
 
-#: transport.c:260
+#: transport.c:267
 msgid "server options require protocol version 2 or later"
 msgstr "les options de serveur exigent une version 2 ou supérieure"
 
-#: transport.c:625
+#: transport.c:632
 msgid "could not parse transport.color.* config"
 msgstr "impossible d'analyser la configuration transport.color.*"
 
-#: transport.c:698
+#: transport.c:705
 msgid "support for protocol v2 not implemented yet"
 msgstr "le support du protocole v2 n'est pas encore implanté"
 
-#: transport.c:825
+#: transport.c:831
 #, c-format
 msgid "unknown value for config '%s': %s"
 msgstr "valeur inconnue pour la config '%s' : %s"
 
-#: transport.c:891
+#: transport.c:897
 #, c-format
 msgid "transport '%s' not allowed"
 msgstr "transport '%s' non permis"
 
-#: transport.c:945
+#: transport.c:949
 msgid "git-over-rsync is no longer supported"
 msgstr "git-over-rsync n'est plus supporté"
 
-#: transport.c:1040
+#: transport.c:1044
 #, c-format
 msgid ""
 "The following submodule paths contain changes that can\n"
@@ -7553,7 +8441,7 @@ msgstr ""
 "Les chemins suivants de sous-module contiennent des modifications\n"
 "qui ne peuvent être trouvées sur aucun distant :\n"
 
-#: transport.c:1044
+#: transport.c:1048
 #, c-format
 msgid ""
 "\n"
@@ -7580,33 +8468,33 @@ msgstr ""
 "pour les pousser vers un serveur distant.\n"
 "\n"
 
-#: transport.c:1052
+#: transport.c:1056
 msgid "Aborting."
 msgstr "Abandon."
 
-#: transport.c:1193
+#: transport.c:1201
 msgid "failed to push all needed submodules"
 msgstr "échec de la poussée de tous les sous-modules nécessaires"
 
-#: transport.c:1340 transport-helper.c:645
+#: transport.c:1345 transport-helper.c:657
 msgid "operation not supported by protocol"
 msgstr "option non supportée par le protocole"
 
-#: transport-helper.c:51 transport-helper.c:80
+#: transport-helper.c:61 transport-helper.c:90
 msgid "full write to remote helper failed"
 msgstr "échec de l'écriture totale sur l'assistant distant"
 
-#: transport-helper.c:134
+#: transport-helper.c:144
 #, c-format
 msgid "unable to find remote helper for '%s'"
 msgstr "Impossible de trouver un assistant distant pour '%s'"
 
-#: transport-helper.c:150 transport-helper.c:559
+#: transport-helper.c:160 transport-helper.c:571
 msgid "can't dup helper output fd"
 msgstr ""
 "impossible de dupliquer le descripteur de flux de sortie de l'assistant"
 
-#: transport-helper.c:201
+#: transport-helper.c:211
 #, c-format
 msgid ""
 "unknown mandatory capability %s; this remote helper probably needs newer "
@@ -7615,103 +8503,108 @@ msgstr ""
 "capacité obligatoire inconnue %s ; cet assistant distant requiert "
 "probablement une une nouvelle version de Git"
 
-#: transport-helper.c:207
+#: transport-helper.c:217
 msgid "this remote helper should implement refspec capability"
 msgstr "cet assistant distant devrait supporter la capacité refspec"
 
-#: transport-helper.c:274 transport-helper.c:414
+#: transport-helper.c:284 transport-helper.c:425
 #, c-format
 msgid "%s unexpectedly said: '%s'"
 msgstr "%s a dit de manière inattendue : '%s'"
 
-#: transport-helper.c:403
+#: transport-helper.c:414
 #, c-format
 msgid "%s also locked %s"
 msgstr "%s a aussi verrouillé %s"
 
-#: transport-helper.c:481
+#: transport-helper.c:493
 msgid "couldn't run fast-import"
 msgstr "impossible de lancer fast-import"
 
-#: transport-helper.c:504
+#: transport-helper.c:516
 msgid "error while running fast-import"
 msgstr "erreur au lancement de 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 "impossible de lire la réf %s"
 
-#: transport-helper.c:578
+#: transport-helper.c:590
 #, c-format
 msgid "unknown response to connect: %s"
 msgstr "réponse inconnue à connect : %s"
 
-#: transport-helper.c:600
+#: transport-helper.c:612
 msgid "setting remote service path not supported by protocol"
 msgstr ""
 "la spécification du chemin de service distant n'est pas supportée par le "
 "protocole"
 
-#: transport-helper.c:602
+#: transport-helper.c:614
 msgid "invalid remote service path"
 msgstr "chemin de service distant invalide"
 
-#: transport-helper.c:648
+#: transport-helper.c:660
 #, c-format
 msgid "can't connect to subservice %s"
 msgstr "impossible de se connecter au sous-service %s"
 
-#: transport-helper.c:720
+#: transport-helper.c:736
 #, c-format
 msgid "expected ok/error, helper said '%s'"
 msgstr "ok/error attendu, l'assistant a dit '%s'"
 
-#: transport-helper.c:773
+#: transport-helper.c:789
 #, c-format
 msgid "helper reported unexpected status of %s"
 msgstr "l'assistant a renvoyé un statut de retour inattendu %s"
 
-#: transport-helper.c:834
+#: transport-helper.c:850
 #, c-format
 msgid "helper %s does not support dry-run"
 msgstr "l'assistant %s ne gère pas dry-run"
 
-#: transport-helper.c:837
+#: transport-helper.c:853
 #, c-format
 msgid "helper %s does not support --signed"
 msgstr "l'assistant %s ne gère pas --signed"
 
-#: transport-helper.c:840
+#: transport-helper.c:856
 #, c-format
 msgid "helper %s does not support --signed=if-asked"
 msgstr "l'assistant %s ne gère pas --signed=if-asked"
 
-#: transport-helper.c:847
+#: transport-helper.c:861
+#, c-format
+msgid "helper %s does not support --atomic"
+msgstr "l'assistant %s ne gère pas --atomic"
+
+#: transport-helper.c:867
 #, c-format
 msgid "helper %s does not support 'push-option'"
 msgstr "l'assistant %s ne gère pas 'push-option'"
 
-#: transport-helper.c:945
+#: transport-helper.c:965
 msgid "remote-helper doesn't support push; refspec needed"
 msgstr ""
 "l'assistant %s ne gère pas push ; un spécificateur de référence est "
 "nécessaire"
 
-#: transport-helper.c:950
+#: transport-helper.c:970
 #, c-format
 msgid "helper %s does not support 'force'"
 msgstr "l'assistant %s ne gère pas 'force'"
 
-#: transport-helper.c:997
+#: transport-helper.c:1017
 msgid "couldn't run fast-export"
 msgstr "impossible de lancer fast-export"
 
-#: transport-helper.c:1002
+#: transport-helper.c:1022
 msgid "error while running fast-export"
 msgstr "erreur au lancement de fast-export"
 
-#: transport-helper.c:1027
+#: transport-helper.c:1047
 #, c-format
 msgid ""
 "No refs in common and none specified; doing nothing.\n"
@@ -7720,67 +8613,67 @@ msgstr ""
 "Aucune référence en commun et aucune spécfiée ; rien à faire.\n"
 "Vous devriez peut-être spécifier une branche telle que 'master'.\n"
 
-#: transport-helper.c:1091
+#: transport-helper.c:1120
 #, c-format
 msgid "malformed response in ref list: %s"
 msgstr "réponse malformée dans le liste de réfs : %s"
 
-#: transport-helper.c:1244
+#: transport-helper.c:1272
 #, c-format
 msgid "read(%s) failed"
 msgstr "échec de read(%s)"
 
-#: transport-helper.c:1271
+#: transport-helper.c:1299
 #, c-format
 msgid "write(%s) failed"
 msgstr "échec de write(%s)"
 
-#: transport-helper.c:1320
+#: transport-helper.c:1348
 #, c-format
 msgid "%s thread failed"
 msgstr "échec du fil d'exécution %s"
 
-#: transport-helper.c:1324
+#: transport-helper.c:1352
 #, c-format
 msgid "%s thread failed to join: %s"
 msgstr "échec de jonction du fil d'exécution %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 "impossible de démarrer le fil d'exécution pour copier les données : %s"
 
-#: transport-helper.c:1384
+#: transport-helper.c:1412
 #, c-format
 msgid "%s process failed to wait"
 msgstr "échec du processus %s pour l'attente"
 
-#: transport-helper.c:1388
+#: transport-helper.c:1416
 #, c-format
 msgid "%s process failed"
 msgstr "échec du processus %s"
 
-#: transport-helper.c:1406 transport-helper.c:1415
+#: transport-helper.c:1434 transport-helper.c:1443
 msgid "can't start thread for copying data"
 msgstr "impossible de démarrer le fil d'exécution pour copier les données"
 
-#: tree-walk.c:33
+#: tree-walk.c:32
 msgid "too-short tree object"
 msgstr "objet arbre trop court"
 
-#: tree-walk.c:39
+#: tree-walk.c:38
 msgid "malformed mode in tree entry"
 msgstr "mode invalide dans l'entrée d'arbre"
 
-#: tree-walk.c:43
+#: tree-walk.c:42
 msgid "empty filename in tree entry"
 msgstr "nom de fichier vide dans une entrée de l'arbre"
 
-#: tree-walk.c:118
+#: tree-walk.c:117
 msgid "too-short tree file"
 msgstr "fichier arbre trop court"
 
-#: unpack-trees.c:111
+#: unpack-trees.c:110
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -7791,7 +8684,7 @@ msgstr ""
 "%%sVeuillez valider ou remiser vos modifications avant de basculer de "
 "branche."
 
-#: unpack-trees.c:113
+#: unpack-trees.c:112
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by checkout:\n"
@@ -7801,7 +8694,7 @@ msgstr ""
 "l'extraction :\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"
@@ -7811,7 +8704,7 @@ msgstr ""
 "fusion :\n"
 "%%sVeuillez valider ou remiser vos modifications avant la fusion."
 
-#: unpack-trees.c:118
+#: unpack-trees.c:117
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by merge:\n"
@@ -7821,7 +8714,7 @@ msgstr ""
 "fusion :\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"
@@ -7830,7 +8723,7 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%sVeuillez valider ou remiser vos modifications avant %s."
 
-#: unpack-trees.c:123
+#: unpack-trees.c:122
 #, c-format
 msgid ""
 "Your local changes to the following files would be overwritten by %s:\n"
@@ -7839,7 +8732,7 @@ msgstr ""
 "Vos modifications locales aux fichiers suivants seraient écrasées par %s :\n"
 "%%s"
 
-#: unpack-trees.c:128
+#: unpack-trees.c:127
 #, c-format
 msgid ""
 "Updating the following directories would lose untracked files in them:\n"
@@ -7849,7 +8742,7 @@ msgstr ""
 "contenus :\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"
@@ -7859,7 +8752,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:134
+#: unpack-trees.c:133
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by checkout:\n"
@@ -7868,7 +8761,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par l'extraction :\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"
@@ -7878,7 +8771,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:139
+#: unpack-trees.c:138
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by merge:\n"
@@ -7887,7 +8780,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par la fusion :\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"
@@ -7897,7 +8790,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:144
+#: unpack-trees.c:143
 #, c-format
 msgid ""
 "The following untracked working tree files would be removed by %s:\n"
@@ -7906,7 +8799,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient effacés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:150
+#: unpack-trees.c:149
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7917,7 +8810,7 @@ msgstr ""
 "l'extraction :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant de basculer de branche."
 
-#: unpack-trees.c:152
+#: unpack-trees.c:151
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by "
@@ -7927,7 +8820,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par l'extraction :\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"
@@ -7937,7 +8830,7 @@ msgstr ""
 "la fusion :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant la fusion."
 
-#: unpack-trees.c:157
+#: unpack-trees.c:156
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by merge:\n"
@@ -7946,7 +8839,7 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par la fusion :\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"
@@ -7956,7 +8849,7 @@ msgstr ""
 "%s :\n"
 "%%sVeuillez renommer ou effacer ces fichiers avant %s."
 
-#: unpack-trees.c:162
+#: unpack-trees.c:161
 #, c-format
 msgid ""
 "The following untracked working tree files would be overwritten by %s:\n"
@@ -7965,12 +8858,12 @@ msgstr ""
 "Les fichiers suivants non suivis seraient écrasés par %s :\n"
 "%%s"
 
-#: unpack-trees.c:170
+#: unpack-trees.c:169
 #, c-format
 msgid "Entry '%s' overlaps with '%s'.  Cannot bind."
 msgstr "L'entrée '%s' surcharge avec '%s'. Affectation impossible."
 
-#: unpack-trees.c:173
+#: unpack-trees.c:172
 #, c-format
 msgid ""
 "Cannot update sparse checkout: the following entries are not up to date:\n"
@@ -7980,7 +8873,7 @@ msgstr ""
 "pas à jour :\n"
 "%s"
 
-#: unpack-trees.c:175
+#: unpack-trees.c:174
 #, c-format
 msgid ""
 "The following working tree files would be overwritten by sparse checkout "
@@ -7991,7 +8884,7 @@ msgstr ""
 "jour par l'extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:177
+#: unpack-trees.c:176
 #, c-format
 msgid ""
 "The following working tree files would be removed by sparse checkout "
@@ -8002,7 +8895,7 @@ msgstr ""
 "à jour par extraction creuse :\n"
 "%s"
 
-#: unpack-trees.c:179
+#: unpack-trees.c:178
 #, c-format
 msgid ""
 "Cannot update submodule:\n"
@@ -8011,16 +8904,16 @@ msgstr ""
 "Mise à jour impossible pour le sous-module :\n"
 "%s"
 
-#: unpack-trees.c:256
+#: unpack-trees.c:255
 #, c-format
 msgid "Aborting\n"
 msgstr "Abandon\n"
 
-#: unpack-trees.c:318
+#: unpack-trees.c:317
 msgid "Updating files"
 msgstr "Mise à jour des fichiers"
 
-#: 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"
@@ -8030,6 +8923,10 @@ msgstr ""
 "sensibles à la casse dans une système de fichier insensible) et un\n"
 "seul du groupe en collision est dans l'arbre de travail :\n"
 
+#: unpack-trees.c:1445
+msgid "Updating index flags"
+msgstr "Mise à jour des drapeaux de l'index"
+
 #: urlmatch.c:163
 msgid "invalid URL scheme name or missing '://' suffix"
 msgstr "nom de schéma d'URL invalide ou suffixe '://' manquant"
@@ -8059,50 +8956,54 @@ msgstr "numéro de port invalide"
 msgid "invalid '..' path segment"
 msgstr "segment de chemin '..' invalide"
 
-#: worktree.c:258 builtin/am.c:2095
+#: walker.c:170
+msgid "Fetching objects"
+msgstr "Récupération des objets"
+
+#: worktree.c:259 builtin/am.c:2099
 #, c-format
 msgid "failed to read '%s'"
 msgstr "échec de la lecture de '%s'"
 
-#: worktree.c:304
+#: worktree.c:305
 #, c-format
 msgid "'%s' at main working tree is not the repository directory"
 msgstr ""
 "'%s' dans l'arbre de travail principal n'est pas le répertoire de dépôt"
 
-#: worktree.c:315
+#: worktree.c:316
 #, c-format
 msgid "'%s' file does not contain absolute path to the working tree location"
 msgstr ""
 "le fichier '%s' ne contient pas de chemin absolu à l'emplacement de l'arbre "
 "de travail"
 
-#: worktree.c:327
+#: worktree.c:328
 #, c-format
 msgid "'%s' does not exist"
 msgstr "'%s' n'existe pas"
 
-#: worktree.c:333
+#: worktree.c:334
 #, c-format
 msgid "'%s' is not a .git file, error code %d"
 msgstr "'%s' n'est pas un fichier .git, code d'erreur %d"
 
-#: worktree.c:341
+#: worktree.c:342
 #, c-format
 msgid "'%s' does not point back to '%s'"
 msgstr "'%s' ne pointe pas en retour sur '%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 "impossible d'ouvrir '%s' en lecture/écriture"
 
-#: wrapper.c:424 wrapper.c:624
+#: wrapper.c:387 wrapper.c:588
 #, c-format
 msgid "unable to access '%s'"
 msgstr "impossible d'accéder à '%s'"
 
-#: wrapper.c:632
+#: wrapper.c:596
 msgid "unable to get current working directory"
 msgstr "impossible d'accéder au répertoire de travail courant"
 
@@ -8447,80 +9348,88 @@ msgstr ""
 "  (tous les conflits sont réglés : lancez \"git cherry-pick --continue\")"
 
 #: wt-status.c:1437
+msgid "  (use \"git cherry-pick --skip\" to skip this patch)"
+msgstr "  (utilisez \"git cherry-pick --skip\" pour sauter ce patch)"
+
+#: wt-status.c:1439
 msgid "  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
 msgstr "  (utilisez \"git cherry-pick --abort\" pour annuler le picorage)"
 
-#: wt-status.c:1447
+#: wt-status.c:1449
 msgid "Revert currently in progress."
 msgstr "Rétablissement en cours."
 
-#: wt-status.c:1450
+#: wt-status.c:1452
 #, c-format
 msgid "You are currently reverting commit %s."
 msgstr "Vous êtes actuellement en train de rétablir le commit %s."
 
-#: wt-status.c:1456
+#: wt-status.c:1458
 msgid "  (fix conflicts and run \"git revert --continue\")"
 msgstr "  (réglez les conflits puis lancez \"git revert --continue\")"
 
-#: wt-status.c:1459
+#: wt-status.c:1461
 msgid "  (run \"git revert --continue\" to continue)"
 msgstr "  (lancez \"git revert --continue\" pour continuer)"
 
-#: wt-status.c:1462
+#: wt-status.c:1464
 msgid "  (all conflicts fixed: run \"git revert --continue\")"
 msgstr "  (tous les conflits sont réglés : lancez \"git revert --continue\")"
 
-#: wt-status.c:1464
+#: wt-status.c:1466
+msgid "  (use \"git revert --skip\" to skip this patch)"
+msgstr "  (utilisez \"git revert --skip\" pour sauter ce patch)"
+
+#: wt-status.c:1468
 msgid "  (use \"git revert --abort\" to cancel the revert operation)"
 msgstr "  (utilisez \"git revert --abort\" pour annuler le rétablissement)"
 
-#: wt-status.c:1474
+#: wt-status.c:1478
 #, c-format
 msgid "You are currently bisecting, started from branch '%s'."
 msgstr "Vous êtes en cours de bissection, depuis la branche '%s'."
 
-#: wt-status.c:1478
+#: wt-status.c:1482
 msgid "You are currently bisecting."
 msgstr "Vous êtes en cours de bissection."
 
-#: wt-status.c:1481
+#: wt-status.c:1485
 msgid "  (use \"git bisect reset\" to get back to the original branch)"
 msgstr "  (utilisez \"git bisect reset\" pour revenir à la branche d'origine)"
 
-#: wt-status.c:1690
+#: wt-status.c:1694
 msgid "On branch "
 msgstr "Sur la branche "
 
-#: wt-status.c:1697
+#: wt-status.c:1701
 msgid "interactive rebase in progress; onto "
 msgstr "rebasage interactif en cours ; sur "
 
-#: wt-status.c:1699
+#: wt-status.c:1703
 msgid "rebase in progress; onto "
 msgstr "rebasage en cours ; sur "
 
-#: wt-status.c:1709
+#: wt-status.c:1713
 msgid "Not currently on any branch."
 msgstr "Actuellement sur aucun branche."
 
-#: wt-status.c:1726
+#: wt-status.c:1730
 msgid "Initial commit"
 msgstr "Validation initiale"
 
-#: wt-status.c:1727
+#: wt-status.c:1731
 msgid "No commits yet"
 msgstr "Aucun commit"
 
-#: wt-status.c:1741
+#: wt-status.c:1745
 msgid "Untracked files"
 msgstr "Fichiers non suivis"
 
-#: wt-status.c:1743
+#: wt-status.c:1747
 msgid "Ignored files"
 msgstr "Fichiers ignorés"
 
-#: wt-status.c:1747
+#: wt-status.c:1751
 #, c-format
 msgid ""
 "It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
@@ -8532,32 +9441,32 @@ msgstr ""
 "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help "
 "status')."
 
-#: wt-status.c:1753
+#: wt-status.c:1757
 #, c-format
 msgid "Untracked files not listed%s"
 msgstr "Fichiers non suivis non affichés%s"
 
-#: wt-status.c:1755
+#: wt-status.c:1759
 msgid " (use -u option to show untracked files)"
 msgstr " (utilisez -u pour afficher les fichiers non suivis)"
 
-#: wt-status.c:1761
+#: wt-status.c:1765
 msgid "No changes"
 msgstr "Aucune modification"
 
-#: 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 ""
 "aucune modification n'a été ajoutée à la validation (utilisez \"git add\" ou "
 "\"git commit -a\")\n"
 
-#: wt-status.c:1769
+#: wt-status.c:1773
 #, c-format
 msgid "no changes added to commit\n"
 msgstr "aucune modification ajoutée à la validation\n"
 
-#: wt-status.c:1772
+#: wt-status.c:1776
 #, c-format
 msgid ""
 "nothing added to commit but untracked files present (use \"git add\" to "
@@ -8566,195 +9475,204 @@ msgstr ""
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents (utilisez \"git add\" pour les suivre)\n"
 
-#: wt-status.c:1775
+#: wt-status.c:1779
 #, c-format
 msgid "nothing added to commit but untracked files present\n"
 msgstr ""
 "aucune modification ajoutée à la validation mais des fichiers non suivis "
 "sont présents\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 ""
 "rien à valider (créez/copiez des fichiers et utilisez \"git add\" pour les "
 "suivre)\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 "rien à valider\n"
 
-#: wt-status.c:1784
+#: wt-status.c:1788
 #, c-format
 msgid "nothing to commit (use -u to show untracked files)\n"
 msgstr "rien à valider (utilisez -u pour afficher les fichiers non suivis)\n"
 
-#: wt-status.c:1788
+#: wt-status.c:1792
 #, c-format
 msgid "nothing to commit, working tree clean\n"
 msgstr "rien à valider, la copie de travail est propre\n"
 
-#: wt-status.c:1901
+#: wt-status.c:1905
 msgid "No commits yet on "
 msgstr "Encore aucun commit sur "
 
-#: wt-status.c:1905
+#: wt-status.c:1909
 msgid "HEAD (no branch)"
 msgstr "HEAD (aucune branche)"
 
-#: wt-status.c:1936
+#: wt-status.c:1940
 msgid "different"
 msgstr "différent"
 
-#: wt-status.c:1938 wt-status.c:1946
+#: wt-status.c:1942 wt-status.c:1950
 msgid "behind "
 msgstr "derrière "
 
-#: wt-status.c:1941 wt-status.c:1944
+#: wt-status.c:1945 wt-status.c:1948
 msgid "ahead "
 msgstr "devant "
 
 #. 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 "Impossible de %s : vous avez des modifications non indexées."
 
-#: wt-status.c:2472
+#: wt-status.c:2476
 msgid "additionally, your index contains uncommitted changes."
 msgstr "de plus, votre index contient des modifications non validées."
 
-#: wt-status.c:2474
+#: wt-status.c:2478
 #, c-format
 msgid "cannot %s: Your index contains uncommitted changes."
 msgstr "%s impossible : votre index contient des modifications non validées."
 
-#: builtin/add.c:25
+#: compat/precompose_utf8.c:58 builtin/clone.c:455
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "échec pour délier '%s'"
+
+#: builtin/add.c:26
 msgid "git add [<options>] [--] <pathspec>..."
 msgstr "git add [<options>] [--] <chemin>..."
 
-#: builtin/add.c:84
+#: builtin/add.c:88
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "état de diff inattendu %c"
 
-#: builtin/add.c:89 builtin/commit.c:288
+#: builtin/add.c:93 builtin/commit.c:288
 msgid "updating files failed"
 msgstr "échec de la mise à jour des fichiers"
 
-#: builtin/add.c:99
+#: builtin/add.c:103
 #, c-format
 msgid "remove '%s'\n"
 msgstr "suppression de '%s'\n"
 
-#: builtin/add.c:174
+#: builtin/add.c:178
 msgid "Unstaged changes after refreshing the index:"
 msgstr "Modifications non indexées après rafraîchissement de l'index :"
 
-#: 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 "Impossible de lire l'index"
 
-#: builtin/add.c:245
+#: builtin/add.c:277
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr "Impossible d'ouvrir '%s' en écriture."
 
-#: builtin/add.c:249
+#: builtin/add.c:281
 msgid "Could not write patch"
 msgstr "Impossible d'écrire le patch"
 
-#: builtin/add.c:252
+#: builtin/add.c:284
 msgid "editing patch failed"
 msgstr "échec de l'édition du patch"
 
-#: builtin/add.c:255
+#: builtin/add.c:287
 #, c-format
 msgid "Could not stat '%s'"
 msgstr "Stat de '%s' impossible"
 
-#: builtin/add.c:257
+#: builtin/add.c:289
 msgid "Empty patch. Aborted."
 msgstr "Patch vide. Abandon."
 
-#: builtin/add.c:262
+#: builtin/add.c:294
 #, c-format
 msgid "Could not apply '%s'"
 msgstr "Impossible d'appliquer '%s'"
 
-#: builtin/add.c:270
+#: builtin/add.c:302
 msgid "The following paths are ignored by one of your .gitignore files:\n"
 msgstr ""
 "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n"
 
-#: builtin/add.c:290 builtin/clean.c:909 builtin/fetch.c:147 builtin/mv.c:124
-#: builtin/prune-packed.c:56 builtin/pull.c:222 builtin/push.c:560
-#: builtin/remote.c:1345 builtin/rm.c:241 builtin/send-pack.c:165
+#: builtin/add.c:322 builtin/clean.c:910 builtin/fetch.c:163 builtin/mv.c:124
+#: builtin/prune-packed.c:56 builtin/pull.c:203 builtin/push.c:548
+#: builtin/remote.c:1421 builtin/rm.c:242 builtin/send-pack.c:165
 msgid "dry run"
 msgstr "simuler l'action"
 
-#: builtin/add.c:293
+#: builtin/add.c:325
 msgid "interactive picking"
 msgstr "sélection interactive"
 
-#: 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 "sélection interactive des sections"
 
-#: builtin/add.c:295
+#: builtin/add.c:327
 msgid "edit current diff and apply"
 msgstr "édition du diff actuel et application"
 
-#: builtin/add.c:296
+#: builtin/add.c:328
 msgid "allow adding otherwise ignored files"
 msgstr "permettre l'ajout de fichiers ignorés"
 
-#: builtin/add.c:297
+#: builtin/add.c:329
 msgid "update tracked files"
 msgstr "mettre à jour les fichiers suivis"
 
-#: builtin/add.c:298
+#: builtin/add.c:330
 msgid "renormalize EOL of tracked files (implies -u)"
 msgstr ""
 "renormaliser les fins de lignes (EOL) des fichiers suivis (implique -u)"
 
-#: builtin/add.c:299
+#: builtin/add.c:331
 msgid "record only the fact that the path will be added later"
 msgstr "enregistrer seulement le fait que le chemin sera ajouté plus tard"
 
-#: builtin/add.c:300
+#: builtin/add.c:332
 msgid "add changes from all tracked and untracked files"
 msgstr "ajouter les modifications de tous les fichiers suivis et non suivis"
 
-#: builtin/add.c:303
+#: builtin/add.c:335
 msgid "ignore paths removed in the working tree (same as --no-all)"
 msgstr ""
 "ignorer les chemins effacés dans la copie de travail (identique à --no-all)"
 
-#: builtin/add.c:305
+#: builtin/add.c:337
 msgid "don't add, only refresh the index"
 msgstr "ne pas ajouter, juste rafraîchir l'index"
 
-#: builtin/add.c:306
+#: builtin/add.c:338
 msgid "just skip files which cannot be added because of errors"
 msgstr ""
 "sauter seulement les fichiers qui ne peuvent pas être ajoutés du fait "
 "d'erreurs"
 
-#: builtin/add.c:307
+#: builtin/add.c:339
 msgid "check if - even missing - files are ignored in dry run"
 msgstr "vérifier si des fichiers - même manquants - sont ignorés, à vide"
 
-#: 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 "outrepasser le bit exécutable pour les fichiers listés"
 
-#: builtin/add.c:311
+#: builtin/add.c:343
 msgid "warn when adding an embedded repository"
 msgstr "avertir lors de l'ajout d'un dépôt embarqué"
 
-#: builtin/add.c:326
+#: builtin/add.c:345
+msgid "backend for `git stash -p`"
+msgstr "backend pour `git stash -p`"
+
+#: builtin/add.c:363
 #, c-format
 msgid ""
 "You've added another git repository inside your current repository.\n"
@@ -8785,154 +9703,178 @@ msgstr ""
 "\n"
 "Référez-vous à \"git help submodule\" pour plus d'information."
 
-#: builtin/add.c:354
+#: builtin/add.c:391
 #, c-format
 msgid "adding embedded git repository: %s"
 msgstr "dépôt git embarqué ajouté : %s"
 
-#: builtin/add.c:372
-#, c-format
-msgid "Use -f if you really want to add them.\n"
-msgstr "Utilisez -f si vous voulez réellement les ajouter.\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 ""
+"Utilisez -f si vous voulez vraiment les ajouter.\n"
+"Éliminez ce message en lançant\n"
+"\"git config advice.addIgnoredFile false\""
 
-#: builtin/add.c:379
+#: builtin/add.c:419
 msgid "adding files failed"
 msgstr "échec de l'ajout de fichiers"
 
-#: builtin/add.c:419
+#: builtin/add.c:447 builtin/commit.c:348
+msgid "--pathspec-from-file is incompatible with --interactive/--patch"
+msgstr "--pathspec-from-file est incompatible avec --interactive/--patch"
+
+#: builtin/add.c:464
+msgid "--pathspec-from-file is incompatible with --edit"
+msgstr "--pathspec-from-file est incompatible avec --edit"
+
+#: builtin/add.c:476
 msgid "-A and -u are mutually incompatible"
 msgstr "-A et -u sont mutuellement incompatibles"
 
-#: builtin/add.c:426
+#: builtin/add.c:479
 msgid "Option --ignore-missing can only be used together with --dry-run"
 msgstr ""
 "L'option --ignore-missing ne peut être utilisée qu'en complément de --dry-run"
 
-#: builtin/add.c:430
+#: builtin/add.c:483
 #, c-format
 msgid "--chmod param '%s' must be either -x or +x"
 msgstr "Le paramètre '%s' de --chmod doit être soit -x soit +x"
 
-#: builtin/add.c:445
+#: builtin/add.c:501 builtin/checkout.c:1675 builtin/commit.c:354
+#: builtin/reset.c:327 builtin/rm.c:272 builtin/stash.c:1509
+msgid "--pathspec-from-file is incompatible with pathspec arguments"
+msgstr "--pathspec-from-file est incompatible avec pathspec arguments"
+
+#: builtin/add.c:508 builtin/checkout.c:1687 builtin/commit.c:360
+#: builtin/reset.c:333 builtin/rm.c:278 builtin/stash.c:1515
+msgid "--pathspec-file-nul requires --pathspec-from-file"
+msgstr "--pathspec-file-nul nécessite --pathspec-from-file"
+
+#: builtin/add.c:512
 #, c-format
 msgid "Nothing specified, nothing added.\n"
 msgstr "Rien de spécifié, rien n'a été ajouté.\n"
 
-#: builtin/add.c:446
-#, c-format
-msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr "Vous vouliez sûrement dire '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 ""
+"Peut-être avez-vous voulu dire 'git add .' ?\n"
+"Éliminez ce message en lançant\n"
+"\"git config advice.addEmptyPathspec false\""
 
-#: builtin/am.c:348
+#: builtin/am.c:352
 msgid "could not parse author script"
 msgstr "impossible d'analyser l'auteur du script"
 
-#: builtin/am.c:432
+#: builtin/am.c:436
 #, c-format
 msgid "'%s' was deleted by the applypatch-msg hook"
 msgstr "'%s' a été effacé par le crochet applypatch-msg"
 
-#: builtin/am.c:474
+#: builtin/am.c:478
 #, c-format
 msgid "Malformed input line: '%s'."
 msgstr "Ligne en entrée malformée : '%s'."
 
-#: builtin/am.c:512
+#: builtin/am.c:516
 #, c-format
 msgid "Failed to copy notes from '%s' to '%s'"
 msgstr "Impossible de copier les notes de '%s' vers '%s'"
 
-#: builtin/am.c:538
+#: builtin/am.c:542
 msgid "fseek failed"
 msgstr "échec de fseek"
 
-#: builtin/am.c:726
+#: builtin/am.c:730
 #, c-format
 msgid "could not parse patch '%s'"
 msgstr "impossible d'analyser le patch '%s'"
 
-#: builtin/am.c:791
+#: builtin/am.c:795
 msgid "Only one StGIT patch series can be applied at once"
 msgstr "Seulement une série de patchs StGIT peut être appliquée à la fois"
 
-#: builtin/am.c:839
+#: builtin/am.c:843
 msgid "invalid timestamp"
 msgstr "horodatage invalide"
 
-#: builtin/am.c:844 builtin/am.c:856
+#: builtin/am.c:848 builtin/am.c:860
 msgid "invalid Date line"
 msgstr "ligne de Date invalide"
 
-#: builtin/am.c:851
+#: builtin/am.c:855
 msgid "invalid timezone offset"
 msgstr "décalage horaire invalide"
 
-#: builtin/am.c:944
+#: builtin/am.c:948
 msgid "Patch format detection failed."
 msgstr "Échec de détection du format du patch."
 
-#: 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 "échec de la création du répertoire '%s'"
 
-#: builtin/am.c:954
+#: builtin/am.c:958
 msgid "Failed to split patches."
 msgstr "Échec de découpage des patchs."
 
-#: builtin/am.c:1084 builtin/commit.c:374
-msgid "unable to write index file"
-msgstr "impossible d'écrire le fichier d'index"
-
-#: builtin/am.c:1098
+#: builtin/am.c:1089
 #, c-format
 msgid "When you have resolved this problem, run \"%s --continue\"."
 msgstr "Quand vous avez résolu ce problème, lancez \"%s --continue\"."
 
-#: builtin/am.c:1099
+#: builtin/am.c:1090
 #, c-format
 msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
 msgstr "Si vous préférez plutôt sauter ce patch, lancez \"%s --skip\"."
 
-#: builtin/am.c:1100
+#: builtin/am.c:1091
 #, c-format
 msgid "To restore the original branch and stop patching, run \"%s --abort\"."
 msgstr ""
 "Pour restaurer la branche originale et arrêter de patcher, lancez \"%s --"
 "abort\"."
 
-#: builtin/am.c:1183
+#: builtin/am.c:1174
 msgid "Patch sent with format=flowed; space at the end of lines might be lost."
 msgstr ""
 "Rustine envoyée avec format=flowed ; les espaces en fin de ligne peuvent "
 "être perdus."
 
-#: builtin/am.c:1211
+#: builtin/am.c:1202
 msgid "Patch is empty."
 msgstr "Le patch actuel est vide."
 
-#: builtin/am.c:1277
+#: builtin/am.c:1267
 #, c-format
-msgid "invalid ident line: %.*s"
-msgstr "ligne d'identification invalide : %.*s"
+msgid "missing author line in commit %s"
+msgstr "ligne d'auteur manquante dans le commit %s"
 
-#: builtin/am.c:1299
+#: builtin/am.c:1270
 #, c-format
-msgid "unable to parse commit %s"
-msgstr "impossible d'analyser le commit %s"
+msgid "invalid ident line: %.*s"
+msgstr "ligne d'identification invalide : %.*s"
 
-#: builtin/am.c:1496
+#: builtin/am.c:1489
 msgid "Repository lacks necessary blobs to fall back on 3-way merge."
 msgstr ""
 "Le dépôt n'a pas les blobs nécessaires pour un retour à une fusion à 3 "
 "points."
 
-#: builtin/am.c:1498
+#: builtin/am.c:1491
 msgid "Using index info to reconstruct a base tree..."
 msgstr ""
 "Utilisation de l'information de l'index pour reconstruire un arbre de base..."
 
-#: 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."
@@ -8940,24 +9882,24 @@ msgstr ""
 "Avez-vous édité le patch à la main ?\n"
 "Il ne s'applique pas aux blobs enregistrés dans son index."
 
-#: builtin/am.c:1523
+#: builtin/am.c:1516
 msgid "Falling back to patching base and 3-way merge..."
 msgstr "Retour à un patch de la base et fusion à 3 points..."
 
-#: builtin/am.c:1549
+#: builtin/am.c:1542
 msgid "Failed to merge in the changes."
 msgstr "Échec d'intégration des modifications."
 
-#: builtin/am.c:1581
+#: builtin/am.c:1574
 msgid "applying to an empty history"
 msgstr "application à un historique vide"
 
-#: 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 "impossible de continuer : %s n'existe pas."
 
-#: builtin/am.c:1650
+#: builtin/am.c:1643
 msgid "Commit Body is:"
 msgstr "Le corps de la validation est :"
 
@@ -8965,36 +9907,39 @@ msgstr "Le corps de la validation est :"
 #. 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 "Appliquer ? [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 "impossible d'écrire le fichier d'index"
+
+#: builtin/am.c:1704
 #, c-format
 msgid "Dirty index: cannot apply patches (dirty: %s)"
 msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
 
-#: builtin/am.c:1750 builtin/am.c:1818
+#: builtin/am.c:1744 builtin/am.c:1812
 #, c-format
 msgid "Applying: %.*s"
 msgstr "Application de  %.*s"
 
-#: builtin/am.c:1767
+#: builtin/am.c:1761
 msgid "No changes -- Patch already applied."
 msgstr "Pas de changement -- Patch déjà appliqué."
 
-#: builtin/am.c:1773
+#: builtin/am.c:1767
 #, c-format
 msgid "Patch failed at %s %.*s"
 msgstr "le patch a échoué à %s %.*s"
 
-#: builtin/am.c:1777
-msgid "Use 'git am --show-current-patch' to see the failed patch"
-msgstr ""
-"Utilisez 'git am --show-current-patch' pour visualiser le patch en échec"
+#: builtin/am.c:1771
+msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
+msgstr "Utilisez 'git am --show-current-patch=diff' pour visualiser le patch en échec"
 
-#: 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"
@@ -9005,7 +9950,7 @@ msgstr ""
 "introduit les mêmes changements ; vous pourriez avoir envie de sauter ce "
 "patch."
 
-#: 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 "
@@ -9018,17 +9963,17 @@ msgstr ""
 "Vous pouvez lancer 'git rm' sur un fichier \"supprimé par eux\" pour "
 "accepter son état."
 
-#: 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 "Impossible d'analyser l'objet '%s'."
 
-#: builtin/am.c:1987
+#: builtin/am.c:1981
 msgid "failed to clean index"
 msgstr "échec du nettoyage de l'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"
@@ -9036,145 +9981,155 @@ msgstr ""
 "Vous semblez avoir déplacé la HEAD depuis le dernier échec de 'am'.\n"
 "Pas de retour à ORIG_HEAD"
 
-#: builtin/am.c:2128
+#: builtin/am.c:2132
 #, c-format
 msgid "Invalid value for --patch-format: %s"
 msgstr "Valeur invalide pour --patch-format : %s"
 
-#: builtin/am.c:2164
+#: builtin/am.c:2172
+#, c-format
+msgid "Invalid value for --show-current-patch: %s"
+msgstr "Valeur invalide pour --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 est incompatible avec --show-current-patch=%s"
+
+#: builtin/am.c:2207
 msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
 msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
 
-#: builtin/am.c:2165
+#: builtin/am.c:2208
 msgid "git am [<options>] (--continue | --skip | --abort)"
 msgstr "git am [<options>] (--continue | --skip | --abort)"
 
-#: builtin/am.c:2171
+#: builtin/am.c:2214
 msgid "run interactively"
 msgstr "exécution interactive"
 
-#: builtin/am.c:2173
+#: builtin/am.c:2216
 msgid "historical option -- no-op"
 msgstr "option historique -- no-op"
 
-#: builtin/am.c:2175
+#: builtin/am.c:2218
 msgid "allow fall back on 3way merging if needed"
 msgstr "permettre de revenir à une fusion à 3 points si nécessaire"
 
-#: 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 "être silencieux"
 
-#: builtin/am.c:2178
+#: builtin/am.c:2221
 msgid "add a Signed-off-by line to the commit message"
 msgstr "ajouter une ligne Signed-off-by au message de validation"
 
-#: builtin/am.c:2181
+#: builtin/am.c:2224
 msgid "recode into utf8 (default)"
 msgstr "recoder en utf-8 (par défaut)"
 
-#: builtin/am.c:2183
+#: builtin/am.c:2226
 msgid "pass -k flag to git-mailinfo"
 msgstr "passer l'option -k à git-mailinfo"
 
-#: builtin/am.c:2185
+#: builtin/am.c:2228
 msgid "pass -b flag to git-mailinfo"
 msgstr "passer l'option -b à git-mailinfo"
 
-#: builtin/am.c:2187
+#: builtin/am.c:2230
 msgid "pass -m flag to git-mailinfo"
 msgstr "passer l'option -m à git-mailinfo"
 
-#: builtin/am.c:2189
+#: builtin/am.c:2232
 msgid "pass --keep-cr flag to git-mailsplit for mbox format"
 msgstr "passer l'option --keep-cr à git-mailsplit fpour le format mbox"
 
-#: builtin/am.c:2192
+#: builtin/am.c:2235
 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
 msgstr ""
 "ne pas passer l'option --keep-cr à git-mailsplit indépendamment de am.keepcr"
 
-#: builtin/am.c:2195
+#: builtin/am.c:2238
 msgid "strip everything before a scissors line"
 msgstr "retirer tout le contenu avant la ligne des ciseaux"
 
-#: 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 "le passer jusqu'à git-apply"
 
-#: builtin/am.c:2214 builtin/commit.c:1368 builtin/fmt-merge-msg.c:671
-#: builtin/fmt-merge-msg.c:674 builtin/grep.c:881 builtin/merge.c:249
-#: builtin/pull.c:159 builtin/pull.c:218 builtin/rebase.c:1418
-#: builtin/repack.c:307 builtin/repack.c:311 builtin/repack.c:313
+#: builtin/am.c:2257 builtin/commit.c:1391 builtin/fmt-merge-msg.c:670
+#: builtin/fmt-merge-msg.c:673 builtin/grep.c:871 builtin/merge.c:250
+#: builtin/pull.c:140 builtin/pull.c:199 builtin/rebase.c:1505
+#: builtin/repack.c:315 builtin/repack.c:319 builtin/repack.c:321
 #: builtin/show-branch.c:650 builtin/show-ref.c:172 builtin/tag.c:403
-#: parse-options.h:141 parse-options.h:162 parse-options.h:312
+#: parse-options.h:154 parse-options.h:175 parse-options.h:316
 msgid "n"
 msgstr "n"
 
-#: builtin/am.c:2220 builtin/branch.c:661 builtin/for-each-ref.c:38
-#: builtin/replace.c:554 builtin/tag.c:437 builtin/verify-tag.c:38
+#: builtin/am.c:2263 builtin/branch.c:661 builtin/for-each-ref.c:38
+#: builtin/replace.c:556 builtin/tag.c:437 builtin/verify-tag.c:38
 msgid "format"
 msgstr "format"
 
-#: builtin/am.c:2221
+#: builtin/am.c:2264
 msgid "format the patch(es) are in"
 msgstr "format de présentation des patchs"
 
-#: builtin/am.c:2227
+#: builtin/am.c:2270
 msgid "override error message when patch failure occurs"
 msgstr "surcharger le message d'erreur lors d'un échec d'application de patch"
 
-#: builtin/am.c:2229
+#: builtin/am.c:2272
 msgid "continue applying patches after resolving a conflict"
 msgstr "continuer à appliquer les patchs après résolution d'un conflit"
 
-#: builtin/am.c:2232
+#: builtin/am.c:2275
 msgid "synonyms for --continue"
 msgstr "synonymes de --continue"
 
-#: builtin/am.c:2235
+#: builtin/am.c:2278
 msgid "skip the current patch"
 msgstr "sauter le patch courant"
 
-#: builtin/am.c:2238
+#: builtin/am.c:2281
 msgid "restore the original branch and abort the patching operation."
 msgstr ""
 "restaurer la branche originale et abandonner les applications de patch."
 
-#: builtin/am.c:2241
+#: builtin/am.c:2284
 msgid "abort the patching operation but keep HEAD where it is."
 msgstr "abandonne l'opération de patch mais garde HEAD où il est."
 
-#: builtin/am.c:2244
-msgid "show the patch being applied."
-msgstr "afficher le patch en cours d'application."
+#: builtin/am.c:2288
+msgid "show the patch being applied"
+msgstr "afficher le patch en cours d'application"
 
-#: builtin/am.c:2248
+#: builtin/am.c:2293
 msgid "lie about committer date"
 msgstr "mentir sur la date de validation"
 
-#: builtin/am.c:2250
+#: builtin/am.c:2295
 msgid "use current timestamp for author date"
 msgstr "utiliser l'horodatage actuel pour la date d'auteur"
 
-#: 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 "id-clé"
 
-#: 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 "signer les commits avec GPG"
 
-#: builtin/am.c:2256
+#: builtin/am.c:2301
 msgid "(internal use for git-rebase)"
 msgstr "(utilisation interne pour git-rebase)"
 
-#: builtin/am.c:2274
+#: builtin/am.c:2319
 msgid ""
 "The -b/--binary option has been a no-op for long time, and\n"
 "it will be removed. Please do not use it anymore."
@@ -9182,17 +10137,17 @@ msgstr ""
 "L'option -b/--binary ne fait plus rien depuis longtemps,\n"
 "et elle sera supprimée. Veuillez ne plus l'utiliser."
 
-#: builtin/am.c:2281
+#: builtin/am.c:2326
 msgid "failed to read the index"
 msgstr "échec à la lecture de l'index"
 
-#: builtin/am.c:2296
+#: builtin/am.c:2341
 #, c-format
 msgid "previous rebase directory %s still exists but mbox given."
 msgstr ""
 "le répertoire précédent de rebasage %s existe toujours mais mbox donnée."
 
-#: builtin/am.c:2320
+#: builtin/am.c:2365
 #, c-format
 msgid ""
 "Stray %s directory found.\n"
@@ -9201,13 +10156,13 @@ msgstr ""
 "Répertoire abandonné %s trouvé.\n"
 "Utilisez \"git am --abort\" pour le supprimer."
 
-#: builtin/am.c:2326
+#: builtin/am.c:2371
 msgid "Resolve operation not in progress, we are not resuming."
 msgstr ""
 "Pas de résolution de l'opération en cours, nous ne sommes pas dans une "
 "reprise."
 
-#: builtin/am.c:2336
+#: builtin/am.c:2381
 msgid "interactive mode requires patches on the command line"
 msgstr "le mode interactif requiert des rustines sur la ligne de commande"
 
@@ -9332,7 +10287,7 @@ msgstr "Pas de bissection en cours.\n"
 msgid "'%s' is not a valid commit"
 msgstr "'%s' n'est pas un commit valide"
 
-#: 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>'."
@@ -9340,27 +10295,27 @@ msgstr ""
 "Échec d'extraction de la HEAD d'origine '%s'. Essayez 'git bisect reset "
 "<commit>'."
 
-#: builtin/bisect--helper.c:215
+#: builtin/bisect--helper.c:216
 #, c-format
 msgid "Bad bisect_write argument: %s"
 msgstr "Mauvais argument pour bisect_write : %s"
 
-#: builtin/bisect--helper.c:220
+#: builtin/bisect--helper.c:221
 #, c-format
 msgid "couldn't get the oid of the rev '%s'"
 msgstr "impossible d'obtenir l'oid de la révision '%s'"
 
-#: builtin/bisect--helper.c:232
+#: builtin/bisect--helper.c:233
 #, c-format
 msgid "couldn't open the file '%s'"
 msgstr "impossible d'ouvrir le fichier '%s'"
 
-#: builtin/bisect--helper.c:258
+#: builtin/bisect--helper.c:259
 #, c-format
 msgid "Invalid command: you're currently in a %s/%s bisect"
 msgstr "Commande invalide : vous êtes actuellement dans une bissection %s/%s"
 
-#: builtin/bisect--helper.c:285
+#: builtin/bisect--helper.c:286
 #, c-format
 msgid ""
 "You need to give me at least one %s and %s revision.\n"
@@ -9369,7 +10324,7 @@ msgstr ""
 "Vous devez me donner au moins une révision %s et une révision %s.\n"
 "Vous pouvez utiliser \"git bisect %s\" et \"git bisect %s\" pour cela."
 
-#: builtin/bisect--helper.c:289
+#: builtin/bisect--helper.c:290
 #, c-format
 msgid ""
 "You need to start by \"git bisect start\".\n"
@@ -9380,7 +10335,7 @@ msgstr ""
 "Puis vous devez me donner au moins une révision %s et une révision %s.\n"
 "Vous pouvez utiliser \"git bisect %s\" et \"git bisect %s\" pour cela."
 
-#: builtin/bisect--helper.c:321
+#: builtin/bisect--helper.c:310
 #, c-format
 msgid "bisecting only with a %s commit"
 msgstr "Attention : bissection avec seulement une validation %s"
@@ -9389,15 +10344,15 @@ msgstr "Attention : bissection avec seulement une validation %s"
 #. translation. The program will only accept English input
 #. at this point.
 #.
-#: builtin/bisect--helper.c:329
+#: builtin/bisect--helper.c:318
 msgid "Are you sure [Y/n]? "
 msgstr "Confirmez-vous [Y/n] ? "
 
-#: builtin/bisect--helper.c:376
+#: builtin/bisect--helper.c:379
 msgid "no terms defined"
 msgstr "aucun terme défini"
 
-#: builtin/bisect--helper.c:379
+#: builtin/bisect--helper.c:382
 #, c-format
 msgid ""
 "Your current terms are %s for the old state\n"
@@ -9406,7 +10361,7 @@ msgstr ""
 "Vos termes actuels sont %s pour l'état ancien\n"
 "et %s pour le nouvel état.\n"
 
-#: builtin/bisect--helper.c:389
+#: builtin/bisect--helper.c:392
 #, c-format
 msgid ""
 "invalid argument %s for 'git bisect terms'.\n"
@@ -9416,274 +10371,270 @@ msgstr ""
 "Les options supportées sont : --term-good|--term-old et --term-bad|--term-"
 "new."
 
-#: builtin/bisect--helper.c:475
+#: builtin/bisect--helper.c:478
 #, c-format
 msgid "unrecognized option: '%s'"
 msgstr "option non reconnue : %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' ne semble être une révision valide"
 
-#: builtin/bisect--helper.c:511
+#: builtin/bisect--helper.c:514
 msgid "bad HEAD - I need a HEAD"
 msgstr "mauvaise HEAD - j'ai besoin d'une HEAD"
 
-#: builtin/bisect--helper.c:526
+#: builtin/bisect--helper.c:529
 #, c-format
 msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
 msgstr ""
 "L'extraction de '%s' a échoué. Essayez 'git bisect start <branche-valide>'."
 
-#: builtin/bisect--helper.c:547
+#: builtin/bisect--helper.c:550
 msgid "won't bisect on cg-seek'ed tree"
 msgstr "refus de bissecter sur un arbre 'cg-seeked'"
 
-#: builtin/bisect--helper.c:550
+#: builtin/bisect--helper.c:553
 msgid "bad HEAD - strange symbolic ref"
 msgstr "mauvaise HEAD - référence symbolique douteuse"
 
-#: builtin/bisect--helper.c:574
+#: builtin/bisect--helper.c:577
 #, c-format
 msgid "invalid ref: '%s'"
 msgstr "réference invalide : '%s'"
 
-#: builtin/bisect--helper.c:630
+#: builtin/bisect--helper.c:633
 msgid "perform 'git bisect next'"
 msgstr "effectuer 'git bisect next'"
 
-#: builtin/bisect--helper.c:632
+#: builtin/bisect--helper.c:635
 msgid "write the terms to .git/BISECT_TERMS"
 msgstr "écrire les termes dans .git/BISECT_TERMS"
 
-#: builtin/bisect--helper.c:634
+#: builtin/bisect--helper.c:637
 msgid "cleanup the bisection state"
 msgstr "vérifier l'état de la bissection"
 
-#: builtin/bisect--helper.c:636
+#: builtin/bisect--helper.c:639
 msgid "check for expected revs"
 msgstr "vérifier si des révisions sont attendues"
 
-#: builtin/bisect--helper.c:638
+#: builtin/bisect--helper.c:641
 msgid "reset the bisection state"
 msgstr "réinitialiser l'état de la bissection"
 
-#: builtin/bisect--helper.c:640
+#: builtin/bisect--helper.c:643
 msgid "write out the bisection state in BISECT_LOG"
 msgstr "écrire l'état de la bissection dans BISECT_LOG"
 
-#: builtin/bisect--helper.c:642
+#: builtin/bisect--helper.c:645
 msgid "check and set terms in a bisection state"
 msgstr "vérifier et régler les termes dans un état de la bissection"
 
-#: builtin/bisect--helper.c:644
+#: builtin/bisect--helper.c:647
 msgid "check whether bad or good terms exist"
 msgstr "vérifier si les termes bons ou mauvais existent"
 
-#: builtin/bisect--helper.c:646
+#: builtin/bisect--helper.c:649
 msgid "print out the bisect terms"
 msgstr "afficher les termes de bissection"
 
-#: builtin/bisect--helper.c:648
+#: builtin/bisect--helper.c:651
 msgid "start the bisect session"
 msgstr "démarrer une session de bissection"
 
-#: builtin/bisect--helper.c:650
+#: builtin/bisect--helper.c:653
 msgid "update BISECT_HEAD instead of checking out the current commit"
 msgstr "mettre à jour BISECT_HEAD au lieu d'extraire le commit actuel"
 
-#: builtin/bisect--helper.c:652
+#: builtin/bisect--helper.c:655
 msgid "no log for BISECT_WRITE"
 msgstr "pas de journal pour BISECT_WRITE"
 
-#: builtin/bisect--helper.c:669
+#: builtin/bisect--helper.c:673
 msgid "--write-terms requires two arguments"
 msgstr "--write-terms exige deux arguments"
 
-#: builtin/bisect--helper.c:673
+#: builtin/bisect--helper.c:677
 msgid "--bisect-clean-state requires no arguments"
 msgstr "--bisect-clean-state ne supporte aucun argument"
 
-#: builtin/bisect--helper.c:680
+#: builtin/bisect--helper.c:684
 msgid "--bisect-reset requires either no argument or a commit"
 msgstr "--bisect-reset supporte soit aucun argument, soit un commit"
 
-#: builtin/bisect--helper.c:684
+#: builtin/bisect--helper.c:688
 msgid "--bisect-write requires either 4 or 5 arguments"
 msgstr "--bisect-write supporte soit 4 arguments, soit 5 arguments"
 
-#: builtin/bisect--helper.c:690
+#: builtin/bisect--helper.c:694
 msgid "--check-and-set-terms requires 3 arguments"
 msgstr "--check-and-set-terms exige 3 arguments"
 
-#: builtin/bisect--helper.c:696
+#: builtin/bisect--helper.c:700
 msgid "--bisect-next-check requires 2 or 3 arguments"
 msgstr "--bisect-next-check exige 2 ou 3 arguments"
 
-#: builtin/bisect--helper.c:702
+#: builtin/bisect--helper.c:706
 msgid "--bisect-terms requires 0 or 1 argument"
 msgstr "--bisect-terms exige 0 ou 1 argument"
 
-#: builtin/blame.c:32
+#: builtin/blame.c:31
 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
 msgstr "git blame [<options>] [<rev-opts>] [<rev>] [--] <fichier>"
 
-#: builtin/blame.c:37
+#: builtin/blame.c:36
 msgid "<rev-opts> are documented in git-rev-list(1)"
 msgstr "<options-de-révision> sont documentés dans git-rev-list(1)"
 
-#: builtin/blame.c:410
+#: builtin/blame.c:409
 #, c-format
 msgid "expecting a color: %s"
 msgstr "couleur attendue : %s"
 
-#: builtin/blame.c:417
+#: builtin/blame.c:416
 msgid "must end with a color"
 msgstr "doit finir avec une couleur"
 
-#: builtin/blame.c:730
+#: builtin/blame.c:729
 #, c-format
 msgid "invalid color '%s' in color.blame.repeatedLines"
 msgstr "couleur invalide '%s' dans color.blame.repeatedlines"
 
-#: builtin/blame.c:748
+#: builtin/blame.c:747
 msgid "invalid value for blame.coloring"
 msgstr "valeur invalide pour blame.coloring"
 
-#: builtin/blame.c:823
+#: builtin/blame.c:822
 #, c-format
 msgid "cannot find revision %s to ignore"
 msgstr "référence à ignorer %s introuvable"
 
-#: builtin/blame.c:845
+#: builtin/blame.c:844
 msgid "Show blame entries as we find them, incrementally"
 msgstr ""
 "Montrer les éléments de blâme au fur et à mesure de leur découverte, de "
 "manière incrémentale"
 
-#: builtin/blame.c:846
+#: builtin/blame.c:845
 msgid "Show blank SHA-1 for boundary commits (Default: off)"
 msgstr "Montrer un SHA-1 blanc pour les commits de limite (Défaut : désactivé)"
 
-#: builtin/blame.c:847
+#: builtin/blame.c:846
 msgid "Do not treat root commits as boundaries (Default: off)"
 msgstr ""
 "Ne pas traiter les commits racine comme des limites (Défaut : désactivé)"
 
-#: builtin/blame.c:848
+#: builtin/blame.c:847
 msgid "Show work cost statistics"
 msgstr "Montrer les statistiques de coût d'activité"
 
-#: builtin/blame.c:849
+#: builtin/blame.c:848
 msgid "Force progress reporting"
 msgstr "Forcer l'affichage de l'état d'avancement"
 
-#: builtin/blame.c:850
+#: builtin/blame.c:849
 msgid "Show output score for blame entries"
 msgstr "Montrer le score de sortie pour les éléments de blâme"
 
-#: builtin/blame.c:851
+#: builtin/blame.c:850
 msgid "Show original filename (Default: auto)"
 msgstr "Montrer les noms de fichier originaux (Défaut : auto)"
 
-#: builtin/blame.c:852
+#: builtin/blame.c:851
 msgid "Show original linenumber (Default: off)"
 msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)"
 
-#: builtin/blame.c:853
+#: builtin/blame.c:852
 msgid "Show in a format designed for machine consumption"
 msgstr "Afficher dans un format propice à la consommation par machine"
 
-#: builtin/blame.c:854
+#: builtin/blame.c:853
 msgid "Show porcelain format with per-line commit information"
 msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
 
-#: builtin/blame.c:855
+#: builtin/blame.c:854
 msgid "Use the same output mode as git-annotate (Default: off)"
 msgstr "Utiliser le même mode de sortie que git-annotate (Défaut : désactivé)"
 
-#: builtin/blame.c:856
+#: builtin/blame.c:855
 msgid "Show raw timestamp (Default: off)"
 msgstr "Afficher les horodatages bruts (Défaut : désactivé)"
 
-#: builtin/blame.c:857
+#: builtin/blame.c:856
 msgid "Show long commit SHA1 (Default: off)"
 msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)"
 
-#: builtin/blame.c:858
+#: builtin/blame.c:857
 msgid "Suppress author name and timestamp (Default: off)"
 msgstr "Supprimer le nom de l'auteur et l'horodatage (Défaut : désactivé)"
 
-#: builtin/blame.c:859
+#: builtin/blame.c:858
 msgid "Show author email instead of name (Default: off)"
 msgstr "Afficher le courriel de l'auteur au lieu du nom (Défaut : désactivé)"
 
-#: builtin/blame.c:860
+#: builtin/blame.c:859
 msgid "Ignore whitespace differences"
 msgstr "Ignorer les différences d'espace"
 
-#: builtin/blame.c:861 builtin/log.c:1629
+#: builtin/blame.c:860 builtin/log.c:1702
 msgid "rev"
 msgstr "rév"
 
-#: builtin/blame.c:861
+#: builtin/blame.c:860
 msgid "Ignore <rev> when blaming"
 msgstr "ignore <rev> pendant le blâme"
 
-#: builtin/blame.c:862
+#: builtin/blame.c:861
 msgid "Ignore revisions from <file>"
 msgstr "ignorer les révisions listées dans <fichier>"
 
-#: builtin/blame.c:863
+#: builtin/blame.c:862
 msgid "color redundant metadata from previous line differently"
 msgstr ""
 "colorer différemment les métadonnées redondantes avec la ligne précédente"
 
-#: builtin/blame.c:864
+#: builtin/blame.c:863
 msgid "color lines by age"
 msgstr "colorier les lignes par âge"
 
-#: builtin/blame.c:871
-msgid "Use an experimental heuristic to improve diffs"
-msgstr "Utiliser une heuristique expérimentale pour améliorer les diffs"
-
-#: builtin/blame.c:873
+#: builtin/blame.c:864
 msgid "Spend extra cycles to find better match"
 msgstr ""
 "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance"
 
-#: builtin/blame.c:874
+#: builtin/blame.c:865
 msgid "Use revisions from <file> instead of calling git-rev-list"
 msgstr ""
 "Utiliser les révisions du fichier <fichier> au lieu d'appeler git-rev-list"
 
-#: builtin/blame.c:875
+#: builtin/blame.c:866
 msgid "Use <file>'s contents as the final image"
 msgstr "Utiliser le contenu de <fichier> comme image finale"
 
-#: builtin/blame.c:876 builtin/blame.c:877
+#: builtin/blame.c:867 builtin/blame.c:868
 msgid "score"
 msgstr "score"
 
-#: builtin/blame.c:876
+#: builtin/blame.c:867
 msgid "Find line copies within and across files"
 msgstr "Trouver les copies de ligne dans et entre les fichiers"
 
-#: builtin/blame.c:877
+#: builtin/blame.c:868
 msgid "Find line movements within and across files"
 msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
 
-#: 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 ""
 "Traiter seulement l'intervalle de ligne n,m en commençant le compte à 1"
 
-#: builtin/blame.c:929
+#: builtin/blame.c:921
 msgid "--progress can't be used with --incremental or porcelain formats"
 msgstr ""
 "--progress ne peut pas être utilisé avec --incremental ou les formats "
@@ -9697,18 +10648,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 "il y a 10 ans et 11 mois"
 
-#: 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] "le fichier %s n'a qu'%lu ligne"
 msgstr[1] "le fichier %s n'a que %lu lignes"
 
-#: builtin/blame.c:1133
+#: builtin/blame.c:1125
 msgid "Blaming lines"
 msgstr "Assignation de blâme aux lignes"
 
@@ -9923,7 +10874,7 @@ msgstr "régler le mode de suivi (voir git-pull(1))"
 msgid "do not use"
 msgstr "ne pas utiliser"
 
-#: builtin/branch.c:626 builtin/rebase.c:485
+#: builtin/branch.c:626 builtin/rebase.c:513
 msgid "upstream"
 msgstr "amont"
 
@@ -9932,8 +10883,8 @@ msgid "change the upstream info"
 msgstr "modifier l'information amont"
 
 #: builtin/branch.c:627
-msgid "Unset the upstream info"
-msgstr "Désactiver l'information amont"
+msgid "unset the upstream info"
+msgstr "désactiver l'information amont"
 
 #: builtin/branch.c:628
 msgid "use colored output"
@@ -10034,7 +10985,7 @@ msgstr "le tri et le filtrage sont non-sensibles à la casse"
 msgid "format to use for the output"
 msgstr "format à utiliser pour la sortie"
 
-#: 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 non trouvée sous refs/heads !"
 
@@ -10126,20 +11077,65 @@ msgstr ""
 "l'option '--set-upstream' est obsolète. Utilisez '--track' ou '--set-"
 "upstream-to' à la place."
 
-#: builtin/bundle.c:45
-#, c-format
-msgid "%s is okay\n"
-msgstr "%s est correct\n"
+#: builtin/bundle.c:15 builtin/bundle.c:23
+msgid "git bundle create [<options>] <file> <git-rev-list args>"
+msgstr "git bundle create [<options>] <fichier> <args git-rev-list>"
+
+#: builtin/bundle.c:16 builtin/bundle.c:28
+msgid "git bundle verify [<options>] <file>"
+msgstr "git bundle verify [<options>] <fichier>"
+
+#: builtin/bundle.c:17 builtin/bundle.c:33
+msgid "git bundle list-heads <file> [<refname>...]"
+msgstr "git bundle list-heads <fichier> [<nom-de-ref>...]"
+
+#: builtin/bundle.c:18 builtin/bundle.c:38
+msgid "git bundle unbundle <file> [<refname>...]"
+msgstr "git bundle unbundle <fichier> [<nom-de-ref>...]"
+
+#: builtin/bundle.c:66 builtin/pack-objects.c:3375
+msgid "do not show progress meter"
+msgstr "ne pas afficher la barre de progression"
+
+#: builtin/bundle.c:68 builtin/pack-objects.c:3377
+msgid "show progress meter"
+msgstr "afficher la barre de progression"
+
+#: builtin/bundle.c:70 builtin/pack-objects.c:3379
+msgid "show progress meter during object writing phase"
+msgstr "afficher la barre de progression durant la phase d'écrite des objets"
 
-#: builtin/bundle.c:58
+#: builtin/bundle.c:73 builtin/pack-objects.c:3382
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "similaire à --all-progress quand la barre de progression est affichée"
+
+#: builtin/bundle.c:93
 msgid "Need a repository to create a bundle."
 msgstr "La création d'un colis requiert un dépôt."
 
-#: builtin/bundle.c:62
+#: builtin/bundle.c:104
+msgid "do not show bundle details"
+msgstr "ne pas afficher les détails du colis"
+
+#: builtin/bundle.c:119
+#, c-format
+msgid "%s is okay\n"
+msgstr "%s est correct\n"
+
+#: builtin/bundle.c:160
 msgid "Need a repository to unbundle."
 msgstr "Le dépaquetage d'un colis requiert un dépôt."
 
-#: builtin/cat-file.c:594
+#: builtin/bundle.c:168 builtin/remote.c:1686
+msgid "be verbose; must be placed before a subcommand"
+msgstr "être verbeux : doit être placé avant une sous-commande"
+
+#: builtin/bundle.c:190 builtin/remote.c:1717
+#, c-format
+msgid "Unknown subcommand: %s"
+msgstr "Sous-commande inconnue : %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>"
@@ -10147,7 +11143,7 @@ msgstr ""
 "git cat-file (-t [--allow-unknow-type] | -s [--allow-unknow-type] | -e | -p "
 "| <type> | --textconv | --filters) [--path=<chemin>] <objet>"
 
-#: builtin/cat-file.c:595
+#: builtin/cat-file.c:596
 msgid ""
 "git cat-file (--batch | --batch-check) [--follow-symlinks] [--textconv | --"
 "filters]"
@@ -10155,74 +11151,74 @@ 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 "une seule option de traitement ne peut être spécifiée à la fois"
 
-#: builtin/cat-file.c:634
+#: builtin/cat-file.c:635
 msgid "<type> can be one of: blob, tree, commit, tag"
 msgstr "<type> peut être : blob, tree, commit ou tag"
 
-#: builtin/cat-file.c:635
+#: builtin/cat-file.c:636
 msgid "show object type"
 msgstr "afficher le type de l'objet"
 
-#: builtin/cat-file.c:636
+#: builtin/cat-file.c:637
 msgid "show object size"
 msgstr "afficher la taille de l'objet"
 
-#: builtin/cat-file.c:638
+#: builtin/cat-file.c:639
 msgid "exit with zero when there's no error"
 msgstr "sortir avec un code d'erreur nul quand il n'y a aucune erreur"
 
-#: builtin/cat-file.c:639
+#: builtin/cat-file.c:640
 msgid "pretty-print object's content"
 msgstr "afficher avec mise en forme le contenu de l'objet"
 
-#: builtin/cat-file.c:641
+#: builtin/cat-file.c:642
 msgid "for blob objects, run textconv on object's content"
 msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet"
 
-#: builtin/cat-file.c:643
+#: builtin/cat-file.c:644
 msgid "for blob objects, run filters on object's content"
 msgstr "pour les objets blob, lancer les filtres sur le contenu de l'objet"
 
-#: 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 "utiliser un chemin spécifique pour --textconv/--filters"
 
-#: builtin/cat-file.c:647
+#: builtin/cat-file.c:648
 msgid "allow -s and -t to work with broken/corrupt objects"
 msgstr "autoriser -s et -t à travailler sur des objets cassés/corrompus"
 
-#: builtin/cat-file.c:648
+#: builtin/cat-file.c:649
 msgid "buffer --batch output"
 msgstr "bufferiser la sortie de --batch"
 
-#: builtin/cat-file.c:650
+#: builtin/cat-file.c:651
 msgid "show info and content of objects fed from the standard input"
 msgstr ""
 "afficher l'information et le contenu des objets passés en entrée standard"
 
-#: builtin/cat-file.c:654
+#: builtin/cat-file.c:655
 msgid "show info about objects fed from the standard input"
 msgstr "afficher l'information des objets passés en entrée standard"
 
-#: builtin/cat-file.c:658
+#: builtin/cat-file.c:659
 msgid "follow in-tree symlinks (used with --batch or --batch-check)"
 msgstr ""
 "suivre les liens symbolique internes à la copie de travail (utilisé avec --"
 "batch ou --batch-check)"
 
-#: builtin/cat-file.c:660
+#: builtin/cat-file.c:661
 msgid "show all objects with --batch or --batch-check"
 msgstr "montrer tous les objets avec --batch ou --batch-check"
 
-#: builtin/cat-file.c:662
+#: builtin/cat-file.c:663
 msgid "do not order --batch-all-objects output"
 msgstr "ne pas ordonner la sortie de --batch-all-objects"
 
@@ -10251,8 +11247,8 @@ msgid "terminate input and output records by a NUL character"
 msgstr ""
 "terminer les enregistrements en entrée et en sortie par un caractère NUL"
 
-#: builtin/check-ignore.c:21 builtin/checkout.c:1433 builtin/gc.c:538
-#: builtin/worktree.c:507
+#: builtin/check-ignore.c:21 builtin/checkout.c:1464 builtin/gc.c:537
+#: builtin/worktree.c:499
 msgid "suppress progress reporting"
 msgstr "supprimer l'état d'avancement"
 
@@ -10264,27 +11260,27 @@ msgstr "afficher les chemins en entrée qui ne correspondent pas"
 msgid "ignore index when checking"
 msgstr "ignorer l'index pendant la vérification"
 
-#: builtin/check-ignore.c:160
+#: builtin/check-ignore.c:163
 msgid "cannot specify pathnames with --stdin"
 msgstr "impossible de spécifier les chemins avec --stdin"
 
-#: builtin/check-ignore.c:163
+#: builtin/check-ignore.c:166
 msgid "-z only makes sense with --stdin"
 msgstr "-z n'a de sens qu'avec l'option --stdin"
 
-#: builtin/check-ignore.c:165
+#: builtin/check-ignore.c:168
 msgid "no path specified"
 msgstr "aucun chemin spécifié"
 
-#: builtin/check-ignore.c:169
+#: builtin/check-ignore.c:172
 msgid "--quiet is only valid with a single pathname"
 msgstr "--quiet n'est valide qu'avec un seul chemin"
 
-#: builtin/check-ignore.c:171
+#: builtin/check-ignore.c:174
 msgid "cannot have both --quiet and --verbose"
 msgstr "impossible d'avoir --quiet et --verbose"
 
-#: builtin/check-ignore.c:174
+#: builtin/check-ignore.c:177
 msgid "--non-matching is only valid with --verbose"
 msgstr "--non-matching n'est valide qu'avec --verbose"
 
@@ -10344,9 +11340,9 @@ msgid "write the content to temporary files"
 msgstr "écrire le contenu dans des fichiers temporaires"
 
 #: 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 "chaîne"
 
@@ -10374,100 +11370,100 @@ msgstr "git switch [<options>] <branche>"
 msgid "git restore [<options>] [--source=<branch>] <file>..."
 msgstr "git restore [<options>] [--source=<branche>] <fichier>..."
 
-#: 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 "le chemin '%s' n'a pas notre 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 "le chemin '%s' n'a pas leur version"
 
-#: builtin/checkout.c:190
+#: builtin/checkout.c:193
 #, c-format
 msgid "path '%s' does not have all necessary versions"
 msgstr "le chemin '%s' n'a aucune des versions nécessaires"
 
-#: builtin/checkout.c:240
+#: builtin/checkout.c:243
 #, c-format
 msgid "path '%s' does not have necessary versions"
 msgstr "le chemin '%s' n'a pas les versions nécessaires"
 
-#: builtin/checkout.c:258
+#: builtin/checkout.c:261
 #, c-format
 msgid "path '%s': cannot merge"
 msgstr "chemin '%s' : impossible de fusionner"
 
-#: builtin/checkout.c:274
+#: builtin/checkout.c:277
 #, c-format
 msgid "Unable to add merge result for '%s'"
 msgstr "Impossible d'ajouter le résultat de fusion pour '%s'"
 
-#: builtin/checkout.c:374
+#: builtin/checkout.c:377
 #, c-format
 msgid "Recreated %d merge conflict"
 msgid_plural "Recreated %d merge conflicts"
 msgstr[0] "%d conflit du fusion recréé"
 msgstr[1] "%d conflits du fusion recréés"
 
-#: 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 chemin mis à jour depuis %s"
 msgstr[1] "%d chemins mis à jour depuis %s"
 
-#: 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 chemin mis à jour depuis l'index"
 msgstr[1] "%d chemins mis à jour depuis l'index"
 
-#: 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' ne peut pas être utilisé avec des mises à jour de chemins"
 
-#: 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' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:429
+#: builtin/checkout.c:432
 #, c-format
 msgid "Cannot update paths and switch to branch '%s' at the same time."
 msgstr ""
 "Impossible de mettre à jour les chemins et basculer sur la branche '%s' en "
 "même temps."
 
-#: builtin/checkout.c:433
+#: builtin/checkout.c:436
 #, c-format
 msgid "neither '%s' or '%s' is specified"
 msgstr "ni '%s', ni '%s' spécifié"
 
-#: builtin/checkout.c:437
+#: builtin/checkout.c:440
 #, c-format
 msgid "'%s' must be used when '%s' is not specified"
 msgstr "'%s' ne peut pas être utilisé quand '%s' n'est pas spécifié"
 
-#: 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' ou '%s' ne peut pas être utilisé avec %s"
 
-#: builtin/checkout.c:506 builtin/checkout.c:513
+#: builtin/checkout.c:509 builtin/checkout.c:516
 #, c-format
 msgid "path '%s' is unmerged"
 msgstr "le chemin '%s' n'est pas fusionné"
 
-#: builtin/checkout.c:679
+#: builtin/checkout.c:684 builtin/sparse-checkout.c:106
 msgid "you need to resolve your current index first"
 msgstr "vous devez d'abord résoudre votre index courant"
 
-#: builtin/checkout.c:729
+#: builtin/checkout.c:734
 #, c-format
 msgid ""
 "cannot continue with staged changes in the following files:\n"
@@ -10477,56 +11473,50 @@ msgstr ""
 "suivants :\n"
 "%s"
 
-#: builtin/checkout.c:736
-#, c-format
-msgid "staged changes in the following files may be lost: %s"
-msgstr ""
-"les modifications indexées dans les fichiers suivants seraient perdues : %s"
-
-#: builtin/checkout.c:833
+#: builtin/checkout.c:837
 #, c-format
 msgid "Can not do reflog for '%s': %s\n"
 msgstr "Impossible de faire un reflog pour '%s' : %s\n"
 
-#: builtin/checkout.c:875
+#: builtin/checkout.c:879
 msgid "HEAD is now at"
 msgstr "HEAD est maintenant sur"
 
-#: builtin/checkout.c:879 builtin/clone.c:714
+#: builtin/checkout.c:883 builtin/clone.c:717
 msgid "unable to update HEAD"
 msgstr "impossible de mettre à jour HEAD"
 
-#: builtin/checkout.c:883
+#: builtin/checkout.c:887
 #, c-format
 msgid "Reset branch '%s'\n"
 msgstr "Remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:886
+#: builtin/checkout.c:890
 #, c-format
 msgid "Already on '%s'\n"
 msgstr "Déjà sur '%s'\n"
 
-#: builtin/checkout.c:890
+#: builtin/checkout.c:894
 #, c-format
 msgid "Switched to and reset branch '%s'\n"
 msgstr "Basculement et remise à zéro de la branche '%s'\n"
 
-#: builtin/checkout.c:892 builtin/checkout.c:1289
+#: builtin/checkout.c:896 builtin/checkout.c:1320
 #, c-format
 msgid "Switched to a new branch '%s'\n"
 msgstr "Basculement sur la nouvelle branche '%s'\n"
 
-#: builtin/checkout.c:894
+#: builtin/checkout.c:898
 #, c-format
 msgid "Switched to branch '%s'\n"
 msgstr "Basculement sur la branche '%s'\n"
 
-#: builtin/checkout.c:945
+#: builtin/checkout.c:949
 #, c-format
 msgid " ... and %d more.\n"
 msgstr " ... et %d en plus.\n"
 
-#: builtin/checkout.c:951
+#: builtin/checkout.c:955
 #, c-format
 msgid ""
 "Warning: you are leaving %d commit behind, not connected to\n"
@@ -10549,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"
@@ -10578,28 +11568,19 @@ msgstr[1] ""
 "git branch <nouvelle-branche> %s\n"
 "\n"
 
-#: builtin/checkout.c:1005
+#: builtin/checkout.c:1009
 msgid "internal error in revision walk"
 msgstr "erreur interne lors du parcours des révisions"
 
-#: builtin/checkout.c:1009
+#: builtin/checkout.c:1013
 msgid "Previous HEAD position was"
 msgstr "La position précédente de HEAD était sur"
 
-#: 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 "Vous êtes sur une branche qui doit encore naître"
 
-#: builtin/checkout.c:1176
-msgid "only one reference expected"
-msgstr "une seule référence attendue"
-
-#: builtin/checkout.c:1193
-#, c-format
-msgid "only one reference expected, %d given."
-msgstr "une seule référence attendue, %d fournies."
-
-#: builtin/checkout.c:1230
+#: builtin/checkout.c:1128
 #, c-format
 msgid ""
 "'%s' could be both a local file and a tracking branch.\n"
@@ -10608,37 +11589,71 @@ msgstr ""
 "'%s' pourrait être un fichier local ou un branche de suivi.\n"
 "Veuillez utiliser -- (et --no-guess en facultatif) pour les distinguer"
 
-#: 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 ""
+"Si vous souhaitiez extraire une branche de suivi distant sur 'origin',\n"
+"par exemple, qualifiez-la complètement avec l'option --track :\n"
+"\n"
+"    git checkout --track origin/<nom>\n"
+"\n"
+"Si vous souhaitez privilégier un distant particulier lorsque <nom> est\n"
+"ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n"
+"votre config."
+
+#: builtin/checkout.c:1145
+#, c-format
+msgid "'%s' matched multiple (%d) remote tracking branches"
+msgstr "'%s' correspond à plusieurs (%d) branches de suivi à distance"
+
+#: builtin/checkout.c:1211
+msgid "only one reference expected"
+msgstr "une seule référence attendue"
+
+#: builtin/checkout.c:1228
+#, c-format
+msgid "only one reference expected, %d given."
+msgstr "une seule référence attendue, %d fournies."
+
+#: builtin/checkout.c:1274 builtin/worktree.c:283 builtin/worktree.c:448
 #, c-format
 msgid "invalid reference: %s"
 msgstr "référence invalide : %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 "la référence n'est pas un arbre : %s"
 
-#: builtin/checkout.c:1303
+#: builtin/checkout.c:1334
 #, c-format
 msgid "a branch is expected, got tag '%s'"
 msgstr "branche attendue, mais étiquette '%s' reçue"
 
-#: builtin/checkout.c:1305
+#: builtin/checkout.c:1336
 #, c-format
 msgid "a branch is expected, got remote branch '%s'"
 msgstr "une branche est attendue, mais une branche distante '%s' a été reçue"
 
-#: 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 "une branche est attendue, mais '%s' a été reçue"
 
-#: builtin/checkout.c:1309
+#: builtin/checkout.c:1340
 #, c-format
 msgid "a branch is expected, got commit '%s'"
 msgstr "une branche est attendue, mais un commit '%s' a été reçu"
 
-#: builtin/checkout.c:1325
+#: builtin/checkout.c:1356
 msgid ""
 "cannot switch branch while merging\n"
 "Consider \"git merge --quit\" or \"git worktree add\"."
@@ -10646,7 +11661,7 @@ msgstr ""
 "impossible de basculer de branche pendant une fusion\n"
 "Envisagez \"git merge --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1329
+#: builtin/checkout.c:1360
 msgid ""
 "cannot switch branch in the middle of an am session\n"
 "Consider \"git am --quit\" or \"git worktree add\"."
@@ -10654,7 +11669,7 @@ msgstr ""
 "impossible de basculer de branche pendant une session am\n"
 "Envisagez \"git am --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1333
+#: builtin/checkout.c:1364
 msgid ""
 "cannot switch branch while rebasing\n"
 "Consider \"git rebase --quit\" or \"git worktree add\"."
@@ -10662,7 +11677,7 @@ msgstr ""
 "impossible de basculer de branche pendant un rebasage\n"
 "Envisagez \"git rebase --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1337
+#: builtin/checkout.c:1368
 msgid ""
 "cannot switch branch while cherry-picking\n"
 "Consider \"git cherry-pick --quit\" or \"git worktree add\"."
@@ -10670,7 +11685,7 @@ msgstr ""
 "impossible de basculer de branche pendant un picorage\n"
 "Envisagez \"git cherry-pick --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1341
+#: builtin/checkout.c:1372
 msgid ""
 "cannot switch branch while reverting\n"
 "Consider \"git revert --quit\" or \"git worktree add\"."
@@ -10678,139 +11693,144 @@ msgstr ""
 "impossible de basculer de branche pendant un retour\n"
 "Envisagez \"git revert --quit\" ou \"git worktree add\"."
 
-#: builtin/checkout.c:1345
+#: builtin/checkout.c:1376
 msgid "you are switching branch while bisecting"
 msgstr "Vous basculez de branche en cours de bissection"
 
-#: builtin/checkout.c:1352
+#: builtin/checkout.c:1383
 msgid "paths cannot be used with switching branches"
 msgstr "impossible d'utiliser des chemins avec un basculement de branches"
 
-#: 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' ne peut pas être utilisé avec un basculement de branches"
 
-#: 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' ne peut pas être utilisé avec '%s'"
 
-#: builtin/checkout.c:1380
+#: builtin/checkout.c:1411
 #, c-format
 msgid "'%s' cannot take <start-point>"
 msgstr "'%s' n'accepte pas <point-de-départ>"
 
-#: builtin/checkout.c:1388
+#: builtin/checkout.c:1419
 #, c-format
 msgid "Cannot switch branch to a non-commit '%s'"
 msgstr "Impossible de basculer de branche vers '%s' qui n'est pas un commit"
 
-#: builtin/checkout.c:1395
+#: builtin/checkout.c:1426
 msgid "missing branch or commit argument"
 msgstr "argument de branche ou de commit manquant"
 
-#: 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 "forcer l'affichage de l'état d'avancement"
 
-#: builtin/checkout.c:1438
+#: builtin/checkout.c:1469
 msgid "perform a 3-way merge with the new branch"
 msgstr "effectuer une fusion à 3 points avec la nouvelle branche"
 
-#: 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 "style"
 
-#: builtin/checkout.c:1440
+#: builtin/checkout.c:1471
 msgid "conflict style (merge or diff3)"
 msgstr "style de conflit (merge (fusion) ou diff3)"
 
-#: builtin/checkout.c:1452 builtin/worktree.c:504
+#: builtin/checkout.c:1483 builtin/worktree.c:496
 msgid "detach HEAD at named commit"
 msgstr "détacher la HEAD au commit nommé"
 
-#: builtin/checkout.c:1453
+#: builtin/checkout.c:1484
 msgid "set upstream info for new branch"
 msgstr "paramétrer les coordonnées de branche amont pour une nouvelle branche"
 
-#: builtin/checkout.c:1455
+#: builtin/checkout.c:1486
 msgid "force checkout (throw away local modifications)"
 msgstr "forcer l'extraction (laisser tomber les modifications locales)"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1488
 msgid "new-branch"
 msgstr "nouvelle branche"
 
-#: builtin/checkout.c:1457
+#: builtin/checkout.c:1488
 msgid "new unparented branch"
 msgstr "nouvelle branche sans parent"
 
-#: builtin/checkout.c:1459 builtin/merge.c:288
+#: builtin/checkout.c:1490 builtin/merge.c:289
 msgid "update ignored files (default)"
 msgstr "mettre à jour les fichiers ignorés (par défaut)"
 
-#: builtin/checkout.c:1462
+#: builtin/checkout.c:1493
 msgid "do not check if another worktree is holding the given ref"
 msgstr ""
 "ne pas vérifier si une autre copie de travail contient le référence fournie"
 
-#: builtin/checkout.c:1475
+#: builtin/checkout.c:1506
 msgid "checkout our version for unmerged files"
 msgstr "extraire notre version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1478
+#: builtin/checkout.c:1509
 msgid "checkout their version for unmerged files"
 msgstr "extraire leur version pour les fichiers non fusionnés"
 
-#: builtin/checkout.c:1482
+#: builtin/checkout.c:1513
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux"
 
-#: builtin/checkout.c:1533
+#: builtin/checkout.c:1565
 msgid "-b, -B and --orphan are mutually exclusive"
 msgstr "-b, -B et --orphan sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1536
+#: builtin/checkout.c:1568
 msgid "-p and --overlay are mutually exclusive"
 msgstr "-p et --overlay sont mutuellement exclusifs"
 
-#: builtin/checkout.c:1573
+#: builtin/checkout.c:1605
 msgid "--track needs a branch name"
 msgstr "--track requiert un nom de branche"
 
-#: builtin/checkout.c:1578
+#: builtin/checkout.c:1610
 msgid "missing branch name; try -b"
 msgstr "nom de branche manquant ; essayez -b"
 
-#: builtin/checkout.c:1611
+#: builtin/checkout.c:1642
 #, c-format
 msgid "could not resolve %s"
 msgstr "impossible de résoudre %s"
 
-#: builtin/checkout.c:1623
-msgid "you must specify path(s) to restore"
-msgstr "Vous devez spécifier un ou des chemins à restaurer"
-
-#: builtin/checkout.c:1631
+#: builtin/checkout.c:1658
 msgid "invalid path specification"
 msgstr "spécification de chemin invalide"
 
-#: 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' n'est pas un commit et une branche '%s' ne peut pas en être créée depuis"
 
-#: 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 n'accepte pas un argument de chemin '%s'"
 
-#: builtin/checkout.c:1646
+#: builtin/checkout.c:1678
+msgid "--pathspec-from-file is incompatible with --detach"
+msgstr "--pathspec-from-file est incompatible avec --detach"
+
+#: builtin/checkout.c:1681 builtin/reset.c:324 builtin/stash.c:1506
+msgid "--pathspec-from-file is incompatible with --patch"
+msgstr "--pathspec-from-file est incompatible avec --patch"
+
+#: builtin/checkout.c:1692
 msgid ""
 "git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
 "checking out of the index."
@@ -10818,95 +11838,70 @@ msgstr ""
 "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n"
 "de l'extraction de l'index."
 
-#: 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' correspond à plusieurs branches de suivi distant. Nous avons\n"
-"trouvé %d distants avec une référence correspondante. Nous avons essayé\n"
-"de résoudre l'argument comme un chemin, sans plus de résultat !\n"
-"\n"
-"Si vous souhaitiez extraire une branche de suivi distant sur 'origin',\n"
-"par exemple, qualifiez-la complètement avec l'option --track :\n"
-"\n"
-"    git checkout --track origin/<nom>\n"
-"\n"
-"Si vous souhaitez privilégier un distant particulier lorsque <nom> est\n"
-"ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n"
-"votre config."
+#: builtin/checkout.c:1697
+msgid "you must specify path(s) to restore"
+msgstr "Vous devez spécifier un ou des chemins à restaurer"
 
-#: 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 "branche"
 
-#: builtin/checkout.c:1692
+#: builtin/checkout.c:1724
 msgid "create and checkout a new branch"
 msgstr "créer et extraire une nouvelle branche"
 
-#: builtin/checkout.c:1694
+#: builtin/checkout.c:1726
 msgid "create/reset and checkout a branch"
 msgstr "créer/réinitialiser et extraire une branche"
 
-#: builtin/checkout.c:1695
+#: builtin/checkout.c:1727
 msgid "create reflog for new branch"
 msgstr "créer un reflog pour une nouvelle branche"
 
-#: builtin/checkout.c:1697
+#: builtin/checkout.c:1729
 msgid "second guess 'git checkout <no-such-branch>' (default)"
 msgstr ""
 "essayer d'interpréter 'git checkout <branche-inexistante>' (par défaut)"
 
-#: builtin/checkout.c:1698
+#: builtin/checkout.c:1730
 msgid "use overlay mode (default)"
 msgstr "utiliser le mode de superposition (défaut)"
 
-#: builtin/checkout.c:1734
+#: builtin/checkout.c:1775
 msgid "create and switch to a new branch"
 msgstr "créer et basculer sur une nouvelle branche"
 
-#: builtin/checkout.c:1736
+#: builtin/checkout.c:1777
 msgid "create/reset and switch to a branch"
 msgstr "créer/réinitialiser et basculer sur une branche"
 
-#: builtin/checkout.c:1738
+#: builtin/checkout.c:1779
 msgid "second guess 'git switch <no-such-branch>'"
 msgstr "interpréter 'git switch <branche-inexistante>'"
 
-#: builtin/checkout.c:1740
+#: builtin/checkout.c:1781
 msgid "throw away local modifications"
 msgstr "laisser tomber les modifications locales"
 
-#: builtin/checkout.c:1772
+#: builtin/checkout.c:1813
 msgid "which tree-ish to checkout from"
 msgstr "de quel <arbre-esque> faire l'extraction"
 
-#: builtin/checkout.c:1774
+#: builtin/checkout.c:1815
 msgid "restore the index"
 msgstr "restaurer l'index"
 
-#: builtin/checkout.c:1776
+#: builtin/checkout.c:1817
 msgid "restore the working tree (default)"
 msgstr "restaurer l'arbre de travail (par défaut)"
 
-#: builtin/checkout.c:1778
+#: builtin/checkout.c:1819
 msgid "ignore unmerged entries"
 msgstr "ignorer les entrées non-fusionnées"
 
-#: builtin/checkout.c:1779
+#: builtin/checkout.c:1820
 msgid "use overlay mode"
 msgstr "utiliser le mode de superposition"
 
@@ -10946,7 +11941,7 @@ msgstr "échec de la suppression de %s"
 msgid "could not lstat %s\n"
 msgstr "lstat de %s impossible\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"
@@ -10959,7 +11954,7 @@ msgstr ""
 "foo         - sélectionner un élément par un préfixe unique\n"
 "            - (vide) ne rien sélectionner\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"
@@ -10980,38 +11975,33 @@ msgstr ""
 "*          - choisir tous les éléments\n"
 "           - (vide) terminer la sélection\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 "Hein (%s) ?\n"
 
-#: builtin/clean.c:662
+#: builtin/clean.c:663
 #, c-format
 msgid "Input ignore patterns>> "
 msgstr "Entrez les motifs à ignorer>> "
 
-#: builtin/clean.c:699
+#: builtin/clean.c:700
 #, c-format
 msgid "WARNING: Cannot find items matched by: %s"
 msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s"
 
-#: builtin/clean.c:720
+#: builtin/clean.c:721
 msgid "Select items to delete"
 msgstr "Sélectionner les éléments à supprimer"
 
 #. 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 "Supprimer %s [y/N] ? "
 
-#: builtin/clean.c:786 git-add--interactive.perl:1763
-#, c-format
-msgid "Bye.\n"
-msgstr "Au revoir.\n"
-
-#: builtin/clean.c:794
+#: builtin/clean.c:795
 msgid ""
 "clean               - start cleaning\n"
 "filter by pattern   - exclude items from deletion\n"
@@ -11029,64 +12019,56 @@ msgstr ""
 "help                - cet écran\n"
 "?                   - aide pour la sélection en ligne"
 
-#: builtin/clean.c:821 git-add--interactive.perl:1849
-msgid "*** Commands ***"
-msgstr "*** Commandes ***"
-
-#: builtin/clean.c:822 git-add--interactive.perl:1846
-msgid "What now"
-msgstr "Et maintenant ?"
-
-#: builtin/clean.c:830
+#: builtin/clean.c:831
 msgid "Would remove the following item:"
 msgid_plural "Would remove the following items:"
 msgstr[0] "Supprimerait l'élément suivant :"
 msgstr[1] "Supprimerait les éléments suivants :"
 
-#: builtin/clean.c:846
+#: builtin/clean.c:847
 msgid "No more files to clean, exiting."
 msgstr "Plus de fichier à nettoyer, sortie."
 
-#: builtin/clean.c:908
+#: builtin/clean.c:909
 msgid "do not print names of files removed"
 msgstr "ne pas afficher les noms des fichiers supprimés"
 
-#: builtin/clean.c:910
+#: builtin/clean.c:911
 msgid "force"
 msgstr "forcer"
 
-#: builtin/clean.c:911
+#: builtin/clean.c:912
 msgid "interactive cleaning"
 msgstr "nettoyage interactif"
 
-#: builtin/clean.c:913
+#: builtin/clean.c:914
 msgid "remove whole directories"
 msgstr "supprimer les répertoires entiers"
 
-#: 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 "motif"
 
-#: builtin/clean.c:915
+#: builtin/clean.c:916
 msgid "add <pattern> to ignore rules"
 msgstr "ajouter <motif> aux règles ignore"
 
-#: builtin/clean.c:916
+#: builtin/clean.c:917
 msgid "remove ignored files, too"
 msgstr "supprimer les fichiers ignorés, aussi"
 
-#: builtin/clean.c:918
+#: builtin/clean.c:919
 msgid "remove only ignored files"
 msgstr "supprimer seulement les fichiers ignorés"
 
-#: builtin/clean.c:936
+#: builtin/clean.c:937
 msgid "-x and -X cannot be used together"
 msgstr "-x et -X ne peuvent pas être utilisés ensemble"
 
-#: builtin/clean.c:940
+#: builtin/clean.c:941
 msgid ""
 "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
 "clean"
@@ -11094,7 +12076,7 @@ msgstr ""
 "clean.requireForce positionné à true et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clean.c:943
+#: builtin/clean.c:944
 msgid ""
 "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
 "refusing to clean"
@@ -11102,7 +12084,7 @@ msgstr ""
 "clean.requireForce à true par défaut et ni -i, -n ou -f fourni ; refus de "
 "nettoyer"
 
-#: builtin/clone.c:46
+#: builtin/clone.c:45
 msgid "git clone [<options>] [--] <repo> [<dir>]"
 msgstr "git clone [<options>] [--] <dépôt> [<répertoire>]"
 
@@ -11150,18 +12132,18 @@ msgstr "répertoire-modèle"
 msgid "directory from which templates will be used"
 msgstr "répertoire depuis lequel les modèles vont être utilisés"
 
-#: 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 "dépôt de référence"
 
-#: 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 "utiliser seulement --reference pour cloner"
 
 #: 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 "nom"
 
@@ -11177,8 +12159,8 @@ msgstr "extraire <branche> au lieu de la HEAD du répertoire distant"
 msgid "path to git-upload-pack on the remote"
 msgstr "chemin vers git-upload-pack sur le serveur distant"
 
-#: 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 "profondeur"
 
@@ -11186,7 +12168,7 @@ msgstr "profondeur"
 msgid "create a shallow clone of that depth"
 msgstr "créer un clone superficiel de cette profondeur"
 
-#: 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 "heure"
 
@@ -11194,17 +12176,18 @@ msgstr "heure"
 msgid "create a shallow clone since a specific time"
 msgstr "créer un clone superficiel depuis une date spécifique"
 
-#: 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 "révision"
 
-#: 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 ""
 "approfondir l'historique d'un clone superficiel en excluant une révision"
 
-#: 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 "cloner seulement une branche, HEAD ou --branch"
 
@@ -11234,23 +12217,23 @@ msgstr "clé=valeur"
 msgid "set config inside the new repository"
 msgstr "régler la configuration dans le nouveau dépôt"
 
-#: 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 "spécifique au serveur"
 
-#: 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 à transmettre"
 
-#: 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 "n'utiliser que des adresses IPv4"
 
-#: builtin/clone.c:145 builtin/fetch.c:177 builtin/pull.c:242
-#: builtin/push.c:588
+#: builtin/clone.c:145 builtin/fetch.c:193 builtin/pull.c:223
+#: builtin/push.c:576
 msgid "use IPv6 addresses only"
 msgstr "n'utiliser que des adresses IPv6"
 
@@ -11259,7 +12242,13 @@ msgid "any cloned submodules will use their remote-tracking branch"
 msgstr ""
 "tous les sous-modules clonés utiliseront leur branche de suivi à distance"
 
-#: builtin/clone.c:285
+#: builtin/clone.c:151
+msgid "initialize sparse-checkout file to include only files at root"
+msgstr ""
+"initialiser le fichier d'extraction partielle pour n'inclure que les "
+"fichiers à la racine"
+
+#: builtin/clone.c:287
 msgid ""
 "No directory name could be guessed.\n"
 "Please specify a directory on the command line"
@@ -11267,47 +12256,42 @@ msgstr ""
 "Aucun nom de répertoire n'a pu être deviné\n"
 "Veuillez spécifier un répertoire dans la ligne de commande"
 
-#: builtin/clone.c:338
+#: builtin/clone.c:340
 #, c-format
 msgid "info: Could not add alternate for '%s': %s\n"
 msgstr "info : impossible d'ajouter une alternative pour '%s' : %s\n"
 
-#: builtin/clone.c:411
+#: builtin/clone.c:413
 #, c-format
 msgid "%s exists and is not a directory"
 msgstr "%s existe et n'est pas un répertoire"
 
-#: builtin/clone.c:428
+#: builtin/clone.c:430
 #, c-format
 msgid "failed to start iterator over '%s'"
 msgstr "échec du démarrage un itérateur sur '%s'"
 
-#: builtin/clone.c:453
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr "échec pour délier '%s'"
-
-#: builtin/clone.c:458
+#: builtin/clone.c:460
 #, c-format
 msgid "failed to create link '%s'"
 msgstr "échec de la création du lien '%s'"
 
-#: builtin/clone.c:462
+#: builtin/clone.c:464
 #, c-format
 msgid "failed to copy file to '%s'"
 msgstr "échec de la copie vers '%s'"
 
-#: builtin/clone.c:467
+#: builtin/clone.c:469
 #, c-format
 msgid "failed to iterate over '%s'"
 msgstr "échec de l'itération sur '%s'"
 
-#: builtin/clone.c:492
+#: builtin/clone.c:494
 #, c-format
 msgid "done.\n"
 msgstr "fait.\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"
@@ -11317,98 +12301,102 @@ msgstr ""
 "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n"
 "et réessayer avec 'git restore --source=HEAD :/'\n"
 
-#: builtin/clone.c:583
+#: builtin/clone.c:585
 #, c-format
 msgid "Could not find remote branch %s to clone."
 msgstr "Impossible de trouver la branche distante '%s' à cloner."
 
-#: builtin/clone.c:702
+#: builtin/clone.c:705
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre à jour %s"
 
-#: builtin/clone.c:752
+#: builtin/clone.c:753
+msgid "failed to initialize sparse-checkout"
+msgstr "échec lors de l'initialisation l'extraction partielle"
+
+#: builtin/clone.c:776
 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
 msgstr ""
 "la HEAD distante réfère à une référence non existante, impossible de "
 "l'extraire.\n"
 
-#: builtin/clone.c:783
+#: builtin/clone.c:807
 msgid "unable to checkout working tree"
 msgstr "impossible d'extraire la copie de travail"
 
-#: builtin/clone.c:833
+#: builtin/clone.c:862
 msgid "unable to write parameters to config file"
 msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
 
-#: builtin/clone.c:896
+#: builtin/clone.c:925
 msgid "cannot repack to clean up"
 msgstr "impossible de remballer pour nettoyer"
 
-#: builtin/clone.c:898
+#: builtin/clone.c:927
 msgid "cannot unlink temporary alternates file"
 msgstr "impossible de délier le fichier temporaire alternates"
 
-#: builtin/clone.c:938 builtin/receive-pack.c:1950
+#: builtin/clone.c:965 builtin/receive-pack.c:1950
 msgid "Too many arguments."
 msgstr "Trop d'arguments."
 
-#: builtin/clone.c:942
+#: builtin/clone.c:969
 msgid "You must specify a repository to clone."
 msgstr "Vous devez spécifier un dépôt à cloner."
 
-#: builtin/clone.c:955
+#: builtin/clone.c:982
 #, c-format
 msgid "--bare and --origin %s options are incompatible."
 msgstr "les options --bare et --origin %s sont incompatibles."
 
-#: builtin/clone.c:958
+#: builtin/clone.c:985
 msgid "--bare and --separate-git-dir are incompatible."
 msgstr "--bare et --separate-git-dir sont incompatibles."
 
-#: builtin/clone.c:971
+#: builtin/clone.c:998
 #, c-format
 msgid "repository '%s' does not exist"
 msgstr "le dépôt '%s' n'existe pas"
 
-#: 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 "la profondeur %s n'est pas un entier positif"
 
-#: builtin/clone.c:987
+#: builtin/clone.c:1014
 #, c-format
 msgid "destination path '%s' already exists and is not an empty directory."
 msgstr ""
 "le chemin de destination '%s' existe déjà et n'est pas un répertoire vide."
 
-#: builtin/clone.c:997
+#: builtin/clone.c:1024
 #, c-format
 msgid "working tree '%s' already exists."
 msgstr "la copie de travail '%s' existe déjà."
 
-#: 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 "impossible de créer les répertoires de premier niveau dans '%s'"
 
-#: builtin/clone.c:1017
+#: builtin/clone.c:1044
 #, c-format
 msgid "could not create work tree dir '%s'"
 msgstr "impossible de créer le répertoire de la copie de travail '%s'"
 
-#: builtin/clone.c:1037
+#: builtin/clone.c:1064
 #, c-format
 msgid "Cloning into bare repository '%s'...\n"
 msgstr "Clonage dans le dépôt nu '%s'\n"
 
-#: builtin/clone.c:1039
+#: builtin/clone.c:1066
 #, c-format
 msgid "Cloning into '%s'...\n"
 msgstr "Clonage dans '%s'...\n"
 
-#: builtin/clone.c:1063
+#: builtin/clone.c:1090
 msgid ""
 "clone --recursive is not compatible with both --reference and --reference-if-"
 "able"
@@ -11416,41 +12404,41 @@ msgstr ""
 "clone --recursive n'est pas compatible avec à la fois --reference et --"
 "reference-if-able"
 
-#: builtin/clone.c:1124
+#: builtin/clone.c:1154
 msgid "--depth is ignored in local clones; use file:// instead."
 msgstr ""
 "--depth est ignoré dans les clones locaux : utilisez plutôt \"file://\"."
 
-#: builtin/clone.c:1126
+#: builtin/clone.c:1156
 msgid "--shallow-since is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-since est ignoré dans les clones locaux : utilisez plutôt \"file://"
 "\"."
 
-#: builtin/clone.c:1128
+#: builtin/clone.c:1158
 msgid "--shallow-exclude is ignored in local clones; use file:// instead."
 msgstr ""
 "--shallow-exclude est ignoré dans les clones locaux : utilisez plutôt "
 "\"file://\"."
 
-#: builtin/clone.c:1130
+#: builtin/clone.c:1160
 msgid "--filter is ignored in local clones; use file:// instead."
 msgstr "--filter est ignoré dans les clones locaux ; utilisez plutôt file:// ."
 
-#: builtin/clone.c:1133
+#: builtin/clone.c:1163
 msgid "source repository is shallow, ignoring --local"
 msgstr "le dépôt source est superficiel, option --local ignorée"
 
-#: builtin/clone.c:1138
+#: builtin/clone.c:1168
 msgid "--local is ignored"
 msgstr "--local est ignoré"
 
-#: 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 "La branche distante %s n'a pas été trouvée dans le dépôt amont %s"
 
-#: builtin/clone.c:1226
+#: builtin/clone.c:1254
 msgid "You appear to have cloned an empty repository."
 msgstr "Vous semblez avoir cloné un dépôt vide."
 
@@ -11499,7 +12487,7 @@ msgstr ""
 msgid "duplicate parent %s ignored"
 msgstr "le parent dupliqué %s est ignoré"
 
-#: 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 "nom d'objet invalide %s"
@@ -11527,13 +12515,13 @@ msgstr "parent"
 msgid "id of a parent commit object"
 msgstr "id d'un objet commit parent"
 
-#: 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 "message"
 
-#: builtin/commit-tree.c:115 builtin/commit.c:1500
+#: builtin/commit-tree.c:115 builtin/commit.c:1501
 msgid "commit message"
 msgstr "message de validation"
 
@@ -11541,8 +12529,8 @@ msgstr "message de validation"
 msgid "read commit log message from file"
 msgstr "lire le message de validation depuis un fichier"
 
-#: 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 "signer la validation avec GPG"
 
@@ -11618,57 +12606,65 @@ msgstr ""
 msgid "failed to unpack HEAD tree object"
 msgstr "échec du dépaquetage de l'objet arbre HEAD"
 
-#: builtin/commit.c:356
+#: builtin/commit.c:351
+msgid "--pathspec-from-file with -a does not make sense"
+msgstr "--pathspec-from-file avec l'option -a n'a pas de sens"
+
+#: builtin/commit.c:364
+msgid "No paths with --include/--only does not make sense."
+msgstr "Aucun chemin avec les options --include/--only n'a pas de sens."
+
+#: builtin/commit.c:376
 msgid "unable to create temporary index"
 msgstr "impossible de créer l'index temporaire"
 
-#: builtin/commit.c:362
+#: builtin/commit.c:385
 msgid "interactive add failed"
 msgstr "échec de l'ajout interactif"
 
-#: builtin/commit.c:376
+#: builtin/commit.c:400
 msgid "unable to update temporary index"
 msgstr "impossible de mettre à jour l'index temporaire"
 
-#: builtin/commit.c:378
+#: builtin/commit.c:402
 msgid "Failed to update main cache tree"
 msgstr "Impossible de mettre à jour l'arbre de cache principal"
 
-#: 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 "impossible d'écrire le fichier new_index"
 
-#: builtin/commit.c:455
+#: builtin/commit.c:479
 msgid "cannot do a partial commit during a merge."
 msgstr "impossible de faire une validation partielle pendant une fusion."
 
-#: builtin/commit.c:457
+#: builtin/commit.c:481
 msgid "cannot do a partial commit during a cherry-pick."
 msgstr "impossible de faire une validation partielle pendant un picorage."
 
-#: builtin/commit.c:465
+#: builtin/commit.c:489
 msgid "cannot read the index"
 msgstr "impossible de lire l'index"
 
-#: builtin/commit.c:484
+#: builtin/commit.c:508
 msgid "unable to write temporary index file"
 msgstr "impossible d'écrire le fichier d'index temporaire"
 
-#: builtin/commit.c:582
+#: builtin/commit.c:606
 #, c-format
 msgid "commit '%s' lacks author header"
 msgstr "entête d'auteur manquant dans le commit '%s'"
 
-#: builtin/commit.c:584
+#: builtin/commit.c:608
 #, c-format
 msgid "commit '%s' has malformed author line"
 msgstr "le commit '%s' a une ligne d'auteur malformée"
 
-#: builtin/commit.c:603
+#: builtin/commit.c:627
 msgid "malformed --author parameter"
 msgstr "paramètre --author mal formé"
 
-#: 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"
@@ -11676,38 +12672,38 @@ msgstr ""
 "impossible de sélectionner un caractère de commentaire\n"
 "qui n'est pas utilisé dans le message de validation actuel"
 
-#: 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 "impossible de rechercher le commit %s"
 
-#: builtin/commit.c:706 builtin/shortlog.c:319
+#: builtin/commit.c:730 builtin/shortlog.c:319
 #, c-format
 msgid "(reading log message from standard input)\n"
 msgstr "(lecture du message de journal depuis l'entrée standard)\n"
 
-#: builtin/commit.c:708
+#: builtin/commit.c:732
 msgid "could not read log from standard input"
 msgstr "impossible de lire le journal depuis l'entrée standard"
 
-#: builtin/commit.c:712
+#: builtin/commit.c:736
 #, c-format
 msgid "could not read log file '%s'"
 msgstr "impossible de lire le fichier de journal '%s'"
 
-#: builtin/commit.c:743 builtin/commit.c:759
+#: builtin/commit.c:767 builtin/commit.c:783
 msgid "could not read SQUASH_MSG"
 msgstr "impossible de lire SQUASH_MSG"
 
-#: builtin/commit.c:750
+#: builtin/commit.c:774
 msgid "could not read MERGE_MSG"
 msgstr "impossible de lire MERGE_MSG"
 
-#: builtin/commit.c:810
+#: builtin/commit.c:834
 msgid "could not write commit template"
 msgstr "impossible d'écrire le modèle de commit"
 
-#: builtin/commit.c:829
+#: builtin/commit.c:853
 #, c-format
 msgid ""
 "\n"
@@ -11722,7 +12718,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:834
+#: builtin/commit.c:858
 #, c-format
 msgid ""
 "\n"
@@ -11737,7 +12733,7 @@ msgstr ""
 "\t%s\n"
 "et essayez à nouveau.\n"
 
-#: builtin/commit.c:847
+#: builtin/commit.c:871
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11747,7 +12743,7 @@ msgstr ""
 "commençant par '%c' seront ignorées, et un message vide abandonne la "
 "validation.\n"
 
-#: builtin/commit.c:855
+#: builtin/commit.c:879
 #, c-format
 msgid ""
 "Please enter the commit message for your changes. Lines starting\n"
@@ -11758,148 +12754,144 @@ msgstr ""
 "commençant par '%c' seront conservées ; vous pouvez les supprimer vous-même\n"
 "si vous le souhaitez. Un message vide abandonne la validation.\n"
 
-#: builtin/commit.c:872
+#: builtin/commit.c:896
 #, c-format
 msgid "%sAuthor:    %.*s <%.*s>"
 msgstr "%sAuteur :     %.*s <%.*s>"
 
-#: builtin/commit.c:880
+#: builtin/commit.c:904
 #, c-format
 msgid "%sDate:      %s"
 msgstr "%sDate :       %s"
 
-#: builtin/commit.c:887
+#: builtin/commit.c:911
 #, c-format
 msgid "%sCommitter: %.*s <%.*s>"
 msgstr "%sValidateur : %.*s <%.*s>"
 
-#: builtin/commit.c:905
+#: builtin/commit.c:929
 msgid "Cannot read index"
 msgstr "Impossible de lire l'index"
 
-#: builtin/commit.c:972
+#: builtin/commit.c:997
 msgid "Error building trees"
 msgstr "Erreur lors de la construction des arbres"
 
-#: 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 "Veuillez fournir le message en utilisant l'option -m ou -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' n'est pas de la forme 'Nom <email>' ni ne correspond à aucun "
 "auteur existant"
 
-#: builtin/commit.c:1044
+#: builtin/commit.c:1069
 #, c-format
 msgid "Invalid ignored mode '%s'"
 msgstr "Mode de fichier ignoré invalide '%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 "Mode de fichier non suivi invalide '%s'"
 
-#: builtin/commit.c:1102
+#: builtin/commit.c:1127
 msgid "--long and -z are incompatible"
 msgstr "--long et -z sont incompatibles"
 
-#: builtin/commit.c:1146
+#: builtin/commit.c:1171
 msgid "Using both --reset-author and --author does not make sense"
 msgstr "L'utilisation simultanée de --reset-author et --author n'a pas de sens"
 
-#: builtin/commit.c:1155
+#: builtin/commit.c:1180
 msgid "You have nothing to amend."
 msgstr "Il n'y a rien à corriger."
 
-#: builtin/commit.c:1158
+#: builtin/commit.c:1183
 msgid "You are in the middle of a merge -- cannot amend."
 msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1160
+#: builtin/commit.c:1185
 msgid "You are in the middle of a cherry-pick -- cannot amend."
 msgstr "Vous êtes en plein picorage -- impossible de corriger (amend)."
 
-#: builtin/commit.c:1163
+#: builtin/commit.c:1188
 msgid "Options --squash and --fixup cannot be used together"
 msgstr "Les options --squash et --fixup ne peuvent pas être utilisées ensemble"
 
-#: builtin/commit.c:1173
+#: builtin/commit.c:1198
 msgid "Only one of -c/-C/-F/--fixup can be used."
 msgstr "Une seule option parmi -c/-C/-F/--fixup peut être utilisée."
 
-#: builtin/commit.c:1175
+#: builtin/commit.c:1200
 msgid "Option -m cannot be combined with -c/-C/-F."
 msgstr "L'option -m ne peut pas être combinée avec -c/-C/-F."
 
-#: builtin/commit.c:1183
+#: builtin/commit.c:1208
 msgid "--reset-author can be used only with -C, -c or --amend."
 msgstr "--reset-author ne peut être utilisé qu'avec -C, -c ou --amend."
 
-#: builtin/commit.c:1200
+#: builtin/commit.c:1225
 msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
 msgstr ""
 "Une seule option parmi --include/--only/--all/--interactive/--patch peut "
 "être utilisée."
 
-#: builtin/commit.c:1202
-msgid "No paths with --include/--only does not make sense."
-msgstr "Aucun chemin avec les options --include/--only n'a pas de sens."
-
-#: builtin/commit.c:1208
+#: builtin/commit.c:1231
 #, c-format
 msgid "paths '%s ...' with -a does not make sense"
 msgstr "des chemins '%s ...' avec l'option -a n'a pas de sens"
 
-#: builtin/commit.c:1339 builtin/commit.c:1523
+#: builtin/commit.c:1362 builtin/commit.c:1524
 msgid "show status concisely"
 msgstr "afficher l'état avec concision"
 
-#: builtin/commit.c:1341 builtin/commit.c:1525
+#: builtin/commit.c:1364 builtin/commit.c:1526
 msgid "show branch information"
 msgstr "afficher l'information de branche"
 
-#: builtin/commit.c:1343
+#: builtin/commit.c:1366
 msgid "show stash information"
 msgstr "afficher l'information de remisage"
 
-#: builtin/commit.c:1345 builtin/commit.c:1527
+#: builtin/commit.c:1368 builtin/commit.c:1528
 msgid "compute full ahead/behind values"
 msgstr "calcule les valeurs complètes en avance/en retard"
 
-#: 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 "sortie pour traitement automatique"
 
-#: builtin/commit.c:1350 builtin/commit.c:1531
+#: builtin/commit.c:1373 builtin/commit.c:1532
 msgid "show status in long format (default)"
 msgstr "afficher l'état en format long (par défaut)"
 
-#: builtin/commit.c:1353 builtin/commit.c:1534
+#: builtin/commit.c:1376 builtin/commit.c:1535
 msgid "terminate entries with NUL"
 msgstr "terminer les éléments par NUL"
 
-#: builtin/commit.c:1355 builtin/commit.c:1359 builtin/commit.c:1537
-#: builtin/fast-export.c:1125 builtin/fast-export.c:1128
-#: builtin/fast-export.c:1131 builtin/rebase.c:1471 parse-options.h:332
+#: builtin/commit.c:1378 builtin/commit.c:1382 builtin/commit.c:1538
+#: builtin/fast-export.c:1153 builtin/fast-export.c:1156
+#: builtin/fast-export.c:1159 builtin/rebase.c:1569 parse-options.h:336
 msgid "mode"
 msgstr "mode"
 
-#: 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 ""
 "afficher les fichiers non suivis, \"mode\" facultatif : all (tous), normal, "
 "no. (Défaut : all)"
 
-#: builtin/commit.c:1360
+#: builtin/commit.c:1383
 msgid ""
 "show ignored files, optional modes: traditional, matching, no. (Default: "
 "traditional)"
@@ -11907,11 +12899,11 @@ msgstr ""
 "afficher les fichiers ignorés, \"mode\" facultatif : traditional "
 "(traditionnel), matching (correspondant), no. (Défaut : traditional)"
 
-#: builtin/commit.c:1362 parse-options.h:179
+#: builtin/commit.c:1385 parse-options.h:192
 msgid "when"
 msgstr "quand"
 
-#: builtin/commit.c:1363
+#: builtin/commit.c:1386
 msgid ""
 "ignore changes to submodules, optional when: all, dirty, untracked. "
 "(Default: all)"
@@ -11919,175 +12911,175 @@ msgstr ""
 "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all "
 "(tous), dirty (sale), untracked (non suivi). (Défaut : all)"
 
-#: builtin/commit.c:1365
+#: builtin/commit.c:1388
 msgid "list untracked files in columns"
 msgstr "afficher les fichiers non suivis en colonnes"
 
-#: builtin/commit.c:1366
+#: builtin/commit.c:1389
 msgid "do not detect renames"
 msgstr "ne pas détecter les renommages"
 
-#: builtin/commit.c:1368
+#: builtin/commit.c:1391
 msgid "detect renames, optionally set similarity index"
 msgstr ""
 "détecter les renommages, en spécifiant optionnellement le facteur de "
 "similarité"
 
-#: builtin/commit.c:1388
+#: builtin/commit.c:1411
 msgid "Unsupported combination of ignored and untracked-files arguments"
 msgstr ""
 "Combinaison non supportée d'arguments sur les fichiers ignorés et non-suivis"
 
-#: builtin/commit.c:1493
+#: builtin/commit.c:1494
 msgid "suppress summary after successful commit"
 msgstr "supprimer le résumé après une validation réussie"
 
-#: builtin/commit.c:1494
+#: builtin/commit.c:1495
 msgid "show diff in commit message template"
 msgstr "afficher les diff dans le modèle de message de validation"
 
-#: builtin/commit.c:1496
+#: builtin/commit.c:1497
 msgid "Commit message options"
 msgstr "Options du message de validation"
 
-#: 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 "lire le message depuis un fichier"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1499
 msgid "author"
 msgstr "auteur"
 
-#: builtin/commit.c:1498
+#: builtin/commit.c:1499
 msgid "override author for commit"
 msgstr "remplacer l'auteur pour la validation"
 
-#: builtin/commit.c:1499 builtin/gc.c:539
+#: builtin/commit.c:1500 builtin/gc.c:538
 msgid "date"
 msgstr "date"
 
-#: builtin/commit.c:1499
+#: builtin/commit.c:1500
 msgid "override date for commit"
 msgstr "remplacer la date pour la validation"
 
-#: 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 "réutiliser et éditer le message du commit spécifié"
 
-#: builtin/commit.c:1502
+#: builtin/commit.c:1503
 msgid "reuse message from specified commit"
 msgstr "réutiliser le message du commit spécifié"
 
-#: builtin/commit.c:1503
+#: builtin/commit.c:1504
 msgid "use autosquash formatted message to fixup specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour corriger le commit spécifié"
 
-#: builtin/commit.c:1504
+#: builtin/commit.c:1505
 msgid "use autosquash formatted message to squash specified commit"
 msgstr ""
 "utiliser un message au format autosquash pour compresser le commit spécifié"
 
-#: builtin/commit.c:1505
+#: builtin/commit.c:1506
 msgid "the commit is authored by me now (used with -C/-c/--amend)"
 msgstr ""
 "à présent je suis l'auteur de la validation (utilisé avec -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 "ajouter une entrée Signed-off-by :"
 
-#: builtin/commit.c:1507
+#: builtin/commit.c:1508
 msgid "use specified template file"
 msgstr "utiliser le fichier de modèle spécifié"
 
-#: builtin/commit.c:1508
+#: builtin/commit.c:1509
 msgid "force edit of commit"
 msgstr "forcer l'édition du commit"
 
-#: builtin/commit.c:1510
+#: builtin/commit.c:1511
 msgid "include status in commit message template"
 msgstr "inclure l'état dans le modèle de message de validation"
 
-#: builtin/commit.c:1515
+#: builtin/commit.c:1516
 msgid "Commit contents options"
 msgstr "Valider les options des contenus"
 
-#: builtin/commit.c:1516
+#: builtin/commit.c:1517
 msgid "commit all changed files"
 msgstr "valider tous les fichiers modifiés"
 
-#: builtin/commit.c:1517
+#: builtin/commit.c:1518
 msgid "add specified files to index for commit"
 msgstr "ajouter les fichiers spécifiés à l'index pour la validation"
 
-#: builtin/commit.c:1518
+#: builtin/commit.c:1519
 msgid "interactively add files"
 msgstr "ajouter des fichiers en mode interactif"
 
-#: builtin/commit.c:1519
+#: builtin/commit.c:1520
 msgid "interactively add changes"
 msgstr "ajouter les modifications en mode interactif"
 
-#: builtin/commit.c:1520
+#: builtin/commit.c:1521
 msgid "commit only specified files"
 msgstr "valider seulement les fichiers spécifiés"
 
-#: builtin/commit.c:1521
+#: builtin/commit.c:1522
 msgid "bypass pre-commit and commit-msg hooks"
 msgstr "éviter d'utiliser les crochets pre-commit et commit-msg"
 
-#: builtin/commit.c:1522
+#: builtin/commit.c:1523
 msgid "show what would be committed"
 msgstr "afficher ce qui serait validé"
 
-#: builtin/commit.c:1535
+#: builtin/commit.c:1536
 msgid "amend previous commit"
 msgstr "corriger la validation précédente"
 
-#: builtin/commit.c:1536
+#: builtin/commit.c:1537
 msgid "bypass post-rewrite hook"
 msgstr "éviter d'utiliser le crochet post-rewrite"
 
-#: builtin/commit.c:1541
+#: builtin/commit.c:1544
 msgid "ok to record an empty change"
 msgstr "accepter d'enregistrer une modification vide"
 
-#: builtin/commit.c:1543
+#: builtin/commit.c:1546
 msgid "ok to record a change with an empty message"
 msgstr "accepter d'enregistrer une modification avec un message vide"
 
-#: builtin/commit.c:1616
+#: builtin/commit.c:1619
 #, c-format
 msgid "Corrupt MERGE_HEAD file (%s)"
 msgstr "Fichier MERGE_HEAD corrompu (%s)"
 
-#: builtin/commit.c:1623
+#: builtin/commit.c:1626
 msgid "could not read MERGE_MODE"
 msgstr "impossible de lire MERGE_MODE"
 
-#: builtin/commit.c:1642
+#: builtin/commit.c:1645
 #, c-format
 msgid "could not read commit message: %s"
 msgstr "impossible de lire le message de validation : %s"
 
-#: builtin/commit.c:1649
+#: builtin/commit.c:1652
 #, c-format
 msgid "Aborting commit due to empty commit message.\n"
 msgstr "Abandon de la validation dû à un message de validation vide.\n"
 
-#: builtin/commit.c:1654
+#: builtin/commit.c:1657
 #, c-format
 msgid "Aborting commit; you did not edit the message.\n"
 msgstr "Abandon de la validation ; vous n'avez pas édité le message\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"
@@ -12097,78 +13089,77 @@ msgstr ""
 "new_index. Vérifiez que le disque n'est pas plein ou que le quota\n"
 "n'a pas été dépassé, puis lancez \"git restore --staged :/\" pour réparer."
 
-#: builtin/commit-graph.c:11
-msgid "git commit-graph [--object-dir <objdir>]"
-msgstr "git commit-graph [--object-dir <objdir>]"
-
-#: 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 <objdir>]"
-
-#: 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 <objdir>] [--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 <objdir>] [--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 <objdir>] [--append|--split] [--"
-"reachable|--stdin-packs|--stdin-commits] <options de division>"
+"git commit-graph write [--object-dir <répertoire-d'objet>] [--append|--"
+"split] [--reachable|--stdin-packs|--stdin-commits] [--|no-]progress] "
+"<options de division>"
 
-#: 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:52
+#, c-format
+msgid "could not find object directory matching %s"
+msgstr "impossible de trouver le répertoire objet correspondant à %s"
+
+#: 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 "répertoire"
 
-#: 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 "Le répertoire d'objet où stocker le graphe"
 
-#: builtin/commit-graph.c:57
+#: builtin/commit-graph.c:71
 msgid "if the commit-graph is split, only verify the tip file"
 msgstr ""
 "si le graphe de commit est divisé, vérifier seulement le fichier sommet"
 
-#: 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 "impossible d'ouvrir le graphe de commit '%s'"
 
-#: builtin/commit-graph.c:164
+#: builtin/commit-graph.c:128
 msgid "start walk at all refs"
 msgstr "commencer le parcours à toutes les réfs"
 
-#: builtin/commit-graph.c:166
+#: builtin/commit-graph.c:130
 msgid "scan pack-indexes listed by stdin for commits"
 msgstr "scanner les index compactés listés sur stdin à la recherche de commits"
 
-#: builtin/commit-graph.c:168
+#: builtin/commit-graph.c:132
 msgid "start walk at commits listed by stdin"
 msgstr "commencer le parcours aux commits listés sur stdin"
 
-#: builtin/commit-graph.c:170
+#: builtin/commit-graph.c:134
 msgid "include all commits already in the commit-graph file"
 msgstr ""
 "inclure tous les commits déjà présents dans le fichier de graphe de commits"
 
-#: builtin/commit-graph.c:172
+#: builtin/commit-graph.c:137
 msgid "allow writing an incremental commit-graph file"
 msgstr "permettre d'écrire un fichier incrémental de graphe de commit"
 
-#: 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 ""
 "le nombre maximum de commits dans un graphe de commit divisé pas de base"
 
-#: builtin/commit-graph.c:176
+#: builtin/commit-graph.c:141
 msgid "maximum ratio between two levels of a split commit-graph"
 msgstr "rapport maximum entre deux niveaux d'un graphe de commit divisé"
 
-#: builtin/commit-graph.c:191
+#: builtin/commit-graph.c:159
 msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
 msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
 
@@ -12176,208 +13167,214 @@ msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
 msgid "git config [<options>]"
 msgstr "git config [<options>]"
 
-#: 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 "argument --type non reconnu, %s"
 
-#: builtin/config.c:115
+#: builtin/config.c:116
 msgid "only one type at a time"
 msgstr "qu'un seul type à la fois"
 
-#: builtin/config.c:124
+#: builtin/config.c:125
 msgid "Config file location"
 msgstr "Emplacement du fichier de configuration"
 
-#: builtin/config.c:125
+#: builtin/config.c:126
 msgid "use global config file"
 msgstr "utiliser les fichier de configuration global"
 
-#: builtin/config.c:126
+#: builtin/config.c:127
 msgid "use system config file"
 msgstr "utiliser le fichier de configuration du système"
 
-#: builtin/config.c:127
+#: builtin/config.c:128
 msgid "use repository config file"
 msgstr "utiliser le fichier de configuration du dépôt"
 
-#: builtin/config.c:128
+#: builtin/config.c:129
 msgid "use per-worktree config file"
 msgstr "utiliser un fichier de configuration par arbre de travail"
 
-#: builtin/config.c:129
+#: builtin/config.c:130
 msgid "use given config file"
 msgstr "utiliser le fichier de configuration spécifié"
 
-#: 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 "lire la configuration depuis l'objet blob fourni"
 
-#: builtin/config.c:131
+#: builtin/config.c:132
 msgid "Action"
 msgstr "Action"
 
-#: builtin/config.c:132
+#: builtin/config.c:133
 msgid "get value: name [value-regex]"
 msgstr "obtenir la valeur : nom [regex-de-valeur]"
 
-#: builtin/config.c:133
+#: builtin/config.c:134
 msgid "get all values: key [value-regex]"
 msgstr "obtenir toutes les valeurs : clé [regex-de-valeur]"
 
-#: builtin/config.c:134
+#: builtin/config.c:135
 msgid "get values for regexp: name-regex [value-regex]"
 msgstr "obtenir les valeur pour la regexp : regex-de-nom [regex-de-valeur]"
 
-#: builtin/config.c:135
+#: builtin/config.c:136
 msgid "get value specific for the URL: section[.var] URL"
 msgstr "obtenir la valeur spécifique pour l'URL : section[.var] URL"
 
-#: builtin/config.c:136
+#: builtin/config.c:137
 msgid "replace all matching variables: name value [value_regex]"
 msgstr ""
 "remplacer toutes les variables correspondant : nom valeur [regex-de-valeur]"
 
-#: builtin/config.c:137
+#: builtin/config.c:138
 msgid "add a new variable: name value"
 msgstr "ajouter une nouvelle variable : nom valeur"
 
-#: builtin/config.c:138
+#: builtin/config.c:139
 msgid "remove a variable: name [value-regex]"
 msgstr "supprimer une variable : nom [regex-de-valeur]"
 
-#: builtin/config.c:139
+#: builtin/config.c:140
 msgid "remove all matches: name [value-regex]"
 msgstr "supprimer toutes les correspondances nom [regex-de-valeur]"
 
-#: builtin/config.c:140
+#: builtin/config.c:141
 msgid "rename section: old-name new-name"
 msgstr "renommer une section : ancien-nom nouveau-nom"
 
-#: builtin/config.c:141
+#: builtin/config.c:142
 msgid "remove a section: name"
 msgstr "supprimer une section : nom"
 
-#: builtin/config.c:142
+#: builtin/config.c:143
 msgid "list all"
 msgstr "afficher tout"
 
-#: builtin/config.c:143
+#: builtin/config.c:144
 msgid "open an editor"
 msgstr "ouvrir un éditeur"
 
-#: builtin/config.c:144
+#: builtin/config.c:145
 msgid "find the color configured: slot [default]"
 msgstr "trouver la couleur configurée : slot [par défaut]"
 
-#: builtin/config.c:145
+#: builtin/config.c:146
 msgid "find the color setting: slot [stdout-is-tty]"
 msgstr "trouver le réglage de la couleur : slot [stdout-est-tty]"
 
-#: builtin/config.c:146
+#: builtin/config.c:147
 msgid "Type"
 msgstr "Type"
 
-#: 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 "ce type est assigné à la valeur"
 
-#: builtin/config.c:148
+#: builtin/config.c:149
 msgid "value is \"true\" or \"false\""
 msgstr "la valeur est \"true\" (vrai) ou \"false\" (faux)"
 
-#: builtin/config.c:149
+#: builtin/config.c:150
 msgid "value is decimal number"
 msgstr "la valeur est un nombre décimal"
 
-#: builtin/config.c:150
+#: builtin/config.c:151
 msgid "value is --bool or --int"
 msgstr "la valeur est --bool ou --int"
 
-#: builtin/config.c:151
+#: builtin/config.c:152
 msgid "value is a path (file or directory name)"
 msgstr "la valeur est un chemin (vers un fichier ou un répertoire)"
 
-#: builtin/config.c:152
+#: builtin/config.c:153
 msgid "value is an expiry date"
 msgstr "la valeur est une date d'expiration"
 
-#: builtin/config.c:153
+#: builtin/config.c:154
 msgid "Other"
 msgstr "Autre"
 
-#: builtin/config.c:154
+#: builtin/config.c:155
 msgid "terminate values with NUL byte"
 msgstr "terminer les valeurs avec un caractère NUL"
 
-#: builtin/config.c:155
+#: builtin/config.c:156
 msgid "show variable names only"
 msgstr "n'afficher que les noms de variable"
 
-#: builtin/config.c:156
+#: builtin/config.c:157
 msgid "respect include directives on lookup"
 msgstr "respecter les directives d'inclusion lors de la recherche"
 
-#: builtin/config.c:157
+#: builtin/config.c:158
 msgid "show origin of config (file, standard input, blob, command line)"
 msgstr ""
 "afficher l'origine de la configuration (fichier, entrée standard, blob, "
 "ligne de commande)"
 
-#: builtin/config.c:158 builtin/env--helper.c:40
+#: builtin/config.c:159
+msgid "show scope of config (worktree, local, global, system, command)"
+msgstr ""
+"afficher la portée de configuration (arbre de travail, local, global, "
+"système, commande)"
+
+#: builtin/config.c:160 builtin/env--helper.c:40
 msgid "value"
 msgstr "valeur"
 
-#: builtin/config.c:158
+#: builtin/config.c:160
 msgid "with --get, use default value when missing entry"
 msgstr "avec --get, utiliser le valeur par défaut quand l'entrée n'existe pas"
 
-#: builtin/config.c:172
+#: builtin/config.c:174
 #, c-format
 msgid "wrong number of arguments, should be %d"
 msgstr "mauvais nombre d'arguments, devrait être %d"
 
-#: builtin/config.c:174
+#: builtin/config.c:176
 #, c-format
 msgid "wrong number of arguments, should be from %d to %d"
 msgstr "mauvais nombre d'arguments, devrait être entre %d et %d"
 
-#: builtin/config.c:308
+#: builtin/config.c:324
 #, c-format
 msgid "invalid key pattern: %s"
 msgstr "motif de clé invalide : %s"
 
-#: builtin/config.c:344
+#: builtin/config.c:360
 #, c-format
 msgid "failed to format default config value: %s"
 msgstr "échec du formatage de la valeur de config par défaut : %s"
 
-#: builtin/config.c:401
+#: builtin/config.c:417
 #, c-format
 msgid "cannot parse color '%s'"
 msgstr "impossible d'analyser la couleur '%s'"
 
-#: builtin/config.c:443
+#: builtin/config.c:459
 msgid "unable to parse default color value"
 msgstr "impossible de lire la valeur de couleur par défaut"
 
-#: builtin/config.c:496 builtin/config.c:742
+#: builtin/config.c:512 builtin/config.c:768
 msgid "not in a git directory"
 msgstr "pas dans un répertoire git"
 
-#: builtin/config.c:499
+#: builtin/config.c:515
 msgid "writing to stdin is not supported"
 msgstr "l'écriture sur stdin n'est pas supportée"
 
-#: builtin/config.c:502
+#: builtin/config.c:518
 msgid "writing config blobs is not supported"
 msgstr "l'écriture de blob de configuration n'est pas supportée<"
 
-#: builtin/config.c:587
+#: builtin/config.c:603
 #, c-format
 msgid ""
 "# This is Git's per-user configuration file.\n"
@@ -12392,23 +13389,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 "un seul fichier de configuration à la fois"
 
-#: builtin/config.c:616
+#: builtin/config.c:632
 msgid "--local can only be used inside a git repository"
 msgstr "--local ne peut être utilisé qu'à l'intérieur d'un dépôt git"
 
-#: builtin/config.c:619
+#: builtin/config.c:635
 msgid "--blob can only be used inside a git repository"
 msgstr "--blob ne peut être utilisé qu'à l'intérieur d'un dépôt git"
 
-#: builtin/config.c:638
+#: builtin/config.c:655
 msgid "$HOME not set"
 msgstr "$HOME n'est pas défini"
 
-#: 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"
@@ -12419,19 +13416,19 @@ msgstr ""
 "la section \"CONFIGURATION FILE\" de \"git help worktree\" pour plus de "
 "détails"
 
-#: builtin/config.c:688
+#: builtin/config.c:714
 msgid "--get-color and variable type are incoherent"
 msgstr "--get-color et le type de la variable sont incohérents"
 
-#: builtin/config.c:693
+#: builtin/config.c:719
 msgid "only one action at a time"
 msgstr "une seule action à la fois"
 
-#: builtin/config.c:706
+#: builtin/config.c:732
 msgid "--name-only is only applicable to --list or --get-regexp"
 msgstr "--name-only n'est applicable qu'avec --list ou --get-regexp"
 
-#: builtin/config.c:712
+#: builtin/config.c:738
 msgid ""
 "--show-origin is only applicable to --get, --get-all, --get-regexp, and --"
 "list"
@@ -12439,33 +13436,33 @@ msgstr ""
 "--show-origin n'est applicable qu'avec --get, --get-all, --get-regexp ou --"
 "list"
 
-#: builtin/config.c:718
+#: builtin/config.c:744
 msgid "--default is only applicable to --get"
 msgstr "--default n'est applicable qu'avec --get"
 
-#: builtin/config.c:731
+#: builtin/config.c:757
 #, c-format
 msgid "unable to read config file '%s'"
 msgstr "lecture du fichier de configuration '%s' impossible"
 
-#: builtin/config.c:734
+#: builtin/config.c:760
 msgid "error processing config file(s)"
 msgstr "erreur lors du traitement de fichier(s) de configuration"
 
-#: builtin/config.c:744
+#: builtin/config.c:770
 msgid "editing stdin is not supported"
 msgstr "l'édition de stdin n'est pas supportée"
 
-#: builtin/config.c:746
+#: builtin/config.c:772
 msgid "editing blobs is not supported"
 msgstr "l'édition de blobs n'est pas supportée"
 
-#: builtin/config.c:760
+#: builtin/config.c:786
 #, c-format
 msgid "cannot create configuration file %s"
 msgstr "création impossible du fichier de configuration '%s'"
 
-#: builtin/config.c:773
+#: builtin/config.c:799
 #, c-format
 msgid ""
 "cannot overwrite multiple values with a single value\n"
@@ -12474,7 +13471,7 @@ msgstr ""
 "impossible de surcharger des valeurs multiples avec une seule valeur\n"
 "       Utilisez une regexp, --add ou --replace-all pour modifier %s."
 
-#: builtin/config.c:847 builtin/config.c:858
+#: builtin/config.c:873 builtin/config.c:884
 #, c-format
 msgid "no such section: %s"
 msgstr "section inexistante : %s"
@@ -12487,59 +13484,59 @@ msgstr "git count-objects [-v] [-H | --human-readable]"
 msgid "print sizes in human readable format"
 msgstr "affiche les tailles dans un format humainement lisible"
 
-#: builtin/describe.c:27
+#: builtin/describe.c:26
 msgid "git describe [<options>] [<commit-ish>...]"
 msgstr "git describe [<options>] <commit ou apparenté>*"
 
-#: builtin/describe.c:28
+#: builtin/describe.c:27
 msgid "git describe [<options>] --dirty"
 msgstr "git describe [<options>] --dirty"
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "head"
 msgstr "tête"
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "lightweight"
 msgstr "léger"
 
-#: builtin/describe.c:63
+#: builtin/describe.c:62
 msgid "annotated"
 msgstr "annoté"
 
-#: builtin/describe.c:273
+#: builtin/describe.c:275
 #, c-format
 msgid "annotated tag %s not available"
 msgstr "l'étiquette annotée %s n'est pas disponible"
 
-#: builtin/describe.c:277
+#: builtin/describe.c:279
 #, c-format
 msgid "annotated tag %s has no embedded name"
 msgstr "l'étiquette annotée %s n'a pas de nom embarqué"
 
-#: builtin/describe.c:279
+#: builtin/describe.c:281
 #, c-format
 msgid "tag '%s' is really '%s' here"
 msgstr "l'étiquette '%s' est en fait '%s'"
 
-#: builtin/describe.c:323
+#: builtin/describe.c:325
 #, c-format
 msgid "no tag exactly matches '%s'"
 msgstr "aucune étiquette ne correspond parfaitement à '%s'"
 
-#: builtin/describe.c:325
+#: builtin/describe.c:327
 #, c-format
 msgid "No exact match on refs or tags, searching to describe\n"
 msgstr ""
 "Pas de correspondance exacte sur des réfs ou des étiquettes, recherche par "
 "describe\n"
 
-#: builtin/describe.c:379
+#: builtin/describe.c:394
 #, c-format
 msgid "finished search at %s\n"
 msgstr "recherche terminée à %s\n"
 
-#: builtin/describe.c:405
+#: builtin/describe.c:421
 #, c-format
 msgid ""
 "No annotated tags can describe '%s'.\n"
@@ -12548,7 +13545,7 @@ msgstr ""
 "Aucune étiquette annotée ne peut décrire '%s'.\n"
 "Cependant, il existe des étiquettes non-annotées : essayez avec --tags."
 
-#: builtin/describe.c:409
+#: builtin/describe.c:425
 #, c-format
 msgid ""
 "No tags can describe '%s'.\n"
@@ -12557,12 +13554,12 @@ msgstr ""
 "Aucune étiquette ne peut décrire '%s'.\n"
 "Essayez --always, ou créez des étiquettes."
 
-#: builtin/describe.c:439
+#: builtin/describe.c:455
 #, c-format
 msgid "traversed %lu commits\n"
 msgstr "%lu commits parcourus\n"
 
-#: builtin/describe.c:442
+#: builtin/describe.c:458
 #, c-format
 msgid ""
 "more than %i tags found; listed %i most recent\n"
@@ -12572,92 +13569,92 @@ msgstr ""
 "affichées\n"
 "abandon de la recherche à %s\n"
 
-#: builtin/describe.c:510
+#: builtin/describe.c:526
 #, c-format
 msgid "describe %s\n"
 msgstr "décrire %s\n"
 
-#: builtin/describe.c:513
+#: builtin/describe.c:529
 #, c-format
 msgid "Not a valid object name %s"
 msgstr "%s n'est pas un nom d'objet valide"
 
-#: builtin/describe.c:521
+#: builtin/describe.c:537
 #, c-format
 msgid "%s is neither a commit nor blob"
 msgstr "%s n'est ni un commit ni un blob"
 
-#: builtin/describe.c:535
+#: builtin/describe.c:551
 msgid "find the tag that comes after the commit"
 msgstr "rechercher l'étiquette qui suit le commit"
 
-#: builtin/describe.c:536
+#: builtin/describe.c:552
 msgid "debug search strategy on stderr"
 msgstr "déboguer la stratégie de recherche sur stderr"
 
-#: builtin/describe.c:537
+#: builtin/describe.c:553
 msgid "use any ref"
 msgstr "utiliser n'importe quelle référence"
 
-#: builtin/describe.c:538
+#: builtin/describe.c:554
 msgid "use any tag, even unannotated"
 msgstr "utiliser n'importe quelle étiquette, même non-annotée"
 
-#: builtin/describe.c:539
+#: builtin/describe.c:555
 msgid "always use long format"
 msgstr "toujours utiliser le format long"
 
-#: builtin/describe.c:540
+#: builtin/describe.c:556
 msgid "only follow first parent"
 msgstr "ne suivre que le premier parent"
 
-#: builtin/describe.c:543
+#: builtin/describe.c:559
 msgid "only output exact matches"
 msgstr "n'afficher que les correspondances exactes"
 
-#: builtin/describe.c:545
+#: builtin/describe.c:561
 msgid "consider <n> most recent tags (default: 10)"
 msgstr ""
 "considérer uniquement les <n> étiquettes le plus récentes (défaut : 10)"
 
-#: builtin/describe.c:547
+#: builtin/describe.c:563
 msgid "only consider tags matching <pattern>"
 msgstr "ne considérer que les étiquettes correspondant à <motif>"
 
-#: builtin/describe.c:549
+#: builtin/describe.c:565
 msgid "do not consider tags matching <pattern>"
 msgstr "ne pas considérer les étiquettes correspondant à <motif>"
 
-#: 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 "afficher les objets commits abrégés en dernier recours"
 
-#: builtin/describe.c:552 builtin/describe.c:555
+#: builtin/describe.c:568 builtin/describe.c:571
 msgid "mark"
 msgstr "marque"
 
-#: builtin/describe.c:553
+#: builtin/describe.c:569
 msgid "append <mark> on dirty working tree (default: \"-dirty\")"
 msgstr "ajouter <marque> si la copie de travail est sale (défaut : \"-dirty\")"
 
-#: builtin/describe.c:556
+#: builtin/describe.c:572
 msgid "append <mark> on broken working tree (default: \"-broken\")"
 msgstr ""
 "ajouter <marque> si la copie de travail est cassée (défaut : \"-broken\")"
 
-#: builtin/describe.c:574
+#: builtin/describe.c:590
 msgid "--long is incompatible with --abbrev=0"
 msgstr "--long et --abbrev=0 sont incompatibles"
 
-#: builtin/describe.c:603
+#: builtin/describe.c:619
 msgid "No names found, cannot describe anything."
 msgstr "aucun nom trouvé, impossible de décrire quoi que ce soit."
 
-#: builtin/describe.c:654
+#: builtin/describe.c:670
 msgid "--dirty is incompatible with commit-ishes"
 msgstr "--dirty est incompatible avec la spécification de commits ou assimilés"
 
-#: builtin/describe.c:656
+#: builtin/describe.c:672
 msgid "--broken is incompatible with commit-ishes"
 msgstr "--broken est incompatible avec les commits ou assimilés"
 
@@ -12694,27 +13691,27 @@ msgstr "objet non géré '%s' spécifié."
 msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
 msgstr "git difftool [<options>] [<commit> [<commit>]] [--] [<chemin>...]"
 
-#: builtin/difftool.c:253
+#: builtin/difftool.c:260
 #, c-format
 msgid "failed: %d"
 msgstr "échec : %d"
 
-#: builtin/difftool.c:295
+#: builtin/difftool.c:302
 #, c-format
 msgid "could not read symlink %s"
 msgstr "lecture du lien symbolique %s impossible"
 
-#: builtin/difftool.c:297
+#: builtin/difftool.c:304
 #, c-format
 msgid "could not read symlink file %s"
 msgstr "impossible de lire le fichier symlink %s"
 
-#: builtin/difftool.c:305
+#: builtin/difftool.c:312
 #, c-format
 msgid "could not read object %s for symlink %s"
 msgstr "Impossible de lire l'objet %s pour le symlink %s"
 
-#: builtin/difftool.c:406
+#: builtin/difftool.c:413
 msgid ""
 "combined diff formats('-c' and '--cc') are not supported in\n"
 "directory diff mode('-d' and '--dir-diff')."
@@ -12722,53 +13719,53 @@ msgstr ""
 "les formats de diff combinés ('-c' et '--cc') ne sont pas supportés\n"
 "dans le mode de diff de répertoire ('-d' et '--dir-diff')."
 
-#: builtin/difftool.c:626
+#: builtin/difftool.c:634
 #, c-format
 msgid "both files modified: '%s' and '%s'."
 msgstr "les deux fichiers sont modifiés : '%s' et '%s'."
 
-#: builtin/difftool.c:628
+#: builtin/difftool.c:636
 msgid "working tree file has been left."
 msgstr "le fichier dans l'arbre de travail a été laissé."
 
-#: builtin/difftool.c:639
+#: builtin/difftool.c:647
 #, c-format
 msgid "temporary files exist in '%s'."
 msgstr "des fichiers temporaires existent dans '%s'."
 
-#: builtin/difftool.c:640
+#: builtin/difftool.c:648
 msgid "you may want to cleanup or recover these."
 msgstr "vous pourriez souhaiter les nettoyer ou les récupérer."
 
-#: builtin/difftool.c:689
+#: builtin/difftool.c:697
 msgid "use `diff.guitool` instead of `diff.tool`"
 msgstr "utiliser `diff.guitool` au lieu de `diff.tool`"
 
-#: builtin/difftool.c:691
+#: builtin/difftool.c:699
 msgid "perform a full-directory diff"
 msgstr "réalise un diff de répertoire complet"
 
-#: builtin/difftool.c:693
+#: builtin/difftool.c:701
 msgid "do not prompt before launching a diff tool"
 msgstr "ne pas confirmer avant de lancer l'outil de diff"
 
-#: builtin/difftool.c:698
+#: builtin/difftool.c:706
 msgid "use symlinks in dir-diff mode"
 msgstr "utiliser les liens symboliques en mode de diff de répertoire"
 
-#: builtin/difftool.c:699
+#: builtin/difftool.c:707
 msgid "tool"
 msgstr "outil"
 
-#: builtin/difftool.c:700
+#: builtin/difftool.c:708
 msgid "use the specified diff tool"
 msgstr "utiliser l'outil de diff spécifié"
 
-#: builtin/difftool.c:702
+#: builtin/difftool.c:710
 msgid "print a list of diff tools that may be used with `--tool`"
 msgstr "afficher une liste des outils de diff utilisables avec `--tool`"
 
-#: builtin/difftool.c:705
+#: builtin/difftool.c:713
 msgid ""
 "make 'git-difftool' exit when an invoked diff tool returns a non - zero exit "
 "code"
@@ -12776,31 +13773,31 @@ msgstr ""
 "provoque la fin de 'git-difftool' si l'outil de diff invoqué renvoie un code "
 "non-nul"
 
-#: builtin/difftool.c:708
+#: builtin/difftool.c:716
 msgid "specify a custom command for viewing diffs"
 msgstr "spécifier une commande personnalisée pour visualiser les différences"
 
-#: builtin/difftool.c:709
+#: builtin/difftool.c:717
 msgid "passed to `diff`"
 msgstr "passé à `diff`"
 
-#: builtin/difftool.c:724
+#: builtin/difftool.c:732
 msgid "difftool requires worktree or --no-index"
 msgstr "difftool exige un arbre de travail ou --no-index"
 
-#: builtin/difftool.c:731
+#: builtin/difftool.c:739
 msgid "--dir-diff is incompatible with --no-index"
 msgstr "--dir-diff est incompatible avec --no-index"
 
-#: builtin/difftool.c:734
+#: builtin/difftool.c:742
 msgid "--gui, --tool and --extcmd are mutually exclusive"
 msgstr "--gui, --tool et --extcmd sont mutuellement exclusifs"
 
-#: builtin/difftool.c:742
+#: builtin/difftool.c:750
 msgid "no <tool> given for --tool=<tool>"
 msgstr "pas d'<outil> spécifié pour --tool=<outil>"
 
-#: builtin/difftool.c:749
+#: builtin/difftool.c:757
 msgid "no <cmd> given for --extcmd=<cmd>"
 msgstr "pas de <commande> spécifié pour --extcmd=<commande>"
 
@@ -12841,164 +13838,191 @@ msgstr ""
 msgid "git fast-export [rev-list-opts]"
 msgstr "git fast-export [options-de-liste-de-révisions]"
 
-#: builtin/fast-export.c:1124
+#: builtin/fast-export.c:853
+msgid "Error: Cannot export nested tags unless --mark-tags is specified."
+msgstr ""
+"Erreur : impossible d'exporter des étiquettes imbriquées à moins que --mark-"
+"tags ne soit spécifié."
+
+#: builtin/fast-export.c:1152
 msgid "show progress after <n> objects"
 msgstr "afficher la progression après <n> objets"
 
-#: builtin/fast-export.c:1126
+#: builtin/fast-export.c:1154
 msgid "select handling of signed tags"
 msgstr "sélectionner la gestion des étiquettes signées"
 
-#: builtin/fast-export.c:1129
+#: builtin/fast-export.c:1157
 msgid "select handling of tags that tag filtered objects"
 msgstr ""
 "sélectionner la gestion des étiquettes qui pointent sur des objets filtrés"
 
-#: builtin/fast-export.c:1132
+#: builtin/fast-export.c:1160
 msgid "select handling of commit messages in an alternate encoding"
 msgstr ""
 "sélectionner la gestion des messages de validation dans un encodage "
 "alternatif"
 
-#: builtin/fast-export.c:1135
+#: builtin/fast-export.c:1163
 msgid "Dump marks to this file"
 msgstr "Enregistrer les marques dans ce fichier"
 
-#: builtin/fast-export.c:1137
+#: builtin/fast-export.c:1165
 msgid "Import marks from this file"
 msgstr "importer les marques depuis ce fichier"
 
-#: builtin/fast-export.c:1139
+#: builtin/fast-export.c:1169
+msgid "Import marks from this file if it exists"
+msgstr "importer les marques depuis ce fichier s'il existe"
+
+#: builtin/fast-export.c:1171
 msgid "Fake a tagger when tags lack one"
 msgstr "falsifier un auteur d'étiquette si l'étiquette n'en présente pas"
 
-#: builtin/fast-export.c:1141
+#: builtin/fast-export.c:1173
 msgid "Output full tree for each commit"
 msgstr "Afficher l'arbre complet pour chaque commit"
 
-#: builtin/fast-export.c:1143
+#: builtin/fast-export.c:1175
 msgid "Use the done feature to terminate the stream"
 msgstr "Utiliser la fonction \"done\" pour terminer le flux"
 
-#: builtin/fast-export.c:1144
+#: builtin/fast-export.c:1176
 msgid "Skip output of blob data"
 msgstr "Sauter l'affichage de données de blob"
 
-#: builtin/fast-export.c:1145 builtin/log.c:1632
+#: builtin/fast-export.c:1177 builtin/log.c:1705
 msgid "refspec"
 msgstr "spécificateur de référence"
 
-#: builtin/fast-export.c:1146
+#: builtin/fast-export.c:1178
 msgid "Apply refspec to exported refs"
 msgstr "Appliquer le spécificateur de référence aux références exportées"
 
-#: builtin/fast-export.c:1147
+#: builtin/fast-export.c:1179
 msgid "anonymize output"
 msgstr "anonymise la sortie"
 
-#: builtin/fast-export.c:1149
+#: builtin/fast-export.c:1181
 msgid "Reference parents which are not in fast-export stream by object id"
 msgstr ""
 "les parents références qui ne sont pas dans le flux d'export rapide par id "
 "d'objet"
 
-#: builtin/fast-export.c:1151
+#: builtin/fast-export.c:1183
 msgid "Show original object ids of blobs/commits"
 msgstr "Afficher les ids d'objet originaux des blobs/commits"
 
-#: builtin/fetch.c:30
+#: builtin/fast-export.c:1185
+msgid "Label tags with mark ids"
+msgstr "Marquer les étiquettes avec des ids de marque"
+
+#: builtin/fast-export.c:1220
+msgid "Cannot pass both --import-marks and --import-marks-if-exists"
+msgstr ""
+"Impossible d'utiliser à la fois --import-marks et --import-marks-if-exists"
+
+#: builtin/fetch.c:34
 msgid "git fetch [<options>] [<repository> [<refspec>...]]"
 msgstr "git fetch [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/fetch.c:31
+#: builtin/fetch.c:35
 msgid "git fetch [<options>] <group>"
 msgstr "git fetch [<options>] <groupe>"
 
-#: builtin/fetch.c:32
+#: builtin/fetch.c:36
 msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
 msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]"
 
-#: builtin/fetch.c:33
+#: builtin/fetch.c:37
 msgid "git fetch --all [<options>]"
 msgstr "git fetch --all [<options>]"
 
-#: builtin/fetch.c:125 builtin/pull.c:203
+#: builtin/fetch.c:116
+msgid "fetch.parallel cannot be negative"
+msgstr "fetch.parallel ne peut pas être négatif"
+
+#: builtin/fetch.c:139 builtin/pull.c:184
 msgid "fetch from all remotes"
 msgstr "récupérer depuis tous les dépôts distants"
 
-#: builtin/fetch.c:127 builtin/pull.c:206
+#: builtin/fetch.c:141 builtin/pull.c:228
+msgid "set upstream for git pull/fetch"
+msgstr "définir la branche amont pour git pull/fetch"
+
+#: builtin/fetch.c:143 builtin/pull.c:187
 msgid "append to .git/FETCH_HEAD instead of overwriting"
 msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser"
 
-#: 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 "chemin vers lequel télécharger le paquet sur le poste distant"
 
-#: builtin/fetch.c:130
+#: builtin/fetch.c:146
 msgid "force overwrite of local reference"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/fetch.c:132
+#: builtin/fetch.c:148
 msgid "fetch from multiple remotes"
 msgstr "récupérer depuis plusieurs dépôts distants"
 
-#: builtin/fetch.c:134 builtin/pull.c:213
+#: builtin/fetch.c:150 builtin/pull.c:194
 msgid "fetch all tags and associated objects"
 msgstr "récupérer toutes les étiquettes et leurs objets associés"
 
-#: builtin/fetch.c:136
+#: builtin/fetch.c:152
 msgid "do not fetch all tags (--no-tags)"
 msgstr "ne pas récupérer toutes les étiquettes (--no-tags)"
 
-#: builtin/fetch.c:138
+#: builtin/fetch.c:154
 msgid "number of submodules fetched in parallel"
 msgstr "nombre de sous-modules récupérés en parallèle"
 
-#: 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 ""
 "éliminer les branches de suivi distant si la branche n'existe plus dans le "
 "dépôt distant"
 
-#: builtin/fetch.c:142
+#: builtin/fetch.c:158
 msgid "prune local tags no longer on remote and clobber changed tags"
 msgstr ""
 "éliminer les étiquettes locales qui ont disparu du dépôt distant et qui "
 "encombrent les étiquettes modifiées"
 
-#: 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 "à la demande"
 
-#: builtin/fetch.c:144
+#: builtin/fetch.c:160
 msgid "control recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/fetch.c:148 builtin/pull.c:224
+#: builtin/fetch.c:164 builtin/pull.c:205
 msgid "keep downloaded pack"
 msgstr "conserver le paquet téléchargé"
 
-#: builtin/fetch.c:150
+#: builtin/fetch.c:166
 msgid "allow updating of HEAD ref"
 msgstr "permettre la mise à jour de la référence HEAD"
 
-#: builtin/fetch.c:153 builtin/fetch.c:159 builtin/pull.c:227
+#: builtin/fetch.c:169 builtin/fetch.c:175 builtin/pull.c:208
 msgid "deepen history of shallow clone"
 msgstr "approfondir l'historique d'un clone superficiel"
 
-#: builtin/fetch.c:155
+#: builtin/fetch.c:171
 msgid "deepen history of shallow repository based on time"
 msgstr "approfondir l'historique d'un clone superficiel en fonction d'une date"
 
-#: builtin/fetch.c:161 builtin/pull.c:230
+#: builtin/fetch.c:177 builtin/pull.c:211
 msgid "convert to a complete repository"
 msgstr "convertir en un dépôt complet"
 
-#: builtin/fetch.c:164
+#: builtin/fetch.c:180
 msgid "prepend this to submodule path output"
 msgstr "préfixer ceci à la sortie du chemin du sous-module"
 
-#: builtin/fetch.c:167
+#: builtin/fetch.c:183
 msgid ""
 "default for recursive fetching of submodules (lower priority than config "
 "files)"
@@ -13006,91 +14030,95 @@ msgstr ""
 "par défaut pour la récupération récursive de sous-modules (priorité plus "
 "basse que les fichiers de config)"
 
-#: builtin/fetch.c:171 builtin/pull.c:233
+#: builtin/fetch.c:187 builtin/pull.c:214
 msgid "accept refs that update .git/shallow"
 msgstr "accepter les références qui mettent à jour .git/shallow"
 
-#: builtin/fetch.c:172 builtin/pull.c:235
+#: builtin/fetch.c:188 builtin/pull.c:216
 msgid "refmap"
 msgstr "correspondance de référence"
 
-#: builtin/fetch.c:173 builtin/pull.c:236
+#: builtin/fetch.c:189 builtin/pull.c:217
 msgid "specify fetch refmap"
 msgstr "spécifier une correspondance de référence pour la récupération"
 
-#: builtin/fetch.c:180
+#: builtin/fetch.c:196
 msgid "report that we have only objects reachable from this object"
 msgstr "rapporte que nous n'avons que des objets joignables depuis cet objet"
 
-#: builtin/fetch.c:183
+#: builtin/fetch.c:199
 msgid "run 'gc --auto' after fetching"
 msgstr "lancer 'gc --auto' après la récupération"
 
-#: 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 "vérifier les mises à jour forcées sur toutes les branches mises à jour"
 
-#: builtin/fetch.c:491
+#: builtin/fetch.c:203
+msgid "write the commit-graph after fetching"
+msgstr "écrire le graphe de commits après le rapatriement"
+
+#: builtin/fetch.c:513
 msgid "Couldn't find remote ref HEAD"
 msgstr "impossible de trouver la référence HEAD distante"
 
-#: builtin/fetch.c:630
+#: builtin/fetch.c:653
 #, c-format
 msgid "configuration fetch.output contains invalid value %s"
 msgstr ""
 "le paramètre de configuration fetch.output contient une valeur invalide %s"
 
-#: builtin/fetch.c:728
+#: builtin/fetch.c:751
 #, c-format
 msgid "object %s not found"
 msgstr "objet %s non trouvé"
 
-#: builtin/fetch.c:732
+#: builtin/fetch.c:755
 msgid "[up to date]"
 msgstr "[à jour]"
 
-#: 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 "[rejeté]"
 
-#: builtin/fetch.c:746
+#: builtin/fetch.c:769
 msgid "can't fetch in current branch"
 msgstr "impossible de récupérer dans la branche actuelle"
 
-#: builtin/fetch.c:756
+#: builtin/fetch.c:779
 msgid "[tag update]"
 msgstr "[mise à jour de l'étiquette]"
 
-#: 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 "impossible de mettre à jour la référence locale"
 
-#: builtin/fetch.c:761
+#: builtin/fetch.c:784
 msgid "would clobber existing tag"
 msgstr "écraserait l'étiquette existante"
 
-#: builtin/fetch.c:783
+#: builtin/fetch.c:806
 msgid "[new tag]"
 msgstr "[nouvelle étiquette]"
 
-#: builtin/fetch.c:786
+#: builtin/fetch.c:809
 msgid "[new branch]"
 msgstr "[nouvelle branche]"
 
-#: builtin/fetch.c:789
+#: builtin/fetch.c:812
 msgid "[new ref]"
 msgstr "[nouvelle référence]"
 
-#: builtin/fetch.c:828
+#: builtin/fetch.c:851
 msgid "forced update"
 msgstr "mise à jour forcée"
 
-#: builtin/fetch.c:833
+#: builtin/fetch.c:856
 msgid "non-fast-forward"
 msgstr "pas en avance rapide"
 
-#: 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"
@@ -13100,7 +14128,7 @@ msgstr ""
 "mais ceci a été désactivé. Pour ré-activer, utilisez le drapeau\n"
 "'--show-forced-update' ou lancez 'git config fetch.showForcedUpdates true'."
 
-#: builtin/fetch.c:858
+#: builtin/fetch.c:881
 #, c-format
 msgid ""
 "It took %.2f seconds to check forced updates. You can use\n"
@@ -13112,23 +14140,23 @@ msgstr ""
 "Vous pouvez utiliser '--no-show-forced-update' ou lancer\n"
 "'git config fetch.showForcedUpdates false' pour éviter ceci.\n"
 
-#: builtin/fetch.c:888
+#: builtin/fetch.c:920
 #, c-format
 msgid "%s did not send all necessary objects\n"
 msgstr "%s n'a pas envoyé tous les objets nécessaires\n"
 
-#: builtin/fetch.c:909
+#: builtin/fetch.c:941
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
 "%s rejeté parce que les racines superficielles ne sont pas mises à jour"
 
-#: builtin/fetch.c:1000 builtin/fetch.c:1131
+#: builtin/fetch.c:1026 builtin/fetch.c:1164
 #, c-format
 msgid "From %.*s\n"
 msgstr "Depuis %.*s\n"
 
-#: builtin/fetch.c:1011
+#: builtin/fetch.c:1037
 #, c-format
 msgid ""
 "some local refs could not be updated; try running\n"
@@ -13137,58 +14165,79 @@ msgstr ""
 "des références locales n'ont pas pu être mises à jour ; essayez de lancer\n"
 " 'git remote prune %s' pour supprimer des branches anciennes en conflit"
 
-#: builtin/fetch.c:1101
+#: builtin/fetch.c:1134
 #, c-format
 msgid "   (%s will become dangling)"
 msgstr "   (%s sera en suspens)"
 
-#: builtin/fetch.c:1102
+#: builtin/fetch.c:1135
 #, c-format
 msgid "   (%s has become dangling)"
 msgstr "   (%s est devenu en suspens)"
 
-#: builtin/fetch.c:1134
+#: builtin/fetch.c:1167
 msgid "[deleted]"
 msgstr "[supprimé]"
 
-#: builtin/fetch.c:1135 builtin/remote.c:1036
+#: builtin/fetch.c:1168 builtin/remote.c:1112
 msgid "(none)"
 msgstr "(aucun(e))"
 
-#: builtin/fetch.c:1158
+#: builtin/fetch.c:1191
 #, c-format
 msgid "Refusing to fetch into current branch %s of non-bare repository"
 msgstr "Refus de récupérer dans la branche courant %s d'un dépôt non nu"
 
-#: builtin/fetch.c:1177
+#: builtin/fetch.c:1210
 #, c-format
 msgid "Option \"%s\" value \"%s\" is not valid for %s"
 msgstr "La valeur \"%2$s\" de l'option \"%1$s\" est invalide pour %3$s"
 
-#: builtin/fetch.c:1180
+#: builtin/fetch.c:1213
 #, c-format
 msgid "Option \"%s\" is ignored for %s\n"
 msgstr "L'option \"%s\" est ignorée pour %s\n"
 
-#: builtin/fetch.c:1484
+#: builtin/fetch.c:1421
+msgid "multiple branches detected, incompatible with --set-upstream"
+msgstr "branches multiples détectées, imcompatible avec --set-upstream"
+
+#: builtin/fetch.c:1436
+msgid "not setting upstream for a remote remote-tracking branch"
+msgstr "dépôt amont non défini pour la branche de suivi à distance"
+
+#: builtin/fetch.c:1438
+msgid "not setting upstream for a remote tag"
+msgstr "dépôt amont non défini pour l'étiquette distante"
+
+#: builtin/fetch.c:1440
+msgid "unknown branch type"
+msgstr "type de branche inconnu"
+
+#: builtin/fetch.c:1442
+msgid ""
+"no source branch found.\n"
+"you need to specify exactly one branch with the --set-upstream option."
+msgstr ""
+"Aucune branche source trouvée.\n"
+"Vous devez spécifier exactement une branche avec l'option --set-upstream."
+
+#: builtin/fetch.c:1568 builtin/fetch.c:1631
 #, c-format
 msgid "Fetching %s\n"
 msgstr "Récupération de %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 "Impossible de récupérer %s"
 
-#: builtin/fetch.c:1532
-msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialClone"
-msgstr ""
-"--filter ne peut être utilisé qu'avec le dépôt distant configuré dans "
-"extensions.partialClone"
+#: builtin/fetch.c:1590
+#, c-format
+msgid "could not fetch '%s' (exit code: %d)\n"
+msgstr "impossible de récupérer '%s' (code de sortie : %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."
@@ -13196,46 +14245,46 @@ msgstr ""
 "Aucun dépôt distant spécifié. Veuillez spécifier une URL ou un nom\n"
 "distant depuis lesquels les nouvelles révisions devraient être récupérées."
 
-#: builtin/fetch.c:1593
+#: builtin/fetch.c:1730
 msgid "You need to specify a tag name."
 msgstr "Vous devez spécifier un nom d'étiquette."
 
-#: builtin/fetch.c:1644
+#: builtin/fetch.c:1780
 msgid "Negative depth in --deepen is not supported"
 msgstr "Une profondeur négative dans --deepen n'est pas supportée"
 
-#: builtin/fetch.c:1646
+#: builtin/fetch.c:1782
 msgid "--deepen and --depth are mutually exclusive"
 msgstr "--deepen et --depth sont mutuellement exclusifs"
 
-#: builtin/fetch.c:1651
+#: builtin/fetch.c:1787
 msgid "--depth and --unshallow cannot be used together"
 msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble"
 
-#: builtin/fetch.c:1653
+#: builtin/fetch.c:1789
 msgid "--unshallow on a complete repository does not make sense"
 msgstr "--unshallow sur un dépôt complet n'a pas de sens"
 
-#: builtin/fetch.c:1669
+#: builtin/fetch.c:1805
 msgid "fetch --all does not take a repository argument"
 msgstr "fetch --all n'accepte pas d'argument de dépôt"
 
-#: builtin/fetch.c:1671
+#: builtin/fetch.c:1807
 msgid "fetch --all does not make sense with refspecs"
 msgstr "fetch --all n'a pas de sens avec des spécifications de référence"
 
-#: builtin/fetch.c:1680
+#: builtin/fetch.c:1816
 #, c-format
 msgid "No such remote or remote group: %s"
 msgstr "distant ou groupe distant inexistant : %s"
 
-#: builtin/fetch.c:1687
+#: builtin/fetch.c:1823
 msgid "Fetching a group and specifying refspecs does not make sense"
 msgstr ""
 "La récupération d'un groupe et les spécifications de référence n'ont pas de "
 "sens"
 
-#: builtin/fetch.c:1703
+#: builtin/fetch.c:1841
 msgid ""
 "--filter can only be used with the remote configured in extensions."
 "partialclone"
@@ -13249,23 +14298,23 @@ msgid ""
 msgstr ""
 "git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <fichier>]"
 
-#: builtin/fmt-merge-msg.c:672
+#: builtin/fmt-merge-msg.c:671
 msgid "populate log with at most <n> entries from shortlog"
 msgstr "peupler le journal avec au plus <n> éléments depuis le journal court"
 
-#: builtin/fmt-merge-msg.c:675
+#: builtin/fmt-merge-msg.c:674
 msgid "alias for --log (deprecated)"
 msgstr "alias pour --log (obsolète)"
 
-#: builtin/fmt-merge-msg.c:678
+#: builtin/fmt-merge-msg.c:677
 msgid "text"
 msgstr "texte"
 
-#: builtin/fmt-merge-msg.c:679
+#: builtin/fmt-merge-msg.c:678
 msgid "use <text> as start of message"
 msgstr "utiliser <texte> comme début de message"
 
-#: builtin/fmt-merge-msg.c:680
+#: builtin/fmt-merge-msg.c:679
 msgid "file to read from"
 msgstr "fichier d'où lire"
 
@@ -13329,32 +14378,32 @@ msgstr "afficher seulement les références qui contiennent le commit"
 msgid "print only refs which don't contain the commit"
 msgstr "afficher seulement les références qui ne contiennent pas le commit"
 
-#: 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 "inconnu"
 
 #. 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 "erreur dans l'objet %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 "avertissement dans l'objet %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 "lien cassé dans l'objet %7s %s"
 
-#: builtin/fsck.c:168
+#: builtin/fsck.c:155
 msgid "wrong object type in link"
 msgstr "type d'objet inconnu dans le lien"
 
-#: builtin/fsck.c:184
+#: builtin/fsck.c:171
 #, c-format
 msgid ""
 "broken link from %7s %s\n"
@@ -13363,217 +14412,217 @@ msgstr ""
 "lien cassé depuis %7s %s\n"
 "             vers %7s %s"
 
-#: builtin/fsck.c:295
+#: builtin/fsck.c:282
 #, c-format
 msgid "missing %s %s"
 msgstr "objet %s manquant %s"
 
-#: builtin/fsck.c:321
+#: builtin/fsck.c:309
 #, c-format
 msgid "unreachable %s %s"
 msgstr "objet %s inatteignable %s"
 
-#: builtin/fsck.c:340
+#: builtin/fsck.c:329
 #, c-format
 msgid "dangling %s %s"
 msgstr "objet %s fantôme %s"
 
-#: builtin/fsck.c:349
+#: builtin/fsck.c:339
 msgid "could not create lost-found"
 msgstr "impossible de créer le fichier lost-found"
 
-#: builtin/fsck.c:360
+#: builtin/fsck.c:350
 #, c-format
 msgid "could not finish '%s'"
 msgstr "impossible de finir '%s'"
 
-#: builtin/fsck.c:377
+#: builtin/fsck.c:367
 #, c-format
 msgid "Checking %s"
 msgstr "Vérification de l'objet %s"
 
-#: builtin/fsck.c:415
+#: builtin/fsck.c:405
 #, c-format
 msgid "Checking connectivity (%d objects)"
 msgstr "Vérification de la connectivité (%d objets)"
 
-#: builtin/fsck.c:434
+#: builtin/fsck.c:424
 #, c-format
 msgid "Checking %s %s"
 msgstr "Vérification de l'objet %s %s"
 
-#: builtin/fsck.c:438
+#: builtin/fsck.c:429
 msgid "broken links"
 msgstr "liens cassés"
 
-#: builtin/fsck.c:447
+#: builtin/fsck.c:438
 #, c-format
 msgid "root %s"
 msgstr "racine %s"
 
-#: builtin/fsck.c:455
+#: builtin/fsck.c:446
 #, c-format
 msgid "tagged %s %s (%s) in %s"
 msgstr "étiquetage de l'objet %s %s (%s) dans %s"
 
-#: builtin/fsck.c:484
+#: builtin/fsck.c:475
 #, c-format
 msgid "%s: object corrupt or missing"
 msgstr "%s : objet corrompu ou manquant"
 
-#: builtin/fsck.c:509
+#: builtin/fsck.c:500
 #, c-format
 msgid "%s: invalid reflog entry %s"
 msgstr "%s : entrée %s de journal de références invalide"
 
-#: builtin/fsck.c:523
+#: builtin/fsck.c:514
 #, c-format
 msgid "Checking reflog %s->%s"
 msgstr "Vérification du journal de réferences %s-> %s"
 
-#: builtin/fsck.c:557
+#: builtin/fsck.c:548
 #, c-format
 msgid "%s: invalid sha1 pointer %s"
 msgstr "%s : pointeur de sha1 invalide %s"
 
-#: builtin/fsck.c:564
+#: builtin/fsck.c:555
 #, c-format
 msgid "%s: not a commit"
 msgstr "l'objet %s n'est pas un commit"
 
-#: builtin/fsck.c:619
+#: builtin/fsck.c:609
 msgid "notice: No default references"
 msgstr "Note : pas de référence par défaut"
 
-#: builtin/fsck.c:634
+#: builtin/fsck.c:624
 #, c-format
 msgid "%s: object corrupt or missing: %s"
 msgstr "%s : objet corrompu ou manquant : %s"
 
-#: builtin/fsck.c:647
+#: builtin/fsck.c:637
 #, c-format
 msgid "%s: object could not be parsed: %s"
 msgstr "%s : impossible d'analyser : %s"
 
-#: builtin/fsck.c:667
+#: builtin/fsck.c:657
 #, c-format
 msgid "bad sha1 file: %s"
 msgstr "mauvais fichier de sha1 : %s"
 
-#: builtin/fsck.c:682
+#: builtin/fsck.c:672
 msgid "Checking object directory"
 msgstr "Vérification du répertoire d'objet"
 
-#: builtin/fsck.c:685
+#: builtin/fsck.c:675
 msgid "Checking object directories"
 msgstr "Vérification des répertoires d'objet"
 
-#: builtin/fsck.c:700
+#: builtin/fsck.c:690
 #, c-format
 msgid "Checking %s link"
 msgstr "Vérification du lien %s"
 
-#: builtin/fsck.c:705 builtin/index-pack.c:842
+#: builtin/fsck.c:695 builtin/index-pack.c:843
 #, c-format
 msgid "invalid %s"
 msgstr "%s invalide"
 
-#: builtin/fsck.c:712
+#: builtin/fsck.c:702
 #, c-format
 msgid "%s points to something strange (%s)"
 msgstr "%s pointe sur quelque chose bizarre (%s)"
 
-#: builtin/fsck.c:718
+#: builtin/fsck.c:708
 #, c-format
 msgid "%s: detached HEAD points at nothing"
 msgstr "%s : la HEAD détachée ne pointe sur rien"
 
-#: builtin/fsck.c:722
+#: builtin/fsck.c:712
 #, c-format
 msgid "notice: %s points to an unborn branch (%s)"
 msgstr "note : %s pointe sur une branche non-née (%s)"
 
-#: builtin/fsck.c:734
+#: builtin/fsck.c:724
 msgid "Checking cache tree"
 msgstr "Vérification de l'arbre cache"
 
-#: builtin/fsck.c:739
+#: builtin/fsck.c:729
 #, c-format
 msgid "%s: invalid sha1 pointer in cache-tree"
 msgstr "%s : pointer sha1 invalide dans l'arbre de cache"
 
-#: builtin/fsck.c:750
+#: builtin/fsck.c:738
 msgid "non-tree in cache-tree"
 msgstr "non-arbre dans l'arbre de cache"
 
-#: builtin/fsck.c:781
+#: builtin/fsck.c:769
 msgid "git fsck [<options>] [<object>...]"
 msgstr "git fsck [<options>] [<objet>...]"
 
-#: builtin/fsck.c:787
+#: builtin/fsck.c:775
 msgid "show unreachable objects"
 msgstr "afficher les objets inaccessibles"
 
-#: builtin/fsck.c:788
+#: builtin/fsck.c:776
 msgid "show dangling objects"
 msgstr "afficher les objets en suspens"
 
-#: builtin/fsck.c:789
+#: builtin/fsck.c:777
 msgid "report tags"
 msgstr "afficher les étiquettes"
 
-#: builtin/fsck.c:790
+#: builtin/fsck.c:778
 msgid "report root nodes"
 msgstr "signaler les nœuds racines"
 
-#: builtin/fsck.c:791
+#: builtin/fsck.c:779
 msgid "make index objects head nodes"
 msgstr "considérer les objets de l'index comme nœuds tête"
 
 # translated from man page
-#: builtin/fsck.c:792
+#: builtin/fsck.c:780
 msgid "make reflogs head nodes (default)"
 msgstr "considérer les reflogs comme nœuds tête (par défaut)"
 
-#: builtin/fsck.c:793
+#: builtin/fsck.c:781
 msgid "also consider packs and alternate objects"
 msgstr "inspecter aussi les objets pack et alternatifs"
 
-#: builtin/fsck.c:794
+#: builtin/fsck.c:782
 msgid "check only connectivity"
 msgstr "ne vérifier que la connectivité"
 
-#: builtin/fsck.c:795
+#: builtin/fsck.c:783
 msgid "enable more strict checking"
 msgstr "activer une vérification plus strict"
 
-#: builtin/fsck.c:797
+#: builtin/fsck.c:785
 msgid "write dangling objects in .git/lost-found"
 msgstr "écrire les objets en suspens dans .git/lost-found"
 
-#: builtin/fsck.c:798 builtin/prune.c:132
+#: builtin/fsck.c:786 builtin/prune.c:132
 msgid "show progress"
 msgstr "afficher la progression"
 
-#: builtin/fsck.c:799
+#: builtin/fsck.c:787
 msgid "show verbose names for reachable objects"
 msgstr "afficher les noms étendus pour les objets inaccessibles"
 
-#: builtin/fsck.c:859 builtin/index-pack.c:225
+#: builtin/fsck.c:846 builtin/index-pack.c:225
 msgid "Checking objects"
 msgstr "Vérification des objets"
 
-#: builtin/fsck.c:887
+#: builtin/fsck.c:874
 #, c-format
 msgid "%s: object missing"
 msgstr "%s : objet manquant"
 
-#: builtin/fsck.c:899
+#: builtin/fsck.c:885
 #, c-format
 msgid "invalid parameter: expected sha1, got '%s'"
 msgstr "paramètre invalide : sha-1 attendu, '%s' trouvé"
 
-#: builtin/gc.c:34
+#: builtin/gc.c:35
 msgid "git gc [<options>]"
 msgstr "git gc [<options>]"
 
@@ -13587,17 +14636,17 @@ msgstr "Échec du stat de %s : %s"
 msgid "failed to parse '%s' value '%s'"
 msgstr "échec de l'analyse de '%s' valeur '%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 "impossible de faire un stat de '%s'"
 
-#: 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 "impossible de lire '%s'"
 
-#: builtin/gc.c:492
+#: builtin/gc.c:491
 #, c-format
 msgid ""
 "The last gc run reported the following. Please correct the root cause\n"
@@ -13613,56 +14662,56 @@ msgstr ""
 "\n"
 "%s"
 
-#: builtin/gc.c:540
+#: builtin/gc.c:539
 msgid "prune unreferenced objects"
 msgstr "éliminer les objets non référencés"
 
-#: builtin/gc.c:542
+#: builtin/gc.c:541
 msgid "be more thorough (increased runtime)"
 msgstr "être plus consciencieux (durée de traitement allongée)"
 
-#: builtin/gc.c:543
+#: builtin/gc.c:542
 msgid "enable auto-gc mode"
 msgstr "activer le mode auto-gc"
 
-#: builtin/gc.c:546
+#: builtin/gc.c:545
 msgid "force running gc even if there may be another gc running"
 msgstr ""
 "forcer le lancement du ramasse-miettes même si un autre ramasse-miettes "
 "tourne déjà"
 
-#: builtin/gc.c:549
+#: builtin/gc.c:548
 msgid "repack all other packs except the largest pack"
 msgstr "recompacter tous les autres paquets excepté le plus gros paquet"
 
-#: builtin/gc.c:566
+#: builtin/gc.c:565
 #, c-format
 msgid "failed to parse gc.logexpiry value %s"
 msgstr "impossible d'analyser gc.logexpiry %s"
 
-#: builtin/gc.c:577
+#: builtin/gc.c:576
 #, c-format
 msgid "failed to parse prune expiry value %s"
 msgstr "impossible d'analyser la valeur d'expiration d'élagage %s"
 
-#: builtin/gc.c:597
+#: builtin/gc.c:596
 #, c-format
 msgid "Auto packing the repository in background for optimum performance.\n"
 msgstr ""
 "Compression automatique du dépôt en tâche de fond pour optimiser les "
 "performances.\n"
 
-#: builtin/gc.c:599
+#: builtin/gc.c:598
 #, c-format
 msgid "Auto packing the repository for optimum performance.\n"
 msgstr "Compression du dépôt pour optimiser les performances.\n"
 
-#: builtin/gc.c:600
+#: builtin/gc.c:599
 #, c-format
 msgid "See \"git help gc\" for manual housekeeping.\n"
 msgstr "Voir \"git help gc\" pour toute information sur le nettoyage manuel.\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)"
@@ -13670,14 +14719,14 @@ msgstr ""
 "un ramasse-miettes est déjà en cours sur la machine '%s' pid %<PRIuMAX> "
 "(utilisez --force si ce n'est pas le cas)"
 
-#: builtin/gc.c:695
+#: builtin/gc.c:694
 msgid ""
 "There are too many unreachable loose objects; run 'git prune' to remove them."
 msgstr ""
 "Il y a trop d'objets seuls inaccessibles ; lancez 'git prune' pour les "
 "supprimer."
 
-#: builtin/grep.c:29
+#: builtin/grep.c:30
 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
 msgstr "git grep [<options>] [-e] <motif> [<révision>...] [[--] <chemin>...]"
 
@@ -13695,266 +14744,266 @@ msgstr "nombre de fils spécifié invalide (%d) pour %s"
 #. 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 "pas de support des fils, ignore %s"
 
-#: builtin/grep.c:467 builtin/grep.c:591 builtin/grep.c:633
+#: builtin/grep.c:453 builtin/grep.c:578 builtin/grep.c:618
 #, c-format
 msgid "unable to read tree (%s)"
 msgstr "impossible de lire l'arbre (%s)"
 
-#: builtin/grep.c:648
+#: builtin/grep.c:633
 #, c-format
 msgid "unable to grep from object of type %s"
 msgstr "impossible de faire un grep sur un objet de type %s"
 
-#: builtin/grep.c:714
+#: builtin/grep.c:704
 #, c-format
 msgid "switch `%c' expects a numerical value"
 msgstr "l'option '%c' attend une valeur numérique"
 
-#: builtin/grep.c:813
+#: builtin/grep.c:803
 msgid "search in index instead of in the work tree"
 msgstr "rechercher dans l'index plutôt que dans la copie de travail"
 
-#: builtin/grep.c:815
+#: builtin/grep.c:805
 msgid "find in contents not managed by git"
 msgstr "rechercher dans les contenus non gérés par git"
 
-#: builtin/grep.c:817
+#: builtin/grep.c:807
 msgid "search in both tracked and untracked files"
 msgstr "rechercher dans les fichiers suivis et non-suivis"
 
-#: builtin/grep.c:819
+#: builtin/grep.c:809
 msgid "ignore files specified via '.gitignore'"
 msgstr "ignorer les fichiers spécifiés via '.gitignore'"
 
-#: builtin/grep.c:821
+#: builtin/grep.c:811
 msgid "recursively search in each submodule"
 msgstr "rechercher récursivement dans chaque sous-module"
 
-#: builtin/grep.c:824
+#: builtin/grep.c:814
 msgid "show non-matching lines"
 msgstr "afficher les lignes qui ne correspondent pas"
 
-#: builtin/grep.c:826
+#: builtin/grep.c:816
 msgid "case insensitive matching"
 msgstr "correspondance insensible à la casse"
 
-#: builtin/grep.c:828
+#: builtin/grep.c:818
 msgid "match patterns only at word boundaries"
 msgstr "rechercher les motifs aux séparateurs de mots"
 
-#: builtin/grep.c:830
+#: builtin/grep.c:820
 msgid "process binary files as text"
 msgstr "traiter les fichiers binaires comme texte"
 
-#: builtin/grep.c:832
+#: builtin/grep.c:822
 msgid "don't match patterns in binary files"
 msgstr "ne pas chercher les motifs dans les fichiers binaires"
 
-#: builtin/grep.c:835
+#: builtin/grep.c:825
 msgid "process binary files with textconv filters"
 msgstr "traiter les fichiers binaires avec les filtres textconv"
 
-#: builtin/grep.c:837
+#: builtin/grep.c:827
 msgid "search in subdirectories (default)"
 msgstr "rechercher dans les sous-répertoires (défaut)"
 
-#: builtin/grep.c:839
+#: builtin/grep.c:829
 msgid "descend at most <depth> levels"
 msgstr "descendre au plus de <profondeur> dans l'arborescence"
 
-#: builtin/grep.c:843
+#: builtin/grep.c:833
 msgid "use extended POSIX regular expressions"
 msgstr "utiliser des expressions régulières étendues POSIX"
 
-#: builtin/grep.c:846
+#: builtin/grep.c:836
 msgid "use basic POSIX regular expressions (default)"
 msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
 
-#: builtin/grep.c:849
+#: builtin/grep.c:839
 msgid "interpret patterns as fixed strings"
 msgstr "interpréter les motifs comme de chaînes fixes"
 
-#: builtin/grep.c:852
+#: builtin/grep.c:842
 msgid "use Perl-compatible regular expressions"
 msgstr "utiliser des expressions régulières compatibles avec Perl"
 
-#: builtin/grep.c:855
+#: builtin/grep.c:845
 msgid "show line numbers"
 msgstr "afficher les numéros de ligne"
 
-#: builtin/grep.c:856
+#: builtin/grep.c:846
 msgid "show column number of first match"
 msgstr "afficher le numéro de colonne de la première correspondance"
 
-#: builtin/grep.c:857
+#: builtin/grep.c:847
 msgid "don't show filenames"
 msgstr "ne pas pas afficher les noms de fichier"
 
-#: builtin/grep.c:858
+#: builtin/grep.c:848
 msgid "show filenames"
 msgstr "afficher les noms de fichier"
 
-#: builtin/grep.c:860
+#: builtin/grep.c:850
 msgid "show filenames relative to top directory"
 msgstr "afficher les noms de fichiers relativement au répertoire de base"
 
-#: builtin/grep.c:862
+#: builtin/grep.c:852
 msgid "show only filenames instead of matching lines"
 msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
 
-#: builtin/grep.c:864
+#: builtin/grep.c:854
 msgid "synonym for --files-with-matches"
 msgstr "synonyme pour --files-with-matches"
 
-#: builtin/grep.c:867
+#: builtin/grep.c:857
 msgid "show only the names of files without match"
 msgstr "n'afficher que les noms des fichiers sans correspondance"
 
-#: builtin/grep.c:869
+#: builtin/grep.c:859
 msgid "print NUL after filenames"
 msgstr "imprimer une caractère NUL après le noms de fichier"
 
-#: builtin/grep.c:872
+#: builtin/grep.c:862
 msgid "show only matching parts of a line"
 msgstr "n'afficher que les parties correspondantes d'une ligne"
 
-#: builtin/grep.c:874
+#: builtin/grep.c:864
 msgid "show the number of matches instead of matching lines"
 msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
 
-#: builtin/grep.c:875
+#: builtin/grep.c:865
 msgid "highlight matches"
 msgstr "mettre en évidence les correspondances"
 
-#: builtin/grep.c:877
+#: builtin/grep.c:867
 msgid "print empty line between matches from different files"
 msgstr ""
 "imprimer une ligne vide entre les correspondances de fichiers différents"
 
-#: builtin/grep.c:879
+#: builtin/grep.c:869
 msgid "show filename only once above matches from same file"
 msgstr ""
 "afficher le nom de fichier une fois au dessus des correspondances du même "
 "fichier"
 
-#: builtin/grep.c:882
+#: builtin/grep.c:872
 msgid "show <n> context lines before and after matches"
 msgstr "afficher <n> lignes de contexte avant et après les correspondances"
 
-#: builtin/grep.c:885
+#: builtin/grep.c:875
 msgid "show <n> context lines before matches"
 msgstr "afficher <n> lignes de contexte avant les correspondances"
 
-#: builtin/grep.c:887
+#: builtin/grep.c:877
 msgid "show <n> context lines after matches"
 msgstr "afficher <n> lignes de contexte après les correspondances"
 
-#: builtin/grep.c:889
+#: builtin/grep.c:879
 msgid "use <n> worker threads"
 msgstr "utiliser <n> fils de travail"
 
-#: builtin/grep.c:890
+#: builtin/grep.c:880
 msgid "shortcut for -C NUM"
 msgstr "raccourci pour -C NUM"
 
-#: builtin/grep.c:893
+#: builtin/grep.c:883
 msgid "show a line with the function name before matches"
 msgstr ""
 "afficher une ligne avec le nom de la fonction avant les correspondances"
 
-#: builtin/grep.c:895
+#: builtin/grep.c:885
 msgid "show the surrounding function"
 msgstr "afficher la fonction contenante"
 
-#: builtin/grep.c:898
+#: builtin/grep.c:888
 msgid "read patterns from file"
 msgstr "lire les motifs depuis fichier"
 
-#: builtin/grep.c:900
+#: builtin/grep.c:890
 msgid "match <pattern>"
 msgstr "rechercher <motif>"
 
-#: builtin/grep.c:902
+#: builtin/grep.c:892
 msgid "combine patterns specified with -e"
 msgstr "combiner les motifs spécifiés par -e"
 
-#: builtin/grep.c:914
+#: builtin/grep.c:904
 msgid "indicate hit with exit status without output"
 msgstr ""
 "indiquer des correspondances avec le code de sortie mais sans rien afficher"
 
-#: builtin/grep.c:916
+#: builtin/grep.c:906
 msgid "show only matches from files that match all patterns"
 msgstr ""
 "n'afficher que les correspondances de fichiers qui correspondent à tous les "
 "motifs"
 
-#: builtin/grep.c:918
+#: builtin/grep.c:908
 msgid "show parse tree for grep expression"
 msgstr "afficher l'arbre d'analyse pour le motif grep"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:912
 msgid "pager"
 msgstr "pagineur"
 
-#: builtin/grep.c:922
+#: builtin/grep.c:912
 msgid "show matching files in the pager"
 msgstr "afficher les fichiers correspondant dans le pagineur"
 
-#: builtin/grep.c:926
+#: builtin/grep.c:916
 msgid "allow calling of grep(1) (ignored by this build)"
 msgstr "permettre l'appel de grep(1) (ignoré par ce build)"
 
-#: builtin/grep.c:990
+#: builtin/grep.c:983
 msgid "no pattern given"
 msgstr "aucun motif fourni"
 
-#: builtin/grep.c:1026
+#: builtin/grep.c:1019
 msgid "--no-index or --untracked cannot be used with revs"
 msgstr ""
 "--no-index ou --untracked ne peuvent pas être utilisés avec des révisions"
 
-#: builtin/grep.c:1034
+#: builtin/grep.c:1027
 #, c-format
 msgid "unable to resolve revision: %s"
 msgstr "impossible de résoudre la révision : %s"
 
-#: builtin/grep.c:1065
+#: builtin/grep.c:1057
+msgid "--untracked not supported with --recurse-submodules"
+msgstr "--untracked non supportée avec --recurse-submodules"
+
+#: builtin/grep.c:1061
 msgid "invalid option combination, ignoring --threads"
 msgstr "option de combinaison invalide, ignore --threads"
 
-#: builtin/grep.c:1068 builtin/pack-objects.c:3416
+#: builtin/grep.c:1064 builtin/pack-objects.c:3547
 msgid "no threads support, ignoring --threads"
 msgstr "pas de support des fils, ignore --threads"
 
-#: builtin/grep.c:1071 builtin/index-pack.c:1531 builtin/pack-objects.c:2725
+#: builtin/grep.c:1067 builtin/index-pack.c:1535 builtin/pack-objects.c:2851
 #, c-format
 msgid "invalid number of threads specified (%d)"
 msgstr "nombre de fils spécifié invalide (%d)"
 
-#: builtin/grep.c:1094
+#: builtin/grep.c:1101
 msgid "--open-files-in-pager only works on the worktree"
 msgstr "--open-files-in-pager ne fonctionne que sur la copie de travail"
 
-#: builtin/grep.c:1117
-msgid "option not supported with --recurse-submodules"
-msgstr "option non supportée avec --recurse-submodules"
-
-#: builtin/grep.c:1123
+#: builtin/grep.c:1127
 msgid "--cached or --untracked cannot be used with --no-index"
 msgstr "--cached ou --untracked ne peuvent pas être utilisés avec --no-index"
 
-#: builtin/grep.c:1129
+#: builtin/grep.c:1133
 msgid "--[no-]exclude-standard cannot be used for tracked contents"
 msgstr "--[no-]exclude-standard ne peut pas être utilisé avec du contenu suivi"
 
-#: builtin/grep.c:1137
+#: builtin/grep.c:1141
 msgid "both --cached and trees are given"
 msgstr "--cached et des arbres sont fournis en même temps"
 
@@ -14140,11 +15189,11 @@ msgstr "erreur de lecture sur l'entrée"
 msgid "used more bytes than were available"
 msgstr "plus d'octets utilisés que disponibles"
 
-#: 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 "le paquet est trop grand pour la définition actuelle de 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 "le paquet dépasse la taille maximale permise"
 
@@ -14200,192 +15249,192 @@ msgstr[1] "fin prématurée du fichier paquet, %<PRIuMAX> octets lus"
 msgid "serious inflate inconsistency"
 msgstr "grave incohérence dans la décompression (inflate)"
 
-#: 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 "COLLISION SHA1 TROUVÉE AVEC %s !"
 
-#: 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 "impossible de lire %s"
 
-#: builtin/index-pack.c:801
+#: builtin/index-pack.c:802
 #, c-format
 msgid "cannot read existing object info %s"
 msgstr "impossible de lire l'information existante de l'objet %s"
 
-#: builtin/index-pack.c:809
+#: builtin/index-pack.c:810
 #, c-format
 msgid "cannot read existing object %s"
 msgstr "impossible de lire l'objet existant %s"
 
-#: builtin/index-pack.c:823
+#: builtin/index-pack.c:824
 #, c-format
 msgid "invalid blob object %s"
 msgstr "objet blob invalide %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 "erreur de fsck dans l'objet empaqueté"
 
-#: builtin/index-pack.c:847
+#: builtin/index-pack.c:848
 #, c-format
 msgid "Not all child objects of %s are reachable"
 msgstr "Tous les objets enfants de %s ne sont pas accessibles"
 
-#: 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 "échec d'application du delta"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1121
 msgid "Receiving objects"
 msgstr "Réception d'objets"
 
-#: builtin/index-pack.c:1118
+#: builtin/index-pack.c:1121
 msgid "Indexing objects"
 msgstr "Indexation d'objets"
 
-#: builtin/index-pack.c:1152
+#: builtin/index-pack.c:1155
 msgid "pack is corrupted (SHA1 mismatch)"
 msgstr "le paquet est corrompu (SHA1 ne correspond pas)"
 
-#: builtin/index-pack.c:1157
+#: builtin/index-pack.c:1160
 msgid "cannot fstat packfile"
 msgstr "impossible d'obtenir le statut (fstat) du fichier paquet"
 
-#: builtin/index-pack.c:1160
+#: builtin/index-pack.c:1163
 msgid "pack has junk at the end"
 msgstr "le paquet est invalide à la fin"
 
-#: builtin/index-pack.c:1172
+#: builtin/index-pack.c:1175
 msgid "confusion beyond insanity in parse_pack_objects()"
 msgstr "confusion extrême dans parse_pack_objects()"
 
-#: builtin/index-pack.c:1195
+#: builtin/index-pack.c:1198
 msgid "Resolving deltas"
 msgstr "Résolution des deltas"
 
-#: 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 "impossible de créer le fil : %s"
 
-#: builtin/index-pack.c:1246
+#: builtin/index-pack.c:1249
 msgid "confusion beyond insanity"
 msgstr "confusion extrême"
 
-#: 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] "complété avec %d objet local"
 msgstr[1] "complété avec %d objets locaux"
 
-#: builtin/index-pack.c:1264
+#: builtin/index-pack.c:1267
 #, c-format
 msgid "Unexpected tail checksum for %s (disk corruption?)"
 msgstr ""
 "Somme de contrôle de fin inattendue pour %s (corruption sur le disque ?)"
 
-#: 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] "le paquet a %d delta non résolu"
 msgstr[1] "le paquet a %d deltas non résolus"
 
-#: builtin/index-pack.c:1292
+#: builtin/index-pack.c:1295
 #, c-format
 msgid "unable to deflate appended object (%d)"
 msgstr "impossible de compresser l'objet ajouté (%d)"
 
-#: builtin/index-pack.c:1388
+#: builtin/index-pack.c:1392
 #, c-format
 msgid "local object %s is corrupt"
 msgstr "l'objet local %s est corrompu"
 
-#: builtin/index-pack.c:1402
+#: builtin/index-pack.c:1406
 #, c-format
 msgid "packfile name '%s' does not end with '.pack'"
 msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'"
 
-#: builtin/index-pack.c:1427
+#: builtin/index-pack.c:1431
 #, c-format
 msgid "cannot write %s file '%s'"
 msgstr "impossible d'écrire le fichier %s '%s'"
 
-#: builtin/index-pack.c:1435
+#: builtin/index-pack.c:1439
 #, c-format
 msgid "cannot close written %s file '%s'"
 msgstr "impossible de fermer le fichier %s écrit '%s'"
 
-#: builtin/index-pack.c:1459
+#: builtin/index-pack.c:1463
 msgid "error while closing pack file"
 msgstr "erreur en fermeture du fichier paquet"
 
-#: builtin/index-pack.c:1473
+#: builtin/index-pack.c:1477
 msgid "cannot store pack file"
 msgstr "impossible de stocker le fichier paquet"
 
-#: builtin/index-pack.c:1481
+#: builtin/index-pack.c:1485
 msgid "cannot store index file"
 msgstr "impossible de stocker le fichier d'index"
 
-#: 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 "mauvais pack.indexversion=%<PRIu32>"
 
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1597
 #, c-format
 msgid "Cannot open existing pack file '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
 
-#: builtin/index-pack.c:1595
+#: builtin/index-pack.c:1599
 #, c-format
 msgid "Cannot open existing pack idx file for '%s'"
 msgstr "Impossible d'ouvrir le fichier paquet d'index existant pour '%s'"
 
-#: builtin/index-pack.c:1643
+#: builtin/index-pack.c:1647
 #, c-format
 msgid "non delta: %d object"
 msgid_plural "non delta: %d objects"
 msgstr[0] "pas un delta : %d objet"
 msgstr[1] "pas un delta : %d objets"
 
-#: 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] "longueur chaînée = %d : %lu objet"
 msgstr[1] "longueur chaînée = %d : %lu objets"
 
-#: builtin/index-pack.c:1689
+#: builtin/index-pack.c:1693
 msgid "Cannot come back to cwd"
 msgstr "Impossible de revenir au répertoire de travail courant"
 
-#: 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 "mauvais %s"
 
-#: builtin/index-pack.c:1777
+#: builtin/index-pack.c:1781
 msgid "--fix-thin cannot be used without --stdin"
 msgstr "--fix-thin ne peut pas être utilisé sans --stdin"
 
-#: builtin/index-pack.c:1779
+#: builtin/index-pack.c:1783
 msgid "--stdin requires a git repository"
 msgstr "--stdin requiert un dépôt git"
 
-#: builtin/index-pack.c:1785
+#: builtin/index-pack.c:1789
 msgid "--verify with no packfile name given"
 msgstr "--verify sans nom de fichier paquet donné"
 
-#: 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 "erreur de fsck dans les objets paquets"
 
@@ -14568,123 +15617,128 @@ msgstr "--trailer n'a aucune signification avec --only-input"
 msgid "no input file given for in-place editing"
 msgstr "aucun fichier en entrée pour l'éditon sur place"
 
-#: builtin/log.c:55
+#: builtin/log.c:56
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]"
 
-#: builtin/log.c:56
+#: builtin/log.c:57
 msgid "git show [<options>] <object>..."
 msgstr "git show [<options>] <objet>..."
 
-#: builtin/log.c:109
+#: builtin/log.c:110
 #, c-format
 msgid "invalid --decorate option: %s"
 msgstr "option --decorate invalide : %s"
 
-#: builtin/log.c:173
+#: builtin/log.c:174
 msgid "show source"
 msgstr "afficher la source"
 
-#: builtin/log.c:174
+#: builtin/log.c:175
 msgid "Use mail map file"
 msgstr "Utiliser le fichier de correspondance de mail"
 
-#: builtin/log.c:176
+#: builtin/log.c:177
 msgid "only decorate refs that match <pattern>"
 msgstr "décorer seulement les références correspondant à <motif>"
 
-#: builtin/log.c:178
+#: builtin/log.c:179
 msgid "do not decorate refs that match <pattern>"
 msgstr "ne pas décorer les références correspondant à <motif>"
 
-#: builtin/log.c:179
+#: builtin/log.c:180
 msgid "decorate options"
 msgstr "décorer les options"
 
-#: builtin/log.c:182
+#: builtin/log.c:183
 msgid "Process line range n,m in file, counting from 1"
 msgstr ""
 "Traiter seulement l'intervalle de lignes n,m du fichier en commençant le "
 "compte à 1"
 
-#: builtin/log.c:280
+#: builtin/log.c:281
 #, c-format
 msgid "Final output: %d %s\n"
 msgstr "Sortie finale : %d %s\n"
 
-#: builtin/log.c:534
+#: builtin/log.c:535
 #, c-format
 msgid "git show %s: bad file"
 msgstr "git show %s : fichier incorrect"
 
-#: 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 "impossible de lire l'objet %s"
 
-#: builtin/log.c:668
+#: builtin/log.c:670
 #, c-format
 msgid "unknown type: %d"
 msgstr "type inconnu : %d"
 
-#: builtin/log.c:791
+#: builtin/log.c:814
+#, c-format
+msgid "%s: invalid cover from description mode"
+msgstr "%s : couverture invalide pour le mode de description"
+
+#: builtin/log.c:821
 msgid "format.headers without value"
 msgstr "format.headers sans valeur"
 
-#: builtin/log.c:908
+#: builtin/log.c:936
 msgid "name of output directory is too long"
 msgstr "le nom du répertoire de sortie est trop long"
 
-#: builtin/log.c:924
+#: builtin/log.c:952
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "impossible d'ouvrir le fichier correctif %s"
 
-#: builtin/log.c:941
+#: builtin/log.c:969
 msgid "need exactly one range"
 msgstr "exactement une plage nécessaire"
 
-#: builtin/log.c:951
+#: builtin/log.c:979
 msgid "not a range"
 msgstr "ceci n'est pas une plage"
 
-#: builtin/log.c:1074
+#: builtin/log.c:1143
 msgid "cover letter needs email format"
 msgstr "la lettre de motivation doit être au format courriel"
 
-#: builtin/log.c:1080
+#: builtin/log.c:1149
 msgid "failed to create cover-letter file"
 msgstr "échec de création du fichier de lettre de motivation"
 
-#: builtin/log.c:1159
+#: builtin/log.c:1228
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to aberrant : %s"
 
-#: builtin/log.c:1186
+#: builtin/log.c:1255
 msgid "git format-patch [<options>] [<since> | <revision-range>]"
 msgstr "git format-patch [<options>] [<depuis> | <plage de révisions>]"
 
-#: builtin/log.c:1244
+#: builtin/log.c:1313
 msgid "two output directories?"
 msgstr "deux répertoires de sortie ?"
 
-#: 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 "commit inconnu %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 "échec à résoudre '%s' comme une référence valide"
 
-#: builtin/log.c:1370
+#: builtin/log.c:1439
 msgid "could not find exact merge base"
 msgstr "impossible de trouver la base de fusion exacte"
 
-#: 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"
@@ -14697,275 +15751,285 @@ msgstr ""
 "Ou vous pouvez spécifier le commit de base par --base=<id-du-commit-de-base> "
 "manuellement"
 
-#: builtin/log.c:1394
+#: builtin/log.c:1463
 msgid "failed to find exact merge base"
 msgstr "échec à trouver la base de fusion exacte"
 
-#: builtin/log.c:1405
+#: builtin/log.c:1474
 msgid "base commit should be the ancestor of revision list"
 msgstr "le commit de base devrait être l'ancêtre de la liste de révisions"
 
-#: builtin/log.c:1409
+#: builtin/log.c:1478
 msgid "base commit shouldn't be in revision list"
 msgstr "le commit de base ne devrait pas faire partie de la liste de révisions"
 
-#: builtin/log.c:1462
+#: builtin/log.c:1531
 msgid "cannot get patch id"
 msgstr "impossible d'obtenir l'id du patch"
 
-#: builtin/log.c:1514
+#: builtin/log.c:1583
 msgid "failed to infer range-diff ranges"
 msgstr "échec d'inférence d'intervalles de différence d'intervalles"
 
-#: builtin/log.c:1559
+#: builtin/log.c:1629
 msgid "use [PATCH n/m] even with a single patch"
 msgstr "utiliser [PATCH n/m] même avec un patch unique"
 
-#: builtin/log.c:1562
+#: builtin/log.c:1632
 msgid "use [PATCH] even with multiple patches"
 msgstr "utiliser [PATCH] même avec des patchs multiples"
 
-#: builtin/log.c:1566
+#: builtin/log.c:1636
 msgid "print patches to standard out"
 msgstr "afficher les patchs sur la sortie standard"
 
-#: builtin/log.c:1568
+#: builtin/log.c:1638
 msgid "generate a cover letter"
 msgstr "générer une lettre de motivation"
 
-#: builtin/log.c:1570
+#: builtin/log.c:1640
 msgid "use simple number sequence for output file names"
 msgstr ""
 "utiliser une séquence simple de nombres pour les nom des fichiers de sortie"
 
-#: builtin/log.c:1571
+#: builtin/log.c:1641
 msgid "sfx"
 msgstr "sfx"
 
-#: builtin/log.c:1572
+#: builtin/log.c:1642
 msgid "use <sfx> instead of '.patch'"
 msgstr "utiliser <sfx> au lieu de '.patch'"
 
-#: builtin/log.c:1574
+#: builtin/log.c:1644
 msgid "start numbering patches at <n> instead of 1"
 msgstr "démarrer la numérotation des patchs à <n> au lieu de 1"
 
-#: builtin/log.c:1576
+#: builtin/log.c:1646
 msgid "mark the series as Nth re-roll"
 msgstr "marquer la série comme une Nième réédition"
 
-#: builtin/log.c:1578
+#: builtin/log.c:1648
 msgid "Use [RFC PATCH] instead of [PATCH]"
 msgstr "utiliser [RFC PATCH] au lieu de [PATCH]"
 
-#: builtin/log.c:1581
+#: builtin/log.c:1651
+msgid "cover-from-description-mode"
+msgstr "cover-from-description-mode"
+
+#: builtin/log.c:1652
+msgid "generate parts of a cover letter based on a branch's description"
+msgstr ""
+"générer des parties de la lettre d'introduction à partir de la description "
+"de la branche"
+
+#: builtin/log.c:1654
 msgid "Use [<prefix>] instead of [PATCH]"
 msgstr "utiliser [<préfixe>] au lieu de [PATCH]"
 
-#: builtin/log.c:1584
+#: builtin/log.c:1657
 msgid "store resulting files in <dir>"
 msgstr "stocker les fichiers résultats dans <répertoire>"
 
-#: builtin/log.c:1587
+#: builtin/log.c:1660
 msgid "don't strip/add [PATCH]"
 msgstr "ne pas retirer/ajouter [PATCH]"
 
-#: builtin/log.c:1590
+#: builtin/log.c:1663
 msgid "don't output binary diffs"
 msgstr "ne pas imprimer les diffs binaires"
 
-#: builtin/log.c:1592
+#: builtin/log.c:1665
 msgid "output all-zero hash in From header"
 msgstr "écrire une empreinte à zéro dans l'entête From"
 
-#: builtin/log.c:1594
+#: builtin/log.c:1667
 msgid "don't include a patch matching a commit upstream"
 msgstr "ne pas inclure un patch correspondant à un commit amont"
 
-#: builtin/log.c:1596
+#: builtin/log.c:1669
 msgid "show patch format instead of default (patch + stat)"
 msgstr "afficher le format du patch au lieu du défaut (patch + stat)"
 
-#: builtin/log.c:1598
+#: builtin/log.c:1671
 msgid "Messaging"
 msgstr "Communication"
 
-#: builtin/log.c:1599
+#: builtin/log.c:1672
 msgid "header"
 msgstr "en-tête"
 
-#: builtin/log.c:1600
+#: builtin/log.c:1673
 msgid "add email header"
 msgstr "ajouter l'en-tête de courriel"
 
-#: builtin/log.c:1601 builtin/log.c:1603
+#: builtin/log.c:1674 builtin/log.c:1676
 msgid "email"
 msgstr "courriel"
 
-#: builtin/log.c:1601
+#: builtin/log.c:1674
 msgid "add To: header"
 msgstr "ajouter l'en-tête \"To:\""
 
-#: builtin/log.c:1603
+#: builtin/log.c:1676
 msgid "add Cc: header"
 msgstr "ajouter l'en-tête \"Cc:\""
 
-#: 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 ""
 "renseigner l'adresse From à <ident> (ou à l'ident du validateur si absent)"
 
-#: builtin/log.c:1608
+#: builtin/log.c:1681
 msgid "message-id"
 msgstr "id-message"
 
-#: builtin/log.c:1609
+#: builtin/log.c:1682
 msgid "make first mail a reply to <message-id>"
 msgstr "répondre dans le premier message à <id-message>"
 
-#: builtin/log.c:1610 builtin/log.c:1613
+#: builtin/log.c:1683 builtin/log.c:1686
 msgid "boundary"
 msgstr "limite"
 
-#: builtin/log.c:1611
+#: builtin/log.c:1684
 msgid "attach the patch"
 msgstr "attacher le patch"
 
-#: builtin/log.c:1614
+#: builtin/log.c:1687
 msgid "inline the patch"
 msgstr "patch à l'intérieur"
 
-#: builtin/log.c:1618
+#: builtin/log.c:1691
 msgid "enable message threading, styles: shallow, deep"
 msgstr ""
 "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)"
 
-#: builtin/log.c:1620
+#: builtin/log.c:1693
 msgid "signature"
 msgstr "signature"
 
-#: builtin/log.c:1621
+#: builtin/log.c:1694
 msgid "add a signature"
 msgstr "ajouter une signature"
 
-#: builtin/log.c:1622
+#: builtin/log.c:1695
 msgid "base-commit"
 msgstr "commit-de-base"
 
-#: builtin/log.c:1623
+#: builtin/log.c:1696
 msgid "add prerequisite tree info to the patch series"
 msgstr "Ajouter un arbre prérequis à la série de patchs"
 
-#: builtin/log.c:1625
+#: builtin/log.c:1698
 msgid "add a signature from a file"
 msgstr "ajouter une signature depuis un fichier"
 
-#: builtin/log.c:1626
+#: builtin/log.c:1699
 msgid "don't print the patch filenames"
 msgstr "ne pas afficher les noms de fichiers des patchs"
 
-#: builtin/log.c:1628
+#: builtin/log.c:1701
 msgid "show progress while generating patches"
 msgstr ""
 "afficher la barre de progression durant la phase de génération des patchs"
 
-#: builtin/log.c:1630
+#: builtin/log.c:1703
 msgid "show changes against <rev> in cover letter or single patch"
 msgstr ""
 "afficher les modifications par rapport à <rév> dans la première page ou une "
 "rustine"
 
-#: builtin/log.c:1633
+#: builtin/log.c:1706
 msgid "show changes against <refspec> in cover letter or single patch"
 msgstr ""
 "afficher les modifications par rapport à <refspec> dans la première page ou "
 "une rustine"
 
-#: builtin/log.c:1635
+#: builtin/log.c:1708
 msgid "percentage by which creation is weighted"
 msgstr "pourcentage par lequel la création est pondérée"
 
-#: builtin/log.c:1710
+#: builtin/log.c:1792
 #, c-format
 msgid "invalid ident line: %s"
 msgstr "ligne d'identification invalide : %s"
 
-#: builtin/log.c:1725
+#: builtin/log.c:1807
 msgid "-n and -k are mutually exclusive"
 msgstr "-n et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1727
+#: builtin/log.c:1809
 msgid "--subject-prefix/--rfc and -k are mutually exclusive"
 msgstr "--subject-prefix/--rfc et -k sont mutuellement exclusifs"
 
-#: builtin/log.c:1735
+#: builtin/log.c:1817
 msgid "--name-only does not make sense"
 msgstr "--name-only n'a pas de sens"
 
-#: builtin/log.c:1737
+#: builtin/log.c:1819
 msgid "--name-status does not make sense"
 msgstr "--name-status n'a pas de sens"
 
-#: builtin/log.c:1739
+#: builtin/log.c:1821
 msgid "--check does not make sense"
 msgstr "--check n'a pas de sens"
 
-#: builtin/log.c:1771
+#: builtin/log.c:1854
 msgid "standard output, or directory, which one?"
 msgstr "sortie standard, ou répertoire, lequel ?"
 
-#: builtin/log.c:1860
+#: builtin/log.c:1958
 msgid "--interdiff requires --cover-letter or single patch"
 msgstr "--interdiff requiert --cover-letter ou une rustine unique"
 
-#: 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 contre v%d :"
 
-#: builtin/log.c:1871
+#: builtin/log.c:1969
 msgid "--creation-factor requires --range-diff"
 msgstr "--creation-factor requiert --range-diff"
 
-#: builtin/log.c:1875
+#: builtin/log.c:1973
 msgid "--range-diff requires --cover-letter or single patch"
 msgstr "--range-diff requiert --cover-letter ou une rustine unique"
 
-#: builtin/log.c:1883
+#: builtin/log.c:1981
 msgid "Range-diff:"
 msgstr "Diff-intervalle :"
 
-#: builtin/log.c:1884
+#: builtin/log.c:1982
 #, c-format
 msgid "Range-diff against v%d:"
 msgstr "Diff-intervalle contre v%d :"
 
-#: builtin/log.c:1895
+#: builtin/log.c:1993
 #, c-format
 msgid "unable to read signature file '%s'"
 msgstr "lecture du fichier de signature '%s' impossible"
 
-#: builtin/log.c:1931
+#: builtin/log.c:2029
 msgid "Generating patches"
 msgstr "Génération des patchs"
 
-#: builtin/log.c:1975
+#: builtin/log.c:2073
 msgid "failed to create output files"
 msgstr "échec de création des fichiers en sortie"
 
-#: builtin/log.c:2034
+#: builtin/log.c:2132
 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
 msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]"
 
-#: builtin/log.c:2088
+#: builtin/log.c:2186
 #, c-format
 msgid ""
 "Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -15094,7 +16158,7 @@ msgstr ""
 msgid "do not print remote URL"
 msgstr "ne pas afficher les URL distantes"
 
-#: 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 "exécutable"
 
@@ -15183,151 +16247,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 "le commutateur `m' a besoin d'une valeur"
 
-#: builtin/merge.c:141
+#: builtin/merge.c:142
 #, c-format
 msgid "option `%s' requires a value"
 msgstr "le commutateur '%s' a besoin d'une valeur"
 
-#: builtin/merge.c:187
+#: builtin/merge.c:188
 #, c-format
 msgid "Could not find merge strategy '%s'.\n"
 msgstr "Impossible de trouver la stratégie de fusion '%s'.\n"
 
-#: builtin/merge.c:188
+#: builtin/merge.c:189
 #, c-format
 msgid "Available strategies are:"
 msgstr "Les stratégies disponibles sont :"
 
-#: builtin/merge.c:193
+#: builtin/merge.c:194
 #, c-format
 msgid "Available custom strategies are:"
 msgstr "Les stratégies personnalisées sont :"
 
-#: 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 "ne pas afficher un diffstat à la fin de la fusion"
 
-#: 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 "afficher un diffstat à la fin de la fusion"
 
-#: builtin/merge.c:248 builtin/pull.c:157
+#: builtin/merge.c:249 builtin/pull.c:138
 msgid "(synonym to --stat)"
 msgstr "(synonyme de --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 ""
 "ajouter (au plus <n>) éléments du journal court au message de validation de "
 "la fusion"
 
-#: 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 "créer une validation unique au lieu de faire une fusion"
 
-#: 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 "effectuer une validation si la fusion réussit (défaut)"
 
-#: builtin/merge.c:257 builtin/pull.c:172
+#: builtin/merge.c:258 builtin/pull.c:153
 msgid "edit message before committing"
 msgstr "éditer le message avant la validation"
 
-#: builtin/merge.c:259
+#: builtin/merge.c:260
 msgid "allow fast-forward (default)"
 msgstr "autoriser l'avance rapide (défaut)"
 
-#: 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 "abandonner si l'avance rapide n'est pas possible"
 
-#: 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 "vérifier que le commit nommé a une signature GPG valide"
 
-#: 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 "stratégie"
 
-#: builtin/merge.c:267 builtin/pull.c:187
+#: builtin/merge.c:268 builtin/pull.c:168
 msgid "merge strategy to use"
 msgstr "stratégie de fusion à utiliser"
 
-#: builtin/merge.c:268 builtin/pull.c:190
+#: builtin/merge.c:269 builtin/pull.c:171
 msgid "option=value"
 msgstr "option=valeur"
 
-#: builtin/merge.c:269 builtin/pull.c:191
+#: builtin/merge.c:270 builtin/pull.c:172
 msgid "option for selected merge strategy"
 msgstr "option pour la stratégie de fusion sélectionnée"
 
-#: builtin/merge.c:271
+#: builtin/merge.c:272
 msgid "merge commit message (for a non-fast-forward merge)"
 msgstr ""
 "message de validation de la fusion (pour une fusion sans avance rapide)"
 
-#: builtin/merge.c:278
+#: builtin/merge.c:279
 msgid "abort the current in-progress merge"
 msgstr "abandonner la fusion en cours"
 
-#: builtin/merge.c:280
+#: builtin/merge.c:281
 msgid "--abort but leave index and working tree alone"
 msgstr "--abort mais laisser l'index et l'arbre de travail inchangés"
 
-#: builtin/merge.c:282
+#: builtin/merge.c:283
 msgid "continue the current in-progress merge"
 msgstr "continuer la fusion en cours"
 
-#: builtin/merge.c:284 builtin/pull.c:198
+#: builtin/merge.c:285 builtin/pull.c:179
 msgid "allow merging unrelated histories"
 msgstr "permettre la fusion d'historiques sans rapport"
 
-#: builtin/merge.c:290
-msgid "verify commit-msg hook"
-msgstr "vérifier le crochet commit-msg"
+#: builtin/merge.c:291
+msgid "bypass pre-merge-commit and commit-msg hooks"
+msgstr "ne pas utiliser les crochets pre-merge-commit et commit-msg"
 
-#: builtin/merge.c:307
+#: builtin/merge.c:308
 msgid "could not run stash."
 msgstr "impossible de lancer le remisage."
 
-#: builtin/merge.c:312
+#: builtin/merge.c:313
 msgid "stash failed"
 msgstr "échec du remisage"
 
-#: builtin/merge.c:317
+#: builtin/merge.c:318
 #, c-format
 msgid "not a valid object: %s"
 msgstr "pas un objet valide : %s"
 
-#: builtin/merge.c:339 builtin/merge.c:356
+#: builtin/merge.c:340 builtin/merge.c:357
 msgid "read-tree failed"
 msgstr "read-tree a échoué"
 
-#: builtin/merge.c:386
+#: builtin/merge.c:387
 msgid " (nothing to squash)"
 msgstr " (rien à compresser)"
 
-#: builtin/merge.c:397
+#: builtin/merge.c:398
 #, c-format
 msgid "Squash commit -- not updating HEAD\n"
 msgstr "Validation compressée -- HEAD non mise à jour\n"
 
-#: builtin/merge.c:447
+#: builtin/merge.c:448
 #, c-format
 msgid "No merge message -- not updating HEAD\n"
 msgstr "Pas de message de fusion -- pas de mise à jour de HEAD\n"
 
-#: builtin/merge.c:498
+#: builtin/merge.c:499
 #, c-format
 msgid "'%s' does not point to a commit"
 msgstr "'%s' ne pointe pas sur un commit"
 
-#: builtin/merge.c:585
+#: builtin/merge.c:586
 #, c-format
 msgid "Bad branch.%s.mergeoptions string: %s"
 msgstr "Mauvaise chaîne branch.%s.mergeoptions : %s"
@@ -15383,74 +16447,74 @@ msgstr ""
 "Les lignes commençant par '%c' seront ignorées, et un message vide\n"
 "abandonne la validation.\n"
 
-#: builtin/merge.c:853
+#: builtin/merge.c:865
 msgid "Empty commit message."
 msgstr "Message de validation vide."
 
-#: builtin/merge.c:872
+#: builtin/merge.c:880
 #, c-format
 msgid "Wonderful.\n"
 msgstr "Merveilleux.\n"
 
-#: builtin/merge.c:933
+#: builtin/merge.c:941
 #, c-format
 msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
 msgstr ""
 "La fusion automatique a échoué ; réglez les conflits et validez le "
 "résultat.\n"
 
-#: builtin/merge.c:972
+#: builtin/merge.c:980
 msgid "No current branch."
 msgstr "Pas de branche courante."
 
-#: builtin/merge.c:974
+#: builtin/merge.c:982
 msgid "No remote for the current branch."
 msgstr "Pas de branche distante pour la branche courante."
 
-#: builtin/merge.c:976
+#: builtin/merge.c:984
 msgid "No default upstream defined for the current branch."
 msgstr "Pas de branche amont par défaut définie pour la branche courante."
 
-#: builtin/merge.c:981
+#: builtin/merge.c:989
 #, c-format
 msgid "No remote-tracking branch for %s from %s"
 msgstr "Pas de branche de suivi pour %s depuis %s"
 
-#: builtin/merge.c:1038
+#: builtin/merge.c:1046
 #, c-format
 msgid "Bad value '%s' in environment '%s'"
 msgstr "Mauvaise valeur '%s' dans l'environnement '%s'"
 
-#: builtin/merge.c:1141
+#: builtin/merge.c:1149
 #, c-format
 msgid "not something we can merge in %s: %s"
 msgstr "pas possible de fusionner ceci dans %s : %s"
 
-#: builtin/merge.c:1175
+#: builtin/merge.c:1183
 msgid "not something we can merge"
 msgstr "pas possible de fusionner ceci"
 
-#: builtin/merge.c:1278
+#: builtin/merge.c:1286
 msgid "--abort expects no arguments"
 msgstr "--abort n'accepte pas d'argument"
 
-#: builtin/merge.c:1282
+#: builtin/merge.c:1290
 msgid "There is no merge to abort (MERGE_HEAD missing)."
 msgstr "Il n'y a pas de fusion à abandonner (MERGE_HEAD manquant)."
 
-#: builtin/merge.c:1291
+#: builtin/merge.c:1299
 msgid "--quit expects no arguments"
 msgstr "--quit n'accepte pas d'argument"
 
-#: builtin/merge.c:1304
+#: builtin/merge.c:1312
 msgid "--continue expects no arguments"
 msgstr "--continue ne supporte aucun argument"
 
-#: builtin/merge.c:1308
+#: builtin/merge.c:1316
 msgid "There is no merge in progress (MERGE_HEAD missing)."
 msgstr "Il n'y a pas de fusion en cours (MERGE_HEAD manquant)."
 
-#: 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."
@@ -15458,7 +16522,7 @@ msgstr ""
 "Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: 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."
@@ -15466,98 +16530,98 @@ msgstr ""
 "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe).\n"
 "Veuillez valider vos modifications avant de pouvoir fusionner."
 
-#: builtin/merge.c:1334
+#: builtin/merge.c:1342
 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
 msgstr "Vous n'avez pas terminé votre picorage (CHERRY_PICK_HEAD existe)."
 
-#: builtin/merge.c:1348
+#: builtin/merge.c:1356
 msgid "You cannot combine --squash with --no-ff."
 msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
 
-#: builtin/merge.c:1350
+#: builtin/merge.c:1358
 msgid "You cannot combine --squash with --commit."
 msgstr "Vous ne pouvez pas combiner --squash avec --commit."
 
-#: builtin/merge.c:1366
+#: builtin/merge.c:1374
 msgid "No commit specified and merge.defaultToUpstream not set."
 msgstr ""
 "Pas de validation spécifiée et merge.defaultToUpstream n'est pas défini."
 
-#: builtin/merge.c:1383
+#: builtin/merge.c:1391
 msgid "Squash commit into empty head not supported yet"
 msgstr "La validation compressée vers une tête vide n'est pas encore supportée"
 
-#: builtin/merge.c:1385
+#: builtin/merge.c:1393
 msgid "Non-fast-forward commit does not make sense into an empty head"
 msgstr "Une validation sans avance rapide n'a pas de sens dans une tête vide"
 
-#: builtin/merge.c:1390
+#: builtin/merge.c:1398
 #, c-format
 msgid "%s - not something we can merge"
 msgstr "%s - pas possible de fusionner ceci"
 
-#: builtin/merge.c:1392
+#: builtin/merge.c:1400
 msgid "Can merge only exactly one commit into empty head"
 msgstr ""
 "Possible de fusionner exactement une seule validation dans une tête vide"
 
-#: builtin/merge.c:1471
+#: builtin/merge.c:1481
 msgid "refusing to merge unrelated histories"
 msgstr "refus de fusionner des historiques sans relation"
 
-#: builtin/merge.c:1480
+#: builtin/merge.c:1490
 msgid "Already up to date."
 msgstr "Déjà à jour."
 
-#: builtin/merge.c:1490
+#: builtin/merge.c:1500
 #, c-format
 msgid "Updating %s..%s\n"
 msgstr "Mise à jour %s..%s\n"
 
-#: builtin/merge.c:1532
+#: builtin/merge.c:1542
 #, c-format
 msgid "Trying really trivial in-index merge...\n"
 msgstr "Essai de fusion vraiment triviale dans l'index...\n"
 
-#: builtin/merge.c:1539
+#: builtin/merge.c:1549
 #, c-format
 msgid "Nope.\n"
 msgstr "Non.\n"
 
-#: builtin/merge.c:1564
+#: builtin/merge.c:1574
 msgid "Already up to date. Yeeah!"
 msgstr "Déjà à jour. Ouais !"
 
-#: builtin/merge.c:1570
+#: builtin/merge.c:1580
 msgid "Not possible to fast-forward, aborting."
 msgstr "Pas possible d'avancer rapidement, abandon."
 
-#: 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 "Retour de l'arbre à l'original...\n"
 
-#: builtin/merge.c:1597
+#: builtin/merge.c:1607
 #, c-format
 msgid "Trying merge strategy %s...\n"
 msgstr "Essai de la stratégie de fusion %s...\n"
 
-#: builtin/merge.c:1649
+#: builtin/merge.c:1659
 #, c-format
 msgid "No merge strategy handled the merge.\n"
 msgstr "Aucune stratégie de fusion n'a pris en charge la fusion.\n"
 
-#: builtin/merge.c:1651
+#: builtin/merge.c:1661
 #, c-format
 msgid "Merge with strategy %s failed.\n"
 msgstr "La fusion avec la stratégie %s a échoué.\n"
 
-#: builtin/merge.c:1660
+#: builtin/merge.c:1670
 #, c-format
 msgid "Using the %s to prepare resolving by hand.\n"
 msgstr "Utilisation de %s pour préparer la résolution à la main.\n"
 
-#: builtin/merge.c:1672
+#: builtin/merge.c:1682
 #, c-format
 msgid "Automatic merge went well; stopped before committing as requested\n"
 msgstr ""
@@ -15643,33 +16707,33 @@ msgstr "ne pas avertir à propos des conflits"
 msgid "set labels for file1/orig-file/file2"
 msgstr "définir les labels pour fichier1/fichier-orig/fichier2"
 
-#: builtin/merge-recursive.c:46
+#: builtin/merge-recursive.c:47
 #, c-format
 msgid "unknown option %s"
 msgstr "option inconnue %s"
 
-#: builtin/merge-recursive.c:52
+#: builtin/merge-recursive.c:53
 #, c-format
 msgid "could not parse object '%s'"
 msgstr "Impossible d'analyser l'objet '%s'"
 
-#: builtin/merge-recursive.c:56
+#: builtin/merge-recursive.c:57
 #, c-format
 msgid "cannot handle more than %d base. Ignoring %s."
 msgid_plural "cannot handle more than %d bases. Ignoring %s."
 msgstr[0] "impossible de gérer plus de %d base. %s ignoré."
 msgstr[1] "impossible de gérer plus de %d bases. %s ignoré."
 
-#: builtin/merge-recursive.c:64
+#: builtin/merge-recursive.c:65
 msgid "not handling anything other than two heads merge."
 msgstr "impossible de gérer autre chose que la fusion de deux têtes."
 
-#: 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 "impossible de résoudre la référence '%s'"
 
-#: builtin/merge-recursive.c:78
+#: builtin/merge-recursive.c:82
 #, c-format
 msgid "Merging %s with %s\n"
 msgstr "Fusion de %s avec %s\n"
@@ -15692,19 +16756,19 @@ msgstr "autoriser la création de plus d'un arbre"
 
 #: 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=<dir>] (write|verify|expire|repack --"
-"batch-size=<taille>)"
+"git multi-pack-index [<options>] (write|verify|expire|repack --batch-"
+"size=<taille>)"
 
-#: builtin/multi-pack-index.c:23
+#: builtin/multi-pack-index.c:26
 msgid "object directory containing set of packfile and pack-index pairs"
 msgstr ""
 "répertoire objet contenant un ensemble de paires de fichiers paquet et "
 "d'index de paquet"
 
-#: 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"
@@ -15712,15 +16776,15 @@ msgstr ""
 "pendant le repaquetage, collecter les fichiers paquet de plus petite taille "
 "dans un lot plus grand que cette taille"
 
-#: 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 "trop d'arguments"
 
-#: builtin/multi-pack-index.c:52
+#: builtin/multi-pack-index.c:60
 msgid "--batch-size option is only for 'repack' subcommand"
 msgstr "l'option --batch-size ne sert que pour la sous-commande 'repack'"
 
-#: builtin/multi-pack-index.c:61
+#: builtin/multi-pack-index.c:69
 #, c-format
 msgid "unrecognized subcommand: %s"
 msgstr "sous-commande non reconnue : %s"
@@ -15814,53 +16878,53 @@ msgstr "%s, source=%s, destination=%s"
 msgid "Renaming %s to %s\n"
 msgstr "Renommage de %s en %s\n"
 
-#: builtin/mv.c:277 builtin/remote.c:717 builtin/repack.c:510
+#: builtin/mv.c:277 builtin/remote.c:781 builtin/repack.c:518
 #, c-format
 msgid "renaming '%s' failed"
 msgstr "le renommage de '%s' a échoué"
 
-#: builtin/name-rev.c:352
+#: builtin/name-rev.c:465
 msgid "git name-rev [<options>] <commit>..."
 msgstr "git name-rev [<options>] <validation>..."
 
-#: builtin/name-rev.c:353
+#: builtin/name-rev.c:466
 msgid "git name-rev [<options>] --all"
 msgstr "git name-rev [<options>] --all"
 
-#: builtin/name-rev.c:354
+#: builtin/name-rev.c:467
 msgid "git name-rev [<options>] --stdin"
 msgstr "git name-rev [<options>] --stdin"
 
-#: builtin/name-rev.c:411
+#: builtin/name-rev.c:524
 msgid "print only names (no SHA-1)"
 msgstr "afficher seulement les noms (pas de SHA-1)"
 
-#: builtin/name-rev.c:412
+#: builtin/name-rev.c:525
 msgid "only use tags to name the commits"
 msgstr "utiliser seulement les étiquettes pour nommer les validations"
 
-#: builtin/name-rev.c:414
+#: builtin/name-rev.c:527
 msgid "only use refs matching <pattern>"
 msgstr "utiliser seulement les références correspondant à <motif>"
 
-#: builtin/name-rev.c:416
+#: builtin/name-rev.c:529
 msgid "ignore refs matching <pattern>"
 msgstr "ignorer les références correspondant à <motif>"
 
-#: builtin/name-rev.c:418
+#: builtin/name-rev.c:531
 msgid "list all commits reachable from all refs"
 msgstr ""
 "afficher toutes les validations accessibles depuis toutes les références"
 
-#: builtin/name-rev.c:419
+#: builtin/name-rev.c:532
 msgid "read from stdin"
 msgstr "lire depuis l'entrée standard"
 
-#: builtin/name-rev.c:420
+#: builtin/name-rev.c:533
 msgid "allow to print `undefined` names (default)"
 msgstr "autoriser l'affichage des noms `non définis` (par défaut)"
 
-#: builtin/name-rev.c:426
+#: builtin/name-rev.c:539
 msgid "dereference tags in the input (internal use)"
 msgstr "déréférencer les étiquettes en entrée (usage interne)"
 
@@ -16260,7 +17324,7 @@ msgstr ""
 msgid "read object names from the standard input"
 msgstr "lire les noms d'objet depuis l'entrée standard"
 
-#: 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 "ne pas supprimer, afficher seulement"
 
@@ -16276,7 +17340,7 @@ msgstr "références-notes"
 msgid "use notes from <notes-ref>"
 msgstr "utiliser les notes depuis <références-notes>"
 
-#: builtin/notes.c:1034 builtin/stash.c:1598
+#: builtin/notes.c:1034 builtin/stash.c:1643
 #, c-format
 msgid "unknown subcommand: %s"
 msgstr "sous-commande inconnue : %s"
@@ -16295,129 +17359,106 @@ msgstr ""
 "git pack-objects [options...] base-name [< <liste-références> | < <liste-"
 "objets>]"
 
-#: builtin/pack-objects.c:428
+#: builtin/pack-objects.c:430
 #, c-format
 msgid "bad packed object CRC for %s"
 msgstr "mauvais CRC d'objet empaqueté pour %s"
 
-#: builtin/pack-objects.c:439
+#: builtin/pack-objects.c:441
 #, c-format
 msgid "corrupt packed object for %s"
 msgstr "objet empaqueté corrompu pour %s"
 
-#: builtin/pack-objects.c:570
+#: builtin/pack-objects.c:572
 #, c-format
 msgid "recursive delta detected for object %s"
 msgstr "delta récursif détecté pour l'objet %s"
 
-#: builtin/pack-objects.c:781
+#: builtin/pack-objects.c:783
 #, c-format
 msgid "ordered %u objects, expected %<PRIu32>"
 msgstr "%u objets commandés, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:794
-#, c-format
-msgid "packfile is invalid: %s"
-msgstr "le fichier packet est invalide : %s"
-
-#: builtin/pack-objects.c:798
-#, c-format
-msgid "unable to open packfile for reuse: %s"
-msgstr "ouverture du fichier paquet pour réutilisation impossible : %s"
-
-#: builtin/pack-objects.c:802
-msgid "unable to seek in reused packfile"
-msgstr "impossible de rechercher (seek) dans le fichier paquet réutilisé"
-
-#: builtin/pack-objects.c:813
-msgid "unable to read from reused packfile"
-msgstr "lecture du fichier de paquet réutilisé impossible"
-
-#: builtin/pack-objects.c:841
+#: builtin/pack-objects.c:972
 msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
 msgstr ""
 "désactivation de l'écriture en bitmap, les fichiers paquets sont scindés à "
 "cause de pack.packSizeLimit"
 
-#: builtin/pack-objects.c:854
+#: builtin/pack-objects.c:985
 msgid "Writing objects"
 msgstr "Écriture des objets"
 
-#: 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 "échec du stat de %s"
 
-#: builtin/pack-objects.c:970
+#: builtin/pack-objects.c:1099
 #, c-format
 msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
 msgstr "%<PRIu32> objets écrits, %<PRIu32> attendus"
 
-#: builtin/pack-objects.c:1166
+#: builtin/pack-objects.c:1297
 msgid "disabling bitmap writing, as some objects are not being packed"
 msgstr ""
 "désactivation de l'écriture en bitmap car certains objets ne sont pas "
 "compressés"
 
-#: builtin/pack-objects.c:1597
+#: builtin/pack-objects.c:1724
 #, c-format
 msgid "delta base offset overflow in pack for %s"
 msgstr "dépassement de décalage de base de delta pour %s"
 
-#: builtin/pack-objects.c:1606
+#: builtin/pack-objects.c:1733
 #, c-format
 msgid "delta base offset out of bound for %s"
 msgstr "décalage de base de delta est hors limite pour %s"
 
-#: builtin/pack-objects.c:1875
+#: builtin/pack-objects.c:2004
 msgid "Counting objects"
 msgstr "Décompte des objets"
 
-#: builtin/pack-objects.c:2005
-#, c-format
-msgid "unable to get size of %s"
-msgstr "impossible de récupérer la taille de %s"
-
-#: builtin/pack-objects.c:2020
+#: builtin/pack-objects.c:2149
 #, c-format
 msgid "unable to parse object header of %s"
 msgstr "impossible d'analyser l'entête d'objet de %s"
 
-#: builtin/pack-objects.c:2090 builtin/pack-objects.c:2106
-#: builtin/pack-objects.c:2116
+#: builtin/pack-objects.c:2219 builtin/pack-objects.c:2235
+#: builtin/pack-objects.c:2245
 #, c-format
 msgid "object %s cannot be read"
 msgstr "l'objet %s ne peut être lu"
 
-#: 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 ""
 "objet %s longueur de l'objet inconsistante (%<PRIuMAX> contre %<PRIuMAX>)"
 
-#: builtin/pack-objects.c:2130
+#: builtin/pack-objects.c:2259
 msgid "suboptimal pack - out of memory"
 msgstr "paquet sous-optimal - mémoire insuffisante"
 
-#: builtin/pack-objects.c:2456
+#: builtin/pack-objects.c:2574
 #, c-format
 msgid "Delta compression using up to %d threads"
 msgstr "Compression par delta en utilisant jusqu'à %d fils d'exécution"
 
-#: builtin/pack-objects.c:2588
+#: builtin/pack-objects.c:2713
 #, c-format
 msgid "unable to pack objects reachable from tag %s"
 msgstr "impossible d'empaqueter les objets joignables depuis l'étiquette %s"
 
-#: builtin/pack-objects.c:2675
+#: builtin/pack-objects.c:2801
 msgid "Compressing objects"
 msgstr "Compression des objets"
 
-#: builtin/pack-objects.c:2681
+#: builtin/pack-objects.c:2807
 msgid "inconsistency with delta count"
 msgstr "inconsistance dans le compte de delta"
 
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2888
 #, c-format
 msgid ""
 "expected edge object ID, got garbage:\n"
@@ -16426,7 +17467,7 @@ msgstr ""
 "ID d'objet de bord attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2768
+#: builtin/pack-objects.c:2894
 #, c-format
 msgid ""
 "expected object ID, got garbage:\n"
@@ -16435,256 +17476,243 @@ msgstr ""
 "ID d'objet attendu, reçu des données illisibles :\n"
 "%s"
 
-#: builtin/pack-objects.c:2866
+#: builtin/pack-objects.c:2992
 msgid "invalid value for --missing"
 msgstr "valeur invalide pour --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 "impossible d'ouvrir l'index de paquet"
 
-#: builtin/pack-objects.c:2956
+#: builtin/pack-objects.c:3082
 #, c-format
 msgid "loose object at %s could not be examined"
 msgstr "l'objet libre à %s n'a pas pu être examiné"
 
-#: builtin/pack-objects.c:3041
+#: builtin/pack-objects.c:3167
 msgid "unable to force loose object"
 msgstr "impossible de forcer l'objet libre"
 
-#: builtin/pack-objects.c:3133
+#: builtin/pack-objects.c:3260
 #, c-format
 msgid "not a rev '%s'"
 msgstr "'%s' n'est pas une révision"
 
-#: builtin/pack-objects.c:3136
+#: builtin/pack-objects.c:3263
 #, c-format
 msgid "bad revision '%s'"
 msgstr "mauvaise révision '%s'"
 
-#: builtin/pack-objects.c:3161
+#: builtin/pack-objects.c:3288
 msgid "unable to add recent objects"
 msgstr "impossible d'ajouter les objets récents"
 
-#: builtin/pack-objects.c:3214
+#: builtin/pack-objects.c:3341
 #, c-format
 msgid "unsupported index version %s"
 msgstr "version d'index non supportée %s"
 
-#: builtin/pack-objects.c:3218
+#: builtin/pack-objects.c:3345
 #, c-format
 msgid "bad index version '%s'"
 msgstr "mauvaise version d'index '%s'"
 
-#: builtin/pack-objects.c:3248
-msgid "do not show progress meter"
-msgstr "ne pas afficher la barre de progression"
-
-#: builtin/pack-objects.c:3250
-msgid "show progress meter"
-msgstr "afficher la barre de progression"
-
-#: builtin/pack-objects.c:3252
-msgid "show progress meter during object writing phase"
-msgstr "afficher la barre de progression durant la phase d'écrite des objets"
-
-#: builtin/pack-objects.c:3255
-msgid "similar to --all-progress when progress meter is shown"
-msgstr "similaire à --all-progress quand la barre de progression est affichée"
-
-#: builtin/pack-objects.c:3256
+#: builtin/pack-objects.c:3383
 msgid "<version>[,<offset>]"
 msgstr "<version>[,<décalage>]"
 
-#: builtin/pack-objects.c:3257
+#: builtin/pack-objects.c:3384
 msgid "write the pack index file in the specified idx format version"
 msgstr ""
 "écrire le fichier d'index du paquet dans le format d'index de version "
 "spécifié"
 
-#: builtin/pack-objects.c:3260
+#: builtin/pack-objects.c:3387
 msgid "maximum size of each output pack file"
 msgstr "taille maximum de chaque fichier paquet en sortie"
 
-#: builtin/pack-objects.c:3262
+#: builtin/pack-objects.c:3389
 msgid "ignore borrowed objects from alternate object store"
 msgstr "ignorer les objets empruntés à un autre magasin d'objets"
 
-#: builtin/pack-objects.c:3264
+#: builtin/pack-objects.c:3391
 msgid "ignore packed objects"
 msgstr "ignorer les objets empaquetés"
 
-#: builtin/pack-objects.c:3266
+#: builtin/pack-objects.c:3393
 msgid "limit pack window by objects"
 msgstr "limiter la fenêtre d'empaquetage par objets"
 
-#: builtin/pack-objects.c:3268
+#: builtin/pack-objects.c:3395
 msgid "limit pack window by memory in addition to object limit"
 msgstr ""
 "limiter la fenêtre d'empaquetage par mémoire en plus de la limite d'objets"
 
-#: builtin/pack-objects.c:3270
+#: builtin/pack-objects.c:3397
 msgid "maximum length of delta chain allowed in the resulting pack"
 msgstr ""
 "longueur maximum de la chaîne de delta autorisée dans le paquet résultant"
 
-#: builtin/pack-objects.c:3272
+#: builtin/pack-objects.c:3399
 msgid "reuse existing deltas"
 msgstr "réutiliser les deltas existants"
 
-#: builtin/pack-objects.c:3274
+#: builtin/pack-objects.c:3401
 msgid "reuse existing objects"
 msgstr "réutiliser les objets existants"
 
-#: builtin/pack-objects.c:3276
+#: builtin/pack-objects.c:3403
 msgid "use OFS_DELTA objects"
 msgstr "utiliser les objets OFS_DELTA"
 
-#: builtin/pack-objects.c:3278
+#: builtin/pack-objects.c:3405
 msgid "use threads when searching for best delta matches"
 msgstr ""
 "utiliser des fils lors de la recherche pour une meilleure correspondance des "
 "deltas"
 
-#: builtin/pack-objects.c:3280
+#: builtin/pack-objects.c:3407
 msgid "do not create an empty pack output"
 msgstr "ne pas créer un paquet vide"
 
-#: builtin/pack-objects.c:3282
+#: builtin/pack-objects.c:3409
 msgid "read revision arguments from standard input"
 msgstr "lire les paramètres de révision depuis l'entrée standard"
 
-#: builtin/pack-objects.c:3284
+#: builtin/pack-objects.c:3411
 msgid "limit the objects to those that are not yet packed"
 msgstr "limiter les objets à ceux qui ne sont pas encore empaquetés"
 
-#: builtin/pack-objects.c:3287
+#: builtin/pack-objects.c:3414
 msgid "include objects reachable from any reference"
 msgstr "inclure les objets accessibles depuis toute référence"
 
-#: builtin/pack-objects.c:3290
+#: builtin/pack-objects.c:3417
 msgid "include objects referred by reflog entries"
 msgstr "inclure les objets référencés par les éléments de reflog"
 
-#: builtin/pack-objects.c:3293
+#: builtin/pack-objects.c:3420
 msgid "include objects referred to by the index"
 msgstr "inclure les objets référencés par l'index"
 
-#: builtin/pack-objects.c:3296
+#: builtin/pack-objects.c:3423
 msgid "output pack to stdout"
 msgstr "afficher l'empaquetage sur la sortie standard"
 
-#: builtin/pack-objects.c:3298
+#: builtin/pack-objects.c:3425
 msgid "include tag objects that refer to objects to be packed"
 msgstr "inclure les objets d'étiquettes qui réfèrent à des objets à empaqueter"
 
-#: builtin/pack-objects.c:3300
+#: builtin/pack-objects.c:3427
 msgid "keep unreachable objects"
 msgstr "garder les objets inaccessibles"
 
-#: builtin/pack-objects.c:3302
+#: builtin/pack-objects.c:3429
 msgid "pack loose unreachable objects"
 msgstr "empaqueter les objets inaccessibles détachés"
 
-#: builtin/pack-objects.c:3304
+#: builtin/pack-objects.c:3431
 msgid "unpack unreachable objects newer than <time>"
 msgstr "dépaqueter les objets inaccessibles plus récents que <heure>"
 
-#: builtin/pack-objects.c:3307
+#: builtin/pack-objects.c:3434
 msgid "use the sparse reachability algorithm"
 msgstr "utiliser l'algorithme de joignabilité creuse"
 
-#: builtin/pack-objects.c:3309
+#: builtin/pack-objects.c:3436
 msgid "create thin packs"
 msgstr "créer des paquets légers"
 
-#: builtin/pack-objects.c:3311
+#: builtin/pack-objects.c:3438
 msgid "create packs suitable for shallow fetches"
 msgstr "créer des paquets permettant des récupérations superficielles"
 
-#: builtin/pack-objects.c:3313
+#: builtin/pack-objects.c:3440
 msgid "ignore packs that have companion .keep file"
 msgstr "ignorer les paquets qui ont un fichier .keep"
 
-#: builtin/pack-objects.c:3315
+#: builtin/pack-objects.c:3442
 msgid "ignore this pack"
 msgstr "ignorer ce paquet"
 
-#: builtin/pack-objects.c:3317
+#: builtin/pack-objects.c:3444
 msgid "pack compression level"
 msgstr "niveau de compression du paquet"
 
-#: builtin/pack-objects.c:3319
+#: builtin/pack-objects.c:3446
 msgid "do not hide commits by grafts"
 msgstr "ne pas cacher les validations par greffes"
 
-#: builtin/pack-objects.c:3321
+#: builtin/pack-objects.c:3448
 msgid "use a bitmap index if available to speed up counting objects"
 msgstr ""
 "utiliser un index en bitmap si disponible pour accélerer le décompte des "
 "objets"
 
-#: builtin/pack-objects.c:3323
+#: builtin/pack-objects.c:3450
 msgid "write a bitmap index together with the pack index"
 msgstr "écrire un index en bitmap associé à l'index de paquet"
 
-#: builtin/pack-objects.c:3327
+#: builtin/pack-objects.c:3454
 msgid "write a bitmap index if possible"
 msgstr "écrire un index de bitmap si possible"
 
-#: builtin/pack-objects.c:3331
+#: builtin/pack-objects.c:3458
 msgid "handling for missing objects"
 msgstr "gestion des objets manquants"
 
-#: builtin/pack-objects.c:3334
+#: builtin/pack-objects.c:3461
 msgid "do not pack objects in promisor packfiles"
 msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs"
 
-#: builtin/pack-objects.c:3336
+#: builtin/pack-objects.c:3463
 msgid "respect islands during delta compression"
 msgstr "respecter les îlots pendant la compression des deltas"
 
-#: builtin/pack-objects.c:3361
+#: builtin/pack-objects.c:3492
 #, c-format
 msgid "delta chain depth %d is too deep, forcing %d"
 msgstr "la profondeur %d de chaîne de delta est trop grande, forcée à %d"
 
-#: builtin/pack-objects.c:3366
+#: builtin/pack-objects.c:3497
 #, c-format
 msgid "pack.deltaCacheLimit is too high, forcing %d"
 msgstr "pack.deltaCacheLimit est trop grand, forcé à %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 ne peut pas être utilisé pour construire un paquet à "
 "transférer"
 
-#: builtin/pack-objects.c:3422
+#: builtin/pack-objects.c:3553
 msgid "minimum pack size limit is 1 MiB"
 msgstr "la taille limite minimale d'un paquet est 1 MiB"
 
-#: builtin/pack-objects.c:3427
+#: builtin/pack-objects.c:3558
 msgid "--thin cannot be used to build an indexable pack"
 msgstr "--thin ne peut pas être utilisé pour construire un paquet indexable"
 
-#: builtin/pack-objects.c:3430
+#: builtin/pack-objects.c:3561
 msgid "--keep-unreachable and --unpack-unreachable are incompatible"
 msgstr "--keep-unreachable et --unpack-unreachable sont incompatibles"
 
-#: builtin/pack-objects.c:3436
+#: builtin/pack-objects.c:3567
 msgid "cannot use --filter without --stdout"
 msgstr "impossible d'utiliser --filter sans --stdout"
 
-#: builtin/pack-objects.c:3497
+#: builtin/pack-objects.c:3627
 msgid "Enumerating objects"
 msgstr "Énumération des objets"
 
-#: 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 ""
-"Total %<PRIu32> (delta %<PRIu32>), réutilisés %<PRIu32> (delta %<PRIu32>)"
+"Total %<PRIu32> (delta %<PRIu32>), réutilisés %<PRIu32> (delta %<PRIu32>), "
+"réutilisés du pack %<PRIu32>"
 
 #: builtin/pack-refs.c:8
 msgid "git pack-refs [<options>]"
@@ -16726,53 +17754,53 @@ msgstr "limiter la traversée aux objets hors des fichiers paquets prometteurs"
 msgid "cannot prune in a precious-objects repo"
 msgstr "impossible de nettoyer dans un dépôt d'objets précieux"
 
-#: 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 "Valeur invalide pour %s : %s"
 
-#: builtin/pull.c:88
+#: builtin/pull.c:67
 msgid "git pull [<options>] [<repository> [<refspec>...]]"
 msgstr "git pull [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/pull.c:141
+#: builtin/pull.c:122
 msgid "control for recursive fetching of submodules"
 msgstr "contrôler la récupération récursive dans les sous-modules"
 
-#: builtin/pull.c:145
+#: builtin/pull.c:126
 msgid "Options related to merging"
 msgstr "Options relatives à la fusion"
 
-#: builtin/pull.c:148
+#: builtin/pull.c:129
 msgid "incorporate changes by rebasing rather than merging"
 msgstr "incorporer les modifications en rebasant plutôt qu'en fusionnant"
 
-#: 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 "autoriser l'avance rapide"
 
-#: builtin/pull.c:185
+#: builtin/pull.c:166
 msgid "automatically stash/stash pop before and after rebase"
 msgstr "remiser avant et réappliquer après le rebasage automatiquement"
 
-#: builtin/pull.c:201
+#: builtin/pull.c:182
 msgid "Options related to fetching"
 msgstr "Options relatives au rapatriement"
 
-#: builtin/pull.c:211
+#: builtin/pull.c:192
 msgid "force overwrite of local branch"
 msgstr "forcer l'écrasement de la branche locale"
 
-#: builtin/pull.c:219
+#: builtin/pull.c:200
 msgid "number of submodules pulled in parallel"
 msgstr "nombre de sous-modules tirés en parallèle"
 
-#: builtin/pull.c:316
+#: builtin/pull.c:300
 #, c-format
 msgid "Invalid value for pull.ff: %s"
 msgstr "Valeur invalide pour 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."
@@ -16780,14 +17808,14 @@ msgstr ""
 "Il n'y a pas de candidate sur laquelle rebaser parmi les références que vous "
 "venez de récupérer."
 
-#: builtin/pull.c:435
+#: builtin/pull.c:428
 msgid ""
 "There are no candidates for merging among the refs that you just fetched."
 msgstr ""
 "Il n'y a pas de candidate avec laquelle fusionner parmi les références que "
 "vous venez de récupérer."
 
-#: 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."
@@ -16795,7 +17823,7 @@ msgstr ""
 "Généralement, cela signifie que vous avez indiqué un spécificateur\n"
 "de référence joker qui n'a pas eu de correspondance sur le serveur distant."
 
-#: builtin/pull.c:439
+#: builtin/pull.c:432
 #, c-format
 msgid ""
 "You asked to pull from the remote '%s', but did not specify\n"
@@ -16807,44 +17835,44 @@ msgstr ""
 "configuration\n"
 "pour la branche actuelle, vous devez spécifier la branche avec la commande."
 
-#: 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 "Vous n'êtes actuellement sur aucune branche."
 
-#: 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 "Veuillez spécifier sur quelle branche vous souhaiter rebaser."
 
-#: 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 "Veuillez spécifier une branche avec laquelle fusionner."
 
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:442 builtin/pull.c:457
 msgid "See git-pull(1) for details."
 msgstr "Référez-vous à git-pull(1) pour de plus amples détails."
 
-#: 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 "<distant>"
 
-#: 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 "<branche>"
 
-#: 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 "Pas d'information de suivi distant pour la branche actuelle."
 
-#: 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 ""
 "Si vous souhaitez indiquer l'information de suivi distant pour cette "
 "branche, vous pouvez le faire avec :"
 
-#: builtin/pull.c:473
+#: builtin/pull.c:466
 #, c-format
 msgid ""
 "Your configuration specifies to merge with the ref '%s'\n"
@@ -16854,34 +17882,34 @@ msgstr ""
 "'%s'\n"
 "du serveur distant, mais cette référence n'a pas été récupérée."
 
-#: builtin/pull.c:581
+#: builtin/pull.c:576
 #, c-format
 msgid "unable to access commit %s"
 msgstr "impossible d'accéder le commit %s"
 
-#: builtin/pull.c:861
+#: builtin/pull.c:857
 msgid "ignoring --verify-signatures for rebase"
 msgstr "--verify-signatures est ignoré pour un rebasage"
 
-#: builtin/pull.c:916
+#: builtin/pull.c:912
 msgid "--[no-]autostash option is only valid with --rebase."
 msgstr "l'option --[no-]autostash n'est valide qu'avec --rebase."
 
-#: builtin/pull.c:924
+#: builtin/pull.c:920
 msgid "Updating an unborn branch with changes added to the index."
 msgstr ""
 "Mise à jour d'une branche non encore créée avec les changements ajoutés dans "
 "l'index."
 
-#: builtin/pull.c:928
+#: builtin/pull.c:924
 msgid "pull with rebase"
 msgstr "tirer avec un rebasage"
 
-#: builtin/pull.c:929
+#: builtin/pull.c:925
 msgid "please commit or stash them."
 msgstr "veuillez les valider ou les remiser."
 
-#: builtin/pull.c:954
+#: builtin/pull.c:950
 #, c-format
 msgid ""
 "fetch updated the current branch head.\n"
@@ -16892,7 +17920,7 @@ msgstr ""
 "avance rapide de votre copie de travail\n"
 "depuis le commit %s."
 
-#: builtin/pull.c:960
+#: builtin/pull.c:956
 #, c-format
 msgid ""
 "Cannot fast-forward your working tree.\n"
@@ -16909,15 +17937,15 @@ msgstr ""
 "$ git reset --hard\n"
 "pour régénérer."
 
-#: builtin/pull.c:975
+#: builtin/pull.c:971
 msgid "Cannot merge multiple branches into empty head."
 msgstr "Impossible de fusionner de multiples branches sur une tête vide."
 
-#: builtin/pull.c:979
+#: builtin/pull.c:975
 msgid "Cannot rebase onto multiple branches."
 msgstr "Impossible de rebaser sur de multiples branches."
 
-#: builtin/pull.c:986
+#: builtin/pull.c:982
 msgid "cannot rebase with locally recorded submodule modifications"
 msgstr ""
 "impossible de rebaser avec des modifications de sous-modules enregistrées "
@@ -16927,15 +17955,15 @@ msgstr ""
 msgid "git push [<options>] [<repository> [<refspec>...]]"
 msgstr "git push [<options>] [<dépôt> [<spécification-de-référence>...]]"
 
-#: builtin/push.c:111
+#: builtin/push.c:112
 msgid "tag shorthand without <tag>"
 msgstr "raccourci d'étiquette sans <étiquette>"
 
-#: builtin/push.c:121
+#: builtin/push.c:122
 msgid "--delete only accepts plain target ref names"
 msgstr "--delete accepte seulement des noms entiers de références cibles"
 
-#: builtin/push.c:167
+#: builtin/push.c:168
 msgid ""
 "\n"
 "To choose either option permanently, see push.default in 'git help config'."
@@ -16944,7 +17972,7 @@ msgstr ""
 "Pour choisir l'option de manière permanente, voir push.default dans '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"
@@ -16969,7 +17997,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"
@@ -16984,7 +18012,7 @@ msgstr ""
 "\n"
 "    git push %s HEAD:<nom-de-la-branche-amont>\n"
 
-#: builtin/push.c:199
+#: builtin/push.c:200
 #, c-format
 msgid ""
 "The current branch %s has no upstream branch.\n"
@@ -16998,13 +18026,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 ""
 "La branche courante %s a de multiples branches amont, impossible de pousser."
 
-#: builtin/push.c:210
+#: builtin/push.c:211
 #, c-format
 msgid ""
 "You are pushing to remote '%s', which is not the upstream of\n"
@@ -17015,14 +18043,14 @@ msgstr ""
 "pas une branche amont de votre branche courante '%s', sans me dire\n"
 "quoi pousser pour mettre à jour quelle branche amont."
 
-#: builtin/push.c:269
+#: builtin/push.c:270
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
 "Vous n'avez pas spécifié de spécifications de référence à pousser, et push."
 "default est \"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"
@@ -17037,7 +18065,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: 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"
@@ -17052,7 +18080,7 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: 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"
@@ -17070,13 +18098,13 @@ msgstr ""
 "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus "
 "d'information."
 
-#: builtin/push.c:295
+#: builtin/push.c:296
 msgid "Updates were rejected because the tag already exists in the remote."
 msgstr ""
 "Les mises à jour ont été rejetées car l'étiquette existe déjà dans la "
 "branche distante."
 
-#: 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"
@@ -17088,142 +18116,142 @@ msgstr ""
 "pointer\n"
 "vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n"
 
-#: builtin/push.c:359
+#: builtin/push.c:360
 #, c-format
 msgid "Pushing to %s\n"
 msgstr "Poussée vers %s\n"
 
-#: builtin/push.c:364
+#: builtin/push.c:367
 #, c-format
 msgid "failed to push some refs to '%s'"
 msgstr "impossible de pousser des références vers '%s'"
 
-#: builtin/push.c:398
-#, c-format
-msgid "bad repository '%s'"
-msgstr "mauvais dépôt '%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 ""
-"Pas de destination pour pousser.\n"
-"Spécifiez une URL depuis la ligne de commande ou configurez un dépôt distant "
-"en utilisant\n"
-"\n"
-"    git remote add <nom> <url>\n"
-"\n"
-"et poussez alors en utilisant le dépôt distant\n"
-"\n"
-"    git push <nom>\n"
-
-#: builtin/push.c:554
+#: builtin/push.c:542
 msgid "repository"
 msgstr "dépôt"
 
-#: builtin/push.c:555 builtin/send-pack.c:164
+#: builtin/push.c:543 builtin/send-pack.c:164
 msgid "push all refs"
 msgstr "pousser toutes les références"
 
-#: builtin/push.c:556 builtin/send-pack.c:166
+#: builtin/push.c:544 builtin/send-pack.c:166
 msgid "mirror all refs"
 msgstr "refléter toutes les références"
 
-#: builtin/push.c:558
+#: builtin/push.c:546
 msgid "delete refs"
 msgstr "supprimer les références"
 
-#: builtin/push.c:559
+#: builtin/push.c:547
 msgid "push tags (can't be used with --all or --mirror)"
 msgstr ""
 "pousser les étiquettes (ne peut pas être utilisé avec --all ou --mirror)"
 
-#: builtin/push.c:562 builtin/send-pack.c:167
+#: builtin/push.c:550 builtin/send-pack.c:167
 msgid "force updates"
 msgstr "forcer les mises à jour"
 
-#: builtin/push.c:564 builtin/send-pack.c:181
+#: builtin/push.c:552 builtin/send-pack.c:181
 msgid "<refname>:<expect>"
 msgstr "<nom-de-ref>:<attendu>"
 
-#: 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 "exiger que l'ancienne valeur de la référence soit à cette valeur"
 
-#: builtin/push.c:568
+#: builtin/push.c:556
 msgid "control recursive pushing of submodules"
 msgstr "contrôler la poussée récursive des sous-modules"
 
-#: builtin/push.c:570 builtin/send-pack.c:175
+#: builtin/push.c:558 builtin/send-pack.c:175
 msgid "use thin pack"
 msgstr "utiliser un empaquetage léger"
 
-#: 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 "recevoir le programme d'empaquetage"
 
-#: builtin/push.c:573
+#: builtin/push.c:561
 msgid "set upstream for git pull/status"
 msgstr "définir la branche amont pour git pull/status"
 
-#: builtin/push.c:576
+#: builtin/push.c:564
 msgid "prune locally removed refs"
 msgstr "éliminer les références locales supprimées"
 
-#: builtin/push.c:578
+#: builtin/push.c:566
 msgid "bypass pre-push hook"
 msgstr "éviter d'utiliser le crochet pre-push"
 
-#: builtin/push.c:579
+#: builtin/push.c:567
 msgid "push missing but relevant tags"
 msgstr "pousser les étiquettes manquantes mais pertinentes"
 
-#: builtin/push.c:582 builtin/send-pack.c:169
+#: builtin/push.c:570 builtin/send-pack.c:169
 msgid "GPG sign the push"
 msgstr "signer la poussée avec 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 "demande une transaction atomique sur le serveur distant"
 
-#: builtin/push.c:602
+#: builtin/push.c:590
 msgid "--delete is incompatible with --all, --mirror and --tags"
 msgstr "--delete est incompatible avec --all, --mirror et --tags"
 
-#: builtin/push.c:604
+#: builtin/push.c:592
 msgid "--delete doesn't make sense without any refs"
 msgstr "--delete n'a pas de sens sans aucune référence"
 
-#: builtin/push.c:607
+#: builtin/push.c:612
+#, c-format
+msgid "bad repository '%s'"
+msgstr "mauvais dépôt '%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 ""
+"Pas de destination pour pousser.\n"
+"Spécifiez une URL depuis la ligne de commande ou configurez un dépôt distant "
+"en utilisant\n"
+"\n"
+"    git remote add <nom> <url>\n"
+"\n"
+"et poussez alors en utilisant le dépôt distant\n"
+"\n"
+"    git push <nom>\n"
+
+#: builtin/push.c:628
 msgid "--all and --tags are incompatible"
 msgstr "--all et --tags sont incompatibles"
 
-#: builtin/push.c:609
+#: builtin/push.c:630
 msgid "--all can't be combined with refspecs"
 msgstr "--all ne peut pas être combiné avec des spécifications de référence"
 
-#: builtin/push.c:613
+#: builtin/push.c:634
 msgid "--mirror and --tags are incompatible"
 msgstr "--mirror et --tags sont incompatibles"
 
-#: builtin/push.c:615
+#: builtin/push.c:636
 msgid "--mirror can't be combined with refspecs"
 msgstr "--mirror ne peut pas être combiné avec des spécifications de référence"
 
-#: builtin/push.c:618
+#: builtin/push.c:639
 msgid "--all and --mirror are incompatible"
 msgstr "--all et --mirror sont incompatibles"
 
-#: builtin/push.c:637
+#: builtin/push.c:643
 msgid "push options must not have new line characters"
 msgstr ""
 "les options de poussée ne peuvent pas contenir de caractères de nouvelle "
@@ -17243,24 +18271,32 @@ msgstr "git range-diff [<options>] <ancien-sommet>...<nouveau-sommet>"
 msgid "git range-diff [<options>] <base> <old-tip> <new-tip>"
 msgstr "git range-diff [<options>] <base> <ancien-sommet> <nouveau-sommet>"
 
-#: builtin/range-diff.c:21
+#: builtin/range-diff.c:22
 msgid "Percentage by which creation is weighted"
 msgstr "Pourcentage par lequel la création est pondérée"
 
-#: builtin/range-diff.c:23
+#: builtin/range-diff.c:24
 msgid "use simple diff colors"
 msgstr "utiliser des couleurs de diff simples"
 
-#: builtin/range-diff.c:46 builtin/range-diff.c:50
+#: builtin/range-diff.c:26
+msgid "notes"
+msgstr "notes"
+
+#: builtin/range-diff.c:26
+msgid "passed to 'git log'"
+msgstr "passé à 'git log'"
+
+#: builtin/range-diff.c:50 builtin/range-diff.c:54
 #, c-format
 msgid "no .. in range: '%s'"
 msgstr "pas de .. dans la plage : '%s'"
 
-#: builtin/range-diff.c:60
+#: builtin/range-diff.c:64
 msgid "single arg format must be symmetric range"
 msgstr "un format d'argument unique doit être une plage symétrique"
 
-#: builtin/range-diff.c:75
+#: builtin/range-diff.c:79
 msgid "need two commit ranges"
 msgstr "plage entre deux commits requise"
 
@@ -17343,13 +18379,17 @@ msgstr "déboguer unpack-trees"
 msgid "suppress feedback messages"
 msgstr "supprimer les messages d'information de suivi"
 
+#: builtin/read-tree.c:188
+msgid "You need to resolve your current index first"
+msgstr "Vous devez d'abord résoudre votre index courant"
+
 #: 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] [options] [--exec <cmd>] [--onto <nouvelle-base>] [<amont>] "
-"[<branche>]"
+"git rebase [-i] [options] [--exec <cmd>] [--onto <nouvelle-base> | --keep-"
+"base] [<amont> [<branche>]]"
 
 #: builtin/rebase.c:34
 msgid ""
@@ -17362,216 +18402,207 @@ 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 "liste à faire inutilisable : '%s'"
 
-#: builtin/rebase.c:167 builtin/rebase.c:193 builtin/rebase.c:217
-#, c-format
-msgid "could not write '%s'."
-msgstr "impossible d'écrire '%s'."
-
-#: builtin/rebase.c:252
-msgid "no HEAD?"
-msgstr "pas de HEAD ?"
-
-#: builtin/rebase.c:279
+#: builtin/rebase.c:292
 #, c-format
 msgid "could not create temporary %s"
 msgstr "impossible de créer un fichier temporaire %s"
 
-#: builtin/rebase.c:285
+#: builtin/rebase.c:298
 msgid "could not mark as interactive"
 msgstr "impossible de marquer comme interactif"
 
-#: builtin/rebase.c:343
+#: builtin/rebase.c:352
 msgid "could not generate todo list"
 msgstr "impossible de générer la liste à-faire"
 
-#: builtin/rebase.c:382
+#: builtin/rebase.c:391
 msgid "a base commit must be provided with --upstream or --onto"
 msgstr "un commit de base doit être fourni avec --upstream ou --onto"
 
-#: builtin/rebase.c:437
+#: builtin/rebase.c:461
 msgid "git rebase--interactive [<options>]"
 msgstr "git rebase--interactive [<options>]"
 
-#: builtin/rebase.c:449
-msgid "keep empty commits"
-msgstr "garder les validations vides"
+#: builtin/rebase.c:474 builtin/rebase.c:1550
+msgid "(DEPRECATED) keep empty commits"
+msgstr "(OBSOLÈTE) garder les validations vides"
 
-#: builtin/rebase.c:451 builtin/revert.c:128
+#: builtin/rebase.c:478 builtin/revert.c:128
 msgid "allow commits with empty messages"
 msgstr "autoriser les validations avec des messages vides"
 
-#: builtin/rebase.c:452
+#: builtin/rebase.c:480
 msgid "rebase merge commits"
 msgstr "rebaser les commits de fusion"
 
-#: builtin/rebase.c:454
+#: builtin/rebase.c:482
 msgid "keep original branch points of cousins"
 msgstr "conserver les points de branchement de cousins originaux"
 
-#: builtin/rebase.c:456
+#: builtin/rebase.c:484
 msgid "move commits that begin with squash!/fixup!"
 msgstr "déplacer les commits qui commencent par squash!/fixup!"
 
-#: builtin/rebase.c:457
+#: builtin/rebase.c:485
 msgid "sign commits"
 msgstr "signer les commits"
 
-#: 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 "afficher un diffstat de ce qui a changé en amont"
 
-#: builtin/rebase.c:461
+#: builtin/rebase.c:489
 msgid "continue rebase"
 msgstr "continuer le rebasage"
 
-#: builtin/rebase.c:463
+#: builtin/rebase.c:491
 msgid "skip commit"
 msgstr "sauter le commit"
 
-#: builtin/rebase.c:464
+#: builtin/rebase.c:492
 msgid "edit the todo list"
 msgstr "éditer la liste à-faire"
 
-#: builtin/rebase.c:466
+#: builtin/rebase.c:494
 msgid "show the current patch"
 msgstr "afficher le patch courant"
 
-#: builtin/rebase.c:469
+#: builtin/rebase.c:497
 msgid "shorten commit ids in the todo list"
 msgstr "raccourcir les identifiants de commits dans la liste à-faire"
 
-#: builtin/rebase.c:471
+#: builtin/rebase.c:499
 msgid "expand commit ids in the todo list"
 msgstr "étendre les identifiants de commit dans la liste à-faire"
 
-#: builtin/rebase.c:473
+#: builtin/rebase.c:501
 msgid "check the todo list"
 msgstr "vérifier la liste à-faire"
 
-#: builtin/rebase.c:475
+#: builtin/rebase.c:503
 msgid "rearrange fixup/squash lines"
 msgstr "réarranger les lignes fixup/squash"
 
-#: builtin/rebase.c:477
+#: builtin/rebase.c:505
 msgid "insert exec commands in todo list"
 msgstr "insérer les commandes exec dans la liste à-faire"
 
-#: builtin/rebase.c:478
+#: builtin/rebase.c:506
 msgid "onto"
 msgstr "sur"
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:509
 msgid "restrict-revision"
 msgstr "restrict-revision"
 
-#: builtin/rebase.c:481
+#: builtin/rebase.c:509
 msgid "restrict revision"
 msgstr "restreindre la révision"
 
-#: builtin/rebase.c:483
+#: builtin/rebase.c:511
 msgid "squash-onto"
 msgstr "écraser-sur"
 
-#: builtin/rebase.c:484
+#: builtin/rebase.c:512
 msgid "squash onto"
 msgstr "écraser sur"
 
-#: builtin/rebase.c:486
+#: builtin/rebase.c:514
 msgid "the upstream commit"
 msgstr "le commit amont"
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:516
 msgid "head-name"
 msgstr "nom du head"
 
-#: builtin/rebase.c:488
+#: builtin/rebase.c:516
 msgid "head name"
 msgstr "nom du head"
 
-#: builtin/rebase.c:493
+#: builtin/rebase.c:521
 msgid "rebase strategy"
 msgstr "stratégie de rebasage"
 
-#: builtin/rebase.c:494
+#: builtin/rebase.c:522
 msgid "strategy-opts"
 msgstr "options de stratégie"
 
-#: builtin/rebase.c:495
+#: builtin/rebase.c:523
 msgid "strategy options"
 msgstr "options de stratégie"
 
-#: builtin/rebase.c:496
+#: builtin/rebase.c:524
 msgid "switch-to"
 msgstr "switch-to"
 
-#: builtin/rebase.c:497
+#: builtin/rebase.c:525
 msgid "the branch or commit to checkout"
 msgstr "la branche ou le commit à extraire"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:526
 msgid "onto-name"
 msgstr "sur-le-nom"
 
-#: builtin/rebase.c:498
+#: builtin/rebase.c:526
 msgid "onto name"
 msgstr "sur le nom"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:527
 msgid "cmd"
 msgstr "cmd"
 
-#: builtin/rebase.c:499
+#: builtin/rebase.c:527
 msgid "the command to run"
 msgstr "la commande à lancer"
 
-#: 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 "re-planifier automatiquement tout `exec` qui échoue"
 
-#: builtin/rebase.c:518
+#: builtin/rebase.c:546
 msgid "--[no-]rebase-cousins has no effect without --rebase-merges"
 msgstr "--[no-]rebase-cousins n'a aucun effet sans --rebase-merges"
 
-#: builtin/rebase.c:534
+#: builtin/rebase.c:562
 #, c-format
 msgid "%s requires an interactive rebase"
 msgstr "%s requiert un rebasage interactif"
 
-#: builtin/rebase.c:586
+#: builtin/rebase.c:612
 #, c-format
 msgid "could not get 'onto': '%s'"
 msgstr "impossible d'accéder 'onto' : '%s'"
 
-#: builtin/rebase.c:601
+#: builtin/rebase.c:627
 #, c-format
 msgid "invalid orig-head: '%s'"
 msgstr "orig-head invalide : '%s'"
 
-#: builtin/rebase.c:626
+#: builtin/rebase.c:652
 #, c-format
 msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
 msgstr "allow_rerere_autoupdate invalide ignoré : '%s'"
 
-#: builtin/rebase.c:702
+#: builtin/rebase.c:728
 #, c-format
 msgid "Could not read '%s'"
 msgstr "Impossible de lire '%s'"
 
-#: builtin/rebase.c:720
+#: builtin/rebase.c:746
 #, c-format
 msgid "Cannot store %s"
 msgstr "Impossible de stocker %s"
 
-#: builtin/rebase.c:827
+#: builtin/rebase.c:853
 msgid "could not determine HEAD revision"
 msgstr "impossible de déterminer la révision HEAD"
 
-#: 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"
@@ -17585,7 +18616,7 @@ msgstr ""
 "arrêter\n"
 "et revenir à l'état antérieur à la commande, lancez \"git rebase --abort\"."
 
-#: builtin/rebase.c:1031
+#: builtin/rebase.c:1058
 #, c-format
 msgid ""
 "\n"
@@ -17604,7 +18635,16 @@ msgstr ""
 "\n"
 "Résultat, git ne peut pas les rebaser."
 
-#: builtin/rebase.c:1318
+#: builtin/rebase.c:1383
+#, c-format
+msgid ""
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
+"\"."
+msgstr ""
+"type vide non connu '%s' ; les valeurs valides sont \"drop\" (abandonner), "
+"\"keep\" (garder) et \"ask\" (demander)."
+
+#: builtin/rebase.c:1401
 #, c-format
 msgid ""
 "%s\n"
@@ -17621,7 +18661,7 @@ msgstr ""
 "    git rebase '<branche>'\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"
@@ -17635,127 +18675,136 @@ msgstr ""
 "    git branch --set-upstream-to=%s/<branche> %s\n"
 "\n"
 
-#: builtin/rebase.c:1364
+#: builtin/rebase.c:1447
 msgid "exec commands cannot contain newlines"
 msgstr "les commandes exec ne peut pas contenir de retour à la ligne"
 
-#: builtin/rebase.c:1368
+#: builtin/rebase.c:1451
 msgid "empty exec command"
 msgstr "commande exec vide"
 
-#: builtin/rebase.c:1396
+#: builtin/rebase.c:1481
 msgid "rebase onto given branch instead of upstream"
 msgstr "rebaser sur la branche %s au lieu de la branche amont"
 
-#: builtin/rebase.c:1398
+#: builtin/rebase.c:1483
+msgid "use the merge-base of upstream and branch as the current base"
+msgstr ""
+"utiliser la base de fusion de l'amont et la branche comme base actuelle"
+
+#: builtin/rebase.c:1485
 msgid "allow pre-rebase hook to run"
 msgstr "permettre le lancement du crochet pre-rebase"
 
-#: builtin/rebase.c:1400
+#: builtin/rebase.c:1487
 msgid "be quiet. implies --no-stat"
 msgstr "être silencieux. implique --no-stat"
 
-#: builtin/rebase.c:1406
+#: builtin/rebase.c:1493
 msgid "do not show diffstat of what changed upstream"
 msgstr "ne pas afficher un diffstat de ce qui a changé en amont"
 
-#: builtin/rebase.c:1409
+#: builtin/rebase.c:1496
 msgid "add a Signed-off-by: line to each commit"
 msgstr "ajouter une ligne Signed-off-by à chaque message de validation"
 
-#: 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 "passé à 'git am'"
+msgstr "passé jusqu'à 'git am'"
 
-#: builtin/rebase.c:1419 builtin/rebase.c:1421
+#: builtin/rebase.c:1506 builtin/rebase.c:1508
 msgid "passed to 'git apply'"
 msgstr "passé jusqu'à git-apply"
 
-#: 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 "picorer tous les commits, même sans modifiant"
 
-#: builtin/rebase.c:1428
+#: builtin/rebase.c:1515
 msgid "continue"
 msgstr "continuer"
 
-#: builtin/rebase.c:1431
+#: builtin/rebase.c:1518
 msgid "skip current patch and continue"
 msgstr "sauter le patch courant et continuer"
 
-#: builtin/rebase.c:1433
+#: builtin/rebase.c:1520
 msgid "abort and check out the original branch"
 msgstr "abandonner et extraire la branche d'origine"
 
-#: builtin/rebase.c:1436
+#: builtin/rebase.c:1523
 msgid "abort but keep HEAD where it is"
 msgstr "abandonne mais garde HEAD où il est"
 
-#: builtin/rebase.c:1437
+#: builtin/rebase.c:1524
 msgid "edit the todo list during an interactive rebase"
 msgstr "éditer la liste à faire lors d'un rebasage interactif"
 
-#: builtin/rebase.c:1440
+#: builtin/rebase.c:1527
 msgid "show the patch file being applied or merged"
 msgstr "afficher le patch en cours d'application ou de fusion"
 
-#: builtin/rebase.c:1443
+#: builtin/rebase.c:1530
+msgid "use apply strategies to rebase"
+msgstr "utiliser des stratégies d'application pour rebaser"
+
+#: builtin/rebase.c:1534
 msgid "use merging strategies to rebase"
 msgstr "utiliser des stratégies de fusion pour rebaser"
 
-#: builtin/rebase.c:1447
+#: builtin/rebase.c:1538
 msgid "let the user edit the list of commits to rebase"
 msgstr "laisser l'utilisateur éditer la liste des commits à rebaser"
 
-#: builtin/rebase.c:1451
+#: builtin/rebase.c:1542
 msgid "(DEPRECATED) try to recreate merges instead of ignoring them"
 msgstr "(DÉCONSEILLÉ) essayer de recréer les fusions au lieu de les ignorer"
 
-#: builtin/rebase.c:1455
-msgid "preserve empty commits during rebase"
-msgstr "préserver les validations vides pendant le rebasage"
+#: builtin/rebase.c:1547
+msgid "how to handle commits that become empty"
+msgstr "comment gérer les commits qui deviennent vides"
 
-#: builtin/rebase.c:1457
+#: builtin/rebase.c:1554
 msgid "move commits that begin with squash!/fixup! under -i"
 msgstr "déplace les commits qui commencent par squash!/fixup! sous -i"
 
-#: builtin/rebase.c:1463
+#: builtin/rebase.c:1560
 msgid "automatically stash/stash pop before and after"
 msgstr "remiser et réappliquer automatiquement avant et après"
 
-#: builtin/rebase.c:1465
+#: builtin/rebase.c:1562
 msgid "add exec lines after each commit of the editable list"
 msgstr "ajouter les lignes exec après chaque commit de la liste éditable"
 
-#: builtin/rebase.c:1469
+#: builtin/rebase.c:1566
 msgid "allow rebasing commits with empty messages"
 msgstr "autoriser les commits de rebasage avec des messages vides"
 
-#: builtin/rebase.c:1472
+#: builtin/rebase.c:1570
 msgid "try to rebase merges instead of skipping them"
 msgstr "essayer de rebaser les fusions au lieu de les garder"
 
-#: builtin/rebase.c:1475
+#: builtin/rebase.c:1573
 msgid "use 'merge-base --fork-point' to refine upstream"
 msgstr "utiliser 'merge-base --fork-point' pour raffiner l'amont"
 
-#: builtin/rebase.c:1477
+#: builtin/rebase.c:1575
 msgid "use the given merge strategy"
 msgstr "utiliser la stratégie de fusion indiquée"
 
-#: 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 "passer les arguments jusqu'à la stratégie de fusion"
 
-#: builtin/rebase.c:1483
+#: builtin/rebase.c:1581
 msgid "rebase all reachable commits up to the root(s)"
 msgstr "rebaser tous les objets inatteignables depuis les racines"
 
-#: 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."
@@ -17763,32 +18812,40 @@ msgstr ""
 "les support de rebase.useBuiltin a été supprimé !\n"
 "Voir son entrée dans 'git help config' pour plus de détails."
 
-#: builtin/rebase.c:1506
+#: builtin/rebase.c:1604
 msgid "It looks like 'git am' is in progress. Cannot rebase."
 msgstr "Il semble que 'git-am' soit en cours. Impossible de rebaser."
 
-#: builtin/rebase.c:1547
+#: builtin/rebase.c:1645
 msgid ""
 "git rebase --preserve-merges is deprecated. Use --rebase-merges instead."
 msgstr ""
 "git rebase --preserve-merges est déconseillé. Utilisez --rebase-merges à la "
 "place."
 
-#: builtin/rebase.c:1551
+#: builtin/rebase.c:1650
+msgid "cannot combine '--keep-base' with '--onto'"
+msgstr "impossible de combiner '--keep-base' avec '--onto'"
+
+#: builtin/rebase.c:1652
+msgid "cannot combine '--keep-base' with '--root'"
+msgstr "impossible de combiner '--keep-base' avec '--root'"
+
+#: builtin/rebase.c:1656
 msgid "No rebase in progress?"
 msgstr "Pas de rebasage en cours ?"
 
-#: builtin/rebase.c:1555
+#: builtin/rebase.c:1660
 msgid "The --edit-todo action can only be used during interactive rebase."
 msgstr ""
 "L'action --edit-todo peut seulement être utilisée lors d'un rebasage "
 "interactif."
 
-#: builtin/rebase.c:1578
+#: builtin/rebase.c:1683
 msgid "Cannot read HEAD"
 msgstr "Impossible de lire HEAD"
 
-#: 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"
@@ -17796,16 +18853,16 @@ msgstr ""
 "Vous devez éditer tous les conflits de fusion et\n"
 "les marquer comme résolus avec git add"
 
-#: builtin/rebase.c:1609
+#: builtin/rebase.c:1714
 msgid "could not discard worktree changes"
 msgstr "Impossible de supprimer les changements de l'arbre de travail"
 
-#: builtin/rebase.c:1628
+#: builtin/rebase.c:1733
 #, c-format
 msgid "could not move back to %s"
 msgstr "Impossible de revenir à %s"
 
-#: builtin/rebase.c:1673
+#: builtin/rebase.c:1778
 #, c-format
 msgid ""
 "It seems that there is already a %s directory, and\n"
@@ -17827,176 +18884,168 @@ msgstr ""
 "chose\n"
 "d'important ici.\n"
 
-#: builtin/rebase.c:1694
+#: builtin/rebase.c:1806
 msgid "switch `C' expects a numerical value"
 msgstr "l'option `C' attend un valeur numérique"
 
-#: builtin/rebase.c:1735
+#: builtin/rebase.c:1847
 #, c-format
 msgid "Unknown mode: %s"
 msgstr "mode inconnu : %s"
 
-#: builtin/rebase.c:1757
+#: builtin/rebase.c:1869
 msgid "--strategy requires --merge or --interactive"
 msgstr "--strategy requiert --merge ou --interactive"
 
-#: builtin/rebase.c:1797
+#: builtin/rebase.c:1899
+msgid "cannot combine apply options with merge options"
+msgstr ""
+"impossible de combiner les options d'application avec les options de fusion"
+
+#: builtin/rebase.c:1912
+#, c-format
+msgid "Unknown rebase backend: %s"
+msgstr "backend de rebasage inconnu : %s"
+
+#: builtin/rebase.c:1937
 msgid "--reschedule-failed-exec requires --exec or --interactive"
 msgstr "--reschedule-failed-exec requiert --exec ou --interactive"
 
-#: builtin/rebase.c:1809
-msgid "cannot combine am options with either interactive or merge options"
-msgstr ""
-"impossible de combiner les options am avec l'options interactive ou merge"
-
-#: builtin/rebase.c:1828
+#: builtin/rebase.c:1957
 msgid "cannot combine '--preserve-merges' with '--rebase-merges'"
 msgstr "impossible de combiner '--preserve-merges' avec '--rebase-merges'"
 
-#: builtin/rebase.c:1832
+#: builtin/rebase.c:1961
 msgid ""
 "error: cannot combine '--preserve-merges' with '--reschedule-failed-exec'"
 msgstr ""
 "erreur : impossible de combiner '--preserve-merges' avec '--reschedule-"
 "failed-exec'"
 
-#: builtin/rebase.c:1838
-msgid "cannot combine '--rebase-merges' with '--strategy-option'"
-msgstr "impossible de combiner '--rebase-merges' avec '--strategy-option'"
-
-#: builtin/rebase.c:1841
-msgid "cannot combine '--rebase-merges' with '--strategy'"
-msgstr "impossible de combiner '--rebase-merges' avec '--strategy'"
-
-#: builtin/rebase.c:1865
+#: builtin/rebase.c:1985
 #, c-format
 msgid "invalid upstream '%s'"
 msgstr "amont invalide '%s'"
 
-#: builtin/rebase.c:1871
+#: builtin/rebase.c:1991
 msgid "Could not create new root commit"
 msgstr "Impossible de créer un nouveau commit racine"
 
-#: builtin/rebase.c:1889
+#: builtin/rebase.c:2017
+#, c-format
+msgid "'%s': need exactly one merge base with branch"
+msgstr "'%s': exactement une base de fusion nécessaire avec une branche"
+
+#: builtin/rebase.c:2020
 #, c-format
 msgid "'%s': need exactly one merge base"
 msgstr "'%s': exactement une base de fusion nécessaire"
 
-#: builtin/rebase.c:1896
+#: builtin/rebase.c:2028
 #, c-format
 msgid "Does not point to a valid commit '%s'"
 msgstr "ne pointe pas sur une validation valide : '%s'"
 
-#: builtin/rebase.c:1921
+#: builtin/rebase.c:2054
 #, c-format
 msgid "fatal: no such branch/commit '%s'"
 msgstr "fatal : pas de branche ou commit '%s'"
 
-#: 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 "Référence inexistante : %s"
 
-#: builtin/rebase.c:1940
+#: builtin/rebase.c:2073
 msgid "Could not resolve HEAD to a revision"
 msgstr "Impossible de résoudre le commit HEAD vers un révision"
 
-#: builtin/rebase.c:1981
+#: builtin/rebase.c:2111
 msgid "Cannot autostash"
 msgstr "Autoremisage impossible"
 
-#: builtin/rebase.c:1984
+#: builtin/rebase.c:2114
 #, c-format
 msgid "Unexpected stash response: '%s'"
 msgstr "réponse de remisage inattendue : '%s'"
 
-#: builtin/rebase.c:1990
+#: builtin/rebase.c:2120
 #, c-format
 msgid "Could not create directory for '%s'"
 msgstr "Impossible de créer le répertoire pour '%s'"
 
-#: builtin/rebase.c:1993
+#: builtin/rebase.c:2123
 #, c-format
 msgid "Created autostash: %s\n"
 msgstr "Autoremisage créé : %s\n"
 
-#: builtin/rebase.c:1996
+#: builtin/rebase.c:2126
 msgid "could not reset --hard"
 msgstr "impossible de réinitialiser --hard"
 
-#: builtin/rebase.c:1997 builtin/reset.c:114
-#, c-format
-msgid "HEAD is now at %s"
-msgstr "HEAD est maintenant à %s"
-
-#: builtin/rebase.c:2013
+#: builtin/rebase.c:2135
 msgid "Please commit or stash them."
 msgstr "Veuillez les valider ou les remiser."
 
-#: builtin/rebase.c:2040
-#, c-format
-msgid "could not parse '%s'"
-msgstr "impossible d'analyser '%s'"
-
-#: builtin/rebase.c:2053
+#: builtin/rebase.c:2169
 #, c-format
 msgid "could not switch to %s"
 msgstr "Impossible de basculer vers %s"
 
-#: builtin/rebase.c:2064
+#: builtin/rebase.c:2180
 msgid "HEAD is up to date."
 msgstr "HEAD est à jour."
 
-#: builtin/rebase.c:2066
+#: builtin/rebase.c:2182
 #, c-format
 msgid "Current branch %s is up to date.\n"
 msgstr "La branche courante %s est à jour.\n"
 
-#: builtin/rebase.c:2074
+#: builtin/rebase.c:2190
 msgid "HEAD is up to date, rebase forced."
 msgstr "HEAD est à jour, rebasage forcé."
 
-#: builtin/rebase.c:2076
+#: builtin/rebase.c:2192
 #, c-format
 msgid "Current branch %s is up to date, rebase forced.\n"
 msgstr "La branche courante %s est à jour, rebasage forcé.\n"
 
-#: builtin/rebase.c:2084
+#: builtin/rebase.c:2200
 msgid "The pre-rebase hook refused to rebase."
 msgstr "Le crochet pre-rebase a refusé de rebaser."
 
-#: builtin/rebase.c:2091
+#: builtin/rebase.c:2207
 #, c-format
 msgid "Changes to %s:\n"
 msgstr "Changements vers %s :\n"
 
-#: builtin/rebase.c:2094
+#: builtin/rebase.c:2210
 #, c-format
 msgid "Changes from %s to %s:\n"
 msgstr "Changements de %s sur %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 ""
 "Rembobinage préalable de head pour pouvoir rejouer votre travail par-"
 "dessus...\n"
 
-#: builtin/rebase.c:2128
+#: builtin/rebase.c:2244
 msgid "Could not detach HEAD"
 msgstr "Impossible de détacher HEAD"
 
-#: builtin/rebase.c:2137
+#: builtin/rebase.c:2253
 #, c-format
 msgid "Fast-forwarded %s to %s.\n"
 msgstr "Avance rapide de %s sur %s.\n"
 
-#: builtin/receive-pack.c:32
+#: builtin/receive-pack.c:33
 msgid "git receive-pack <git-dir>"
 msgstr "git receive-pack <répertoire-git>"
 
-#: 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"
@@ -18026,7 +19075,7 @@ msgstr ""
 "Pour éliminer ce message et conserver le comportement par défaut,\n"
 "réglez « receive.denyCurrentBranch » à '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"
@@ -18076,49 +19125,49 @@ msgstr ""
 msgid "git reflog exists <ref>"
 msgstr "git reflog exists <référence>"
 
-#: 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' n'est pas un horodatage valide"
 
-#: builtin/reflog.c:605
+#: builtin/reflog.c:606
 #, c-format
 msgid "Marking reachable objects..."
 msgstr "Marquage des objets inaccessibles..."
 
-#: builtin/reflog.c:643
+#: builtin/reflog.c:644
 #, c-format
 msgid "%s points nowhere!"
 msgstr "%s ne pointe nulle part !"
 
-#: builtin/reflog.c:695
+#: builtin/reflog.c:696
 msgid "no reflog specified to delete"
 msgstr "pas de journal de références à supprimer spécifié"
 
-#: builtin/reflog.c:704
+#: builtin/reflog.c:705
 #, c-format
 msgid "not a reflog: %s"
 msgstr "'%s' n'est pas un journal de références"
 
-#: builtin/reflog.c:709
+#: builtin/reflog.c:710
 #, c-format
 msgid "no reflog for '%s'"
 msgstr "pas de journal de références pour '%s'"
 
-#: builtin/reflog.c:755
+#: builtin/reflog.c:756
 #, c-format
 msgid "invalid ref format: %s"
 msgstr "format de référence invalide : %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>"
@@ -18126,83 +19175,83 @@ msgstr ""
 "git remote add [-t <branche>] [-m <master>] [-f] [--tags | --no-tags] [--"
 "mirror=<fetch|push>] <nom> <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 <ancienne> <nouvelle>"
 
-#: 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 <nom>"
 
-#: 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 <nom> (-a | --auto | -d | --delete | <branche>)"
 
-#: builtin/remote.c:21
+#: builtin/remote.c:22
 msgid "git remote [-v | --verbose] show [-n] <name>"
 msgstr "git remote [-v | --verbose] show [-n] <nom>"
 
-#: builtin/remote.c:22
+#: builtin/remote.c:23
 msgid "git remote prune [-n | --dry-run] <name>"
 msgstr "git remote prune [-n | --dry-run] <nom>"
 
-#: 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] [(<groupe> | "
 "<distante>)...]"
 
-#: builtin/remote.c:24
+#: builtin/remote.c:25
 msgid "git remote set-branches [--add] <name> <branch>..."
 msgstr "git remote set-branches [--add] <nom> <branche>..."
 
-#: 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] <nom>"
 
-#: 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] <nom> <nouvelle-URL> [<ancienne-URL>]"
 
-#: 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 <nom> <nouvelle-URL>"
 
-#: 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 <nom> <url>"
 
-#: builtin/remote.c:33
+#: builtin/remote.c:34
 msgid "git remote add [<options>] <name> <url>"
 msgstr "git remote add [<options>] <nom> <URL>"
 
-#: builtin/remote.c:53
+#: builtin/remote.c:54
 msgid "git remote set-branches <name> <branch>..."
 msgstr "git remote set-branches <nom> <branche>..."
 
-#: builtin/remote.c:54
+#: builtin/remote.c:55
 msgid "git remote set-branches --add <name> <branch>..."
 msgstr "git remote set-branches --add <nom> <branche>..."
 
-#: builtin/remote.c:59
+#: builtin/remote.c:60
 msgid "git remote show [<options>] <name>"
 msgstr "git remote show [<options>] <nom>"
 
-#: builtin/remote.c:64
+#: builtin/remote.c:65
 msgid "git remote prune [<options>] <name>"
 msgstr "git remote prune [<options>] <nom>"
 
-#: builtin/remote.c:69
+#: builtin/remote.c:70
 msgid "git remote update [<options>] [<group> | <remote>]..."
 msgstr "git remote update [<options>] [<groupe> | <distante>]..."
 
-#: builtin/remote.c:98
+#: builtin/remote.c:99
 #, c-format
 msgid "Updating %s"
 msgstr "Mise à jour de %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"
@@ -18210,88 +19259,104 @@ msgstr ""
 "--mirror est dangereux et obsolète ; merci\n"
 "\t d'utiliser --mirror=fetch ou --mirror=push à la place"
 
-#: builtin/remote.c:147
+#: builtin/remote.c:148
 #, c-format
 msgid "unknown mirror argument: %s"
 msgstr "argument miroir inconnu : %s"
 
-#: builtin/remote.c:163
+#: builtin/remote.c:164
 msgid "fetch the remote branches"
 msgstr "rapatrier les branches distantes"
 
-#: builtin/remote.c:165
+#: builtin/remote.c:166
 msgid "import all tags and associated objects when fetching"
 msgstr ""
 "importer toutes les étiquettes et les objets associés lors du rapatriement"
 
-#: builtin/remote.c:168
+#: builtin/remote.c:169
 msgid "or do not fetch any tag at all (--no-tags)"
 msgstr "ou ne rapatrier aucune étiquette (--no-tags)"
 
-#: builtin/remote.c:170
+#: builtin/remote.c:171
 msgid "branch(es) to track"
 msgstr "branche(s) à suivre"
 
-#: builtin/remote.c:171
+#: builtin/remote.c:172
 msgid "master branch"
 msgstr "branche maîtresse"
 
-#: builtin/remote.c:173
+#: builtin/remote.c:174
 msgid "set up remote as a mirror to push to or fetch from"
 msgstr ""
 "paramétrer la distante comme miroir pour pousser ou pour rapatrier depuis"
 
-#: builtin/remote.c:185
+#: builtin/remote.c:186
 msgid "specifying a master branch makes no sense with --mirror"
 msgstr "spécifier une branche maîtresse n'a pas de sens avec --mirror"
 
-#: builtin/remote.c:187
+#: builtin/remote.c:188
 msgid "specifying branches to track makes sense only with fetch mirrors"
 msgstr ""
 "spécifier les branches à suivre n'a de sens qu'avec des miroirs de "
 "rapatriement"
 
-#: builtin/remote.c:194 builtin/remote.c:636
+#: builtin/remote.c:195 builtin/remote.c:696
 #, c-format
 msgid "remote %s already exists."
 msgstr "la distante %s existe déjà."
 
-#: 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' n'est pas un nom valide de distante"
 
-#: builtin/remote.c:238
+#: builtin/remote.c:239
 #, c-format
 msgid "Could not setup master '%s'"
 msgstr "Impossible de paramétrer la maîtresse '%s'"
 
-#: builtin/remote.c:344
+#: builtin/remote.c:354
 #, c-format
 msgid "Could not get fetch map for refspec %s"
 msgstr ""
 "Impossible d'obtenir une correspondance distante pour la spécification de "
 "référence %s"
 
-#: builtin/remote.c:443 builtin/remote.c:451
+#: builtin/remote.c:453 builtin/remote.c:461
 msgid "(matching)"
 msgstr "(correspond)"
 
-#: builtin/remote.c:455
+#: builtin/remote.c:465
 msgid "(delete)"
 msgstr "(supprimer)"
 
-#: builtin/remote.c:629 builtin/remote.c:765 builtin/remote.c:864
+#: builtin/remote.c:653
+#, c-format
+msgid "could not set '%s'"
+msgstr "impossible d'assigner '%s'"
+
+#: 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 ""
+"La configuration %s remote.pushDefault dans :\n"
+"\t%s%d\n"
+"nomme à présent le distant inexistant '%s'"
+
+#: builtin/remote.c:689 builtin/remote.c:832 builtin/remote.c:940
 #, c-format
 msgid "No such remote: '%s'"
 msgstr "Pas de serveur remote : '%s'"
 
-#: builtin/remote.c:646
+#: builtin/remote.c:706
 #, c-format
 msgid "Could not rename config section '%s' to '%s'"
 msgstr "Impossible de renommer la section de configuration '%s' en '%s'"
 
-#: builtin/remote.c:666
+#: builtin/remote.c:726
 #, c-format
 msgid ""
 "Not updating non-default fetch refspec\n"
@@ -18302,17 +19367,17 @@ msgstr ""
 "\t%s\n"
 "\tVeuillez mettre à jour la configuration manuellement si nécessaire."
 
-#: builtin/remote.c:702
+#: builtin/remote.c:766
 #, c-format
 msgid "deleting '%s' failed"
 msgstr "échec de suppression de '%s'"
 
-#: builtin/remote.c:736
+#: builtin/remote.c:800
 #, c-format
 msgid "creating '%s' failed"
 msgstr "échec de création de '%s'"
 
-#: 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:"
@@ -18327,118 +19392,118 @@ msgstr[1] ""
 "supprimées ;\n"
 "pour les supprimer, utilisez :"
 
-#: builtin/remote.c:816
+#: builtin/remote.c:890
 #, c-format
 msgid "Could not remove config section '%s'"
 msgstr "Impossible de supprimer la section de configuration '%s'"
 
-#: builtin/remote.c:917
+#: builtin/remote.c:993
 #, c-format
 msgid " new (next fetch will store in remotes/%s)"
 msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)"
 
-#: builtin/remote.c:920
+#: builtin/remote.c:996
 msgid " tracked"
 msgstr " suivi"
 
-#: builtin/remote.c:922
+#: builtin/remote.c:998
 msgid " stale (use 'git remote prune' to remove)"
 msgstr " dépassé (utilisez 'git remote prune' pour supprimer)"
 
-#: 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 "branch.%s.merge invalide ; ne peut pas rebaser sur plus d'une branche"
 
-#: builtin/remote.c:974
+#: builtin/remote.c:1050
 #, c-format
 msgid "rebases interactively onto remote %s"
 msgstr "rebase de manière interactive sur la distante %s"
 
-#: builtin/remote.c:976
+#: builtin/remote.c:1052
 #, c-format
 msgid "rebases interactively (with merges) onto remote %s"
 msgstr "rebase de manière interactive (avec fusions) sur la distante %s"
 
-#: builtin/remote.c:979
+#: builtin/remote.c:1055
 #, c-format
 msgid "rebases onto remote %s"
 msgstr "rebase sur la distante %s"
 
-#: builtin/remote.c:983
+#: builtin/remote.c:1059
 #, c-format
 msgid " merges with remote %s"
 msgstr " fusionne avec la distante %s"
 
-#: builtin/remote.c:986
+#: builtin/remote.c:1062
 #, c-format
 msgid "merges with remote %s"
 msgstr "fusionne avec la distante %s"
 
-#: builtin/remote.c:989
+#: builtin/remote.c:1065
 #, c-format
 msgid "%-*s    and with remote %s\n"
 msgstr "%-*s    et avec la distante %s\n"
 
-#: builtin/remote.c:1032
+#: builtin/remote.c:1108
 msgid "create"
 msgstr "créer"
 
-#: builtin/remote.c:1035
+#: builtin/remote.c:1111
 msgid "delete"
 msgstr "supprimer"
 
-#: builtin/remote.c:1039
+#: builtin/remote.c:1115
 msgid "up to date"
 msgstr "à jour"
 
-#: builtin/remote.c:1042
+#: builtin/remote.c:1118
 msgid "fast-forwardable"
 msgstr "peut être mis à jour en avance rapide"
 
-#: builtin/remote.c:1045
+#: builtin/remote.c:1121
 msgid "local out of date"
 msgstr "le local n'est pas à jour"
 
-#: builtin/remote.c:1052
+#: builtin/remote.c:1128
 #, c-format
 msgid "    %-*s forces to %-*s (%s)"
 msgstr "    %-*s force vers %-*s (%s)"
 
-#: builtin/remote.c:1055
+#: builtin/remote.c:1131
 #, c-format
 msgid "    %-*s pushes to %-*s (%s)"
 msgstr "    %-*s pousse vers %-*s (%s)"
 
-#: builtin/remote.c:1059
+#: builtin/remote.c:1135
 #, c-format
 msgid "    %-*s forces to %s"
 msgstr "    %-*s force vers %s"
 
-#: builtin/remote.c:1062
+#: builtin/remote.c:1138
 #, c-format
 msgid "    %-*s pushes to %s"
 msgstr "    %-*s pousse vers %s"
 
-#: builtin/remote.c:1130
+#: builtin/remote.c:1206
 msgid "do not query remotes"
 msgstr "ne pas interroger les distantes"
 
-#: builtin/remote.c:1157
+#: builtin/remote.c:1233
 #, c-format
 msgid "* remote %s"
 msgstr "* distante %s"
 
-#: builtin/remote.c:1158
+#: builtin/remote.c:1234
 #, c-format
 msgid "  Fetch URL: %s"
 msgstr "  URL de rapatriement : %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 "(pas d'URL)"
 
@@ -18446,25 +19511,25 @@ msgstr "(pas d'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 push : %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 "  Branche HEAD : %s"
 
-#: builtin/remote.c:1177
+#: builtin/remote.c:1253
 msgid "(not queried)"
 msgstr "(non demandé)"
 
-#: builtin/remote.c:1179
+#: builtin/remote.c:1255
 msgid "(unknown)"
 msgstr "(inconnu)"
 
-#: builtin/remote.c:1183
+#: builtin/remote.c:1259
 #, c-format
 msgid ""
 "  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -18472,171 +19537,162 @@ msgstr ""
 "  Branche HEAD (la HEAD distante est ambiguë, peut être l'une des "
 "suivantes) :\n"
 
-#: builtin/remote.c:1195
+#: builtin/remote.c:1271
 #, c-format
 msgid "  Remote branch:%s"
 msgid_plural "  Remote branches:%s"
 msgstr[0] "  Branche distante :%s"
 msgstr[1] "  Branches distantes :%s"
 
-#: builtin/remote.c:1198 builtin/remote.c:1224
+#: builtin/remote.c:1274 builtin/remote.c:1300
 msgid " (status not queried)"
 msgstr " (état non demandé)"
 
-#: 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] "  Branche locale configurée pour 'git pull' :"
 msgstr[1] "  Branches locales configurées pour 'git pull' :"
 
-#: builtin/remote.c:1215
+#: builtin/remote.c:1291
 msgid "  Local refs will be mirrored by 'git push'"
 msgstr "  Les références locales seront reflétées par 'git push'"
 
-#: 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] "  Référence locale configurée pour 'git push'%s :"
 msgstr[1] "  Références locales configurées pour 'git push'%s :"
 
-#: builtin/remote.c:1242
+#: builtin/remote.c:1318
 msgid "set refs/remotes/<name>/HEAD according to remote"
 msgstr "définir refs/remotes/<nom>/HEAD selon la distante"
 
-#: builtin/remote.c:1244
+#: builtin/remote.c:1320
 msgid "delete refs/remotes/<name>/HEAD"
 msgstr "supprimer refs/remotes/<nom>/HEAD"
 
-#: builtin/remote.c:1259
+#: builtin/remote.c:1335
 msgid "Cannot determine remote HEAD"
 msgstr "Impossible de déterminer la HEAD distante"
 
-#: builtin/remote.c:1261
+#: builtin/remote.c:1337
 msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
 msgstr ""
 "Il y a de multiples branches HEAD distantes. Veuillez en choisir une "
 "explicitement avec :"
 
-#: builtin/remote.c:1271
+#: builtin/remote.c:1347
 #, c-format
 msgid "Could not delete %s"
 msgstr "Impossible de supprimer %s"
 
-#: builtin/remote.c:1279
+#: builtin/remote.c:1355
 #, c-format
 msgid "Not a valid ref: %s"
 msgstr "Référence non valide : %s"
 
-#: builtin/remote.c:1281
+#: builtin/remote.c:1357
 #, c-format
 msgid "Could not setup %s"
 msgstr "Impossible de paramétrer %s"
 
-#: builtin/remote.c:1299
+#: builtin/remote.c:1375
 #, c-format
 msgid " %s will become dangling!"
 msgstr " %s se retrouvera en suspens !"
 
-#: builtin/remote.c:1300
+#: builtin/remote.c:1376
 #, c-format
 msgid " %s has become dangling!"
 msgstr " %s se retrouve en suspens !"
 
-#: builtin/remote.c:1310
+#: builtin/remote.c:1386
 #, c-format
 msgid "Pruning %s"
 msgstr "Élimination de %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 " * [serait éliminé] %s"
 
-#: builtin/remote.c:1330
+#: builtin/remote.c:1406
 #, c-format
 msgid " * [pruned] %s"
 msgstr " * [éliminé] %s"
 
-#: builtin/remote.c:1375
+#: builtin/remote.c:1451
 msgid "prune remotes after fetching"
 msgstr "éliminer les distants après le rapatriement"
 
-#: 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 "Pas de serveur remote '%s'"
 
-#: builtin/remote.c:1454
+#: builtin/remote.c:1530
 msgid "add branch"
 msgstr "ajouter une branche"
 
-#: builtin/remote.c:1461
+#: builtin/remote.c:1537
 msgid "no remote specified"
 msgstr "pas de serveur distant spécifié"
 
-#: builtin/remote.c:1478
+#: builtin/remote.c:1554
 msgid "query push URLs rather than fetch URLs"
 msgstr "interroger les URLs de poussée plutôt que les URLs de récupération"
 
-#: builtin/remote.c:1480
+#: builtin/remote.c:1556
 msgid "return all URLs"
 msgstr "retourner toutes les URLs"
 
-#: builtin/remote.c:1508
+#: builtin/remote.c:1584
 #, c-format
 msgid "no URLs configured for remote '%s'"
 msgstr "aucune URL configurée pour le dépôt distant '%s'"
 
-#: builtin/remote.c:1534
+#: builtin/remote.c:1610
 msgid "manipulate push URLs"
 msgstr "manipuler les URLs push"
 
-#: builtin/remote.c:1536
+#: builtin/remote.c:1612
 msgid "add URL"
 msgstr "ajouter une URL"
 
-#: builtin/remote.c:1538
+#: builtin/remote.c:1614
 msgid "delete URLs"
 msgstr "supprimer des URLs"
 
-#: builtin/remote.c:1545
+#: builtin/remote.c:1621
 msgid "--add --delete doesn't make sense"
 msgstr "--add --delete n'a aucun sens"
 
-#: builtin/remote.c:1584
+#: builtin/remote.c:1660
 #, c-format
 msgid "Invalid old URL pattern: %s"
 msgstr "Motif d'URL ancien invalide : %s"
 
-#: builtin/remote.c:1592
+#: builtin/remote.c:1668
 #, c-format
 msgid "No such URL found: %s"
 msgstr "Pas d'URL trouvée : %s"
 
-#: builtin/remote.c:1594
+#: builtin/remote.c:1670
 msgid "Will not delete all non-push URLs"
 msgstr "Pas de suppression de toutes les URLs non-push"
 
-#: builtin/remote.c:1610
-msgid "be verbose; must be placed before a subcommand"
-msgstr "être verbeux : doit être placé avant une sous-commande"
-
-#: builtin/remote.c:1641
-#, c-format
-msgid "Unknown subcommand: %s"
-msgstr "Sous-commande inconnue : %s"
-
-#: builtin/repack.c:22
+#: builtin/repack.c:23
 msgid "git repack [<options>]"
 msgstr "git repack [<options>]"
 
-#: 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."
@@ -18645,117 +19701,117 @@ msgstr ""
 "Utilisez\n"
 "--no-write-bitmap-index ou désactivez le paramètre pack.writebitmaps."
 
-#: builtin/repack.c:190
+#: builtin/repack.c:191
 msgid "could not start pack-objects to repack promisor objects"
 msgstr ""
 "ne pas démarrer pack-objects pour ré-empaqueter les objects de prometteur"
 
-#: 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 : attente de lignes d'Id d'objets en hexa complet seulement depuis "
 "les objects de paquet."
 
-#: builtin/repack.c:246
+#: builtin/repack.c:254
 msgid "could not finish pack-objects to repack promisor objects"
 msgstr ""
 "impossible de terminer pack-objects  pour ré-empaqueter les objets de "
 "prometteur"
 
-#: builtin/repack.c:284
+#: builtin/repack.c:292
 msgid "pack everything in a single pack"
 msgstr "empaqueter tout dans un seul paquet"
 
-#: builtin/repack.c:286
+#: builtin/repack.c:294
 msgid "same as -a, and turn unreachable objects loose"
 msgstr "identique à -a et transformer les objets inaccessibles en suspens"
 
-#: builtin/repack.c:289
+#: builtin/repack.c:297
 msgid "remove redundant packs, and run git-prune-packed"
 msgstr "supprimer les paquets redondants et lancer git-prune-packed"
 
-#: builtin/repack.c:291
+#: builtin/repack.c:299
 msgid "pass --no-reuse-delta to git-pack-objects"
 msgstr "passer --no-reuse-delta à git-pack-objects"
 
-#: builtin/repack.c:293
+#: builtin/repack.c:301
 msgid "pass --no-reuse-object to git-pack-objects"
 msgstr "passer --no-reuse-object à git-pack-objects"
 
-#: builtin/repack.c:295
+#: builtin/repack.c:303
 msgid "do not run git-update-server-info"
 msgstr "ne pas lancer git update-server-info"
 
-#: builtin/repack.c:298
+#: builtin/repack.c:306
 msgid "pass --local to git-pack-objects"
 msgstr "passer --local à git-pack-objects"
 
-#: builtin/repack.c:300
+#: builtin/repack.c:308
 msgid "write bitmap index"
 msgstr "écrire un index en bitmap"
 
-#: builtin/repack.c:302
+#: builtin/repack.c:310
 msgid "pass --delta-islands to git-pack-objects"
 msgstr "passer --delta-islands à git-pack-objects"
 
-#: builtin/repack.c:303
+#: builtin/repack.c:311
 msgid "approxidate"
 msgstr "date approximative"
 
-#: builtin/repack.c:304
+#: builtin/repack.c:312
 msgid "with -A, do not loosen objects older than this"
 msgstr "avec -A, ne pas suspendre les objets plus vieux que celui-ci"
 
-#: builtin/repack.c:306
+#: builtin/repack.c:314
 msgid "with -a, repack unreachable objects"
 msgstr "avec -a, repaquétiser les objets inaccessibles"
 
-#: builtin/repack.c:308
+#: builtin/repack.c:316
 msgid "size of the window used for delta compression"
 msgstr "taille de la fenêtre utilisée pour la compression des deltas"
 
-#: builtin/repack.c:309 builtin/repack.c:315
+#: builtin/repack.c:317 builtin/repack.c:323
 msgid "bytes"
 msgstr "octets"
 
-#: builtin/repack.c:310
+#: builtin/repack.c:318
 msgid "same as the above, but limit memory size instead of entries count"
 msgstr ""
 "idem ci-dessus, mais limiter la taille mémoire au lieu du nombre d'éléments"
 
-#: builtin/repack.c:312
+#: builtin/repack.c:320
 msgid "limits the maximum delta depth"
 msgstr "limite la profondeur maximale des deltas"
 
-#: builtin/repack.c:314
+#: builtin/repack.c:322
 msgid "limits the maximum number of threads"
 msgstr "limite le nombre maximal de fils"
 
-#: builtin/repack.c:316
+#: builtin/repack.c:324
 msgid "maximum size of each packfile"
 msgstr "taille maximum de chaque fichier paquet"
 
-#: builtin/repack.c:318
+#: builtin/repack.c:326
 msgid "repack objects in packs marked with .keep"
 msgstr "réempaqueter les objets dans des paquets marqués avec .keep"
 
-#: builtin/repack.c:320
+#: builtin/repack.c:328
 msgid "do not repack this pack"
 msgstr "ne pas rempaqueter ce paquet"
 
-#: builtin/repack.c:330
+#: builtin/repack.c:338
 msgid "cannot delete packs in a precious-objects repo"
 msgstr "impossible de supprimer les paquets dans un dépôt d'objets précieux"
 
-#: builtin/repack.c:334
+#: builtin/repack.c:342
 msgid "--keep-unreachable and -A are incompatible"
 msgstr "--keep-unreachable et -A sont incompatibles"
 
-#: builtin/repack.c:417
+#: builtin/repack.c:425
 msgid "Nothing new to pack."
 msgstr "Rien de neuf à empaqueter."
 
-#: builtin/repack.c:478
+#: builtin/repack.c:486
 #, c-format
 msgid ""
 "WARNING: Some packs in use have been renamed by\n"
@@ -18774,7 +19830,7 @@ msgstr ""
 "ALERTE : aussi échoué.\n"
 "ALERTE : Veuillez les renommer manuellement dans %s :\n"
 
-#: builtin/repack.c:526
+#: builtin/repack.c:534
 #, c-format
 msgid "failed to remove '%s'"
 msgstr "échec de la suppression de '%s'"
@@ -18882,8 +19938,8 @@ msgstr "fstat de %s impossible"
 msgid "unable to write object to database"
 msgstr "impossible d'écrire l'objet dans la base de données"
 
-#: 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 "nom d'objet invalide : '%s'"
@@ -18902,22 +19958,22 @@ msgstr "échec de l'édition du fichier d'objet"
 msgid "new object is the same as the old one: '%s'"
 msgstr "le nouvel objet est identique à l'ancien : '%s'"
 
-#: builtin/replace.c:383
+#: builtin/replace.c:384
 #, c-format
 msgid "could not parse %s as a commit"
 msgstr "impossible d'analyser %s comme commit"
 
-#: builtin/replace.c:414
+#: builtin/replace.c:416
 #, c-format
 msgid "bad mergetag in commit '%s'"
 msgstr "mauvaise étiquette de fusion dans le commit '%s'"
 
-#: builtin/replace.c:416
+#: builtin/replace.c:418
 #, c-format
 msgid "malformed mergetag in commit '%s'"
 msgstr "étiquette de fusion malformée dans le commit '%s'"
 
-#: builtin/replace.c:428
+#: builtin/replace.c:430
 #, c-format
 msgid ""
 "original commit '%s' contains mergetag '%s' that is discarded; use --edit "
@@ -18926,31 +19982,31 @@ msgstr ""
 "le commit original '%s' contient l'étiquette de fusion '%s' qui a disparu ; "
 "utilisez --edit au lieu de --graft"
 
-#: builtin/replace.c:467
+#: builtin/replace.c:469
 #, c-format
 msgid "the original commit '%s' has a gpg signature"
 msgstr "le commit original '%s' contient une signature GPG"
 
-#: builtin/replace.c:468
+#: builtin/replace.c:470
 msgid "the signature will be removed in the replacement commit!"
 msgstr "la signature sera éliminée dans la validation de remplacement !"
 
-#: builtin/replace.c:478
+#: builtin/replace.c:480
 #, c-format
 msgid "could not write replacement commit for: '%s'"
 msgstr "Impossible d'écrire le commit de remplacement pour '%s'"
 
-#: builtin/replace.c:486
+#: builtin/replace.c:488
 #, c-format
 msgid "graft for '%s' unnecessary"
 msgstr "graft pour '%s' non nécessaire"
 
-#: builtin/replace.c:490
+#: builtin/replace.c:492
 #, c-format
 msgid "new commit is the same as the old one: '%s'"
 msgstr "le nouveau commit est identique à l'ancien : '%s'"
 
-#: builtin/replace.c:525
+#: builtin/replace.c:527
 #, c-format
 msgid ""
 "could not convert the following graft(s):\n"
@@ -18959,71 +20015,71 @@ msgstr ""
 "impossible de convertir la(les) greffe(s) suivante(s) :\n"
 "%s"
 
-#: builtin/replace.c:546
+#: builtin/replace.c:548
 msgid "list replace refs"
 msgstr "afficher les références de remplacement"
 
-#: builtin/replace.c:547
+#: builtin/replace.c:549
 msgid "delete replace refs"
 msgstr "supprimer les références de remplacement"
 
-#: builtin/replace.c:548
+#: builtin/replace.c:550
 msgid "edit existing object"
 msgstr "éditer l'objet existant"
 
-#: builtin/replace.c:549
+#: builtin/replace.c:551
 msgid "change a commit's parents"
 msgstr "Modifier les parents d'un commit"
 
-#: builtin/replace.c:550
+#: builtin/replace.c:552
 msgid "convert existing graft file"
 msgstr "convertir le fichier de greffe existant"
 
-#: builtin/replace.c:551
+#: builtin/replace.c:553
 msgid "replace the ref if it exists"
 msgstr "remplacer la référence si elle existe"
 
-#: builtin/replace.c:553
+#: builtin/replace.c:555
 msgid "do not pretty-print contents for --edit"
 msgstr "afficher sans mise en forme pour --edit"
 
-#: builtin/replace.c:554
+#: builtin/replace.c:556
 msgid "use this format"
 msgstr "utiliser ce format"
 
-#: builtin/replace.c:567
+#: builtin/replace.c:569
 msgid "--format cannot be used when not listing"
 msgstr "--format ne peut pas être utilisé sans lister"
 
-#: builtin/replace.c:575
+#: builtin/replace.c:577
 msgid "-f only makes sense when writing a replacement"
 msgstr "-f n'a de sens qu'en écrivant un remplacement"
 
-#: builtin/replace.c:579
+#: builtin/replace.c:581
 msgid "--raw only makes sense with --edit"
 msgstr "--raw n'a de sens qu'avec l'option --edit"
 
-#: builtin/replace.c:585
+#: builtin/replace.c:587
 msgid "-d needs at least one argument"
 msgstr "-d requiert au moins un argument"
 
-#: builtin/replace.c:591
+#: builtin/replace.c:593
 msgid "bad number of arguments"
 msgstr "mauvais nombre d'arguments"
 
-#: builtin/replace.c:597
+#: builtin/replace.c:599
 msgid "-e needs exactly one argument"
 msgstr "-e requiert un seul argument"
 
-#: builtin/replace.c:603
+#: builtin/replace.c:605
 msgid "-g needs at least one argument"
 msgstr "-g requiert au moins un argument"
 
-#: builtin/replace.c:609
+#: builtin/replace.c:611
 msgid "--convert-graft-file takes no argument"
 msgstr "--convert-graft-file ne supporte aucun argument"
 
-#: builtin/replace.c:615
+#: builtin/replace.c:617
 msgid "only one pattern can be given with -l"
 msgstr "-l n'accepte qu'un motifs"
 
@@ -19052,117 +20108,129 @@ 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] [<arbre ou apparenté>] [--] <chemins>..."
+msgid "git reset [-q] [<tree-ish>] [--] <pathspec>..."
+msgstr ""
+"git reset [-q] [<arbre ou apparenté>] [--] <spécificateur-de-chemin>..."
 
 #: builtin/reset.c:34
-msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
-msgstr "git reset --patch [<arbre ou apparenté>] [--] [<chemins>...]"
+msgid ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]"
+msgstr ""
+"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<arbre-esque>]"
 
-#: builtin/reset.c:40
+#: builtin/reset.c:35
+msgid "git reset --patch [<tree-ish>] [--] [<pathspec>...]"
+msgstr "git reset --patch [<arbre-esque>] [--] [<spéc.-de-chemin>...]"
+
+#: 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 "merge"
 
-#: 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 "Vous n'avez pas une HEAD valide."
 
-#: builtin/reset.c:83
+#: builtin/reset.c:84
 msgid "Failed to find tree of HEAD."
 msgstr "Impossible de trouver l'arbre pour HEAD."
 
-#: builtin/reset.c:89
+#: builtin/reset.c:90
 #, c-format
 msgid "Failed to find tree of %s."
 msgstr "Impossible de trouver l'arbre pour %s."
 
-#: builtin/reset.c:193
+#: builtin/reset.c:115
+#, c-format
+msgid "HEAD is now at %s"
+msgstr "HEAD est maintenant à %s"
+
+#: builtin/reset.c:194
 #, c-format
 msgid "Cannot do a %s reset in the middle of a merge."
 msgstr "Impossible de faire un \"reset %s\" au milieu d'une fusion."
 
-#: 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 "être silencieux, afficher seulement les erreurs"
 
-#: builtin/reset.c:295
+#: builtin/reset.c:296
 msgid "reset HEAD and index"
 msgstr "réinitialiser HEAD et l'index"
 
-#: builtin/reset.c:296
+#: builtin/reset.c:297
 msgid "reset only HEAD"
 msgstr "réinitialiser seulement HEAD"
 
-#: builtin/reset.c:298 builtin/reset.c:300
+#: builtin/reset.c:299 builtin/reset.c:301
 msgid "reset HEAD, index and working tree"
 msgstr "réinitialiser HEAD, l'index et la copie de travail"
 
-#: builtin/reset.c:302
+#: builtin/reset.c:303
 msgid "reset HEAD but keep local changes"
 msgstr "réinitialiser HEAD mais garder les changements locaux"
 
-#: builtin/reset.c:308
+#: builtin/reset.c:309
 msgid "record only the fact that removed paths will be added later"
 msgstr ""
 "enregistrer seulement le fait que les chemins effacés seront ajoutés plus "
 "tard"
 
-#: builtin/reset.c:326
+#: builtin/reset.c:343
 #, c-format
 msgid "Failed to resolve '%s' as a valid revision."
 msgstr "Échec de résolution de '%s' comme une révision valide."
 
-#: builtin/reset.c:334
+#: builtin/reset.c:351
 #, c-format
 msgid "Failed to resolve '%s' as a valid tree."
 msgstr "Échec de résolution de '%s' comme un arbre valide."
 
-#: builtin/reset.c:343
+#: builtin/reset.c:360
 msgid "--patch is incompatible with --{hard,mixed,soft}"
 msgstr "--patch est incompatible avec --{hard,mixed,soft}"
 
-#: builtin/reset.c:353
+#: builtin/reset.c:370
 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
 msgstr ""
 "--mixed avec des chemins est obsolète ; utilisez 'git reset -- <paths>' à la "
 "place."
 
-#: builtin/reset.c:355
+#: builtin/reset.c:372
 #, c-format
 msgid "Cannot do %s reset with paths."
 msgstr "Impossible de faire un \"%s reset\" avec des chemins."
 
-#: builtin/reset.c:370
+#: builtin/reset.c:387
 #, c-format
 msgid "%s reset is not allowed in a bare repository"
 msgstr "Le \"%s reset\" n'est pas permis dans un dépôt nu"
 
-#: builtin/reset.c:374
+#: builtin/reset.c:391
 msgid "-N can only be used with --mixed"
 msgstr "-N ne peut être utilisé qu'avec --mixed"
 
-#: builtin/reset.c:395
+#: builtin/reset.c:412
 msgid "Unstaged changes after reset:"
 msgstr "Modifications non indexées après reset :"
 
-#: builtin/reset.c:398
+#: builtin/reset.c:415
 #, c-format
 msgid ""
 "\n"
@@ -19177,35 +20245,30 @@ msgstr ""
 "de\n"
 "config reset.quiet à true pour avoir ce comportement en permanence.\n"
 
-#: builtin/reset.c:408
+#: builtin/reset.c:425
 #, c-format
 msgid "Could not reset index file to revision '%s'."
 msgstr "Impossible de réinitialiser le fichier d'index à la révision '%s'."
 
-#: builtin/reset.c:412
+#: builtin/reset.c:429
 msgid "Could not write new index file."
 msgstr "Impossible d'écrire le nouveau fichier d'index."
 
-#: builtin/rev-list.c:412
+#: builtin/rev-list.c:499
 msgid "cannot combine --exclude-promisor-objects and --missing"
 msgstr "impossible de combiner --exclude-promisor-objects et --missing"
 
-#: builtin/rev-list.c:473
+#: builtin/rev-list.c:560
 msgid "object filtering requires --objects"
 msgstr "le filtrage d'objet exige --objects"
 
-#: builtin/rev-list.c:476
-#, c-format
-msgid "invalid sparse value '%s'"
-msgstr "valeur invalide de 'sparse' '%s'"
-
-#: builtin/rev-list.c:527
+#: builtin/rev-list.c:610
 msgid "rev-list does not support display of notes"
 msgstr "rev-list ne supporte l'affichage des notes"
 
-#: builtin/rev-list.c:530
-msgid "cannot combine --use-bitmap-index with object filtering"
-msgstr "impossible de combiner --use-bitmap-index avec le filtrage d'objet"
+#: builtin/rev-list.c:615
+msgid "marked counting is incompatible with --objects"
+msgstr "le comptage marqué est incompatible avec --objects"
 
 #: builtin/rev-parse.c:408
 msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
@@ -19370,38 +20433,42 @@ msgid_plural "the following files have local modifications:"
 msgstr[0] "le fichier suivant a des modifications locales :"
 msgstr[1] "les fichiers suivants ont des modifications locales :"
 
-#: builtin/rm.c:242
+#: builtin/rm.c:243
 msgid "do not list removed files"
 msgstr "ne pas afficher les fichiers supprimés"
 
-#: builtin/rm.c:243
+#: builtin/rm.c:244
 msgid "only remove from the index"
 msgstr "supprimer seulement de l'index"
 
-#: builtin/rm.c:244
+#: builtin/rm.c:245
 msgid "override the up-to-date check"
 msgstr "outrepasser la vérification des fichiers à jour"
 
-#: builtin/rm.c:245
+#: builtin/rm.c:246
 msgid "allow recursive removal"
 msgstr "autoriser la suppression récursive"
 
-#: builtin/rm.c:247
+#: builtin/rm.c:248
 msgid "exit with a zero status even if nothing matched"
 msgstr "sortir avec un état zéro même si rien ne correspondait"
 
-#: builtin/rm.c:289
+#: builtin/rm.c:282
+msgid "No pathspec was given. Which files should I remove?"
+msgstr "Aucun spécificateur de chemin fourni. Quel fichier doit être supprimé ?"
+
+#: builtin/rm.c:305
 msgid "please stage your changes to .gitmodules or stash them to proceed"
 msgstr ""
 "veuillez indexer vos modifications de .gitmodules ou les remiser pour "
 "continuer"
 
-#: builtin/rm.c:307
+#: builtin/rm.c:323
 #, c-format
 msgid "not removing '%s' recursively without -r"
 msgstr "pas de suppression récursive de '%s' sans -r"
 
-#: builtin/rm.c:346
+#: builtin/rm.c:362
 #, c-format
 msgid "git rm: unable to remove %s"
 msgstr "git rm : impossible de supprimer %s"
@@ -19660,15 +20727,85 @@ msgstr ""
 "afficher les références de l'entrée standard qui ne sont pas dans le dépôt "
 "local"
 
-#: 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) <options>"
+
+#: builtin/sparse-checkout.c:64
+msgid "this worktree is not sparse (sparse-checkout file may not exist)"
+msgstr ""
+"cet arbre de travail n'est pas partiel (le fichier sparse-checkout pourrait "
+"ne pas exister)"
+
+#: builtin/sparse-checkout.c:225
+msgid "failed to create directory for sparse-checkout file"
+msgstr ""
+"échec de la création du répertoire pour le fichier d'extraction partielle"
+
+#: builtin/sparse-checkout.c:266
+msgid "failed to set extensions.worktreeConfig setting"
+msgstr "échec de paramétrage extensions.worktreeConfig"
+
+#: 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 "initialiser l'extraction partielle en mode cone"
+
+#: builtin/sparse-checkout.c:308
+msgid "initialize sparse-checkout"
+msgstr "initialiser l'extraction partielle"
+
+#: builtin/sparse-checkout.c:341
+#, c-format
+msgid "failed to open '%s'"
+msgstr "échec à l'ouverture de '%s'"
+
+#: builtin/sparse-checkout.c:398
+#, c-format
+msgid "could not normalize path %s"
+msgstr "impossible de normaliser le chemin '%s'"
+
+#: builtin/sparse-checkout.c:410
+msgid "git sparse-checkout (set|add) (--stdin | <patterns>)"
+msgstr "git sparse-checkout (set|add) (--stdin | <motifs>)"
+
+#: builtin/sparse-checkout.c:435
+#, c-format
+msgid "unable to unquote C-style string '%s'"
+msgstr "Impossible de décoter la chaîne en style C '%s'"
+
+#: builtin/sparse-checkout.c:489 builtin/sparse-checkout.c:513
+msgid "unable to load existing sparse-checkout patterns"
+msgstr "impossible de charger les motifs de l'extraction partielle existants"
+
+#: builtin/sparse-checkout.c:558
+msgid "read patterns from standard in"
+msgstr "lire les motifs depuis l'entrée standard"
+
+#: builtin/sparse-checkout.c:564
+msgid "set sparse-checkout patterns"
+msgstr "indiquer les motifs de l'extraction partielle"
+
+#: builtin/sparse-checkout.c:581
+msgid "disable sparse-checkout"
+msgstr "désactiver d'extraction partielle"
+
+#: builtin/sparse-checkout.c:593
+msgid "error while refreshing working directory"
+msgstr "erreur lors du rafraîchissement du répertoire de travail"
+
+#: builtin/stash.c:22 builtin/stash.c:38
 msgid "git stash list [<options>]"
 msgstr "git stash list [<options>]"
 
-#: 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 [<options>] [<remise>]"
 
-#: 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] [<remise>]"
 
@@ -19676,25 +20813,27 @@ msgstr "git stash drop [-q|--quiet] [<remise>]"
 msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<remise>]"
 
-#: 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 <nom-de-branche> [<remise>]"
 
-#: 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 <message>]\n"
+"          [--pathspec-from-file=<fichier> [--pathspec-file-nul]]\n"
 "          [--] [<spécificateur-de-chemin>...]]"
 
-#: 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>]"
@@ -19702,188 +20841,198 @@ msgstr ""
 "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
 "          [-u|--include-untracked] [-a|--all] [<message>]"
 
-#: builtin/stash.c:52
+#: builtin/stash.c:53
 msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash pop [--index] [-q|--quiet] [<remise>]"
 
-#: builtin/stash.c:57
+#: builtin/stash.c:58
 msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
 msgstr "git stash apply [--index] [-q|--quiet] [<remise>]"
 
-#: builtin/stash.c:72
+#: builtin/stash.c:73
 msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
 msgstr "git stash store [-m|--message <message>] [-q|--quiet] <remise>"
 
-#: 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 <message>]\n"
+"          [--] [<spécificateur-de-chemin>...]]"
+
+#: builtin/stash.c:128
 #, c-format
 msgid "'%s' is not a stash-like commit"
 msgstr "'%s' n'est pas une validation de type remisage"
 
-#: builtin/stash.c:147
+#: builtin/stash.c:148
 #, c-format
 msgid "Too many revisions specified:%s"
 msgstr "Trop de révisions spécifiées : %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 "Aucune entrée de remisage trouvée."
 
-#: builtin/stash.c:175
+#: builtin/stash.c:176
 #, c-format
 msgid "%s is not a valid reference"
 msgstr "%s n'est pas une référence valide"
 
-#: 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 avec des paramètres n'est pas implémenté"
 
-#: builtin/stash.c:403
+#: builtin/stash.c:404
 msgid "cannot apply a stash in the middle of a merge"
 msgstr "impossible d'appliquer un remisage en cours de fusion"
 
-#: builtin/stash.c:414
+#: builtin/stash.c:415
 #, c-format
 msgid "could not generate diff %s^!."
 msgstr "impossible de générer %s^!."
 
-#: builtin/stash.c:421
+#: builtin/stash.c:422
 msgid "conflicts in index.Try without --index."
 msgstr "conflits dans l'index. Essayez sans --index."
 
-#: builtin/stash.c:427
+#: builtin/stash.c:428
 msgid "could not save index tree"
 msgstr "impossible de sauvegarder l'arbre d'index"
 
-#: builtin/stash.c:434
+#: builtin/stash.c:437
 msgid "could not restore untracked files from stash"
 msgstr "impossible de restaurer les fichiers non-suivis depuis le remisage"
 
-#: builtin/stash.c:448
+#: builtin/stash.c:451
 #, c-format
 msgid "Merging %s with %s"
 msgstr "Fusion de %s avec %s"
 
-#: builtin/stash.c:458 git-legacy-stash.sh:680
+#: builtin/stash.c:461 git-legacy-stash.sh:681
 msgid "Index was not unstashed."
 msgstr "L'index n'a pas été sorti de remise."
 
-#: builtin/stash.c:516 builtin/stash.c:615
+#: builtin/stash.c:522 builtin/stash.c:621
 msgid "attempt to recreate the index"
 msgstr "tentative de recréer l'index"
 
-#: builtin/stash.c:549
+#: builtin/stash.c:555
 #, c-format
 msgid "Dropped %s (%s)"
 msgstr "%s supprimé (%s)"
 
-#: builtin/stash.c:552
+#: builtin/stash.c:558
 #, c-format
 msgid "%s: Could not drop stash entry"
 msgstr "%s : Impossible de supprimer l'élément de stash"
 
-#: builtin/stash.c:577
+#: builtin/stash.c:583
 #, c-format
 msgid "'%s' is not a stash reference"
 msgstr "'%s' n'est pas une référence de remisage"
 
-#: 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 ""
 "L'entrée de remisage est conservée au cas où vous en auriez encore besoin."
 
-#: builtin/stash.c:650 git-legacy-stash.sh:712
+#: builtin/stash.c:656 git-legacy-stash.sh:713
 msgid "No branch name specified"
 msgstr "Aucune branche spécifiée"
 
-#: 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 "Impossible de mettre à jour %s avec %s"
 
-#: 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 "message pour le remisage"
 
-#: builtin/stash.c:818
+#: builtin/stash.c:824
 msgid "\"git stash store\" requires one <commit> argument"
 msgstr "\"git stash store\" exige un 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 "Aucun changement sélectionné"
 
-#: 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 "Vous n'avez pas encore la validation initiale"
 
-#: 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 "Impossible de sauver l'état courant de l'index"
 
-#: 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 "Impossible de sauver les fichiers non-suivis"
 
-#: 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 "Impossible de sauver l'état courant de la copie de travail"
 
-#: 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 "Impossible d'enregistrer l'état de la copie de travail"
 
-#: 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 ""
 "Impossible d'utiliser --patch et --include-untracked ou --all en même temps"
 
-#: builtin/stash.c:1285
+#: builtin/stash.c:1298
 msgid "Did you forget to 'git add'?"
 msgstr "Vous avez sûrement oublié 'git add' ?"
 
-#: 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 "Pas de modifications locales à sauver"
 
-#: builtin/stash.c:1307 git-legacy-stash.sh:350
+#: builtin/stash.c:1320 git-legacy-stash.sh:351
 msgid "Cannot initialize stash"
 msgstr "Impossible d'initialiser le remisage"
 
-#: 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 "Impossible de sauver l'état courant"
 
-#: builtin/stash.c:1327
+#: builtin/stash.c:1340
 #, c-format
 msgid "Saved working directory and index state %s"
 msgstr "Arbre de travail et état de l'index sauvegardés dans %s"
 
-#: builtin/stash.c:1417 git-legacy-stash.sh:384
+#: builtin/stash.c:1430 git-legacy-stash.sh:385
 msgid "Cannot remove worktree changes"
 msgstr "Impossible de supprimer les changements de la copie de travail"
 
-#: builtin/stash.c:1452 builtin/stash.c:1488
+#: builtin/stash.c:1469 builtin/stash.c:1534
 msgid "keep index"
 msgstr "conserver l'index"
 
-#: builtin/stash.c:1454 builtin/stash.c:1490
+#: builtin/stash.c:1471 builtin/stash.c:1536
 msgid "stash in patch mode"
 msgstr "remiser une mode rustine"
 
-#: builtin/stash.c:1455 builtin/stash.c:1491
+#: builtin/stash.c:1472 builtin/stash.c:1537
 msgid "quiet mode"
 msgstr "mode silencieux"
 
-#: builtin/stash.c:1457 builtin/stash.c:1493
+#: builtin/stash.c:1474 builtin/stash.c:1539
 msgid "include untracked files in stash"
 msgstr "inclure les fichiers non suivis dans la remise"
 
-#: builtin/stash.c:1459 builtin/stash.c:1495
+#: builtin/stash.c:1476 builtin/stash.c:1541
 msgid "include ignore files"
 msgstr "inclure les fichiers ignorés"
 
-#: builtin/stash.c:1555
+#: builtin/stash.c:1600
 #, c-format
 msgid "could not exec %s"
 msgstr "impossible d'exécuter %s"
@@ -19906,40 +21055,40 @@ msgstr ""
 msgid "prepend comment character and space to each line"
 msgstr "ajouter devant chaque ligne le caractère de commentaire et un espace"
 
-#: 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 "Nom de référence complet attendu, %s obtenu"
 
-#: 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 n'accepte aucun argument"
 
-#: builtin/submodule--helper.c:100
+#: builtin/submodule--helper.c:102
 #, c-format
 msgid "cannot strip one component off url '%s'"
 msgstr "impossible de supprimer un composant de l'URL '%s'"
 
-#: 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 "ancre alternative pour les chemins relatifs"
 
-#: builtin/submodule--helper.c:413
+#: builtin/submodule--helper.c:415
 msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
 msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
 
-#: 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 "URL non trouvée pour le chemin de sous-module '%s' dans .gitmodules"
 
-#: builtin/submodule--helper.c:522
+#: builtin/submodule--helper.c:524
 #, c-format
 msgid "Entering '%s'\n"
 msgstr "Entrée dans '%s'\n"
 
-#: builtin/submodule--helper.c:525
+#: builtin/submodule--helper.c:527
 #, c-format
 msgid ""
 "run_command returned non-zero status for %s\n"
@@ -19948,7 +21097,7 @@ msgstr ""
 "run_command a retourné un statut non-nul pour %s\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 "
@@ -19959,20 +21108,20 @@ msgstr ""
 "modules inclus de %s\n"
 "."
 
-#: builtin/submodule--helper.c:563
+#: builtin/submodule--helper.c:565
 msgid "Suppress output of entering each submodule command"
 msgstr ""
 "Supprimer la sortie lors de l'entrée dans chaque commande de sous-module"
 
-#: 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 "Parcourir récursivement les sous-modules"
 
-#: 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] [--] <commande>"
 
-#: 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 "
@@ -19981,60 +21130,60 @@ msgstr ""
 "impossible de trouver la configuration '%s'. Ce dépôt est considéré comme "
 "son propre amont d'autorité."
 
-#: builtin/submodule--helper.c:665
+#: builtin/submodule--helper.c:667
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:669
+#: builtin/submodule--helper.c:671
 #, c-format
 msgid "Submodule '%s' (%s) registered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:679
+#: builtin/submodule--helper.c:681
 #, c-format
 msgid "warning: command update mode suggested for submodule '%s'\n"
 msgstr ""
 "attention : nous vous suggérons de spécifier une commande de mode de mise à "
 "jour pour le sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:686
+#: builtin/submodule--helper.c:688
 #, c-format
 msgid "Failed to register update mode for submodule path '%s'"
 msgstr ""
 "Échec d'enregistrement du mode de mise à jour pour le chemin de sous-module "
 "'%s'"
 
-#: builtin/submodule--helper.c:708
+#: builtin/submodule--helper.c:710
 msgid "Suppress output for initializing a submodule"
 msgstr "Supprimer la sortie lors de l'initialisation d'un sous-module"
 
-#: builtin/submodule--helper.c:713
+#: builtin/submodule--helper.c:715
 msgid "git submodule--helper init [<options>] [<path>]"
 msgstr "git submodule--helper init [<options>] [<chemin>]"
 
-#: 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 ""
 "Pas de mise en correspondance du sous-module trouvé dans .gitmodules pour le "
 "chemin '%s'"
 
-#: builtin/submodule--helper.c:824
+#: builtin/submodule--helper.c:837
 #, c-format
 msgid "could not resolve HEAD ref inside the submodule '%s'"
 msgstr "impossible de résoudre HEAD dans le sous-module '%s'"
 
-#: 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 "récursion impossible dans le sous-module '%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 "supprimer la sortie d'état du sous-module"
 
-#: 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"
@@ -20042,48 +21191,48 @@ msgstr ""
 "Utiliser le commit stocké dans l'index au lieu de celui stocké dans la HEAD "
 "du sous-module"
 
-#: builtin/submodule--helper.c:877
+#: builtin/submodule--helper.c:890
 msgid "recurse into nested submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: 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] [<chemin>...]"
 
-#: builtin/submodule--helper.c:906
+#: builtin/submodule--helper.c:919
 msgid "git submodule--helper name <path>"
 msgstr "git submodule--helper <nom> <chemin>"
 
-#: builtin/submodule--helper.c:970
+#: builtin/submodule--helper.c:983
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Synchronisation de l'URL sous-module pour '%s'\n"
 
-#: builtin/submodule--helper.c:976
+#: builtin/submodule--helper.c:989
 #, c-format
 msgid "failed to register url for submodule path '%s'"
 msgstr "échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:990
+#: builtin/submodule--helper.c:1003
 #, c-format
 msgid "failed to get the default remote for submodule '%s'"
 msgstr "échec d'obtention du dépôt distant par défaut pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:1001
+#: builtin/submodule--helper.c:1014
 #, c-format
 msgid "failed to update remote for submodule '%s'"
 msgstr "échec de mise à jour du dépôt distant pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:1048
+#: builtin/submodule--helper.c:1061
 msgid "Suppress output of synchronizing submodule url"
 msgstr ""
 "Supprimer la sortie lors de la synchronisation de l'URL d'un sous-module"
 
-#: 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] [<chemin>]"
 
-#: 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 "
@@ -20093,7 +21242,7 @@ msgstr ""
 "'rm -rf' si vous voulez vraiment le supprimer en incluant tout son "
 "historique)"
 
-#: builtin/submodule--helper.c:1121
+#: builtin/submodule--helper.c:1134
 #, c-format
 msgid ""
 "Submodule work tree '%s' contains local modifications; use '-f' to discard "
@@ -20102,179 +21251,208 @@ msgstr ""
 "L'arbre de travail du sous-module '%s' contient des modifications locales ; "
 "utilisez '-f' pour les annuler"
 
-#: builtin/submodule--helper.c:1129
+#: builtin/submodule--helper.c:1142
 #, c-format
 msgid "Cleared directory '%s'\n"
 msgstr "Répertoire '%s' nettoyé\n"
 
-#: builtin/submodule--helper.c:1131
+#: builtin/submodule--helper.c:1144
 #, c-format
 msgid "Could not remove submodule work tree '%s'\n"
 msgstr "Impossible de supprimer l'arbre de travail du sous-module '%s'\n"
 
-#: builtin/submodule--helper.c:1142
+#: builtin/submodule--helper.c:1155
 #, c-format
 msgid "could not create empty submodule directory %s"
 msgstr "impossible de créer le répertoire vide du sous-module %s"
 
-#: builtin/submodule--helper.c:1158
+#: builtin/submodule--helper.c:1171
 #, c-format
 msgid "Submodule '%s' (%s) unregistered for path '%s'\n"
 msgstr "Sous-module '%s' (%s) non enregistré pour le chemin '%s'\n"
 
-#: builtin/submodule--helper.c:1187
+#: builtin/submodule--helper.c:1200
 msgid "Remove submodule working trees even if they contain local changes"
 msgstr ""
 "Éliminer les arbres de travail des sous-modules même s'ils contiennent des "
 "modifications locales"
 
-#: builtin/submodule--helper.c:1188
+#: builtin/submodule--helper.c:1201
 msgid "Unregister all submodules"
 msgstr "Désenregistrer tous les sous-modules"
 
-#: 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 | [--] [<chemin>...]]"
 
-#: builtin/submodule--helper.c:1207
+#: builtin/submodule--helper.c:1220
 msgid "Use '--all' if you really want to deinitialize all submodules"
 msgstr ""
 "Utilisez '--all' si vous voulez vraiment réinitialiser tous les sous-modules"
 
-#: 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 ""
+"Une alternative calculée depuis l'alternative du super-projet est invalide.\n"
+"Pour permettre à Git de cloner sans alternative dans un tel cas, réglez\n"
+"submodule.alternateErrorStrategy à 'info', ou de manière équivalente,\n"
+"clonez avec '--reference-if-able' au lieu de '--reference'."
+
+#: builtin/submodule--helper.c:1328 builtin/submodule--helper.c:1331
 #, c-format
 msgid "submodule '%s' cannot add alternate: %s"
 msgstr "le sous-module '%s' ne peut pas ajouter d'alternative : %s"
 
-#: builtin/submodule--helper.c:1341
+#: builtin/submodule--helper.c:1367
 #, c-format
 msgid "Value '%s' for submodule.alternateErrorStrategy is not recognized"
 msgstr ""
 "La valeur '%s' pour submodule.alternateErrorStrategy n'est pas reconnue"
 
-#: builtin/submodule--helper.c:1348
+#: builtin/submodule--helper.c:1374
 #, c-format
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue"
 
-#: builtin/submodule--helper.c:1371
+#: builtin/submodule--helper.c:1398
 msgid "where the new submodule will be cloned to"
 msgstr "emplacement où le sous-module sera cloné"
 
-#: builtin/submodule--helper.c:1374
+#: builtin/submodule--helper.c:1401
 msgid "name of the new submodule"
 msgstr "nom du nouveau sous-module"
 
-#: builtin/submodule--helper.c:1377
+#: builtin/submodule--helper.c:1404
 msgid "url where to clone the submodule from"
 msgstr "URL depuis laquelle cloner le sous-module"
 
-#: builtin/submodule--helper.c:1385
+#: builtin/submodule--helper.c:1412
 msgid "depth for shallow clones"
 msgstr "profondeur de l'historique des clones superficiels"
 
-#: 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 "forcer l'affichage de la progression du clonage"
 
-#: builtin/submodule--helper.c:1393
+#: builtin/submodule--helper.c:1417 builtin/submodule--helper.c:1926
+msgid "disallow cloning into non-empty directory"
+msgstr "interdire de cloner dans un répertoire non-vide"
+
+#: 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=<chemin>] [--quiet] [--reference "
-"<dépôt>] [--name <nom>] [--depth <profondeur>]  --url <url> --path <chemin>"
+"<dépôt>] [--name <nom>] [--depth <profondeur>] [--single-branch] --url <url> "
+"--path <chemin>"
 
-#: 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 ""
+"refus de créer/utiliser '%s' dans un répertoire git d'un autre sous-module"
+
+#: builtin/submodule--helper.c:1460
 #, c-format
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "Le clonage de '%s' dans le chemin de sous-module '%s' a échoué"
 
-#: builtin/submodule--helper.c:1438
+#: builtin/submodule--helper.c:1464
+#, c-format
+msgid "directory not empty: '%s'"
+msgstr "le répertoire n'est pas vide : '%s'"
+
+#: builtin/submodule--helper.c:1476
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "impossible de créer le répertoire de sous-module pour '%s'"
 
-#: builtin/submodule--helper.c:1474
+#: builtin/submodule--helper.c:1512
 #, c-format
 msgid "Invalid update mode '%s' for submodule path '%s'"
 msgstr "mode de mise à jour '%s' invalide pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:1478
+#: builtin/submodule--helper.c:1516
 #, c-format
 msgid "Invalid update mode '%s' configured for submodule path '%s'"
 msgstr ""
 "Mode de mise à jour '%s'invalide configuré pour le chemin de sous-module '%s'"
 
-#: builtin/submodule--helper.c:1571
+#: builtin/submodule--helper.c:1617
 #, c-format
 msgid "Submodule path '%s' not initialized"
 msgstr "Le chemin de sous-module '%s' n'est pas initialisé"
 
-#: builtin/submodule--helper.c:1575
+#: builtin/submodule--helper.c:1621
 msgid "Maybe you want to use 'update --init'?"
 msgstr "Vous voudriez sûrement utiliser 'update --init' ?"
 
-#: builtin/submodule--helper.c:1605
+#: builtin/submodule--helper.c:1651
 #, c-format
 msgid "Skipping unmerged submodule %s"
 msgstr "Sous-module non fusionné %s non traité"
 
-#: builtin/submodule--helper.c:1634
+#: builtin/submodule--helper.c:1680
 #, c-format
 msgid "Skipping submodule '%s'"
 msgstr "Sous-module '%s' non traité"
 
-#: builtin/submodule--helper.c:1778
+#: builtin/submodule--helper.c:1830
 #, c-format
 msgid "Failed to clone '%s'. Retry scheduled"
 msgstr "Impossible de cloner '%s'. Réessai prévu"
 
-#: builtin/submodule--helper.c:1789
+#: builtin/submodule--helper.c:1841
 #, c-format
 msgid "Failed to clone '%s' a second time, aborting"
 msgstr "Impossible de cloner '%s' pour la seconde fois, abandon"
 
-#: 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 "chemin dans la copie de travail"
 
-#: builtin/submodule--helper.c:1854
+#: builtin/submodule--helper.c:1906
 msgid "path into the working tree, across nested submodule boundaries"
 msgstr ""
 "chemin dans la copie de travail, traversant les frontières de sous-modules"
 
-#: builtin/submodule--helper.c:1858
+#: builtin/submodule--helper.c:1910
 msgid "rebase, merge, checkout or none"
 msgstr "valeurs possibles : rebase, merge, checkout ou none"
 
-#: builtin/submodule--helper.c:1864
+#: builtin/submodule--helper.c:1916
 msgid "Create a shallow clone truncated to the specified number of revisions"
 msgstr "Créer un clone superficiel tronqué au nombre de révisions spécifié"
 
-#: builtin/submodule--helper.c:1867
+#: builtin/submodule--helper.c:1919
 msgid "parallel jobs"
 msgstr "jobs parallèles"
 
-#: builtin/submodule--helper.c:1869
+#: builtin/submodule--helper.c:1921
 msgid "whether the initial clone should follow the shallow recommendation"
 msgstr "spécifie si le clonage initial doit être aussi superficiel"
 
-#: builtin/submodule--helper.c:1870
+#: builtin/submodule--helper.c:1922
 msgid "don't print cloning progress"
 msgstr "ne pas afficher la progression du clonage"
 
-#: builtin/submodule--helper.c:1877
-msgid "git submodule--helper update_clone [--prefix=<path>] [<path>...]"
-msgstr "git submodule--helper update_clone [--prefix=<chemin>] [<chemin>...]"
+#: builtin/submodule--helper.c:1933
+msgid "git submodule--helper update-clone [--prefix=<path>] [<path>...]"
+msgstr "git submodule--helper update-clone [--prefix=<chemin>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:1890
+#: builtin/submodule--helper.c:1946
 msgid "bad value for update parameter"
 msgstr "valeur invalide pour la mise à jour du paramètre"
 
-#: builtin/submodule--helper.c:1938
+#: builtin/submodule--helper.c:1994
 #, c-format
 msgid ""
 "Submodule (%s) branch configured to inherit branch from superproject, but "
@@ -20283,51 +21461,51 @@ msgstr ""
 "la branche du sous-module %s est configurée pour hériter de la branche du "
 "superprojet, mais le superprojet n'est sur aucune branche"
 
-#: builtin/submodule--helper.c:2061
+#: builtin/submodule--helper.c:2117
 #, c-format
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "impossible de trouver une poignée de dépôt pour le sous-module '%s'"
 
-#: builtin/submodule--helper.c:2094
+#: builtin/submodule--helper.c:2150
 msgid "recurse into submodules"
 msgstr "parcourir récursivement les sous-modules"
 
-#: builtin/submodule--helper.c:2100
+#: builtin/submodule--helper.c:2156
 msgid "git submodule--helper absorb-git-dirs [<options>] [<path>...]"
 msgstr "git submodule--helper embed-git-dir [<options>] [<chemin>...]"
 
-#: builtin/submodule--helper.c:2156
+#: builtin/submodule--helper.c:2212
 msgid "check if it is safe to write to the .gitmodules file"
 msgstr "vérifier si écrire dans le fichier .gitmodules est sur"
 
-#: builtin/submodule--helper.c:2159
+#: builtin/submodule--helper.c:2215
 msgid "unset the config in the .gitmodules file"
 msgstr "désactiver la configuration dans le fichier .gitmodules"
 
-#: builtin/submodule--helper.c:2164
+#: builtin/submodule--helper.c:2220
 msgid "git submodule--helper config <name> [<value>]"
 msgstr "git submodule--helper config name [<valeur>]"
 
-#: builtin/submodule--helper.c:2165
+#: builtin/submodule--helper.c:2221
 msgid "git submodule--helper config --unset <name>"
 msgstr "git submodule--helper config --unset <nom>"
 
-#: 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 ""
 "veuillez vous assurer que le fichier .gitmodules est dans l'arbre de travail"
 
-#: 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 ne gère pas --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' n'est pas une sous-commande valide de submodule--helper"
@@ -20585,214 +21763,218 @@ msgstr "l'étiquette '%s' existe déjà"
 msgid "Updated tag '%s' (was %s)\n"
 msgstr "Étiquette '%s' mise à jour (elle était sur %s)\n"
 
-#: builtin/unpack-objects.c:500
+#: builtin/unpack-objects.c:502
 msgid "Unpacking objects"
 msgstr "Dépaquetage des objets"
 
-#: builtin/update-index.c:83
+#: builtin/update-index.c:84
 #, c-format
 msgid "failed to create directory %s"
 msgstr "échec de la création du répertoire %s"
 
-#: builtin/update-index.c:99
+#: builtin/update-index.c:100
 #, c-format
 msgid "failed to create file %s"
 msgstr "échec de la création du fichier %s"
 
-#: builtin/update-index.c:107
+#: builtin/update-index.c:108
 #, c-format
 msgid "failed to delete file %s"
 msgstr "échec de la suppression du fichier %s"
 
-#: 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 "échec de la suppression du répertoire %s"
 
-#: builtin/update-index.c:139
+#: builtin/update-index.c:140
 #, c-format
 msgid "Testing mtime in '%s' "
 msgstr "Test du mtime dans '%s' "
 
-#: builtin/update-index.c:153
+#: builtin/update-index.c:154
 msgid "directory stat info does not change after adding a new file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un fichier"
 
-#: builtin/update-index.c:166
+#: builtin/update-index.c:167
 msgid "directory stat info does not change after adding a new directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après ajout d'un répertoire"
 
-#: builtin/update-index.c:179
+#: builtin/update-index.c:180
 msgid "directory stat info changes after updating a file"
 msgstr ""
 "l'information de stat du répertoire change après mise à jour d'un fichier"
 
-#: builtin/update-index.c:190
+#: builtin/update-index.c:191
 msgid "directory stat info changes after adding a file inside subdirectory"
 msgstr ""
 "l'information de stat du répertoire change après l'ajout d'un fichier dans "
 "un sous-répertoire"
 
-#: builtin/update-index.c:201
+#: builtin/update-index.c:202
 msgid "directory stat info does not change after deleting a file"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "fichier<"
 
-#: builtin/update-index.c:214
+#: builtin/update-index.c:215
 msgid "directory stat info does not change after deleting a directory"
 msgstr ""
 "l'information de stat du répertoire ne change pas après la suppression d'un "
 "répertoire"
 
-#: 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 [<options>] [--] [<fichier>...]"
 
-#: builtin/update-index.c:971
+#: builtin/update-index.c:974
 msgid "continue refresh even when index needs update"
 msgstr "continuer de rafraîchir même si l'index a besoin d'une mise à jour"
 
-#: builtin/update-index.c:974
+#: builtin/update-index.c:977
 msgid "refresh: ignore submodules"
 msgstr "rafraîchir : ignorer les sous-modules"
 
-#: builtin/update-index.c:977
+#: builtin/update-index.c:980
 msgid "do not ignore new files"
 msgstr "ne pas ignorer les nouveaux fichiers"
 
-#: builtin/update-index.c:979
+#: builtin/update-index.c:982
 msgid "let files replace directories and vice-versa"
 msgstr "laisser les fichiers remplacer des répertoires et vice-versa"
 
-#: builtin/update-index.c:981
+#: builtin/update-index.c:984
 msgid "notice files missing from worktree"
 msgstr "aviser des fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:983
+#: builtin/update-index.c:986
 msgid "refresh even if index contains unmerged entries"
 msgstr "rafraîchir même si l'index contient des éléments non fusionnés"
 
-#: builtin/update-index.c:986
+#: builtin/update-index.c:989
 msgid "refresh stat information"
 msgstr "rafraîchir l'information de stat"
 
-#: builtin/update-index.c:990
+#: builtin/update-index.c:993
 msgid "like --refresh, but ignore assume-unchanged setting"
 msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
 
-#: builtin/update-index.c:994
+#: builtin/update-index.c:997
 msgid "<mode>,<object>,<path>"
 msgstr "<mode>, <objet>, <chemin>"
 
-#: builtin/update-index.c:995
+#: builtin/update-index.c:998
 msgid "add the specified entry to the index"
 msgstr "ajouter l'élément spécifié dans l'index"
 
-#: builtin/update-index.c:1005
+#: builtin/update-index.c:1008
 msgid "mark files as \"not changing\""
 msgstr "marquer les fichiers comme \"non changeants\""
 
-#: builtin/update-index.c:1008
+#: builtin/update-index.c:1011
 msgid "clear assumed-unchanged bit"
 msgstr "mettre à zéro le bit supposé-non-modifié"
 
-#: builtin/update-index.c:1011
+#: builtin/update-index.c:1014
 msgid "mark files as \"index-only\""
 msgstr "marquer les fichiers comme \"index seulement\""
 
-#: builtin/update-index.c:1014
+#: builtin/update-index.c:1017
 msgid "clear skip-worktree bit"
 msgstr "mettre à zéro le bit sauter-la-copie-de travail"
 
-#: builtin/update-index.c:1017
+#: builtin/update-index.c:1020
+msgid "do not touch index-only entries"
+msgstr "ne pas toucher aux entrées restreintes à l'index"
+
+#: builtin/update-index.c:1022
 msgid "add to index only; do not add content to object database"
 msgstr ""
 "ajouter seulement à l'index ; ne pas ajouter le contenu dans la base de "
 "données des objets"
 
-#: builtin/update-index.c:1019
+#: builtin/update-index.c:1024
 msgid "remove named paths even if present in worktree"
 msgstr ""
 "supprimer les chemins nommés même s'ils sont présents dans la copie de "
 "travail"
 
-#: builtin/update-index.c:1021
+#: builtin/update-index.c:1026
 msgid "with --stdin: input lines are terminated by null bytes"
 msgstr "avec --stdin : les lignes en entrée sont terminées par des octets nuls"
 
-#: builtin/update-index.c:1023
+#: builtin/update-index.c:1028
 msgid "read list of paths to be updated from standard input"
 msgstr "lire la liste des chemins à mettre à jour depuis l'entrée standard"
 
-#: builtin/update-index.c:1027
+#: builtin/update-index.c:1032
 msgid "add entries from standard input to the index"
 msgstr "ajouter les éléments depuis l'entrée standard à l'index"
 
-#: builtin/update-index.c:1031
+#: builtin/update-index.c:1036
 msgid "repopulate stages #2 and #3 for the listed paths"
 msgstr "repeupler les étapes n°2 et n°3 pour les chemins listés"
 
-#: builtin/update-index.c:1035
+#: builtin/update-index.c:1040
 msgid "only update entries that differ from HEAD"
 msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
 
-#: builtin/update-index.c:1039
+#: builtin/update-index.c:1044
 msgid "ignore files missing from worktree"
 msgstr "ignorer les fichiers manquants dans la copie de travail"
 
-#: builtin/update-index.c:1042
+#: builtin/update-index.c:1047
 msgid "report actions to standard output"
 msgstr "afficher les actions sur la sortie standard"
 
-#: builtin/update-index.c:1044
+#: builtin/update-index.c:1049
 msgid "(for porcelains) forget saved unresolved conflicts"
 msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus"
 
-#: builtin/update-index.c:1048
+#: builtin/update-index.c:1053
 msgid "write index in this format"
 msgstr "écrire l'index dans ce format"
 
-#: builtin/update-index.c:1050
+#: builtin/update-index.c:1055
 msgid "enable or disable split index"
 msgstr "activer ou désactiver l'index divisé"
 
-#: builtin/update-index.c:1052
+#: builtin/update-index.c:1057
 msgid "enable/disable untracked cache"
 msgstr "activer ou désactiver le cache de non-suivis"
 
-#: builtin/update-index.c:1054
+#: builtin/update-index.c:1059
 msgid "test if the filesystem supports untracked cache"
 msgstr "tester si le système de fichier supporte le cache de non-suivis"
 
-#: builtin/update-index.c:1056
+#: builtin/update-index.c:1061
 msgid "enable untracked cache without testing the filesystem"
 msgstr "activer le cache de non-suivis sans tester le système de fichier"
 
-#: builtin/update-index.c:1058
+#: builtin/update-index.c:1063
 msgid "write out the index even if is not flagged as changed"
 msgstr "écrire l'index même s'il n'est pas marqué comme modifié"
 
-#: builtin/update-index.c:1060
+#: builtin/update-index.c:1065
 msgid "enable or disable file system monitor"
 msgstr ""
 "activer ou désactiver la surveillance du système de fichier (fsmonitor)"
 
-#: builtin/update-index.c:1062
+#: builtin/update-index.c:1067
 msgid "mark files as fsmonitor valid"
 msgstr "marquer les fichiers comme valides pour fsmonitor"
 
-#: builtin/update-index.c:1065
+#: builtin/update-index.c:1070
 msgid "clear fsmonitor valid bit"
 msgstr "effacer le bit de validité fsmonitor"
 
-#: 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"
@@ -20800,7 +21982,7 @@ msgstr ""
 "core.splitIndex est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer l'index coupé"
 
-#: 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"
@@ -20808,7 +21990,7 @@ msgstr ""
 "core.splitIndex est réglé à vrai ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver l'index coupé"
 
-#: 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"
@@ -20816,11 +21998,11 @@ msgstr ""
 "core.untrackedCache est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1192
+#: builtin/update-index.c:1198
 msgid "Untracked cache disabled"
 msgstr "Le cache non suivi est désactivé"
 
-#: 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"
@@ -20828,29 +22010,29 @@ msgstr ""
 "core.untrackedCache est réglé à false ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment activer le cache des fichiers non-suivis"
 
-#: builtin/update-index.c:1204
+#: builtin/update-index.c:1210
 #, c-format
 msgid "Untracked cache enabled for '%s'"
 msgstr "Le cache non suivi est activé pour '%s'"
 
-#: 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 est réglé à false ; changez-le si vous souhaitez vraiment "
 "activer la surveillance du système de fichiers"
 
-#: builtin/update-index.c:1216
+#: builtin/update-index.c:1222
 msgid "fsmonitor enabled"
 msgstr "fsmonitor activé"
 
-#: 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 ""
 "core.fsmonitor est réglé à true ; supprimez-le ou changez-le si vous "
 "souhaitez vraiment désactiver la surveillance du système de fichiers"
 
-#: builtin/update-index.c:1223
+#: builtin/update-index.c:1229
 msgid "fsmonitor disabled"
 msgstr "fsmonitor désactivé"
 
@@ -20946,56 +22128,56 @@ msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..."
 msgid "print tag contents"
 msgstr "afficher le contenu de l'étiquette"
 
-#: builtin/worktree.c:18
+#: builtin/worktree.c:17
 msgid "git worktree add [<options>] <path> [<commit-ish>]"
 msgstr "git worktree add [<options>] <chemin> [<commit>]"
 
-#: builtin/worktree.c:19
+#: builtin/worktree.c:18
 msgid "git worktree list [<options>]"
 msgstr "git worktree list [<options>]"
 
-#: builtin/worktree.c:20
+#: builtin/worktree.c:19
 msgid "git worktree lock [<options>] <path>"
 msgstr "git worktree lock [<options>] <chemin>"
 
-#: builtin/worktree.c:21
+#: builtin/worktree.c:20
 msgid "git worktree move <worktree> <new-path>"
 msgstr "git worktree move <arbre-de-travail> <nouveau-chemin>"
 
-#: builtin/worktree.c:22
+#: builtin/worktree.c:21
 msgid "git worktree prune [<options>]"
 msgstr "git worktree prune [<options>]"
 
-#: builtin/worktree.c:23
+#: builtin/worktree.c:22
 msgid "git worktree remove [<options>] <worktree>"
 msgstr "git worktree remove [<options>] <arbre-de-travail>"
 
-#: builtin/worktree.c:24
+#: builtin/worktree.c:23
 msgid "git worktree unlock <path>"
 msgstr "git worktree unlock <chemin>"
 
-#: builtin/worktree.c:61 builtin/worktree.c:899
+#: builtin/worktree.c:60 builtin/worktree.c:891
 #, c-format
 msgid "failed to delete '%s'"
 msgstr "échec de la suppression de '%s'"
 
-#: builtin/worktree.c:80
+#: builtin/worktree.c:79
 #, c-format
 msgid "Removing worktrees/%s: not a valid directory"
 msgstr "Suppression de worktrees/%s : répertoire invalide"
 
-#: builtin/worktree.c:86
+#: builtin/worktree.c:85
 #, c-format
 msgid "Removing worktrees/%s: gitdir file does not exist"
 msgstr "Suppression de worktrees/%s : le fichier gitdir n'existe pas"
 
-#: 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 ""
 "Suppression de worktrees/%s : échec de la lecture du fichier gitdir (%s)"
 
-#: builtin/worktree.c:110
+#: builtin/worktree.c:109
 #, c-format
 msgid ""
 "Removing worktrees/%s: short read (expected %<PRIuMAX> bytes, read "
@@ -21004,37 +22186,37 @@ msgstr ""
 "Suppression de worktrees/%s: lecture trop courte ( %<PRIuMAX> octets "
 "attendus, %<PRIuMAX> octets lus)"
 
-#: builtin/worktree.c:118
+#: builtin/worktree.c:117
 #, c-format
 msgid "Removing worktrees/%s: invalid gitdir file"
 msgstr "Suppression de worktrees/%s : fichier gitdir invalide"
 
-#: builtin/worktree.c:127
+#: builtin/worktree.c:126
 #, c-format
 msgid "Removing worktrees/%s: gitdir file points to non-existent location"
 msgstr ""
 "Suppression de worktrees/%s : le fichier gitdir point sur un endroit "
 "inexistant"
 
-#: builtin/worktree.c:166
+#: builtin/worktree.c:165
 msgid "report pruned working trees"
 msgstr "afficher les arbres de travail éliminés"
 
-#: builtin/worktree.c:168
+#: builtin/worktree.c:167
 msgid "expire working trees older than <time>"
 msgstr "faire expirer les arbres de travail plus vieux que <temps>"
 
-#: builtin/worktree.c:235
+#: builtin/worktree.c:234
 #, c-format
 msgid "'%s' already exists"
 msgstr "'%s' existe déjà"
 
-#: builtin/worktree.c:252
+#: builtin/worktree.c:244
 #, c-format
 msgid "unable to re-add worktree '%s'"
 msgstr "impossible de ré-ajouter l'arbre de travail '%s'"
 
-#: builtin/worktree.c:257
+#: builtin/worktree.c:249
 #, c-format
 msgid ""
 "'%s' is a missing but locked worktree;\n"
@@ -21044,7 +22226,7 @@ msgstr ""
 "utilisez 'add -f -f' pour passer outre, ou 'unlock' et 'prune' ou 'remove' "
 "pour corriger"
 
-#: builtin/worktree.c:259
+#: builtin/worktree.c:251
 #, c-format
 msgid ""
 "'%s' is a missing but already registered worktree;\n"
@@ -21053,129 +22235,129 @@ msgstr ""
 "'%s' est un arbre de travail manquant mais déjà enregistré ;\n"
 "utilisez 'add -f' pour passer outre, ou 'prune' ou 'remove' pour corriger"
 
-#: builtin/worktree.c:309
+#: builtin/worktree.c:301
 #, c-format
 msgid "could not create directory of '%s'"
 msgstr "impossible de créer le répertoire de '%s'"
 
-#: 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 "Préparation de l'arbre de travail (nouvelle branche '%s')"
 
-#: builtin/worktree.c:442
+#: builtin/worktree.c:434
 #, c-format
 msgid "Preparing worktree (resetting branch '%s'; was at %s)"
 msgstr ""
 "Préparation de l'arbre de travail (réinitialisation de la branche '%s' ; "
 "précédemment sur %s)"
 
-#: builtin/worktree.c:451
+#: builtin/worktree.c:443
 #, c-format
 msgid "Preparing worktree (checking out '%s')"
 msgstr "Préparation de l'arbre de travail (extraction de '%s')"
 
-#: builtin/worktree.c:457
+#: builtin/worktree.c:449
 #, c-format
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Préparation de l'arbre de travail (HEAD détachée %s)"
 
-#: builtin/worktree.c:498
+#: builtin/worktree.c:490
 msgid "checkout <branch> even if already checked out in other worktree"
 msgstr ""
 "extraire la <branche> même si elle est déjà extraite dans une autre copie de "
 "travail"
 
-#: builtin/worktree.c:501
+#: builtin/worktree.c:493
 msgid "create a new branch"
 msgstr "créer une nouvelle branche"
 
-#: builtin/worktree.c:503
+#: builtin/worktree.c:495
 msgid "create or reset a branch"
 msgstr "créer ou réinitialiser une branche"
 
-#: builtin/worktree.c:505
+#: builtin/worktree.c:497
 msgid "populate the new working tree"
 msgstr "remplissage de la nouvelle copie de travail"
 
-#: builtin/worktree.c:506
+#: builtin/worktree.c:498
 msgid "keep the new working tree locked"
 msgstr "conserver le verrou sur le nouvel arbre de travail"
 
-#: builtin/worktree.c:509
+#: builtin/worktree.c:501
 msgid "set up tracking mode (see git-branch(1))"
 msgstr "régler le mode de suivi (voir 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 "essayer de nommer la nouvelle branche comme la branche amont"
 
-#: builtin/worktree.c:520
+#: builtin/worktree.c:512
 msgid "-b, -B, and --detach are mutually exclusive"
 msgstr "-b, -B et --detach sont mutuellement exclusifs"
 
-#: builtin/worktree.c:581
+#: builtin/worktree.c:573
 msgid "--[no-]track can only be used if a new branch is created"
 msgstr ""
 "--[no-]track ne peut être utilisé qu'à la création d'une nouvelle branche"
 
-#: builtin/worktree.c:681
+#: builtin/worktree.c:673
 msgid "reason for locking"
 msgstr "raison du verrouillage"
 
-#: 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' n'est pas une copie de travail"
 
-#: 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 ""
 "La copie de travail principale ne peut pas être verrouillée ou déverrouillée"
 
-#: builtin/worktree.c:700
+#: builtin/worktree.c:692
 #, c-format
 msgid "'%s' is already locked, reason: %s"
 msgstr "'%s' est déjà verrouillé, car '%s'"
 
-#: builtin/worktree.c:702
+#: builtin/worktree.c:694
 #, c-format
 msgid "'%s' is already locked"
 msgstr "'%s' est déjà verrouillé"
 
-#: builtin/worktree.c:730
+#: builtin/worktree.c:722
 #, c-format
 msgid "'%s' is not locked"
 msgstr "'%s' n'est pas verrouillé"
 
-#: builtin/worktree.c:771
+#: builtin/worktree.c:763
 msgid "working trees containing submodules cannot be moved or removed"
 msgstr ""
 "les arbres de travail contenant des sous-modules ne peuvent pas être "
 "déplacés ou supprimés"
 
-#: builtin/worktree.c:779
+#: builtin/worktree.c:771
 msgid "force move even if worktree is dirty or locked"
 msgstr ""
 "forcer le déplacement même si l'arbre de travail est sale ou verrouillé"
 
-#: 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' est un arbre de travail principal"
 
-#: builtin/worktree.c:807
+#: builtin/worktree.c:799
 #, c-format
 msgid "could not figure out destination name from '%s'"
 msgstr "impossible de trouver le nom de la destination à partir de '%s'"
 
-#: builtin/worktree.c:813
+#: builtin/worktree.c:805
 #, c-format
 msgid "target '%s' already exists"
 msgstr "la cible '%s' existe déjà"
 
-#: builtin/worktree.c:821
+#: builtin/worktree.c:813
 #, c-format
 msgid ""
 "cannot move a locked working tree, lock reason: %s\n"
@@ -21185,7 +22367,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: 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"
@@ -21193,37 +22375,39 @@ msgstr ""
 "impossible de déplacer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:826
+#: builtin/worktree.c:818
 #, c-format
 msgid "validation failed, cannot move working tree: %s"
 msgstr "la validation a échoué, impossible de déplacer l'arbre de travail : %s"
 
-#: builtin/worktree.c:831
+#: builtin/worktree.c:823
 #, c-format
 msgid "failed to move '%s' to '%s'"
 msgstr "échec au déplacement de '%s' vers '%s'"
 
-#: builtin/worktree.c:879
+#: builtin/worktree.c:871
 #, c-format
 msgid "failed to run 'git status' on '%s'"
 msgstr "échec du lancement de 'git status' sur '%s'"
 
-#: builtin/worktree.c:883
+#: builtin/worktree.c:875
 #, c-format
-msgid "'%s' is dirty, use --force to delete it"
-msgstr "'%s' est sale, utilisez --force pour le supprimer"
+msgid "'%s' contains modified or untracked files, use --force to delete it"
+msgstr ""
+"'%s' contient des fichiers modifiés ou non-suivis, utilisez --force pour le "
+"supprimer"
 
-#: builtin/worktree.c:888
+#: builtin/worktree.c:880
 #, c-format
 msgid "failed to run 'git status' on '%s', code %d"
 msgstr "impossible de lancer 'git status' sur '%s', code %d"
 
-#: builtin/worktree.c:911
+#: builtin/worktree.c:903
 msgid "force removal even if worktree is dirty or locked"
 msgstr ""
 "forcer la suppression même si l'arbre de travail est sale ou verrouillé"
 
-#: builtin/worktree.c:934
+#: builtin/worktree.c:926
 #, c-format
 msgid ""
 "cannot remove a locked working tree, lock reason: %s\n"
@@ -21233,7 +22417,7 @@ msgstr ""
 "verrouillage : %s\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: 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"
@@ -21241,7 +22425,7 @@ msgstr ""
 "impossible de supprimer un arbre de travail verrouillé;\n"
 "utilisez 'move -f -f' pour outrepasser ou déverrouiller avant"
 
-#: builtin/worktree.c:939
+#: builtin/worktree.c:931
 #, c-format
 msgid "validation failed, cannot remove working tree: %s"
 msgstr ""
@@ -21263,6 +22447,22 @@ msgstr "écrire l'objet arbre pour un sous-répertoire <préfixe>"
 msgid "only useful for debugging"
 msgstr "seulement utile pour le débogage"
 
+#: fast-import.c:3125
+#, c-format
+msgid "Expected 'mark' command, got %s"
+msgstr "commande 'mark' attendue, %s trouvé"
+
+#: fast-import.c:3130
+#, c-format
+msgid "Expected 'to' command, got %s"
+msgstr "commande 'to' attendue, %s trouvé"
+
+#: fast-import.c:3254
+#, c-format
+msgid "feature '%s' forbidden in input without --allow-unsafe-features"
+msgstr ""
+"la fonctionnalité '%s' est interdite en entrée sans --allow-unsafe-features"
+
 #: credential-cache--daemon.c:223
 #, c-format
 msgid ""
@@ -21375,25 +22575,25 @@ msgstr ""
 "l'alias '%s' modifie les variables d'environnement.\n"
 "Vous pouvez utiliser '!git' dans l'alias pour le faire"
 
-#: git.c:377
+#: git.c:376
 #, c-format
 msgid "empty alias for %s"
 msgstr "alias vide pour %s"
 
-#: git.c:380
+#: git.c:379
 #, c-format
 msgid "recursive alias: %s"
 msgstr "alias recursif : %s"
 
-#: git.c:460
+#: git.c:459
 msgid "write failure on standard output"
 msgstr "échec d'écriture sur la sortie standard"
 
-#: git.c:462
+#: git.c:461
 msgid "unknown write failure on standard output"
 msgstr "échec inconnu d'écriture sur la sortie standard"
 
-#: git.c:464
+#: git.c:463
 msgid "close failed on standard output"
 msgstr "échec de fermeture de la sortie standard"
 
@@ -21449,24 +22649,24 @@ msgstr "CURLSSLOPT_NO_REMOVE n'est pas supporté avec cuRL < 7.44.0"
 msgid "Protocol restrictions not supported with cURL < 7.19.4"
 msgstr "Les restrictions de protocole ne sont pas supportés avec cuRL < 7.19.4"
 
-#: http.c:1085
+#: http.c:1086
 #, c-format
 msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
 msgstr "Dorsale SSL '%s' non supportée. Dorsales SSL supportées :"
 
-#: http.c:1092
+#: http.c:1093
 #, c-format
 msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
 msgstr ""
 "Impossible de régler la dorsale SSL à '%s' : cURL a été construit sans "
 "dorsale SSL"
 
-#: http.c:1096
+#: http.c:1097
 #, c-format
 msgid "Could not set SSL backend to '%s': already set"
 msgstr "Impossible de spécifier le dorsal SSL à '%s' : déjà spécifié"
 
-#: http.c:1965
+#: http.c:1966
 #, c-format
 msgid ""
 "unable to update url base from redirection:\n"
@@ -21477,149 +22677,160 @@ msgstr ""
 "      demandé : %s\n"
 "  redirection : %s"
 
-#: remote-curl.c:157
+#: remote-curl.c:166
 #, c-format
 msgid "invalid quoting in push-option value: '%s'"
 msgstr "citation invalide dans la valeur push-option : '%s'"
 
-#: remote-curl.c:254
+#: remote-curl.c:263
 #, c-format
 msgid "%sinfo/refs not valid: is this a git repository?"
 msgstr "%sinfo/refs n'est pas valide : est-ce bien un dépôt git ?"
 
-#: remote-curl.c:355
+#: remote-curl.c:364
 msgid "invalid server response; expected service, got flush packet"
 msgstr "réponse du serveur invalide ; service attendu, paquet de vidage reçu"
 
-#: remote-curl.c:386
+#: remote-curl.c:395
 #, c-format
 msgid "invalid server response; got '%s'"
 msgstr "réponse du serveur invalide ; '%s' reçu"
 
-#: remote-curl.c:446
+#: remote-curl.c:455
 #, c-format
 msgid "repository '%s' not found"
 msgstr "dépôt '%s' non trouvé"
 
-#: remote-curl.c:450
+#: remote-curl.c:459
 #, c-format
 msgid "Authentication failed for '%s'"
 msgstr "Échec d'authentification pour '%s'"
 
-#: remote-curl.c:454
+#: remote-curl.c:463
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "impossible d'accéder à '%s' : %s"
 
-#: remote-curl.c:460
+#: remote-curl.c:469
 #, c-format
 msgid "redirecting to %s"
 msgstr "redirection vers %s"
 
-#: remote-curl.c:584
+#: remote-curl.c:593
 msgid "shouldn't have EOF when not gentle on EOF"
 msgstr "ne devrait pas recevoir OEF quand on n'est pas gentil sur EOF"
 
-#: remote-curl.c:664
+#: remote-curl.c:673
 msgid "unable to rewind rpc post data - try increasing http.postBuffer"
 msgstr ""
 "impossible de rembobiner le données post rpc - essayer d'augmenter http."
 "postBuffer"
 
-#: remote-curl.c:724
+#: remote-curl.c:733
 #, c-format
 msgid "RPC failed; %s"
 msgstr "échec RPC ; %s"
 
-#: remote-curl.c:764
+#: remote-curl.c:773
 msgid "cannot handle pushes this big"
 msgstr "impossible de gérer des poussées aussi grosses"
 
-#: remote-curl.c:879
+#: remote-curl.c:888
 #, c-format
 msgid "cannot deflate request; zlib deflate error %d"
 msgstr "impossible de compresser la requête ; erreur de compression zlib %d"
 
-#: remote-curl.c:883
+#: remote-curl.c:892
 #, c-format
 msgid "cannot deflate request; zlib end error %d"
 msgstr "impossible de compresser la requête ; erreur de fin zlib %d"
 
-#: remote-curl.c:1014
+#: remote-curl.c:1023
 msgid "dumb http transport does not support shallow capabilities"
 msgstr "le protocole http idiot ne supporte la capacité superficielle"
 
-#: remote-curl.c:1028
+#: remote-curl.c:1038
 msgid "fetch failed."
 msgstr "échec du récupération."
 
-#: remote-curl.c:1076
+#: remote-curl.c:1086
 msgid "cannot fetch by sha1 over smart http"
 msgstr "impossible de récupérer par sha1 sur http intelligent"
 
-#: 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 "erreur de protocole : sha/ref attendu, '%s' trouvé"
 
-#: 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 "le transport http ne supporte pas %s"
 
-#: remote-curl.c:1174
+#: remote-curl.c:1184
 msgid "git-http-push failed"
 msgstr "échec de git-http-push"
 
-#: remote-curl.c:1360
+#: remote-curl.c:1369
 msgid "remote-curl: usage: git remote-curl <remote> [<url>]"
 msgstr "remote-curl: usage: git remote-curl <distant> [<url>]"
 
-#: remote-curl.c:1392
+#: remote-curl.c:1401
 msgid "remote-curl: error reading command stream from git"
 msgstr "remote-curl : erreur de lecture du flux de commande depuis git"
 
-#: remote-curl.c:1399
+#: remote-curl.c:1408
 msgid "remote-curl: fetch attempted without a local repo"
 msgstr "remote-curl : récupération tentée sans dépôt local"
 
-#: remote-curl.c:1439
+#: remote-curl.c:1448
 #, c-format
 msgid "remote-curl: unknown command '%s' from git"
 msgstr "remote-curl : commande inconnue '%s' depuis git"
 
-#: list-objects-filter-options.h:61
+#: list-objects-filter-options.h:85
 msgid "args"
 msgstr "args"
 
-#: list-objects-filter-options.h:62
+#: list-objects-filter-options.h:86
 msgid "object filtering"
 msgstr "filtrage d'objet"
 
-#: parse-options.h:170
+#: parse-options.h:183
 msgid "expiry-date"
 msgstr "date-d'expiration"
 
-#: parse-options.h:184
+#: parse-options.h:197
 msgid "no-op (backward compatibility)"
 msgstr "sans action (rétrocompatibilité)"
 
-#: parse-options.h:305
+#: parse-options.h:309
 msgid "be more verbose"
 msgstr "être plus verbeux"
 
-#: parse-options.h:307
+#: parse-options.h:311
 msgid "be more quiet"
 msgstr "être plus silencieux"
 
-#: parse-options.h:313
+#: parse-options.h:317
 msgid "use <n> digits to display SHA-1s"
 msgstr "utiliser <n> chiffres pour afficher les SHA-1s"
 
-#: parse-options.h:332
+#: parse-options.h:336
 msgid "how to strip spaces and #comments from message"
 msgstr "comment éliminer les espaces et les commentaires # du message"
 
+#: parse-options.h:337
+msgid "read pathspec from file"
+msgstr "lire les spécificateurs de fichier depuis fichier"
+
+#: parse-options.h:338
+msgid ""
+"with --pathspec-from-file, pathspec elements are separated with NUL character"
+msgstr ""
+"avec --pathspec-from-file, les spécificateurs de chemin sont séparés par un "
+"caractère NUL"
+
 #: ref-filter.h:101
 msgid "key"
 msgstr "clé"
@@ -22148,166 +23359,174 @@ msgid "Common Git shell script setup code"
 msgstr "Le code d'initialisation commun aux scripts shell Git"
 
 #: command-list.h:171
+msgid "Initialize and modify the sparse-checkout"
+msgstr "Initialiser et modifier l'extraction partielle"
+
+#: command-list.h:172
 msgid "Stash the changes in a dirty working directory away"
 msgstr "Remiser les modifications d'un répertoire de travail sale"
 
-#: command-list.h:172
+#: command-list.h:173
 msgid "Add file contents to the staging area"
 msgstr "Ajouter le contenu de fichiers à l'index"
 
-#: command-list.h:173
+#: command-list.h:174
 msgid "Show the working tree status"
 msgstr "Afficher l'état de la copie de travail"
 
-#: command-list.h:174
+#: command-list.h:175
 msgid "Remove unnecessary whitespace"
 msgstr "Retirer les espaces inutiles"
 
-#: command-list.h:175
+#: command-list.h:176
 msgid "Initialize, update or inspect submodules"
 msgstr "Initialiser, mettre à jour et inspecter les sous-modules"
 
-#: command-list.h:176
+#: command-list.h:177
 msgid "Bidirectional operation between a Subversion repository and Git"
 msgstr "Opération Bidirectionnelles entre un dépôt Subversion et Git"
 
-#: command-list.h:177
+#: command-list.h:178
 msgid "Switch branches"
 msgstr "Basculer de branche"
 
-#: command-list.h:178
+#: command-list.h:179
 msgid "Read, modify and delete symbolic refs"
 msgstr "Lire, modifier et supprimer les références symboliques"
 
-#: command-list.h:179
+#: command-list.h:180
 msgid "Create, list, delete or verify a tag object signed with GPG"
 msgstr ""
 "Créer, lister, supprimer ou vérifier un objet d'étiquette signé avec GPG"
 
-#: command-list.h:180
+#: command-list.h:181
 msgid "Creates a temporary file with a blob's contents"
 msgstr "Créer un fichier temporaire avec le contenu d'un blob"
 
-#: command-list.h:181
+#: command-list.h:182
 msgid "Unpack objects from a packed archive"
 msgstr "Dépaqueter les objets depuis une archive empaquetée"
 
-#: command-list.h:182
+#: command-list.h:183
 msgid "Register file contents in the working tree to the index"
 msgstr "Enregistrer le contenu d'un fichier de l'arbre de travail dans l'index"
 
-#: command-list.h:183
+#: command-list.h:184
 msgid "Update the object name stored in a ref safely"
 msgstr ""
 "Mettre à jour le nom d'objet stocké dans une référence en toute sécurité"
 
-#: command-list.h:184
+#: command-list.h:185
 msgid "Update auxiliary info file to help dumb servers"
 msgstr ""
 "Mettre à jour le fichier d'informations auxiliaires pour aider les serveurs "
 "idiots"
 
-#: command-list.h:185
+#: command-list.h:186
 msgid "Send archive back to git-archive"
 msgstr "Renvoyer une archive dans git-archive"
 
-#: command-list.h:186
+#: command-list.h:187
 msgid "Send objects packed back to git-fetch-pack"
 msgstr "Renvoyer des objets empaquetés dans git-fetch-pack"
 
-#: command-list.h:187
+#: command-list.h:188
 msgid "Show a Git logical variable"
 msgstr "Afficher un variable logique de Git"
 
-#: command-list.h:188
+#: command-list.h:189
 msgid "Check the GPG signature of commits"
 msgstr "Vérifier la signature GPG de commits"
 
-#: command-list.h:189
+#: command-list.h:190
 msgid "Validate packed Git archive files"
 msgstr "Valider des fichiers d'archive Git empaquetés"
 
-#: command-list.h:190
+#: command-list.h:191
 msgid "Check the GPG signature of tags"
 msgstr "Vérifier la signature GPG d'étiquettes"
 
-#: command-list.h:191
+#: command-list.h:192
 msgid "Git web interface (web frontend to Git repositories)"
 msgstr "Interface web de Git"
 
-#: command-list.h:192
+#: command-list.h:193
 msgid "Show logs with difference each commit introduces"
 msgstr "Afficher les journaux avec la différence que chaque commit introduit"
 
-#: command-list.h:193
+#: command-list.h:194
 msgid "Manage multiple working trees"
 msgstr "Gère de arbres de travail multiples"
 
-#: command-list.h:194
+#: command-list.h:195
 msgid "Create a tree object from the current index"
 msgstr "Créer un objet arbre depuis l'index courant"
 
-#: command-list.h:195
+#: command-list.h:196
 msgid "Defining attributes per path"
 msgstr "Définition des attributs par chemin"
 
-#: command-list.h:196
+#: command-list.h:197
 msgid "Git command-line interface and conventions"
 msgstr "interface en ligne de commande et conventions de Git"
 
-#: command-list.h:197
+#: command-list.h:198
 msgid "A Git core tutorial for developers"
 msgstr "Tutoriel du cœur de Git pour les développeurs"
 
-#: command-list.h:198
+#: command-list.h:199
 msgid "Git for CVS users"
 msgstr "Git pour les utilisateurs de CVS"
 
-#: command-list.h:199
+#: command-list.h:200
 msgid "Tweaking diff output"
 msgstr "Bidouillage de la sortie diff"
 
-#: command-list.h:200
+#: command-list.h:201
 msgid "A useful minimum set of commands for Everyday Git"
 msgstr "Un ensemble minimal utile des commandes de Git pour tous les jours"
 
-#: command-list.h:201
+#: command-list.h:202
 msgid "A Git Glossary"
 msgstr "Un glossaire Git"
 
-#: command-list.h:202
+#: command-list.h:203
 msgid "Hooks used by Git"
 msgstr "Crochets utilisés par Git"
 
-#: command-list.h:203
+#: command-list.h:204
 msgid "Specifies intentionally untracked files to ignore"
 msgstr "Spécifie les fichiers non-suivis à ignorer intentionnellement"
 
-#: command-list.h:204
+#: command-list.h:205
 msgid "Defining submodule properties"
 msgstr "Définition des propriétés de sous-module"
 
-#: command-list.h:205
+#: command-list.h:206
 msgid "Git namespaces"
 msgstr "Espaces de nom de Git"
 
-#: command-list.h:206
+#: command-list.h:207
 msgid "Git Repository Layout"
 msgstr "Disposition d'un dépôt Git"
 
-#: command-list.h:207
+#: command-list.h:208
 msgid "Specifying revisions and ranges for Git"
 msgstr "Spécification des révisions et portées pour Git"
 
-#: command-list.h:208
+#: command-list.h:209
+msgid "Mounting one repository inside another"
+msgstr "Montage d'un dépôt dans un autre dépôt"
+
+#: command-list.h:210
 msgid "A tutorial introduction to Git: part two"
 msgstr "Une introduction pratique à Git : deuxième partie"
 
-#: command-list.h:209
+#: command-list.h:211
 msgid "A tutorial introduction to Git"
 msgstr "Une introduction pratique à Git"
 
-#: command-list.h:210
+#: command-list.h:212
 msgid "An overview of recommended workflows with Git"
 msgstr "Un aperçu des flux de travail recommandés avec Git"
 
@@ -22434,144 +23653,133 @@ msgstr "Essai de fusion simple avec $pretty_name"
 msgid "Simple merge did not work, trying automatic merge."
 msgstr "La fusion simple a échoué, essai avec la fusion automatique."
 
-#: git-legacy-stash.sh:220
+#: git-legacy-stash.sh:221
 msgid "Cannot remove temporary index (can't happen)"
 msgstr "Impossible de supprimer l'index temporaire (ne peut pas se produire)"
 
-#: git-legacy-stash.sh:271
+#: git-legacy-stash.sh:272
 #, sh-format
 msgid "Cannot update $ref_stash with $w_commit"
 msgstr "Impossible de mettre à jour $ref_stash avec $w_commit"
 
-#: git-legacy-stash.sh:323
+#: git-legacy-stash.sh:324
 #, sh-format
 msgid "error: unknown option for 'stash push': $option"
 msgstr "erreur : option inconnue pour '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 "Copie de travail et état de l'index sauvegardés dans $stash_msg"
 
-#: git-legacy-stash.sh:535
+#: git-legacy-stash.sh:536
 #, sh-format
 msgid "unknown option: $opt"
 msgstr "option inconnue : $opt"
 
-#: git-legacy-stash.sh:555
+#: git-legacy-stash.sh:556
 #, sh-format
 msgid "Too many revisions specified: $REV"
 msgstr "Trop de révisions spécifiées : $REV"
 
-#: git-legacy-stash.sh:570
+#: git-legacy-stash.sh:571
 #, sh-format
 msgid "$reference is not a valid reference"
 msgstr "$reference n'est pas une référence valide"
 
-#: git-legacy-stash.sh:598
+#: git-legacy-stash.sh:599
 #, sh-format
 msgid "'$args' is not a stash-like commit"
 msgstr "'$args' n'est pas une validation de type remisage"
 
-#: git-legacy-stash.sh:609
+#: git-legacy-stash.sh:610
 #, sh-format
 msgid "'$args' is not a stash reference"
 msgstr "'$args' n'est pas une référence de remisage"
 
-#: git-legacy-stash.sh:617
+#: git-legacy-stash.sh:618
 msgid "unable to refresh index"
 msgstr "impossible de rafraîchir l'index"
 
-#: git-legacy-stash.sh:621
+#: git-legacy-stash.sh:622
 msgid "Cannot apply a stash in the middle of a merge"
 msgstr "Impossible d'appliquer un remisage en cours de fusion"
 
-#: git-legacy-stash.sh:629
+#: git-legacy-stash.sh:630
 msgid "Conflicts in index. Try without --index."
 msgstr "Conflits dans l'index. Essayez sans --index."
 
-#: git-legacy-stash.sh:631
+#: git-legacy-stash.sh:632
 msgid "Could not save index tree"
 msgstr "Impossible de sauvegarder l'arbre d'index"
 
-#: git-legacy-stash.sh:640
+#: git-legacy-stash.sh:641
 msgid "Could not restore untracked files from stash entry"
 msgstr ""
 "Impossible de restaurer les fichiers non-suivis depuis l'entrée de remisage"
 
-#: git-legacy-stash.sh:665
+#: git-legacy-stash.sh:666
 msgid "Cannot unstage modified files"
 msgstr "Impossible de désindexer les fichiers modifiés"
 
-#: git-legacy-stash.sh:703
+#: git-legacy-stash.sh:704
 #, sh-format
 msgid "Dropped ${REV} ($s)"
 msgstr "${REV} supprimé ($s)"
 
-#: git-legacy-stash.sh:704
+#: git-legacy-stash.sh:705
 #, sh-format
 msgid "${REV}: Could not drop stash entry"
 msgstr "${REV}: Impossible de supprimer l'entrée de stash"
 
-#: git-legacy-stash.sh:791
+#: git-legacy-stash.sh:792
 msgid "(To restore them type \"git stash apply\")"
 msgstr "(Pour les restaurer tapez \"git stash apply\")"
 
-#: git-submodule.sh:200
+#: git-submodule.sh:203
 msgid "Relative path can only be used from the toplevel of the working tree"
 msgstr ""
 "Un chemin relatif ne peut être utilisé que depuis la racine de la copie de "
 "travail"
 
-#: git-submodule.sh:210
+#: git-submodule.sh:213
 #, sh-format
 msgid "repo URL: '$repo' must be absolute or begin with ./|../"
 msgstr "L'URL de dépôt '$repo' doit être absolu ou commencer par ./|../"
 
-#: git-submodule.sh:229
+#: git-submodule.sh:232
 #, sh-format
 msgid "'$sm_path' already exists in the index"
 msgstr "'$sm_path' existe déjà dans l'index"
 
-#: 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' existe déjà dans l'index et n'est pas un sous-module"
 
-#: git-submodule.sh:239
+#: git-submodule.sh:242
 #, sh-format
 msgid "'$sm_path' does not have a commit checked out"
 msgstr "'$sm_path' n'a pas de commit extrait"
 
-#: 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 ""
-"Le chemin suivant est ignoré par un de vos fichiers .gitignore :\n"
-"$sm_path\n"
-"Utilisez -f si vous voulez vraiment l'ajouter."
-
-#: git-submodule.sh:268
+#: git-submodule.sh:273
 #, sh-format
 msgid "Adding existing repo at '$sm_path' to the index"
 msgstr "Ajout du dépôt existant à '$sm_path' dans l'index"
 
-#: 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' existe déjà et n'est pas un dépôt git valide"
 
-#: git-submodule.sh:278
+#: git-submodule.sh:283
 #, sh-format
 msgid "A git directory for '$sm_name' is found locally with remote(s):"
 msgstr ""
 "Un répertoire git pour '$sm_name' est trouvé en local avec le(s) serveur(s) "
 "distant(s) :"
 
-#: 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"
@@ -22588,39 +23796,39 @@ msgstr ""
 "correct\n"
 "ou si ceci n'est pas clair, choisissez un autre nom avec l'option '--name'."
 
-#: git-submodule.sh:286
+#: git-submodule.sh:291
 #, sh-format
 msgid "Reactivating local git directory for submodule '$sm_name'."
 msgstr "Réactivation du répertoire git local pour le sous-module '$sm_name'."
 
-#: git-submodule.sh:298
+#: git-submodule.sh:303
 #, sh-format
 msgid "Unable to checkout submodule '$sm_path'"
 msgstr "Impossible d'extraire le sous-module '$sm_path'"
 
-#: git-submodule.sh:303
+#: git-submodule.sh:308
 #, sh-format
 msgid "Failed to add submodule '$sm_path'"
 msgstr "Échec d'ajout du sous-module '$sm_path'"
 
-#: git-submodule.sh:312
+#: git-submodule.sh:317
 #, sh-format
 msgid "Failed to register submodule '$sm_path'"
 msgstr "Échec d'enregistrement du sous-module '$sm_path'"
 
-#: git-submodule.sh:573
+#: git-submodule.sh:590
 #, sh-format
 msgid "Unable to find current revision in submodule path '$displaypath'"
 msgstr ""
 "Impossible de trouver la révision courante dans le chemin de sous-module "
 "'$displaypath'"
 
-#: git-submodule.sh:583
+#: git-submodule.sh:600
 #, sh-format
 msgid "Unable to fetch in submodule path '$sm_path'"
 msgstr "Impossible de rapatrier dans le chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:588
+#: git-submodule.sh:605
 #, sh-format
 msgid ""
 "Unable to find current ${remote_name}/${branch} revision in submodule path "
@@ -22629,7 +23837,7 @@ msgstr ""
 "Impossible de trouver la révision courante ${remote_name}/${branch} dans le "
 "chemin de sous-module '$sm_path'"
 
-#: git-submodule.sh:606
+#: git-submodule.sh:623
 #, sh-format
 msgid ""
 "Unable to fetch in submodule path '$displaypath'; trying to directly fetch "
@@ -22638,7 +23846,7 @@ msgstr ""
 "Impossible de rapatrier dans le chemin de sous-module '$displaypath' ; essai "
 "de rapatriement direct de $sha1 :"
 
-#: git-submodule.sh:612
+#: git-submodule.sh:629
 #, sh-format
 msgid ""
 "Fetched in submodule path '$displaypath', but it did not contain $sha1. "
@@ -22647,76 +23855,76 @@ msgstr ""
 "Chemin de sous-module '$displaypath' récupéré, mais il ne contenait pas "
 "$sha1. La récupération directe de ce commit a échoué."
 
-#: git-submodule.sh:619
+#: git-submodule.sh:636
 #, sh-format
 msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible d'extraire '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:620
+#: git-submodule.sh:637
 #, sh-format
 msgid "Submodule path '$displaypath': checked out '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
 
-#: git-submodule.sh:624
+#: git-submodule.sh:641
 #, sh-format
 msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible de rebaser '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:625
+#: git-submodule.sh:642
 #, sh-format
 msgid "Submodule path '$displaypath': rebased into '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : rebasé dans '$sha1'"
 
-#: git-submodule.sh:630
+#: git-submodule.sh:647
 #, sh-format
 msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
 msgstr ""
 "Impossible de fusionner '$sha1' dans le chemin de sous-module '$displaypath'"
 
-#: git-submodule.sh:631
+#: git-submodule.sh:648
 #, sh-format
 msgid "Submodule path '$displaypath': merged in '$sha1'"
 msgstr "Chemin de sous-module '$displaypath' : fusionné dans '$sha1'"
 
-#: git-submodule.sh:636
+#: git-submodule.sh:653
 #, sh-format
 msgid "Execution of '$command $sha1' failed in submodule path '$displaypath'"
 msgstr ""
 "L'exécution de '$command $sha1' a échoué dans le chemin de sous-module "
 "'$displaypath'"
 
-#: git-submodule.sh:637
+#: git-submodule.sh:654
 #, sh-format
 msgid "Submodule path '$displaypath': '$command $sha1'"
 msgstr "Chemin de sous-module '$displaypath' : '$command $sha1'"
 
-#: git-submodule.sh:668
+#: git-submodule.sh:685
 #, sh-format
 msgid "Failed to recurse into submodule path '$displaypath'"
 msgstr "Échec de parcours dans le chemin du sous-module '$displaypath'"
 
-#: git-submodule.sh:830
+#: git-submodule.sh:896
 msgid "The --cached option cannot be used with the --files option"
 msgstr "L'option --cached ne peut pas être utilisée avec l'option --files"
 
-#: git-submodule.sh:882
+#: git-submodule.sh:948
 #, sh-format
 msgid "unexpected mode $mod_dst"
 msgstr "mode $mod_dst inattendu"
 
-#: git-submodule.sh:902
+#: git-submodule.sh:968
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_src"
 msgstr "  Attention : $display_name ne contient pas la validation $sha1_src"
 
-#: git-submodule.sh:905
+#: git-submodule.sh:971
 #, sh-format
 msgid "  Warn: $display_name doesn't contain commit $sha1_dst"
 msgstr "  Attention : $display_name ne contient pas la validation $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 ""
@@ -23038,6 +24246,10 @@ msgid_plural "Rebase $shortrevisions onto $shortonto ($todocount commands)"
 msgstr[0] "Rebasage de $shortrevisions sur $shortonto ($todocount commande)"
 msgstr[1] "Rebasage de $shortrevisions sur $shortonto ($todocount commandes)"
 
+#: git-rebase--preserve-merges.sh:955
+msgid "Note that empty commits are commented out"
+msgstr "Veuillez noter que les commits vides sont en commentaire"
+
 #: git-rebase--preserve-merges.sh:997 git-rebase--preserve-merges.sh:1002
 msgid "Could not init rewritten commits"
 msgstr "Impossible d'initialiser les commits réécrits"
@@ -23110,81 +24322,19 @@ msgid "Unable to determine absolute path of git directory"
 msgstr "Impossible de déterminer le chemin absolu du répertoire git"
 
 #. 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 "%12s %s12s %s"
 
-#: git-add--interactive.perl:211
-msgid "staged"
-msgstr "indexé"
-
-#: git-add--interactive.perl:211
-msgid "unstaged"
-msgstr "non-indexé"
-
-#: git-add--interactive.perl:267 git-add--interactive.perl:292
-msgid "binary"
-msgstr "binaire"
-
-#: git-add--interactive.perl:276 git-add--interactive.perl:330
-msgid "nothing"
-msgstr "rien"
-
-#: git-add--interactive.perl:312 git-add--interactive.perl:327
-msgid "unchanged"
-msgstr "inchangé"
-
-#: git-add--interactive.perl:623
-#, perl-format
-msgid "added %d path\n"
-msgid_plural "added %d paths\n"
-msgstr[0] "%d chemin ajouté\n"
-msgstr[1] "%d chemins ajoutés\n"
-
-#: git-add--interactive.perl:626
-#, perl-format
-msgid "updated %d path\n"
-msgid_plural "updated %d paths\n"
-msgstr[0] "%d chemin mis à jour\n"
-msgstr[1] "%d chemins mis à jour\n"
-
-#: git-add--interactive.perl:629
-#, perl-format
-msgid "reverted %d path\n"
-msgid_plural "reverted %d paths\n"
-msgstr[0] "%d chemin inversé\n"
-msgstr[1] "%d chemins inversés\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 chemin touché\n"
 msgstr[1] "%d chemins touchés\n"
 
-#: git-add--interactive.perl:641
-msgid "Update"
-msgstr "Mise à jour"
-
-#: git-add--interactive.perl:653
-msgid "Revert"
-msgstr "Inverser"
-
-#: git-add--interactive.perl:676
-#, perl-format
-msgid "note: %s is untracked now.\n"
-msgstr "note : %s n'est plus suivi à présent.\n"
-
-#: git-add--interactive.perl:687
-msgid "Add untracked"
-msgstr "Ajouter un fichier non-suivi"
-
-#: git-add--interactive.perl:693
-msgid "No untracked files.\n"
-msgstr "Aucun Fichier non suivi.\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."
@@ -23192,7 +24342,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme indexée."
 
-#: 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."
@@ -23200,7 +24350,7 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme remisée."
 
-#: 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."
@@ -23208,8 +24358,8 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme desindexée."
 
-#: 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."
@@ -23217,8 +24367,8 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme appliquée."
 
-#: 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."
@@ -23226,17 +24376,12 @@ msgstr ""
 "Si le patch s'applique proprement, la section éditée sera\n"
 "immédiatement marquée comme éliminée."
 
-#: git-add--interactive.perl:1109
+#: git-add--interactive.perl:1111
 #, perl-format
 msgid "failed to open hunk edit file for writing: %s"
 msgstr "impossible d'ouvrir le fichier d'édition de section en écriture : %s"
 
-#: git-add--interactive.perl:1110
-msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr ""
-"Mode d'édition manuelle de section -- voir ci-dessous pour un guide rapide.\n"
-
-#: git-add--interactive.perl:1116
+#: git-add--interactive.perl:1118
 #, perl-format
 msgid ""
 "---\n"
@@ -23249,36 +24394,12 @@ msgstr ""
 "Pour éliminer les lignes '%s', effacez-les.\n"
 "Les lignes commençant par %s seront éliminées.\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 ""
-"Si ça ne s'applique pas proprement, vous aurez la possibilité de\n"
-"l'éditer à nouveau. Si toutes les lignes de la section sont supprimées,\n"
-"alors l'édition sera abandonnée et la section conservée.\n"
-
-#: git-add--interactive.perl:1138
+#: git-add--interactive.perl:1140
 #, perl-format
 msgid "failed to open hunk edit file for reading: %s"
 msgstr "échec de l'ouverture du fichier d'édition de section en lecture : %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 ""
-"Votre section éditée ne s'applique pas. L'éditer à nouveau (\"no\" "
-"l'élimine !) [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"
@@ -23292,7 +24413,7 @@ msgstr ""
 "a - indexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas indexer cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1252
+#: git-add--interactive.perl:1254
 msgid ""
 "y - stash this hunk\n"
 "n - do not stash this hunk\n"
@@ -23306,7 +24427,7 @@ msgstr ""
 "a - remiser cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas remiser cette section ni les suivantes de ce fichier"
 
-#: git-add--interactive.perl:1258
+#: git-add--interactive.perl:1260
 msgid ""
 "y - unstage this hunk\n"
 "n - do not unstage this hunk\n"
@@ -23320,7 +24441,7 @@ msgstr ""
 "a - désindexer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas désindexer cette section ni les suivantes de ce fichier"
 
-#: 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"
@@ -23334,7 +24455,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: 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"
@@ -23348,7 +24469,7 @@ msgstr ""
 "a - supprimer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas supprimer cette section ni les suivantes de ce fichier"
 
-#: 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"
@@ -23362,7 +24483,7 @@ msgstr ""
 "a - éliminer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas éliminer cette section ni les suivantes de ce fichier"
 
-#: 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"
@@ -23376,7 +24497,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: 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"
@@ -23390,7 +24511,7 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier"
 
-#: 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"
@@ -23412,234 +24533,86 @@ msgstr ""
 "e - éditer manuellement la section actuelle\n"
 "? - afficher l'aide\n"
 
-#: git-add--interactive.perl:1340
+#: git-add--interactive.perl:1342
 msgid "The selected hunks do not apply to the index!\n"
 msgstr "Les sections sélectionnées ne s'applique pas à l'index !\n"
 
-#: git-add--interactive.perl:1341
-msgid "Apply them to the worktree anyway? "
-msgstr "Les appliquer quand même à l'arbre de travail ? "
-
-#: git-add--interactive.perl:1344
-msgid "Nothing was applied.\n"
-msgstr "Rien n'a été appliqué.\n"
-
-#: git-add--interactive.perl:1355
+#: git-add--interactive.perl:1357
 #, perl-format
 msgid "ignoring unmerged: %s\n"
 msgstr "fichier non-fusionné ignoré : %s\n"
 
-#: git-add--interactive.perl:1364
-msgid "Only binary files changed.\n"
-msgstr "Seuls des fichiers binaires ont changé.\n"
-
-#: git-add--interactive.perl:1366
-msgid "No changes.\n"
-msgstr "Aucune modification.\n"
-
-#: git-add--interactive.perl:1374
-msgid "Patch update"
-msgstr "Mise à jour par patch"
-
-#: git-add--interactive.perl:1426
-#, perl-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr "Indexer le changement de mode [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1427
-#, perl-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr "Indexer la suppression [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1428
-#, perl-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Indexer cette section [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1431
-#, perl-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr "Remiser le changement de mode [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1432
-#, perl-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr "Remiser la suppression [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1433
-#, perl-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr "Remiser cette section [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1436
-#, perl-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr "Désindexer le changement de mode [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1437
-#, perl-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr "Désindexer la suppression [y,n,q,a,d%s,?] ? "
-
-#: git-add--interactive.perl:1438
-#, perl-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Désindexer cette section [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 "Appliquer le changement de mode à l'index [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 "Appliquer la suppression à l'index [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 "Appliquer cette section à l'index [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 "Abandonner le changement de mode dans l'arbre [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 "Abandonner la suppression dans l'arbre [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 "Abandonner cette section dans l'arbre [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 ""
-"Abandonner le changement de mode dans l'index et l'arbre [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 "Abandonner la suppression de l'index et de l'arbre [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 ""
-"Supprimer la section dans l'index et l'arbre de travail [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 ""
-"Appliquer le changement de mode dans l'index et l'arbre de travail [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 ""
-"Appliquer la suppression dans l'index et l'arbre de travail [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 ""
-"Appliquer la section à l'index et l'arbre de travail [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 ""
 "Appliquer le changement de mode dans l'arbre de travail [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 "Appliquer la suppression dans l'arbre de travail [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 "Appliquer la section à l'arbre de travail [y,n,q,a,d%s,?] ? "
 
-#: git-add--interactive.perl:1568
+#: git-add--interactive.perl:1570
 msgid "No other hunks to goto\n"
 msgstr "Aucune autre section à atteindre\n"
 
-#: git-add--interactive.perl:1575
-msgid "go to which hunk (<ret> to see more)? "
-msgstr "aller à quelle section (<ret> pour voir plus) ? "
-
-#: git-add--interactive.perl:1577
-msgid "go to which hunk? "
-msgstr "aller à quelle section ? "
-
-#: git-add--interactive.perl:1586
+#: git-add--interactive.perl:1588
 #, perl-format
 msgid "Invalid number: '%s'\n"
 msgstr "Nombre invalide : '%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] "Désolé, %d seule section disponible.\n"
 msgstr[1] "Désolé, Seulement %d sections disponibles.\n"
 
-#: git-add--interactive.perl:1617
+#: git-add--interactive.perl:1619
 msgid "No other hunks to search\n"
 msgstr "aucune autre section à rechercher\n"
 
-#: git-add--interactive.perl:1621
-msgid "search for regex? "
-msgstr "rechercher la regex ? "
-
-#: git-add--interactive.perl:1634
+#: git-add--interactive.perl:1636
 #, perl-format
 msgid "Malformed search regexp %s: %s\n"
 msgstr "Regex de recherche malformée %s : %s\n"
 
-#: git-add--interactive.perl:1644
+#: git-add--interactive.perl:1646
 msgid "No hunk matches the given pattern\n"
 msgstr "Aucune section ne correspond au motif donné\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 "Pas de section précédente\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 "Pas de section suivante\n"
 
-#: git-add--interactive.perl:1690
+#: git-add--interactive.perl:1692
 msgid "Sorry, cannot split this hunk\n"
 msgstr "Désolé, impossible de découper cette section\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] "Découpée en %d section.\n"
 msgstr[1] "Découpée en %d sections.\n"
 
-#: git-add--interactive.perl:1706
+#: git-add--interactive.perl:1708
 msgid "Sorry, cannot edit this hunk\n"
 msgstr "Désolé, impossible d'éditer cette section\n"
 
-#: git-add--interactive.perl:1752
-msgid "Review diff"
-msgstr "Réviser la différence"
-
 #. 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"
@@ -23657,19 +24630,19 @@ msgstr ""
 "diff          - visualiser les diff entre HEAD et l'index\n"
 "add untracked - ajouter les fichiers non-suivis aux modifications à indexer\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 "-- manquant"
 
-#: git-add--interactive.perl:1819
+#: git-add--interactive.perl:1821
 #, perl-format
 msgid "unknown --patch mode: %s"
 msgstr "mode de --patch inconnu : %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 "argument invalide %s, -- attendu"