summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore33
-rw-r--r--.mailmap1
-rw-r--r--.travis.yml19
-rw-r--r--Documentation/CodingGuidelines5
-rw-r--r--Documentation/RelNotes/2.4.11.txt11
-rw-r--r--Documentation/RelNotes/2.5.5.txt11
-rw-r--r--Documentation/RelNotes/2.6.6.txt11
-rw-r--r--Documentation/RelNotes/2.7.3.txt62
-rw-r--r--Documentation/RelNotes/2.7.4.txt11
-rw-r--r--Documentation/RelNotes/2.8.0.txt164
-rw-r--r--Documentation/RelNotes/2.8.1.txt9
-rw-r--r--Documentation/RelNotes/2.8.2.txt70
-rw-r--r--Documentation/RelNotes/2.8.3.txt70
-rw-r--r--Documentation/RelNotes/2.9.0.txt395
-rw-r--r--Documentation/SubmittingPatches80
-rw-r--r--Documentation/config.txt114
-rw-r--r--Documentation/diff-config.txt10
-rw-r--r--Documentation/diff-options.txt6
-rw-r--r--Documentation/git-apply.txt4
-rw-r--r--Documentation/git-check-ignore.txt1
-rw-r--r--Documentation/git-clone.txt15
-rw-r--r--Documentation/git-commit-tree.txt4
-rw-r--r--Documentation/git-config.txt35
-rw-r--r--Documentation/git-credential-cache.txt2
-rw-r--r--Documentation/git-fetch-pack.txt4
-rw-r--r--Documentation/git-for-each-ref.txt22
-rw-r--r--Documentation/git-init.txt7
-rw-r--r--Documentation/git-ls-files.txt2
-rw-r--r--Documentation/git-merge.txt1
-rw-r--r--Documentation/git-p4.txt21
-rw-r--r--Documentation/git-pack-objects.txt3
-rw-r--r--Documentation/git-pull.txt9
-rw-r--r--Documentation/git-push.txt7
-rw-r--r--Documentation/git-rebase.txt8
-rw-r--r--Documentation/git-repack.txt8
-rw-r--r--Documentation/git-submodule.txt26
-rw-r--r--Documentation/git-svn.txt12
-rw-r--r--Documentation/git-worktree.txt8
-rw-r--r--Documentation/git.txt26
-rw-r--r--Documentation/gitcredentials.txt5
-rw-r--r--Documentation/githooks.txt75
-rw-r--r--Documentation/gitignore.txt17
-rw-r--r--Documentation/glossary-content.txt2
-rw-r--r--Documentation/merge-options.txt8
-rw-r--r--Documentation/merge-strategies.txt12
-rw-r--r--Documentation/pretty-options.txt14
-rw-r--r--Documentation/technical/api-argv-array.txt7
-rw-r--r--Documentation/technical/api-config.txt7
-rw-r--r--Documentation/technical/api-parse-options.txt7
-rw-r--r--Documentation/technical/api-trace.txt45
-rw-r--r--Documentation/technical/pack-protocol.txt2
-rw-r--r--Documentation/user-manual.txt2
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--Makefile77
-rw-r--r--README.md (renamed from README)59
l---------RelNotes2
-rw-r--r--abspath.c5
-rw-r--r--alias.c2
-rw-r--r--archive.c4
-rw-r--r--argv-array.c11
-rw-r--r--argv-array.h1
-rw-r--r--attr.c8
-rw-r--r--bisect.c4
-rw-r--r--branch.c73
-rw-r--r--branch.h10
-rw-r--r--builtin/apply.c34
-rw-r--r--builtin/blame.c8
-rw-r--r--builtin/branch.c61
-rw-r--r--builtin/check-ref-format.c2
-rw-r--r--builtin/checkout.c5
-rw-r--r--builtin/clean.c4
-rw-r--r--builtin/clone.c38
-rw-r--r--builtin/commit-tree.c4
-rw-r--r--builtin/commit.c18
-rw-r--r--builtin/config.c69
-rw-r--r--builtin/diff.c1
-rw-r--r--builtin/fast-export.c2
-rw-r--r--builtin/fetch-pack.c35
-rw-r--r--builtin/fetch.c9
-rw-r--r--builtin/fsck.c3
-rw-r--r--builtin/grep.c22
-rw-r--r--builtin/help.c9
-rw-r--r--builtin/index-pack.c48
-rw-r--r--builtin/init-db.c48
-rw-r--r--builtin/log.c17
-rw-r--r--builtin/merge-base.c2
-rw-r--r--builtin/merge-tree.c20
-rw-r--r--builtin/merge.c37
-rw-r--r--builtin/mktree.c9
-rw-r--r--builtin/mv.c28
-rw-r--r--builtin/name-rev.c19
-rw-r--r--builtin/notes.c5
-rw-r--r--builtin/pack-objects.c20
-rw-r--r--builtin/pack-redundant.c2
-rw-r--r--builtin/pull.c50
-rw-r--r--builtin/push.c34
-rw-r--r--builtin/receive-pack.c74
-rw-r--r--builtin/reflog.c17
-rw-r--r--builtin/remote-ext.c28
-rw-r--r--builtin/remote.c93
-rw-r--r--builtin/replace.c1
-rw-r--r--builtin/rev-parse.c50
-rw-r--r--builtin/rm.c2
-rw-r--r--builtin/send-pack.c2
-rw-r--r--builtin/submodule--helper.c649
-rw-r--r--builtin/tag.c28
-rw-r--r--builtin/verify-tag.c61
-rw-r--r--builtin/worktree.c31
-rw-r--r--bundle.c23
-rw-r--r--cache-tree.c8
-rw-r--r--cache.h81
-rw-r--r--column.c5
-rw-r--r--combine-diff.c26
-rw-r--r--commit.c4
-rw-r--r--commit.h1
-rw-r--r--compat/apple-common-crypto.h16
-rw-r--r--compat/mingw.c19
-rw-r--r--compat/mingw.h8
-rw-r--r--compat/precompose_utf8.c5
-rw-r--r--compat/qsort.c2
-rw-r--r--compat/setenv.c2
-rw-r--r--compat/snprintf.c2
-rw-r--r--compat/vcbuild/include/unistd.h4
-rw-r--r--compat/win32/pthread.h2
-rw-r--r--compat/win32/syslog.c4
-rw-r--r--compat/win32mmap.c31
-rw-r--r--config.c124
-rw-r--r--config.mak.uname2
-rw-r--r--configure.ac11
-rw-r--r--connect.c4
-rw-r--r--contrib/completion/git-completion.bash7
-rw-r--r--contrib/hooks/multimail/CHANGES43
-rw-r--r--contrib/hooks/multimail/CONTRIBUTING.rst17
-rw-r--r--contrib/hooks/multimail/README215
-rw-r--r--contrib/hooks/multimail/README.Git4
-rw-r--r--contrib/hooks/multimail/doc/customizing-emails.rst56
-rw-r--r--contrib/hooks/multimail/doc/troubleshooting.rst44
-rwxr-xr-xcontrib/hooks/multimail/git_multimail.py250
-rwxr-xr-xcontrib/hooks/multimail/post-receive.example6
-rw-r--r--convert.c190
-rw-r--r--credential-cache--daemon.c49
-rw-r--r--credential-cache.c1
-rw-r--r--credential.c9
-rw-r--r--daemon.c12
-rw-r--r--diff.c44
-rw-r--r--diff.h21
-rw-r--r--diffcore-delta.c6
-rw-r--r--diffcore-order.c4
-rw-r--r--diffcore-rename.c8
-rw-r--r--dir.c256
-rw-r--r--dir.h12
-rw-r--r--entry.c2
-rw-r--r--environment.c25
-rw-r--r--ewah/bitmap.c20
-rw-r--r--ewah/ewah_bitmap.c10
-rw-r--r--ewah/ewah_io.c12
-rw-r--r--ewah/ewok.h10
-rw-r--r--exec_cmd.c34
-rw-r--r--exec_cmd.h4
-rw-r--r--fast-import.c12
-rw-r--r--fetch-pack.c4
-rw-r--r--fsck.c13
-rwxr-xr-xgit-add--interactive.perl12
-rw-r--r--git-compat-util.h115
-rwxr-xr-xgit-cvsserver.perl6
-rwxr-xr-xgit-difftool--helper.sh4
-rwxr-xr-xgit-merge-octopus.sh6
-rwxr-xr-xgit-merge-one-file.sh3
-rw-r--r--git-mergetool--lib.sh27
-rwxr-xr-xgit-mergetool.sh27
-rwxr-xr-xgit-p4.py34
-rw-r--r--git-parse-remote.sh46
-rw-r--r--git-rebase--interactive.sh6
-rw-r--r--git-rebase--merge.sh4
-rwxr-xr-xgit-rebase.sh12
-rwxr-xr-xgit-send-email.perl13
-rw-r--r--git-sh-setup.sh4
-rwxr-xr-xgit-submodule.sh238
-rwxr-xr-xgit-svn.perl14
-rw-r--r--git.c43
-rw-r--r--git.spec.in330
-rwxr-xr-xgitk-git/gitk8
-rw-r--r--gitk-git/po/bg.po656
-rw-r--r--gitk-git/po/de.po79
-rw-r--r--gitk-git/po/fr.po849
-rwxr-xr-xgitweb/gitweb.perl3
-rw-r--r--gpg-interface.c2
-rw-r--r--graph.c10
-rw-r--r--grep.c3
-rw-r--r--hashmap.c3
-rw-r--r--help.c6
-rw-r--r--http-backend.c4
-rw-r--r--http-push.c14
-rw-r--r--http.c48
-rw-r--r--http.h1
-rw-r--r--ident.c16
-rw-r--r--imap-send.c37
-rw-r--r--khash.h2
-rw-r--r--levenshtein.c8
-rw-r--r--line-log.c30
-rw-r--r--list-objects.c6
-rw-r--r--ll-merge.c2
-rw-r--r--lockfile.c12
-rw-r--r--log-tree.c6
-rw-r--r--mailmap.c3
-rw-r--r--match-trees.c60
-rw-r--r--merge-blobs.c38
-rw-r--r--merge-recursive.c26
-rw-r--r--merge-recursive.h1
-rw-r--r--mergetools/examdiff18
-rw-r--r--mergetools/winmerge21
-rw-r--r--name-hash.c3
-rw-r--r--notes.c6
-rw-r--r--pack-check.c2
-rw-r--r--pack-revindex.c12
-rw-r--r--path.c15
-rw-r--r--pathspec.c5
-rw-r--r--perl/Git.pm2
-rw-r--r--perl/Git/SVN.pm3
-rw-r--r--perl/Git/SVN/GlobSpec.pm18
-rw-r--r--po/TEAMS2
-rw-r--r--po/ca.po2946
-rw-r--r--po/de.po3141
-rw-r--r--po/fr.po3051
-rw-r--r--po/git.pot2881
-rw-r--r--po/ko.po3112
-rw-r--r--po/pt_PT.po12193
-rw-r--r--po/ru.po3022
-rw-r--r--po/sv.po3038
-rw-r--r--po/vi.po3039
-rw-r--r--po/zh_CN.po3011
-rw-r--r--pretty.c90
-rw-r--r--progress.c2
-rw-r--r--ref-filter.c464
-rw-r--r--refs.c159
-rw-r--r--refs.h21
-rw-r--r--refs/files-backend.c461
-rw-r--r--refs/refs-internal.h15
-rw-r--r--remote-curl.c30
-rw-r--r--remote.c110
-rw-r--r--remote.h3
-rw-r--r--rerere.c626
-rw-r--r--rerere.h4
-rw-r--r--revision.c20
-rw-r--r--revision.h2
-rw-r--r--run-command.c119
-rw-r--r--run-command.h19
-rw-r--r--send-pack.c7
-rw-r--r--sequencer.c29
-rw-r--r--setup.c163
-rw-r--r--sha1_file.c41
-rw-r--r--sha1_name.c17
-rw-r--r--shallow.c8
-rw-r--r--show-index.c3
-rw-r--r--split-index.c2
-rw-r--r--strbuf.c16
-rw-r--r--strbuf.h6
-rw-r--r--string-list.c8
-rw-r--r--submodule-config.c38
-rw-r--r--submodule-config.h2
-rw-r--r--submodule.c81
-rw-r--r--submodule.h19
-rw-r--r--t/helper/.gitignore33
-rw-r--r--t/helper/test-chmtime.c (renamed from test-chmtime.c)0
-rw-r--r--t/helper/test-config.c (renamed from test-config.c)0
-rw-r--r--t/helper/test-ctype.c (renamed from test-ctype.c)0
-rw-r--r--t/helper/test-date.c (renamed from test-date.c)0
-rw-r--r--t/helper/test-delta.c (renamed from test-delta.c)0
-rw-r--r--t/helper/test-dump-cache-tree.c (renamed from test-dump-cache-tree.c)0
-rw-r--r--t/helper/test-dump-split-index.c (renamed from test-dump-split-index.c)0
-rw-r--r--t/helper/test-dump-untracked-cache.c (renamed from test-dump-untracked-cache.c)0
-rw-r--r--t/helper/test-fake-ssh.c (renamed from test-fake-ssh.c)0
-rw-r--r--t/helper/test-genrandom.c (renamed from test-genrandom.c)0
-rw-r--r--t/helper/test-hashmap.c (renamed from test-hashmap.c)0
-rw-r--r--t/helper/test-index-version.c (renamed from test-index-version.c)0
-rw-r--r--t/helper/test-line-buffer.c (renamed from test-line-buffer.c)0
-rw-r--r--t/helper/test-match-trees.c26
-rw-r--r--t/helper/test-mergesort.c (renamed from test-mergesort.c)0
-rw-r--r--t/helper/test-mktemp.c (renamed from test-mktemp.c)0
-rw-r--r--t/helper/test-parse-options.c (renamed from test-parse-options.c)0
-rw-r--r--t/helper/test-path-utils.c (renamed from test-path-utils.c)15
-rw-r--r--t/helper/test-prio-queue.c (renamed from test-prio-queue.c)0
-rw-r--r--t/helper/test-read-cache.c (renamed from test-read-cache.c)0
-rw-r--r--t/helper/test-regex.c (renamed from test-regex.c)0
-rw-r--r--t/helper/test-revision-walking.c (renamed from test-revision-walking.c)2
-rw-r--r--t/helper/test-run-command.c (renamed from test-run-command.c)1
-rw-r--r--t/helper/test-scrap-cache-tree.c (renamed from test-scrap-cache-tree.c)0
-rw-r--r--t/helper/test-sha1-array.c (renamed from test-sha1-array.c)0
-rw-r--r--t/helper/test-sha1.c (renamed from test-sha1.c)0
-rwxr-xr-xt/helper/test-sha1.sh (renamed from test-sha1.sh)4
-rw-r--r--t/helper/test-sigchain.c (renamed from test-sigchain.c)0
-rw-r--r--t/helper/test-string-list.c (renamed from test-string-list.c)0
-rw-r--r--t/helper/test-submodule-config.c (renamed from test-submodule-config.c)0
-rw-r--r--t/helper/test-subprocess.c (renamed from test-subprocess.c)0
-rw-r--r--t/helper/test-svn-fe.c (renamed from test-svn-fe.c)0
-rw-r--r--t/helper/test-urlmatch-normalization.c (renamed from test-urlmatch-normalization.c)0
-rw-r--r--t/helper/test-wildmatch.c (renamed from test-wildmatch.c)0
-rw-r--r--t/lib-git-p4.sh40
-rwxr-xr-xt/lib-gpg.sh5
-rw-r--r--t/lib-httpd/apache.conf9
-rwxr-xr-xt/t0000-basic.sh2
-rwxr-xr-xt/t0001-init.sh20
-rwxr-xr-xt/t0027-auto-crlf.sh314
-rwxr-xr-xt/t0060-path-utils.sh46
-rwxr-xr-xt/t0300-credentials.sh11
-rwxr-xr-xt/t1020-subdirectory.sh10
-rwxr-xr-xt/t1300-repo-config.sh169
-rwxr-xr-xt/t1308-config-set.sh15
-rwxr-xr-xt/t1350-config-hooks-path.sh37
-rwxr-xr-xt/t1410-reflog.sh10
-rwxr-xr-xt/t1430-bad-ref-name.sh132
-rwxr-xr-xt/t1501-work-tree.sh (renamed from t/t1501-worktree.sh)0
-rwxr-xr-xt/t1506-rev-parse-diagnosis.sh5
-rwxr-xr-xt/t1509-root-work-tree.sh (renamed from t/t1509-root-worktree.sh)0
-rwxr-xr-xt/t1515-rev-parse-outside-repo.sh45
-rwxr-xr-xt/t2025-worktree-add.sh12
-rwxr-xr-xt/t3001-ls-files-others-exclude.sh7
-rwxr-xr-xt/t3007-ls-files-other-negative.sh153
-rwxr-xr-xt/t3032-merge-recursive-space-options.sh (renamed from t/t3032-merge-recursive-options.sh)2
-rwxr-xr-xt/t3033-merge-toplevel.sh16
-rwxr-xr-xt/t3034-merge-recursive-rename-options.sh312
-rwxr-xr-xt/t3200-branch.sh45
-rwxr-xr-xt/t3203-branch-output.sh12
-rwxr-xr-xt/t3402-rebase-merge.sh9
-rwxr-xr-xt/t3404-rebase-interactive.sh28
-rwxr-xr-xt/t3412-rebase-root.sh2
-rwxr-xr-xt/t3421-rebase-topology-linear.sh4
-rwxr-xr-xt/t3513-revert-submodule.sh4
-rwxr-xr-xt/t4001-diff-rename.sh136
-rwxr-xr-xt/t4013-diff-various.sh2
-rwxr-xr-xt/t4014-format-patch.sh4
-rwxr-xr-xt/t4047-diff-dirstat.sh3
-rwxr-xr-xt/t4200-rerere.sh170
-rwxr-xr-xt/t4201-shortlog.sh2
-rwxr-xr-xt/t4202-log.sh8
-rwxr-xr-xt/t4213-log-tabexpand.sh105
-rwxr-xr-xt/t5300-pack-object.sh6
-rwxr-xr-xt/t5313-pack-bounds-checks.sh179
-rwxr-xr-xt/t5400-send-pack.sh12
-rwxr-xr-xt/t5500-fetch-pack.sh20
-rwxr-xr-xt/t5504-fetch-receive-strict.sh5
-rwxr-xr-xt/t5505-remote.sh42
-rwxr-xr-xt/t5510-fetch.sh11
-rwxr-xr-xt/t5520-pull.sh74
-rwxr-xr-xt/t5521-pull-options.sh21
-rwxr-xr-xt/t5526-fetch-submodules.sh14
-rwxr-xr-xt/t5532-fetch-proxy.sh21
-rwxr-xr-xt/t5551-http-fetch-smart.sh7
-rwxr-xr-xt/t5601-clone.sh2
-rwxr-xr-xt/t5604-clone-reference.sh (renamed from t/t5700-clone-reference.sh)0
-rwxr-xr-xt/t5605-clone-local.sh (renamed from t/t5701-clone-local.sh)0
-rwxr-xr-xt/t5606-clone-options.sh (renamed from t/t5702-clone-options.sh)0
-rwxr-xr-xt/t5607-clone-bundle.sh (renamed from t/t5704-bundle.sh)0
-rwxr-xr-xt/t5608-clone-2gb.sh (renamed from t/t5705-clone-2gb.sh)0
-rwxr-xr-xt/t5609-clone-branch.sh (renamed from t/t5706-clone-branch.sh)0
-rwxr-xr-xt/t5610-clone-detached.sh (renamed from t/t5707-clone-detached.sh)0
-rwxr-xr-xt/t5611-clone-config.sh (renamed from t/t5708-clone-config.sh)0
-rwxr-xr-xt/t5612-clone-refspec.sh (renamed from t/t5709-clone-refspec.sh)0
-rwxr-xr-xt/t5613-info-alternate.sh (renamed from t/t5710-info-alternate.sh)0
-rwxr-xr-xt/t5614-clone-submodules.sh85
-rwxr-xr-xt/t6009-rev-list-parent.sh4
-rwxr-xr-xt/t6010-merge-base.sh6
-rwxr-xr-xt/t6012-rev-list-simplify.sh2
-rwxr-xr-xt/t6026-merge-attr.sh3
-rwxr-xr-xt/t6029-merge-subtree.sh2
-rwxr-xr-xt/t6041-bisect-submodule.sh4
-rwxr-xr-xt/t6044-merge-unrelated-index-changes.sh153
-rwxr-xr-xt/t6101-rev-parse-parents.sh2
-rwxr-xr-xt/t6302-for-each-ref-filter.sh133
-rwxr-xr-xt/t7001-mv.sh18
-rwxr-xr-xt/t7004-tag.sh41
-rwxr-xr-xt/t7008-grep-binary.sh3
-rwxr-xr-xt/t7030-verify-tag.sh13
-rwxr-xr-xt/t7300-clean.sh2
-rwxr-xr-xt/t7400-submodule-basic.sh121
-rwxr-xr-xt/t7406-submodule-update.sh121
-rwxr-xr-xt/t7407-submodule-foreach.sh49
-rwxr-xr-xt/t7409-submodule-detached-work-tree.sh (renamed from t/t7409-submodule-detached-worktree.sh)0
-rwxr-xr-xt/t7501-commit.sh20
-rwxr-xr-xt/t7502-commit.sh5
-rwxr-xr-xt/t7510-signed-commit.sh13
-rwxr-xr-xt/t7600-merge.sh38
-rwxr-xr-xt/t7605-merge-resolve.sh6
-rwxr-xr-xt/t7609-merge-co-error-msgs.sh18
-rwxr-xr-xt/t7610-mergetool.sh64
-rwxr-xr-xt/t7800-difftool.sh2
-rwxr-xr-xt/t7810-grep.sh27
-rwxr-xr-xt/t8003-blame-corner-cases.sh14
-rwxr-xr-xt/t8005-blame-i18n.sh28
-rwxr-xr-xt/t9108-git-svn-glob.sh9
-rwxr-xr-xt/t9109-git-svn-multi-glob.sh9
-rwxr-xr-xt/t9115-git-svn-dcommit-funky-renames.sh4
-rwxr-xr-xt/t9117-git-svn-init-clone.sh6
-rwxr-xr-xt/t9168-git-svn-partially-globbed-names.sh223
-rwxr-xr-xt/t9200-git-cvsexportcommit.sh2
-rwxr-xr-xt/t9300-fast-import.sh4
-rwxr-xr-xt/t9400-git-cvsserver-server.sh3
-rwxr-xr-xt/t9700/test.pl8
-rwxr-xr-xt/t9802-git-p4-filetype.sh6
-rwxr-xr-xt/t9824-git-p4-git-lfs.sh6
-rwxr-xr-xt/t9826-git-p4-keep-empty-commits.sh60
-rwxr-xr-xt/t9828-git-p4-map-user.sh61
-rwxr-xr-xt/t9829-git-p4-jobs.sh99
-rwxr-xr-xt/t9903-bash-prompt.sh2
-rw-r--r--t/test-lib-functions.sh2
-rw-r--r--t/test-lib.sh14
-rw-r--r--tag.c53
-rw-r--r--tag.h2
-rwxr-xr-xtemplates/hooks--update.sample2
-rw-r--r--test-match-trees.c24
-rw-r--r--trailer.c2
-rw-r--r--transport-helper.c2
-rw-r--r--transport.c15
-rw-r--r--tree-diff.c12
-rw-r--r--tree-walk.c16
-rw-r--r--tree-walk.h8
-rw-r--r--tree.c10
-rw-r--r--unpack-trees.c78
-rw-r--r--upload-pack.c25
-rw-r--r--userdiff.h4
-rw-r--r--utf8.h2
-rw-r--r--walker.c4
-rw-r--r--wildmatch.c2
-rw-r--r--worktree.c2
-rw-r--r--wrapper.c20
-rw-r--r--write_or_die.c4
-rw-r--r--wt-status.c8
-rw-r--r--xdiff-interface.c2
-rw-r--r--xdiff/xdiff.h3
-rw-r--r--xdiff/xdiffi.c40
-rw-r--r--xdiff/xemit.c18
-rw-r--r--xdiff/xmerge.c9
-rw-r--r--xdiff/xprepare.c3
433 files changed, 34747 insertions, 19793 deletions
diff --git a/.gitignore b/.gitignore
index 5087ce1eb7..05cb58a3d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -179,39 +179,6 @@
/gitweb/gitweb.cgi
/gitweb/static/gitweb.js
/gitweb/static/gitweb.min.*
-/test-chmtime
-/test-ctype
-/test-config
-/test-date
-/test-delta
-/test-dump-cache-tree
-/test-dump-split-index
-/test-dump-untracked-cache
-/test-fake-ssh
-/test-scrap-cache-tree
-/test-genrandom
-/test-hashmap
-/test-index-version
-/test-line-buffer
-/test-match-trees
-/test-mergesort
-/test-mktemp
-/test-parse-options
-/test-path-utils
-/test-prio-queue
-/test-read-cache
-/test-regex
-/test-revision-walking
-/test-run-command
-/test-sha1
-/test-sha1-array
-/test-sigchain
-/test-string-list
-/test-submodule-config
-/test-subprocess
-/test-svn-fe
-/test-urlmatch-normalization
-/test-wildmatch
/common-cmds.h
*.tar.gz
*.dsc
diff --git a/.mailmap b/.mailmap
index e5b4126bec..a9162c0095 100644
--- a/.mailmap
+++ b/.mailmap
@@ -51,6 +51,7 @@ Dirk SΓΌsserott <newsletter@dirk.my1.cc>
Eric Blake <eblake@redhat.com> <ebb9@byu.net>
Eric Hanchrow <eric.hanchrow@gmail.com> <offby1@blarg.net>
Eric S. Raymond <esr@thyrsus.com>
+Eric Wong <e@80x24.org> <normalperson@yhbt.net>
Erik Faye-Lund <kusmabite@gmail.com> <kusmabite@googlemail.com>
Eyvind Bernhardsen <eyvind.bernhardsen@gmail.com> <eyvind-git@orakel.ntnu.no>
Florian Achleitner <florian.achleitner.2.6.31@gmail.com> <florian.achleitner2.6.31@gmail.com>
diff --git a/.travis.yml b/.travis.yml
index f8b73ec3da..1fdcec8437 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,12 +21,15 @@ addons:
env:
global:
- - P4_VERSION="15.2"
- - GIT_LFS_VERSION="1.1.0"
+ - DEVELOPER=1
+ # The Linux build installs the defined dependency versions below.
+ # The OS X build installs the latest available versions. Keep that
+ # in mind when you encounter a broken OS X build!
+ - LINUX_P4_VERSION="16.1"
+ - LINUX_GIT_LFS_VERSION="1.2.0"
- DEFAULT_TEST_TARGET=prove
- GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
- GIT_TEST_OPTS="--verbose --tee"
- - CFLAGS="-g -O2 -Wall -Werror"
- GIT_TEST_CLONE_2GB=YesPlease
# t9810 occasionally fails on Travis CI OS X
# t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
@@ -38,17 +41,17 @@ before_install:
linux)
mkdir --parents custom/p4
pushd custom/p4
- wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4d
- wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4
+ wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d
+ wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4
chmod u+x p4d
chmod u+x p4
export PATH="$(pwd):$PATH"
popd
mkdir --parents custom/git-lfs
pushd custom/git-lfs
- wget --quiet https://github.com/github/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz
- tar --extract --gunzip --file "git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz"
- cp git-lfs-$GIT_LFS_VERSION/git-lfs .
+ wget --quiet https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz
+ tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
+ cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
export PATH="$(pwd):$PATH"
popd
;;
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index c6e536f180..0ddd36879a 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -171,6 +171,11 @@ For C programs:
- We try to keep to at most 80 characters per line.
+ - As a Git developer we assume you have a reasonably modern compiler
+ and we recommend you to enable the DEVELOPER makefile knob to
+ ensure your patch is clear of all compiler warnings we care about,
+ by e.g. "echo DEVELOPER=1 >>config.mak".
+
- We try to support a wide range of C compilers to compile Git with,
including old ones. That means that you should not use C99
initializers, even if a lot of compilers grok it.
diff --git a/Documentation/RelNotes/2.4.11.txt b/Documentation/RelNotes/2.4.11.txt
new file mode 100644
index 0000000000..723360295c
--- /dev/null
+++ b/Documentation/RelNotes/2.4.11.txt
@@ -0,0 +1,11 @@
+Git v2.4.11 Release Notes
+=========================
+
+Fixes since v2.4.10
+-------------------
+
+ * Bugfix patches were backported from the 'master' front to plug heap
+ corruption holes, to catch integer overflow in the computation of
+ pathname lengths, and to get rid of the name_path API. Both of
+ these would have resulted in writing over an under-allocated buffer
+ when formulating pathnames while tree traversal.
diff --git a/Documentation/RelNotes/2.5.5.txt b/Documentation/RelNotes/2.5.5.txt
new file mode 100644
index 0000000000..37eae9a2d9
--- /dev/null
+++ b/Documentation/RelNotes/2.5.5.txt
@@ -0,0 +1,11 @@
+Git v2.5.5 Release Notes
+========================
+
+Fixes since v2.5.4
+------------------
+
+ * Bugfix patches were backported from the 'master' front to plug heap
+ corruption holes, to catch integer overflow in the computation of
+ pathname lengths, and to get rid of the name_path API. Both of
+ these would have resulted in writing over an under-allocated buffer
+ when formulating pathnames while tree traversal.
diff --git a/Documentation/RelNotes/2.6.6.txt b/Documentation/RelNotes/2.6.6.txt
new file mode 100644
index 0000000000..023ad85ec6
--- /dev/null
+++ b/Documentation/RelNotes/2.6.6.txt
@@ -0,0 +1,11 @@
+Git v2.6.6 Release Notes
+========================
+
+Fixes since v2.6.5
+------------------
+
+ * Bugfix patches were backported from the 'master' front to plug heap
+ corruption holes, to catch integer overflow in the computation of
+ pathname lengths, and to get rid of the name_path API. Both of
+ these would have resulted in writing over an under-allocated buffer
+ when formulating pathnames while tree traversal.
diff --git a/Documentation/RelNotes/2.7.3.txt b/Documentation/RelNotes/2.7.3.txt
new file mode 100644
index 0000000000..6adf038915
--- /dev/null
+++ b/Documentation/RelNotes/2.7.3.txt
@@ -0,0 +1,62 @@
+Git v2.7.3 Release Notes
+========================
+
+Fixes since v2.7.2
+------------------
+
+ * Traditionally, the tests that try commands that work on the
+ contents in the working tree were named with "worktree" in their
+ filenames, but with the recent addition of "git worktree"
+ subcommand, whose tests are also named similarly, it has become
+ harder to tell them apart. The traditional tests have been renamed
+ to use "work-tree" instead in an attempt to differentiate them.
+
+ * Many codepaths forget to check return value from git_config_set();
+ the function is made to die() to make sure we do not proceed when
+ setting a configuration variable failed.
+
+ * Handling of errors while writing into our internal asynchronous
+ process has been made more robust, which reduces flakiness in our
+ tests.
+
+ * "git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a
+ rev, i.e. the object named by the the pathname with wildcard
+ characters in a tree object.
+
+ * "git rev-parse --git-common-dir" used in the worktree feature
+ misbehaved when run from a subdirectory.
+
+ * The "v(iew)" subcommand of the interactive "git am -i" command was
+ broken in 2.6.0 timeframe when the command was rewritten in C.
+
+ * "git merge-tree" used to mishandle "both sides added" conflict with
+ its own "create a fake ancestor file that has the common parts of
+ what both sides have added and do a 3-way merge" logic; this has
+ been updated to use the usual "3-way merge with an empty blob as
+ the fake common ancestor file" approach used in the rest of the
+ system.
+
+ * The memory ownership rule of fill_textconv() API, which was a bit
+ tricky, has been documented a bit better.
+
+ * The documentation did not clearly state that the 'simple' mode is
+ now the default for "git push" when push.default configuration is
+ not set.
+
+ * Recent versions of GNU grep are pickier when their input contains
+ arbitrary binary data, which some of our tests uses. Rewrite the
+ tests to sidestep the problem.
+
+ * A helper function "git submodule" uses since v2.7.0 to list the
+ modules that match the pathspec argument given to its subcommands
+ (e.g. "submodule add <repo> <path>") has been fixed.
+
+ * "git config section.var value" to set a value in per-repository
+ configuration file failed when it was run outside any repository,
+ but didn't say the reason correctly.
+
+ * The code to read the pack data using the offsets stored in the pack
+ idx file has been made more carefully check the validity of the
+ data in the idx.
+
+Also includes documentation and test updates.
diff --git a/Documentation/RelNotes/2.7.4.txt b/Documentation/RelNotes/2.7.4.txt
new file mode 100644
index 0000000000..883ae896fe
--- /dev/null
+++ b/Documentation/RelNotes/2.7.4.txt
@@ -0,0 +1,11 @@
+Git v2.7.4 Release Notes
+========================
+
+Fixes since v2.7.3
+------------------
+
+ * Bugfix patches were backported from the 'master' front to plug heap
+ corruption holes, to catch integer overflow in the computation of
+ pathname lengths, and to get rid of the name_path API. Both of
+ these would have resulted in writing over an under-allocated buffer
+ when formulating pathnames while tree traversal.
diff --git a/Documentation/RelNotes/2.8.0.txt b/Documentation/RelNotes/2.8.0.txt
index 3df3a98f70..25079710fa 100644
--- a/Documentation/RelNotes/2.8.0.txt
+++ b/Documentation/RelNotes/2.8.0.txt
@@ -16,7 +16,9 @@ UI, Workflows & Features
the source repository has packed references for a long time, and
nobody noticed nor complained about it.
- * "branch --delete" has "branch -d" but "push --delete" does not.
+ * "push" learned that its "--delete" option can be shortened to
+ "-d", just like "branch --delete" and "branch -d" are the same
+ thing.
* "git blame" learned to produce the progress eye-candy when it takes
too much time before emitting the first line of the result.
@@ -32,7 +34,7 @@ UI, Workflows & Features
have a place to store the updated notes tree, iow, a ref).
* "git grep" by default does not fall back to its "--no-index"
- behaviour outside a directory under Git's control (otherwise the
+ behavior outside a directory under Git's control (otherwise the
user may by mistake end up running a huge recursive search); with a
new configuration (set in $HOME/.gitconfig--by definition this
cannot be set in the config file per project), this safety can be
@@ -53,7 +55,7 @@ UI, Workflows & Features
* Many commands that read files that are expected to contain text
that is generated (or can be edited) by the end user to control
- their behaviour (e.g. "git grep -f <filename>") have been updated
+ their behavior (e.g. "git grep -f <filename>") have been updated
to be more tolerant to lines that are terminated with CRLF (they
used to treat such a line to contain payload that ends with CR,
which is usually not what the users expect).
@@ -110,14 +112,41 @@ UI, Workflows & Features
* You can now set http.[<url>.]pinnedpubkey to specify the pinned
public key when building with recent enough versions of libcURL.
+ * The configuration system has been taught to phrase where it found a
+ bad configuration variable in a better way in its error messages.
+ "git config" learnt a new "--show-origin" option to indicate where
+ the values come from.
+
+ * The "credential-cache" daemon process used to run in whatever
+ directory it happened to start in, but this made umount(2)ing the
+ filesystem that houses the repository harder; now the process
+ chdir()s to the directory that house its own socket on startup.
+
+ * When "git submodule update" did not result in fetching the commit
+ object in the submodule that is referenced by the superproject, the
+ command learned to retry another fetch, specifically asking for
+ that commit that may not be connected to the refs it usually
+ fetches.
+
+ * "git merge-recursive" learned "--no-renames" option to disable its
+ rename detection logic.
+
+ * Across the transition at around Git version 2.0, the user used to
+ get a pretty loud warning when running "git push" without setting
+ push.default configuration variable. We no longer warn because the
+ transition was completed a long time ago.
+
+ * README has been renamed to README.md and its contents got tweaked
+ slightly to make it easier on the eyes.
+
Performance, Internal Implementation, Development Support etc.
* Add a framework to spawn a group of processes in parallel, and use
it to run "git fetch --recurse-submodules" in parallel.
- * A slight update to the Makefile to mark "phoney" targets
- as such correctly.
+ * A slight update to the Makefile to mark ".PHONY" targets as such
+ correctly.
* In-core storage of the reverse index for .pack files (which lets
you go from a pack offset to an object name) has been streamlined.
@@ -158,16 +187,10 @@ Performance, Internal Implementation, Development Support etc.
with expectations that are not satisfiable on Git for Windows.
* Some calls to strcpy(3) triggers a false warning from static
- analysers that are less intelligent than humans, and reducing the
- number of these false hits helps us notice real issues. A few
- calls to strcpy(3) in test-path-utils that are already safe has
- been rewritten to avoid false wanings.
-
- * Some calls to strcpy(3) triggers a false warning from static
- analysers that are less intelligent than humans, and reducing the
+ analyzers that are less intelligent than humans, and reducing the
number of these false hits helps us notice real issues. A few
- calls to strcpy(3) in "git rerere" that are already safe has been
- rewritten to avoid false wanings.
+ calls to strcpy(3) in a couple of protrams that are already safe
+ has been rewritten to avoid false warnings.
* The "name_path" API was an attempt to reduce the need to construct
the full path out of a series of path components while walking a
@@ -179,6 +202,58 @@ Performance, Internal Implementation, Development Support etc.
* Help those who debug http(s) part of the system.
(merge 0054045 sp/remote-curl-ssl-strerror later to maint).
+ * The internal API to interact with "remote.*" configuration
+ variables has been streamlined.
+
+ * The ref-filter's format-parsing code has been refactored, in
+ preparation for "branch --format" and friends.
+
+ * Traditionally, the tests that try commands that work on the
+ contents in the working tree were named with "worktree" in their
+ filenames, but with the recent addition of "git worktree"
+ subcommand, whose tests are also named similarly, it has become
+ harder to tell them apart. The traditional tests have been renamed
+ to use "work-tree" instead in an attempt to differentiate them.
+ (merge 5549029 mg/work-tree-tests later to maint).
+
+ * Many codepaths forget to check return value from git_config_set();
+ the function is made to die() to make sure we do not proceed when
+ setting a configuration variable failed.
+ (merge 3d18064 ps/config-error later to maint).
+
+ * Handling of errors while writing into our internal asynchronous
+ process has been made more robust, which reduces flakiness in our
+ tests.
+ (merge 43f3afc jk/epipe-in-async later to maint).
+
+ * There is a new DEVELOPER knob that enables many compiler warning
+ options in the Makefile.
+
+ * The way the test scripts configure the Apache web server has been
+ updated to work also for Apache 2.4 running on RedHat derived
+ distros.
+
+ * Out of maintenance gcc on OSX 10.6 fails to compile the code in
+ 'master'; work it around by using clang by default on the platform.
+
+ * The "name_path" API was an attempt to reduce the need to construct
+ the full path out of a series of path components while walking a
+ tree hierarchy, but over time made less efficient because the path
+ needs to be flattened, e.g. to be compared with another path that
+ is already flat, in many cases. The API has been removed and its
+ users have been rewritten to simplify the overall code complexity.
+ This incidentally also closes some heap-corruption holes.
+
+ * Recent versions of GNU grep is pickier than before to decide if a
+ file is "binary" and refuse to give line-oriented hits when we
+ expect it to, unless explicitly told with "-a" option. As our
+ scripted Porcelains use sane_grep wrapper for line-oriented data,
+ even when the line may contain non-ASCII payload we took from
+ end-user data, use "grep -a" to implement sane_grep wrapper when
+ using an implementation of "grep" that takes the "-a" option.
+
+
+
Also contains various documentation updates and code clean-ups.
@@ -206,7 +281,7 @@ notes for details).
* "git send-email" was confused by escaped quotes stored in the alias
files saved by "mutt", which has been corrected.
- * A few unportable C construct have been spotted by clang compiler
+ * A few non-portable C construct have been spotted by clang compiler
and have been fixed.
* The documentation has been updated to hint the connection between
@@ -267,17 +342,17 @@ notes for details).
* dirname() emulation has been added, as Msys2 lacks it.
* The underlying machinery used by "ls-files -o" and other commands
- have been taught not to create empty submodule ref cache for a
+ has been taught not to create empty submodule ref cache for a
directory that is not a submodule. This removes a ton of wasted
CPU cycles.
* "git worktree" had a broken code that attempted to auto-fix
possible inconsistency that results from end-users moving a
worktree to different places without telling Git (the original
- repository needs to maintain backpointers to its worktrees, but
- "mv" run by end-users who are not familiar with that fact will
- obviously not adjust them), which actually made things worse
- when triggered.
+ repository needs to maintain back-pointers to its worktrees,
+ but "mv" run by end-users who are not familiar with that fact
+ will obviously not adjust them), which actually made things
+ worse when triggered.
* The low-level merge machinery has been taught to use CRLF line
termination when inserting conflict markers to merged contents that
@@ -310,14 +385,55 @@ notes for details).
misbehaved when run from a subdirectory.
(merge 17f1365 nd/git-common-dir-fix later to maint).
- * Another try to add support to the ignore mechanism that lets you
- say "this is excluded" and then later say "oh, no, this part (that
- is a subset of the previous part) is not excluded".
-
* "git worktree add -B <branchname>" did not work.
* The "v(iew)" subcommand of the interactive "git am -i" command was
broken in 2.6.0 timeframe when the command was rewritten in C.
(merge 708b8cc jc/am-i-v-fix later to maint).
+ * "git merge-tree" used to mishandle "both sides added" conflict with
+ its own "create a fake ancestor file that has the common parts of
+ what both sides have added and do a 3-way merge" logic; this has
+ been updated to use the usual "3-way merge with an empty blob as
+ the fake common ancestor file" approach used in the rest of the
+ system.
+ (merge 907681e jk/no-diff-emit-common later to maint).
+
+ * The memory ownership rule of fill_textconv() API, which was a bit
+ tricky, has been documented a bit better.
+ (merge a64e6a4 jk/more-comments-on-textconv later to maint).
+
+ * Update various codepaths to avoid manually-counted malloc().
+ (merge 08c95df jk/tighten-alloc later to maint).
+
+ * The documentation did not clearly state that the 'simple' mode is
+ now the default for "git push" when push.default configuration is
+ not set.
+ (merge f6b1fb3 mm/push-simple-doc later to maint).
+
+ * Recent versions of GNU grep are pickier when their input contains
+ arbitrary binary data, which some of our tests uses. Rewrite the
+ tests to sidestep the problem.
+ (merge 3b1442d jk/grep-binary-workaround-in-test later to maint).
+
+ * A helper function "git submodule" uses since v2.7.0 to list the
+ modules that match the pathspec argument given to its subcommands
+ (e.g. "submodule add <repo> <path>") has been fixed.
+ (merge 2b56bb7 sb/submodule-module-list-fix later to maint).
+
+ * "git config section.var value" to set a value in per-repository
+ configuration file failed when it was run outside any repository,
+ but didn't say the reason correctly.
+ (merge 638fa62 js/config-set-in-non-repository later to maint).
+
+ * The code to read the pack data using the offsets stored in the pack
+ idx file has been made more carefully check the validity of the
+ data in the idx.
+ (merge 7465feb jk/pack-idx-corruption-safety later to maint).
+
* Other minor clean-ups and documentation updates
+ (merge f459823 ak/extract-argv0-last-dir-sep later to maint).
+ (merge 63ca1c0 ak/git-strip-extension-from-dashed-command later to maint).
+ (merge 4867f11 ps/plug-xdl-merge-leak later to maint).
+ (merge 4938686 dt/initial-ref-xn-commit-doc later to maint).
+ (merge 9537f21 ma/update-hooks-sample-typofix later to maint).
diff --git a/Documentation/RelNotes/2.8.1.txt b/Documentation/RelNotes/2.8.1.txt
new file mode 100644
index 0000000000..ef6d80b008
--- /dev/null
+++ b/Documentation/RelNotes/2.8.1.txt
@@ -0,0 +1,9 @@
+Git v2.8.1 Release Notes
+========================
+
+Fixes since v2.8
+----------------
+
+ * "make rpmbuild" target was broken as its input, git.spec.in, was
+ not updated to match a file it describes that has been renamed
+ recently. This has been fixed.
diff --git a/Documentation/RelNotes/2.8.2.txt b/Documentation/RelNotes/2.8.2.txt
new file mode 100644
index 0000000000..447b1933a8
--- /dev/null
+++ b/Documentation/RelNotes/2.8.2.txt
@@ -0,0 +1,70 @@
+Git v2.8.2 Release Notes
+========================
+
+Fixes since v2.8.1
+------------------
+
+ * The embedded args argv-array in the child process is used to build
+ the command line to run pack-objects instead of using a separate
+ array of strings.
+
+ * Bunch of tests on "git clone" has been renumbered for better
+ organization.
+
+ * The tests that involve running httpd leaked the system-wide
+ configuration in /etc/gitconfig to the tested environment.
+
+ * "index-pack --keep=<msg>" was broken since v2.1.0 timeframe.
+
+ * "git config --get-urlmatch", unlike other variants of the "git
+ config --get" family, did not signal error with its exit status
+ when there was no matching configuration.
+
+ * The "--local-env-vars" and "--resolve-git-dir" options of "git
+ rev-parse" failed to work outside a repository when the command's
+ option parsing was rewritten in 1.8.5 era.
+
+ * Fetching of history by naming a commit object name directly didn't
+ work across remote-curl transport.
+
+ * A small memory leak in an error codepath has been plugged in xdiff
+ code.
+
+ * strbuf_getwholeline() did not NUL-terminate the buffer on certain
+ corner cases in its error codepath.
+
+ * The startup_info data, which records if we are working inside a
+ repository (among other things), are now uniformly available to Git
+ subcommand implementations, and Git avoids attempting to touch
+ references when we are not in a repository.
+
+ * "git mergetool" did not work well with conflicts that both sides
+ deleted.
+
+ * "git send-email" had trouble parsing alias file in mailrc format
+ when lines in it had trailing whitespaces on them.
+
+ * When "git merge --squash" stopped due to conflict, the concluding
+ "git commit" failed to read in the SQUASH_MSG that shows the log
+ messages from all the squashed commits.
+
+ * "git merge FETCH_HEAD" dereferenced NULL pointer when merging
+ nothing into an unborn history (which is arguably unusual usage,
+ which perhaps was the reason why nobody noticed it).
+
+ * Build updates for MSVC.
+
+ * "git diff -M" used to work better when two originally identical
+ files A and B got renamed to X/A and X/B by pairing A to X/A and B
+ to X/B, but this was broken in the 2.0 timeframe.
+
+ * "git send-pack --all <there>" was broken when its command line
+ option parsing was written in the 2.6 timeframe.
+
+ * When running "git blame $path" with unnormalized data in the index
+ for the path, the data in the working tree was blamed, even though
+ "git add" would not have changed what is already in the index, due
+ to "safe crlf" that disables the line-end conversion. It has been
+ corrected.
+
+Also contains minor documentation updates and code clean-ups.
diff --git a/Documentation/RelNotes/2.8.3.txt b/Documentation/RelNotes/2.8.3.txt
new file mode 100644
index 0000000000..af184783bc
--- /dev/null
+++ b/Documentation/RelNotes/2.8.3.txt
@@ -0,0 +1,70 @@
+Git v2.8.3 Release Notes
+========================
+
+Fixes since v2.8.2
+------------------
+
+ * "git send-email" now uses a more readable timestamps when
+ formulating a message ID.
+
+ * The repository set-up sequence has been streamlined (the biggest
+ change is that there is no longer git_config_early()), so that we
+ do not attempt to look into refs/* when we know we do not have a
+ Git repository.
+
+ * When "git worktree" feature is in use, "git branch -d" allowed
+ deletion of a branch that is checked out in another worktree
+
+ * When "git worktree" feature is in use, "git branch -m" renamed a
+ branch that is checked out in another worktree without adjusting
+ the HEAD symbolic ref for the worktree.
+
+ * "git format-patch --help" showed `-s` and `--no-patch` as if these
+ are valid options to the command. We already hide `--patch` option
+ from the documentation, because format-patch is about showing the
+ diff, and the documentation now hides these options as well.
+
+ * A change back in version 2.7 to "git branch" broke display of a
+ symbolic ref in a non-standard place in the refs/ hierarchy (we
+ expect symbolic refs to appear in refs/remotes/*/HEAD to point at
+ the primary branch the remote has, and as .git/HEAD to point at the
+ branch we locally checked out).
+
+ * A partial rewrite of "git submodule" in the 2.7 timeframe changed
+ the way the gitdir: pointer in the submodules point at the real
+ repository location to use absolute paths by accident. This has
+ been corrected.
+
+ * "git commit" misbehaved in a few minor ways when an empty message
+ is given via -m '', all of which has been corrected.
+
+ * Support for CRAM-MD5 authentication method in "git imap-send" did
+ not work well.
+
+ * The socks5:// proxy support added back in 2.6.4 days was not aware
+ that socks5h:// proxies behave differently.
+
+ * "git config" had a codepath that tried to pass a NULL to
+ printf("%s"), which nobody seems to have noticed.
+
+ * On Cygwin, object creation uses the "create a temporary and then
+ rename it to the final name" pattern, not "create a temporary,
+ hardlink it to the final name and then unlink the temporary"
+ pattern.
+
+ This is necessary to use Git on Windows shared directories, and is
+ already enabled for the MinGW and plain Windows builds. It also
+ has been used in Cygwin packaged versions of Git for quite a while.
+ See http://thread.gmane.org/gmane.comp.version-control.git/291853
+ and http://thread.gmane.org/gmane.comp.version-control.git/275680.
+
+ * "git replace -e" did not honour "core.editor" configuration.
+
+ * Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs
+ we use in imap-send, which has been adjusted for the change.
+
+ * "git submodule" reports the paths of submodules the command
+ recurses into, but this was incorrect when the command was not run
+ from the root level of the superproject.
+
+Also contains minor documentation updates and code clean-ups.
diff --git a/Documentation/RelNotes/2.9.0.txt b/Documentation/RelNotes/2.9.0.txt
new file mode 100644
index 0000000000..2448a7eb7f
--- /dev/null
+++ b/Documentation/RelNotes/2.9.0.txt
@@ -0,0 +1,395 @@
+Git 2.9 Release Notes
+=====================
+
+Backward compatibility note
+---------------------------
+
+The end-user facing Porcelain level commands in the "git diff" and
+"git log" by default enables the rename detection; you can still use
+"diff.renames" configuration variable to disable this.
+
+Merging two branches that have no common ancestor with "git merge" is
+by default forbidden now to prevent creating such an unusual merge by
+mistake.
+
+The output formats of "git log" that indents the commit log message by
+4 spaces now expands HT in the log message by default. You can use
+the "--no-expand-tabs" option to disable this.
+
+"git commit-tree" plumbing command required the user to always sign
+its result when the user sets the commit.gpgsign configuration
+variable, which was an ancient mistake, which this release corrects.
+A script that drives commit-tree, if it relies on this mistake, now
+needs to read commit.gpgsign and pass the -S option as necessary.
+
+
+Updates since v2.8
+------------------
+
+UI, Workflows & Features
+
+ * Comes with git-multimail 1.3.1 (in contrib/).
+
+ * The end-user facing Porcelain level commands like "diff" and "log"
+ now enables the rename detection by default.
+
+ * The credential.helper configuration variable is cumulative and
+ there is no good way to override it from the command line. As
+ a special case, giving an empty string as its value now serves
+ as the signal to clear the values specified in various files.
+
+ * A new "interactive.diffFilter" configuration can be used to
+ customize the diff shown in "git add -i" session.
+
+ * "git p4" now allows P4 author names to be mapped to Git author
+ names.
+
+ * "git rebase -x" can be used without passing "-i" option.
+
+ * "git -c credential.<var>=<value> submodule" can now be used to
+ propagate configuration variables related to credential helper
+ down to the submodules.
+
+ * "git tag" can create an annotated tag without explicitly given an
+ "-a" (or "-s") option (i.e. when a tag message is given). A new
+ configuration variable, tag.forceSignAnnotated, can be used to tell
+ the command to create signed tag in such a situation.
+
+ * "git merge" used to allow merging two branches that have no common
+ base by default, which led to a brand new history of an existing
+ project created and then get pulled by an unsuspecting maintainer,
+ which allowed an unnecessary parallel history merged into the
+ existing project. The command has been taught not to allow this by
+ default, with an escape hatch "--allow-unrelated-histories" option
+ to be used in a rare event that merges histories of two projects
+ that started their lives independently.
+
+ * "git pull" has been taught to pass --allow-unrelated-histories
+ option to underlying "git merge".
+
+ * "git apply -v" learned to report paths in the patch that were
+ skipped via --include/--exclude mechanism or being outside the
+ current working directory.
+
+ * Shell completion (in contrib/) updates.
+
+ * The commit object name reported when "rebase -i" stops has been
+ shortened.
+
+ * "git worktree add" can be given "--no-checkout" option to only
+ create an empty worktree without checking out the files.
+
+ * "git mergetools" learned to drive ExamDiff.
+
+ * "git pull --rebase" learned "--[no-]autostash" option, so that
+ the rebase.autostash configuration variable set to true can be
+ overridden from the command line.
+
+ * When "git log" shows the log message indented by 4-spaces, the
+ remainder of a line after a HT does not align in the way the author
+ originally intended. The command now expands tabs by default in
+ such a case, and allows the users to override it with a new option,
+ "--no-expand-tabs".
+
+ * "git send-email" now uses a more readable timestamps when
+ formulating a message ID.
+
+ * "git rerere" can encounter two or more files with the same conflict
+ signature that have to be resolved in different ways, but there was
+ no way to record these separate resolutions.
+ (merge 890fca8 jc/rerere-multi later to maint).
+
+ * "git p4" learned to record P4 jobs in Git commit that imports from
+ the history in Perforce.
+
+ * "git describe --contains" often made a hard-to-justify choice of
+ tag to give name to a given commit, because it tried to come up
+ with a name with smallest number of hops from a tag, causing an old
+ commit whose close descendant that is recently tagged were not
+ described with respect to an old tag but with a newer tag. It did
+ not help that its computation of "hop" count was further tweaked to
+ penalize being on a side branch of a merge. The logic has been
+ updated to favor using the tag with the oldest tagger date, which
+ is a lot easier to explain to the end users: "We describe a commit
+ in terms of the (chronologically) oldest tag that contains the
+ commit."
+ (merge 7550424 js/name-rev-use-oldest-ref later to maint).
+
+ * "git clone" learned "--shallow-submodules" option.
+
+ * HTTP transport clients learned to throw extra HTTP headers at the
+ server, specified via http.extraHeader configuration variable.
+
+ * Patch output from "git diff" and friends has been tweaked to be
+ more readable by using a blank line as a strong hint that the
+ contents before and after it belong to a logically separate unit.
+
+
+Performance, Internal Implementation, Development Support etc.
+
+ * The embedded args argv-array in the child process is used to build
+ the command line to run pack-objects instead of using a separate
+ array of strings.
+
+ * A test for tags has been restructured so that more parts of it can
+ easily be run on a platform without a working GnuPG.
+
+ * The startup_info data, which records if we are working inside a
+ repository (among other things), are now uniformly available to Git
+ subcommand implementations, and Git avoids attempting to touch
+ references when we are not in a repository.
+
+ * The command line argument parser for "receive-pack" has been
+ rewritten to use parse-options.
+
+ * A major part of "git submodule update" has been ported to C to take
+ advantage of the recently added framework to run download tasks in
+ parallel.
+
+ * Rename bunch of tests on "git clone" for better organization.
+
+ * The tests that involve running httpd leaked the system-wide
+ configuration in /etc/gitconfig to the tested environment.
+
+ * Build updates for MSVC.
+
+ * The repository set-up sequence has been streamlined (the biggest
+ change is that there is no longer git_config_early()), so that we
+ do not attempt to look into refs/* when we know we do not have a
+ Git repository.
+
+ * Code restructuring around the "refs" area to prepare for pluggable
+ refs backends.
+
+ * Sources to many test helper binaries (and the generated helpers)
+ have been moved to t/helper/ subdirectory to reduce clutter at the
+ top level of the tree.
+
+ Note that this can break your tests if you check out revisions
+ across the merge boundary of this topic, e0b58519 (Merge branch
+ 'nd/test-helpers', 2016-04-29), as bin-wrappers/test-* are not
+ rebuilt to point the underlying executables. For now, "make
+ distclean" is your friend.
+
+ * Unify internal logic between "git tag -v" and "git verify-tag"
+ commands by making one directly call into the other.
+ (merge bef234b st/verify-tag later to maint).
+
+ * "merge-recursive" strategy incorrectly checked if a path that is
+ involved in its internal merge exists in the working tree.
+
+ * The test scripts for "git p4" (but not "git p4" implementation
+ itself) has been updated so that they would work even on a system
+ where the installed version of Python is python 3.
+ (merge 1fb3fb4 ld/p4-test-py3 later to maint).
+
+ * As nobody maintains our in-tree git.spec.in and distros use their
+ own spec file, we stopped pretending that we support "make rpm".
+
+ * Move from unsigned char[20] to struct object_id continues.
+
+
+Also contains various documentation updates and code clean-ups.
+
+
+Fixes since v2.8
+----------------
+
+Unless otherwise noted, all the fixes since v2.8 in the maintenance
+track are contained in this release (see the maintenance releases'
+notes for details).
+
+ * "git config --get-urlmatch", unlike other variants of the "git
+ config --get" family, did not signal error with its exit status
+ when there was no matching configuration.
+
+ * The "--local-env-vars" and "--resolve-git-dir" options of "git
+ rev-parse" failed to work outside a repository when the command's
+ option parsing was rewritten in 1.8.5 era.
+
+ * "git index-pack --keep[=<msg>] pack-$name.pack" simply did not work.
+
+ * Fetching of history by naming a commit object name directly didn't
+ work across remote-curl transport.
+
+ * A small memory leak in an error codepath has been plugged in xdiff
+ code.
+
+ * strbuf_getwholeline() did not NUL-terminate the buffer on certain
+ corner cases in its error codepath.
+
+ * "git mergetool" did not work well with conflicts that both sides
+ deleted.
+
+ * "git send-email" had trouble parsing alias file in mailrc format
+ when lines in it had trailing whitespaces on them.
+
+ * When "git merge --squash" stopped due to conflict, the concluding
+ "git commit" failed to read in the SQUASH_MSG that shows the log
+ messages from all the squashed commits.
+
+ * "git merge FETCH_HEAD" dereferenced NULL pointer when merging
+ nothing into an unborn history (which is arguably unusual usage,
+ which perhaps was the reason why nobody noticed it).
+
+ * When "git worktree" feature is in use, "git branch -d" allowed
+ deletion of a branch that is checked out in another worktree,
+ which was wrong.
+
+ * When "git worktree" feature is in use, "git branch -m" renamed a
+ branch that is checked out in another worktree without adjusting
+ the HEAD symbolic ref for the worktree.
+
+ * "git diff -M" used to work better when two originally identical
+ files A and B got renamed to X/A and X/B by pairing A to X/A and B
+ to X/B, but this was broken in the 2.0 timeframe.
+
+ * "git send-pack --all <there>" was broken when its command line
+ option parsing was written in the 2.6 timeframe.
+
+ * "git format-patch --help" showed `-s` and `--no-patch` as if these
+ are valid options to the command. We already hide `--patch` option
+ from the documentation, because format-patch is about showing the
+ diff, and the documentation now hides these options as well.
+
+ * When running "git blame $path" with unnormalized data in the index
+ for the path, the data in the working tree was blamed, even though
+ "git add" would not have changed what is already in the index, due
+ to "safe crlf" that disables the line-end conversion. It has been
+ corrected.
+
+ * A change back in version 2.7 to "git branch" broke display of a
+ symbolic ref in a non-standard place in the refs/ hierarchy (we
+ expect symbolic refs to appear in refs/remotes/*/HEAD to point at
+ the primary branch the remote has, and as .git/HEAD to point at the
+ branch we locally checked out).
+
+ * A partial rewrite of "git submodule" in the 2.7 timeframe changed
+ the way the gitdir: pointer in the submodules point at the real
+ repository location to use absolute paths by accident. This has
+ been corrected.
+
+ * "git commit" misbehaved in a few minor ways when an empty message
+ is given via -m '', all of which has been corrected.
+
+ * Support for CRAM-MD5 authentication method in "git imap-send" did
+ not work well.
+
+ * Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs
+ we use in imap-send, which has been adjusted for the change.
+ (merge 1245c74 ky/imap-send-openssl-1.1.0 later to maint).
+
+ * The socks5:// proxy support added back in 2.6.4 days was not aware
+ that socks5h:// proxies behave differently.
+
+ * "git config" had a codepath that tried to pass a NULL to
+ printf("%s"), which nobody seems to have noticed.
+
+ * On Cygwin, object creation uses the "create a temporary and then
+ rename it to the final name" pattern, not "create a temporary,
+ hardlink it to the final name and then unlink the temporary"
+ pattern.
+
+ This is necessary to use Git on Windows shared directories, and is
+ already enabled for the MinGW and plain Windows builds. It also
+ has been used in Cygwin packaged versions of Git for quite a while.
+ See http://thread.gmane.org/gmane.comp.version-control.git/291853
+
+ * "merge-octopus" strategy did not ensure that the index is clean
+ when merge begins.
+
+ * When "git merge" notices that the merge can be resolved purely at
+ the tree level (without having to merge blobs) and the resulting
+ tree happens to already exist in the object store, it forgot to
+ update the index, which lead to an inconsistent state for later
+ operations.
+
+ * "git submodule" reports the paths of submodules the command
+ recurses into, but this was incorrect when the command was not run
+ from the root level of the superproject.
+ (merge 2ab5660 sb/submodule-path-misc-bugs later to maint).
+
+ * The "user.useConfigOnly" configuration variable makes it an error
+ if users do not explicitly set user.name and user.email. However,
+ its check was not done early enough and allowed another error to
+ trigger, reporting that the default value we guessed from the
+ system setting was unusable. This was a suboptimal end-user
+ experience as we want the users to set user.name/user.email without
+ relying on the auto-detection at all.
+ (merge d3c06c1 da/user-useconfigonly later to maint).
+
+ * "git mv old new" did not adjust the path for a submodule that lives
+ as a subdirectory inside old/ directory correctly.
+ (merge a127331 sb/mv-submodule-fix later to maint).
+
+ * "git replace -e" did not honour "core.editor" configuration.
+ (merge 36b1437 js/replace-edit-use-editor-configuration later to maint).
+
+ * "git push" from a corrupt repository that attempts to push a large
+ number of refs deadlocked; the thread to relay rejection notices
+ for these ref updates blocked on writing them to the main thread,
+ after the main thread at the receiving end notices that the push
+ failed and decides not to read these notices and return a failure.
+ (merge f924b52a jk/push-client-deadlock-fix later to maint).
+
+ * mmap emulation on Windows has been optimized and work better without
+ consuming paging store when not needed.
+ (merge d5425d1 js/win32-mmap later to maint).
+
+ * A question by "git send-email" to ask the identity of the sender
+ has been updated.
+ (merge 0d6b21e jd/send-email-to-whom later to maint).
+
+ * UI consistency improvements for "git mergetool".
+ (merge cce076e nf/mergetool-prompt later to maint).
+
+ * "git rebase -m" could be asked to rebase an entire branch starting
+ from the root, but failed by assuming that there always is a parent
+ commit to the first commit on the branch.
+ (merge 79f4344 bw/rebase-merge-entire-branch later to maint).
+
+ * Fix a broken "p4 lfs" test.
+ (merge 9e220fe ls/p4-lfs-test-fix-2.7.0 later to maint).
+
+ * Recent update to Git LFS broke "git p4" by changing the output from
+ its "lfs pointer" subcommand.
+ (merge 82f2567 ls/p4-lfs later to maint).
+
+ * "git fetch" test t5510 was flaky while running a (forced) automagic
+ garbage collection.
+ (merge bb05510 js/close-packs-before-gc later to maint).
+
+ * Documentation updates to help contributors setting up Travis CI
+ test for their patches.
+ (merge 0e5d028 ls/travis-submitting-patches later to maint).
+
+ * Some multi-byte encoding can have a backslash byte as a later part
+ of one letter, which would confuse "highlight" filter used in
+ gitweb.
+ (merge 029f372 sk/gitweb-highlight-encoding later to maint).
+
+ * "git commit-tree" plumbing command required the user to always sign
+ its result when the user sets the commit.gpgsign configuration
+ variable, which was an ancient mistake. Rework "git rebase" that
+ relied on this mistake so that it reads commit.gpgsign and pass (or
+ not pass) the -S option to "git commit-tree" to keep the end-user
+ expectation the same, while teaching "git commit-tree" to ignore
+ the configuration variable. This will stop requiring the users to
+ sign commit objects used internally as an implementation detail of
+ "git stash".
+ (merge 6694856 jc/commit-tree-ignore-commit-gpgsign later to maint).
+
+
+ * Other minor clean-ups and documentation updates
+ (merge 8b5a3e9 kn/for-each-tag-branch later to maint).
+ (merge 99dab16 sb/misc-cleanups later to maint).
+ (merge 7a6a44c cc/apply later to maint).
+ (merge 6594883 nd/remove-unused later to maint).
+ (merge 0ff7410 sg/test-lib-simplify-expr-away later to maint).
+ (merge 060e776 jk/fix-attribute-macro-in-2.5 later to maint).
+ (merge d16df0c rt/string-list-lookup-cleanup later to maint).
+ (merge 376eb60 sb/config-exit-status-list later to maint).
+ (merge 9cea46c ew/doc-split-pack-disables-bitmap later to maint).
+ (merge fa72245 ew/normal-to-e later to maint).
+ (merge 2e39a24 rn/glossary-typofix later to maint).
+ (merge cadfbef sb/clean-test-fix later to maint).
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 98fc4cc1d0..e8ad978824 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -61,23 +61,28 @@ Make sure that you have tests for the bug you are fixing. See
t/README for guidance.
When adding a new feature, make sure that you have new tests to show
-the feature triggers the new behaviour when it should, and to show the
-feature does not trigger when it shouldn't. Also make sure that the
-test suite passes after your commit. Do not forget to update the
-documentation to describe the updated behaviour.
-
-Speaking of the documentation, it is currently a liberal mixture of US
-and UK English norms for spelling and grammar, which is somewhat
-unfortunate. A huge patch that touches the files all over the place
-only to correct the inconsistency is not welcome, though. Potential
-clashes with other changes that can result from such a patch are not
-worth it. We prefer to gradually reconcile the inconsistencies in
-favor of US English, with small and easily digestible patches, as a
-side effect of doing some other real work in the vicinity (e.g.
-rewriting a paragraph for clarity, while turning en_UK spelling to
-en_US). Obvious typographical fixes are much more welcomed ("teh ->
-"the"), preferably submitted as independent patches separate from
-other documentation changes.
+the feature triggers the new behavior when it should, and to show the
+feature does not trigger when it shouldn't. After any code change, make
+sure that the entire test suite passes.
+
+If you have an account at GitHub (and you can get one for free to work
+on open source projects), you can use their Travis CI integration to
+test your changes on Linux, Mac (and hopefully soon Windows). See
+GitHub-Travis CI hints section for details.
+
+Do not forget to update the documentation to describe the updated
+behavior and make sure that the resulting documentation set formats
+well. It is currently a liberal mixture of US and UK English norms for
+spelling and grammar, which is somewhat unfortunate. A huge patch that
+touches the files all over the place only to correct the inconsistency
+is not welcome, though. Potential clashes with other changes that can
+result from such a patch are not worth it. We prefer to gradually
+reconcile the inconsistencies in favor of US English, with small and
+easily digestible patches, as a side effect of doing some other real
+work in the vicinity (e.g. rewriting a paragraph for clarity, while
+turning en_UK spelling to en_US). Obvious typographical fixes are much
+more welcomed ("teh -> "the"), preferably submitted as independent
+patches separate from other documentation changes.
Oh, another thing. We are picky about whitespaces. Make sure your
changes do not trigger errors with the sample pre-commit hook shipped
@@ -370,6 +375,47 @@ Know the status of your patch after submission
entitled "What's cooking in git.git" and "What's in git.git" giving
the status of various proposed changes.
+--------------------------------------------------
+GitHub-Travis CI hints
+
+With an account at GitHub (you can get one for free to work on open
+source projects), you can use Travis CI to test your changes on Linux,
+Mac (and hopefully soon Windows). You can find a successful example
+test build here: https://travis-ci.org/git/git/builds/120473209
+
+Follow these steps for the initial setup:
+
+ (1) Fork https://github.com/git/git to your GitHub account.
+ You can find detailed instructions how to fork here:
+ https://help.github.com/articles/fork-a-repo/
+
+ (2) Open the Travis CI website: https://travis-ci.org
+
+ (3) Press the "Sign in with GitHub" button.
+
+ (4) Grant Travis CI permissions to access your GitHub account.
+ You can find more information about the required permissions here:
+ https://docs.travis-ci.com/user/github-oauth-scopes
+
+ (5) Open your Travis CI profile page: https://travis-ci.org/profile
+
+ (6) Enable Travis CI builds for your Git fork.
+
+After the initial setup, Travis CI will run whenever you push new changes
+to your fork of Git on GitHub. You can monitor the test state of all your
+branches here: https://travis-ci.org/<Your GitHub handle>/git/branches
+
+If a branch did not pass all test cases then it is marked with a red
+cross. In that case you can click on the failing Travis CI job and
+scroll all the way down in the log. Find the line "<-- Click here to see
+detailed test output!" and click on the triangle next to the log line
+number to expand the detailed test output. Here is such a failing
+example: https://travis-ci.org/git/git/jobs/122676187
+
+Fix the problem and push your fix to your Git fork. This will trigger
+a new Travis CI build to ensure all tests pass.
+
+
------------------------------------------------
MUA specific hints
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 2cd6bdd7d2..e718410350 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -81,13 +81,16 @@ Includes
You can include one config file from another by setting the special
`include.path` variable to the name of the file to be included. The
+variable takes a pathname as its value, and is subject to tilde
+expansion.
+
+The
included file is expanded immediately, as if its contents had been
found at the location of the include directive. If the value of the
`include.path` variable is a relative path, the path is considered to be
relative to the configuration file in which the include directive was
-found. The value of `include.path` is subject to tilde expansion: `~/`
-is expanded to the value of `$HOME`, and `~user/` to the specified
-user's home directory. See below for examples.
+found. See below for examples.
+
Example
~~~~~~~
@@ -114,7 +117,7 @@ Example
[include]
path = /path/to/foo.inc ; include by absolute path
path = foo ; expand "foo" relative to the current file
- path = ~/foo ; expand "foo" in your $HOME directory
+ path = ~/foo ; expand "foo" in your `$HOME` directory
Values
@@ -169,6 +172,13 @@ thing on the same output line (e.g. opening parenthesis before the
list of branch names in `log --decorate` output) is set to be
painted with `bold` or some other attribute.
+pathname::
+ A variable that takes a pathname value can be given a
+ string that begins with "`~/`" or "`~user/`", and the usual
+ tilde expansion happens to such a string: `~/`
+ is expanded to the value of `$HOME`, and `~user/` to the
+ specified user's home directory.
+
Variables
~~~~~~~~~
@@ -486,10 +496,10 @@ repository's usual working tree).
core.logAllRefUpdates::
Enable the reflog. Updates to a ref <ref> is logged to the file
- "$GIT_DIR/logs/<ref>", by appending the new and old
+ "`$GIT_DIR/logs/<ref>`", by appending the new and old
SHA-1, the date/time and the reason of the update, but
only when the file exists. If this configuration
- variable is set to true, missing "$GIT_DIR/logs/<ref>"
+ variable is set to true, missing "`$GIT_DIR/logs/<ref>`"
file is automatically created for branch heads (i.e. under
refs/heads/), remote refs (i.e. under refs/remotes/),
note refs (i.e. under refs/notes/), and the symbolic ref HEAD.
@@ -593,12 +603,11 @@ be delta compressed, but larger binary media files won't be.
Common unit suffixes of 'k', 'm', or 'g' are supported.
core.excludesFile::
- In addition to '.gitignore' (per-directory) and
- '.git/info/exclude', Git looks into this file for patterns
- of files which are not meant to be tracked. "`~/`" is expanded
- to the value of `$HOME` and "`~user/`" to the specified user's
- home directory. Its default value is $XDG_CONFIG_HOME/git/ignore.
- If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore
+ Specifies the pathname to the file that contains patterns to
+ describe paths that are not meant to be tracked, in addition
+ to '.gitignore' (per-directory) and '.git/info/exclude'.
+ Defaults to `$XDG_CONFIG_HOME/git/ignore`.
+ If `$XDG_CONFIG_HOME` is either not set or empty, `$HOME/.config/git/ignore`
is used instead. See linkgit:gitignore[5].
core.askPass::
@@ -615,8 +624,25 @@ core.attributesFile::
'.git/info/attributes', Git looks into this file for attributes
(see linkgit:gitattributes[5]). Path expansions are made the same
way as for `core.excludesFile`. Its default value is
- $XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not
- set or empty, $HOME/.config/git/attributes is used instead.
+ `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either not
+ set or empty, `$HOME/.config/git/attributes` is used instead.
+
+core.hooksPath::
+ By default Git will look for your hooks in the
+ '$GIT_DIR/hooks' directory. Set this to different path,
+ e.g. '/etc/git/hooks', and Git will try to find your hooks in
+ that directory, e.g. '/etc/git/hooks/pre-receive' instead of
+ in '$GIT_DIR/hooks/pre-receive'.
++
+The path can be either absolute or relative. A relative path is
+taken as relative to the directory where the hooks are run (see
+the "DESCRIPTION" section of linkgit:githooks[5]).
++
+This configuration variable is useful in cases where you'd like to
+centrally configure your Git hooks instead of configuring them on a
+per-repository basis, or as a more flexible and centralized
+alternative to having an `init.templateDir` where you've changed
+default hooks.
core.editor::
Commands such as `commit` and `tag` that lets you edit
@@ -1106,15 +1132,15 @@ commit.status::
message. Defaults to true.
commit.template::
- Specify a file to use as the template for new commit messages.
- "`~/`" is expanded to the value of `$HOME` and "`~user/`" to the
- specified user's home directory.
+ Specify the pathname of a file to use as the template for
+ new commit messages.
credential.helper::
Specify an external helper to be called when a username or
password credential is needed; the helper may consult external
- storage to avoid prompting the user for the credentials. See
- linkgit:gitcredentials[7] for details.
+ storage to avoid prompting the user for the credentials. Note
+ that multiple helpers may be defined. See linkgit:gitcredentials[7]
+ for details.
credential.useHttpPath::
When acquiring credentials, consider the "path" component of an http
@@ -1334,7 +1360,7 @@ gc.worktreePruneExpire::
'git worktree prune --expire 3.months.ago'.
This config variable can be used to set a different grace
period. The value "now" may be used to disable the grace
- period and prune $GIT_DIR/worktrees immediately, or "never"
+ period and prune `$GIT_DIR/worktrees` immediately, or "never"
may be used to suppress pruning.
gc.reflogExpire::
@@ -1474,13 +1500,13 @@ grep.fallbackToNoIndex::
is executed outside of a git repository. Defaults to false.
gpg.program::
- Use this custom program instead of "gpg" found on $PATH when
+ Use this custom program instead of "`gpg`" found on `$PATH` when
making or verifying a PGP signature. The program must support the
same command-line interface as GPG, namely, to verify a detached
- signature, "gpg --verify $file - <$signature" is run, and the
+ signature, "`gpg --verify $file - <$signature`" is run, and the
program is expected to signal a good signature by exiting with
code 0, and to generate an ASCII-armored detached signature, the
- standard input of "gpg -bsau $key" is fed with the contents to be
+ standard input of "`gpg -bsau $key`" is fed with the contents to be
signed, and the program is expected to send the result to its
standard output.
@@ -1654,12 +1680,19 @@ http.emptyAuth::
a username in the URL, as libcurl normally requires a username for
authentication.
+http.extraHeader::
+ Pass an additional HTTP header when communicating with a server. If
+ more than one such entry exists, all of them are added as extra
+ headers. To allow overriding the settings inherited from the system
+ config, an empty value will reset the extra headers to the empty list.
+
http.cookieFile::
- File containing previously stored cookie lines which should be used
+ The pathname of a file containing previously stored cookie lines,
+ which should be used
in the Git http session, if they match the server. The file format
of the file to read cookies from should be plain HTTP headers or
the Netscape/Mozilla cookie file format (see linkgit:curl[1]).
- NOTE that the file specified with http.cookieFile is only used as
+ NOTE that the file specified with http.cookieFile is used only as
input unless http.saveCookies is set.
http.saveCookies::
@@ -1886,6 +1919,14 @@ interactive.singleKey::
setting is silently ignored if portable keystroke input
is not available; requires the Perl module Term::ReadKey.
+interactive.diffFilter::
+ When an interactive command (such as `git add --patch`) shows
+ a colorized diff, git will pipe the diff through the shell
+ command defined by this configuration variable. The command may
+ mark up the diff further for human consumption, provided that it
+ retains a one-to-one correspondence with the lines in the
+ original diff. Defaults to disabled (no filtering).
+
log.abbrevCommit::
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
linkgit:git-whatchanged[1] assume `--abbrev-commit`. You may
@@ -2147,8 +2188,11 @@ pack.packSizeLimit::
The maximum size of a pack. This setting only affects
packing to a file when repacking, i.e. the git:// protocol
is unaffected. It can be overridden by the `--max-pack-size`
- option of linkgit:git-repack[1]. The minimum size allowed is
- limited to 1 MiB. The default is unlimited.
+ option of linkgit:git-repack[1]. Reaching this limit results
+ in the creation of multiple packfiles; which in turn prevents
+ bitmaps from being created.
+ The minimum size allowed is limited to 1 MiB.
+ The default is unlimited.
Common unit suffixes of 'k', 'm', or 'g' are
supported.
@@ -2548,8 +2592,9 @@ repack.writeBitmaps::
objects to disk (e.g., when `git repack -a` is run). This
index can speed up the "counting objects" phase of subsequent
packs created for clones and fetches, at the cost of some disk
- space and extra time spent on the initial repack. Defaults to
- false.
+ space and extra time spent on the initial repack. This has
+ no effect if multiple packfiles are created.
+ Defaults to false.
rerere.autoUpdate::
When set to true, `git-rerere` updates the index with the
@@ -2729,6 +2774,17 @@ submodule.<name>.ignore::
"--ignore-submodules" option. The 'git submodule' commands are not
affected by this setting.
+submodule.fetchJobs::
+ Specifies how many submodules are fetched/cloned at the same time.
+ A positive integer allows up to that number of submodules fetched
+ in parallel. A value of 0 will give some reasonable default.
+ If unset, it defaults to 1.
+
+tag.forceSignAnnotated::
+ A boolean to specify whether annotated tags created should be GPG signed.
+ If `--annotate` is specified on the command line, it takes
+ precedence over this option.
+
tag.sort::
This variable controls the sort ordering of tags when displayed by
linkgit:git-tag[1]. Without the "--sort=<value>" option provided, the
diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt
index 6eaa45271c..edba56522b 100644
--- a/Documentation/diff-config.txt
+++ b/Documentation/diff-config.txt
@@ -108,9 +108,13 @@ diff.renameLimit::
detection; equivalent to the 'git diff' option '-l'.
diff.renames::
- Tells Git to detect renames. If set to any boolean value, it
- will enable basic rename detection. If set to "copies" or
- "copy", it will detect copies, as well.
+ Whether and how Git detects renames. If set to "false",
+ rename detection is disabled. If set to "true", basic rename
+ detection is enabled. If set to "copies" or "copy", Git will
+ detect copies, as well. Defaults to true. Note that this
+ affects only 'git diff' Porcelain like linkgit:git-diff[1] and
+ linkgit:git-log[1], and not lower level commands such as
+ linkgit:git-diff-files[1].
diff.suppressBlankEmpty::
A boolean to inhibit the standard behavior of printing a space
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 306b7e3604..4b0318e2ac 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -26,12 +26,12 @@ ifndef::git-format-patch[]
ifdef::git-diff[]
This is the default.
endif::git-diff[]
-endif::git-format-patch[]
-s::
--no-patch::
Suppress diff output. Useful for commands like `git show` that
show the patch by default, or to cancel the effect of `--patch`.
+endif::git-format-patch[]
-U<n>::
--unified=<n>::
@@ -286,8 +286,8 @@ endif::git-format-patch[]
ifndef::git-format-patch[]
--check::
- Warn if changes introduce whitespace errors. What are
- considered whitespace errors is controlled by `core.whitespace`
+ Warn if changes introduce conflict markers or whitespace errors.
+ What are considered whitespace errors is controlled by `core.whitespace`
configuration. By default, trailing whitespaces (including
lines that solely consist of whitespaces) and a space character
that is immediately followed by a tab character inside the
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index d9ed6a1a4e..8ddb207409 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -13,7 +13,7 @@ SYNOPSIS
[--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]
[--allow-binary-replacement | --binary] [--reject] [-z]
[-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
- [--ignore-space-change | --ignore-whitespace ]
+ [--ignore-space-change | --ignore-whitespace]
[--whitespace=(nowarn|warn|fix|error|error-all)]
[--exclude=<path>] [--include=<path>] [--directory=<root>]
[--verbose] [--unsafe-paths] [<patch>...]
@@ -21,6 +21,8 @@ SYNOPSIS
DESCRIPTION
-----------
Reads the supplied diff output (i.e. "a patch") and applies it to files.
+When running from a subdirectory in a repository, patched paths
+outside the directory are ignored.
With the `--index` option the patch is also applied to the index, and
with the `--cached` option the patch is only applied to the index.
Without these options, the command applies the patch only to files,
diff --git a/Documentation/git-check-ignore.txt b/Documentation/git-check-ignore.txt
index f60ee051f8..e94367a5ed 100644
--- a/Documentation/git-check-ignore.txt
+++ b/Documentation/git-check-ignore.txt
@@ -114,7 +114,6 @@ SEE ALSO
linkgit:gitignore[5]
linkgit:gitconfig[5]
linkgit:git-ls-files[1]
-GIT_TRACE_EXCLUDE in linkgit:git[1]
GIT
---
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index b7c467a001..1b15cd7b16 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -14,8 +14,8 @@ SYNOPSIS
[-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
[--dissociate] [--separate-git-dir <git dir>]
[--depth <depth>] [--[no-]single-branch]
- [--recursive | --recurse-submodules] [--] <repository>
- [<directory>]
+ [--recursive | --recurse-submodules] [--[no-]shallow-submodules]
+ [--jobs <n>] [--] <repository> [<directory>]
DESCRIPTION
-----------
@@ -191,7 +191,9 @@ objects from the source repository into a pack in the cloned repository.
Create a 'shallow' clone with a history truncated to the
specified number of commits. Implies `--single-branch` unless
`--no-single-branch` is given to fetch the histories near the
- tips of all branches.
+ tips of all branches. This implies `--shallow-submodules`. If
+ you want to have a shallow superproject clone, but full submodules,
+ also pass `--no-shallow-submodules`.
--[no-]single-branch::
Clone only the history leading to the tip of a single branch,
@@ -212,6 +214,9 @@ objects from the source repository into a pack in the cloned repository.
repository does not have a worktree/checkout (i.e. if any of
`--no-checkout`/`-n`, `--bare`, or `--mirror` is given)
+--[no-]shallow-submodules::
+ All submodules which are cloned will be shallow with a depth of 1.
+
--separate-git-dir=<git dir>::
Instead of placing the cloned repository where it is supposed
to be, place the cloned repository at the specified directory,
@@ -219,6 +224,10 @@ objects from the source repository into a pack in the cloned repository.
The result is Git repository can be separated from working
tree.
+-j <n>::
+--jobs <n>::
+ The number of submodules fetched at the same time.
+ Defaults to the `submodule.fetchJobs` option.
<repository>::
The (possibly remote) repository to clone from. See the
diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt
index 48c33d7ed7..cb69faab68 100644
--- a/Documentation/git-commit-tree.txt
+++ b/Documentation/git-commit-tree.txt
@@ -61,8 +61,8 @@ OPTIONS
stuck to the option without a space.
--no-gpg-sign::
- Countermand `commit.gpgSign` configuration variable that is
- set to force each and every commit to be signed.
+ Do not GPG-sign commit, to countermand a `--gpg-sign` option
+ given earlier on the command line.
Commit Information
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
index 242fa5d1bb..6843114fc0 100644
--- a/Documentation/git-config.txt
+++ b/Documentation/git-config.txt
@@ -9,18 +9,18 @@ git-config - Get and set repository or global options
SYNOPSIS
--------
[verse]
-'git config' [<file-option>] [type] [-z|--null] name [value [value_regex]]
+'git config' [<file-option>] [type] [--show-origin] [-z|--null] name [value [value_regex]]
'git config' [<file-option>] [type] --add name value
'git config' [<file-option>] [type] --replace-all name value [value_regex]
-'git config' [<file-option>] [type] [-z|--null] --get name [value_regex]
-'git config' [<file-option>] [type] [-z|--null] --get-all name [value_regex]
-'git config' [<file-option>] [type] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
+'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get name [value_regex]
+'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get-all name [value_regex]
+'git config' [<file-option>] [type] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL
'git config' [<file-option>] --unset name [value_regex]
'git config' [<file-option>] --unset-all name [value_regex]
'git config' [<file-option>] --rename-section old_name new_name
'git config' [<file-option>] --remove-section name
-'git config' [<file-option>] [-z|--null] [--name-only] -l | --list
+'git config' [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | --list
'git config' [<file-option>] --get-color name [default]
'git config' [<file-option>] --get-colorbool name [stdout-is-tty]
'git config' [<file-option>] -e | --edit
@@ -58,13 +58,13 @@ that location (you can say '--local' but that is the default).
This command will fail with non-zero status upon error. Some exit
codes are:
-. The config file is invalid (ret=3),
-. can not write to the config file (ret=4),
-. no section or name was provided (ret=2),
-. the section or key is invalid (ret=1),
-. you try to unset an option which does not exist (ret=5),
-. you try to unset/set an option for which multiple lines match (ret=5), or
-. you try to use an invalid regexp (ret=6).
+- The section or key is invalid (ret=1),
+- no section or name was provided (ret=2),
+- the config file is invalid (ret=3),
+- the config file cannot be written (ret=4),
+- you try to unset an option which does not exist (ret=5),
+- you try to unset/set an option for which multiple lines match (ret=5), or
+- you try to use an invalid regexp (ret=6).
On success, the command returns the exit code 0.
@@ -86,8 +86,7 @@ OPTIONS
found and the last value if multiple key values were found.
--get-all::
- Like get, but does not fail if the number of values for the key
- is not exactly one.
+ Like get, but returns all values for a multi-valued key.
--get-regexp::
Like --get-all, but interprets the name as a regular expression and
@@ -102,7 +101,7 @@ OPTIONS
given URL is returned (if no such key exists, the value for
section.key is used as a fallback). When given just the
section as name, do so for all the keys in the section and
- list them.
+ list them. Returns error code 1 if no value is found.
--global::
For writing options: write to global `~/.gitconfig` file
@@ -194,6 +193,12 @@ See also <<FILES>>.
Output only the names of config variables for `--list` or
`--get-regexp`.
+--show-origin::
+ Augment the output of all queried config options with the
+ origin type (file, standard input, blob, command line) and
+ the actual origin (config file path, ref, or blob id if
+ applicable).
+
--get-colorbool name [stdout-is-tty]::
Find the color setting for `name` (e.g. `color.diff`) and output
diff --git a/Documentation/git-credential-cache.txt b/Documentation/git-credential-cache.txt
index 89b730632d..96208f822e 100644
--- a/Documentation/git-credential-cache.txt
+++ b/Documentation/git-credential-cache.txt
@@ -36,7 +36,7 @@ OPTIONS
cache daemon if one is not started). Defaults to
`~/.git-credential-cache/socket`. If your home directory is on a
network-mounted filesystem, you may need to change this to a
- local filesystem.
+ local filesystem. You must specify an absolute path.
CONTROLLING THE DAEMON
----------------------
diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt
index 8680f45f8d..239623cc24 100644
--- a/Documentation/git-fetch-pack.txt
+++ b/Documentation/git-fetch-pack.txt
@@ -104,6 +104,10 @@ be in a separate packet, and the list must end with a flush packet.
The remote heads to update from. This is relative to
$GIT_DIR (e.g. "HEAD", "refs/heads/master"). When
unspecified, update from all heads the remote side has.
++
+If the remote has enabled the options `uploadpack.allowTipSHA1InWant` or
+`uploadpack.allowReachableSHA1InWant`, they may alternatively be 40-hex
+sha1s present on the remote.
SEE ALSO
--------
diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt
index 2e3e96f663..c52578bb87 100644
--- a/Documentation/git-for-each-ref.txt
+++ b/Documentation/git-for-each-ref.txt
@@ -76,7 +76,7 @@ OPTIONS
specified commit (HEAD if not specified).
--contains [<object>]::
- Only list tags which contain the specified commit (HEAD if not
+ Only list refs which contain the specified commit (HEAD if not
specified).
FIELD NAMES
@@ -133,14 +133,18 @@ color::
align::
Left-, middle-, or right-align the content between
- %(align:...) and %(end). The "align:" is followed by `<width>`
- and `<position>` in any order separated by a comma, where the
- `<position>` is either left, right or middle, default being
- left and `<width>` is the total length of the content with
- alignment. If the contents length is more than the width then
- no alignment is performed. If used with '--quote' everything
- in between %(align:...) and %(end) is quoted, but if nested
- then only the topmost level performs quoting.
+ %(align:...) and %(end). The "align:" is followed by
+ `width=<width>` and `position=<position>` in any order
+ separated by a comma, where the `<position>` is either left,
+ right or middle, default being left and `<width>` is the total
+ length of the content with alignment. For brevity, the
+ "width=" and/or "position=" prefixes may be omitted, and bare
+ <width> and <position> used instead. For instance,
+ `%(align:<width>,<position>)`. If the contents length is more
+ than the width then no alignment is performed. If used with
+ '--quote' everything in between %(align:...) and %(end) is
+ quoted, but if nested then only the topmost level performs
+ quoting.
In addition to the above, for commit and tag objects, the header
field names (`tree`, `parent`, `object`, `type`, and `tag`) can
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index 8174d27efd..6364e5dc45 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -130,7 +130,12 @@ The template directory will be one of the following (in order):
- the default template directory: `/usr/share/git-core/templates`.
The default template directory includes some directory structure, suggested
-"exclude patterns" (see linkgit:gitignore[5]), and sample hook files (see linkgit:githooks[5]).
+"exclude patterns" (see linkgit:gitignore[5]), and sample hook files.
+
+The sample hooks are all disabled by default, To enable one of the
+sample hooks rename it by removing its `.sample` suffix.
+
+See linkgit:githooks[5] for more general info on hook execution.
EXAMPLES
--------
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt
index 0e08f567a1..75c3f4157d 100644
--- a/Documentation/git-ls-files.txt
+++ b/Documentation/git-ls-files.txt
@@ -155,7 +155,7 @@ a space) at the start of each line:
<eolinfo> is either "-text", "none", "lf", "crlf", "mixed" or "".
+
"" means the file is not a regular file, it is not in the index or
-not accessable in the working tree.
+not accessible in the working tree.
+
<eolattr> is the attribute that is used when checking out or committing,
it is either "", "-text", "text", "text=auto", "text eol=lf", "text eol=crlf".
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index 07f7295ec8..b758d5556c 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -11,6 +11,7 @@ SYNOPSIS
[verse]
'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
+ [--[no-]allow-unrelated-histories]
[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]
'git merge' <msg> HEAD <commit>...
'git merge' --abort
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
index 738cfde10c..88ba42b455 100644
--- a/Documentation/git-p4.txt
+++ b/Documentation/git-p4.txt
@@ -515,20 +515,18 @@ git-p4.pathEncoding::
Git expects paths encoded as UTF-8. Use this config to tell git-p4
what encoding Perforce had used for the paths. This encoding is used
to transcode the paths to UTF-8. As an example, Perforce on Windows
- often uses β€œcp1252” to encode path names.
+ often uses "cp1252" to encode path names.
git-p4.largeFileSystem::
Specify the system that is used for large (binary) files. Please note
that large file systems do not support the 'git p4 submit' command.
- Only Git LFS [1] is implemented right now. Download
- and install the Git LFS command line extension to use this option
- and configure it like this:
+ Only Git LFS is implemented right now (see https://git-lfs.github.com/
+ for more information). Download and install the Git LFS command line
+ extension to use this option and configure it like this:
+
-------------
git config git-p4.largeFileSystem GitLFS
-------------
-+
- [1] https://git-lfs.github.com/
git-p4.largeFileExtensions::
All files matching a file extension in the list will be processed
@@ -553,6 +551,17 @@ git-p4.keepEmptyCommits::
A changelist that contains only excluded files will be imported
as an empty commit if this boolean option is set to true.
+git-p4.mapUser::
+ Map a P4 user to a name and email address in Git. Use a string
+ with the following format to create a mapping:
++
+-------------
+git config --add git-p4.mapUser "p4user = First Last <mail@address.com>"
+-------------
++
+A mapping will override any user information from P4. Mappings for
+multiple P4 user can be defined.
+
Submit variables
~~~~~~~~~~~~~~~~
git-p4.detectRenames::
diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt
index bbea5294ca..19cdcd0341 100644
--- a/Documentation/git-pack-objects.txt
+++ b/Documentation/git-pack-objects.txt
@@ -110,7 +110,8 @@ base-name::
--max-pack-size=<n>::
Maximum size of each output pack file. The size can be suffixed with
"k", "m", or "g". The minimum size allowed is limited to 1 MiB.
- If specified, multiple packfiles may be created.
+ If specified, multiple packfiles may be created, which also
+ prevents the creation of a bitmap index.
The default is unlimited, unless the config variable
`pack.packSizeLimit` is set.
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index a62a2a615d..d033b258e5 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -128,6 +128,15 @@ unless you have read linkgit:git-rebase[1] carefully.
--no-rebase::
Override earlier --rebase.
+--autostash::
+--no-autostash::
+ Before starting rebase, stash local modifications away (see
+ linkgit:git-stash[1]) if needed, and apply the stash when
+ done. `--no-autostash` is useful to override the `rebase.autoStash`
+ configuration variable (see linkgit:git-config[1]).
++
+This option is only valid when "--rebase" is used.
+
Options related to fetching
~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 669a357c81..cf6ee4a4df 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -37,6 +37,13 @@ the default `<refspec>` by consulting `remote.*.push` configuration,
and if it is not found, honors `push.default` configuration to decide
what to push (See linkgit:git-config[1] for the meaning of `push.default`).
+When neither the command-line nor the configuration specify what to
+push, the default behavior is used, which corresponds to the `simple`
+value for `push.default`: the current branch is pushed to the
+corresponding upstream branch, but as a safety measure, the push is
+aborted if the upstream branch does not have the same name as the
+local one.
+
OPTIONS[[OPTIONS]]
------------------
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 6cca8bb51d..0387b40e0a 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -3,7 +3,7 @@ git-rebase(1)
NAME
----
-git-rebase - Forward-port local commits to the updated upstream head
+git-rebase - Reapply commits on top of another base tip
SYNOPSIS
--------
@@ -391,9 +391,6 @@ idea unless you know what you are doing (see BUGS below).
final history. <cmd> will be interpreted as one or more shell
commands.
+
-This option can only be used with the `--interactive` option
-(see INTERACTIVE MODE below).
-+
You may execute several commands by either using one instance of `--exec`
with several commands:
+
@@ -406,6 +403,9 @@ or by giving more than one `--exec`:
If `--autosquash` is used, "exec" lines will not be appended for
the intermediate commits, and will only appear at the end of each
squash/fixup series.
++
+This uses the `--interactive` machinery internally, but it can be run
+without an explicit `--interactive`.
--root::
Rebase all commits reachable from <branch>, instead of
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index af230d0647..b9c02ce481 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -106,7 +106,8 @@ other objects in that pack they already have locally.
--max-pack-size=<n>::
Maximum size of each output pack file. The size can be suffixed with
"k", "m", or "g". The minimum size allowed is limited to 1 MiB.
- If specified, multiple packfiles may be created.
+ If specified, multiple packfiles may be created, which also
+ prevents the creation of a bitmap index.
The default is unlimited, unless the config variable
`pack.packSizeLimit` is set.
@@ -115,7 +116,8 @@ other objects in that pack they already have locally.
Write a reachability bitmap index as part of the repack. This
only makes sense when used with `-a` or `-A`, as the bitmaps
must be able to refer to all reachable objects. This option
- overrides the setting of `pack.writeBitmaps`.
+ overrides the setting of `repack.writeBitmaps`. This option
+ has no effect if multiple packfiles are created.
--pack-kept-objects::
Include objects in `.keep` files when repacking. Note that we
@@ -123,7 +125,7 @@ other objects in that pack they already have locally.
This means that we may duplicate objects, but this makes the
option safe to use when there are concurrent pushes or fetches.
This option is generally only useful if you are writing bitmaps
- with `-b` or `pack.writeBitmaps`, as it ensures that the
+ with `-b` or `repack.writeBitmaps`, as it ensures that the
bitmapped packfile has the necessary objects.
Configuration
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index 1572f058f5..9226c4380c 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -13,10 +13,10 @@ SYNOPSIS
[--reference <repository>] [--depth <depth>] [--] <repository> [<path>]
'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]
'git submodule' [--quiet] init [--] [<path>...]
-'git submodule' [--quiet] deinit [-f|--force] [--] <path>...
+'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)
'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
[-f|--force] [--rebase|--merge] [--reference <repository>]
- [--depth <depth>] [--recursive] [--] [<path>...]
+ [--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]
'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]
[commit] [--] [<path>...]
'git submodule' [--quiet] foreach [--recursive] <command>
@@ -140,12 +140,15 @@ deinit::
tree. Further calls to `git submodule update`, `git submodule foreach`
and `git submodule sync` will skip any unregistered submodules until
they are initialized again, so use this command if you don't want to
- have a local checkout of the submodule in your work tree anymore. If
+ have a local checkout of the submodule in your working tree anymore. If
you really want to remove a submodule from the repository and commit
that use linkgit:git-rm[1] instead.
+
-If `--force` is specified, the submodule's work tree will be removed even if
-it contains local modifications.
+When the command is run without pathspec, it errors out,
+instead of deinit-ing everything, to prevent mistakes.
++
+If `--force` is specified, the submodule's working tree will
+be removed even if it contains local modifications.
update::
+
@@ -247,6 +250,10 @@ OPTIONS
--quiet::
Only print error messages.
+--all::
+ This option is only valid for the deinit command. Unregister all
+ submodules in the working tree.
+
-b::
--branch::
Branch of repository to add as submodule.
@@ -257,8 +264,8 @@ OPTIONS
--force::
This option is only valid for add, deinit and update commands.
When running add, allow adding an otherwise ignored submodule path.
- When running deinit the submodule work trees will be removed even if
- they contain local changes.
+ When running deinit the submodule working trees will be removed even
+ if they contain local changes.
When running update (only effective with the checkout procedure),
throw away local changes in submodules when switching to a
different commit; and always run a checkout operation in the
@@ -377,6 +384,11 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.
clone with a history truncated to the specified number of revisions.
See linkgit:git-clone[1]
+-j <n>::
+--jobs <n>::
+ This option is only valid for the update command.
+ Clone new submodules in parallel with as many jobs.
+ Defaults to the `submodule.fetchJobs` option.
<path>...::
Paths to submodule(s). When specified this will restrict the command
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index 0c0f60b20e..fb23a98a17 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -1034,6 +1034,8 @@ listed below are allowed:
url = http://server.org/svn
fetch = trunk/project-a:refs/remotes/project-a/trunk
branches = branches/*/project-a:refs/remotes/project-a/branches/*
+ branches = branches/release_*:refs/remotes/project-a/branches/release_*
+ branches = branches/re*se:refs/remotes/project-a/branches/*
tags = tags/*/project-a:refs/remotes/project-a/tags/*
------------------------------------------------------------------------
@@ -1044,6 +1046,16 @@ independent path component (surrounded by '/' or EOL). This
type of configuration is not automatically created by 'init' and
should be manually entered with a text-editor or using 'git config'.
+Also note that only one asterisk is allowed per word. For example:
+
+ branches = branches/re*se:refs/remotes/project-a/branches/*
+
+will match branches 'release', 'rese', 're123se', however
+
+ branches = branches/re*s*e:refs/remotes/project-a/branches/*
+
+will produce an error.
+
It is also possible to fetch a subset of branches or tags by using a
comma-separated list of names within braces. For example:
diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index 62c76c1c89..c62234538b 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt
@@ -9,7 +9,7 @@ git-worktree - Manage multiple working trees
SYNOPSIS
--------
[verse]
-'git worktree add' [-f] [--detach] [-b <new-branch>] <path> [<branch>]
+'git worktree add' [-f] [--detach] [--checkout] [-b <new-branch>] <path> [<branch>]
'git worktree prune' [-n] [-v] [--expire <expire>]
'git worktree list' [--porcelain]
@@ -87,6 +87,12 @@ OPTIONS
With `add`, detach HEAD in the new working tree. See "DETACHED HEAD"
in linkgit:git-checkout[1].
+--[no-]checkout::
+ By default, `add` checks out `<branch>`, however, `--no-checkout` can
+ be used to suppress checkout in order to make customizations,
+ such as configuring sparse-checkout. See "Sparse checkout"
+ in linkgit:git-read-tree[1].
+
-n::
--dry-run::
With `prune`, do not remove anything; just report what it would
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 2754af8f77..34ff007a98 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -43,16 +43,25 @@ unreleased) version of Git, that is available from the 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v2.7.2/git.html[documentation for release 2.7.2]
+* link:v2.8.2/git.html[documentation for release 2.8.2]
* release notes for
+ link:RelNotes/2.8.2.txt[2.8.2].
+ link:RelNotes/2.8.1.txt[2.8.1].
+ link:RelNotes/2.8.0.txt[2.8].
+
+* link:v2.7.3/git.html[documentation for release 2.7.3]
+
+* release notes for
+ link:RelNotes/2.7.3.txt[2.7.3],
link:RelNotes/2.7.2.txt[2.7.2],
link:RelNotes/2.7.1.txt[2.7.1],
link:RelNotes/2.7.0.txt[2.7].
-* link:v2.6.5/git.html[documentation for release 2.6.5]
+* link:v2.6.6/git.html[documentation for release 2.6.6]
* release notes for
+ link:RelNotes/2.6.6.txt[2.6.6],
link:RelNotes/2.6.5.txt[2.6.5],
link:RelNotes/2.6.4.txt[2.6.4],
link:RelNotes/2.6.3.txt[2.6.3],
@@ -60,18 +69,20 @@ Documentation for older releases are available here:
link:RelNotes/2.6.1.txt[2.6.1],
link:RelNotes/2.6.0.txt[2.6].
-* link:v2.5.4/git.html[documentation for release 2.5.4]
+* link:v2.5.5/git.html[documentation for release 2.5.5]
* release notes for
+ link:RelNotes/2.5.5.txt[2.5.5],
link:RelNotes/2.5.4.txt[2.5.4],
link:RelNotes/2.5.3.txt[2.5.3],
link:RelNotes/2.5.2.txt[2.5.2],
link:RelNotes/2.5.1.txt[2.5.1],
link:RelNotes/2.5.0.txt[2.5].
-* link:v2.4.10/git.html[documentation for release 2.4.10]
+* link:v2.4.11/git.html[documentation for release 2.4.11]
* release notes for
+ link:RelNotes/2.4.11.txt[2.4.11],
link:RelNotes/2.4.10.txt[2.4.10],
link:RelNotes/2.4.9.txt[2.4.9],
link:RelNotes/2.4.8.txt[2.4.8],
@@ -1065,11 +1076,6 @@ of clones and fetches.
cloning of shallow repositories.
See 'GIT_TRACE' for available trace output options.
-'GIT_TRACE_EXCLUDE'::
- Enables trace messages that can help debugging .gitignore
- processing. See 'GIT_TRACE' for available trace output
- options.
-
'GIT_LITERAL_PATHSPECS'::
Setting this variable to `1` will cause Git to treat all
pathspecs literally, rather than as glob patterns. For example,
@@ -1128,7 +1134,7 @@ of clones and fetches.
connection (or proxy, if configured)
- `ssh`: git over ssh (including `host:path` syntax,
- `git+ssh://`, etc).
+ `ssh://`, etc).
- `http`: git over http, both "smart http" and "dumb http".
Note that this does _not_ include `https`; if you want both,
diff --git a/Documentation/gitcredentials.txt b/Documentation/gitcredentials.txt
index 1c75be0803..f3a75d1ce1 100644
--- a/Documentation/gitcredentials.txt
+++ b/Documentation/gitcredentials.txt
@@ -106,6 +106,11 @@ variable, each helper will be tried in turn, and may provide a username,
password, or nothing. Once Git has acquired both a username and a
password, no more helpers will be tried.
+If `credential.helper` is configured to the empty string, this resets
+the helper list to empty (so you may override a helper set by a
+lower-priority config file by configuring the empty-string helper,
+followed by whatever set of helpers you would like).
+
CREDENTIAL CONTEXTS
-------------------
diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
index 7ba0ac965d..d82e912e55 100644
--- a/Documentation/githooks.txt
+++ b/Documentation/githooks.txt
@@ -7,24 +7,35 @@ githooks - Hooks used by Git
SYNOPSIS
--------
-$GIT_DIR/hooks/*
+$GIT_DIR/hooks/* (or \`git config core.hooksPath`/*)
DESCRIPTION
-----------
-Hooks are little scripts you can place in `$GIT_DIR/hooks`
-directory to trigger action at certain points. When
-'git init' is run, a handful of example hooks are copied into the
-`hooks` directory of the new repository, but by default they are
-all disabled. To enable a hook, rename it by removing its `.sample`
-suffix.
+Hooks are programs you can place in a hooks directory to trigger
+actions at certain points in git's execution. Hooks that don't have
+the executable bit set are ignored.
-NOTE: It is also a requirement for a given hook to be executable.
-However - in a freshly initialized repository - the `.sample` files are
-executable by default.
+By default the hooks directory is `$GIT_DIR/hooks`, but that can be
+changed via the `core.hooksPath` configuration variable (see
+linkgit:git-config[1]).
-This document describes the currently defined hooks.
+Before Git invokes a hook, it changes its working directory to either
+the root of the working tree in a non-bare repository, or to the
+$GIT_DIR in a bare repository.
+
+Hooks can get their arguments via the environment, command-line
+arguments, and stdin. See the documentation for each hook below for
+details.
+
+'git init' may copy hooks to the new repository, depending on its
+configuration. See the "TEMPLATE DIRECTORY" section in
+linkgit:git-init[1] for details. When the rest of this document refers
+to "default hooks" it's talking about the default template shipped
+with Git.
+
+The currently supported hooks are described below.
HOOKS
-----
@@ -32,15 +43,15 @@ HOOKS
applypatch-msg
~~~~~~~~~~~~~~
-This hook is invoked by 'git am' script. It takes a single
+This hook is invoked by 'git am'. It takes a single
parameter, the name of the file that holds the proposed commit
-log message. Exiting with non-zero status causes
-'git am' to abort before applying the patch.
+log message. Exiting with a non-zero status causes 'git am' to abort
+before applying the patch.
The hook is allowed to edit the message file in place, and can
be used to normalize the message into some project standard
-format (if the project has one). It can also be used to refuse
-the commit after inspecting the message file.
+format. It can also be used to refuse the commit after inspecting
+the message file.
The default 'applypatch-msg' hook, when enabled, runs the
'commit-msg' hook, if the latter is enabled.
@@ -73,10 +84,10 @@ pre-commit
~~~~~~~~~~
This hook is invoked by 'git commit', and can be bypassed
-with `--no-verify` option. It takes no parameter, and is
+with the `--no-verify` option. It takes no parameters, and is
invoked before obtaining the proposed commit log message and
-making a commit. Exiting with non-zero status from this script
-causes the 'git commit' to abort.
+making a commit. Exiting with a non-zero status from this script
+causes the 'git commit' command to abort before creating a commit.
The default 'pre-commit' hook, when enabled, catches introduction
of lines with trailing whitespaces and aborts the commit when
@@ -115,15 +126,15 @@ commit-msg
~~~~~~~~~~
This hook is invoked by 'git commit', and can be bypassed
-with `--no-verify` option. It takes a single parameter, the
+with the `--no-verify` option. It takes a single parameter, the
name of the file that holds the proposed commit log message.
-Exiting with non-zero status causes the 'git commit' to
+Exiting with a non-zero status causes the 'git commit' to
abort.
-The hook is allowed to edit the message file in place, and can
-be used to normalize the message into some project standard
-format (if the project has one). It can also be used to refuse
-the commit after inspecting the message file.
+The hook is allowed to edit the message file in place, and can be used
+to normalize the message into some project standard format. It
+can also be used to refuse the commit after inspecting the message
+file.
The default 'commit-msg' hook, when enabled, detects duplicate
"Signed-off-by" lines, and aborts the commit if one is found.
@@ -131,8 +142,8 @@ The default 'commit-msg' hook, when enabled, detects duplicate
post-commit
~~~~~~~~~~~
-This hook is invoked by 'git commit'. It takes no
-parameter, and is invoked after a commit is made.
+This hook is invoked by 'git commit'. It takes no parameters, and is
+invoked after a commit is made.
This hook is meant primarily for notification, and cannot affect
the outcome of 'git commit'.
@@ -267,9 +278,11 @@ does not know the entire set of branches, so it would end up
firing one e-mail per ref when used naively, though. The
<<post-receive,'post-receive'>> hook is more suited to that.
-Another use suggested on the mailing list is to use this hook to
-implement access control which is finer grained than the one
-based on filesystem group.
+In an environment that restricts the users' access only to git
+commands over the wire, this hook can be used to implement access
+control without relying on filesystem ownership and group
+membership. See linkgit:git-shell[1] for how you might use the login
+shell to restrict the user's access to only git commands.
Both standard output and standard error output are forwarded to
'git send-pack' on the other end, so you can simply `echo` messages
@@ -397,7 +410,7 @@ preceding SP is also omitted. Currently, no commands pass any
'extra-info'.
The hook always runs after the automatic note copying (see
-"notes.rewrite.<command>" in linkgit:git-config.txt[1]) has happened, and
+"notes.rewrite.<command>" in linkgit:git-config[1]) has happened, and
thus has access to these notes.
The following command-specific comments apply:
diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
index 3ded6fdc99..473623d631 100644
--- a/Documentation/gitignore.txt
+++ b/Documentation/gitignore.txt
@@ -82,12 +82,12 @@ PATTERN FORMAT
- An optional prefix "`!`" which negates the pattern; any
matching file excluded by a previous pattern will become
- included again.
+ included again. It is not possible to re-include a file if a parent
+ directory of that file is excluded. Git doesn't list excluded
+ directories for performance reasons, so any patterns on contained
+ files have no effect, no matter where they are defined.
Put a backslash ("`\`") in front of the first "`!`" for patterns
that begin with a literal "`!`", for example, "`\!important!.txt`".
- It is possible to re-include a file if a parent directory of that
- file is excluded if certain conditions are met. See section NOTES
- for detail.
- If the pattern ends with a slash, it is removed for the
purpose of the following description, but it would only find
@@ -141,15 +141,6 @@ not tracked by Git remain untracked.
To stop tracking a file that is currently tracked, use
'git rm --cached'.
-To re-include files or directories when their parent directory is
-excluded, the following conditions must be met:
-
- - The rules to exclude a directory and re-include a subset back must
- be in the same .gitignore file.
-
- - The directory part in the re-include rules must be literal (i.e. no
- wildcards)
-
EXAMPLES
--------
diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index cafc284359..8ad29e61a9 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -145,7 +145,7 @@ current branch integrates with) obviously do not work, as there is no
A fast-forward is a special type of <<def_merge,merge>> where you have a
<<def_revision,revision>> and you are "merging" another
<<def_branch,branch>>'s changes that happen to be a descendant of what
- you have. In such these cases, you do not make a new <<def_merge,merge>>
+ you have. In such a case, you do not make a new <<def_merge,merge>>
<<def_commit,commit>> but instead just update to his
revision. This will happen frequently on a
<<def_remote_tracking_branch,remote-tracking branch>> of a remote
diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
index f08e9b80c5..dfb43d000f 100644
--- a/Documentation/merge-options.txt
+++ b/Documentation/merge-options.txt
@@ -114,3 +114,11 @@ ifndef::git-pull[]
reporting.
endif::git-pull[]
+
+--allow-unrelated-histories::
+ By default, `git merge` command refuses to merge histories
+ that do not share a common ancestor. This option can be
+ used to override this safety when merging histories of two
+ projects that started their lives independently. As that is
+ a very rare occasion, no configuration variable to enable
+ this by default exists and will not be added.
diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt
index 7bbd19b300..2eb92b9327 100644
--- a/Documentation/merge-strategies.txt
+++ b/Documentation/merge-strategies.txt
@@ -81,9 +81,17 @@ no-renormalize;;
Disables the `renormalize` option. This overrides the
`merge.renormalize` configuration variable.
+no-renames;;
+ Turn off rename detection.
+ See also linkgit:git-diff[1] `--no-renames`.
+
+find-renames[=<n>];;
+ Turn on rename detection, optionally setting the similarity
+ threshold. This is the default.
+ See also linkgit:git-diff[1] `--find-renames`.
+
rename-threshold=<n>;;
- Controls the similarity threshold used for rename detection.
- See also linkgit:git-diff[1] `-M`.
+ Deprecated synonym for `find-renames=<n>`.
subtree[=<path>];;
This option is a more advanced form of 'subtree' strategy, where
diff --git a/Documentation/pretty-options.txt b/Documentation/pretty-options.txt
index 54b88b6dca..6c67182728 100644
--- a/Documentation/pretty-options.txt
+++ b/Documentation/pretty-options.txt
@@ -42,6 +42,20 @@ people using 80-column terminals.
verbatim; this means that invalid sequences in the original
commit may be copied to the output.
+--expand-tabs=<n>::
+--expand-tabs::
+--no-expand-tabs::
+ Perform a tab expansion (replace each tab with enough spaces
+ to fill to the next display column that is multiple of '<n>')
+ in the log message before showing it in the output.
+ `--expand-tabs` is a short-hand for `--expand-tabs=8`, and
+ `--no-expand-tabs` is a short-hand for `--expand-tabs=0`,
+ which disables tab expansion.
++
+By default, tabs are expanded in pretty formats that indent the log
+message by 4 spaces (i.e. 'medium', which is the default, 'full',
+and 'fuller').
+
ifndef::git-rev-list[]
--notes[=<treeish>]::
Show the notes (see linkgit:git-notes[1]) that annotate the
diff --git a/Documentation/technical/api-argv-array.txt b/Documentation/technical/api-argv-array.txt
index 8076172a08..cfc063018c 100644
--- a/Documentation/technical/api-argv-array.txt
+++ b/Documentation/technical/api-argv-array.txt
@@ -56,3 +56,10 @@ Functions
`argv_array_clear`::
Free all memory associated with the array and return it to the
initial, empty state.
+
+`argv_array_detach`::
+ Disconnect the `argv` member from the `argv_array` struct and
+ return it. The caller is responsible for freeing the memory used
+ by the array, and by the strings it references. After detaching,
+ the `argv_array` is in a reinitialized state and can be pushed
+ into again.
diff --git a/Documentation/technical/api-config.txt b/Documentation/technical/api-config.txt
index 0d8b99b368..20741f345e 100644
--- a/Documentation/technical/api-config.txt
+++ b/Documentation/technical/api-config.txt
@@ -63,13 +63,6 @@ parse for configuration, rather than looking in the usual files. Regular
Specify whether include directives should be followed in parsed files.
Regular `git_config` defaults to `1`.
-There is a special version of `git_config` called `git_config_early`.
-This version takes an additional parameter to specify the repository
-config, instead of having it looked up via `git_path`. This is useful
-early in a Git program before the repository has been found. Unless
-you're working with early setup code, you probably don't want to use
-this.
-
Reading Specific Files
----------------------
diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt
index 5f0757dcc9..695bd4bf43 100644
--- a/Documentation/technical/api-parse-options.txt
+++ b/Documentation/technical/api-parse-options.txt
@@ -231,6 +231,13 @@ There are some macros to easily define options:
pass the command-line option, which can be specified multiple times,
to another command.
+`OPT_CMDMODE(short, long, &int_var, description, enum_val)`::
+ Define an "operation mode" option, only one of which in the same
+ group of "operating mode" options that share the same `int_var`
+ can be given by the user. `enum_val` is set to `int_var` when the
+ option is used, but an error is reported if other "operating mode"
+ option has already set its value to the same `int_var`.
+
The last element of the array must be `OPT_END()`.
diff --git a/Documentation/technical/api-trace.txt b/Documentation/technical/api-trace.txt
index 097a651d96..fadb5979c4 100644
--- a/Documentation/technical/api-trace.txt
+++ b/Documentation/technical/api-trace.txt
@@ -28,7 +28,7 @@ static struct trace_key trace_foo = TRACE_KEY_INIT(FOO);
static void trace_print_foo(const char *message)
{
- trace_print_key(&trace_foo, message);
+ trace_printf_key(&trace_foo, "%s", message);
}
------------
+
@@ -95,3 +95,46 @@ for (;;) {
}
trace_performance(t, "frotz");
------------
+
+Bugs & Caveats
+--------------
+
+GIT_TRACE_* environment variables can be used to tell Git to show
+trace output to its standard error stream. Git can often spawn a pager
+internally to run its subcommand and send its standard output and
+standard error to it.
+
+Because GIT_TRACE_PERFORMANCE trace is generated only at the very end
+of the program with atexit(), which happens after the pager exits, it
+would not work well if you send its log to the standard error output
+and let Git spawn the pager at the same time.
+
+As a work around, you can for example use '--no-pager', or set
+GIT_TRACE_PERFORMANCE to another file descriptor which is redirected
+to stderr, or set GIT_TRACE_PERFORMANCE to a file specified by its
+absolute path.
+
+For example instead of the following command which by default may not
+print any performance information:
+
+------------
+GIT_TRACE_PERFORMANCE=2 git log -1
+------------
+
+you may want to use:
+
+------------
+GIT_TRACE_PERFORMANCE=2 git --no-pager log -1
+------------
+
+or:
+
+------------
+GIT_TRACE_PERFORMANCE=3 3>&2 git log -1
+------------
+
+or:
+
+------------
+GIT_TRACE_PERFORMANCE=/path/to/log/file git log -1
+------------
diff --git a/Documentation/technical/pack-protocol.txt b/Documentation/technical/pack-protocol.txt
index c6977bbc5a..8b36343802 100644
--- a/Documentation/technical/pack-protocol.txt
+++ b/Documentation/technical/pack-protocol.txt
@@ -526,7 +526,7 @@ Push Certificate
A push certificate begins with a set of header lines. After the
header and an empty line, the protocol commands follow, one per
-line. Note that the the trailing LF in push-cert PKT-LINEs is _not_
+line. Note that the trailing LF in push-cert PKT-LINEs is _not_
optional; it must be present.
Currently, the following header fields are defined:
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index ec6bacfcdf..5e07454572 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -2134,7 +2134,7 @@ browsing the repository using gitweb. The default server when using
instaweb is lighttpd.
See the file gitweb/INSTALL in the Git source tree and
-linkgit:gitweb[1] for instructions on details setting up a permament
+linkgit:gitweb[1] for instructions on details setting up a permanent
installation with a CGI or Perl capable server.
[[how-to-get-a-git-repository-with-minimal-history]]
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 5873f163e5..655b49011f 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
-DEF_VER=v2.7.0.GIT
+DEF_VER=v2.8.0.GIT
LF='
'
diff --git a/Makefile b/Makefile
index 10566d6481..bc3d41ebf3 100644
--- a/Makefile
+++ b/Makefile
@@ -264,6 +264,9 @@ all::
#
# Define NO_TCLTK if you do not want Tcl/Tk GUI.
#
+# Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
+# and egrep that are pickier when their input contains non-ASCII data.
+#
# The TCL_PATH variable governs the location of the Tcl interpreter
# used to optimize git-gui for your system. Only used if NO_TCLTK
# is not set. Defaults to the bare 'tclsh'.
@@ -352,9 +355,6 @@ all::
#
# Define HAVE_CLOCK_MONOTONIC if your platform has CLOCK_MONOTONIC in librt.
#
-# Define NO_HMAC_CTX_CLEANUP if your OpenSSL is version 0.9.6b or earlier to
-# cleanup the HMAC context with the older HMAC_cleanup function.
-#
# Define USE_PARENS_AROUND_GETTEXT_N to "yes" if your compiler happily
# compiles the following initialization:
#
@@ -380,6 +380,18 @@ ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
ALL_LDFLAGS = $(LDFLAGS)
STRIP ?= strip
+ifdef DEVELOPER
+CFLAGS += -Werror \
+ -Wdeclaration-after-statement \
+ -Wno-format-zero-length \
+ -Wold-style-definition \
+ -Woverflow \
+ -Wpointer-arith \
+ -Wstrict-prototypes \
+ -Wunused \
+ -Wvla
+endif
+
# Create as necessary, replace existing, make ranlib unneeded.
ARFLAGS = rcs
@@ -428,7 +440,6 @@ DIFF = diff
TAR = tar
FIND = find
INSTALL = install
-RPMBUILD = rpmbuild
TCL_PATH = tclsh
TCLTK_PATH = wish
XGETTEXT = xgettext
@@ -609,7 +620,7 @@ TEST_PROGRAMS_NEED_X += test-svn-fe
TEST_PROGRAMS_NEED_X += test-urlmatch-normalization
TEST_PROGRAMS_NEED_X += test-wildmatch
-TEST_PROGRAMS = $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X))
+TEST_PROGRAMS = $(patsubst %,t/helper/%$X,$(TEST_PROGRAMS_NEED_X))
# List built-in command $C whose implementation cmd_$C() is not in
# builtin/$C.o but is linked in as part of some other command.
@@ -1123,9 +1134,6 @@ ifndef NO_OPENSSL
ifdef NEEDS_CRYPTO_WITH_SSL
OPENSSL_LIBSSL += -lcrypto
endif
- ifdef NO_HMAC_CTX_CLEANUP
- BASIC_CFLAGS += -DNO_HMAC_CTX_CLEANUP
- endif
else
BASIC_CFLAGS += -DNO_OPENSSL
BLK_SHA1 = 1
@@ -1728,7 +1736,7 @@ common-cmds.h: $(wildcard Documentation/git-*.txt)
SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\
$(localedir_SQ):$(NO_CURL):$(USE_GETTEXT_SCHEME):$(SANE_TOOL_PATH_SQ):\
- $(gitwebdir_SQ):$(PERL_PATH_SQ)
+ $(gitwebdir_SQ):$(PERL_PATH_SQ):$(SANE_TEXT_GREP)
define cmd_munge_script
$(RM) $@ $@+ && \
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
@@ -1740,6 +1748,7 @@ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-e $(BROKEN_PATH_FIX) \
-e 's|@@GITWEBDIR@@|$(gitwebdir_SQ)|g' \
-e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \
+ -e 's|@@SANE_TEXT_GREP@@|$(SANE_TEXT_GREP)|g' \
$@.sh >$@+
endef
@@ -1888,7 +1897,7 @@ VCSSVN_OBJS += vcs-svn/fast_export.o
VCSSVN_OBJS += vcs-svn/svndiff.o
VCSSVN_OBJS += vcs-svn/svndump.o
-TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS))
+TEST_OBJS := $(patsubst %$X,%.o,$(TEST_PROGRAMS))
OBJECTS := $(LIB_OBJS) $(BUILTIN_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \
$(XDIFF_OBJS) \
$(VCSSVN_OBJS) \
@@ -2053,7 +2062,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
--keyword=gettextln --keyword=eval_gettextln
XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
-LOCALIZED_SH = $(SCRIPT_SH)
+LOCALIZED_SH = $(SCRIPT_SH) git-parse-remote.sh
LOCALIZED_PERL = $(SCRIPT_PERL)
ifdef XGETTEXT_INCLUDE_TESTS
@@ -2195,7 +2204,7 @@ bin-wrappers/%: wrap-for-bin.sh
@mkdir -p bin-wrappers
$(QUIET_GEN)sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-e 's|@@BUILD_DIR@@|$(shell pwd)|' \
- -e 's|@@PROG@@|$(@F)|' < $< > $@ && \
+ -e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%,$(@F))|' < $< > $@ && \
chmod +x $@
# GNU make supports exporting all variables by "export" without parameters.
@@ -2215,25 +2224,25 @@ perf: all
.PHONY: test perf
-test-ctype$X: ctype.o
+t/helper/test-ctype$X: ctype.o
-test-date$X: date.o ctype.o
+t/helper/test-date$X: date.o ctype.o
-test-delta$X: diff-delta.o patch-delta.o
+t/helper/test-delta$X: diff-delta.o patch-delta.o
-test-line-buffer$X: vcs-svn/lib.a
+t/helper/test-line-buffer$X: vcs-svn/lib.a
-test-parse-options$X: parse-options.o parse-options-cb.o
+t/helper/test-parse-options$X: parse-options.o parse-options-cb.o
-test-svn-fe$X: vcs-svn/lib.a
+t/helper/test-svn-fe$X: vcs-svn/lib.a
.PRECIOUS: $(TEST_OBJS)
-test-%$X: test-%.o GIT-LDFLAGS $(GITLIBS)
+t/helper/test-%$X: t/helper/test-%.o GIT-LDFLAGS $(GITLIBS)
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(filter %.a,$^) $(LIBS)
-check-sha1:: test-sha1$X
- ./test-sha1.sh
+check-sha1:: t/helper/test-sha1$X
+ t/helper/test-sha1.sh
SP_OBJ = $(patsubst %.o,%.sp,$(C_OBJ))
@@ -2247,10 +2256,10 @@ sparse: $(SP_OBJ)
check: common-cmds.h
@if sparse; \
then \
- echo 2>&1 "Use 'make sparse' instead"; \
+ echo >&2 "Use 'make sparse' instead"; \
$(MAKE) --no-print-directory sparse; \
else \
- echo 2>&1 "Did you mean 'make test'?"; \
+ echo >&2 "Did you mean 'make test'?"; \
exit 1; \
fi
@@ -2380,31 +2389,25 @@ quick-install-html:
### Maintainer's dist rules
-git.spec: git.spec.in GIT-VERSION-FILE
- sed -e 's/@@VERSION@@/$(GIT_VERSION)/g' < $< > $@+
- mv $@+ $@
-
GIT_TARNAME = git-$(GIT_VERSION)
-dist: git.spec git-archive$(X) configure
+dist: git-archive$(X) configure
./git-archive --format=tar \
--prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar
@mkdir -p $(GIT_TARNAME)
- @cp git.spec configure $(GIT_TARNAME)
+ @cp configure $(GIT_TARNAME)
@echo $(GIT_VERSION) > $(GIT_TARNAME)/version
@$(MAKE) -C git-gui TARDIR=../$(GIT_TARNAME)/git-gui dist-version
$(TAR) rf $(GIT_TARNAME).tar \
- $(GIT_TARNAME)/git.spec \
$(GIT_TARNAME)/configure \
$(GIT_TARNAME)/version \
$(GIT_TARNAME)/git-gui/version
@$(RM) -r $(GIT_TARNAME)
gzip -f -9 $(GIT_TARNAME).tar
-rpm: dist
- $(RPMBUILD) \
- --define "_source_filedigest_algorithm md5" \
- --define "_binary_filedigest_algorithm md5" \
- -ta $(GIT_TARNAME).tar.gz
+rpm::
+ @echo >&2 "Use distro packaged sources to run rpmbuild"
+ @false
+.PHONY: rpm
htmldocs = git-htmldocs-$(GIT_VERSION)
manpages = git-manpages-$(GIT_VERSION)
@@ -2440,8 +2443,8 @@ profile-clean:
$(RM) $(addsuffix *.gcno,$(addprefix $(PROFILE_DIR)/, $(object_dirs)))
clean: profile-clean coverage-clean
- $(RM) *.o *.res refs/*.o block-sha1/*.o ppc/*.o compat/*.o compat/*/*.o
- $(RM) xdiff/*.o vcs-svn/*.o ewah/*.o builtin/*.o
+ $(RM) *.res
+ $(RM) $(OBJECTS)
$(RM) $(LIB_FILE) $(XDIFF_LIB) $(VCSSVN_LIB)
$(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X
$(RM) $(TEST_PROGRAMS) $(NO_INSTALL)
diff --git a/README b/README.md
index 1083735d1c..2087748f0c 100644
--- a/README
+++ b/README.md
@@ -1,19 +1,5 @@
-////////////////////////////////////////////////////////////////
-
- Git - the stupid content tracker
-
-////////////////////////////////////////////////////////////////
-
-"git" can mean anything, depending on your mood.
-
- - random three-letter combination that is pronounceable, and not
- actually used by any common UNIX command. The fact that it is a
- mispronunciation of "get" may or may not be relevant.
- - stupid. contemptible and despicable. simple. Take your pick from the
- dictionary of slang.
- - "global information tracker": you're in a good mood, and it actually
- works for you. Angels sing, and a light suddenly fills the room.
- - "goddamn idiotic truckload of sh*t": when it breaks
+Git - fast, scalable, distributed revision control system
+=========================================================
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
@@ -24,27 +10,27 @@ License version 2 (some parts of it are under different licenses,
compatible with the GPLv2). It was originally written by Linus
Torvalds with help of a group of hackers around the net.
-Please read the file INSTALL for installation instructions.
+Please read the file [INSTALL][] for installation instructions.
+
+Many Git online resources are accessible from http://git-scm.com/
+including full documentation and Git related tools.
-See Documentation/gittutorial.txt to get started, then see
-Documentation/giteveryday.txt for a useful minimum set of commands, and
-Documentation/git-commandname.txt for documentation of each command.
+See [Documentation/gittutorial.txt][] to get started, then see
+[Documentation/giteveryday.txt][] for a useful minimum set of commands, and
+Documentation/git-*commandname*.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with "man gittutorial" or "git help tutorial", and the
-documentation of each command with "man git-commandname" or "git help
-commandname".
+documentation of each command with "man git-*commandname*" or "git help
+*commandname*".
-CVS users may also want to read Documentation/gitcvs-migration.txt
+CVS users may also want to read [Documentation/gitcvs-migration.txt][]
("man gitcvs-migration" or "git help cvs-migration" if git is
installed).
-Many Git online resources are accessible from http://git-scm.com/
-including full documentation and Git related tools.
-
The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org (read
-Documentation/SubmittingPatches for instructions on patch submission).
+[Documentation/SubmittingPatches][] for instructions on patch submission).
To subscribe to the list, send an email with just "subscribe git" in
the body to majordomo@vger.kernel.org. The mailing list archives are
available at http://news.gmane.org/gmane.comp.version-control.git/,
@@ -54,3 +40,22 @@ The maintainer frequently sends the "What's cooking" reports that
list the current status of various development topics to the mailing
list. The discussion following them give a good reference for
project status, development direction and remaining tasks.
+
+The name "git" was given by Linus Torvalds when he wrote the very
+first version. He described the tool as "the stupid content tracker"
+and the name as (depending on your mood):
+
+ - random three-letter combination that is pronounceable, and not
+ actually used by any common UNIX command. The fact that it is a
+ mispronunciation of "get" may or may not be relevant.
+ - stupid. contemptible and despicable. simple. Take your pick from the
+ dictionary of slang.
+ - "global information tracker": you're in a good mood, and it actually
+ works for you. Angels sing, and a light suddenly fills the room.
+ - "goddamn idiotic truckload of sh*t": when it breaks
+
+[INSTALL]: INSTALL
+[Documentation/gittutorial.txt]: Documentation/gittutorial.txt
+[Documentation/giteveryday.txt]: Documentation/giteveryday.txt
+[Documentation/gitcvs-migration.txt]: Documentation/gitcvs-migration.txt
+[Documentation/SubmittingPatches]: Documentation/SubmittingPatches
diff --git a/RelNotes b/RelNotes
index 7db30403c3..66606735cb 120000
--- a/RelNotes
+++ b/RelNotes
@@ -1 +1 @@
-Documentation/RelNotes/2.8.0.txt \ No newline at end of file
+Documentation/RelNotes/2.9.0.txt \ No newline at end of file
diff --git a/abspath.c b/abspath.c
index 5edb4e7816..2825de8591 100644
--- a/abspath.c
+++ b/abspath.c
@@ -167,7 +167,6 @@ const char *prefix_filename(const char *pfx, int pfx_len, const char *arg)
strbuf_add(&path, pfx, pfx_len);
strbuf_addstr(&path, arg);
#else
- char *p;
/* don't add prefix to absolute paths, but still replace '\' by '/' */
strbuf_reset(&path);
if (is_absolute_path(arg))
@@ -175,9 +174,7 @@ const char *prefix_filename(const char *pfx, int pfx_len, const char *arg)
else if (pfx_len)
strbuf_add(&path, pfx, pfx_len);
strbuf_addstr(&path, arg);
- for (p = path.buf + pfx_len; *p; p++)
- if (*p == '\\')
- *p = '/';
+ convert_slashes(path.buf + pfx_len);
#endif
return path.buf;
}
diff --git a/alias.c b/alias.c
index a11229db9e..3b90397a99 100644
--- a/alias.c
+++ b/alias.c
@@ -23,7 +23,7 @@ int split_cmdline(char *cmdline, const char ***argv)
int src, dst, count = 0, size = 16;
char quoted = 0;
- *argv = xmalloc(sizeof(**argv) * size);
+ ALLOC_ARRAY(*argv, size);
/* split alias_string */
(*argv)[count++] = cmdline;
diff --git a/archive.c b/archive.c
index 0687afae43..5d735ae603 100644
--- a/archive.c
+++ b/archive.c
@@ -171,8 +171,8 @@ static void queue_directory(const unsigned char *sha1,
unsigned mode, int stage, struct archiver_context *c)
{
struct directory *d;
- size_t len = base->len + 1 + strlen(filename) + 1;
- d = xmalloc(sizeof(*d) + len);
+ size_t len = st_add4(base->len, 1, strlen(filename), 1);
+ d = xmalloc(st_add(sizeof(*d), len));
d->up = c->bottom;
d->baselen = base->len;
d->mode = mode;
diff --git a/argv-array.c b/argv-array.c
index eaed47712b..5d370fa336 100644
--- a/argv-array.c
+++ b/argv-array.c
@@ -74,3 +74,14 @@ void argv_array_clear(struct argv_array *array)
}
argv_array_init(array);
}
+
+const char **argv_array_detach(struct argv_array *array)
+{
+ if (array->argv == empty_argv)
+ return xcalloc(1, sizeof(const char *));
+ else {
+ const char **ret = array->argv;
+ argv_array_init(array);
+ return ret;
+ }
+}
diff --git a/argv-array.h b/argv-array.h
index a2fa0aa606..29056e49a1 100644
--- a/argv-array.h
+++ b/argv-array.h
@@ -20,5 +20,6 @@ void argv_array_pushl(struct argv_array *, ...);
void argv_array_pushv(struct argv_array *, const char **);
void argv_array_pop(struct argv_array *);
void argv_array_clear(struct argv_array *);
+const char **argv_array_detach(struct argv_array *);
#endif /* ARGV_ARRAY_H */
diff --git a/attr.c b/attr.c
index 086c08dcfa..eec5d7d15a 100644
--- a/attr.c
+++ b/attr.c
@@ -93,9 +93,7 @@ static struct git_attr *git_attr_internal(const char *name, int len)
if (invalid_attr_name(name, len))
return NULL;
- a = xmalloc(sizeof(*a) + len + 1);
- memcpy(a->name, name, len);
- a->name[len] = 0;
+ FLEX_ALLOC_MEM(a, name, name, len);
a->h = hval;
a->next = git_attr_hash[pos];
a->attr_nr = attr_nr++;
@@ -124,7 +122,7 @@ struct pattern {
const char *pattern;
int patternlen;
int nowildcardlen;
- int flags; /* EXC_FLAG_* */
+ unsigned flags; /* EXC_FLAG_* */
};
/*
@@ -799,7 +797,7 @@ int git_all_attrs(const char *path, int *num, struct git_attr_check **check)
++count;
}
*num = count;
- *check = xmalloc(sizeof(**check) * count);
+ ALLOC_ARRAY(*check, count);
j = 0;
for (i = 0; i < attr_nr; i++) {
const char *value = check_all_attr[i].value;
diff --git a/bisect.c b/bisect.c
index 06ec54e599..7996c2907b 100644
--- a/bisect.c
+++ b/bisect.c
@@ -708,10 +708,10 @@ static struct commit *get_commit_reference(const unsigned char *sha1)
static struct commit **get_bad_and_good_commits(int *rev_nr)
{
- int len = 1 + good_revs.nr;
- struct commit **rev = xmalloc(len * sizeof(*rev));
+ struct commit **rev;
int i, n = 0;
+ ALLOC_ARRAY(rev, 1 + good_revs.nr);
rev[n++] = get_commit_reference(current_bad_oid->hash);
for (i = 0; i < good_revs.nr; i++)
rev[n++] = get_commit_reference(good_revs.sha1[i]);
diff --git a/branch.c b/branch.c
index 7ff3f20496..4162443707 100644
--- a/branch.c
+++ b/branch.c
@@ -49,7 +49,13 @@ static int should_setup_rebase(const char *origin)
return 0;
}
-void install_branch_config(int flag, const char *local, const char *origin, const char *remote)
+static const char tracking_advice[] =
+N_("\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\".");
+
+int install_branch_config(int flag, const char *local, const char *origin, const char *remote)
{
const char *shortname = NULL;
struct strbuf key = STRBUF_INIT;
@@ -60,20 +66,23 @@ void install_branch_config(int flag, const char *local, const char *origin, cons
&& !origin) {
warning(_("Not setting branch %s as its own upstream."),
local);
- return;
+ return 0;
}
strbuf_addf(&key, "branch.%s.remote", local);
- git_config_set(key.buf, origin ? origin : ".");
+ if (git_config_set_gently(key.buf, origin ? origin : ".") < 0)
+ goto out_err;
strbuf_reset(&key);
strbuf_addf(&key, "branch.%s.merge", local);
- git_config_set(key.buf, remote);
+ if (git_config_set_gently(key.buf, remote) < 0)
+ goto out_err;
if (rebasing) {
strbuf_reset(&key);
strbuf_addf(&key, "branch.%s.rebase", local);
- git_config_set(key.buf, "true");
+ if (git_config_set_gently(key.buf, "true") < 0)
+ goto out_err;
}
strbuf_release(&key);
@@ -102,6 +111,19 @@ void install_branch_config(int flag, const char *local, const char *origin, cons
local, remote);
}
}
+
+ return 0;
+
+out_err:
+ strbuf_release(&key);
+ error(_("Unable to write upstream branch configuration"));
+
+ advise(_(tracking_advice),
+ origin ? origin : "",
+ origin ? "/" : "",
+ shortname ? shortname : remote);
+
+ return -1;
}
/*
@@ -109,8 +131,8 @@ void install_branch_config(int flag, const char *local, const char *origin, cons
* to infer the settings for branch.<new_ref>.{remote,merge} from the
* config.
*/
-static int setup_tracking(const char *new_ref, const char *orig_ref,
- enum branch_track track, int quiet)
+static void setup_tracking(const char *new_ref, const char *orig_ref,
+ enum branch_track track, int quiet)
{
struct tracking tracking;
int config_flags = quiet ? 0 : BRANCH_CONFIG_VERBOSE;
@@ -118,7 +140,7 @@ static int setup_tracking(const char *new_ref, const char *orig_ref,
memset(&tracking, 0, sizeof(tracking));
tracking.spec.dst = (char *)orig_ref;
if (for_each_remote(find_tracked_branch, &tracking))
- return 1;
+ return;
if (!tracking.matches)
switch (track) {
@@ -127,18 +149,18 @@ static int setup_tracking(const char *new_ref, const char *orig_ref,
case BRANCH_TRACK_OVERRIDE:
break;
default:
- return 1;
+ return;
}
if (tracking.matches > 1)
- return error(_("Not tracking: ambiguous information for ref %s"),
- orig_ref);
+ die(_("Not tracking: ambiguous information for ref %s"),
+ orig_ref);
- install_branch_config(config_flags, new_ref, tracking.remote,
- tracking.src ? tracking.src : orig_ref);
+ if (install_branch_config(config_flags, new_ref, tracking.remote,
+ tracking.src ? tracking.src : orig_ref) < 0)
+ exit(-1);
free(tracking.src);
- return 0;
}
int read_branch_desc(struct strbuf *buf, const char *branch_name)
@@ -322,3 +344,26 @@ void die_if_checked_out(const char *branch)
die(_("'%s' is already checked out at '%s'"), branch, existing);
}
}
+
+int replace_each_worktree_head_symref(const char *oldref, const char *newref)
+{
+ int ret = 0;
+ struct worktree **worktrees = get_worktrees();
+ int i;
+
+ for (i = 0; worktrees[i]; i++) {
+ if (worktrees[i]->is_detached)
+ continue;
+ if (strcmp(oldref, worktrees[i]->head_ref))
+ continue;
+
+ if (set_worktree_head_symref(worktrees[i]->git_dir, newref)) {
+ ret = -1;
+ error(_("HEAD of working tree %s is not updated"),
+ worktrees[i]->path);
+ }
+ }
+
+ free_worktrees(worktrees);
+ return ret;
+}
diff --git a/branch.h b/branch.h
index 58aa45fe72..d69163daf7 100644
--- a/branch.h
+++ b/branch.h
@@ -43,9 +43,10 @@ void remove_branch_state(void);
/*
* Configure local branch "local" as downstream to branch "remote"
* from remote "origin". Used by git branch --set-upstream.
+ * Returns 0 on success.
*/
#define BRANCH_CONFIG_VERBOSE 01
-extern void install_branch_config(int flag, const char *local, const char *origin, const char *remote);
+extern int install_branch_config(int flag, const char *local, const char *origin, const char *remote);
/*
* Read branch description
@@ -59,4 +60,11 @@ extern int read_branch_desc(struct strbuf *, const char *branch_name);
*/
extern void die_if_checked_out(const char *branch);
+/*
+ * Update all per-worktree HEADs pointing at the old ref to point the new ref.
+ * This will be used when renaming a branch. Returns 0 if successful, non-zero
+ * otherwise.
+ */
+extern int replace_each_worktree_head_symref(const char *oldref, const char *newref);
+
#endif
diff --git a/builtin/apply.c b/builtin/apply.c
index d61ac65dab..8e4da2e1bd 100644
--- a/builtin/apply.c
+++ b/builtin/apply.c
@@ -931,22 +931,19 @@ static char *gitdiff_verify_name(const char *line, int isnull, char *orig_name,
return find_name(line, NULL, p_value, TERM_TAB);
if (orig_name) {
- int len;
- const char *name;
+ int len = strlen(orig_name);
char *another;
- name = orig_name;
- len = strlen(name);
if (isnull)
- die(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"), name, linenr);
+ die(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"),
+ orig_name, linenr);
another = find_name(line, NULL, p_value, TERM_TAB);
- if (!another || memcmp(another, name, len + 1))
+ if (!another || memcmp(another, orig_name, len + 1))
die((side == DIFF_NEW_NAME) ?
_("git apply: bad git-diff - inconsistent new filename on line %d") :
_("git apply: bad git-diff - inconsistent old filename on line %d"), linenr);
free(another);
return orig_name;
- }
- else {
+ } else {
/* expect "/dev/null" */
if (memcmp("/dev/null", line, 9) || line[9] != '\n')
die(_("git apply: bad git-diff - expected /dev/null on line %d"), linenr);
@@ -956,21 +953,15 @@ static char *gitdiff_verify_name(const char *line, int isnull, char *orig_name,
static int gitdiff_oldname(const char *line, struct patch *patch)
{
- char *orig = patch->old_name;
patch->old_name = gitdiff_verify_name(line, patch->is_new, patch->old_name,
DIFF_OLD_NAME);
- if (orig != patch->old_name)
- free(orig);
return 0;
}
static int gitdiff_newname(const char *line, struct patch *patch)
{
- char *orig = patch->new_name;
patch->new_name = gitdiff_verify_name(line, patch->is_delete, patch->new_name,
DIFF_NEW_NAME);
- if (orig != patch->new_name)
- free(orig);
return 0;
}
@@ -1872,6 +1863,11 @@ static struct fragment *parse_binary_hunk(char **buf_p,
return NULL;
}
+/*
+ * Returns:
+ * -1 in case of error,
+ * the length of the parsed binary patch otherwise
+ */
static int parse_binary(char *buffer, unsigned long size, struct patch *patch)
{
/*
@@ -2017,6 +2013,8 @@ static int parse_chunk(char *buffer, unsigned long size, struct patch *patch)
linenr++;
used = parse_binary(buffer + hd + llen,
size - hd - llen, patch);
+ if (used < 0)
+ return -1;
if (used)
patchsize = used + llen;
else
@@ -2632,7 +2630,7 @@ static void update_image(struct image *img,
insert_count = postimage->len;
/* Adjust the contents */
- result = xmalloc(img->len + insert_count - remove_count + 1);
+ result = xmalloc(st_add3(st_sub(img->len, remove_count), insert_count, 1));
memcpy(result, img->buf, applied_at);
memcpy(result + applied_at, postimage->buf, postimage->len);
memcpy(result + applied_at + postimage->len,
@@ -4373,8 +4371,10 @@ static int apply_patch(int fd, const char *filename, int options)
patch->inaccurate_eof = !!(options & INACCURATE_EOF);
patch->recount = !!(options & RECOUNT);
nr = parse_chunk(buf.buf + offset, buf.len - offset, patch);
- if (nr < 0)
+ if (nr < 0) {
+ free_patch(patch);
break;
+ }
if (apply_in_reverse)
reverse_patches(patch);
if (use_patch(patch)) {
@@ -4383,6 +4383,8 @@ static int apply_patch(int fd, const char *filename, int options)
listp = &patch->next;
}
else {
+ if (apply_verbosely)
+ say_patch_name(stderr, _("Skipped patch '%s'."), patch);
free_patch(patch);
skipped_patch++;
}
diff --git a/builtin/blame.c b/builtin/blame.c
index 55bf5fae9d..21f42b0b62 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -466,13 +466,11 @@ static void queue_blames(struct scoreboard *sb, struct origin *porigin,
static struct origin *make_origin(struct commit *commit, const char *path)
{
struct origin *o;
- size_t pathlen = strlen(path) + 1;
- o = xcalloc(1, sizeof(*o) + pathlen);
+ FLEX_ALLOC_STR(o, path, path);
o->commit = commit;
o->refcnt = 1;
o->next = commit->util;
commit->util = o;
- memcpy(o->path, path, pathlen); /* includes NUL */
return o;
}
@@ -2059,7 +2057,8 @@ static int prepare_lines(struct scoreboard *sb)
for (p = buf; p < end; p = get_next_line(p, end))
num++;
- sb->lineno = lineno = xmalloc(sizeof(*sb->lineno) * (num + 1));
+ ALLOC_ARRAY(sb->lineno, num + 1);
+ lineno = sb->lineno;
for (p = buf; p < end; p = get_next_line(p, end))
*lineno++ = p - buf;
@@ -2308,6 +2307,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt,
unsigned mode;
struct strbuf msg = STRBUF_INIT;
+ read_cache();
time(&now);
commit = alloc_commit_node();
commit->object.parsed = 1;
diff --git a/builtin/branch.c b/builtin/branch.c
index 3f6c825db1..37af77161e 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -20,6 +20,7 @@
#include "utf8.h"
#include "wt-status.h"
#include "ref-filter.h"
+#include "worktree.h"
static const char * const builtin_branch_usage[] = {
N_("git branch [<options>] [-r | -a] [--merged | --no-merged]"),
@@ -215,16 +216,21 @@ static int delete_branches(int argc, const char **argv, int force, int kinds,
int flags = 0;
strbuf_branchname(&bname, argv[i]);
- if (kinds == FILTER_REFS_BRANCHES && !strcmp(head, bname.buf)) {
- error(_("Cannot delete the branch '%s' "
- "which you are currently on."), bname.buf);
- ret = 1;
- continue;
- }
-
free(name);
-
name = mkpathdup(fmt, bname.buf);
+
+ if (kinds == FILTER_REFS_BRANCHES) {
+ char *worktree = find_shared_symref("HEAD", name);
+ if (worktree) {
+ error(_("Cannot delete branch '%s' "
+ "checked out at '%s'"),
+ bname.buf, worktree);
+ free(worktree);
+ ret = 1;
+ continue;
+ }
+ }
+
target = resolve_ref_unsafe(name,
RESOLVE_REF_READING
| RESOLVE_REF_NO_RECURSE
@@ -369,12 +375,14 @@ static char *get_head_description(void)
strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
state.branch);
else if (state.detached_from) {
- /* TRANSLATORS: make sure these match _("HEAD detached at ")
- and _("HEAD detached from ") in wt-status.c */
if (state.detached_at)
+ /* TRANSLATORS: make sure this matches
+ "HEAD detached at " in wt-status.c */
strbuf_addf(&desc, _("(HEAD detached at %s)"),
state.detached_from);
else
+ /* TRANSLATORS: make sure this matches
+ "HEAD detached from " in wt-status.c */
strbuf_addf(&desc, _("(HEAD detached from %s)"),
state.detached_from);
}
@@ -393,22 +401,25 @@ static void format_and_print_ref_item(struct ref_array_item *item, int maxwidth,
int current = 0;
int color;
struct strbuf out = STRBUF_INIT, name = STRBUF_INIT;
- const char *prefix = "";
+ const char *prefix_to_show = "";
+ const char *prefix_to_skip = NULL;
const char *desc = item->refname;
char *to_free = NULL;
switch (item->kind) {
case FILTER_REFS_BRANCHES:
- skip_prefix(desc, "refs/heads/", &desc);
+ prefix_to_skip = "refs/heads/";
+ skip_prefix(desc, prefix_to_skip, &desc);
if (!filter->detached && !strcmp(desc, head))
current = 1;
else
color = BRANCH_COLOR_LOCAL;
break;
case FILTER_REFS_REMOTES:
- skip_prefix(desc, "refs/remotes/", &desc);
+ prefix_to_skip = "refs/remotes/";
+ skip_prefix(desc, prefix_to_skip, &desc);
color = BRANCH_COLOR_REMOTE;
- prefix = remote_prefix;
+ prefix_to_show = remote_prefix;
break;
case FILTER_REFS_DETACHED_HEAD:
desc = to_free = get_head_description();
@@ -425,7 +436,7 @@ static void format_and_print_ref_item(struct ref_array_item *item, int maxwidth,
color = BRANCH_COLOR_CURRENT;
}
- strbuf_addf(&name, "%s%s", prefix, desc);
+ strbuf_addf(&name, "%s%s", prefix_to_show, desc);
if (filter->verbose) {
int utf8_compensation = strlen(name.buf) - utf8_strwidth(name.buf);
strbuf_addf(&out, "%c %s%-*s%s", c, branch_get_color(color),
@@ -436,8 +447,10 @@ static void format_and_print_ref_item(struct ref_array_item *item, int maxwidth,
name.buf, branch_get_color(BRANCH_COLOR_RESET));
if (item->symref) {
- skip_prefix(item->symref, "refs/remotes/", &desc);
- strbuf_addf(&out, " -> %s", desc);
+ const char *symref = item->symref;
+ if (prefix_to_skip)
+ skip_prefix(symref, prefix_to_skip, &symref);
+ strbuf_addf(&out, " -> %s", symref);
}
else if (filter->verbose)
/* " f7c0c00 [ahead 58, behind 197] vcs-svn: drop obj_pool.h" */
@@ -552,8 +565,7 @@ static void rename_branch(const char *oldname, const char *newname, int force)
if (recovery)
warning(_("Renamed a misnamed branch '%s' away"), oldref.buf + 11);
- /* no need to pass logmsg here as HEAD didn't really move */
- if (!strcmp(oldname, head) && create_symref("HEAD", newref.buf, NULL))
+ if (replace_each_worktree_head_symref(oldref.buf, newref.buf))
die(_("Branch renamed to %s, but HEAD is not updated!"), newname);
strbuf_addf(&oldsection, "branch.%s", oldref.buf + 11);
@@ -570,7 +582,6 @@ static const char edit_description[] = "BRANCH_DESCRIPTION";
static int edit_branch_description(const char *branch_name)
{
- int status;
struct strbuf buf = STRBUF_INIT;
struct strbuf name = STRBUF_INIT;
@@ -595,11 +606,11 @@ static int edit_branch_description(const char *branch_name)
strbuf_stripspace(&buf, 1);
strbuf_addf(&name, "branch.%s.description", branch_name);
- status = git_config_set(name.buf, buf.len ? buf.buf : NULL);
+ git_config_set(name.buf, buf.len ? buf.buf : NULL);
strbuf_release(&name);
strbuf_release(&buf);
- return status;
+ return 0;
}
int cmd_branch(int argc, const char **argv, const char *prefix)
@@ -621,7 +632,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
BRANCH_TRACK_EXPLICIT),
OPT_SET_INT( 0, "set-upstream", &track, N_("change upstream info"),
BRANCH_TRACK_OVERRIDE),
- OPT_STRING('u', "set-upstream-to", &new_upstream, "upstream", "change the upstream info"),
+ OPT_STRING('u', "set-upstream-to", &new_upstream, N_("upstream"), N_("change the upstream info")),
OPT_BOOL(0, "unset-upstream", &unset_upstream, "Unset the upstream info"),
OPT__COLOR(&branch_use_color, N_("use colored output")),
OPT_SET_INT('r', "remotes", &filter.kind, N_("act on remote-tracking branches"),
@@ -829,8 +840,8 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
if (argc == 1 && track == BRANCH_TRACK_OVERRIDE &&
!branch_existed && remote_tracking) {
fprintf(stderr, _("\nIf you wanted to make '%s' track '%s', do this:\n\n"), head, branch->name);
- fprintf(stderr, _(" git branch -d %s\n"), branch->name);
- fprintf(stderr, _(" git branch --set-upstream-to %s\n"), branch->name);
+ fprintf(stderr, " git branch -d %s\n", branch->name);
+ fprintf(stderr, " git branch --set-upstream-to %s\n", branch->name);
}
} else
diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c
index fd915d5984..eac499450f 100644
--- a/builtin/check-ref-format.c
+++ b/builtin/check-ref-format.c
@@ -20,7 +20,7 @@ static const char builtin_check_ref_format_usage[] =
*/
static char *collapse_slashes(const char *refname)
{
- char *ret = xmalloc(strlen(refname) + 1);
+ char *ret = xmallocz(strlen(refname));
char ch;
char prev = '/';
char *cp = ret;
diff --git a/builtin/checkout.c b/builtin/checkout.c
index cfa66e25eb..ea2fe1cf3f 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -242,7 +242,6 @@ static int checkout_paths(const struct checkout_opts *opts,
struct checkout state;
static char *ps_matched;
unsigned char rev[20];
- int flag;
struct commit *head;
int errs = 0;
struct lock_file *lock_file;
@@ -375,7 +374,7 @@ static int checkout_paths(const struct checkout_opts *opts,
if (write_locked_index(&the_index, lock_file, COMMIT_LOCK))
die(_("unable to write new index file"));
- read_ref_full("HEAD", 0, rev, &flag);
+ read_ref_full("HEAD", 0, rev, NULL);
head = lookup_commit_reference_gently(rev, 1);
errs |= post_checkout_hook(head, head, 0);
@@ -662,7 +661,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
}
} else if (new->path) { /* Switch branches. */
if (create_symref("HEAD", new->path, msg.buf) < 0)
- die("unable to update HEAD");
+ die(_("unable to update HEAD"));
if (!opts->quiet) {
if (old->path && !strcmp(new->path, old->path)) {
if (opts->new_branch_force)
diff --git a/builtin/clean.c b/builtin/clean.c
index 7b08237480..0371010afb 100644
--- a/builtin/clean.c
+++ b/builtin/clean.c
@@ -543,7 +543,7 @@ static int *list_and_choose(struct menu_opts *opts, struct menu_stuff *stuff)
int eof = 0;
int i;
- chosen = xmalloc(sizeof(int) * stuff->nr);
+ ALLOC_ARRAY(chosen, stuff->nr);
/* set chosen as uninitialized */
for (i = 0; i < stuff->nr; i++)
chosen[i] = -1;
@@ -615,7 +615,7 @@ static int *list_and_choose(struct menu_opts *opts, struct menu_stuff *stuff)
nr += chosen[i];
}
- result = xcalloc(nr + 1, sizeof(int));
+ result = xcalloc(st_add(nr, 1), sizeof(int));
for (i = 0; i < stuff->nr && j < nr; i++) {
if (chosen[i])
result[j++] = i;
diff --git a/builtin/clone.c b/builtin/clone.c
index b8c39aa701..5f867e67d8 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -40,6 +40,7 @@ static const char * const builtin_clone_usage[] = {
static int option_no_checkout, option_bare, option_mirror, option_single_branch = -1;
static int option_local = -1, option_no_hardlinks, option_shared, option_recursive;
+static int option_shallow_submodules = -1;
static char *option_template, *option_depth;
static char *option_origin = NULL;
static char *option_branch = NULL;
@@ -51,6 +52,7 @@ static enum transport_family family;
static struct string_list option_config;
static struct string_list option_reference;
static int option_dissociate;
+static int max_jobs = -1;
static struct option builtin_clone_options[] = {
OPT__VERBOSITY(&option_verbosity),
@@ -73,6 +75,8 @@ static struct option builtin_clone_options[] = {
N_("initialize submodules in the clone")),
OPT_BOOL(0, "recurse-submodules", &option_recursive,
N_("initialize submodules in the clone")),
+ OPT_INTEGER('j', "jobs", &max_jobs,
+ N_("number of submodules cloned in parallel")),
OPT_STRING(0, "template", &option_template, N_("template-directory"),
N_("directory from which templates will be used")),
OPT_STRING_LIST(0, "reference", &option_reference, N_("repo"),
@@ -89,6 +93,8 @@ static struct option builtin_clone_options[] = {
N_("create a shallow clone of that depth")),
OPT_BOOL(0, "single-branch", &option_single_branch,
N_("clone only one branch, HEAD or --branch")),
+ OPT_BOOL(0, "shallow-submodules", &option_shallow_submodules,
+ N_("any cloned submodules will be shallow")),
OPT_STRING(0, "separate-git-dir", &real_git_dir, N_("gitdir"),
N_("separate git dir from working tree")),
OPT_STRING_LIST('c', "config", &option_config, N_("key=value"),
@@ -100,10 +106,6 @@ static struct option builtin_clone_options[] = {
OPT_END()
};
-static const char *argv_submodule[] = {
- "submodule", "update", "--init", "--recursive", NULL
-};
-
static const char *get_repo_path_1(struct strbuf *path, int *is_bundle)
{
static char *suffix[] = { "/.git", "", ".git/.git", ".git" };
@@ -236,8 +238,8 @@ static char *guess_dir_name(const char *repo, int is_bundle, int is_bare)
strip_suffix_mem(start, &len, is_bundle ? ".bundle" : ".git");
if (!len || (len == 1 && *start == '/'))
- die("No directory name could be guessed.\n"
- "Please specify a directory on the command line");
+ die(_("No directory name could be guessed.\n"
+ "Please specify a directory on the command line"));
if (is_bare)
dir = xstrfmt("%.*s.git", (int)len, start);
@@ -644,7 +646,7 @@ static void update_remote_refs(const struct ref *refs,
if (create_symref(head_ref.buf,
remote_head_points_at->peer_ref->name,
msg) < 0)
- die("unable to update %s", head_ref.buf);
+ die(_("unable to update %s"), head_ref.buf);
strbuf_release(&head_ref);
}
}
@@ -656,7 +658,7 @@ static void update_head(const struct ref *our, const struct ref *remote,
if (our && skip_prefix(our->name, "refs/heads/", &head)) {
/* Local default branch link */
if (create_symref("HEAD", our->name, NULL) < 0)
- die("unable to update HEAD");
+ die(_("unable to update HEAD"));
if (!option_bare) {
update_ref(msg, "HEAD", our->old_oid.hash, NULL, 0,
UPDATE_REFS_DIE_ON_ERR);
@@ -732,15 +734,27 @@ static int checkout(void)
err |= run_hook_le(NULL, "post-checkout", sha1_to_hex(null_sha1),
sha1_to_hex(sha1), "1", NULL);
- if (!err && option_recursive)
- err = run_command_v_opt(argv_submodule, RUN_GIT_CMD);
+ if (!err && option_recursive) {
+ struct argv_array args = ARGV_ARRAY_INIT;
+ argv_array_pushl(&args, "submodule", "update", "--init", "--recursive", NULL);
+
+ if (option_shallow_submodules == 1
+ || (option_shallow_submodules == -1 && option_depth))
+ argv_array_push(&args, "--depth=1");
+
+ if (max_jobs != -1)
+ argv_array_pushf(&args, "--jobs=%d", max_jobs);
+
+ err = run_command_v_opt(args.argv, RUN_GIT_CMD);
+ argv_array_clear(&args);
+ }
return err;
}
static int write_one_config(const char *key, const char *value, void *data)
{
- return git_config_set_multivar(key, value ? value : "true", "^$", 0);
+ return git_config_set_multivar_gently(key, value ? value : "true", "^$", 0);
}
static void write_config(struct string_list *config)
@@ -750,7 +764,7 @@ static void write_config(struct string_list *config)
for (i = 0; i < config->nr; i++) {
if (git_config_parse_parameter(config->items[i].string,
write_one_config, NULL) < 0)
- die("unable to write parameters to config file");
+ die(_("unable to write parameters to config file"));
}
}
diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
index 3feeffeab1..8a674bc9e7 100644
--- a/builtin/commit-tree.c
+++ b/builtin/commit-tree.c
@@ -33,10 +33,6 @@ static int commit_tree_config(const char *var, const char *value, void *cb)
int status = git_gpg_config(var, value, NULL);
if (status)
return status;
- if (!strcmp(var, "commit.gpgsign")) {
- sign_commit = git_config_bool(var, value) ? "" : NULL;
- return 0;
- }
return git_default_config(var, value, cb);
}
diff --git a/builtin/commit.c b/builtin/commit.c
index b3bd2d4181..391126e58d 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -186,6 +186,7 @@ static void status_init_config(struct wt_status *s, config_fn_t fn)
gitmodules_config();
git_config(fn, s);
determine_whence(s);
+ init_diff_ui_defaults();
s->hints = advice_status_hints; /* must come after git_config() */
}
@@ -694,7 +695,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
}
}
- if (message.len) {
+ if (have_option_m) {
strbuf_addbuf(&sb, &message);
hook_arg1 = "message";
} else if (logfile && !strcmp(logfile, "-")) {
@@ -726,9 +727,18 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
&sb, &ctx);
hook_arg1 = "message";
} else if (!stat(git_path_merge_msg(), &statbuf)) {
+ /*
+ * prepend SQUASH_MSG here if it exists and a
+ * "merge --squash" was originally performed
+ */
+ if (!stat(git_path_squash_msg(), &statbuf)) {
+ if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0)
+ die_errno(_("could not read SQUASH_MSG"));
+ hook_arg1 = "squash";
+ } else
+ hook_arg1 = "merge";
if (strbuf_read_file(&sb, git_path_merge_msg(), 0) < 0)
die_errno(_("could not read MERGE_MSG"));
- hook_arg1 = "merge";
} else if (!stat(git_path_squash_msg(), &statbuf)) {
if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0)
die_errno(_("could not read SQUASH_MSG"));
@@ -1162,9 +1172,9 @@ static int parse_and_validate_options(int argc, const char *argv[],
f++;
if (f > 1)
die(_("Only one of -c/-C/-F/--fixup can be used."));
- if (message.len && f > 0)
+ if (have_option_m && f > 0)
die((_("Option -m cannot be combined with -c/-C/-F/--fixup.")));
- if (f || message.len)
+ if (f || have_option_m)
template_file = NULL;
if (edit_message)
use_message = edit_message;
diff --git a/builtin/config.c b/builtin/config.c
index adc772786a..1d7c6ef558 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -3,6 +3,7 @@
#include "color.h"
#include "parse-options.h"
#include "urlmatch.h"
+#include "quote.h"
static const char *const builtin_config_usage[] = {
N_("git config [<options>]"),
@@ -27,6 +28,7 @@ static int actions, types;
static const char *get_color_slot, *get_colorbool_slot;
static int end_null;
static int respect_includes = -1;
+static int show_origin;
#define ACTION_GET (1<<0)
#define ACTION_GET_ALL (1<<1)
@@ -81,6 +83,7 @@ static struct option builtin_config_options[] = {
OPT_BOOL('z', "null", &end_null, N_("terminate values with NUL byte")),
OPT_BOOL(0, "name-only", &omit_values, N_("show variable names only")),
OPT_BOOL(0, "includes", &respect_includes, N_("respect include directives on lookup")),
+ OPT_BOOL(0, "show-origin", &show_origin, N_("show origin of config (file, standard input, blob, command line)")),
OPT_END(),
};
@@ -91,8 +94,28 @@ static void check_argc(int argc, int min, int max) {
usage_with_options(builtin_config_usage, builtin_config_options);
}
+static void show_config_origin(struct strbuf *buf)
+{
+ const char term = end_null ? '\0' : '\t';
+
+ strbuf_addstr(buf, current_config_origin_type());
+ strbuf_addch(buf, ':');
+ if (end_null)
+ strbuf_addstr(buf, current_config_name());
+ else
+ quote_c_style(current_config_name(), buf, NULL, 0);
+ strbuf_addch(buf, term);
+}
+
static int show_all_config(const char *key_, const char *value_, void *cb)
{
+ if (show_origin) {
+ struct strbuf buf = STRBUF_INIT;
+ show_config_origin(&buf);
+ /* Use fwrite as "buf" can contain \0's if "end_null" is set. */
+ fwrite(buf.buf, 1, buf.len, stdout);
+ strbuf_release(&buf);
+ }
if (!omit_values && value_)
printf("%s%c%s%c", key_, delim, value_, term);
else
@@ -108,6 +131,8 @@ struct strbuf_list {
static int format_config(struct strbuf *buf, const char *key_, const char *value_)
{
+ if (show_origin)
+ show_config_origin(buf);
if (show_keys)
strbuf_addstr(buf, key_);
if (!omit_values) {
@@ -352,6 +377,9 @@ static int get_colorbool(const char *var, int print)
static void check_write(void)
{
+ if (!given_config_source.file && !startup_info->have_repository)
+ die("not in a git directory");
+
if (given_config_source.use_stdin)
die("writing to stdin is not supported");
@@ -389,6 +417,7 @@ static int urlmatch_collect_fn(const char *var, const char *value, void *cb)
static int get_urlmatch(const char *var, const char *url)
{
+ int ret;
char *section_tail;
struct string_list_item *item;
struct urlmatch_config config = { STRING_LIST_INIT_DUP };
@@ -415,6 +444,8 @@ static int get_urlmatch(const char *var, const char *url)
git_config_with_options(urlmatch_config_entry, &config,
&given_config_source, respect_includes);
+ ret = !values.nr;
+
for_each_string_list_item(item, &values) {
struct urlmatch_current_candidate_value *matched = item->util;
struct strbuf buf = STRBUF_INIT;
@@ -431,7 +462,7 @@ static int get_urlmatch(const char *var, const char *url)
free(config.url.url);
free((void *)config.section);
- return 0;
+ return ret;
}
static char *default_user_config(void)
@@ -538,6 +569,14 @@ int cmd_config(int argc, const char **argv, const char *prefix)
error("--name-only is only applicable to --list or --get-regexp");
usage_with_options(builtin_config_usage, builtin_config_options);
}
+
+ if (show_origin && !(actions &
+ (ACTION_GET|ACTION_GET_ALL|ACTION_GET_REGEXP|ACTION_LIST))) {
+ error("--show-origin is only applicable to --get, --get-all, "
+ "--get-regexp, and --list.");
+ usage_with_options(builtin_config_usage, builtin_config_options);
+ }
+
if (actions == ACTION_LIST) {
check_argc(argc, 0, 0);
if (git_config_with_options(show_all_config, NULL,
@@ -582,7 +621,7 @@ int cmd_config(int argc, const char **argv, const char *prefix)
check_write();
check_argc(argc, 2, 2);
value = normalize_value(argv[0], argv[1]);
- ret = git_config_set_in_file(given_config_source.file, argv[0], value);
+ ret = git_config_set_in_file_gently(given_config_source.file, argv[0], value);
if (ret == CONFIG_NOTHING_SET)
error("cannot overwrite multiple values with a single value\n"
" Use a regexp, --add or --replace-all to change %s.", argv[0]);
@@ -592,23 +631,23 @@ int cmd_config(int argc, const char **argv, const char *prefix)
check_write();
check_argc(argc, 2, 3);
value = normalize_value(argv[0], argv[1]);
- return git_config_set_multivar_in_file(given_config_source.file,
- argv[0], value, argv[2], 0);
+ return git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], value, argv[2], 0);
}
else if (actions == ACTION_ADD) {
check_write();
check_argc(argc, 2, 2);
value = normalize_value(argv[0], argv[1]);
- return git_config_set_multivar_in_file(given_config_source.file,
- argv[0], value,
- CONFIG_REGEX_NONE, 0);
+ return git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], value,
+ CONFIG_REGEX_NONE, 0);
}
else if (actions == ACTION_REPLACE_ALL) {
check_write();
check_argc(argc, 2, 3);
value = normalize_value(argv[0], argv[1]);
- return git_config_set_multivar_in_file(given_config_source.file,
- argv[0], value, argv[2], 1);
+ return git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], value, argv[2], 1);
}
else if (actions == ACTION_GET) {
check_argc(argc, 1, 2);
@@ -634,17 +673,17 @@ int cmd_config(int argc, const char **argv, const char *prefix)
check_write();
check_argc(argc, 1, 2);
if (argc == 2)
- return git_config_set_multivar_in_file(given_config_source.file,
- argv[0], NULL, argv[1], 0);
+ return git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], NULL, argv[1], 0);
else
- return git_config_set_in_file(given_config_source.file,
- argv[0], NULL);
+ return git_config_set_in_file_gently(given_config_source.file,
+ argv[0], NULL);
}
else if (actions == ACTION_UNSET_ALL) {
check_write();
check_argc(argc, 1, 2);
- return git_config_set_multivar_in_file(given_config_source.file,
- argv[0], NULL, argv[1], 1);
+ return git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], NULL, argv[1], 1);
}
else if (actions == ACTION_RENAME_SECTION) {
int ret;
diff --git a/builtin/diff.c b/builtin/diff.c
index 52c98a9217..343c6b8f25 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -318,6 +318,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
if (!no_index)
gitmodules_config();
+ init_diff_ui_defaults();
git_config(git_diff_ui_config, NULL);
init_revisions(&rev, prefix);
diff --git a/builtin/fast-export.c b/builtin/fast-export.c
index 2471297f71..8164b581a6 100644
--- a/builtin/fast-export.c
+++ b/builtin/fast-export.c
@@ -1021,7 +1021,7 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
const char **refspecs_str;
int i;
- refspecs_str = xmalloc(sizeof(*refspecs_str) * refspecs_list.nr);
+ ALLOC_ARRAY(refspecs_str, refspecs_list.nr);
for (i = 0; i < refspecs_list.nr; i++)
refspecs_str[i] = refspecs_list.items[i].string;
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index 9b2a514e1d..bfd0be44a9 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -10,33 +10,34 @@ static const char fetch_pack_usage[] =
"[--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] "
"[--no-progress] [--diag-url] [-v] [<host>:]<directory> [<refs>...]";
-static void add_sought_entry_mem(struct ref ***sought, int *nr, int *alloc,
- const char *name, int namelen)
+static void add_sought_entry(struct ref ***sought, int *nr, int *alloc,
+ const char *name)
{
- struct ref *ref = xcalloc(1, sizeof(*ref) + namelen + 1);
+ struct ref *ref;
struct object_id oid;
- const int chunksz = GIT_SHA1_HEXSZ + 1;
- if (namelen > chunksz && name[chunksz - 1] == ' ' &&
- !get_oid_hex(name, &oid)) {
- oidcpy(&ref->old_oid, &oid);
- name += chunksz;
- namelen -= chunksz;
+ if (!get_oid_hex(name, &oid)) {
+ if (name[GIT_SHA1_HEXSZ] == ' ') {
+ /* <sha1> <ref>, find refname */
+ name += GIT_SHA1_HEXSZ + 1;
+ } else if (name[GIT_SHA1_HEXSZ] == '\0') {
+ ; /* <sha1>, leave sha1 as name */
+ } else {
+ /* <ref>, clear cruft from oid */
+ oidclr(&oid);
+ }
+ } else {
+ /* <ref>, clear cruft from get_oid_hex */
+ oidclr(&oid);
}
- memcpy(ref->name, name, namelen);
- ref->name[namelen] = '\0';
+ ref = alloc_ref(name);
+ oidcpy(&ref->old_oid, &oid);
(*nr)++;
ALLOC_GROW(*sought, *nr, *alloc);
(*sought)[*nr - 1] = ref;
}
-static void add_sought_entry(struct ref ***sought, int *nr, int *alloc,
- const char *string)
-{
- add_sought_entry_mem(sought, nr, alloc, string, strlen(string));
-}
-
int cmd_fetch_pack(int argc, const char **argv, const char *prefix)
{
int i, ret;
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 55919a9e4f..f8455bde7a 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -37,7 +37,7 @@ static int prune = -1; /* unspecified */
static int all, append, dry_run, force, keep, multiple, update_head_ok, verbosity;
static int progress = -1, recurse_submodules = RECURSE_SUBMODULES_DEFAULT;
static int tags = TAGS_DEFAULT, unshallow, update_shallow;
-static int max_children = 1;
+static int max_children = -1;
static enum transport_family family;
static const char *depth;
static const char *upload_pack;
@@ -1022,10 +1022,9 @@ static int add_remote_or_group(const char *name, struct string_list *list)
git_config(get_remote_group, &g);
if (list->nr == prev_nr) {
- struct remote *remote;
- if (!remote_is_configured(name))
+ struct remote *remote = remote_get(name);
+ if (!remote_is_configured(remote))
return 0;
- remote = remote_get(name);
string_list_append(list, remote->name);
}
return 1;
@@ -1116,7 +1115,7 @@ static int fetch_one(struct remote *remote, int argc, const char **argv)
if (argc > 0) {
int j = 0;
int i;
- refs = xcalloc(argc + 1, sizeof(const char *));
+ refs = xcalloc(st_add(argc, 1), sizeof(const char *));
for (i = 0; i < argc; i++) {
if (!strcmp(argv[i], "tag")) {
i++;
diff --git a/builtin/fsck.c b/builtin/fsck.c
index 55eac756f7..3f27456883 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -493,13 +493,12 @@ static void fsck_object_dir(const char *path)
static int fsck_head_link(void)
{
- int flag;
int null_is_error = 0;
if (verbose)
fprintf(stderr, "Checking HEAD link\n");
- head_points_at = resolve_ref_unsafe("HEAD", 0, head_oid.hash, &flag);
+ head_points_at = resolve_ref_unsafe("HEAD", 0, head_oid.hash, NULL);
if (!head_points_at) {
errors_found |= ERROR_REFS;
return error("Invalid HEAD");
diff --git a/builtin/grep.c b/builtin/grep.c
index 8c516a9543..462e607901 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -365,17 +365,17 @@ static void append_path(struct grep_opt *opt, const void *data, size_t len)
static void run_pager(struct grep_opt *opt, const char *prefix)
{
struct string_list *path_list = opt->output_priv;
- const char **argv = xmalloc(sizeof(const char *) * (path_list->nr + 1));
+ struct child_process child = CHILD_PROCESS_INIT;
int i, status;
for (i = 0; i < path_list->nr; i++)
- argv[i] = path_list->items[i].string;
- argv[path_list->nr] = NULL;
+ argv_array_push(&child.args, path_list->items[i].string);
+ child.dir = prefix;
+ child.use_shell = 1;
- status = run_command_v_opt_cd_env(argv, RUN_USING_SHELL, prefix, NULL);
+ status = run_command(&child);
if (status)
exit(status);
- free(argv);
}
static int grep_cache(struct grep_opt *opt, const struct pathspec *pathspec, int cached)
@@ -438,7 +438,7 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec,
strbuf_add(base, entry.path, te_len);
if (S_ISREG(entry.mode)) {
- hit |= grep_sha1(opt, entry.sha1, base->buf, tn_len,
+ hit |= grep_sha1(opt, entry.oid->hash, base->buf, tn_len,
check_attr ? base->buf + tn_len : NULL);
}
else if (S_ISDIR(entry.mode)) {
@@ -447,10 +447,10 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec,
void *data;
unsigned long size;
- data = lock_and_read_sha1_file(entry.sha1, &type, &size);
+ data = lock_and_read_sha1_file(entry.oid->hash, &type, &size);
if (!data)
die(_("unable to read tree (%s)"),
- sha1_to_hex(entry.sha1));
+ oid_to_hex(entry.oid));
strbuf_addch(base, '/');
init_tree_desc(&sub, data, size);
@@ -522,12 +522,14 @@ static int grep_objects(struct grep_opt *opt, const struct pathspec *pathspec,
}
static int grep_directory(struct grep_opt *opt, const struct pathspec *pathspec,
- int exc_std)
+ int exc_std, int use_index)
{
struct dir_struct dir;
int i, hit = 0;
memset(&dir, 0, sizeof(dir));
+ if (!use_index)
+ dir.flags |= DIR_NO_GITLINKS;
if (exc_std)
setup_standard_excludes(&dir);
@@ -902,7 +904,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
int use_exclude = (opt_exclude < 0) ? use_index : !!opt_exclude;
if (list.nr)
die(_("--no-index or --untracked cannot be used with revs."));
- hit = grep_directory(&opt, &pathspec, use_exclude);
+ hit = grep_directory(&opt, &pathspec, use_exclude, use_index);
} else if (0 <= opt_exclude) {
die(_("--[no-]exclude-standard cannot be used for tracked contents."));
} else if (!list.nr) {
diff --git a/builtin/help.c b/builtin/help.c
index 1cd0c1ee44..3c55ce4563 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -171,12 +171,10 @@ static void exec_man_cmd(const char *cmd, const char *page)
static void add_man_viewer(const char *name)
{
struct man_viewer_list **p = &man_viewer_list;
- size_t len = strlen(name);
while (*p)
p = &((*p)->next);
- *p = xcalloc(1, (sizeof(**p) + len + 1));
- memcpy((*p)->name, name, len); /* NUL-terminated by xcalloc */
+ FLEX_ALLOC_STR(*p, name, name);
}
static int supported_man_viewer(const char *name, size_t len)
@@ -190,9 +188,8 @@ static void do_add_man_viewer_info(const char *name,
size_t len,
const char *value)
{
- struct man_viewer_info_list *new = xcalloc(1, sizeof(*new) + len + 1);
-
- memcpy(new->name, name, len); /* NUL-terminated by xcalloc */
+ struct man_viewer_info_list *new;
+ FLEX_ALLOC_MEM(new, name, name, len);
new->info = xstrdup(value);
new->next = man_viewer_info_list;
man_viewer_info_list = new;
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 6a01509587..e8c71fc1d2 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -1250,7 +1250,9 @@ static void conclude_pack(int fix_thin_pack, const char *curr_pack, unsigned cha
nr_unresolved * sizeof(*objects));
f = sha1fd(output_fd, curr_pack);
fix_unresolved_deltas(f);
- strbuf_addf(&msg, _("completed with %d local objects"),
+ strbuf_addf(&msg, Q_("completed with %d local object",
+ "completed with %d local objects",
+ nr_objects - nr_objects_initial),
nr_objects - nr_objects_initial);
stop_progress_msg(&progress, msg.buf);
strbuf_release(&msg);
@@ -1346,7 +1348,7 @@ static void fix_unresolved_deltas(struct sha1file *f)
* before deltas depending on them, a good heuristic is to start
* resolving deltas in the same order as their position in the pack.
*/
- sorted_by_pos = xmalloc(nr_ref_deltas * sizeof(*sorted_by_pos));
+ ALLOC_ARRAY(sorted_by_pos, nr_ref_deltas);
for (i = 0; i < nr_ref_deltas; i++)
sorted_by_pos[i] = &ref_deltas[i];
qsort(sorted_by_pos, nr_ref_deltas, sizeof(*sorted_by_pos), delta_pos_compare);
@@ -1514,6 +1516,7 @@ static void read_v2_anomalous_offsets(struct packed_git *p,
if (!(off & 0x80000000))
continue;
off = off & 0x7fffffff;
+ check_pack_index_ptr(p, &idx2[off * 2]);
if (idx2[off * 2])
continue;
/*
@@ -1598,6 +1601,18 @@ static void show_pack_info(int stat_only)
}
}
+static const char *derive_filename(const char *pack_name, const char *suffix,
+ struct strbuf *buf)
+{
+ size_t len;
+ if (!strip_suffix(pack_name, ".pack", &len))
+ die(_("packfile name '%s' does not end with '.pack'"),
+ pack_name);
+ strbuf_add(buf, pack_name, len);
+ strbuf_addstr(buf, suffix);
+ return buf->buf;
+}
+
int cmd_index_pack(int argc, const char **argv, const char *prefix)
{
int i, fix_thin_pack = 0, verify = 0, stat_only = 0;
@@ -1706,24 +1721,11 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
usage(index_pack_usage);
if (fix_thin_pack && !from_stdin)
die(_("--fix-thin cannot be used without --stdin"));
- if (!index_name && pack_name) {
- size_t len;
- if (!strip_suffix(pack_name, ".pack", &len))
- die(_("packfile name '%s' does not end with '.pack'"),
- pack_name);
- strbuf_add(&index_name_buf, pack_name, len);
- strbuf_addstr(&index_name_buf, ".idx");
- index_name = index_name_buf.buf;
- }
- if (keep_msg && !keep_name && pack_name) {
- size_t len;
- if (!strip_suffix(pack_name, ".pack", &len))
- die(_("packfile name '%s' does not end with '.pack'"),
- pack_name);
- strbuf_add(&keep_name_buf, pack_name, len);
- strbuf_addstr(&keep_name_buf, ".idx");
- keep_name = keep_name_buf.buf;
- }
+ if (!index_name && pack_name)
+ index_name = derive_filename(pack_name, ".idx", &index_name_buf);
+ if (keep_msg && !keep_name && pack_name)
+ keep_name = derive_filename(pack_name, ".keep", &keep_name_buf);
+
if (verify) {
if (!index_name)
die(_("--verify with no packfile name given"));
@@ -1744,9 +1746,9 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
curr_pack = open_pack_file(pack_name);
parse_pack_header();
- objects = xcalloc(nr_objects + 1, sizeof(struct object_entry));
+ objects = xcalloc(st_add(nr_objects, 1), sizeof(struct object_entry));
if (show_stat)
- obj_stat = xcalloc(nr_objects + 1, sizeof(struct object_stat));
+ obj_stat = xcalloc(st_add(nr_objects, 1), sizeof(struct object_stat));
ofs_deltas = xcalloc(nr_objects, sizeof(struct ofs_delta_entry));
parse_pack_objects(pack_sha1);
resolve_deltas();
@@ -1759,7 +1761,7 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
if (show_stat)
show_pack_info(stat_only);
- idx_objects = xmalloc((nr_objects) * sizeof(struct pack_idx_entry *));
+ ALLOC_ARRAY(idx_objects, nr_objects);
for (i = 0; i < nr_objects; i++)
idx_objects[i] = &objects[i].idx;
curr_index = write_idx_file(index_name, idx_objects, nr_objects, &opts, pack_sha1);
diff --git a/builtin/init-db.c b/builtin/init-db.c
index 07229d60f1..b2d8d40a67 100644
--- a/builtin/init-db.c
+++ b/builtin/init-db.c
@@ -95,6 +95,8 @@ static void copy_templates(const char *template_dir)
struct strbuf path = STRBUF_INIT;
struct strbuf template_path = STRBUF_INIT;
size_t template_len;
+ struct repository_format template_format;
+ struct strbuf err = STRBUF_INIT;
DIR *dir;
char *to_free = NULL;
@@ -121,17 +123,18 @@ static void copy_templates(const char *template_dir)
/* Make sure that template is from the correct vintage */
strbuf_addstr(&template_path, "config");
- repository_format_version = 0;
- git_config_from_file(check_repository_format_version,
- template_path.buf, NULL);
+ read_repository_format(&template_format, template_path.buf);
strbuf_setlen(&template_path, template_len);
- if (repository_format_version &&
- repository_format_version != GIT_REPO_VERSION) {
- warning(_("not copying templates of "
- "a wrong format version %d from '%s'"),
- repository_format_version,
- template_dir);
+ /*
+ * No mention of version at all is OK, but anything else should be
+ * verified.
+ */
+ if (template_format.version >= 0 &&
+ verify_repository_format(&template_format, &err) < 0) {
+ warning(_("not copying templates from '%s': %s"),
+ template_dir, err.buf);
+ strbuf_release(&err);
goto close_free_return;
}
@@ -199,13 +202,13 @@ static int create_default_files(const char *template_path)
/* reading existing config may have overwrote it */
if (init_shared_repository != -1)
- shared_repository = init_shared_repository;
+ set_shared_repository(init_shared_repository);
/*
* We would have created the above under user's umask -- under
* shared-repository settings, we would need to fix them up.
*/
- if (shared_repository) {
+ if (get_shared_repository()) {
adjust_shared_perm(get_git_dir());
adjust_shared_perm(git_path_buf(&buf, "refs"));
adjust_shared_perm(git_path_buf(&buf, "refs/heads"));
@@ -250,7 +253,7 @@ static int create_default_files(const char *template_path)
git_config_set("core.bare", "false");
/* allow template config file to override the default */
if (log_all_ref_updates == -1)
- git_config_set("core.logallrefupdates", "true");
+ git_config_set("core.logallrefupdates", "true");
if (needs_work_tree_config(get_git_dir(), work_tree))
git_config_set("core.worktree", work_tree);
}
@@ -322,6 +325,7 @@ int set_git_dir_init(const char *git_dir, const char *real_git_dir,
set_git_dir(real_path(git_dir));
git_link = NULL;
}
+ startup_info->have_repository = 1;
return 0;
}
@@ -369,7 +373,7 @@ int init_db(const char *template_dir, unsigned int flags)
create_object_directory();
- if (shared_repository) {
+ if (get_shared_repository()) {
char buf[10];
/* We do not spell "group" and such, so that
* the configuration can be read by older version
@@ -377,12 +381,12 @@ int init_db(const char *template_dir, unsigned int flags)
* and compatibility values for PERM_GROUP and
* PERM_EVERYBODY.
*/
- if (shared_repository < 0)
+ if (get_shared_repository() < 0)
/* force to the mode value */
- xsnprintf(buf, sizeof(buf), "0%o", -shared_repository);
- else if (shared_repository == PERM_GROUP)
+ xsnprintf(buf, sizeof(buf), "0%o", -get_shared_repository());
+ else if (get_shared_repository() == PERM_GROUP)
xsnprintf(buf, sizeof(buf), "%d", OLD_PERM_GROUP);
- else if (shared_repository == PERM_EVERYBODY)
+ else if (get_shared_repository() == PERM_EVERYBODY)
xsnprintf(buf, sizeof(buf), "%d", OLD_PERM_EVERYBODY);
else
die("BUG: invalid value for shared_repository");
@@ -398,7 +402,7 @@ int init_db(const char *template_dir, unsigned int flags)
"", and the last '%s%s' is the verbatim directory name. */
printf(_("%s%s Git repository in %s%s\n"),
reinit ? _("Reinitialized existing") : _("Initialized empty"),
- shared_repository ? _(" shared") : "",
+ get_shared_repository() ? _(" shared") : "",
git_dir, len && git_dir[len-1] != '/' ? "/" : "");
}
@@ -493,8 +497,8 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
* and we know shared_repository should always be 0;
* but just in case we play safe.
*/
- saved = shared_repository;
- shared_repository = 0;
+ saved = get_shared_repository();
+ set_shared_repository(0);
switch (safe_create_leading_directories_const(argv[0])) {
case SCLD_OK:
case SCLD_PERMS:
@@ -506,7 +510,7 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
die_errno(_("cannot mkdir %s"), argv[0]);
break;
}
- shared_repository = saved;
+ set_shared_repository(saved);
if (mkdir(argv[0], 0777) < 0)
die_errno(_("cannot mkdir %s"), argv[0]);
mkdir_tried = 1;
@@ -524,7 +528,7 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
}
if (init_shared_repository != -1)
- shared_repository = init_shared_repository;
+ set_shared_repository(init_shared_repository);
/*
* GIT_WORK_TREE makes sense only in conjunction with GIT_DIR
diff --git a/builtin/log.c b/builtin/log.c
index 0d738d6ddc..dff3fbbb43 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -100,6 +100,12 @@ static int log_line_range_callback(const struct option *option, const char *arg,
return 0;
}
+static void init_log_defaults(void)
+{
+ init_grep_defaults();
+ init_diff_ui_defaults();
+}
+
static void cmd_log_init_defaults(struct rev_info *rev)
{
if (fmt_pretty)
@@ -416,7 +422,7 @@ int cmd_whatchanged(int argc, const char **argv, const char *prefix)
struct rev_info rev;
struct setup_revision_opt opt;
- init_grep_defaults();
+ init_log_defaults();
git_config(git_log_config, NULL);
init_revisions(&rev, prefix);
@@ -527,7 +533,7 @@ int cmd_show(int argc, const char **argv, const char *prefix)
struct pathspec match_all;
int i, count, ret = 0;
- init_grep_defaults();
+ init_log_defaults();
git_config(git_log_config, NULL);
memset(&match_all, 0, sizeof(match_all));
@@ -608,7 +614,7 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix)
struct rev_info rev;
struct setup_revision_opt opt;
- init_grep_defaults();
+ init_log_defaults();
git_config(git_log_config, NULL);
init_revisions(&rev, prefix);
@@ -647,7 +653,7 @@ int cmd_log(int argc, const char **argv, const char *prefix)
struct rev_info rev;
struct setup_revision_opt opt;
- init_grep_defaults();
+ init_log_defaults();
git_config(git_log_config, NULL);
init_revisions(&rev, prefix);
@@ -1280,10 +1286,11 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
extra_hdr.strdup_strings = 1;
extra_to.strdup_strings = 1;
extra_cc.strdup_strings = 1;
- init_grep_defaults();
+ init_log_defaults();
git_config(git_format_config, NULL);
init_revisions(&rev, prefix);
rev.commit_format = CMIT_FMT_EMAIL;
+ rev.expand_tabs_in_log_default = 0;
rev.verbose_header = 1;
rev.diff = 1;
rev.max_parents = 1;
diff --git a/builtin/merge-base.c b/builtin/merge-base.c
index a8911626c2..c0d1822eb3 100644
--- a/builtin/merge-base.c
+++ b/builtin/merge-base.c
@@ -252,7 +252,7 @@ int cmd_merge_base(int argc, const char **argv, const char *prefix)
if (argc < 2)
usage_with_options(merge_base_usage, options);
- rev = xmalloc(argc * sizeof(*rev));
+ ALLOC_ARRAY(rev, argc);
while (argc-- > 0)
rev[rev_nr++] = get_commit_reference(*argv++);
return show_merge_base(rev, rev_nr, show_all);
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index d4f0cbd451..5b7ab9b967 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c
@@ -150,15 +150,15 @@ static void show_result(void)
/* An empty entry never compares same, not even to another empty entry */
static int same_entry(struct name_entry *a, struct name_entry *b)
{
- return a->sha1 &&
- b->sha1 &&
- !hashcmp(a->sha1, b->sha1) &&
+ return a->oid &&
+ b->oid &&
+ !oidcmp(a->oid, b->oid) &&
a->mode == b->mode;
}
static int both_empty(struct name_entry *a, struct name_entry *b)
{
- return !(a->sha1 || b->sha1);
+ return !(a->oid || b->oid);
}
static struct merge_list *create_entry(unsigned stage, unsigned mode, const unsigned char *sha1, const char *path)
@@ -174,7 +174,7 @@ static struct merge_list *create_entry(unsigned stage, unsigned mode, const unsi
static char *traverse_path(const struct traverse_info *info, const struct name_entry *n)
{
- char *path = xmalloc(traverse_path_len(info, n) + 1);
+ char *path = xmallocz(traverse_path_len(info, n));
return make_traverse_path(path, info, n);
}
@@ -188,8 +188,8 @@ static void resolve(const struct traverse_info *info, struct name_entry *ours, s
return;
path = traverse_path(info, result);
- orig = create_entry(2, ours->mode, ours->sha1, path);
- final = create_entry(0, result->mode, result->sha1, path);
+ orig = create_entry(2, ours->mode, ours->oid->hash, path);
+ final = create_entry(0, result->mode, result->oid->hash, path);
final->link = orig;
@@ -213,7 +213,7 @@ static void unresolved_directory(const struct traverse_info *info,
newbase = traverse_path(info, p);
-#define ENTRY_SHA1(e) (((e)->mode && S_ISDIR((e)->mode)) ? (e)->sha1 : NULL)
+#define ENTRY_SHA1(e) (((e)->mode && S_ISDIR((e)->mode)) ? (e)->oid->hash : NULL)
buf0 = fill_tree_descriptor(t+0, ENTRY_SHA1(n + 0));
buf1 = fill_tree_descriptor(t+1, ENTRY_SHA1(n + 1));
buf2 = fill_tree_descriptor(t+2, ENTRY_SHA1(n + 2));
@@ -239,7 +239,7 @@ static struct merge_list *link_entry(unsigned stage, const struct traverse_info
path = entry->path;
else
path = traverse_path(info, n);
- link = create_entry(stage, n->mode, n->sha1, path);
+ link = create_entry(stage, n->mode, n->oid->hash, path);
link->link = entry;
return link;
}
@@ -314,7 +314,7 @@ static int threeway_callback(int n, unsigned long mask, unsigned long dirmask, s
}
if (same_entry(entry+0, entry+1)) {
- if (entry[2].sha1 && !S_ISDIR(entry[2].mode)) {
+ if (entry[2].oid && !S_ISDIR(entry[2].mode)) {
/* We did not touch, they modified -- take theirs */
resolve(info, entry+1, entry+2);
return mask;
diff --git a/builtin/merge.c b/builtin/merge.c
index b98a3489bf..b555a1bf9c 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -64,6 +64,7 @@ static int option_renormalize;
static int verbosity;
static int allow_rerere_auto;
static int abort_current_merge;
+static int allow_unrelated_histories;
static int show_progress = -1;
static int default_to_upstream = 1;
static const char *sign_commit;
@@ -221,6 +222,8 @@ static struct option builtin_merge_options[] = {
OPT__VERBOSITY(&verbosity),
OPT_BOOL(0, "abort", &abort_current_merge,
N_("abort the current in-progress merge")),
+ OPT_BOOL(0, "allow-unrelated-histories", &allow_unrelated_histories,
+ N_("allow merging unrelated histories")),
OPT_SET_INT(0, "progress", &show_progress, N_("force progress reporting"), 1),
{ OPTION_STRING, 'S', "gpg-sign", &sign_commit, N_("key-id"),
N_("GPG sign commit"), PARSE_OPT_OPTARG, NULL, (intptr_t) "" },
@@ -819,6 +822,14 @@ static int merge_trivial(struct commit *head, struct commit_list *remoteheads)
{
unsigned char result_tree[20], result_commit[20];
struct commit_list *parents, **pptr = &parents;
+ static struct lock_file lock;
+
+ hold_locked_index(&lock, 1);
+ refresh_cache(REFRESH_QUIET);
+ if (active_cache_changed &&
+ write_locked_index(&the_index, &lock, COMMIT_LOCK))
+ return error(_("Unable to write index."));
+ rollback_lock_file(&lock);
write_tree_trivial(result_tree);
printf(_("Wonderful.\n"));
@@ -939,7 +950,7 @@ static int setup_with_upstream(const char ***argv)
if (!branch->merge_nr)
die(_("No default upstream defined for the current branch."));
- args = xcalloc(branch->merge_nr + 1, sizeof(char *));
+ args = xcalloc(st_add(branch->merge_nr, 1), sizeof(char *));
for (i = 0; i < branch->merge_nr; i++) {
if (!branch->merge[i]->dst)
die(_("No remote-tracking branch for %s from %s"),
@@ -1165,7 +1176,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
struct commit *head_commit;
struct strbuf buf = STRBUF_INIT;
const char *head_arg;
- int flag, i, ret = 0, head_subsumed;
+ int i, ret = 0, head_subsumed;
int best_cnt = -1, merge_was_ok = 0, automerge_was_ok = 0;
struct commit_list *common = NULL;
const char *best_strategy = NULL, *wt_strategy = NULL;
@@ -1179,7 +1190,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
* Check if we are _not_ on a detached HEAD, i.e. if there is a
* current branch.
*/
- branch = branch_to_free = resolve_refdup("HEAD", 0, head_sha1, &flag);
+ branch = branch_to_free = resolve_refdup("HEAD", 0, head_sha1, NULL);
if (branch && starts_with(branch, "refs/heads/"))
branch += 11;
if (!branch || is_null_sha1(head_sha1))
@@ -1187,6 +1198,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
else
head_commit = lookup_commit_or_die(head_sha1, "HEAD");
+ init_diff_ui_defaults();
git_config(git_merge_config, NULL);
if (branch_mergeoptions)
@@ -1257,12 +1269,12 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
builtin_merge_options);
if (!head_commit) {
- struct commit *remote_head;
/*
* If the merged head is a valid one there is no reason
* to forbid "git merge" into a branch yet to be born.
* We do the same for "git pull".
*/
+ unsigned char *remote_head_sha1;
if (squash)
die(_("Squash commit into empty head not supported yet"));
if (fast_forward == FF_NO)
@@ -1270,13 +1282,13 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
"an empty head"));
remoteheads = collect_parents(head_commit, &head_subsumed,
argc, argv, NULL);
- remote_head = remoteheads->item;
- if (!remote_head)
+ if (!remoteheads)
die(_("%s - not something we can merge"), argv[0]);
if (remoteheads->next)
die(_("Can merge only exactly one commit into empty head"));
- read_empty(remote_head->object.oid.hash, 0);
- update_ref("initial pull", "HEAD", remote_head->object.oid.hash,
+ remote_head_sha1 = remoteheads->item->object.oid.hash;
+ read_empty(remote_head_sha1, 0);
+ update_ref("initial pull", "HEAD", remote_head_sha1,
NULL, 0, UPDATE_REFS_DIE_ON_ERR);
goto done;
}
@@ -1397,9 +1409,12 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
update_ref("updating ORIG_HEAD", "ORIG_HEAD", head_commit->object.oid.hash,
NULL, 0, UPDATE_REFS_DIE_ON_ERR);
- if (remoteheads && !common)
- ; /* No common ancestors found. We need a real merge. */
- else if (!remoteheads ||
+ if (remoteheads && !common) {
+ /* No common ancestors found. */
+ if (!allow_unrelated_histories)
+ die(_("refusing to merge unrelated histories"));
+ /* otherwise, we need a real merge. */
+ } else if (!remoteheads ||
(!remoteheads->next && !common->next &&
common->item == remoteheads->item)) {
/*
diff --git a/builtin/mktree.c b/builtin/mktree.c
index a237caacfd..4282b62c59 100644
--- a/builtin/mktree.c
+++ b/builtin/mktree.c
@@ -19,16 +19,17 @@ static int alloc, used;
static void append_to_tree(unsigned mode, unsigned char *sha1, char *path)
{
struct treeent *ent;
- int len = strlen(path);
+ size_t len = strlen(path);
if (strchr(path, '/'))
die("path %s contains slash", path);
- ALLOC_GROW(entries, used + 1, alloc);
- ent = entries[used++] = xmalloc(sizeof(**entries) + len + 1);
+ FLEX_ALLOC_MEM(ent, name, path, len);
ent->mode = mode;
ent->len = len;
hashcpy(ent->sha1, sha1);
- memcpy(ent->name, path, len+1);
+
+ ALLOC_GROW(entries, used + 1, alloc);
+ entries[used++] = ent;
}
static int ent_compare(const void *a_, const void *b_)
diff --git a/builtin/mv.c b/builtin/mv.c
index d1d43168ae..a2014266b6 100644
--- a/builtin/mv.c
+++ b/builtin/mv.c
@@ -24,7 +24,8 @@ static const char **internal_copy_pathspec(const char *prefix,
int count, unsigned flags)
{
int i;
- const char **result = xmalloc((count + 1) * sizeof(const char *));
+ const char **result;
+ ALLOC_ARRAY(result, count + 1);
memcpy(result, pathspec, count * sizeof(const char *));
result[count] = NULL;
for (i = 0; i < count; i++) {
@@ -47,9 +48,9 @@ static const char **internal_copy_pathspec(const char *prefix,
static const char *add_slash(const char *path)
{
- int len = strlen(path);
+ size_t len = strlen(path);
if (path[len - 1] != '/') {
- char *with_slash = xmalloc(len + 2);
+ char *with_slash = xmalloc(st_add(len, 2));
memcpy(with_slash, path, len);
with_slash[len++] = '/';
with_slash[len] = 0;
@@ -251,15 +252,18 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
int pos;
if (show_only || verbose)
printf(_("Renaming %s to %s\n"), src, dst);
- if (!show_only && mode != INDEX) {
- if (rename(src, dst) < 0 && !ignore_errors)
- die_errno(_("renaming '%s' failed"), src);
- if (submodule_gitfile[i]) {
- if (submodule_gitfile[i] != SUBMODULE_WITH_GITDIR)
- connect_work_tree_and_git_dir(dst, submodule_gitfile[i]);
- if (!update_path_in_gitmodules(src, dst))
- gitmodules_modified = 1;
- }
+ if (show_only)
+ continue;
+ if (mode != INDEX && rename(src, dst) < 0) {
+ if (ignore_errors)
+ continue;
+ die_errno(_("renaming '%s' failed"), src);
+ }
+ if (submodule_gitfile[i]) {
+ if (submodule_gitfile[i] != SUBMODULE_WITH_GITDIR)
+ connect_work_tree_and_git_dir(dst, submodule_gitfile[i]);
+ if (!update_path_in_gitmodules(src, dst))
+ gitmodules_modified = 1;
}
if (mode == WORKING_DIRECTORY)
diff --git a/builtin/name-rev.c b/builtin/name-rev.c
index 092e03c3cc..57be35faf5 100644
--- a/builtin/name-rev.c
+++ b/builtin/name-rev.c
@@ -10,6 +10,7 @@
typedef struct rev_name {
const char *tip_name;
+ unsigned long taggerdate;
int generation;
int distance;
} rev_name;
@@ -20,7 +21,8 @@ static long cutoff = LONG_MAX;
#define MERGE_TRAVERSAL_WEIGHT 65535
static void name_rev(struct commit *commit,
- const char *tip_name, int generation, int distance,
+ const char *tip_name, unsigned long taggerdate,
+ int generation, int distance,
int deref)
{
struct rev_name *name = (struct rev_name *)commit->util;
@@ -43,9 +45,12 @@ static void name_rev(struct commit *commit,
name = xmalloc(sizeof(rev_name));
commit->util = name;
goto copy_data;
- } else if (name->distance > distance) {
+ } else if (name->taggerdate > taggerdate ||
+ (name->taggerdate == taggerdate &&
+ name->distance > distance)) {
copy_data:
name->tip_name = tip_name;
+ name->taggerdate = taggerdate;
name->generation = generation;
name->distance = distance;
} else
@@ -66,11 +71,11 @@ copy_data:
new_name = xstrfmt("%.*s^%d", (int)len, tip_name,
parent_number);
- name_rev(parents->item, new_name, 0,
+ name_rev(parents->item, new_name, taggerdate, 0,
distance + MERGE_TRAVERSAL_WEIGHT, 0);
} else {
- name_rev(parents->item, tip_name, generation + 1,
- distance + 1, 0);
+ name_rev(parents->item, tip_name, taggerdate,
+ generation + 1, distance + 1, 0);
}
}
}
@@ -140,6 +145,7 @@ static int name_ref(const char *path, const struct object_id *oid, int flags, vo
struct name_ref_data *data = cb_data;
int can_abbreviate_output = data->tags_only && data->name_only;
int deref = 0;
+ unsigned long taggerdate = ULONG_MAX;
if (data->tags_only && !starts_with(path, "refs/tags/"))
return 0;
@@ -164,12 +170,13 @@ static int name_ref(const char *path, const struct object_id *oid, int flags, vo
break; /* broken repository */
o = parse_object(t->tagged->oid.hash);
deref = 1;
+ taggerdate = t->date;
}
if (o && o->type == OBJ_COMMIT) {
struct commit *commit = (struct commit *)o;
path = name_ref_abbrev(path, can_abbreviate_output);
- name_rev(commit, xstrdup(path), 0, 0, deref);
+ name_rev(commit, xstrdup(path), taggerdate, 0, 0, deref);
}
return 0;
}
diff --git a/builtin/notes.c b/builtin/notes.c
index ed6f2222f4..6fd058de92 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c
@@ -744,13 +744,14 @@ static int merge_commit(struct notes_merge_options *o)
static int git_config_get_notes_strategy(const char *key,
enum notes_merge_strategy *strategy)
{
- const char *value;
+ char *value;
- if (git_config_get_string_const(key, &value))
+ if (git_config_get_string(key, &value))
return 1;
if (parse_notes_merge_strategy(value, strategy))
git_die_config(key, "unknown notes merge strategy %s", value);
+ free(value);
return 0;
}
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index a6609f19ff..14dccb5283 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -624,7 +624,7 @@ static struct object_entry **compute_write_order(void)
{
unsigned int i, wo_end, last_untagged;
- struct object_entry **wo = xmalloc(to_pack.nr_objects * sizeof(*wo));
+ struct object_entry **wo;
struct object_entry *objects = to_pack.objects;
for (i = 0; i < to_pack.nr_objects; i++) {
@@ -657,6 +657,7 @@ static struct object_entry **compute_write_order(void)
* Give the objects in the original recency order until
* we see a tagged tip.
*/
+ ALLOC_ARRAY(wo, to_pack.nr_objects);
for (i = wo_end = 0; i < to_pack.nr_objects; i++) {
if (objects[i].tagged)
break;
@@ -758,6 +759,10 @@ static off_t write_reused_pack(struct sha1file *f)
return reuse_packfile_offset - sizeof(struct pack_header);
}
+static const char no_split_warning[] = N_(
+"disabling bitmap writing, packs are split due to pack.packSizeLimit"
+);
+
static void write_pack_file(void)
{
uint32_t i = 0, j;
@@ -769,7 +774,7 @@ static void write_pack_file(void)
if (progress > pack_to_stdout)
progress_state = start_progress(_("Writing objects"), nr_result);
- written_list = xmalloc(to_pack.nr_objects * sizeof(*written_list));
+ ALLOC_ARRAY(written_list, to_pack.nr_objects);
write_order = compute_write_order();
do {
@@ -812,7 +817,10 @@ static void write_pack_file(void)
fixup_pack_header_footer(fd, sha1, pack_tmp_name,
nr_written, sha1, offset);
close(fd);
- write_bitmap_index = 0;
+ if (write_bitmap_index) {
+ warning(_(no_split_warning));
+ write_bitmap_index = 0;
+ }
}
if (!pack_to_stdout) {
@@ -1185,7 +1193,7 @@ static void add_pbase_object(struct tree_desc *tree,
if (cmp < 0)
return;
if (name[cmplen] != '/') {
- add_object_entry(entry.sha1,
+ add_object_entry(entry.oid->hash,
object_type(entry.mode),
fullname, 1);
return;
@@ -1196,7 +1204,7 @@ static void add_pbase_object(struct tree_desc *tree,
const char *down = name+cmplen+1;
int downlen = name_cmp_len(down);
- tree = pbase_tree_get(entry.sha1);
+ tree = pbase_tree_get(entry.oid->hash);
if (!tree)
return;
init_tree_desc(&sub, tree->tree_data, tree->tree_size);
@@ -2129,7 +2137,7 @@ static void prepare_pack(int window, int depth)
if (!to_pack.nr_objects || !window || !depth)
return;
- delta_list = xmalloc(to_pack.nr_objects * sizeof(*delta_list));
+ ALLOC_ARRAY(delta_list, to_pack.nr_objects);
nr_deltas = n = 0;
for (i = 0; i < to_pack.nr_objects; i++) {
diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
index d0532f66b1..72c815844d 100644
--- a/builtin/pack-redundant.c
+++ b/builtin/pack-redundant.c
@@ -53,7 +53,7 @@ static inline struct llist_item *llist_item_get(void)
free_nodes = free_nodes->next;
} else {
int i = 1;
- new = xmalloc(sizeof(struct llist_item) * BLKSIZE);
+ ALLOC_ARRAY(new, BLKSIZE);
for (; i < BLKSIZE; i++)
llist_item_put(&new[i]);
}
diff --git a/builtin/pull.c b/builtin/pull.c
index 10eff03967..1d7333c8a1 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -86,9 +86,12 @@ static char *opt_commit;
static char *opt_edit;
static char *opt_ff;
static char *opt_verify_signatures;
+static int opt_autostash = -1;
+static int config_autostash;
static struct argv_array opt_strategies = ARGV_ARRAY_INIT;
static struct argv_array opt_strategy_opts = ARGV_ARRAY_INIT;
static char *opt_gpg_sign;
+static int opt_allow_unrelated_histories;
/* Options passed to git-fetch */
static char *opt_all;
@@ -149,6 +152,8 @@ static struct option pull_options[] = {
OPT_PASSTHRU(0, "verify-signatures", &opt_verify_signatures, NULL,
N_("verify that the named commit has a valid GPG signature"),
PARSE_OPT_NOARG),
+ OPT_BOOL(0, "autostash", &opt_autostash,
+ N_("automatically stash/stash pop before and after rebase")),
OPT_PASSTHRU_ARGV('s', "strategy", &opt_strategies, N_("strategy"),
N_("merge strategy to use"),
0),
@@ -159,6 +164,9 @@ static struct option pull_options[] = {
OPT_PASSTHRU('S', "gpg-sign", &opt_gpg_sign, N_("key-id"),
N_("GPG sign commit"),
PARSE_OPT_OPTARG),
+ OPT_SET_INT(0, "allow-unrelated-histories",
+ &opt_allow_unrelated_histories,
+ N_("allow merging unrelated histories"), 1),
/* Options passed to git-fetch */
OPT_GROUP(N_("Options related to fetching")),
@@ -306,6 +314,18 @@ static enum rebase_type config_get_rebase(void)
}
/**
+ * Read config variables.
+ */
+static int git_pull_config(const char *var, const char *value, void *cb)
+{
+ if (!strcmp(var, "rebase.autostash")) {
+ config_autostash = git_config_bool(var, value);
+ return 0;
+ }
+ return git_default_config(var, value, cb);
+}
+
+/**
* Returns 1 if there are unstaged changes, 0 otherwise.
*/
static int has_unstaged_changes(const char *prefix)
@@ -458,13 +478,13 @@ static void NORETURN die_no_merge_candidates(const char *repo, const char **refs
fprintf_ln(stderr, _("Please specify which branch you want to merge with."));
fprintf_ln(stderr, _("See git-pull(1) for details."));
fprintf(stderr, "\n");
- fprintf_ln(stderr, " git pull <remote> <branch>");
+ fprintf_ln(stderr, " git pull %s %s", _("<remote>"), _("<branch>"));
fprintf(stderr, "\n");
} else if (!curr_branch->merge_nr) {
const char *remote_name = NULL;
if (for_each_remote(get_only_remote, &remote_name) || !remote_name)
- remote_name = "<remote>";
+ remote_name = _("<remote>");
fprintf_ln(stderr, _("There is no tracking information for the current branch."));
if (opt_rebase)
@@ -473,12 +493,12 @@ static void NORETURN die_no_merge_candidates(const char *repo, const char **refs
fprintf_ln(stderr, _("Please specify which branch you want to merge with."));
fprintf_ln(stderr, _("See git-pull(1) for details."));
fprintf(stderr, "\n");
- fprintf_ln(stderr, " git pull <remote> <branch>");
+ fprintf_ln(stderr, " git pull %s %s", _("<remote>"), _("<branch>"));
fprintf(stderr, "\n");
- fprintf_ln(stderr, _("If you wish to set tracking information for this branch you can do so with:\n"
- "\n"
- " git branch --set-upstream-to=%s/<branch> %s\n"),
- remote_name, curr_branch->name);
+ fprintf_ln(stderr, _("If you wish to set tracking information for this branch you can do so with:"));
+ fprintf(stderr, "\n");
+ fprintf_ln(stderr, " git branch --set-upstream-to=%s/%s %s\n",
+ remote_name, _("<branch>"), curr_branch->name);
} else
fprintf_ln(stderr, _("Your configuration specifies to merge with the ref '%s'\n"
"from the remote, but no such ref was fetched."),
@@ -612,6 +632,8 @@ static int run_merge(void)
argv_array_pushv(&args, opt_strategy_opts.argv);
if (opt_gpg_sign)
argv_array_push(&args, opt_gpg_sign);
+ if (opt_allow_unrelated_histories > 0)
+ argv_array_push(&args, "--allow-unrelated-histories");
argv_array_push(&args, "FETCH_HEAD");
ret = run_command_v_opt(args.argv, RUN_GIT_CMD);
@@ -789,6 +811,10 @@ static int run_rebase(const unsigned char *curr_head,
argv_array_pushv(&args, opt_strategy_opts.argv);
if (opt_gpg_sign)
argv_array_push(&args, opt_gpg_sign);
+ if (opt_autostash == 0)
+ argv_array_push(&args, "--no-autostash");
+ else if (opt_autostash == 1)
+ argv_array_push(&args, "--autostash");
argv_array_push(&args, "--onto");
argv_array_push(&args, sha1_to_hex(merge_head));
@@ -823,7 +849,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
if (opt_rebase < 0)
opt_rebase = config_get_rebase();
- git_config(git_default_config, NULL);
+ git_config(git_pull_config, NULL);
if (read_cache_unmerged())
die_resolve_conflict("Pull");
@@ -834,13 +860,17 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
if (get_sha1("HEAD", orig_head))
hashclr(orig_head);
+ if (!opt_rebase && opt_autostash != -1)
+ die(_("--[no-]autostash option is only valid with --rebase."));
+
if (opt_rebase) {
- int autostash = 0;
+ int autostash = config_autostash;
+ if (opt_autostash != -1)
+ autostash = opt_autostash;
if (is_null_sha1(orig_head) && !is_cache_unborn())
die(_("Updating an unborn branch with changes added to the index."));
- git_config_get_bool("rebase.autostash", &autostash);
if (!autostash)
die_on_unclean_work_tree(prefix);
diff --git a/builtin/push.c b/builtin/push.c
index 6e13b3c90a..4e9e4dbab2 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -205,37 +205,6 @@ static void setup_push_current(struct remote *remote, struct branch *branch)
add_refspec(branch->name);
}
-static char warn_unspecified_push_default_msg[] =
-N_("push.default is unset; its implicit value has changed in\n"
- "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
- "and maintain the traditional behavior, use:\n"
- "\n"
- " git config --global push.default matching\n"
- "\n"
- "To squelch this message and adopt the new behavior now, use:\n"
- "\n"
- " git config --global push.default simple\n"
- "\n"
- "When push.default is set to 'matching', git will push local branches\n"
- "to the remote branches that already exist with the same name.\n"
- "\n"
- "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
- "behavior, which only pushes the current branch to the corresponding\n"
- "remote branch that 'git pull' uses to update the current branch.\n"
- "\n"
- "See 'git help config' and search for 'push.default' for further information.\n"
- "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
- "'current' instead of 'simple' if you sometimes use older versions of Git)");
-
-static void warn_unspecified_push_default_configuration(void)
-{
- static int warn_once;
-
- if (warn_once++)
- return;
- warning("%s\n", _(warn_unspecified_push_default_msg));
-}
-
static int is_workflow_triangular(struct remote *remote)
{
struct remote *fetch_remote = remote_get(NULL);
@@ -254,9 +223,6 @@ static void setup_default_push_refspecs(struct remote *remote)
break;
case PUSH_DEFAULT_UNSPECIFIED:
- warn_unspecified_push_default_configuration();
- /* fallthru */
-
case PUSH_DEFAULT_SIMPLE:
if (triangular)
setup_push_current(remote, branch);
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index f2d6761af6..a744437b58 100644
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
@@ -21,7 +21,10 @@
#include "sigchain.h"
#include "fsck.h"
-static const char receive_pack_usage[] = "git receive-pack <git-dir>";
+static const char * const receive_pack_usage[] = {
+ N_("git receive-pack <git-dir>"),
+ NULL
+};
enum deny_action {
DENY_UNCONFIGURED,
@@ -49,7 +52,7 @@ static int quiet;
static int prefer_ofs_delta = 1;
static int auto_update_server_info;
static int auto_gc = 1;
-static int fix_thin = 1;
+static int reject_thin;
static int stateless_rpc;
static const char *service_dir;
static const char *head_name;
@@ -1031,7 +1034,6 @@ static void run_update_post_hook(struct command *commands)
{
struct command *cmd;
int argc;
- const char **argv;
struct child_process proc = CHILD_PROCESS_INIT;
const char *hook;
@@ -1044,21 +1046,16 @@ static void run_update_post_hook(struct command *commands)
if (!argc || !hook)
return;
- argv = xmalloc(sizeof(*argv) * (2 + argc));
- argv[0] = hook;
-
- for (argc = 1, cmd = commands; cmd; cmd = cmd->next) {
+ argv_array_push(&proc.args, hook);
+ for (cmd = commands; cmd; cmd = cmd->next) {
if (cmd->error_string || cmd->did_not_exist)
continue;
- argv[argc] = xstrdup(cmd->ref_name);
- argc++;
+ argv_array_push(&proc.args, cmd->ref_name);
}
- argv[argc] = NULL;
proc.no_stdin = 1;
proc.stdout_to_stderr = 1;
proc.err = use_sideband ? -1 : 0;
- proc.argv = argv;
if (!start_command(&proc)) {
if (use_sideband)
@@ -1087,13 +1084,13 @@ static void check_aliased_update(struct command *cmd, struct string_list *list)
if (!(flag & REF_ISSYMREF))
return;
- dst_name = strip_namespace(dst_name);
if (!dst_name) {
rp_error("refusing update to broken symref '%s'", cmd->ref_name);
cmd->skip_update = 1;
cmd->error_string = "broken symref";
return;
}
+ dst_name = strip_namespace(dst_name);
if ((item = string_list_lookup(list, dst_name)) == NULL)
return;
@@ -1378,7 +1375,7 @@ static struct command **queue_command(struct command **tail,
refname = line + 82;
reflen = linelen - 82;
- cmd = xcalloc(1, sizeof(struct command) + reflen + 1);
+ cmd = xcalloc(1, st_add3(sizeof(struct command), reflen, 1));
hashcpy(cmd->old_sha1, old_sha1);
hashcpy(cmd->new_sha1, new_sha1);
memcpy(cmd->ref_name, refname, reflen);
@@ -1554,7 +1551,7 @@ static const char *unpack(int err_fd, struct shallow_info *si)
if (fsck_objects)
argv_array_pushf(&child.args, "--strict%s",
fsck_msg_types.buf);
- if (fix_thin)
+ if (!reject_thin)
argv_array_push(&child.args, "--fix-thin");
child.out = -1;
child.err = err_fd;
@@ -1597,8 +1594,7 @@ static void prepare_shallow_update(struct command *commands,
{
int i, j, k, bitmap_size = (si->ref->nr + 31) / 32;
- si->used_shallow = xmalloc(sizeof(*si->used_shallow) *
- si->shallow->nr);
+ ALLOC_ARRAY(si->used_shallow, si->shallow->nr);
assign_shallow_commits_to_refs(si, si->used_shallow, NULL);
si->need_reachability_test =
@@ -1664,7 +1660,7 @@ static void update_shallow_info(struct command *commands,
return;
}
- ref_status = xmalloc(sizeof(*ref_status) * ref->nr);
+ ALLOC_ARRAY(ref_status, ref->nr);
assign_shallow_commits_to_refs(si, NULL, ref_status);
for (cmd = commands; cmd; cmd = cmd->next) {
if (is_null_sha1(cmd->new_sha1))
@@ -1714,45 +1710,29 @@ static int delete_only(struct command *commands)
int cmd_receive_pack(int argc, const char **argv, const char *prefix)
{
int advertise_refs = 0;
- int i;
struct command *commands;
struct sha1_array shallow = SHA1_ARRAY_INIT;
struct sha1_array ref = SHA1_ARRAY_INIT;
struct shallow_info si;
- packet_trace_identity("receive-pack");
+ struct option options[] = {
+ OPT__QUIET(&quiet, N_("quiet")),
+ OPT_HIDDEN_BOOL(0, "stateless-rpc", &stateless_rpc, NULL),
+ OPT_HIDDEN_BOOL(0, "advertise-refs", &advertise_refs, NULL),
+ OPT_HIDDEN_BOOL(0, "reject-thin-pack-for-testing", &reject_thin, NULL),
+ OPT_END()
+ };
- argv++;
- for (i = 1; i < argc; i++) {
- const char *arg = *argv++;
+ packet_trace_identity("receive-pack");
- if (*arg == '-') {
- if (!strcmp(arg, "--quiet")) {
- quiet = 1;
- continue;
- }
+ argc = parse_options(argc, argv, prefix, options, receive_pack_usage, 0);
- if (!strcmp(arg, "--advertise-refs")) {
- advertise_refs = 1;
- continue;
- }
- if (!strcmp(arg, "--stateless-rpc")) {
- stateless_rpc = 1;
- continue;
- }
- if (!strcmp(arg, "--reject-thin-pack-for-testing")) {
- fix_thin = 0;
- continue;
- }
+ if (argc > 1)
+ usage_msg_opt(_("Too many arguments."), receive_pack_usage, options);
+ if (argc == 0)
+ usage_msg_opt(_("You must specify a directory."), receive_pack_usage, options);
- usage(receive_pack_usage);
- }
- if (service_dir)
- usage(receive_pack_usage);
- service_dir = arg;
- }
- if (!service_dir)
- usage(receive_pack_usage);
+ service_dir = argv[0];
setup_path();
diff --git a/builtin/reflog.c b/builtin/reflog.c
index f39960e5e4..7a7136e53e 100644
--- a/builtin/reflog.c
+++ b/builtin/reflog.c
@@ -84,8 +84,8 @@ static int tree_is_complete(const unsigned char *sha1)
init_tree_desc(&desc, tree->buffer, tree->size);
complete = 1;
while (tree_entry(&desc, &entry)) {
- if (!has_sha1_file(entry.sha1) ||
- (S_ISDIR(entry.mode) && !tree_is_complete(entry.sha1))) {
+ if (!has_sha1_file(entry.oid->hash) ||
+ (S_ISDIR(entry.mode) && !tree_is_complete(entry.oid->hash))) {
tree->object.flags |= INCOMPLETE;
complete = 0;
}
@@ -382,11 +382,9 @@ static int collect_reflog(const char *ref, const struct object_id *oid, int unus
{
struct collected_reflog *e;
struct collect_reflog_cb *cb = cb_data;
- size_t namelen = strlen(ref);
- e = xmalloc(sizeof(*e) + namelen + 1);
+ FLEX_ALLOC_STR(e, reflog, ref);
hashcpy(e->sha1, oid->hash);
- memcpy(e->reflog, ref, namelen + 1);
ALLOC_GROW(cb->e, cb->nr + 1, cb->alloc);
cb->e[cb->nr++] = e;
return 0;
@@ -396,7 +394,6 @@ static struct reflog_expire_cfg {
struct reflog_expire_cfg *next;
unsigned long expire_total;
unsigned long expire_unreachable;
- size_t len;
char pattern[FLEX_ARRAY];
} *reflog_expire_cfg, **reflog_expire_cfg_tail;
@@ -408,13 +405,11 @@ static struct reflog_expire_cfg *find_cfg_ent(const char *pattern, size_t len)
reflog_expire_cfg_tail = &reflog_expire_cfg;
for (ent = reflog_expire_cfg; ent; ent = ent->next)
- if (ent->len == len &&
- !memcmp(ent->pattern, pattern, len))
+ if (!strncmp(ent->pattern, pattern, len) &&
+ ent->pattern[len] == '\0')
return ent;
- ent = xcalloc(1, (sizeof(*ent) + len));
- memcpy(ent->pattern, pattern, len);
- ent->len = len;
+ FLEX_ALLOC_MEM(ent, pattern, pattern, len);
*reflog_expire_cfg_tail = ent;
reflog_expire_cfg_tail = &(ent->next);
return ent;
diff --git a/builtin/remote-ext.c b/builtin/remote-ext.c
index e3cd25d580..88eb8f9013 100644
--- a/builtin/remote-ext.c
+++ b/builtin/remote-ext.c
@@ -114,30 +114,14 @@ static char *strip_escapes(const char *str, const char *service,
}
}
-/* Should be enough... */
-#define MAXARGUMENTS 256
-
-static const char **parse_argv(const char *arg, const char *service)
+static void parse_argv(struct argv_array *out, const char *arg, const char *service)
{
- int arguments = 0;
- int i;
- const char **ret;
- char *temparray[MAXARGUMENTS + 1];
-
while (*arg) {
- char *expanded;
- if (arguments == MAXARGUMENTS)
- die("remote-ext command has too many arguments");
- expanded = strip_escapes(arg, service, &arg);
+ char *expanded = strip_escapes(arg, service, &arg);
if (expanded)
- temparray[arguments++] = expanded;
+ argv_array_push(out, expanded);
+ free(expanded);
}
-
- ret = xmalloc((arguments + 1) * sizeof(char *));
- for (i = 0; i < arguments; i++)
- ret[i] = temparray[i];
- ret[arguments] = NULL;
- return ret;
}
static void send_git_request(int stdin_fd, const char *serv, const char *repo,
@@ -158,7 +142,7 @@ static int run_child(const char *arg, const char *service)
child.in = -1;
child.out = -1;
child.err = 0;
- child.argv = parse_argv(arg, service);
+ parse_argv(&child.args, arg, service);
if (start_command(&child) < 0)
die("Can't run specified command");
@@ -184,7 +168,7 @@ static int command_loop(const char *child)
size_t i;
if (!fgets(buffer, MAXCOMMAND - 1, stdin)) {
if (ferror(stdin))
- die("Comammand input error");
+ die("Command input error");
exit(0);
}
/* Strip end of line characters. */
diff --git a/builtin/remote.c b/builtin/remote.c
index 2b2ff9b7d2..fda5c2e53d 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -108,8 +108,8 @@ enum {
#define MIRROR_PUSH 2
#define MIRROR_BOTH (MIRROR_FETCH|MIRROR_PUSH)
-static int add_branch(const char *key, const char *branchname,
- const char *remotename, int mirror, struct strbuf *tmp)
+static void add_branch(const char *key, const char *branchname,
+ const char *remotename, int mirror, struct strbuf *tmp)
{
strbuf_reset(tmp);
strbuf_addch(tmp, '+');
@@ -119,7 +119,7 @@ static int add_branch(const char *key, const char *branchname,
else
strbuf_addf(tmp, "refs/heads/%s:refs/remotes/%s/%s",
branchname, remotename, branchname);
- return git_config_set_multivar(key, tmp->buf, "^$", 0);
+ git_config_set_multivar(key, tmp->buf, "^$", 0);
}
static const char mirror_advice[] =
@@ -186,10 +186,7 @@ static int add(int argc, const char **argv)
url = argv[1];
remote = remote_get(name);
- if (remote && (remote->url_nr > 1 ||
- (strcmp(name, remote->url[0]) &&
- strcmp(url, remote->url[0])) ||
- remote->fetch_refspec_nr))
+ if (remote_is_configured(remote))
die(_("remote %s already exists."), name);
strbuf_addf(&buf2, "refs/heads/test:refs/remotes/%s/test", name);
@@ -197,8 +194,7 @@ static int add(int argc, const char **argv)
die(_("'%s' is not a valid remote name"), name);
strbuf_addf(&buf, "remote.%s.url", name);
- if (git_config_set(buf.buf, url))
- return 1;
+ git_config_set(buf.buf, url);
if (!mirror || mirror & MIRROR_FETCH) {
strbuf_reset(&buf);
@@ -206,25 +202,22 @@ static int add(int argc, const char **argv)
if (track.nr == 0)
string_list_append(&track, "*");
for (i = 0; i < track.nr; i++) {
- if (add_branch(buf.buf, track.items[i].string,
- name, mirror, &buf2))
- return 1;
+ add_branch(buf.buf, track.items[i].string,
+ name, mirror, &buf2);
}
}
if (mirror & MIRROR_PUSH) {
strbuf_reset(&buf);
strbuf_addf(&buf, "remote.%s.mirror", name);
- if (git_config_set(buf.buf, "true"))
- return 1;
+ git_config_set(buf.buf, "true");
}
if (fetch_tags != TAGS_DEFAULT) {
strbuf_reset(&buf);
strbuf_addf(&buf, "remote.%s.tagopt", name);
- if (git_config_set(buf.buf,
- fetch_tags == TAGS_SET ? "--tags" : "--no-tags"))
- return 1;
+ git_config_set(buf.buf,
+ fetch_tags == TAGS_SET ? "--tags" : "--no-tags");
}
if (fetch && fetch_remote(name))
@@ -592,25 +585,20 @@ static int migrate_file(struct remote *remote)
strbuf_addf(&buf, "remote.%s.url", remote->name);
for (i = 0; i < remote->url_nr; i++)
- if (git_config_set_multivar(buf.buf, remote->url[i], "^$", 0))
- return error(_("Could not append '%s' to '%s'"),
- remote->url[i], buf.buf);
+ git_config_set_multivar(buf.buf, remote->url[i], "^$", 0);
strbuf_reset(&buf);
strbuf_addf(&buf, "remote.%s.push", remote->name);
for (i = 0; i < remote->push_refspec_nr; i++)
- if (git_config_set_multivar(buf.buf, remote->push_refspec[i], "^$", 0))
- return error(_("Could not append '%s' to '%s'"),
- remote->push_refspec[i], buf.buf);
+ git_config_set_multivar(buf.buf, remote->push_refspec[i], "^$", 0);
strbuf_reset(&buf);
strbuf_addf(&buf, "remote.%s.fetch", remote->name);
for (i = 0; i < remote->fetch_refspec_nr; i++)
- if (git_config_set_multivar(buf.buf, remote->fetch_refspec[i], "^$", 0))
- return error(_("Could not append '%s' to '%s'"),
- remote->fetch_refspec[i], buf.buf);
+ git_config_set_multivar(buf.buf, remote->fetch_refspec[i], "^$", 0);
if (remote->origin == REMOTE_REMOTES)
unlink_or_warn(git_path("remotes/%s", remote->name));
else if (remote->origin == REMOTE_BRANCHES)
unlink_or_warn(git_path("branches/%s", remote->name));
+
return 0;
}
@@ -634,14 +622,14 @@ static int mv(int argc, const char **argv)
rename.remote_branches = &remote_branches;
oldremote = remote_get(rename.old);
- if (!oldremote)
+ if (!remote_is_configured(oldremote))
die(_("No such remote: %s"), rename.old);
if (!strcmp(rename.old, rename.new) && oldremote->origin != REMOTE_CONFIG)
return migrate_file(oldremote);
newremote = remote_get(rename.new);
- if (newremote && (newremote->url_nr > 1 || newremote->fetch_refspec_nr))
+ if (remote_is_configured(newremote))
die(_("remote %s already exists."), rename.new);
strbuf_addf(&buf, "refs/heads/test:refs/remotes/%s/test", rename.new);
@@ -657,8 +645,7 @@ static int mv(int argc, const char **argv)
strbuf_reset(&buf);
strbuf_addf(&buf, "remote.%s.fetch", rename.new);
- if (git_config_set_multivar(buf.buf, NULL, NULL, 1))
- return error(_("Could not remove config section '%s'"), buf.buf);
+ git_config_set_multivar(buf.buf, NULL, NULL, 1);
strbuf_addf(&old_remote_context, ":refs/remotes/%s/", rename.old);
for (i = 0; i < oldremote->fetch_refspec_nr; i++) {
char *ptr;
@@ -678,8 +665,7 @@ static int mv(int argc, const char **argv)
"\tPlease update the configuration manually if necessary."),
buf2.buf);
- if (git_config_set_multivar(buf.buf, buf2.buf, "^$", 0))
- return error(_("Could not append '%s'"), buf.buf);
+ git_config_set_multivar(buf.buf, buf2.buf, "^$", 0);
}
read_branches();
@@ -689,9 +675,7 @@ static int mv(int argc, const char **argv)
if (info->remote_name && !strcmp(info->remote_name, rename.old)) {
strbuf_reset(&buf);
strbuf_addf(&buf, "branch.%s.remote", item->string);
- if (git_config_set(buf.buf, rename.new)) {
- return error(_("Could not set '%s'"), buf.buf);
- }
+ git_config_set(buf.buf, rename.new);
}
}
@@ -773,7 +757,7 @@ static int rm(int argc, const char **argv)
usage_with_options(builtin_remote_rm_usage, options);
remote = remote_get(argv[1]);
- if (!remote)
+ if (!remote_is_configured(remote))
die(_("No such remote: %s"), argv[1]);
known_remotes.to_delete = remote;
@@ -789,10 +773,7 @@ static int rm(int argc, const char **argv)
strbuf_reset(&buf);
strbuf_addf(&buf, "branch.%s.%s",
item->string, *k);
- if (git_config_set(buf.buf, NULL)) {
- strbuf_release(&buf);
- return -1;
- }
+ git_config_set(buf.buf, NULL);
}
}
}
@@ -1413,24 +1394,20 @@ static int update(int argc, const char **argv)
static int remove_all_fetch_refspecs(const char *remote, const char *key)
{
- return git_config_set_multivar(key, NULL, NULL, 1);
+ return git_config_set_multivar_gently(key, NULL, NULL, 1);
}
-static int add_branches(struct remote *remote, const char **branches,
- const char *key)
+static void add_branches(struct remote *remote, const char **branches,
+ const char *key)
{
const char *remotename = remote->name;
int mirror = remote->mirror;
struct strbuf refspec = STRBUF_INIT;
for (; *branches; branches++)
- if (add_branch(key, *branches, remotename, mirror, &refspec)) {
- strbuf_release(&refspec);
- return 1;
- }
+ add_branch(key, *branches, remotename, mirror, &refspec);
strbuf_release(&refspec);
- return 0;
}
static int set_remote_branches(const char *remotename, const char **branches,
@@ -1441,18 +1418,15 @@ static int set_remote_branches(const char *remotename, const char **branches,
strbuf_addf(&key, "remote.%s.fetch", remotename);
- if (!remote_is_configured(remotename))
- die(_("No such remote '%s'"), remotename);
remote = remote_get(remotename);
+ if (!remote_is_configured(remote))
+ die(_("No such remote '%s'"), remotename);
if (!add_mode && remove_all_fetch_refspecs(remotename, key.buf)) {
strbuf_release(&key);
return 1;
}
- if (add_branches(remote, branches, key.buf)) {
- strbuf_release(&key);
- return 1;
- }
+ add_branches(remote, branches, key.buf);
strbuf_release(&key);
return 0;
@@ -1498,9 +1472,9 @@ static int get_url(int argc, const char **argv)
remotename = argv[0];
- if (!remote_is_configured(remotename))
- die(_("No such remote '%s'"), remotename);
remote = remote_get(remotename);
+ if (!remote_is_configured(remote))
+ die(_("No such remote '%s'"), remotename);
url_nr = 0;
if (push_mode) {
@@ -1566,9 +1540,9 @@ static int set_url(int argc, const char **argv)
if (delete_mode)
oldurl = newurl;
- if (!remote_is_configured(remotename))
- die(_("No such remote '%s'"), remotename);
remote = remote_get(remotename);
+ if (!remote_is_configured(remote))
+ die(_("No such remote '%s'"), remotename);
if (push_mode) {
strbuf_addf(&name_buf, "remote.%s.pushurl", remotename);
@@ -1584,10 +1558,11 @@ static int set_url(int argc, const char **argv)
if ((!oldurl && !delete_mode) || add_mode) {
if (add_mode)
git_config_set_multivar(name_buf.buf, newurl,
- "^$", 0);
+ "^$", 0);
else
git_config_set(name_buf.buf, newurl);
strbuf_release(&name_buf);
+
return 0;
}
diff --git a/builtin/replace.c b/builtin/replace.c
index 748c6ca954..b58c714cb8 100644
--- a/builtin/replace.c
+++ b/builtin/replace.c
@@ -440,6 +440,7 @@ int cmd_replace(int argc, const char **argv, const char *prefix)
};
check_replace_refs = 0;
+ git_config(git_default_config, NULL);
argc = parse_options(argc, argv, prefix, options, git_replace_usage, 0);
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c
index cf8487b3b9..c961b74c5a 100644
--- a/builtin/rev-parse.c
+++ b/builtin/rev-parse.c
@@ -505,6 +505,7 @@ N_("git rev-parse --parseopt [<options>] -- [<args>...]\n"
int cmd_rev_parse(int argc, const char **argv, const char *prefix)
{
int i, as_is = 0, verify = 0, quiet = 0, revs_count = 0, type = 0;
+ int did_repo_setup = 0;
int has_dashdash = 0;
int output_prefix = 0;
unsigned char sha1[20];
@@ -528,11 +529,40 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
}
}
- prefix = setup_git_directory();
- git_config(git_default_config, NULL);
+ /* No options; just report on whether we're in a git repo or not. */
+ if (argc == 1) {
+ setup_git_directory();
+ git_config(git_default_config, NULL);
+ return 0;
+ }
+
for (i = 1; i < argc; i++) {
const char *arg = argv[i];
+ if (!strcmp(arg, "--local-env-vars")) {
+ int i;
+ for (i = 0; local_repo_env[i]; i++)
+ printf("%s\n", local_repo_env[i]);
+ continue;
+ }
+ if (!strcmp(arg, "--resolve-git-dir")) {
+ const char *gitdir = argv[++i];
+ if (!gitdir)
+ die("--resolve-git-dir requires an argument");
+ gitdir = resolve_gitdir(gitdir);
+ if (!gitdir)
+ die("not a gitdir '%s'", argv[i]);
+ puts(gitdir);
+ continue;
+ }
+
+ /* The rest of the options require a git repository. */
+ if (!did_repo_setup) {
+ prefix = setup_git_directory();
+ git_config(git_default_config, NULL);
+ did_repo_setup = 1;
+ }
+
if (!strcmp(arg, "--git-path")) {
if (!argv[i + 1])
die("--git-path requires an argument");
@@ -706,12 +736,6 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
add_ref_exclusion(&ref_excludes, arg + 10);
continue;
}
- if (!strcmp(arg, "--local-env-vars")) {
- int i;
- for (i = 0; local_repo_env[i]; i++)
- printf("%s\n", local_repo_env[i]);
- continue;
- }
if (!strcmp(arg, "--show-toplevel")) {
const char *work_tree = get_git_work_tree();
if (work_tree)
@@ -767,16 +791,6 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
puts(prefix_filename(pfx, strlen(pfx), get_git_common_dir()));
continue;
}
- if (!strcmp(arg, "--resolve-git-dir")) {
- const char *gitdir = argv[++i];
- if (!gitdir)
- die("--resolve-git-dir requires an argument");
- gitdir = resolve_gitdir(gitdir);
- if (!gitdir)
- die("not a gitdir '%s'", argv[i]);
- puts(gitdir);
- continue;
- }
if (!strcmp(arg, "--is-inside-git-dir")) {
printf("%s\n", is_inside_git_dir() ? "true"
: "false");
diff --git a/builtin/rm.c b/builtin/rm.c
index 8829b09d0b..be83c4347a 100644
--- a/builtin/rm.c
+++ b/builtin/rm.c
@@ -314,7 +314,7 @@ int cmd_rm(int argc, const char **argv, const char *prefix)
list.entry[list.nr].is_submodule = S_ISGITLINK(ce->ce_mode);
if (list.entry[list.nr++].is_submodule &&
!is_staging_gitmodules_ok())
- die (_("Please, stage your changes to .gitmodules or stash them to proceed"));
+ die (_("Please stage your changes to .gitmodules or stash them to proceed"));
}
if (pathspec.nr) {
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
index 5b9dd6a9d8..1ff5a67538 100644
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
@@ -225,7 +225,7 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)
* --all and --mirror are incompatible; neither makes sense
* with any refspecs.
*/
- if ((refspecs && (send_all || args.send_mirror)) ||
+ if ((nr_refspecs > 0 && (send_all || args.send_mirror)) ||
(send_all && args.send_mirror))
usage_with_options(send_pack_usage, options);
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 89250f0b78..8da263f0b0 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -9,6 +9,211 @@
#include "submodule-config.h"
#include "string-list.h"
#include "run-command.h"
+#include "remote.h"
+#include "refs.h"
+#include "connect.h"
+
+static char *get_default_remote(void)
+{
+ char *dest = NULL, *ret;
+ unsigned char sha1[20];
+ struct strbuf sb = STRBUF_INIT;
+ const char *refname = resolve_ref_unsafe("HEAD", 0, sha1, NULL);
+
+ if (!refname)
+ die(_("No such ref: %s"), "HEAD");
+
+ /* detached HEAD */
+ if (!strcmp(refname, "HEAD"))
+ return xstrdup("origin");
+
+ if (!skip_prefix(refname, "refs/heads/", &refname))
+ die(_("Expecting a full ref name, got %s"), refname);
+
+ strbuf_addf(&sb, "branch.%s.remote", refname);
+ if (git_config_get_string(sb.buf, &dest))
+ ret = xstrdup("origin");
+ else
+ ret = dest;
+
+ strbuf_release(&sb);
+ return ret;
+}
+
+static int starts_with_dot_slash(const char *str)
+{
+ return str[0] == '.' && is_dir_sep(str[1]);
+}
+
+static int starts_with_dot_dot_slash(const char *str)
+{
+ return str[0] == '.' && str[1] == '.' && is_dir_sep(str[2]);
+}
+
+/*
+ * Returns 1 if it was the last chop before ':'.
+ */
+static int chop_last_dir(char **remoteurl, int is_relative)
+{
+ char *rfind = find_last_dir_sep(*remoteurl);
+ if (rfind) {
+ *rfind = '\0';
+ return 0;
+ }
+
+ rfind = strrchr(*remoteurl, ':');
+ if (rfind) {
+ *rfind = '\0';
+ return 1;
+ }
+
+ if (is_relative || !strcmp(".", *remoteurl))
+ die(_("cannot strip one component off url '%s'"),
+ *remoteurl);
+
+ free(*remoteurl);
+ *remoteurl = xstrdup(".");
+ return 0;
+}
+
+/*
+ * The `url` argument is the URL that navigates to the submodule origin
+ * repo. When relative, this URL is relative to the superproject origin
+ * URL repo. The `up_path` argument, if specified, is the relative
+ * path that navigates from the submodule working tree to the superproject
+ * working tree. Returns the origin URL of the submodule.
+ *
+ * Return either an absolute URL or filesystem path (if the superproject
+ * origin URL is an absolute URL or filesystem path, respectively) or a
+ * relative file system path (if the superproject origin URL is a relative
+ * file system path).
+ *
+ * When the output is a relative file system path, the path is either
+ * relative to the submodule working tree, if up_path is specified, or to
+ * the superproject working tree otherwise.
+ *
+ * NEEDSWORK: This works incorrectly on the domain and protocol part.
+ * remote_url url outcome expectation
+ * http://a.com/b ../c http://a.com/c as is
+ * http://a.com/b ../../c http://c error out
+ * http://a.com/b ../../../c http:/c error out
+ * http://a.com/b ../../../../c http:c error out
+ * http://a.com/b ../../../../../c .:c error out
+ * NEEDSWORK: Given how chop_last_dir() works, this function is broken
+ * when a local part has a colon in its path component, too.
+ */
+static char *relative_url(const char *remote_url,
+ const char *url,
+ const char *up_path)
+{
+ int is_relative = 0;
+ int colonsep = 0;
+ char *out;
+ char *remoteurl = xstrdup(remote_url);
+ struct strbuf sb = STRBUF_INIT;
+ size_t len = strlen(remoteurl);
+
+ if (is_dir_sep(remoteurl[len]))
+ remoteurl[len] = '\0';
+
+ if (!url_is_local_not_ssh(remoteurl) || is_absolute_path(remoteurl))
+ is_relative = 0;
+ else {
+ is_relative = 1;
+ /*
+ * Prepend a './' to ensure all relative
+ * remoteurls start with './' or '../'
+ */
+ if (!starts_with_dot_slash(remoteurl) &&
+ !starts_with_dot_dot_slash(remoteurl)) {
+ strbuf_reset(&sb);
+ strbuf_addf(&sb, "./%s", remoteurl);
+ free(remoteurl);
+ remoteurl = strbuf_detach(&sb, NULL);
+ }
+ }
+ /*
+ * When the url starts with '../', remove that and the
+ * last directory in remoteurl.
+ */
+ while (url) {
+ if (starts_with_dot_dot_slash(url)) {
+ url += 3;
+ colonsep |= chop_last_dir(&remoteurl, is_relative);
+ } else if (starts_with_dot_slash(url))
+ url += 2;
+ else
+ break;
+ }
+ strbuf_reset(&sb);
+ strbuf_addf(&sb, "%s%s%s", remoteurl, colonsep ? ":" : "/", url);
+ free(remoteurl);
+
+ if (starts_with_dot_slash(sb.buf))
+ out = xstrdup(sb.buf + 2);
+ else
+ out = xstrdup(sb.buf);
+ strbuf_reset(&sb);
+
+ if (!up_path || !is_relative)
+ return out;
+
+ strbuf_addf(&sb, "%s%s", up_path, out);
+ free(out);
+ return strbuf_detach(&sb, NULL);
+}
+
+static int resolve_relative_url(int argc, const char **argv, const char *prefix)
+{
+ char *remoteurl = NULL;
+ char *remote = get_default_remote();
+ const char *up_path = NULL;
+ char *res;
+ const char *url;
+ struct strbuf sb = STRBUF_INIT;
+
+ if (argc != 2 && argc != 3)
+ die("resolve-relative-url only accepts one or two arguments");
+
+ url = argv[1];
+ strbuf_addf(&sb, "remote.%s.url", remote);
+ free(remote);
+
+ if (git_config_get_string(sb.buf, &remoteurl))
+ /* the repository is its own authoritative upstream */
+ remoteurl = xgetcwd();
+
+ if (argc == 3)
+ up_path = argv[2];
+
+ res = relative_url(remoteurl, url, up_path);
+ puts(res);
+ free(res);
+ free(remoteurl);
+ return 0;
+}
+
+static int resolve_relative_url_test(int argc, const char **argv, const char *prefix)
+{
+ char *remoteurl, *res;
+ const char *up_path, *url;
+
+ if (argc != 4)
+ die("resolve-relative-url-test only accepts three arguments: <up_path> <remoteurl> <url>");
+
+ up_path = argv[1];
+ remoteurl = xstrdup(argv[2]);
+ url = argv[3];
+
+ if (!strcmp(up_path, "(null)"))
+ up_path = NULL;
+
+ res = relative_url(remoteurl, url, up_path);
+ puts(res);
+ free(res);
+ free(remoteurl);
+ return 0;
+}
struct module_list {
const struct cache_entry **entries;
@@ -22,17 +227,12 @@ static int module_list_compute(int argc, const char **argv,
struct module_list *list)
{
int i, result = 0;
- char *max_prefix, *ps_matched = NULL;
- int max_prefix_len;
+ char *ps_matched = NULL;
parse_pathspec(pathspec, 0,
PATHSPEC_PREFER_FULL |
PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP,
prefix, argv);
- /* Find common prefix for all pathspec's */
- max_prefix = common_prefix(pathspec);
- max_prefix_len = max_prefix ? strlen(max_prefix) : 0;
-
if (pathspec->nr)
ps_matched = xcalloc(pathspec->nr, 1);
@@ -42,9 +242,9 @@ static int module_list_compute(int argc, const char **argv,
for (i = 0; i < active_nr; i++) {
const struct cache_entry *ce = active_cache[i];
- if (!S_ISGITLINK(ce->ce_mode) ||
- !match_pathspec(pathspec, ce->name, ce_namelen(ce),
- max_prefix_len, ps_matched, 1))
+ if (!match_pathspec(pathspec, ce->name, ce_namelen(ce),
+ 0, ps_matched, 1) ||
+ !S_ISGITLINK(ce->ce_mode))
continue;
ALLOC_GROW(list->entries, list->nr + 1, list->alloc);
@@ -57,7 +257,6 @@ static int module_list_compute(int argc, const char **argv,
*/
i++;
}
- free(max_prefix);
if (ps_matched && report_path_error(ps_matched, pathspec, prefix))
result = -1;
@@ -106,6 +305,125 @@ static int module_list(int argc, const char **argv, const char *prefix)
return 0;
}
+static void init_submodule(const char *path, const char *prefix, int quiet)
+{
+ const struct submodule *sub;
+ struct strbuf sb = STRBUF_INIT;
+ char *upd = NULL, *url = NULL, *displaypath;
+
+ /* Only loads from .gitmodules, no overlay with .git/config */
+ gitmodules_config();
+
+ if (prefix) {
+ strbuf_addf(&sb, "%s%s", prefix, path);
+ displaypath = strbuf_detach(&sb, NULL);
+ } else
+ displaypath = xstrdup(path);
+
+ sub = submodule_from_path(null_sha1, path);
+
+ if (!sub)
+ die(_("No url found for submodule path '%s' in .gitmodules"),
+ displaypath);
+
+ /*
+ * Copy url setting when it is not set yet.
+ * To look up the url in .git/config, we must not fall back to
+ * .gitmodules, so look it up directly.
+ */
+ strbuf_reset(&sb);
+ strbuf_addf(&sb, "submodule.%s.url", sub->name);
+ if (git_config_get_string(sb.buf, &url)) {
+ url = xstrdup(sub->url);
+
+ if (!url)
+ die(_("No url found for submodule path '%s' in .gitmodules"),
+ displaypath);
+
+ /* Possibly a url relative to parent */
+ if (starts_with_dot_dot_slash(url) ||
+ starts_with_dot_slash(url)) {
+ char *remoteurl, *relurl;
+ char *remote = get_default_remote();
+ struct strbuf remotesb = STRBUF_INIT;
+ strbuf_addf(&remotesb, "remote.%s.url", remote);
+ free(remote);
+
+ if (git_config_get_string(remotesb.buf, &remoteurl))
+ /*
+ * The repository is its own
+ * authoritative upstream
+ */
+ remoteurl = xgetcwd();
+ relurl = relative_url(remoteurl, url, NULL);
+ strbuf_release(&remotesb);
+ free(remoteurl);
+ free(url);
+ url = relurl;
+ }
+
+ if (git_config_set_gently(sb.buf, url))
+ die(_("Failed to register url for submodule path '%s'"),
+ displaypath);
+ if (!quiet)
+ fprintf(stderr,
+ _("Submodule '%s' (%s) registered for path '%s'\n"),
+ sub->name, url, displaypath);
+ }
+
+ /* Copy "update" setting when it is not set yet */
+ strbuf_reset(&sb);
+ strbuf_addf(&sb, "submodule.%s.update", sub->name);
+ if (git_config_get_string(sb.buf, &upd) &&
+ sub->update_strategy.type != SM_UPDATE_UNSPECIFIED) {
+ if (sub->update_strategy.type == SM_UPDATE_COMMAND) {
+ fprintf(stderr, _("warning: command update mode suggested for submodule '%s'\n"),
+ sub->name);
+ upd = xstrdup("none");
+ } else
+ upd = xstrdup(submodule_strategy_to_string(&sub->update_strategy));
+
+ if (git_config_set_gently(sb.buf, upd))
+ die(_("Failed to register update mode for submodule path '%s'"), displaypath);
+ }
+ strbuf_release(&sb);
+ free(displaypath);
+ free(url);
+ free(upd);
+}
+
+static int module_init(int argc, const char **argv, const char *prefix)
+{
+ struct pathspec pathspec;
+ struct module_list list = MODULE_LIST_INIT;
+ int quiet = 0;
+ int i;
+
+ struct option module_init_options[] = {
+ OPT_STRING(0, "prefix", &prefix,
+ N_("path"),
+ N_("alternative anchor for relative paths")),
+ OPT__QUIET(&quiet, N_("Suppress output for initializing a submodule")),
+ OPT_END()
+ };
+
+ const char *const git_submodule_helper_usage[] = {
+ N_("git submodule--helper init [<path>]"),
+ NULL
+ };
+
+ argc = parse_options(argc, argv, prefix, module_init_options,
+ git_submodule_helper_usage, 0);
+
+ if (module_list_compute(argc, argv, prefix, &pathspec, &list) < 0)
+ return 1;
+
+ for (i = 0; i < list.nr; i++)
+ init_submodule(list.entries[i]->name, prefix, quiet);
+
+ return 0;
+}
+
static int module_name(int argc, const char **argv, const char *prefix)
{
const struct submodule *sub;
@@ -154,11 +472,11 @@ static int clone_submodule(const char *path, const char *gitdir, const char *url
static int module_clone(int argc, const char **argv, const char *prefix)
{
- const char *path = NULL, *name = NULL, *url = NULL;
+ const char *name = NULL, *url = NULL;
const char *reference = NULL, *depth = NULL;
int quiet = 0;
FILE *submodule_dot_git;
- char *sm_gitdir, *cwd, *p;
+ char *p, *path = NULL, *sm_gitdir;
struct strbuf rel_path = STRBUF_INIT;
struct strbuf sb = STRBUF_INIT;
@@ -195,12 +513,19 @@ static int module_clone(int argc, const char **argv, const char *prefix)
argc = parse_options(argc, argv, prefix, module_clone_options,
git_submodule_helper_usage, 0);
- if (argc || !url || !path)
+ if (argc || !url || !path || !*path)
usage_with_options(git_submodule_helper_usage,
module_clone_options);
strbuf_addf(&sb, "%s/modules/%s", get_git_dir(), name);
- sm_gitdir = strbuf_detach(&sb, NULL);
+ sm_gitdir = xstrdup(absolute_path(sb.buf));
+ strbuf_reset(&sb);
+
+ if (!is_absolute_path(path)) {
+ strbuf_addf(&sb, "%s/%s", get_git_work_tree(), path);
+ path = strbuf_detach(&sb, NULL);
+ } else
+ path = xstrdup(path);
if (!file_exists(sm_gitdir)) {
if (safe_create_leading_directories_const(sm_gitdir) < 0)
@@ -217,49 +542,297 @@ static int module_clone(int argc, const char **argv, const char *prefix)
}
/* Write a .git file in the submodule to redirect to the superproject. */
- if (safe_create_leading_directories_const(path) < 0)
- die(_("could not create directory '%s'"), path);
-
- if (path && *path)
- strbuf_addf(&sb, "%s/.git", path);
- else
- strbuf_addstr(&sb, ".git");
-
+ strbuf_addf(&sb, "%s/.git", path);
if (safe_create_leading_directories_const(sb.buf) < 0)
die(_("could not create leading directories of '%s'"), sb.buf);
submodule_dot_git = fopen(sb.buf, "w");
if (!submodule_dot_git)
die_errno(_("cannot open file '%s'"), sb.buf);
- fprintf(submodule_dot_git, "gitdir: %s\n",
- relative_path(sm_gitdir, path, &rel_path));
+ fprintf_or_die(submodule_dot_git, "gitdir: %s\n",
+ relative_path(sm_gitdir, path, &rel_path));
if (fclose(submodule_dot_git))
die(_("could not close file %s"), sb.buf);
strbuf_reset(&sb);
strbuf_reset(&rel_path);
- cwd = xgetcwd();
/* Redirect the worktree of the submodule in the superproject's config */
- if (!is_absolute_path(sm_gitdir)) {
- strbuf_addf(&sb, "%s/%s", cwd, sm_gitdir);
- free(sm_gitdir);
- sm_gitdir = strbuf_detach(&sb, NULL);
- }
-
- strbuf_addf(&sb, "%s/%s", cwd, path);
p = git_pathdup_submodule(path, "config");
if (!p)
die(_("could not get submodule directory for '%s'"), path);
git_config_set_in_file(p, "core.worktree",
- relative_path(sb.buf, sm_gitdir, &rel_path));
+ relative_path(path, sm_gitdir, &rel_path));
strbuf_release(&sb);
strbuf_release(&rel_path);
free(sm_gitdir);
- free(cwd);
+ free(path);
free(p);
return 0;
}
+struct submodule_update_clone {
+ /* index into 'list', the list of submodules to look into for cloning */
+ int current;
+ struct module_list list;
+ unsigned warn_if_uninitialized : 1;
+
+ /* update parameter passed via commandline */
+ struct submodule_update_strategy update;
+
+ /* configuration parameters which are passed on to the children */
+ int quiet;
+ const char *reference;
+ const char *depth;
+ const char *recursive_prefix;
+ const char *prefix;
+
+ /* Machine-readable status lines to be consumed by git-submodule.sh */
+ struct string_list projectlines;
+
+ /* If we want to stop as fast as possible and return an error */
+ unsigned quickstop : 1;
+};
+#define SUBMODULE_UPDATE_CLONE_INIT {0, MODULE_LIST_INIT, 0, \
+ SUBMODULE_UPDATE_STRATEGY_INIT, 0, NULL, NULL, NULL, NULL, \
+ STRING_LIST_INIT_DUP, 0}
+
+
+static void next_submodule_warn_missing(struct submodule_update_clone *suc,
+ struct strbuf *out, const char *displaypath)
+{
+ /*
+ * Only mention uninitialized submodules when their
+ * paths have been specified.
+ */
+ if (suc->warn_if_uninitialized) {
+ strbuf_addf(out,
+ _("Submodule path '%s' not initialized"),
+ displaypath);
+ strbuf_addch(out, '\n');
+ strbuf_addstr(out,
+ _("Maybe you want to use 'update --init'?"));
+ strbuf_addch(out, '\n');
+ }
+}
+
+/**
+ * Determine whether 'ce' needs to be cloned. If so, prepare the 'child' to
+ * run the clone. Returns 1 if 'ce' needs to be cloned, 0 otherwise.
+ */
+static int prepare_to_clone_next_submodule(const struct cache_entry *ce,
+ struct child_process *child,
+ struct submodule_update_clone *suc,
+ struct strbuf *out)
+{
+ const struct submodule *sub = NULL;
+ struct strbuf displaypath_sb = STRBUF_INIT;
+ struct strbuf sb = STRBUF_INIT;
+ const char *displaypath = NULL;
+ char *url = NULL;
+ int needs_cloning = 0;
+
+ if (ce_stage(ce)) {
+ if (suc->recursive_prefix)
+ strbuf_addf(&sb, "%s/%s", suc->recursive_prefix, ce->name);
+ else
+ strbuf_addf(&sb, "%s", ce->name);
+ strbuf_addf(out, _("Skipping unmerged submodule %s"), sb.buf);
+ strbuf_addch(out, '\n');
+ goto cleanup;
+ }
+
+ sub = submodule_from_path(null_sha1, ce->name);
+
+ if (suc->recursive_prefix)
+ displaypath = relative_path(suc->recursive_prefix,
+ ce->name, &displaypath_sb);
+ else
+ displaypath = ce->name;
+
+ if (!sub) {
+ next_submodule_warn_missing(suc, out, displaypath);
+ goto cleanup;
+ }
+
+ if (suc->update.type == SM_UPDATE_NONE
+ || (suc->update.type == SM_UPDATE_UNSPECIFIED
+ && sub->update_strategy.type == SM_UPDATE_NONE)) {
+ strbuf_addf(out, _("Skipping submodule '%s'"), displaypath);
+ strbuf_addch(out, '\n');
+ goto cleanup;
+ }
+
+ /*
+ * Looking up the url in .git/config.
+ * We must not fall back to .gitmodules as we only want
+ * to process configured submodules.
+ */
+ strbuf_reset(&sb);
+ strbuf_addf(&sb, "submodule.%s.url", sub->name);
+ git_config_get_string(sb.buf, &url);
+ if (!url) {
+ next_submodule_warn_missing(suc, out, displaypath);
+ goto cleanup;
+ }
+
+ strbuf_reset(&sb);
+ strbuf_addf(&sb, "%s/.git", ce->name);
+ needs_cloning = !file_exists(sb.buf);
+
+ strbuf_reset(&sb);
+ strbuf_addf(&sb, "%06o %s %d %d\t%s\n", ce->ce_mode,
+ sha1_to_hex(ce->sha1), ce_stage(ce),
+ needs_cloning, ce->name);
+ string_list_append(&suc->projectlines, sb.buf);
+
+ if (!needs_cloning)
+ goto cleanup;
+
+ child->git_cmd = 1;
+ child->no_stdin = 1;
+ child->stdout_to_stderr = 1;
+ child->err = -1;
+ argv_array_push(&child->args, "submodule--helper");
+ argv_array_push(&child->args, "clone");
+ if (suc->quiet)
+ argv_array_push(&child->args, "--quiet");
+ if (suc->prefix)
+ argv_array_pushl(&child->args, "--prefix", suc->prefix, NULL);
+ argv_array_pushl(&child->args, "--path", sub->path, NULL);
+ argv_array_pushl(&child->args, "--name", sub->name, NULL);
+ argv_array_pushl(&child->args, "--url", url, NULL);
+ if (suc->reference)
+ argv_array_push(&child->args, suc->reference);
+ if (suc->depth)
+ argv_array_push(&child->args, suc->depth);
+
+cleanup:
+ free(url);
+ strbuf_reset(&displaypath_sb);
+ strbuf_reset(&sb);
+
+ return needs_cloning;
+}
+
+static int update_clone_get_next_task(struct child_process *child,
+ struct strbuf *err,
+ void *suc_cb,
+ void **void_task_cb)
+{
+ struct submodule_update_clone *suc = suc_cb;
+
+ for (; suc->current < suc->list.nr; suc->current++) {
+ const struct cache_entry *ce = suc->list.entries[suc->current];
+ if (prepare_to_clone_next_submodule(ce, child, suc, err)) {
+ suc->current++;
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static int update_clone_start_failure(struct strbuf *err,
+ void *suc_cb,
+ void *void_task_cb)
+{
+ struct submodule_update_clone *suc = suc_cb;
+ suc->quickstop = 1;
+ return 1;
+}
+
+static int update_clone_task_finished(int result,
+ struct strbuf *err,
+ void *suc_cb,
+ void *void_task_cb)
+{
+ struct submodule_update_clone *suc = suc_cb;
+
+ if (!result)
+ return 0;
+
+ suc->quickstop = 1;
+ return 1;
+}
+
+static int update_clone(int argc, const char **argv, const char *prefix)
+{
+ const char *update = NULL;
+ int max_jobs = -1;
+ struct string_list_item *item;
+ struct pathspec pathspec;
+ struct submodule_update_clone suc = SUBMODULE_UPDATE_CLONE_INIT;
+
+ struct option module_update_clone_options[] = {
+ OPT_STRING(0, "prefix", &prefix,
+ N_("path"),
+ N_("path into the working tree")),
+ OPT_STRING(0, "recursive-prefix", &suc.recursive_prefix,
+ N_("path"),
+ N_("path into the working tree, across nested "
+ "submodule boundaries")),
+ OPT_STRING(0, "update", &update,
+ N_("string"),
+ N_("rebase, merge, checkout or none")),
+ OPT_STRING(0, "reference", &suc.reference, N_("repo"),
+ N_("reference repository")),
+ OPT_STRING(0, "depth", &suc.depth, "<depth>",
+ N_("Create a shallow clone truncated to the "
+ "specified number of revisions")),
+ OPT_INTEGER('j', "jobs", &max_jobs,
+ N_("parallel jobs")),
+ OPT__QUIET(&suc.quiet, N_("don't print cloning progress")),
+ OPT_END()
+ };
+
+ const char *const git_submodule_helper_usage[] = {
+ N_("git submodule--helper update_clone [--prefix=<path>] [<path>...]"),
+ NULL
+ };
+ suc.prefix = prefix;
+
+ argc = parse_options(argc, argv, prefix, module_update_clone_options,
+ git_submodule_helper_usage, 0);
+
+ if (update)
+ if (parse_submodule_update_strategy(update, &suc.update) < 0)
+ die(_("bad value for update parameter"));
+
+ if (module_list_compute(argc, argv, prefix, &pathspec, &suc.list) < 0)
+ return 1;
+
+ if (pathspec.nr)
+ suc.warn_if_uninitialized = 1;
+
+ /* Overlay the parsed .gitmodules file with .git/config */
+ gitmodules_config();
+ git_config(submodule_config, NULL);
+
+ if (max_jobs < 0)
+ max_jobs = parallel_submodules();
+
+ run_processes_parallel(max_jobs,
+ update_clone_get_next_task,
+ update_clone_start_failure,
+ update_clone_task_finished,
+ &suc);
+
+ /*
+ * We saved the output and put it out all at once now.
+ * That means:
+ * - the listener does not have to interleave their (checkout)
+ * work with our fetching. The writes involved in a
+ * checkout involve more straightforward sequential I/O.
+ * - the listener can avoid doing any work if fetching failed.
+ */
+ if (suc.quickstop)
+ return 1;
+
+ for_each_string_list_item(item, &suc.projectlines)
+ utf8_fprintf(stdout, "%s", item->string);
+
+ return 0;
+}
+
struct cmd_struct {
const char *cmd;
int (*fn)(int, const char **, const char *);
@@ -269,19 +842,23 @@ static struct cmd_struct commands[] = {
{"list", module_list},
{"name", module_name},
{"clone", module_clone},
+ {"update-clone", update_clone},
+ {"resolve-relative-url", resolve_relative_url},
+ {"resolve-relative-url-test", resolve_relative_url_test},
+ {"init", module_init}
};
int cmd_submodule__helper(int argc, const char **argv, const char *prefix)
{
int i;
if (argc < 2)
- die(_("fatal: submodule--helper subcommand must be "
+ die(_("submodule--helper subcommand must be "
"called with a subcommand"));
for (i = 0; i < ARRAY_SIZE(commands); i++)
if (!strcmp(argv[1], commands[i].cmd))
return commands[i].fn(argc - 1, argv + 1, prefix);
- die(_("fatal: '%s' is not a valid submodule--helper "
+ die(_("'%s' is not a valid submodule--helper "
"subcommand"), argv[1]);
}
diff --git a/builtin/tag.c b/builtin/tag.c
index 1705c94665..50e4ae5678 100644
--- a/builtin/tag.c
+++ b/builtin/tag.c
@@ -29,6 +29,7 @@ static const char * const git_tag_usage[] = {
};
static unsigned int colopts;
+static int force_sign_annotate;
static int list_tags(struct ref_filter *filter, struct ref_sorting *sorting, const char *format)
{
@@ -104,13 +105,7 @@ static int delete_tag(const char *name, const char *ref,
static int verify_tag(const char *name, const char *ref,
const unsigned char *sha1)
{
- const char *argv_verify_tag[] = {"verify-tag",
- "-v", "SHA1_HEX", NULL};
- argv_verify_tag[2] = sha1_to_hex(sha1);
-
- if (run_command_v_opt(argv_verify_tag, RUN_GIT_CMD))
- return error(_("could not verify the tag '%s'"), name);
- return 0;
+ return gpg_verify_tag(sha1, name, GPG_VERIFY_VERBOSE);
}
static int do_sign(struct strbuf *buffer)
@@ -166,6 +161,11 @@ static int git_tag_config(const char *var, const char *value, void *cb)
status = git_gpg_config(var, value, cb);
if (status)
return status;
+ if (!strcmp(var, "tag.forcesignannotated")) {
+ force_sign_annotate = git_config_bool(var, value);
+ return 0;
+ }
+
if (starts_with(var, "column."))
return git_column_config(var, value, "tag", &colopts);
return git_default_config(var, value, cb);
@@ -327,7 +327,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
char *cleanup_arg = NULL;
int create_reflog = 0;
int annotate = 0, force = 0;
- int cmdmode = 0;
+ int cmdmode = 0, create_tag_object = 0;
const char *msgfile = NULL, *keyid = NULL;
struct msg_arg msg = { 0, STRBUF_INIT };
struct ref_transaction *transaction;
@@ -385,12 +385,12 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
opt.sign = 1;
set_signing_key(keyid);
}
- if (opt.sign)
- annotate = 1;
+ create_tag_object = (opt.sign || annotate || msg.given || msgfile);
+
if (argc == 0 && !cmdmode)
cmdmode = 'l';
- if ((annotate || msg.given || msgfile || force) && (cmdmode != 0))
+ if ((create_tag_object || force) && (cmdmode != 0))
usage_with_options(git_tag_usage, options);
finalize_colopts(&colopts, -1);
@@ -431,7 +431,6 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
if (msg.given || msgfile) {
if (msg.given && msgfile)
die(_("only one -F or -m option is allowed."));
- annotate = 1;
if (msg.given)
strbuf_addbuf(&buf, &(msg.buf));
else {
@@ -474,8 +473,11 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
else
die(_("Invalid cleanup mode %s"), cleanup_arg);
- if (annotate)
+ if (create_tag_object) {
+ if (force_sign_annotate && !annotate)
+ opt.sign = 1;
create_tag(object, tag, &buf, &opt, prev, object);
+ }
transaction = ref_transaction_begin(&err);
if (!transaction ||
diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c
index 00663f6a30..99f8148cf7 100644
--- a/builtin/verify-tag.c
+++ b/builtin/verify-tag.c
@@ -18,55 +18,6 @@ static const char * const verify_tag_usage[] = {
NULL
};
-static int run_gpg_verify(const char *buf, unsigned long size, unsigned flags)
-{
- struct signature_check sigc;
- int len;
- int ret;
-
- memset(&sigc, 0, sizeof(sigc));
-
- len = parse_signature(buf, size);
-
- if (size == len) {
- if (flags & GPG_VERIFY_VERBOSE)
- write_in_full(1, buf, len);
- return error("no signature found");
- }
-
- ret = check_signature(buf, len, buf + len, size - len, &sigc);
- print_signature_buffer(&sigc, flags);
-
- signature_check_clear(&sigc);
- return ret;
-}
-
-static int verify_tag(const char *name, unsigned flags)
-{
- enum object_type type;
- unsigned char sha1[20];
- char *buf;
- unsigned long size;
- int ret;
-
- if (get_sha1(name, sha1))
- return error("tag '%s' not found.", name);
-
- type = sha1_object_info(sha1, NULL);
- if (type != OBJ_TAG)
- return error("%s: cannot verify a non-tag object of type %s.",
- name, typename(type));
-
- buf = read_sha1_file(sha1, &type, &size);
- if (!buf)
- return error("%s: unable to read file.", name);
-
- ret = run_gpg_verify(buf, size, flags);
-
- free(buf);
- return ret;
-}
-
static int git_verify_tag_config(const char *var, const char *value, void *cb)
{
int status = git_gpg_config(var, value, cb);
@@ -95,11 +46,13 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
if (verbose)
flags |= GPG_VERIFY_VERBOSE;
- /* sometimes the program was terminated because this signal
- * was received in the process of writing the gpg input: */
- signal(SIGPIPE, SIG_IGN);
- while (i < argc)
- if (verify_tag(argv[i++], flags))
+ while (i < argc) {
+ unsigned char sha1[20];
+ const char *name = argv[i++];
+ if (get_sha1(name, sha1))
+ had_error = !!error("tag '%s' not found.", name);
+ else if (gpg_verify_tag(sha1, name, flags))
had_error = 1;
+ }
return had_error;
}
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 20cf67a549..d8e3795dc4 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -21,6 +21,7 @@ static const char * const worktree_usage[] = {
struct add_opts {
int force;
int detach;
+ int checkout;
const char *new_branch;
int force_new_branch;
};
@@ -52,7 +53,7 @@ static int prune_worktree(const char *id, struct strbuf *reason)
return 1;
}
len = st.st_size;
- path = xmalloc(len + 1);
+ path = xmallocz(len);
read_in_full(fd, path, len);
close(fd);
while (len && (path[len - 1] == '\n' || path[len - 1] == '\r'))
@@ -284,18 +285,22 @@ static int add_worktree(const char *path, const char *refname,
if (ret)
goto done;
- cp.argv = NULL;
- argv_array_clear(&cp.args);
- argv_array_pushl(&cp.args, "reset", "--hard", NULL);
- cp.env = child_env.argv;
- ret = run_command(&cp);
- if (!ret) {
- is_junk = 0;
- free(junk_work_tree);
- free(junk_git_dir);
- junk_work_tree = NULL;
- junk_git_dir = NULL;
+ if (opts->checkout) {
+ cp.argv = NULL;
+ argv_array_clear(&cp.args);
+ argv_array_pushl(&cp.args, "reset", "--hard", NULL);
+ cp.env = child_env.argv;
+ ret = run_command(&cp);
+ if (ret)
+ goto done;
}
+
+ is_junk = 0;
+ free(junk_work_tree);
+ free(junk_git_dir);
+ junk_work_tree = NULL;
+ junk_git_dir = NULL;
+
done:
strbuf_reset(&sb);
strbuf_addf(&sb, "%s/locked", sb_repo.buf);
@@ -320,10 +325,12 @@ static int add(int ac, const char **av, const char *prefix)
OPT_STRING('B', NULL, &new_branch_force, N_("branch"),
N_("create or reset a branch")),
OPT_BOOL(0, "detach", &opts.detach, N_("detach HEAD at named commit")),
+ OPT_BOOL(0, "checkout", &opts.checkout, N_("populate the new working tree")),
OPT_END()
};
memset(&opts, 0, sizeof(opts));
+ opts.checkout = 1;
ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
if (!!opts.detach + !!opts.new_branch + !!new_branch_force > 1)
die(_("-b, -B, and --detach are mutually exclusive"));
diff --git a/bundle.c b/bundle.c
index 506ac49691..bbf4efa0a0 100644
--- a/bundle.c
+++ b/bundle.c
@@ -435,12 +435,14 @@ int create_bundle(struct bundle_header *header, const char *path,
/* write prerequisites */
if (compute_and_write_prerequisites(bundle_fd, &revs, argc, argv))
- return -1;
+ goto err;
argc = setup_revisions(argc, argv, &revs, NULL);
- if (argc > 1)
- return error(_("unrecognized argument: %s"), argv[1]);
+ if (argc > 1) {
+ error(_("unrecognized argument: %s"), argv[1]);
+ goto err;
+ }
object_array_remove_duplicates(&revs.pending);
@@ -448,17 +450,26 @@ int create_bundle(struct bundle_header *header, const char *path,
if (!ref_count)
die(_("Refusing to create empty bundle."));
else if (ref_count < 0)
- return -1;
+ goto err;
/* write pack */
- if (write_pack_data(bundle_fd, &revs))
- return -1;
+ if (write_pack_data(bundle_fd, &revs)) {
+ bundle_fd = -1; /* already closed by the above call */
+ goto err;
+ }
if (!bundle_to_stdout) {
if (commit_lock_file(&lock))
die_errno(_("cannot create '%s'"), path);
}
return 0;
+err:
+ if (!bundle_to_stdout) {
+ if (0 <= bundle_fd)
+ close(bundle_fd);
+ rollback_lock_file(&lock);
+ }
+ return -1;
}
int unbundle(struct bundle_header *header, int bundle_fd, int flags)
diff --git a/cache-tree.c b/cache-tree.c
index 20ee7b52df..ddf0cc9f9a 100644
--- a/cache-tree.c
+++ b/cache-tree.c
@@ -79,11 +79,9 @@ static struct cache_tree_sub *find_subtree(struct cache_tree *it,
ALLOC_GROW(it->down, it->subtree_nr + 1, it->subtree_alloc);
it->subtree_nr++;
- down = xmalloc(sizeof(*down) + pathlen + 1);
+ FLEX_ALLOC_MEM(down, name, path, pathlen);
down->cache_tree = NULL;
down->namelen = pathlen;
- memcpy(down->name, path, pathlen);
- down->name[pathlen] = 0;
if (pos < it->subtree_nr)
memmove(it->down + pos + 1,
@@ -665,7 +663,7 @@ static void prime_cache_tree_rec(struct cache_tree *it, struct tree *tree)
cnt++;
else {
struct cache_tree_sub *sub;
- struct tree *subtree = lookup_tree(entry.sha1);
+ struct tree *subtree = lookup_tree(entry.oid->hash);
if (!subtree->object.parsed)
parse_tree(subtree);
sub = cache_tree_sub(it, entry.path);
@@ -712,7 +710,7 @@ int cache_tree_matches_traversal(struct cache_tree *root,
it = find_cache_tree_from_traversal(root, info);
it = cache_tree_find(it, ent->path);
- if (it && it->entry_count > 0 && !hashcmp(ent->sha1, it->sha1))
+ if (it && it->entry_count > 0 && !hashcmp(ent->oid->hash, it->sha1))
return it->entry_count;
return 0;
}
diff --git a/cache.h b/cache.h
index 83b688cca6..eddf3e8b0c 100644
--- a/cache.h
+++ b/cache.h
@@ -651,10 +651,10 @@ extern int prefer_symlink_refs;
extern int log_all_ref_updates;
extern int warn_ambiguous_refs;
extern int warn_on_object_refname_ambiguity;
-extern int shared_repository;
extern const char *apply_default_whitespace;
extern const char *apply_default_ignorewhitespace;
extern const char *git_attributes_file;
+extern const char *git_hooks_path;
extern int zlib_compression_level;
extern int core_compression_level;
extern int core_compression_seen;
@@ -664,6 +664,9 @@ extern size_t delta_base_cache_limit;
extern unsigned long big_file_threshold;
extern unsigned long pack_size_limit_cfg;
+void set_shared_repository(int value);
+int get_shared_repository(void);
+
/*
* Do replace refs need to be checked this run? This variable is
* initialized to true unless --no-replace-object is used or
@@ -745,9 +748,39 @@ extern int grafts_replace_parents;
*/
#define GIT_REPO_VERSION 0
#define GIT_REPO_VERSION_READ 1
-extern int repository_format_version;
extern int repository_format_precious_objects;
-extern int check_repository_format(void);
+
+struct repository_format {
+ int version;
+ int precious_objects;
+ int is_bare;
+ char *work_tree;
+ struct string_list unknown_extensions;
+};
+
+/*
+ * Read the repository format characteristics from the config file "path" into
+ * "format" struct. Returns the numeric version. On error, -1 is returned,
+ * format->version is set to -1, and all other fields in the struct are
+ * undefined.
+ */
+int read_repository_format(struct repository_format *format, const char *path);
+
+/*
+ * Verify that the repository described by repository_format is something we
+ * can read. If it is, return 0. Otherwise, return -1, and "err" will describe
+ * any errors encountered.
+ */
+int verify_repository_format(const struct repository_format *format,
+ struct strbuf *err);
+
+/*
+ * Check the repository format version in the path found in get_git_dir(),
+ * and die if it is a version we don't understand. Generally one would
+ * set_git_dir() before calling this, and use it only for "are we in a valid
+ * repo?".
+ */
+extern void check_repository_format(void);
#define MTIME_CHANGED 0x0001
#define CTIME_CHANGED 0x0002
@@ -926,8 +959,6 @@ static inline int is_empty_blob_sha1(const unsigned char *sha1)
int git_mkstemp(char *path, size_t n, const char *template);
-int git_mkstemps(char *path, size_t n, const char *template, int suffix_len);
-
/* set default permissions by passing mode arguments to open(2) */
int git_mkstemps_mode(char *pattern, int suffix_len, int mode);
int git_mkstemp_mode(char *pattern, int mode);
@@ -1124,6 +1155,8 @@ extern int get_sha1_blob(const char *str, unsigned char *sha1);
extern void maybe_die_on_misspelt_object_name(const char *name, const char *prefix);
extern int get_sha1_with_context(const char *str, unsigned flags, unsigned char *sha1, struct object_context *orc);
+extern int get_oid(const char *str, struct object_id *oid);
+
typedef int each_abbrev_fn(const unsigned char *sha1, void *);
extern int for_each_abbrev(const char *prefix, each_abbrev_fn, void *);
@@ -1370,6 +1403,16 @@ extern void clear_delta_base_cache(void);
extern struct packed_git *add_packed_git(const char *path, size_t path_len, int local);
/*
+ * Make sure that a pointer access into an mmap'd index file is within bounds,
+ * and can provide at least 8 bytes of data.
+ *
+ * Note that this is only necessary for variable-length segments of the file
+ * (like the 64-bit extended offset table), as we compare the size to the
+ * fixed-length parts when we open the file.
+ */
+extern void check_pack_index_ptr(const struct packed_git *p, const void *ptr);
+
+/*
* Return the SHA-1 of the nth object within the specified packfile.
* Open the index if it is not already open. The return value points
* at the SHA-1 within the mmapped index. Return NULL if there is an
@@ -1489,7 +1532,7 @@ extern int update_server_info(int);
/* git_config_parse_key() returns these negated: */
#define CONFIG_INVALID_KEY 1
#define CONFIG_NO_SECTION_OR_NAME 2
-/* git_config_set(), git_config_set_multivar() return the above or these: */
+/* git_config_set_gently(), git_config_set_multivar_gently() return the above or these: */
#define CONFIG_NO_LOCK -1
#define CONFIG_INVALID_FILE 3
#define CONFIG_NO_WRITE 4
@@ -1508,15 +1551,14 @@ struct git_config_source {
typedef int (*config_fn_t)(const char *, const char *, void *);
extern int git_default_config(const char *, const char *, void *);
extern int git_config_from_file(config_fn_t fn, const char *, void *);
-extern int git_config_from_buf(config_fn_t fn, const char *name,
- const char *buf, size_t len, void *data);
+extern int git_config_from_mem(config_fn_t fn, const char *origin_type,
+ const char *name, const char *buf, size_t len, void *data);
extern void git_config_push_parameter(const char *text);
extern int git_config_from_parameters(config_fn_t fn, void *data);
extern void git_config(config_fn_t fn, void *);
extern int git_config_with_options(config_fn_t fn, void *,
struct git_config_source *config_source,
int respect_includes);
-extern int git_config_early(config_fn_t fn, void *, const char *repo_config);
extern int git_parse_ulong(const char *, unsigned long *);
extern int git_parse_maybe_bool(const char *);
extern int git_config_int(const char *, const char *);
@@ -1527,16 +1569,19 @@ extern int git_config_bool(const char *, const char *);
extern int git_config_maybe_bool(const char *, const char *);
extern int git_config_string(const char **, const char *, const char *);
extern int git_config_pathname(const char **, const char *, const char *);
-extern int git_config_set_in_file(const char *, const char *, const char *);
-extern int git_config_set(const char *, const char *);
+extern int git_config_set_in_file_gently(const char *, const char *, const char *);
+extern void git_config_set_in_file(const char *, const char *, const char *);
+extern int git_config_set_gently(const char *, const char *);
+extern void git_config_set(const char *, const char *);
extern int git_config_parse_key(const char *, char **, int *);
extern int git_config_key_is_valid(const char *key);
-extern int git_config_set_multivar(const char *, const char *, const char *, int);
-extern int git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int);
+extern int git_config_set_multivar_gently(const char *, const char *, const char *, int);
+extern void git_config_set_multivar(const char *, const char *, const char *, int);
+extern int git_config_set_multivar_in_file_gently(const char *, const char *, const char *, const char *, int);
+extern void git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int);
extern int git_config_rename_section(const char *, const char *);
extern int git_config_rename_section_in_file(const char *, const char *, const char *);
extern const char *git_etc_gitconfig(void);
-extern int check_repository_format_version(const char *var, const char *value, void *cb);
extern int git_env_bool(const char *, int);
extern unsigned long git_env_ulong(const char *, unsigned long);
extern int git_config_system(void);
@@ -1548,6 +1593,8 @@ extern const char *get_log_output_encoding(void);
extern const char *get_commit_output_encoding(void);
extern int git_config_parse_parameter(const char *, config_fn_t fn, void *data);
+extern const char *current_config_origin_type(void);
+extern const char *current_config_name(void);
struct config_include_data {
int depth;
@@ -1720,8 +1767,8 @@ int add_files_to_cache(const char *prefix, const struct pathspec *pathspec, int
extern int diff_auto_refresh_index;
/* match-trees.c */
-void shift_tree(const unsigned char *, const unsigned char *, unsigned char *, int);
-void shift_tree_by(const unsigned char *, const unsigned char *, unsigned char *, const char *);
+void shift_tree(const struct object_id *, const struct object_id *, struct object_id *, int);
+void shift_tree_by(const struct object_id *, const struct object_id *, struct object_id *, const char *);
/*
* whitespace rules.
@@ -1755,7 +1802,7 @@ int split_cmdline(char *cmdline, const char ***argv);
/* Takes a negative value returned by split_cmdline */
const char *split_cmdline_strerror(int cmdline_errno);
-/* git.c */
+/* setup.c */
struct startup_info {
int have_repository;
const char *prefix;
diff --git a/column.c b/column.c
index 786abe62b0..d55ead18ef 100644
--- a/column.c
+++ b/column.c
@@ -164,7 +164,7 @@ static void display_table(const struct string_list *list,
data.colopts = colopts;
data.opts = *opts;
- data.len = xmalloc(sizeof(*data.len) * list->nr);
+ ALLOC_ARRAY(data.len, list->nr);
for (i = 0; i < list->nr; i++)
data.len[i] = item_length(colopts, list->items[i].string);
@@ -173,9 +173,8 @@ static void display_table(const struct string_list *list,
if (colopts & COL_DENSE)
shrink_columns(&data);
- empty_cell = xmalloc(initial_width + 1);
+ empty_cell = xmallocz(initial_width);
memset(empty_cell, ' ', initial_width);
- empty_cell[initial_width] = '\0';
for (y = 0; y < data.rows; y++) {
for (x = 0; x < data.cols; x++)
if (display_cell(&data, initial_width, empty_cell, x, y))
diff --git a/combine-diff.c b/combine-diff.c
index 55713049a4..0e1d4b0893 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -189,11 +189,11 @@ static struct lline *coalesce_lines(struct lline *base, int *lenbase,
* - Else if we have NEW, insert newend lline into base and
* consume newend
*/
- lcs = xcalloc(origbaselen + 1, sizeof(int*));
- directions = xcalloc(origbaselen + 1, sizeof(enum coalesce_direction*));
+ lcs = xcalloc(st_add(origbaselen, 1), sizeof(int*));
+ directions = xcalloc(st_add(origbaselen, 1), sizeof(enum coalesce_direction*));
for (i = 0; i < origbaselen + 1; i++) {
- lcs[i] = xcalloc(lennew + 1, sizeof(int));
- directions[i] = xcalloc(lennew + 1, sizeof(enum coalesce_direction));
+ lcs[i] = xcalloc(st_add(lennew, 1), sizeof(int));
+ directions[i] = xcalloc(st_add(lennew, 1), sizeof(enum coalesce_direction));
directions[i][0] = BASE;
}
for (j = 1; j < lennew + 1; j++)
@@ -319,7 +319,7 @@ static void append_lost(struct sline *sline, int n, const char *line, int len)
if (line[len-1] == '\n')
len--;
- lline = xmalloc(sizeof(*lline) + len + 1);
+ FLEX_ALLOC_MEM(lline, line, line, len);
lline->len = len;
lline->next = NULL;
lline->prev = sline->plost.lost_tail;
@@ -330,8 +330,6 @@ static void append_lost(struct sline *sline, int n, const char *line, int len)
sline->plost.lost_tail = lline;
sline->plost.len++;
lline->parent_map = this_mask;
- memcpy(lline->line, line, len);
- lline->line[len] = 0;
}
struct combine_diff_state {
@@ -1043,7 +1041,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
elem->mode = canon_mode(S_IFLNK);
result_size = len;
- result = xmalloc(len + 1);
+ result = xmallocz(len);
done = read_in_full(fd, result, len);
if (done < 0)
@@ -1051,8 +1049,6 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
else if (done < len)
die("early EOF '%s'", elem->path);
- result[len] = 0;
-
/* If not a fake symlink, apply filters, e.g. autocrlf */
if (is_file) {
struct strbuf buf = STRBUF_INIT;
@@ -1115,7 +1111,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
if (result_size && result[result_size-1] != '\n')
cnt++; /* incomplete line */
- sline = xcalloc(cnt+2, sizeof(*sline));
+ sline = xcalloc(st_add(cnt, 2), sizeof(*sline));
sline[0].bol = result;
for (lno = 0, cp = result; cp < result + result_size; cp++) {
if (*cp == '\n') {
@@ -1134,7 +1130,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
/* Even p_lno[cnt+1] is valid -- that is for the end line number
* for deletion hunk at the end.
*/
- sline[0].p_lno = xcalloc((cnt+2) * num_parent, sizeof(unsigned long));
+ sline[0].p_lno = xcalloc(st_mult(st_add(cnt, 2), num_parent), sizeof(unsigned long));
for (lno = 0; lno <= cnt; lno++)
sline[lno+1].p_lno = sline[lno].p_lno + num_parent;
@@ -1266,7 +1262,7 @@ static struct diff_filepair *combined_pair(struct combine_diff_path *p,
struct diff_filespec *pool;
pair = xmalloc(sizeof(*pair));
- pool = xcalloc(num_parent + 1, sizeof(struct diff_filespec));
+ pool = xcalloc(st_add(num_parent, 1), sizeof(struct diff_filespec));
pair->one = pool + 1;
pair->two = pool;
@@ -1372,7 +1368,7 @@ static struct combine_diff_path *find_paths_multitree(
struct combine_diff_path paths_head;
struct strbuf base;
- parents_sha1 = xmalloc(nparent * sizeof(parents_sha1[0]));
+ ALLOC_ARRAY(parents_sha1, nparent);
for (i = 0; i < nparent; i++)
parents_sha1[i] = parents->sha1[i];
@@ -1483,7 +1479,7 @@ void diff_tree_combined(const unsigned char *sha1,
if (opt->orderfile && num_paths) {
struct obj_order *o;
- o = xmalloc(sizeof(*o) * num_paths);
+ ALLOC_ARRAY(o, num_paths);
for (i = 0, p = paths; p; p = p->next, i++)
o[i].obj = p;
order_objects(opt->orderfile, path_path, o, num_paths);
diff --git a/commit.c b/commit.c
index 40388d71e7..3f4f371e5e 100644
--- a/commit.c
+++ b/commit.c
@@ -147,7 +147,7 @@ struct commit_graft *read_graft_line(char *buf, int len)
if ((len + 1) % entry_size)
goto bad_graft_data;
i = (len + 1) / entry_size - 1;
- graft = xmalloc(sizeof(*graft) + GIT_SHA1_RAWSZ * i);
+ graft = xmalloc(st_add(sizeof(*graft), st_mult(GIT_SHA1_RAWSZ, i)));
graft->nr_parent = i;
if (get_oid_hex(buf, &graft->oid))
goto bad_graft_data;
@@ -903,7 +903,7 @@ static int remove_redundant(struct commit **array, int cnt)
work = xcalloc(cnt, sizeof(*work));
redundant = xcalloc(cnt, 1);
- filled_index = xmalloc(sizeof(*filled_index) * (cnt - 1));
+ ALLOC_ARRAY(filled_index, cnt - 1);
for (i = 0; i < cnt; i++)
parse_commit(array[i]);
diff --git a/commit.h b/commit.h
index 5d58be0017..b06db4d5d9 100644
--- a/commit.h
+++ b/commit.h
@@ -147,6 +147,7 @@ struct pretty_print_context {
int preserve_subject;
struct date_mode date_mode;
unsigned date_mode_explicit:1;
+ int expand_tabs_in_log;
int need_8bit_cte;
char *notes_message;
struct reflog_walk_info *reflog_info;
diff --git a/compat/apple-common-crypto.h b/compat/apple-common-crypto.h
index d3fb264181..11727f3e1e 100644
--- a/compat/apple-common-crypto.h
+++ b/compat/apple-common-crypto.h
@@ -3,12 +3,18 @@
#define HEADER_HMAC_H
#define HEADER_SHA_H
#include <CommonCrypto/CommonHMAC.h>
-#define HMAC_CTX CCHmacContext
-#define HMAC_Init(hmac, key, len, algo) CCHmacInit(hmac, algo, key, len)
-#define HMAC_Update CCHmacUpdate
-#define HMAC_Final(hmac, hash, ptr) CCHmacFinal(hmac, hash)
-#define HMAC_CTX_cleanup(ignore)
#define EVP_md5(...) kCCHmacAlgMD5
+/* CCHmac doesn't take md_len and the return type is void */
+#define HMAC git_CC_HMAC
+static inline unsigned char *git_CC_HMAC(CCHmacAlgorithm alg,
+ const void *key, int key_len,
+ const unsigned char *data, size_t data_len,
+ unsigned char *md, unsigned int *md_len)
+{
+ CCHmac(alg, key, key_len, data, data_len, md);
+ return md;
+}
+
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
#define APPLE_LION_OR_NEWER
#include <Security/Security.h>
diff --git a/compat/mingw.c b/compat/mingw.c
index fbe69b874b..0413d5c3cd 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -763,15 +763,12 @@ struct tm *localtime_r(const time_t *timep, struct tm *result)
char *mingw_getcwd(char *pointer, int len)
{
- int i;
wchar_t wpointer[MAX_PATH];
if (!_wgetcwd(wpointer, ARRAY_SIZE(wpointer)))
return NULL;
if (xwcstoutf(pointer, wpointer, len) < 0)
return NULL;
- for (i = 0; pointer[i]; i++)
- if (pointer[i] == '\\')
- pointer[i] = '/';
+ convert_slashes(pointer);
return pointer;
}
@@ -810,7 +807,7 @@ static const char *quote_arg(const char *arg)
return arg;
/* insert \ where necessary */
- d = q = xmalloc(len+n+3);
+ d = q = xmalloc(st_add3(len, n, 3));
*d++ = '"';
while (*arg) {
if (*arg == '"')
@@ -893,7 +890,7 @@ static char **get_path_split(void)
if (!n)
return NULL;
- path = xmalloc((n+1)*sizeof(char *));
+ ALLOC_ARRAY(path, n + 1);
p = envpath;
i = 0;
do {
@@ -978,7 +975,7 @@ static wchar_t *make_environment_block(char **deltaenv)
i++;
/* copy the environment, leaving space for changes */
- tmpenv = xmalloc((size + i) * sizeof(char*));
+ ALLOC_ARRAY(tmpenv, size + i);
memcpy(tmpenv, environ, size * sizeof(char*));
/* merge supplied environment changes into the temporary environment */
@@ -1069,7 +1066,7 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen
free(quoted);
}
- wargs = xmalloc((2 * args.len + 1) * sizeof(wchar_t));
+ ALLOC_ARRAY(wargs, st_add(st_mult(2, args.len), 1));
xutftowcs(wargs, args.buf, 2 * args.len + 1);
strbuf_release(&args);
@@ -1168,7 +1165,7 @@ static int try_shell_exec(const char *cmd, char *const *argv)
int argc = 0;
const char **argv2;
while (argv[argc]) argc++;
- argv2 = xmalloc(sizeof(*argv) * (argc+1));
+ ALLOC_ARRAY(argv2, argc + 1);
argv2[0] = (char *)cmd; /* full path to the script file */
memcpy(&argv2[1], &argv[1], sizeof(*argv) * argc);
pid = mingw_spawnv(prog, argv2, 1);
@@ -2112,9 +2109,7 @@ static void setup_windows_environment()
* executable (by not mistaking the dir separators
* for escape characters).
*/
- for (; *tmp; tmp++)
- if (*tmp == '\\')
- *tmp = '/';
+ convert_slashes(tmp);
}
/* simulate TERM to enable auto-color (see color.c) */
diff --git a/compat/mingw.h b/compat/mingw.h
index 8c5bf5076b..1de70ffd62 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -396,11 +396,17 @@ static inline char *mingw_find_last_dir_sep(const char *path)
ret = (char *)path;
return ret;
}
+static inline void convert_slashes(char *path)
+{
+ for (; *path; path++)
+ if (*path == '\\')
+ *path = '/';
+}
#define find_last_dir_sep mingw_find_last_dir_sep
int mingw_offset_1st_component(const char *path);
#define offset_1st_component mingw_offset_1st_component
#define PATH_SEP ';'
-#ifndef __MINGW64_VERSION_MAJOR
+#if !defined(__MINGW64_VERSION_MAJOR) && (!defined(_MSC_VER) || _MSC_VER < 1800)
#define PRIuMAX "I64u"
#define PRId64 "I64d"
#else
diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c
index 079070ff1d..4293b53b17 100644
--- a/compat/precompose_utf8.c
+++ b/compat/precompose_utf8.c
@@ -50,7 +50,8 @@ void probe_utf8_pathname_composition(void)
close(output_fd);
git_path_buf(&path, "%s", auml_nfd);
precomposed_unicode = access(path.buf, R_OK) ? 0 : 1;
- git_config_set("core.precomposeunicode", precomposed_unicode ? "true" : "false");
+ git_config_set("core.precomposeunicode",
+ precomposed_unicode ? "true" : "false");
git_path_buf(&path, "%s", auml_nfc);
if (unlink(path.buf))
die_errno(_("failed to unlink '%s'"), path.buf);
@@ -146,7 +147,7 @@ struct dirent_prec_psx *precompose_utf8_readdir(PREC_DIR *prec_dir)
if (errno || inleft) {
/*
* iconv() failed and errno could be E2BIG, EILSEQ, EINVAL, EBADF
- * MacOS X avoids illegal byte sequemces.
+ * MacOS X avoids illegal byte sequences.
* If they occur on a mounted drive (e.g. NFS) it is not worth to
* die() for that, but rather let the user see the original name
*/
diff --git a/compat/qsort.c b/compat/qsort.c
index 9574d537bd..7d071afb70 100644
--- a/compat/qsort.c
+++ b/compat/qsort.c
@@ -47,7 +47,7 @@ static void msort_with_tmp(void *b, size_t n, size_t s,
void git_qsort(void *b, size_t n, size_t s,
int (*cmp)(const void *, const void *))
{
- const size_t size = n * s;
+ const size_t size = st_mult(n, s);
char buf[1024];
if (size < sizeof(buf)) {
diff --git a/compat/setenv.c b/compat/setenv.c
index fc1439a643..7849f258d2 100644
--- a/compat/setenv.c
+++ b/compat/setenv.c
@@ -18,7 +18,7 @@ int gitsetenv(const char *name, const char *value, int replace)
namelen = strlen(name);
valuelen = strlen(value);
- envstr = malloc((namelen + valuelen + 2));
+ envstr = malloc(st_add3(namelen, valuelen, 2));
if (!envstr) {
errno = ENOMEM;
return -1;
diff --git a/compat/snprintf.c b/compat/snprintf.c
index 42ea1ac110..0b11688537 100644
--- a/compat/snprintf.c
+++ b/compat/snprintf.c
@@ -9,7 +9,7 @@
* always have room for a trailing NUL byte.
*/
#ifndef SNPRINTF_SIZE_CORR
-#if defined(WIN32) && (!defined(__GNUC__) || __GNUC__ < 4)
+#if defined(WIN32) && (!defined(__GNUC__) || __GNUC__ < 4) && (!defined(_MSC_VER) || _MSC_VER < 1900)
#define SNPRINTF_SIZE_CORR 1
#else
#define SNPRINTF_SIZE_CORR 0
diff --git a/compat/vcbuild/include/unistd.h b/compat/vcbuild/include/unistd.h
index c65c2cd566..3a959d124c 100644
--- a/compat/vcbuild/include/unistd.h
+++ b/compat/vcbuild/include/unistd.h
@@ -45,11 +45,15 @@ typedef unsigned long long uintmax_t;
typedef int64_t off64_t;
+#if !defined(_MSC_VER) || _MSC_VER < 1600
#define INTMAX_MIN _I64_MIN
#define INTMAX_MAX _I64_MAX
#define UINTMAX_MAX _UI64_MAX
#define UINT32_MAX 0xffffffff /* 4294967295U */
+#else
+#include <stdint.h>
+#endif
#define STDIN_FILENO 0
#define STDOUT_FILENO 1
diff --git a/compat/win32/pthread.h b/compat/win32/pthread.h
index 20b35a283c..b6ed9e7462 100644
--- a/compat/win32/pthread.h
+++ b/compat/win32/pthread.h
@@ -78,7 +78,7 @@ extern int win32_pthread_join(pthread_t *thread, void **value_ptr);
#define pthread_equal(t1, t2) ((t1).tid == (t2).tid)
extern pthread_t pthread_self(void);
-static inline int pthread_exit(void *ret)
+static inline void NORETURN pthread_exit(void *ret)
{
ExitThread((DWORD)(intptr_t)ret);
}
diff --git a/compat/win32/syslog.c b/compat/win32/syslog.c
index d015e436d5..b905aea31b 100644
--- a/compat/win32/syslog.c
+++ b/compat/win32/syslog.c
@@ -32,7 +32,7 @@ void syslog(int priority, const char *fmt, ...)
return;
}
- str = malloc(str_len + 1);
+ str = malloc(st_add(str_len, 1));
if (!str) {
warning("malloc failed: '%s'", strerror(errno));
return;
@@ -43,7 +43,7 @@ void syslog(int priority, const char *fmt, ...)
va_end(ap);
while ((pos = strstr(str, "%1")) != NULL) {
- str = realloc(str, ++str_len + 1);
+ str = realloc(str, st_add(++str_len, 1));
if (!str) {
warning("realloc failed: '%s'", strerror(errno));
return;
diff --git a/compat/win32mmap.c b/compat/win32mmap.c
index 80a8c9af4f..519d51f2b6 100644
--- a/compat/win32mmap.c
+++ b/compat/win32mmap.c
@@ -2,37 +2,42 @@
void *git_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset)
{
- HANDLE hmap;
+ HANDLE osfhandle, hmap;
void *temp;
- off_t len;
- struct stat st;
+ LARGE_INTEGER len;
uint64_t o = offset;
uint32_t l = o & 0xFFFFFFFF;
uint32_t h = (o >> 32) & 0xFFFFFFFF;
- if (!fstat(fd, &st))
- len = st.st_size;
- else
+ osfhandle = (HANDLE)_get_osfhandle(fd);
+ if (!GetFileSizeEx(osfhandle, &len))
die("mmap: could not determine filesize");
- if ((length + offset) > len)
- length = xsize_t(len - offset);
+ if ((length + offset) > len.QuadPart)
+ length = xsize_t(len.QuadPart - offset);
if (!(flags & MAP_PRIVATE))
die("Invalid usage of mmap when built with USE_WIN32_MMAP");
- hmap = CreateFileMapping((HANDLE)_get_osfhandle(fd), NULL,
- PAGE_WRITECOPY, 0, 0, NULL);
+ hmap = CreateFileMapping(osfhandle, NULL,
+ prot == PROT_READ ? PAGE_READONLY : PAGE_WRITECOPY, 0, 0, NULL);
- if (!hmap)
+ if (!hmap) {
+ errno = EINVAL;
return MAP_FAILED;
+ }
- temp = MapViewOfFileEx(hmap, FILE_MAP_COPY, h, l, length, start);
+ temp = MapViewOfFileEx(hmap, prot == PROT_READ ?
+ FILE_MAP_READ : FILE_MAP_COPY, h, l, length, start);
if (!CloseHandle(hmap))
warning("unable to close file mapping handle");
- return temp ? temp : MAP_FAILED;
+ if (temp)
+ return temp;
+
+ errno = GetLastError() == ERROR_COMMITMENT_LIMIT ? EFBIG : EINVAL;
+ return MAP_FAILED;
}
int git_munmap(void *start, size_t length)
diff --git a/config.c b/config.c
index 8570eec51d..13fb508777 100644
--- a/config.c
+++ b/config.c
@@ -24,6 +24,7 @@ struct config_source {
size_t pos;
} buf;
} u;
+ const char *origin_type;
const char *name;
const char *path;
int die_on_error;
@@ -107,7 +108,7 @@ static int handle_path_include(const char *path, struct config_include_data *inc
expanded = expand_user_path(path);
if (!expanded)
- return error("Could not expand include path '%s'", path);
+ return error("could not expand include path '%s'", path);
path = expanded;
/*
@@ -471,9 +472,9 @@ static int git_parse_source(config_fn_t fn, void *data)
break;
}
if (cf->die_on_error)
- die(_("bad config file line %d in %s"), cf->linenr, cf->name);
+ die(_("bad config line %d in %s %s"), cf->linenr, cf->origin_type, cf->name);
else
- return error(_("bad config file line %d in %s"), cf->linenr, cf->name);
+ return error(_("bad config line %d in %s %s"), cf->linenr, cf->origin_type, cf->name);
}
static int parse_unit_factor(const char *end, uintmax_t *val)
@@ -588,9 +589,9 @@ static void die_bad_number(const char *name, const char *value)
if (!value)
value = "";
- if (cf && cf->name)
- die(_("bad numeric config value '%s' for '%s' in %s: %s"),
- value, name, cf->name, reason);
+ if (cf && cf->origin_type && cf->name)
+ die(_("bad numeric config value '%s' for '%s' in %s %s: %s"),
+ value, name, cf->origin_type, cf->name, reason);
die(_("bad numeric config value '%s' for '%s': %s"), value, name, reason);
}
@@ -716,6 +717,9 @@ static int git_default_core_config(const char *var, const char *value)
if (!strcmp(var, "core.attributesfile"))
return git_config_pathname(&git_attributes_file, var, value);
+ if (!strcmp(var, "core.hookspath"))
+ return git_config_pathname(&git_hooks_path, var, value);
+
if (!strcmp(var, "core.bare")) {
is_bare_repository_cfg = git_config_bool(var, value);
return 0;
@@ -949,7 +953,7 @@ static int git_default_branch_config(const char *var, const char *value)
else if (!strcmp(value, "always"))
autorebase = AUTOREBASE_ALWAYS;
else
- return error("Malformed value for %s", var);
+ return error("malformed value for %s", var);
return 0;
}
@@ -975,7 +979,7 @@ static int git_default_push_config(const char *var, const char *value)
else if (!strcmp(value, "current"))
push_default = PUSH_DEFAULT_CURRENT;
else {
- error("Malformed value for %s: %s", var, value);
+ error("malformed value for %s: %s", var, value);
return error("Must be one of nothing, matching, simple, "
"upstream or current.");
}
@@ -1061,11 +1065,13 @@ static int do_config_from(struct config_source *top, config_fn_t fn, void *data)
}
static int do_config_from_file(config_fn_t fn,
- const char *name, const char *path, FILE *f, void *data)
+ const char *origin_type, const char *name, const char *path, FILE *f,
+ void *data)
{
struct config_source top;
top.u.file = f;
+ top.origin_type = origin_type;
top.name = name;
top.path = path;
top.die_on_error = 1;
@@ -1078,7 +1084,7 @@ static int do_config_from_file(config_fn_t fn,
static int git_config_from_stdin(config_fn_t fn, void *data)
{
- return do_config_from_file(fn, "<stdin>", NULL, stdin, data);
+ return do_config_from_file(fn, "standard input", "", NULL, stdin, data);
}
int git_config_from_file(config_fn_t fn, const char *filename, void *data)
@@ -1089,21 +1095,22 @@ int git_config_from_file(config_fn_t fn, const char *filename, void *data)
f = fopen(filename, "r");
if (f) {
flockfile(f);
- ret = do_config_from_file(fn, filename, filename, f, data);
+ ret = do_config_from_file(fn, "file", filename, filename, f, data);
funlockfile(f);
fclose(f);
}
return ret;
}
-int git_config_from_buf(config_fn_t fn, const char *name, const char *buf,
- size_t len, void *data)
+int git_config_from_mem(config_fn_t fn, const char *origin_type,
+ const char *name, const char *buf, size_t len, void *data)
{
struct config_source top;
top.u.buf.buf = buf;
top.u.buf.len = len;
top.u.buf.pos = 0;
+ top.origin_type = origin_type;
top.name = name;
top.path = NULL;
top.die_on_error = 0;
@@ -1132,7 +1139,7 @@ static int git_config_from_blob_sha1(config_fn_t fn,
return error("reference '%s' does not point to a blob", name);
}
- ret = git_config_from_buf(fn, name, buf, size, data);
+ ret = git_config_from_mem(fn, "blob", name, buf, size, data);
free(buf);
return ret;
@@ -1184,11 +1191,12 @@ int git_config_system(void)
return !git_env_bool("GIT_CONFIG_NOSYSTEM", 0);
}
-int git_config_early(config_fn_t fn, void *data, const char *repo_config)
+static int do_git_config_sequence(config_fn_t fn, void *data)
{
int ret = 0, found = 0;
char *xdg_config = xdg_config_home("config");
char *user_config = expand_user_path("~/.gitconfig");
+ char *repo_config = git_pathdup("config");
if (git_config_system() && !access_or_die(git_etc_gitconfig(), R_OK, 0)) {
ret += git_config_from_file(fn, git_etc_gitconfig(),
@@ -1224,6 +1232,7 @@ int git_config_early(config_fn_t fn, void *data, const char *repo_config)
free(xdg_config);
free(user_config);
+ free(repo_config);
return ret == 0 ? found : ret;
}
@@ -1231,8 +1240,6 @@ int git_config_with_options(config_fn_t fn, void *data,
struct git_config_source *config_source,
int respect_includes)
{
- char *repo_config = NULL;
- int ret;
struct config_include_data inc = CONFIG_INCLUDE_INIT;
if (respect_includes) {
@@ -1253,11 +1260,7 @@ int git_config_with_options(config_fn_t fn, void *data,
else if (config_source && config_source->blob)
return git_config_from_blob_ref(fn, config_source->blob, data);
- repo_config = git_pathdup("config");
- ret = git_config_early(fn, data, repo_config);
- if (repo_config)
- free(repo_config);
- return ret;
+ return do_git_config_sequence(fn, data);
}
static void git_config_raw(config_fn_t fn, void *data)
@@ -1309,14 +1312,11 @@ static struct config_set_element *configset_find_element(struct config_set *cs,
struct config_set_element k;
struct config_set_element *found_entry;
char *normalized_key;
- int ret;
/*
* `key` may come from the user, so normalize it before using it
* for querying entries from the hashmap.
*/
- ret = git_config_parse_key(key, &normalized_key, NULL);
-
- if (ret)
+ if (git_config_parse_key(key, &normalized_key, NULL))
return NULL;
hashmap_entry_init(&k, strhash(normalized_key));
@@ -1849,15 +1849,26 @@ contline:
return offset;
}
-int git_config_set_in_file(const char *config_filename,
- const char *key, const char *value)
+int git_config_set_in_file_gently(const char *config_filename,
+ const char *key, const char *value)
+{
+ return git_config_set_multivar_in_file_gently(config_filename, key, value, NULL, 0);
+}
+
+void git_config_set_in_file(const char *config_filename,
+ const char *key, const char *value)
{
- return git_config_set_multivar_in_file(config_filename, key, value, NULL, 0);
+ git_config_set_multivar_in_file(config_filename, key, value, NULL, 0);
}
-int git_config_set(const char *key, const char *value)
+int git_config_set_gently(const char *key, const char *value)
{
- return git_config_set_multivar(key, value, NULL, 0);
+ return git_config_set_multivar_gently(key, value, NULL, 0);
+}
+
+void git_config_set(const char *key, const char *value)
+{
+ git_config_set_multivar(key, value, NULL, 0);
}
/*
@@ -1902,7 +1913,7 @@ static int git_config_parse_key_1(const char *key, char **store_key, int *basele
* Validate the key and while at it, lower case it for matching.
*/
if (store_key)
- *store_key = xmalloc(strlen(key) + 1);
+ *store_key = xmallocz(strlen(key));
dot = 0;
for (i = 0; key[i]; i++) {
@@ -1926,8 +1937,6 @@ static int git_config_parse_key_1(const char *key, char **store_key, int *basele
if (store_key)
(*store_key)[i] = c;
}
- if (store_key)
- (*store_key)[i] = 0;
return 0;
@@ -1974,9 +1983,10 @@ int git_config_key_is_valid(const char *key)
* - the config file is removed and the lock file rename()d to it.
*
*/
-int git_config_set_multivar_in_file(const char *config_filename,
- const char *key, const char *value,
- const char *value_regex, int multi_replace)
+int git_config_set_multivar_in_file_gently(const char *config_filename,
+ const char *key, const char *value,
+ const char *value_regex,
+ int multi_replace)
{
int fd = -1, in_fd = -1;
int ret;
@@ -2203,11 +2213,31 @@ write_err_out:
}
-int git_config_set_multivar(const char *key, const char *value,
- const char *value_regex, int multi_replace)
+void git_config_set_multivar_in_file(const char *config_filename,
+ const char *key, const char *value,
+ const char *value_regex, int multi_replace)
{
- return git_config_set_multivar_in_file(NULL, key, value, value_regex,
- multi_replace);
+ if (!git_config_set_multivar_in_file_gently(config_filename, key, value,
+ value_regex, multi_replace))
+ return;
+ if (value)
+ die(_("could not set '%s' to '%s'"), key, value);
+ else
+ die(_("could not unset '%s'"), key);
+}
+
+int git_config_set_multivar_gently(const char *key, const char *value,
+ const char *value_regex, int multi_replace)
+{
+ return git_config_set_multivar_in_file_gently(NULL, key, value, value_regex,
+ multi_replace);
+}
+
+void git_config_set_multivar(const char *key, const char *value,
+ const char *value_regex, int multi_replace)
+{
+ git_config_set_multivar_in_file(NULL, key, value, value_regex,
+ multi_replace);
}
static int section_name_match (const char *buf, const char *name)
@@ -2374,7 +2404,7 @@ int git_config_rename_section(const char *old_name, const char *new_name)
#undef config_error_nonbool
int config_error_nonbool(const char *var)
{
- return error("Missing value for '%s'", var);
+ return error("missing value for '%s'", var);
}
int parse_config_key(const char *var,
@@ -2409,3 +2439,13 @@ int parse_config_key(const char *var,
return 0;
}
+
+const char *current_config_origin_type(void)
+{
+ return cf && cf->origin_type ? cf->origin_type : "command line";
+}
+
+const char *current_config_name(void)
+{
+ return cf && cf->name ? cf->name : "";
+}
diff --git a/config.mak.uname b/config.mak.uname
index d6f7980bb9..40d6b29eee 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -37,6 +37,7 @@ ifeq ($(uname_S),Linux)
HAVE_CLOCK_GETTIME = YesPlease
HAVE_CLOCK_MONOTONIC = YesPlease
HAVE_GETDELIM = YesPlease
+ SANE_TEXT_GREP=-a
endif
ifeq ($(uname_S),GNU/kFreeBSD)
HAVE_ALLOCA_H = YesPlease
@@ -186,6 +187,7 @@ ifeq ($(uname_O),Cygwin)
X = .exe
UNRELIABLE_FSTAT = UnfortunatelyYes
SPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield
+ OBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo
endif
ifeq ($(uname_S),FreeBSD)
NEEDS_LIBICONV = YesPlease
diff --git a/configure.ac b/configure.ac
index 89e2590bd6..c279025747 100644
--- a/configure.ac
+++ b/configure.ac
@@ -471,6 +471,13 @@ if test -n "$ASCIIDOC"; then
esac
fi
+if grep -a ascii configure.ac >/dev/null; then
+ AC_MSG_RESULT([Using 'grep -a' for sane_grep])
+ SANE_TEXT_GREP=-a
+else
+ SANE_TEXT_GREP=
+fi
+GIT_CONF_SUBST([SANE_TEXT_GREP])
## Checks for libraries.
AC_MSG_NOTICE([CHECKS for libraries])
@@ -963,10 +970,6 @@ AC_CHECK_LIB([iconv], [locale_charset],
[CHARSET_LIB=-lcharset])])
GIT_CONF_SUBST([CHARSET_LIB])
#
-# Define NO_HMAC_CTX_CLEANUP=YesPlease if HMAC_CTX_cleanup is missing.
-AC_CHECK_LIB([crypto], [HMAC_CTX_cleanup],
- [], [GIT_CONF_SUBST([NO_HMAC_CTX_CLEANUP], [YesPlease])])
-#
# Define HAVE_CLOCK_GETTIME=YesPlease if clock_gettime is available.
GIT_CHECK_FUNC(clock_gettime,
[HAVE_CLOCK_GETTIME=YesPlease],
diff --git a/connect.c b/connect.c
index 047863144f..c53f3f1c55 100644
--- a/connect.c
+++ b/connect.c
@@ -267,9 +267,9 @@ static enum protocol get_protocol(const char *name)
return PROTO_SSH;
if (!strcmp(name, "git"))
return PROTO_GIT;
- if (!strcmp(name, "git+ssh"))
+ if (!strcmp(name, "git+ssh")) /* deprecated - do not use */
return PROTO_SSH;
- if (!strcmp(name, "ssh+git"))
+ if (!strcmp(name, "ssh+git")) /* deprecated - do not use */
return PROTO_SSH;
if (!strcmp(name, "file"))
return PROTO_FILE;
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index e3918c87e3..34024754d9 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1339,15 +1339,15 @@ _git_help ()
{
case "$cur" in
--*)
- __gitcomp "--all --info --man --web"
+ __gitcomp "--all --guides --info --man --web"
return
;;
esac
__git_compute_all_commands
__gitcomp "$__git_all_commands $(__git_aliases)
attributes cli core-tutorial cvs-migration
- diffcore gitk glossary hooks ignore modules
- namespaces repository-layout tutorial tutorial-2
+ diffcore everyday gitk glossary hooks ignore modules
+ namespaces repository-layout revisions tutorial tutorial-2
workflows
"
}
@@ -1458,6 +1458,7 @@ _git_log ()
--relative-date --date=
--pretty= --format= --oneline
--show-signature
+ --cherry-mark
--cherry-pick
--graph
--decorate --decorate=
diff --git a/contrib/hooks/multimail/CHANGES b/contrib/hooks/multimail/CHANGES
index bc77e66b85..100cc7a6d3 100644
--- a/contrib/hooks/multimail/CHANGES
+++ b/contrib/hooks/multimail/CHANGES
@@ -1,3 +1,46 @@
+Release 1.3.1 (bugfix-only release)
+===================================
+
+* Generate links to commits in combined emails (it was done only for
+ commit emails in 1.3.0).
+
+* Fix broken links on PyPi.
+
+Release 1.3.0
+=============
+
+* New options multimailhook.htmlInIntro and multimailhook.htmlInFooter
+ now allow using HTML in the introduction and footer of emails (e.g.
+ for a more pleasant formatting or to insert a link to the commit on
+ a web interface).
+
+* A new option multimailhook.commitBrowseURL gives a simpler (and less
+ flexible) way to add a link to a web interface for commit emails
+ than multimailhook.htmlInIntro and multimailhook.htmlInFooter.
+
+* A new public function config.add_config_parameters was added to
+ allow custom hooks to set specific Git configuration variables
+ without modifying the configuration files. See an example in
+ post-receive.example.
+
+* Error handling for SMTP has been improved (we used to print Python
+ backtraces for legitimate errors).
+
+* The SMTP mailer can now check TLS certificates when the newly added
+ configuration variable multimailhook.smtpCACerts.
+
+* Python 3 portability has been improved.
+
+* The documentation's formatting has been improved.
+
+* The testsuite has been improved (we now use pyflakes to check for
+ errors in the code).
+
+This version has been tested with Python 2.4 and 2.6 to 3.5, and Git
+v1.7.10-406-gdc801e7, 2.1.4 and 2.8.1.339.g3ad15fd.
+
+No change since 1.3 RC1.
+
Release 1.2.0
=============
diff --git a/contrib/hooks/multimail/CONTRIBUTING.rst b/contrib/hooks/multimail/CONTRIBUTING.rst
index 09efdb059c..530ecbfcf1 100644
--- a/contrib/hooks/multimail/CONTRIBUTING.rst
+++ b/contrib/hooks/multimail/CONTRIBUTING.rst
@@ -1,3 +1,6 @@
+Contributing
+============
+
git-multimail is an open-source project, built by volunteers. We would
welcome your help!
@@ -6,9 +9,7 @@ and Matthieu Moy <matthieu.moy@grenoble-inp.fr>.
Please note that although a copy of git-multimail is distributed in
the "contrib" section of the main Git project, development takes place
-in a separate git-multimail repository on GitHub:
-
- https://github.com/git-multimail/git-multimail
+in a separate `git-multimail repository on GitHub`_.
Whenever enough changes to git-multimail have accumulated, a new
code-drop of git-multimail will be submitted for inclusion in the Git
@@ -21,10 +22,12 @@ to the maintainers). Please sign off your patches as per the `Git
project practice
<https://github.com/git/git/blob/master/Documentation/SubmittingPatches#L234>`__.
-General discussion of git-multimail can take place on the main Git
-mailing list,
-
- git@vger.kernel.org
+General discussion of git-multimail can take place on the main `Git
+mailing list`_.
Please CC emails regarding git-multimail to the maintainers so that we
don't overlook them.
+
+
+.. _`git-multimail repository on GitHub`: https://github.com/git-multimail/git-multimail
+.. _`Git mailing list`: git@vger.kernel.org
diff --git a/contrib/hooks/multimail/README b/contrib/hooks/multimail/README
index 55120685f0..0c91d19a57 100644
--- a/contrib/hooks/multimail/README
+++ b/contrib/hooks/multimail/README
@@ -1,5 +1,5 @@
-git-multimail (version 1.2.0)
-=============================
+git-multimail 1.3.1
+===================
.. image:: https://travis-ci.org/git-multimail/git-multimail.svg?branch=master
:target: https://travis-ci.org/git-multimail/git-multimail
@@ -127,6 +127,13 @@ changes of this type, please consider sharing them with the
community.)
+Troubleshooting/FAQ
+-------------------
+
+Please read `<doc/troubleshooting.rst>`__ for frequently asked
+questions and common issues with git-multimail.
+
+
Configuration
-------------
@@ -134,19 +141,16 @@ By default, git-multimail mostly takes its configuration from the
following ``git config`` settings:
multimailhook.environment
-
This describes the general environment of the repository. In most
cases, you do not need to specify a value for this variable:
`git-multimail` will autodetect which environment to use.
Currently supported values:
- * generic
-
+ generic
the username of the pusher is read from $USER or $USERNAME and
the repository name is derived from the repository's path.
- * gitolite
-
+ gitolite
the username of the pusher is read from $GL_USER, the repository
name is read from $GL_REPO, and the From: header value is
optionally read from gitolite.conf (see multimailhook.from).
@@ -154,8 +158,7 @@ multimailhook.environment
For more information about gitolite and git-multimail, read
`<doc/gitolite.rst>`__
- * stash
-
+ stash
Environment to use when ``git-multimail`` is ran as an Atlassian
BitBucket Server (formerly known as Atlassian Stash) hook.
@@ -169,8 +172,7 @@ multimailhook.environment
and repo come from these two command line flags, which must be
specified.
- * gerrit
-
+ gerrit
Environment to use when ``git-multimail`` is ran as a
``ref-updated`` Gerrit hook.
@@ -205,14 +207,12 @@ multimailhook.environment
* If none of the above apply, then ``generic`` is used.
multimailhook.repoName
-
A short name of this Git repository, to be used in various places
in the notification email text. The default is to use $GL_REPO
for gitolite repositories, or otherwise to derive this value from
the repository path name.
multimailhook.mailingList
-
The list of email addresses to which notification emails should be
sent, as RFC 2822 email addresses separated by commas. This
configuration option can be multivalued. Leave it unset or set it
@@ -221,7 +221,6 @@ multimailhook.mailingList
specific types of notification email.
multimailhook.refchangeList
-
The list of email addresses to which summary emails about
reference changes should be sent, as RFC 2822 email addresses
separated by commas. This configuration option can be
@@ -231,7 +230,6 @@ multimailhook.refchangeList
multimailhook.mailingList is set.
multimailhook.announceList
-
The list of email addresses to which emails about new annotated
tags should be sent, as RFC 2822 email addresses separated by
commas. This configuration option can be multivalued. The
@@ -241,7 +239,6 @@ multimailhook.announceList
even if one of the other values is set.
multimailhook.commitList
-
The list of email addresses to which emails about individual new
commits should be sent, as RFC 2822 email addresses separated by
commas. This configuration option can be multivalued. The
@@ -251,7 +248,6 @@ multimailhook.commitList
multimailhook.mailingList is set.
multimailhook.announceShortlog
-
If this option is set to true, then emails about changes to
annotated tags include a shortlog of changes since the previous
tag. This can be useful if the annotated tags represent releases;
@@ -261,7 +257,6 @@ multimailhook.announceShortlog
rather than useful. Default is false.
multimailhook.commitEmailFormat
-
The format of email messages for the individual commits, can be "text" or
"html". In the latter case, the emails will include diffs using colorized
HTML instead of plain text used by default. Note that this currently the
@@ -274,8 +269,43 @@ multimailhook.commitEmailFormat
the message starting with ``+++`` or ``---`` colored in red or
green).
-multimailhook.refchangeShowGraph
+ By default, all the message is HTML-escaped. See
+ ``multimailhook.htmlInIntro`` to change this behavior.
+
+multimailhook.commitBrowseURL
+ Used to generate a link to an online repository browser in commit
+ emails. This variable must be a string. Format directives like
+ ``%(<variable>)s`` will be expanded the same way as template
+ strings. In particular, ``%(id)s`` will be replaced by the full
+ Git commit identifier (40-chars hexadecimal).
+
+ If the string does not contain any format directive, then
+ ``%(id)s`` will be automatically added to the string. If you don't
+ want ``%(id)s`` to be automatically added, use the empty format
+ directive ``%()s`` anywhere in the string.
+
+ For example, a suitable value for the git-multimail project itself
+ would be
+ ``https://github.com/git-multimail/git-multimail/commit/%(id)s``.
+
+multimailhook.htmlInIntro, multimailhook.htmlInFooter
+ When generating an HTML message, git-multimail escapes any HTML
+ sequence by default. This means that if a template contains HTML
+ like ``<a href="foo">link</a>``, the reader will see the HTML
+ source code and not a proper link.
+
+ Set ``multimailhook.htmlInIntro`` to true to allow writting HTML
+ formatting in introduction templates. Similarly, set
+ ``multimailhook.htmlInFooter`` for HTML in the footer.
+ Variables expanded in the template are still escaped. For example,
+ if a repository's path contains a ``<``, it will be rendered as
+ such in the message.
+
+ Read `<doc/customizing-emails.rst>`__ for more details and
+ examples.
+
+multimailhook.refchangeShowGraph
If this option is set to true, then summary emails about reference
changes will additionally include:
@@ -287,7 +317,6 @@ multimailhook.refchangeShowGraph
specified in graphOpts. The default is false.
multimailhook.refchangeShowLog
-
If this option is set to true, then summary emails about reference
changes will include a detailed log of the added commits in
addition to the one line summary. The log is generated by running
@@ -295,71 +324,80 @@ multimailhook.refchangeShowLog
Default is false.
multimailhook.mailer
-
This option changes the way emails are sent. Accepted values are:
- - sendmail (the default): use the command ``/usr/sbin/sendmail`` or
+ * **sendmail (the default)**: use the command ``/usr/sbin/sendmail`` or
``/usr/lib/sendmail`` (or sendmailCommand, if configured). This
mode can be further customized via the following options:
- * multimailhook.sendmailCommand
-
- The command used by mailer ``sendmail`` to send emails. Shell
- quoting is allowed in the value of this setting, but remember that
- Git requires double-quotes to be escaped; e.g.::
+ multimailhook.sendmailCommand
+ The command used by mailer ``sendmail`` to send emails. Shell
+ quoting is allowed in the value of this setting, but remember that
+ Git requires double-quotes to be escaped; e.g.::
- git config multimailhook.sendmailcommand '/usr/sbin/sendmail -oi -t -F \"Git Repo\"'
+ git config multimailhook.sendmailcommand '/usr/sbin/sendmail -oi -t -F \"Git Repo\"'
- Default is '/usr/sbin/sendmail -oi -t' or
- '/usr/lib/sendmail -oi -t' (depending on which file is
- present and executable).
+ Default is '/usr/sbin/sendmail -oi -t' or
+ '/usr/lib/sendmail -oi -t' (depending on which file is
+ present and executable).
- * multimailhook.envelopeSender
+ multimailhook.envelopeSender
+ If set then pass this value to sendmail via the -f option to set
+ the envelope sender address.
- If set then pass this value to sendmail via the -f option to set
- the envelope sender address.
-
- - smtp: use Python's smtplib. This is useful when the sendmail
+ * **smtp**: use Python's smtplib. This is useful when the sendmail
command is not available on the system. This mode can be
further customized via the following options:
- * multimailhook.smtpServer
-
- The name of the SMTP server to connect to. The value can
- also include a colon and a port number; e.g.,
- ``mail.example.com:25``. Default is 'localhost' using port 25.
-
- * multimailhook.smtpUser
- * multimailhook.smtpPass
-
- Server username and password. Required if smtpEncryption is 'ssl'.
- Note that the username and password currently need to be
- set cleartext in the configuration file, which is not
- recommended. If you need to use this option, be sure your
- configuration file is read-only.
+ multimailhook.smtpServer
+ The name of the SMTP server to connect to. The value can
+ also include a colon and a port number; e.g.,
+ ``mail.example.com:25``. Default is 'localhost' using port 25.
- * multimailhook.envelopeSender
+ multimailhook.smtpUser, multimailhook.smtpPass
+ Server username and password. Required if smtpEncryption is 'ssl'.
+ Note that the username and password currently need to be
+ set cleartext in the configuration file, which is not
+ recommended. If you need to use this option, be sure your
+ configuration file is read-only.
+ multimailhook.envelopeSender
The sender address to be passed to the SMTP server. If
unset, then the value of multimailhook.from is used.
- * multimailhook.smtpServerTimeout
-
+ multimailhook.smtpServerTimeout
Timeout in seconds.
- * multimailhook.smtpEncryption
-
- Set the security type. Allowed values: none, ssl, tls.
- Default=none.
-
- * multimailhook.smtpServerDebugLevel
-
+ multimailhook.smtpEncryption
+ Set the security type. Allowed values: ``none``, ``ssl``, ``tls`` (starttls).
+ Default is ``none``.
+
+ multimailhook.smtpCACerts
+ Set the path to a list of trusted CA certificate to verify the
+ server certificate, only supported when ``smtpEncryption`` is
+ ``tls``. If unset or empty, the server certificate is not
+ verified. If it targets a file containing a list of trusted CA
+ certificates (PEM format) these CAs will be used to verify the
+ server certificate. For debian, you can set
+ ``/etc/ssl/certs/ca-certificates.crt`` for using the system
+ trusted CAs. For self-signed server, you can add your server
+ certificate to the system store::
+
+ cd /usr/local/share/ca-certificates/
+ openssl s_client -starttls smtp \
+ -connect mail.example.net:587 -showcerts \
+ </dev/null 2>/dev/null \
+ | openssl x509 -outform PEM >mail.example.net.crt
+ update-ca-certificates
+
+ and used the updated ``/etc/ssl/certs/ca-certificates.crt``. Or
+ directly use your ``/path/to/mail.example.net.crt``. Default is
+ unset.
+
+ multimailhook.smtpServerDebugLevel
Integer number. Set to greater than 0 to activate debugging.
-multimailhook.from
-multimailhook.fromCommit
-multimailhook.fromRefchange
-
+multimailhook.from, multimailhook.fromCommit, multimailhook.fromRefchange
If set, use this value in the From: field of generated emails.
``fromCommit`` is used for commit emails, ``fromRefchange`` is
used for refchange emails, and ``from`` is used as fall-back in
@@ -372,7 +410,7 @@ multimailhook.fromRefchange
- The value ``pusher``, in which case the pusher's address (if
available) will be used.
- - The value ``author`` (meaningful only for replyToCommit), in which
+ - The value ``author`` (meaningful only for ``fromCommit``), in which
case the commit author's address will be used.
If config values are unset, the value of the From: header is
@@ -396,14 +434,12 @@ multimailhook.fromRefchange
3. Use the value of multimailhook.envelopeSender.
multimailhook.administrator
-
The name and/or email address of the administrator of the Git
repository; used in FOOTER_TEMPLATE. Default is
multimailhook.envelopesender if it is set; otherwise a generic
string is used.
multimailhook.emailPrefix
-
All emails have this string prepended to their subjects, to aid
email filtering (though filtering based on the X-Git-* email
headers is probably more robust). Default is the short name of
@@ -411,16 +447,14 @@ multimailhook.emailPrefix
value to the empty string to suppress the email prefix.
multimailhook.emailMaxLines
-
The maximum number of lines that should be included in the body of
a generated email. If not specified, there is no limit. Lines
beyond the limit are suppressed and counted, and a final line is
added indicating the number of suppressed lines.
multimailhook.emailMaxLineLength
-
The maximum length of a line in the email body. Lines longer than
- this limit are truncated to this length with a trailing `` [...]``
+ this limit are truncated to this length with a trailing ``[...]``
added to indicate the missing text. The default is 500, because
(a) diffs with longer lines are probably from binary files, for
which a diff is useless, and (b) even if a text file has such long
@@ -428,7 +462,6 @@ multimailhook.emailMaxLineLength
truncation, set this option to 0.
multimailhook.maxCommitEmails
-
The maximum number of commit emails to send for a given change.
When the number of patches is larger that this value, only the
summary refchange email is sent. This can avoid accidental
@@ -436,14 +469,12 @@ multimailhook.maxCommitEmails
emails limit, set this option to 0. The default is 500.
multimailhook.emailStrictUTF8
-
If this boolean option is set to `true`, then the main part of the
email body is forced to be valid UTF-8. Any characters that are
not valid UTF-8 are converted to the Unicode replacement
character, U+FFFD. The default is `true`.
multimailhook.diffOpts
-
Options passed to ``git diff-tree`` when generating the summary
information for ReferenceChange emails. Default is ``--stat
--summary --find-copies-harder``. Add -p to those options to
@@ -452,7 +483,6 @@ multimailhook.diffOpts
details.
multimailhook.graphOpts
-
Options passed to ``git log --graph`` when generating graphs for the
reference change summary emails (used only if refchangeShowGraph
is true). The default is '--oneline --decorate'.
@@ -460,7 +490,6 @@ multimailhook.graphOpts
Shell quoting is allowed; see logOpts for details.
multimailhook.logOpts
-
Options passed to ``git log`` to generate additional info for
reference change emails (used only if refchangeShowLog is set).
For example, adding -p will show each commit's complete diff. The
@@ -479,7 +508,6 @@ multimailhook.logOpts
logopts = --pretty=format:\"%h %aN <%aE>%n%s%n%n%b%n\"
multimailhook.commitLogOpts
-
Options passed to ``git log`` to generate additional info for
revision change emails. For example, adding --ignore-all-spaces
will suppress whitespace changes. The default options are ``-C
@@ -487,26 +515,21 @@ multimailhook.commitLogOpts
multimailhook.logOpts for details.
multimailhook.dateSubstitute
-
String to use as a substitute for ``Date:`` in the output of ``git
log`` while formatting commit messages. This is usefull to avoid
emitting a line that can be interpreted by mailers as the start of
a cited message (Zimbra webmail in particular). Defaults to
- ``CommitDate: ``. Set to an empty string or ``none`` to deactivate
+ ``CommitDate:``. Set to an empty string or ``none`` to deactivate
the behavior.
multimailhook.emailDomain
-
Domain name appended to the username of the person doing the push
to convert it into an email address
(via ``"%s@%s" % (username, emaildomain)``). More complicated
schemes can be implemented by overriding Environment and
overriding its get_pusher_email() method.
-multimailhook.replyTo
-multimailhook.replyToCommit
-multimailhook.replyToRefchange
-
+multimailhook.replyTo, multimailhook.replyToCommit, multimailhook.replyToRefchange
Addresses to use in the Reply-To: field for commit emails
(replyToCommit) and refchange emails (replyToRefchange).
multimailhook.replyTo is used as default when replyToCommit or
@@ -519,32 +542,24 @@ multimailhook.replyToRefchange
commit emails.
multimailhook.quiet
-
Do not output the list of email recipients from the hook
multimailhook.stdout
-
For debugging, send emails to stdout rather than to the
mailer. Equivalent to the --stdout command line option
multimailhook.scanCommitForCc
-
If this option is set to true, than recipients from lines in commit body
that starts with ``CC:`` will be added to CC list.
Default: false
multimailhook.combineWhenSingleCommit
-
If this option is set to true and a single new commit is pushed to
a branch, combine the summary and commit email messages into a
single email.
Default: true
-multimailhook.refFilterInclusionRegex
-multimailhook.refFilterExclusionRegex
-multimailhook.refFilterDoSendRegex
-multimailhook.refFilterDontSendRegex
-
+multimailhook.refFilterInclusionRegex, multimailhook.refFilterExclusionRegex, multimailhook.refFilterDoSendRegex, multimailhook.refFilterDontSendRegex
**Warning:** these options are experimental. They should work, but
the user-interface is not stable yet (in particular, the option
names may change). If you want to participate in stabilizing the
@@ -626,14 +641,16 @@ git-multimail is mostly customized via an "environment" that describes
the local environment in which Git is running. Two types of
environment are built in:
-* GenericEnvironment: a stand-alone Git repository.
+GenericEnvironment
+ a stand-alone Git repository.
-* GitoliteEnvironment: a Git repository that is managed by gitolite
- [3]_. For such repositories, the identity of the pusher is read from
- environment variable $GL_USER, the name of the repository is read
- from $GL_REPO (if it is not overridden by multimailhook.reponame),
- and the From: header value is optionally read from gitolite.conf
- (see multimailhook.from).
+GitoliteEnvironment
+ a Git repository that is managed by gitolite
+ [3]_. For such repositories, the identity of the pusher is read from
+ environment variable $GL_USER, the name of the repository is read
+ from $GL_REPO (if it is not overridden by multimailhook.reponame),
+ and the From: header value is optionally read from gitolite.conf
+ (see multimailhook.from).
By default, git-multimail assumes GitoliteEnvironment if $GL_USER and
$GL_REPO are set, and otherwise assumes GenericEnvironment.
diff --git a/contrib/hooks/multimail/README.Git b/contrib/hooks/multimail/README.Git
index 300a2a4d2d..1210bde045 100644
--- a/contrib/hooks/multimail/README.Git
+++ b/contrib/hooks/multimail/README.Git
@@ -6,10 +6,10 @@ website:
https://github.com/git-multimail/git-multimail
The version in this directory was obtained from the upstream project
-on October 11 2015 and consists of the "git-multimail" subdirectory from
+on May 13 2016 and consists of the "git-multimail" subdirectory from
revision
- c0791b9ef5821a746fc3475c25765e640452eaae refs/tags/1.2.0
+ 3ce5470d4abf7251604cbf64e73a962e1b617f5e refs/tags/1.3.1
Please see the README file in this directory for information about how
to report bugs or contribute to git-multimail.
diff --git a/contrib/hooks/multimail/doc/customizing-emails.rst b/contrib/hooks/multimail/doc/customizing-emails.rst
new file mode 100644
index 0000000000..3f5b67f768
--- /dev/null
+++ b/contrib/hooks/multimail/doc/customizing-emails.rst
@@ -0,0 +1,56 @@
+Customizing the content and formatting of emails
+================================================
+
+Overloading template strings
+----------------------------
+
+The content of emails is generated based on template strings defined
+in ``git_multimail.py``. You can customize these template strings
+without changing the script itself, by defining a Python wrapper
+around it. The python wrapper should ``import git_multimail`` and then
+override the ``git_multimail.*`` strings like this::
+
+ import sys # needed for sys.argv
+
+ # Import and customize git_multimail:
+ import git_multimail
+ git_multimail.REVISION_INTRO_TEMPLATE = """..."""
+ git_multimail.COMBINED_INTRO_TEMPLATE = git_multimail.REVISION_INTRO_TEMPLATE
+
+ # start git_multimail itself:
+ git_multimail.main(sys.argv[1:])
+
+The template strings can use any value already used in the existing
+templates (read the source code).
+
+Using HTML in template strings
+------------------------------
+
+If ``multimailhook.commitEmailFormat`` is set to HTML, then
+git-multimail will generate HTML emails for commit notifications. The
+log and diff will be formatted automatically by git-multimail. By
+default, any HTML special character in the templates will be escaped.
+
+To use HTML formatting in the introduction of the email, set
+``multimailhook.htmlInIntro`` to ``true``. Then, the template can
+contain any HTML tags, that will be sent as-is in the email. For
+example, to add some formatting and a link to the online commit, use
+a format like::
+
+ git_multimail.REVISION_INTRO_TEMPLATE = """\
+ <span style="color:#808080">This is an automated email from the git hooks/post-receive script.</span><br /><br />
+
+ <strong>%(pusher)s</strong> pushed a commit to %(refname_type)s %(short_refname)s
+ in repository %(repo_shortname)s.<br />
+
+ <a href="https://github.com/git-multimail/git-multimail/commit/%(newrev)s">View on GitHub</a>.
+ """
+
+Note that the values expanded from ``%(variable)s`` in the format
+strings will still be escaped.
+
+For a less flexible but easier to set up way to add a link to commit
+emails, see ``multimailhook.commitBrowseURL``.
+
+Similarly, one can set ``multimailhook.htmlInFooter`` and override any
+of the ``*_FOOTER*`` template strings.
diff --git a/contrib/hooks/multimail/doc/troubleshooting.rst b/contrib/hooks/multimail/doc/troubleshooting.rst
new file mode 100644
index 0000000000..d3f346f076
--- /dev/null
+++ b/contrib/hooks/multimail/doc/troubleshooting.rst
@@ -0,0 +1,44 @@
+Troubleshooting issues with git-multimail: a FAQ
+================================================
+
+Git is not using the right address in the From/To/Reply-To field
+----------------------------------------------------------------
+
+First, make sure that git-multimail actually uses what you think it is
+using. A lot happens to your email (especially when posting to a
+mailing-list) between the time `git_multimail.py` sends it and the
+time it reaches your inbox.
+
+A simple test (to do on a test repository, do not use in production as
+it would disable email sending): change your post-receive hook to call
+`git_multimail.py` with the `--stdout` option, and try to push to the
+repository. You should see something like::
+
+ Counting objects: 3, done.
+ Writing objects: 100% (3/3), 263 bytes | 0 bytes/s, done.
+ Total 3 (delta 0), reused 0 (delta 0)
+ remote: Sending notification emails to: foo.bar@example.com
+ remote: ===========================================================================
+ remote: Date: Mon, 25 Apr 2016 18:39:59 +0200
+ remote: To: foo.bar@example.com
+ remote: Subject: [git] branch master updated: foo
+ remote: MIME-Version: 1.0
+ remote: Content-Type: text/plain; charset=utf-8
+ remote: Content-Transfer-Encoding: 8bit
+ remote: Message-ID: <20160425163959.2311.20498@anie>
+ remote: From: Auth Or <Foo.Bar@example.com>
+ remote: Reply-To: Auth Or <Foo.Bar@example.com>
+ remote: X-Git-Host: example
+ ...
+ remote: --
+ remote: To stop receiving notification emails like this one, please contact
+ remote: the administrator of this repository.
+ remote: ===========================================================================
+ To /path/to/repo
+ 6278f04..e173f20 master -> master
+
+Note: this does not include the sender (Return-Path: header), as it is
+not part of the message content but passed to the mailer. Some mailer
+show the ``Sender:`` field instead of the ``From:`` field (for
+example, Zimbra Webmail shows ``From: <sender-field> on behalf of
+<from-field>``).
diff --git a/contrib/hooks/multimail/git_multimail.py b/contrib/hooks/multimail/git_multimail.py
index 0180dba431..54ab4a4942 100755
--- a/contrib/hooks/multimail/git_multimail.py
+++ b/contrib/hooks/multimail/git_multimail.py
@@ -1,6 +1,6 @@
#! /usr/bin/env python
-__version__ = '1.2.0'
+__version__ = '1.3.1'
# Copyright (c) 2015 Matthieu Moy and others
# Copyright (c) 2012-2014 Michael Haggerty and others
@@ -57,6 +57,11 @@ import subprocess
import shlex
import optparse
import smtplib
+try:
+ import ssl
+except ImportError:
+ # Python < 2.6 do not have ssl, but that's OK if we don't use it.
+ pass
import time
import cgi
@@ -75,6 +80,9 @@ def is_ascii(s):
if PYTHON3:
+ def is_string(s):
+ return isinstance(s, str)
+
def str_to_bytes(s):
return s.encode(ENCODING)
@@ -91,6 +99,12 @@ if PYTHON3:
except UnicodeEncodeError:
f.buffer.write(msg.encode(ENCODING))
else:
+ def is_string(s):
+ try:
+ return isinstance(s, basestring)
+ except NameError: # Silence Pyflakes warning
+ raise
+
def str_to_bytes(s):
return s
@@ -313,6 +327,16 @@ in repository %(repo_shortname)s.
"""
+LINK_TEXT_TEMPLATE = """\
+View the commit online:
+%(browse_url)s
+
+"""
+
+LINK_HTML_TEMPLATE = """\
+<p><a href="%(browse_url)s">View the commit online</a>.</p>
+"""
+
REVISION_FOOTER_TEMPLATE = FOOTER_TEMPLATE
@@ -532,6 +556,28 @@ class Config(object):
assert words[-1] == ''
return words[:-1]
+ @staticmethod
+ def add_config_parameters(c):
+ """Add configuration parameters to Git.
+
+ c is either an str or a list of str, each element being of the
+ form 'var=val' or 'var', with the same syntax and meaning as
+ the argument of 'git -c var=val'.
+ """
+ if isinstance(c, str):
+ c = (c,)
+ parameters = os.environ.get('GIT_CONFIG_PARAMETERS', '')
+ if parameters:
+ parameters += ' '
+ # git expects GIT_CONFIG_PARAMETERS to be of the form
+ # "'name1=value1' 'name2=value2' 'name3=value3'"
+ # including everything inside the double quotes (but not the double
+ # quotes themselves). Spacing is critical. Also, if a value contains
+ # a literal single quote that quote must be represented using the
+ # four character sequence: '\''
+ parameters += ' '.join("'" + x.replace("'", "'\\''") + "'" for x in c)
+ os.environ['GIT_CONFIG_PARAMETERS'] = parameters
+
def get(self, name, default=None):
try:
values = self._split(read_git_output(
@@ -745,6 +791,12 @@ class Change(object):
values['multimail_version'] = get_version()
return values
+ # Aliases usable in template strings. Tuple of pairs (destination,
+ # source).
+ VALUES_ALIAS = (
+ ("id", "newrev"),
+ )
+
def get_values(self, **extra_values):
"""Return a dictionary {keyword: expansion} for this Change.
@@ -760,6 +812,9 @@ class Change(object):
values = self._values.copy()
if extra_values:
values.update(extra_values)
+
+ for alias, val in self.VALUES_ALIAS:
+ values[alias] = values[val]
return values
def expand(self, template, **extra_values):
@@ -772,10 +827,14 @@ class Change(object):
return template % self.get_values(**extra_values)
- def expand_lines(self, template, **extra_values):
+ def expand_lines(self, template, html_escape_val=False, **extra_values):
"""Break template into lines and expand each line."""
values = self.get_values(**extra_values)
+ if html_escape_val:
+ for k in values:
+ if is_string(values[k]):
+ values[k] = cgi.escape(values[k], True)
for line in template.splitlines(True):
yield line % values
@@ -787,9 +846,10 @@ class Change(object):
values = self.get_values(**extra_values)
if self._contains_html_diff:
- values['contenttype'] = 'html'
+ self._content_type = 'html'
else:
- values['contenttype'] = 'plain'
+ self._content_type = 'plain'
+ values['contenttype'] = self._content_type
for line in template.splitlines():
(name, value) = line.split(': ', 1)
@@ -819,7 +879,11 @@ class Change(object):
raise NotImplementedError()
- def generate_email_intro(self):
+ def generate_browse_link(self, base_url):
+ """Generate a link to an online repository browser."""
+ return iter(())
+
+ def generate_email_intro(self, html_escape_val=False):
"""Generate the email intro for this Change, a line at a time.
The output will be used as the standard boilerplate at the top
@@ -835,7 +899,7 @@ class Change(object):
raise NotImplementedError()
- def generate_email_footer(self):
+ def generate_email_footer(self, html_escape_val):
"""Generate the footer of the email, a line at a time.
The footer is always included, irrespective of
@@ -876,9 +940,18 @@ class Change(object):
for line in self.generate_email_header(**extra_header_values):
yield line
yield '\n'
- for line in self._wrap_for_html(self.generate_email_intro()):
+ html_escape_val = (self.environment.html_in_intro and
+ self._contains_html_diff)
+ intro = self.generate_email_intro(html_escape_val)
+ if not self.environment.html_in_intro:
+ intro = self._wrap_for_html(intro)
+ for line in intro:
yield line
+ if self.environment.commitBrowseURL:
+ for line in self.generate_browse_link(self.environment.commitBrowseURL):
+ yield line
+
body = self.generate_email_body(push)
if body_filter is not None:
body = body_filter(body)
@@ -939,8 +1012,12 @@ class Change(object):
yield line
if self._contains_html_diff:
yield '</pre>'
-
- for line in self._wrap_for_html(self.generate_email_footer()):
+ html_escape_val = (self.environment.html_in_footer and
+ self._contains_html_diff)
+ footer = self.generate_email_footer(html_escape_val)
+ if not self.environment.html_in_footer:
+ footer = self._wrap_for_html(footer)
+ for line in footer:
yield line
def get_alt_fromaddr(self):
@@ -992,6 +1069,7 @@ class Revision(Change):
values['rev_short'] = self.rev.short
values['change_type'] = self.change_type
values['refname'] = self.refname
+ values['newrev'] = self.rev.sha1
values['short_refname'] = self.reference_change.short_refname
values['refname_type'] = self.reference_change.refname_type
values['reply_to_msgid'] = self.reference_change.msgid
@@ -1015,8 +1093,26 @@ class Revision(Change):
):
yield line
- def generate_email_intro(self):
- for line in self.expand_lines(REVISION_INTRO_TEMPLATE):
+ def generate_browse_link(self, base_url):
+ if '%(' not in base_url:
+ base_url += '%(id)s'
+ url = "".join(self.expand_lines(base_url))
+ if self._content_type == 'html':
+ for line in self.expand_lines(LINK_HTML_TEMPLATE,
+ html_escape_val=True,
+ browse_url=url):
+ yield line
+ elif self._content_type == 'plain':
+ for line in self.expand_lines(LINK_TEXT_TEMPLATE,
+ html_escape_val=False,
+ browse_url=url):
+ yield line
+ else:
+ raise NotImplementedError("Content-type %s unsupported. Please report it as a bug.")
+
+ def generate_email_intro(self, html_escape_val=False):
+ for line in self.expand_lines(REVISION_INTRO_TEMPLATE,
+ html_escape_val=html_escape_val):
yield line
def generate_email_body(self, push):
@@ -1031,8 +1127,9 @@ class Revision(Change):
else:
yield line
- def generate_email_footer(self):
- return self.expand_lines(REVISION_FOOTER_TEMPLATE)
+ def generate_email_footer(self, html_escape_val):
+ return self.expand_lines(REVISION_FOOTER_TEMPLATE,
+ html_escape_val=html_escape_val)
def generate_email(self, push, body_filter=None, extra_header_values={}):
self._contains_diff()
@@ -1217,8 +1314,9 @@ class ReferenceChange(Change):
):
yield line
- def generate_email_intro(self):
- for line in self.expand_lines(self.intro_template):
+ def generate_email_intro(self, html_escape_val=False):
+ for line in self.expand_lines(self.intro_template,
+ html_escape_val=html_escape_val):
yield line
def generate_email_body(self, push):
@@ -1238,8 +1336,9 @@ class ReferenceChange(Change):
for line in self.generate_revision_change_summary(push):
yield line
- def generate_email_footer(self):
- return self.expand_lines(self.footer_template)
+ def generate_email_footer(self, html_escape_val):
+ return self.expand_lines(self.footer_template,
+ html_escape_val=html_escape_val)
def generate_revision_change_graph(self, push):
if self.showgraph:
@@ -1605,6 +1704,14 @@ class BranchChange(ReferenceChange):
self.header_template = COMBINED_HEADER_TEMPLATE
self.intro_template = COMBINED_INTRO_TEMPLATE
self.footer_template = COMBINED_FOOTER_TEMPLATE
+
+ def revision_gen_link(base_url):
+ # revision is used only to generate the body, and
+ # _content_type is set while generating headers. Get it
+ # from the BranchChange object.
+ revision._content_type = self._content_type
+ return revision.generate_browse_link(base_url)
+ self.generate_browse_link = revision_gen_link
for line in self.generate_email(push, body_filter, values):
yield line
@@ -1896,6 +2003,7 @@ class SMTPMailer(Mailer):
smtpservertimeout=10.0, smtpserverdebuglevel=0,
smtpencryption='none',
smtpuser='', smtppass='',
+ smtpcacerts=''
):
if not envelopesender:
sys.stderr.write(
@@ -1915,6 +2023,7 @@ class SMTPMailer(Mailer):
self.security = smtpencryption
self.username = smtpuser
self.password = smtppass
+ self.smtpcacerts = smtpcacerts
try:
def call(klass, server, timeout):
try:
@@ -1925,13 +2034,56 @@ class SMTPMailer(Mailer):
if self.security == 'none':
self.smtp = call(smtplib.SMTP, self.smtpserver, timeout=self.smtpservertimeout)
elif self.security == 'ssl':
+ if self.smtpcacerts:
+ raise smtplib.SMTPException(
+ "Checking certificate is not supported for ssl, prefer starttls"
+ )
self.smtp = call(smtplib.SMTP_SSL, self.smtpserver, timeout=self.smtpservertimeout)
elif self.security == 'tls':
+ if 'ssl' not in sys.modules:
+ sys.stderr.write(
+ '*** Your Python version does not have the ssl library installed\n'
+ '*** smtpEncryption=tls is not available.\n'
+ '*** Either upgrade Python to 2.6 or later\n'
+ ' or use git_multimail.py version 1.2.\n')
if ':' not in self.smtpserver:
self.smtpserver += ':587' # default port for TLS
self.smtp = call(smtplib.SMTP, self.smtpserver, timeout=self.smtpservertimeout)
+ # start: ehlo + starttls
+ # equivalent to
+ # self.smtp.ehlo()
+ # self.smtp.starttls()
+ # with acces to the ssl layer
self.smtp.ehlo()
- self.smtp.starttls()
+ if not self.smtp.has_extn("starttls"):
+ raise smtplib.SMTPException("STARTTLS extension not supported by server")
+ resp, reply = self.smtp.docmd("STARTTLS")
+ if resp != 220:
+ raise smtplib.SMTPException("Wrong answer to the STARTTLS command")
+ if self.smtpcacerts:
+ self.smtp.sock = ssl.wrap_socket(
+ self.smtp.sock,
+ ca_certs=self.smtpcacerts,
+ cert_reqs=ssl.CERT_REQUIRED
+ )
+ else:
+ self.smtp.sock = ssl.wrap_socket(
+ self.smtp.sock,
+ cert_reqs=ssl.CERT_NONE
+ )
+ sys.stderr.write(
+ '*** Warning, the server certificat is not verified (smtp) ***\n'
+ '*** set the option smtpCACerts ***\n'
+ )
+ if not hasattr(self.smtp.sock, "read"):
+ # using httplib.FakeSocket with Python 2.5.x or earlier
+ self.smtp.sock.read = self.smtp.sock.recv
+ self.smtp.file = smtplib.SSLFakeFile(self.smtp.sock)
+ self.smtp.helo_resp = None
+ self.smtp.ehlo_resp = None
+ self.smtp.esmtp_features = {}
+ self.smtp.does_esmtp = 0
+ # end: ehlo + starttls
self.smtp.ehlo()
else:
sys.stdout.write('*** Error: Control reached an invalid option. ***')
@@ -1951,6 +2103,7 @@ class SMTPMailer(Mailer):
def __del__(self):
if hasattr(self, 'smtp'):
self.smtp.quit()
+ del self.smtp
def send(self, lines, to_addrs):
try:
@@ -1958,13 +2111,24 @@ class SMTPMailer(Mailer):
self.smtp.login(self.username, self.password)
msg = ''.join(lines)
# turn comma-separated list into Python list if needed.
- if isinstance(to_addrs, basestring):
+ if is_string(to_addrs):
to_addrs = [email for (name, email) in getaddresses([to_addrs])]
self.smtp.sendmail(self.envelopesender, to_addrs, msg)
- except Exception:
+ except smtplib.SMTPResponseException:
sys.stderr.write('*** Error sending email ***\n')
- sys.stderr.write('*** %s\n' % sys.exc_info()[1])
- self.smtp.quit()
+ err = sys.exc_info()[1]
+ sys.stderr.write('*** Error %d: %s\n' % (err.smtp_code,
+ bytes_to_str(err.smtp_error)))
+ try:
+ smtp = self.smtp
+ # delete the field before quit() so that in case of
+ # error, self.smtp is deleted anyway.
+ del self.smtp
+ smtp.quit()
+ except:
+ sys.stderr.write('*** Error closing the SMTP connection ***\n')
+ sys.stderr.write('*** Exiting anyway ... ***\n')
+ sys.stderr.write('*** %s\n' % sys.exc_info()[1])
sys.exit(1)
@@ -2097,6 +2261,14 @@ class Environment(object):
If "html", generate commit emails in HTML instead of plain text
used by default.
+ html_in_intro (bool)
+ html_in_footer (bool)
+
+ When generating HTML emails, the introduction (respectively,
+ the footer) will be HTML-escaped iff html_in_intro (respectively,
+ the footer) is true. When false, only the values used to expand
+ the template are escaped.
+
refchange_showgraph (bool)
True iff refchanges emails should include a detailed graph.
@@ -2160,6 +2332,9 @@ class Environment(object):
self.osenv = osenv or os.environ
self.announce_show_shortlog = False
self.commit_email_format = "text"
+ self.html_in_intro = False
+ self.html_in_footer = False
+ self.commitBrowseURL = None
self.maxcommitemails = 500
self.diffopts = ['--stat', '--summary', '--find-copies-harder']
self.graphopts = ['--oneline', '--decorate']
@@ -2236,7 +2411,7 @@ class Environment(object):
The return value is always a new dictionary."""
if self._values is None:
- values = {}
+ values = {'': ''} # %()s expands to the empty string.
for key in self.COMPUTED_KEYS:
value = getattr(self, 'get_%s' % (key,))()
@@ -2375,6 +2550,16 @@ class ConfigOptionsEnvironmentMixin(ConfigEnvironmentMixin):
else:
self.commit_email_format = commit_email_format
+ html_in_intro = config.get_bool('htmlInIntro')
+ if html_in_intro is not None:
+ self.html_in_intro = html_in_intro
+
+ html_in_footer = config.get_bool('htmlInFooter')
+ if html_in_footer is not None:
+ self.html_in_footer = html_in_footer
+
+ self.commitBrowseURL = config.get('commitBrowseURL')
+
maxcommitemails = config.get('maxcommitemails')
if maxcommitemails is not None:
try:
@@ -2415,7 +2600,6 @@ class ConfigOptionsEnvironmentMixin(ConfigEnvironmentMixin):
['author'])
self.__reply_to_commit = config.get('replyToCommit', default=reply_to)
- from_addr = self.config.get('from')
self.from_refchange = config.get('fromRefchange')
self.forbid_field_values('fromRefchange',
self.from_refchange,
@@ -3390,6 +3574,8 @@ def run_as_post_receive_hook(environment, mailer):
if changes:
push = Push(environment, changes)
push.send_emails(mailer, body_filter=environment.filter_body)
+ if hasattr(mailer, '__del__'):
+ mailer.__del__()
def run_as_update_hook(environment, mailer, refname, oldrev, newrev, force_send=False):
@@ -3406,6 +3592,8 @@ def run_as_update_hook(environment, mailer, refname, oldrev, newrev, force_send=
]
push = Push(environment, changes, force_send)
push.send_emails(mailer, body_filter=environment.filter_body)
+ if hasattr(mailer, '__del__'):
+ mailer.__del__()
def choose_mailer(config, environment):
@@ -3418,6 +3606,7 @@ def choose_mailer(config, environment):
smtpencryption = config.get('smtpencryption', default='none')
smtpuser = config.get('smtpuser', default='')
smtppass = config.get('smtppass', default='')
+ smtpcacerts = config.get('smtpcacerts', default='')
mailer = SMTPMailer(
envelopesender=(environment.get_sender() or environment.get_fromaddr()),
smtpserver=smtpserver, smtpservertimeout=smtpservertimeout,
@@ -3425,6 +3614,7 @@ def choose_mailer(config, environment):
smtpencryption=smtpencryption,
smtpuser=smtpuser,
smtppass=smtppass,
+ smtpcacerts=smtpcacerts
)
elif mailer == 'sendmail':
command = config.get('sendmailcommand')
@@ -3691,17 +3881,7 @@ def main(args):
return
if options.c:
- parameters = os.environ.get('GIT_CONFIG_PARAMETERS', '')
- if parameters:
- parameters += ' '
- # git expects GIT_CONFIG_PARAMETERS to be of the form
- # "'name1=value1' 'name2=value2' 'name3=value3'"
- # including everything inside the double quotes (but not the double
- # quotes themselves). Spacing is critical. Also, if a value contains
- # a literal single quote that quote must be represented using the
- # four character sequence: '\''
- parameters += ' '.join("'" + x.replace("'", "'\\''") + "'" for x in options.c)
- os.environ['GIT_CONFIG_PARAMETERS'] = parameters
+ Config.add_config_parameters(options.c)
config = Config('multimailhook')
diff --git a/contrib/hooks/multimail/post-receive.example b/contrib/hooks/multimail/post-receive.example
index 9975df7107..1ea113d274 100755
--- a/contrib/hooks/multimail/post-receive.example
+++ b/contrib/hooks/multimail/post-receive.example
@@ -55,6 +55,12 @@ import git_multimail
# git-multimail:
config = git_multimail.Config('multimailhook')
+# Set some Git configuration variables. Equivalent to passing var=val
+# to "git -c var=val" each time git is called, or to adding the
+# configuration in .git/config (must come before instanciating the
+# environment) :
+#git_multimail.Config.add_config_parameters('multimailhook.commitEmailFormat=html')
+#git_multimail.Config.add_config_parameters(('user.name=foo', 'user.email=foo@example.com'))
# Select the type of environment:
try:
diff --git a/convert.c b/convert.c
index 8cd6222a26..f524b8d7f4 100644
--- a/convert.c
+++ b/convert.c
@@ -19,17 +19,19 @@
#define CONVERT_STAT_BITS_BIN 0x4
enum crlf_action {
- CRLF_GUESS = -1,
- CRLF_BINARY = 0,
+ CRLF_UNDEFINED,
+ CRLF_BINARY,
CRLF_TEXT,
- CRLF_INPUT,
- CRLF_CRLF,
- CRLF_AUTO
+ CRLF_TEXT_INPUT,
+ CRLF_TEXT_CRLF,
+ CRLF_AUTO,
+ CRLF_AUTO_INPUT,
+ CRLF_AUTO_CRLF
};
struct text_stat {
/* NUL, CR, LF and CRLF counts */
- unsigned nul, cr, lf, crlf;
+ unsigned nul, lonecr, lonelf, crlf;
/* These are just approximations! */
unsigned printable, nonprintable;
@@ -44,13 +46,15 @@ static void gather_stats(const char *buf, unsigned long size, struct text_stat *
for (i = 0; i < size; i++) {
unsigned char c = buf[i];
if (c == '\r') {
- stats->cr++;
- if (i+1 < size && buf[i+1] == '\n')
+ if (i+1 < size && buf[i+1] == '\n') {
stats->crlf++;
+ i++;
+ } else
+ stats->lonecr++;
continue;
}
if (c == '\n') {
- stats->lf++;
+ stats->lonelf++;
continue;
}
if (c == 127)
@@ -84,7 +88,7 @@ static void gather_stats(const char *buf, unsigned long size, struct text_stat *
*/
static int convert_is_binary(unsigned long size, const struct text_stat *stats)
{
- if (stats->cr != stats->crlf)
+ if (stats->lonecr)
return 1;
if (stats->nul)
return 1;
@@ -96,19 +100,18 @@ static int convert_is_binary(unsigned long size, const struct text_stat *stats)
static unsigned int gather_convert_stats(const char *data, unsigned long size)
{
struct text_stat stats;
+ int ret = 0;
if (!data || !size)
return 0;
gather_stats(data, size, &stats);
if (convert_is_binary(size, &stats))
- return CONVERT_STAT_BITS_BIN;
- else if (stats.crlf && stats.crlf == stats.lf)
- return CONVERT_STAT_BITS_TXT_CRLF;
- else if (stats.crlf && stats.lf)
- return CONVERT_STAT_BITS_TXT_CRLF | CONVERT_STAT_BITS_TXT_LF;
- else if (stats.lf)
- return CONVERT_STAT_BITS_TXT_LF;
- else
- return 0;
+ ret |= CONVERT_STAT_BITS_BIN;
+ if (stats.crlf)
+ ret |= CONVERT_STAT_BITS_TXT_CRLF;
+ if (stats.lonelf)
+ ret |= CONVERT_STAT_BITS_TXT_LF;
+
+ return ret;
}
static const char *gather_convert_stats_ascii(const char *data, unsigned long size)
@@ -149,28 +152,37 @@ const char *get_wt_convert_stats_ascii(const char *path)
return ret;
}
+static int text_eol_is_crlf(void)
+{
+ if (auto_crlf == AUTO_CRLF_TRUE)
+ return 1;
+ else if (auto_crlf == AUTO_CRLF_INPUT)
+ return 0;
+ if (core_eol == EOL_CRLF)
+ return 1;
+ if (core_eol == EOL_UNSET && EOL_NATIVE == EOL_CRLF)
+ return 1;
+ return 0;
+}
+
static enum eol output_eol(enum crlf_action crlf_action)
{
switch (crlf_action) {
case CRLF_BINARY:
return EOL_UNSET;
- case CRLF_CRLF:
+ case CRLF_TEXT_CRLF:
return EOL_CRLF;
- case CRLF_INPUT:
+ case CRLF_TEXT_INPUT:
return EOL_LF;
- case CRLF_GUESS:
- if (!auto_crlf)
- return EOL_UNSET;
- /* fall through */
+ case CRLF_UNDEFINED:
+ case CRLF_AUTO_CRLF:
+ case CRLF_AUTO_INPUT:
case CRLF_TEXT:
case CRLF_AUTO:
- if (auto_crlf == AUTO_CRLF_TRUE)
- return EOL_CRLF;
- else if (auto_crlf == AUTO_CRLF_INPUT)
- return EOL_LF;
- else if (core_eol == EOL_UNSET)
- return EOL_NATIVE;
+ /* fall through */
+ return text_eol_is_crlf() ? EOL_CRLF : EOL_LF;
}
+ warning("Illegal crlf_action %d\n", (int)crlf_action);
return core_eol;
}
@@ -196,7 +208,7 @@ static void check_safe_crlf(const char *path, enum crlf_action crlf_action,
* CRLFs would be added by checkout:
* check if we have "naked" LFs
*/
- if (stats->lf != stats->crlf) {
+ if (stats->lonelf) {
if (checksafe == SAFE_CRLF_WARN)
warning("LF will be replaced by CRLF in %s.\nThe file will have its original line endings in your working directory.", path);
else /* i.e. SAFE_CRLF_FAIL */
@@ -227,7 +239,6 @@ static int crlf_to_git(const char *path, const char *src, size_t len,
char *dst;
if (crlf_action == CRLF_BINARY ||
- (crlf_action == CRLF_GUESS && auto_crlf == AUTO_CRLF_FALSE) ||
(src && !len))
return 0;
@@ -240,11 +251,11 @@ static int crlf_to_git(const char *path, const char *src, size_t len,
gather_stats(src, len, &stats);
- if (crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS) {
+ if (crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) {
if (convert_is_binary(len, &stats))
return 0;
- if (crlf_action == CRLF_GUESS) {
+ if (crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) {
/*
* If the file in the index has any CR in it, do not convert.
* This is the new safer autocrlf handling.
@@ -256,8 +267,8 @@ static int crlf_to_git(const char *path, const char *src, size_t len,
check_safe_crlf(path, crlf_action, &stats, checksafe);
- /* Optimization: No CR? Nothing to convert, regardless. */
- if (!stats.cr)
+ /* Optimization: No CRLF? Nothing to convert, regardless. */
+ if (!stats.crlf)
return 0;
/*
@@ -271,7 +282,7 @@ static int crlf_to_git(const char *path, const char *src, size_t len,
if (strbuf_avail(buf) + buf->len < len)
strbuf_grow(buf, len - buf->len);
dst = buf->buf;
- if (crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS) {
+ if (crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) {
/*
* If we guessed, we already know we rejected a file with
* lone CR, and we can strip a CR without looking at what
@@ -304,19 +315,15 @@ static int crlf_to_worktree(const char *path, const char *src, size_t len,
gather_stats(src, len, &stats);
- /* No LF? Nothing to convert, regardless. */
- if (!stats.lf)
- return 0;
-
- /* Was it already in CRLF format? */
- if (stats.lf == stats.crlf)
+ /* No "naked" LF? Nothing to convert, regardless. */
+ if (!stats.lonelf)
return 0;
- if (crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS) {
- if (crlf_action == CRLF_GUESS) {
+ if (crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) {
+ if (crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) {
/* If we have any CR or CRLF line endings, we do not touch it */
/* This is the new safer autocrlf-handling */
- if (stats.cr > 0 || stats.crlf > 0)
+ if (stats.lonecr || stats.crlf )
return 0;
}
@@ -328,7 +335,7 @@ static int crlf_to_worktree(const char *path, const char *src, size_t len,
if (src == buf->buf)
to_free = strbuf_detach(buf, NULL);
- strbuf_grow(buf, len + stats.lf - stats.crlf);
+ strbuf_grow(buf, len + stats.lonelf);
for (;;) {
const char *nl = memchr(src, '\n', len);
if (!nl)
@@ -696,7 +703,7 @@ static int ident_to_worktree(const char *path, const char *src, size_t len,
return 1;
}
-static enum crlf_action git_path_check_crlf(const char *path, struct git_attr_check *check)
+static enum crlf_action git_path_check_crlf(struct git_attr_check *check)
{
const char *value = check->value;
@@ -707,13 +714,13 @@ static enum crlf_action git_path_check_crlf(const char *path, struct git_attr_ch
else if (ATTR_UNSET(value))
;
else if (!strcmp(value, "input"))
- return CRLF_INPUT;
+ return CRLF_TEXT_INPUT;
else if (!strcmp(value, "auto"))
return CRLF_AUTO;
- return CRLF_GUESS;
+ return CRLF_UNDEFINED;
}
-static enum eol git_path_check_eol(const char *path, struct git_attr_check *check)
+static enum eol git_path_check_eol(struct git_attr_check *check)
{
const char *value = check->value;
@@ -726,8 +733,7 @@ static enum eol git_path_check_eol(const char *path, struct git_attr_check *chec
return EOL_UNSET;
}
-static struct convert_driver *git_path_check_convert(const char *path,
- struct git_attr_check *check)
+static struct convert_driver *git_path_check_convert(struct git_attr_check *check)
{
const char *value = check->value;
struct convert_driver *drv;
@@ -740,28 +746,17 @@ static struct convert_driver *git_path_check_convert(const char *path,
return NULL;
}
-static int git_path_check_ident(const char *path, struct git_attr_check *check)
+static int git_path_check_ident(struct git_attr_check *check)
{
const char *value = check->value;
return !!ATTR_TRUE(value);
}
-static enum crlf_action input_crlf_action(enum crlf_action text_attr, enum eol eol_attr)
-{
- if (text_attr == CRLF_BINARY)
- return CRLF_BINARY;
- if (eol_attr == EOL_LF)
- return CRLF_INPUT;
- if (eol_attr == EOL_CRLF)
- return CRLF_CRLF;
- return text_attr;
-}
-
struct conv_attrs {
struct convert_driver *drv;
- enum crlf_action crlf_action;
- enum eol eol_attr;
+ enum crlf_action attr_action; /* What attr says */
+ enum crlf_action crlf_action; /* When no attr is set, use core.autocrlf */
int ident;
};
@@ -783,18 +778,33 @@ static void convert_attrs(struct conv_attrs *ca, const char *path)
}
if (!git_check_attr(path, NUM_CONV_ATTRS, ccheck)) {
- ca->crlf_action = git_path_check_crlf(path, ccheck + 4);
- if (ca->crlf_action == CRLF_GUESS)
- ca->crlf_action = git_path_check_crlf(path, ccheck + 0);
- ca->ident = git_path_check_ident(path, ccheck + 1);
- ca->drv = git_path_check_convert(path, ccheck + 2);
- ca->eol_attr = git_path_check_eol(path, ccheck + 3);
+ ca->crlf_action = git_path_check_crlf(ccheck + 4);
+ if (ca->crlf_action == CRLF_UNDEFINED)
+ ca->crlf_action = git_path_check_crlf(ccheck + 0);
+ ca->attr_action = ca->crlf_action;
+ ca->ident = git_path_check_ident(ccheck + 1);
+ ca->drv = git_path_check_convert(ccheck + 2);
+ if (ca->crlf_action != CRLF_BINARY) {
+ enum eol eol_attr = git_path_check_eol(ccheck + 3);
+ if (eol_attr == EOL_LF)
+ ca->crlf_action = CRLF_TEXT_INPUT;
+ else if (eol_attr == EOL_CRLF)
+ ca->crlf_action = CRLF_TEXT_CRLF;
+ }
+ ca->attr_action = ca->crlf_action;
} else {
ca->drv = NULL;
- ca->crlf_action = CRLF_GUESS;
- ca->eol_attr = EOL_UNSET;
+ ca->crlf_action = CRLF_UNDEFINED;
ca->ident = 0;
}
+ if (ca->crlf_action == CRLF_TEXT)
+ ca->crlf_action = text_eol_is_crlf() ? CRLF_TEXT_CRLF : CRLF_TEXT_INPUT;
+ if (ca->crlf_action == CRLF_UNDEFINED && auto_crlf == AUTO_CRLF_FALSE)
+ ca->crlf_action = CRLF_BINARY;
+ if (ca->crlf_action == CRLF_UNDEFINED && auto_crlf == AUTO_CRLF_TRUE)
+ ca->crlf_action = CRLF_AUTO_CRLF;
+ if (ca->crlf_action == CRLF_UNDEFINED && auto_crlf == AUTO_CRLF_INPUT)
+ ca->crlf_action = CRLF_AUTO_INPUT;
}
int would_convert_to_git_filter_fd(const char *path)
@@ -819,23 +829,25 @@ int would_convert_to_git_filter_fd(const char *path)
const char *get_convert_attr_ascii(const char *path)
{
struct conv_attrs ca;
- enum crlf_action crlf_action;
convert_attrs(&ca, path);
- crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr);
- switch (crlf_action) {
- case CRLF_GUESS:
+ switch (ca.attr_action) {
+ case CRLF_UNDEFINED:
return "";
case CRLF_BINARY:
return "-text";
case CRLF_TEXT:
return "text";
- case CRLF_INPUT:
+ case CRLF_TEXT_INPUT:
return "text eol=lf";
- case CRLF_CRLF:
- return "text=auto eol=crlf";
+ case CRLF_TEXT_CRLF:
+ return "text eol=crlf";
case CRLF_AUTO:
return "text=auto";
+ case CRLF_AUTO_CRLF:
+ return "text=auto eol=crlf"; /* This is not supported yet */
+ case CRLF_AUTO_INPUT:
+ return "text=auto eol=lf"; /* This is not supported yet */
}
return "";
}
@@ -862,7 +874,6 @@ int convert_to_git(const char *path, const char *src, size_t len,
src = dst->buf;
len = dst->len;
}
- ca.crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr);
ret |= crlf_to_git(path, src, len, dst, ca.crlf_action, checksafe);
if (ret && dst) {
src = dst->buf;
@@ -883,7 +894,6 @@ void convert_to_git_filter_fd(const char *path, int fd, struct strbuf *dst,
if (!apply_filter(path, NULL, 0, fd, dst, ca.drv->clean))
die("%s: clean filter '%s' failed", path, ca.drv->name);
- ca.crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr);
crlf_to_git(path, dst->buf, dst->len, dst, ca.crlf_action, checksafe);
ident_to_git(path, dst->buf, dst->len, dst, ca.ident);
}
@@ -913,7 +923,6 @@ static int convert_to_working_tree_internal(const char *path, const char *src,
* is a smudge filter. The filter might expect CRLFs.
*/
if (filter || !normalizing) {
- ca.crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr);
ret |= crlf_to_worktree(path, src, len, dst, ca.crlf_action);
if (ret) {
src = dst->buf;
@@ -1382,14 +1391,15 @@ struct stream_filter *get_stream_filter(const char *path, const unsigned char *s
if (ca.ident)
filter = ident_filter(sha1);
- crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr);
+ crlf_action = ca.crlf_action;
- if ((crlf_action == CRLF_BINARY) || (crlf_action == CRLF_INPUT) ||
- (crlf_action == CRLF_GUESS && auto_crlf == AUTO_CRLF_FALSE))
+ if ((crlf_action == CRLF_BINARY) ||
+ crlf_action == CRLF_AUTO_INPUT ||
+ (crlf_action == CRLF_TEXT_INPUT))
filter = cascade_filter(filter, &null_filter_singleton);
else if (output_eol(crlf_action) == EOL_CRLF &&
- !(crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS))
+ !(crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_CRLF))
filter = cascade_filter(filter, lf_to_crlf_filter());
return filter;
diff --git a/credential-cache--daemon.c b/credential-cache--daemon.c
index cc65a9c0d3..291c0fd5e9 100644
--- a/credential-cache--daemon.c
+++ b/credential-cache--daemon.c
@@ -126,8 +126,17 @@ static void serve_one_client(FILE *in, FILE *out)
fprintf(out, "password=%s\n", e->item.password);
}
}
- else if (!strcmp(action.buf, "exit"))
+ else if (!strcmp(action.buf, "exit")) {
+ /*
+ * It's important that we clean up our socket first, and then
+ * signal the client only once we have finished the cleanup.
+ * Calling exit() directly does this, because we clean up in
+ * our atexit() handler, and then signal the client when our
+ * process actually ends, which closes the socket and gives
+ * them EOF.
+ */
exit(0);
+ }
else if (!strcmp(action.buf, "erase"))
remove_credential(&c);
else if (!strcmp(action.buf, "store")) {
@@ -215,7 +224,7 @@ static const char permissions_advice[] =
"users may be able to read your cached credentials. Consider running:\n"
"\n"
" chmod 0700 %s";
-static void check_socket_directory(const char *path)
+static void init_socket_directory(const char *path)
{
struct stat st;
char *path_copy = xstrdup(path);
@@ -224,20 +233,27 @@ static void check_socket_directory(const char *path)
if (!stat(dir, &st)) {
if (st.st_mode & 077)
die(permissions_advice, dir);
- free(path_copy);
- return;
+ } else {
+ /*
+ * We must be sure to create the directory with the correct mode,
+ * not just chmod it after the fact; otherwise, there is a race
+ * condition in which somebody can chdir to it, sleep, then try to open
+ * our protected socket.
+ */
+ if (safe_create_leading_directories_const(dir) < 0)
+ die_errno("unable to create directories for '%s'", dir);
+ if (mkdir(dir, 0700) < 0)
+ die_errno("unable to mkdir '%s'", dir);
}
- /*
- * We must be sure to create the directory with the correct mode,
- * not just chmod it after the fact; otherwise, there is a race
- * condition in which somebody can chdir to it, sleep, then try to open
- * our protected socket.
- */
- if (safe_create_leading_directories_const(dir) < 0)
- die_errno("unable to create directories for '%s'", dir);
- if (mkdir(dir, 0700) < 0)
- die_errno("unable to mkdir '%s'", dir);
+ if (chdir(dir))
+ /*
+ * We don't actually care what our cwd is; we chdir here just to
+ * be a friendly daemon and avoid tying up our original cwd.
+ * If this fails, it's OK to just continue without that benefit.
+ */
+ ;
+
free(path_copy);
}
@@ -264,7 +280,10 @@ int main(int argc, const char **argv)
if (!socket_path)
usage_with_options(usage, options);
- check_socket_directory(socket_path);
+ if (!is_absolute_path(socket_path))
+ die("socket directory must be an absolute path");
+
+ init_socket_directory(socket_path);
register_tempfile(&socket_file, socket_path);
if (ignore_sighup)
diff --git a/credential-cache.c b/credential-cache.c
index f4afdc6988..86e21de49b 100644
--- a/credential-cache.c
+++ b/credential-cache.c
@@ -32,6 +32,7 @@ static int send_request(const char *socket, const struct strbuf *out)
write_or_die(1, in, r);
got_data = 1;
}
+ close(fd);
return got_data;
}
diff --git a/credential.c b/credential.c
index 7d6501d190..aa996669fc 100644
--- a/credential.c
+++ b/credential.c
@@ -63,9 +63,12 @@ static int credential_config_callback(const char *var, const char *value,
key = dot + 1;
}
- if (!strcmp(key, "helper"))
- string_list_append(&c->helpers, value);
- else if (!strcmp(key, "username")) {
+ if (!strcmp(key, "helper")) {
+ if (*value)
+ string_list_append(&c->helpers, value);
+ else
+ string_list_clear(&c->helpers, 0);
+ } else if (!strcmp(key, "username")) {
if (!c->username)
c->username = xstrdup(value);
}
diff --git a/daemon.c b/daemon.c
index 46b411c7d9..8d45c336f5 100644
--- a/daemon.c
+++ b/daemon.c
@@ -808,7 +808,7 @@ static void check_dead_children(void)
cradle = &blanket->next;
}
-static char **cld_argv;
+static struct argv_array cld_argv = ARGV_ARRAY_INIT;
static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
{
struct child_process cld = CHILD_PROCESS_INIT;
@@ -842,7 +842,7 @@ static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
#endif
}
- cld.argv = (const char **)cld_argv;
+ cld.argv = cld_argv.argv;
cld.in = incoming;
cld.out = dup(incoming);
@@ -1374,12 +1374,10 @@ int main(int argc, char **argv)
write_file(pid_file, "%"PRIuMAX, (uintmax_t) getpid());
/* prepare argv for serving-processes */
- cld_argv = xmalloc(sizeof (char *) * (argc + 2));
- cld_argv[0] = argv[0]; /* git-daemon */
- cld_argv[1] = "--serve";
+ argv_array_push(&cld_argv, argv[0]); /* git-daemon */
+ argv_array_push(&cld_argv, "--serve");
for (i = 1; i < argc; ++i)
- cld_argv[i+1] = argv[i];
- cld_argv[argc+1] = NULL;
+ argv_array_push(&cld_argv, argv[i]);
return serve(&listen_addr, listen_port, cred);
}
diff --git a/diff.c b/diff.c
index 2136b6970b..d3734d3181 100644
--- a/diff.c
+++ b/diff.c
@@ -26,6 +26,7 @@
#endif
static int diff_detect_rename_default;
+static int diff_compaction_heuristic = 1;
static int diff_rename_limit_default = 400;
static int diff_suppress_blank_empty;
static int diff_use_color_default = -1;
@@ -168,6 +169,11 @@ long parse_algorithm_value(const char *value)
* never be affected by the setting of diff.renames
* the user happens to have in the configuration file.
*/
+void init_diff_ui_defaults(void)
+{
+ diff_detect_rename_default = 1;
+}
+
int git_diff_ui_config(const char *var, const char *value, void *cb)
{
if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) {
@@ -184,6 +190,10 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
diff_detect_rename_default = git_config_rename(var, value);
return 0;
}
+ if (!strcmp(var, "diff.compactionheuristic")) {
+ diff_compaction_heuristic = git_config_bool(var, value);
+ return 0;
+ }
if (!strcmp(var, "diff.autorefreshindex")) {
diff_auto_refresh_index = git_config_bool(var, value);
return 0;
@@ -2607,12 +2617,9 @@ static void builtin_checkdiff(const char *name_a, const char *name_b,
struct diff_filespec *alloc_filespec(const char *path)
{
- int namelen = strlen(path);
- struct diff_filespec *spec = xmalloc(sizeof(*spec) + namelen + 1);
+ struct diff_filespec *spec;
- memset(spec, 0, sizeof(*spec));
- spec->path = (char *)(spec + 1);
- memcpy(spec->path, path, namelen+1);
+ FLEXPTR_ALLOC_STR(spec, path, path);
spec->count = 1;
spec->is_binary = -1;
return spec;
@@ -2707,21 +2714,21 @@ static int reuse_worktree_file(const char *name, const unsigned char *sha1, int
static int diff_populate_gitlink(struct diff_filespec *s, int size_only)
{
- int len;
- char *data = xmalloc(100), *dirty = "";
+ struct strbuf buf = STRBUF_INIT;
+ char *dirty = "";
/* Are we looking at the work tree? */
if (s->dirty_submodule)
dirty = "-dirty";
- len = snprintf(data, 100,
- "Subproject commit %s%s\n", sha1_to_hex(s->sha1), dirty);
- s->data = data;
- s->size = len;
- s->should_free = 1;
+ strbuf_addf(&buf, "Subproject commit %s%s\n", sha1_to_hex(s->sha1), dirty);
+ s->size = buf.len;
if (size_only) {
s->data = NULL;
- free(data);
+ strbuf_release(&buf);
+ } else {
+ s->data = strbuf_detach(&buf, NULL);
+ s->should_free = 1;
}
return 0;
}
@@ -3276,6 +3283,8 @@ void diff_setup(struct diff_options *options)
options->use_color = diff_use_color_default;
options->detect_rename = diff_detect_rename_default;
options->xdl_opts |= diff_algorithm;
+ if (diff_compaction_heuristic)
+ DIFF_XDL_SET(options, COMPACTION_HEURISTIC);
options->orderfile = diff_order_file_cfg;
@@ -3796,6 +3805,10 @@ int diff_opt_parse(struct diff_options *options,
DIFF_XDL_SET(options, IGNORE_WHITESPACE_AT_EOL);
else if (!strcmp(arg, "--ignore-blank-lines"))
DIFF_XDL_SET(options, IGNORE_BLANK_LINES);
+ else if (!strcmp(arg, "--compaction-heuristic"))
+ DIFF_XDL_SET(options, COMPACTION_HEURISTIC);
+ else if (!strcmp(arg, "--no-compaction-heuristic"))
+ DIFF_XDL_CLR(options, COMPACTION_HEURISTIC);
else if (!strcmp(arg, "--patience"))
options->xdl_opts = DIFF_WITH_ALG(options, PATIENCE_DIFF);
else if (!strcmp(arg, "--histogram"))
@@ -5085,7 +5098,7 @@ size_t fill_textconv(struct userdiff_driver *driver,
{
size_t size;
- if (!driver || !driver->textconv) {
+ if (!driver) {
if (!DIFF_FILE_VALID(df)) {
*outbuf = "";
return 0;
@@ -5096,6 +5109,9 @@ size_t fill_textconv(struct userdiff_driver *driver,
return df->size;
}
+ if (!driver->textconv)
+ die("BUG: fill_textconv called with non-textconv driver");
+
if (driver->textconv_cache && df->sha1_valid) {
*outbuf = notes_cache_get(driver->textconv_cache, df->sha1,
&size);
diff --git a/diff.h b/diff.h
index 70b2d70d64..125447be09 100644
--- a/diff.h
+++ b/diff.h
@@ -222,8 +222,8 @@ struct combine_diff_path {
} parent[FLEX_ARRAY];
};
#define combine_diff_path_size(n, l) \
- (sizeof(struct combine_diff_path) + \
- sizeof(struct combine_diff_parent) * (n) + (l) + 1)
+ st_add4(sizeof(struct combine_diff_path), (l), 1, \
+ st_mult(sizeof(struct combine_diff_parent), (n)))
extern void show_combined_diff(struct combine_diff_path *elem, int num_parent,
int dense, struct rev_info *);
@@ -266,6 +266,7 @@ extern int parse_long_opt(const char *opt, const char **argv,
const char **optarg);
extern int git_diff_basic_config(const char *var, const char *value, void *cb);
+extern void init_diff_ui_defaults(void);
extern int git_diff_ui_config(const char *var, const char *value, void *cb);
extern void diff_setup(struct diff_options *);
extern int diff_opt_parse(struct diff_options *, const char **, int, const char *);
@@ -349,10 +350,26 @@ extern void diff_no_index(struct rev_info *, int, const char **);
extern int index_differs_from(const char *def, int diff_flags);
+/*
+ * Fill the contents of the filespec "df", respecting any textconv defined by
+ * its userdiff driver. The "driver" parameter must come from a
+ * previous call to get_textconv(), and therefore should either be NULL or have
+ * textconv enabled.
+ *
+ * Note that the memory ownership of the resulting buffer depends on whether
+ * the driver field is NULL. If it is, then the memory belongs to the filespec
+ * struct. If it is non-NULL, then "outbuf" points to a newly allocated buffer
+ * that should be freed by the caller.
+ */
extern size_t fill_textconv(struct userdiff_driver *driver,
struct diff_filespec *df,
char **outbuf);
+/*
+ * Look up the userdiff driver for the given filespec, and return it if
+ * and only if it has textconv enabled (otherwise return NULL). The result
+ * can be passed to fill_textconv().
+ */
extern struct userdiff_driver *get_textconv(struct diff_filespec *one);
extern int parse_rename_score(const char **cp_p);
diff --git a/diffcore-delta.c b/diffcore-delta.c
index 7cf431d261..4159748a70 100644
--- a/diffcore-delta.c
+++ b/diffcore-delta.c
@@ -53,7 +53,8 @@ static struct spanhash_top *spanhash_rehash(struct spanhash_top *orig)
int osz = 1 << orig->alloc_log2;
int sz = osz << 1;
- new = xmalloc(sizeof(*orig) + sizeof(struct spanhash) * sz);
+ new = xmalloc(st_add(sizeof(*orig),
+ st_mult(sizeof(struct spanhash), sz)));
new->alloc_log2 = orig->alloc_log2 + 1;
new->free = INITIAL_FREE(new->alloc_log2);
memset(new->data, 0, sizeof(struct spanhash) * sz);
@@ -130,7 +131,8 @@ static struct spanhash_top *hash_chars(struct diff_filespec *one)
int is_text = !diff_filespec_is_binary(one);
i = INITIAL_HASH_SIZE;
- hash = xmalloc(sizeof(*hash) + sizeof(struct spanhash) * (1<<i));
+ hash = xmalloc(st_add(sizeof(*hash),
+ st_mult(sizeof(struct spanhash), 1<<i)));
hash->alloc_log2 = i;
hash->free = INITIAL_FREE(i);
memset(hash->data, 0, sizeof(struct spanhash) * (1<<i));
diff --git a/diffcore-order.c b/diffcore-order.c
index 97dd3d0095..69d41f7a57 100644
--- a/diffcore-order.c
+++ b/diffcore-order.c
@@ -52,7 +52,7 @@ static void prepare_order(const char *orderfile)
}
if (pass == 0) {
order_cnt = cnt;
- order = xmalloc(sizeof(*order) * cnt);
+ ALLOC_ARRAY(order, cnt);
}
}
}
@@ -120,7 +120,7 @@ void diffcore_order(const char *orderfile)
if (!q->nr)
return;
- o = xmalloc(sizeof(*o) * q->nr);
+ ALLOC_ARRAY(o, q->nr);
for (i = 0; i < q->nr; i++)
o[i].obj = q->queue[i];
order_objects(orderfile, pair_pathtwo, o, q->nr);
diff --git a/diffcore-rename.c b/diffcore-rename.c
index af1fe08861..7f03eb5a04 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -340,9 +340,11 @@ static int find_exact_renames(struct diff_options *options)
int i, renames = 0;
struct hashmap file_table;
- /* Add all sources to the hash table */
+ /* Add all sources to the hash table in reverse order, because
+ * later on they will be retrieved in LIFO order.
+ */
hashmap_init(&file_table, NULL, rename_src_nr);
- for (i = 0; i < rename_src_nr; i++)
+ for (i = rename_src_nr-1; i >= 0; i--)
insert_file_table(&file_table, i, rename_src[i].p->one);
/* Walk the destinations and find best source match */
@@ -537,7 +539,7 @@ void diffcore_rename(struct diff_options *options)
rename_dst_nr * rename_src_nr, 50, 1);
}
- mx = xcalloc(num_create * NUM_CANDIDATE_PER_DST, sizeof(*mx));
+ mx = xcalloc(st_mult(num_create, NUM_CANDIDATE_PER_DST), sizeof(*mx));
for (dst_cnt = i = 0; i < rename_dst_nr; i++) {
struct diff_filespec *two = rename_dst[i].two;
struct diff_score *m;
diff --git a/dir.c b/dir.c
index 552af23704..656f272adc 100644
--- a/dir.c
+++ b/dir.c
@@ -53,8 +53,6 @@ static enum path_treatment read_directory_recursive(struct dir_struct *dir,
int check_only, const struct path_simplify *simplify);
static int get_dtype(struct dirent *de, const char *path, int len);
-static struct trace_key trace_exclude = TRACE_KEY_INIT(EXCLUDE);
-
/* helper string functions with support for the ignore_case flag */
int strcmp_icase(const char *a, const char *b)
{
@@ -66,13 +64,6 @@ int strncmp_icase(const char *a, const char *b, size_t count)
return ignore_case ? strncasecmp(a, b, count) : strncmp(a, b, count);
}
-int fnmatch_icase(const char *pattern, const char *string, int flags)
-{
- return wildmatch(pattern, string,
- flags | (ignore_case ? WM_CASEFOLD : 0),
- NULL);
-}
-
int git_fnmatch(const struct pathspec_item *item,
const char *pattern, const char *string,
int prefix)
@@ -459,7 +450,7 @@ int no_wildcard(const char *string)
void parse_exclude_pattern(const char **pattern,
int *patternlen,
- int *flags,
+ unsigned *flags,
int *nowildcardlen)
{
const char *p = *pattern;
@@ -500,17 +491,12 @@ void add_exclude(const char *string, const char *base,
{
struct exclude *x;
int patternlen;
- int flags;
+ unsigned flags;
int nowildcardlen;
parse_exclude_pattern(&string, &patternlen, &flags, &nowildcardlen);
if (flags & EXC_FLAG_MUSTBEDIR) {
- char *s;
- x = xmalloc(sizeof(*x) + patternlen + 1);
- s = (char *)(x+1);
- memcpy(s, string, patternlen);
- s[patternlen] = '\0';
- x->pattern = s;
+ FLEXPTR_ALLOC_MEM(x, pattern, string, patternlen);
} else {
x = xmalloc(sizeof(*x));
x->pattern = string;
@@ -521,7 +507,6 @@ void add_exclude(const char *string, const char *base,
x->baselen = baselen;
x->flags = flags;
x->srcpos = srcpos;
- string_list_init(&x->sticky_paths, 1);
ALLOC_GROW(el->excludes, el->nr + 1, el->alloc);
el->excludes[el->nr++] = x;
x->el = el;
@@ -562,10 +547,8 @@ void clear_exclude_list(struct exclude_list *el)
{
int i;
- for (i = 0; i < el->nr; i++) {
- string_list_clear(&el->excludes[i]->sticky_paths, 0);
+ for (i = 0; i < el->nr; i++)
free(el->excludes[i]);
- }
free(el->excludes);
free(el->filebuf);
@@ -630,10 +613,7 @@ static struct untracked_cache_dir *lookup_untracked(struct untracked_cache *uc,
}
uc->dir_created++;
- d = xmalloc(sizeof(*d) + len + 1);
- memset(d, 0, sizeof(*d));
- memcpy(d->name, name, len);
- d->name[len] = '\0';
+ FLEX_ALLOC_MEM(d, name, name, len);
ALLOC_GROW(dir->dirs, dir->dirs_nr + 1, dir->dirs_alloc);
memmove(dir->dirs + first + 1, dir->dirs + first,
@@ -702,7 +682,7 @@ static int add_excludes(const char *fname, const char *base, int baselen,
return 0;
}
if (buf[size-1] != '\n') {
- buf = xrealloc(buf, size+1);
+ buf = xrealloc(buf, st_add(size, 1));
buf[size++] = '\n';
}
} else {
@@ -716,7 +696,7 @@ static int add_excludes(const char *fname, const char *base, int baselen,
close(fd);
return 0;
}
- buf = xmalloc(size+1);
+ buf = xmallocz(size);
if (read_in_full(fd, buf, size) != size) {
free(buf);
close(fd);
@@ -811,7 +791,7 @@ void add_excludes_from_file(struct dir_struct *dir, const char *fname)
int match_basename(const char *basename, int basenamelen,
const char *pattern, int prefix, int patternlen,
- int flags)
+ unsigned flags)
{
if (prefix == patternlen) {
if (patternlen == basenamelen &&
@@ -836,7 +816,7 @@ int match_basename(const char *basename, int basenamelen,
int match_pathname(const char *pathname, int pathlen,
const char *base, int baselen,
const char *pattern, int prefix, int patternlen,
- int flags)
+ unsigned flags)
{
const char *name;
int namelen;
@@ -883,7 +863,7 @@ int match_pathname(const char *pathname, int pathlen,
* then our prefix match is all we need; we
* do not need to call fnmatch at all.
*/
- if (!patternlen && (!namelen || *name == '/'))
+ if (!patternlen && !namelen)
return 1;
}
@@ -892,113 +872,6 @@ int match_pathname(const char *pathname, int pathlen,
WM_PATHNAME) == 0;
}
-static void add_sticky(struct exclude *exc, const char *pathname, int pathlen)
-{
- struct strbuf sb = STRBUF_INIT;
- int i;
-
- for (i = exc->sticky_paths.nr - 1; i >= 0; i--) {
- const char *sticky = exc->sticky_paths.items[i].string;
- int len = strlen(sticky);
-
- if (pathlen < len && sticky[pathlen] == '/' &&
- !strncmp(pathname, sticky, pathlen))
- return;
- }
-
- strbuf_add(&sb, pathname, pathlen);
- string_list_append_nodup(&exc->sticky_paths, strbuf_detach(&sb, NULL));
-}
-
-static int match_sticky(struct exclude *exc, const char *pathname, int pathlen, int dtype)
-{
- int i;
-
- for (i = exc->sticky_paths.nr - 1; i >= 0; i--) {
- const char *sticky = exc->sticky_paths.items[i].string;
- int len = strlen(sticky);
-
- if (pathlen == len && dtype == DT_DIR &&
- !strncmp(pathname, sticky, len))
- return 1;
-
- if (pathlen > len && pathname[len] == '/' &&
- !strncmp(pathname, sticky, len))
- return 1;
- }
-
- return 0;
-}
-
-static inline int different_decisions(const struct exclude *a,
- const struct exclude *b)
-{
- return (a->flags & EXC_FLAG_NEGATIVE) != (b->flags & EXC_FLAG_NEGATIVE);
-}
-
-/*
- * Return non-zero if pathname is a directory and an ancestor of the
- * literal path in a pattern.
- */
-static int match_directory_part(const char *pathname, int pathlen,
- int *dtype, struct exclude *x)
-{
- const char *base = x->base;
- int baselen = x->baselen ? x->baselen - 1 : 0;
- const char *pattern = x->pattern;
- int prefix = x->nowildcardlen;
- int patternlen = x->patternlen;
-
- if (*dtype == DT_UNKNOWN)
- *dtype = get_dtype(NULL, pathname, pathlen);
- if (*dtype != DT_DIR)
- return 0;
-
- if (*pattern == '/') {
- pattern++;
- patternlen--;
- prefix--;
- }
-
- if (baselen) {
- if (((pathlen < baselen && base[pathlen] == '/') ||
- pathlen == baselen) &&
- !strncmp_icase(pathname, base, pathlen))
- return 1;
- pathname += baselen + 1;
- pathlen -= baselen + 1;
- }
-
-
- if (prefix &&
- (((pathlen < prefix && pattern[pathlen] == '/') ||
- pathlen == prefix) &&
- !strncmp_icase(pathname, pattern, pathlen)))
- return 1;
-
- return 0;
-}
-
-static struct exclude *should_descend(const char *pathname, int pathlen,
- int *dtype, struct exclude_list *el,
- struct exclude *exc)
-{
- int i;
-
- for (i = el->nr - 1; 0 <= i; i--) {
- struct exclude *x = el->excludes[i];
-
- if (x == exc)
- break;
-
- if (!(x->flags & EXC_FLAG_NODIR) &&
- different_decisions(x, exc) &&
- match_directory_part(pathname, pathlen, dtype, x))
- return x;
- }
- return NULL;
-}
-
/*
* Scan the given exclude list in reverse to see whether pathname
* should be ignored. The first match (i.e. the last on the list), if
@@ -1012,32 +885,16 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname,
struct exclude_list *el)
{
struct exclude *exc = NULL; /* undecided */
- int i, maybe_descend = 0;
+ int i;
if (!el->nr)
return NULL; /* undefined */
- trace_printf_key(&trace_exclude, "exclude: from %s\n", el->src);
-
for (i = el->nr - 1; 0 <= i; i--) {
struct exclude *x = el->excludes[i];
const char *exclude = x->pattern;
int prefix = x->nowildcardlen;
- if (!maybe_descend && i < el->nr - 1 &&
- different_decisions(x, el->excludes[i+1]))
- maybe_descend = 1;
-
- if (x->sticky_paths.nr) {
- if (*dtype == DT_UNKNOWN)
- *dtype = get_dtype(NULL, pathname, pathlen);
- if (match_sticky(x, pathname, pathlen, *dtype)) {
- exc = x;
- break;
- }
- continue;
- }
-
if (x->flags & EXC_FLAG_MUSTBEDIR) {
if (*dtype == DT_UNKNOWN)
*dtype = get_dtype(NULL, pathname, pathlen);
@@ -1064,45 +921,6 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname,
break;
}
}
-
- if (!exc) {
- trace_printf_key(&trace_exclude, "exclude: %.*s => n/a\n",
- pathlen, pathname);
- return NULL;
- }
-
- /*
- * We have found a matching pattern "exc" that may exclude whole
- * directory. We also found that there may be a pattern that matches
- * something inside the directory and reincludes stuff.
- *
- * Go through the patterns again, find that pattern and double check.
- * If it's true, return "undecided" and keep descending in. "exc" is
- * marked sticky so that it continues to match inside the directory.
- */
- if (!(exc->flags & EXC_FLAG_NEGATIVE) && maybe_descend) {
- struct exclude *x;
-
- if (*dtype == DT_UNKNOWN)
- *dtype = get_dtype(NULL, pathname, pathlen);
-
- if (*dtype == DT_DIR &&
- (x = should_descend(pathname, pathlen, dtype, el, exc))) {
- add_sticky(exc, pathname, pathlen);
- trace_printf_key(&trace_exclude,
- "exclude: %.*s vs %s at line %d => %s,"
- " forced open by %s at line %d => n/a\n",
- pathlen, pathname, exc->pattern, exc->srcpos,
- exc->flags & EXC_FLAG_NEGATIVE ? "no" : "yes",
- x->pattern, x->srcpos);
- return NULL;
- }
- }
-
- trace_printf_key(&trace_exclude, "exclude: %.*s vs %s at line %d => %s%s\n",
- pathlen, pathname, exc->pattern, exc->srcpos,
- exc->flags & EXC_FLAG_NEGATIVE ? "no" : "yes",
- exc->sticky_paths.nr ? " (stuck)" : "");
return exc;
}
@@ -1334,10 +1152,8 @@ static struct dir_entry *dir_entry_new(const char *pathname, int len)
{
struct dir_entry *ent;
- ent = xmalloc(sizeof(*ent) + len + 1);
+ FLEX_ALLOC_MEM(ent, name, pathname, len);
ent->len = len;
- memcpy(ent->name, pathname, len);
- ent->name[len] = 0;
return ent;
}
@@ -1850,13 +1666,9 @@ static enum path_treatment read_directory_recursive(struct dir_struct *dir,
struct cached_dir cdir;
enum path_treatment state, subdir_state, dir_state = path_none;
struct strbuf path = STRBUF_INIT;
- static int level = 0;
strbuf_add(&path, base, baselen);
- trace_printf_key(&trace_exclude, "exclude: [%d] enter '%.*s'\n",
- level++, baselen, base);
-
if (open_cached_dir(&cdir, dir, untracked, &path, check_only))
goto out;
@@ -1920,8 +1732,6 @@ static enum path_treatment read_directory_recursive(struct dir_struct *dir,
}
close_cached_dir(&cdir);
out:
- trace_printf_key(&trace_exclude, "exclude: [%d] leave '%.*s'\n",
- --level, baselen, base);
strbuf_release(&path);
return dir_state;
@@ -2158,25 +1968,6 @@ static struct untracked_cache_dir *validate_untracked_cache(struct dir_struct *d
return root;
}
-static void clear_sticky(struct dir_struct *dir)
-{
- struct exclude_list_group *g;
- struct exclude_list *el;
- struct exclude *x;
- int i, j, k;
-
- for (i = EXC_CMDL; i <= EXC_FILE; i++) {
- g = &dir->exclude_list_group[i];
- for (j = g->nr - 1; j >= 0; j--) {
- el = &g->el[j];
- for (k = el->nr - 1; 0 <= k; k--) {
- x = el->excludes[k];
- string_list_clear(&x->sticky_paths, 0);
- }
- }
- }
-}
-
int read_directory(struct dir_struct *dir, const char *path, int len, const struct pathspec *pathspec)
{
struct path_simplify *simplify;
@@ -2198,12 +1989,6 @@ int read_directory(struct dir_struct *dir, const char *path, int len, const stru
return dir->nr;
/*
- * Stay on the safe side. if read_directory() has run once on
- * "dir", some sticky flag may have been left. Clear them all.
- */
- clear_sticky(dir);
-
- /*
* exclude patterns are treated like positive ones in
* create_simplify. Usually exclude patterns should be a
* subset of positive ones, which has no impacts on
@@ -2568,16 +2353,15 @@ void write_untracked_extension(struct strbuf *out, struct untracked_cache *untra
struct ondisk_untracked_cache *ouc;
struct write_data wd;
unsigned char varbuf[16];
- int len = 0, varint_len;
- if (untracked->exclude_per_dir)
- len = strlen(untracked->exclude_per_dir);
- ouc = xmalloc(sizeof(*ouc) + len + 1);
+ int varint_len;
+ size_t len = strlen(untracked->exclude_per_dir);
+
+ FLEX_ALLOC_MEM(ouc, exclude_per_dir, untracked->exclude_per_dir, len);
stat_data_to_disk(&ouc->info_exclude_stat, &untracked->ss_info_exclude.stat);
stat_data_to_disk(&ouc->excludes_file_stat, &untracked->ss_excludes_file.stat);
hashcpy(ouc->info_exclude_sha1, untracked->ss_info_exclude.sha1);
hashcpy(ouc->excludes_file_sha1, untracked->ss_excludes_file.sha1);
ouc->dir_flags = htonl(untracked->dir_flags);
- memcpy(ouc->exclude_per_dir, untracked->exclude_per_dir, len + 1);
varint_len = encode_varint(untracked->ident.len, varbuf);
strbuf_add(out, varbuf, varint_len);
@@ -2682,21 +2466,21 @@ static int read_one_dir(struct untracked_cache_dir **untracked_,
ud.untracked_alloc = value;
ud.untracked_nr = value;
if (ud.untracked_nr)
- ud.untracked = xmalloc(sizeof(*ud.untracked) * ud.untracked_nr);
+ ALLOC_ARRAY(ud.untracked, ud.untracked_nr);
data = next;
next = data;
ud.dirs_alloc = ud.dirs_nr = decode_varint(&next);
if (next > end)
return -1;
- ud.dirs = xmalloc(sizeof(*ud.dirs) * ud.dirs_nr);
+ ALLOC_ARRAY(ud.dirs, ud.dirs_nr);
data = next;
len = strlen((const char *)data);
next = data + len + 1;
if (next > rd->end)
return -1;
- *untracked_ = untracked = xmalloc(sizeof(*untracked) + len);
+ *untracked_ = untracked = xmalloc(st_add(sizeof(*untracked), len));
memcpy(untracked, &ud, sizeof(ud));
memcpy(untracked->name, data, len + 1);
data = next;
@@ -2809,7 +2593,7 @@ struct untracked_cache *read_untracked_extension(const void *data, unsigned long
rd.data = next;
rd.end = end;
rd.index = 0;
- rd.ucd = xmalloc(sizeof(*rd.ucd) * len);
+ ALLOC_ARRAY(rd.ucd, len);
if (read_one_dir(&uc->root, &rd) || rd.index != len)
goto done;
diff --git a/dir.h b/dir.h
index 3ec3fb0dca..d56d2fb48f 100644
--- a/dir.h
+++ b/dir.h
@@ -4,7 +4,6 @@
/* See Documentation/technical/api-directory-listing.txt */
#include "strbuf.h"
-#include "string-list.h"
struct dir_entry {
unsigned int len;
@@ -28,15 +27,13 @@ struct exclude {
int nowildcardlen;
const char *base;
int baselen;
- int flags;
+ unsigned flags; /* EXC_FLAG_* */
/*
* Counting starts from 1 for line numbers in ignore files,
* and from -1 decrementing for patterns from CLI args.
*/
int srcpos;
-
- struct string_list sticky_paths;
};
/*
@@ -229,10 +226,10 @@ struct dir_entry *dir_add_ignored(struct dir_struct *dir, const char *pathname,
* attr.c:path_matches()
*/
extern int match_basename(const char *, int,
- const char *, int, int, int);
+ const char *, int, int, unsigned);
extern int match_pathname(const char *, int,
const char *, int,
- const char *, int, int, int);
+ const char *, int, int, unsigned);
extern struct exclude *last_exclude_matching(struct dir_struct *dir,
const char *name, int *dtype);
@@ -244,7 +241,7 @@ extern struct exclude_list *add_exclude_list(struct dir_struct *dir,
extern int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen,
struct exclude_list *el, int check_index);
extern void add_excludes_from_file(struct dir_struct *, const char *fname);
-extern void parse_exclude_pattern(const char **string, int *patternlen, int *flags, int *nowildcardlen);
+extern void parse_exclude_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen);
extern void add_exclude(const char *string, const char *base,
int baselen, struct exclude_list *el, int srcpos);
extern void clear_exclude_list(struct exclude_list *el);
@@ -275,7 +272,6 @@ extern int remove_path(const char *path);
extern int strcmp_icase(const char *a, const char *b);
extern int strncmp_icase(const char *a, const char *b, size_t count);
-extern int fnmatch_icase(const char *pattern, const char *string, int flags);
/*
* The prefix part of pattern must not contains wildcards.
diff --git a/entry.c b/entry.c
index 582c40071a..a4109574fa 100644
--- a/entry.c
+++ b/entry.c
@@ -6,7 +6,7 @@
static void create_directories(const char *path, int path_len,
const struct checkout *state)
{
- char *buf = xmalloc(path_len + 1);
+ char *buf = xmallocz(path_len);
int len = 0;
while (len < path_len) {
diff --git a/environment.c b/environment.c
index 6dec9d0403..2857e3f366 100644
--- a/environment.c
+++ b/environment.c
@@ -25,14 +25,13 @@ int log_all_ref_updates = -1; /* unspecified */
int warn_ambiguous_refs = 1;
int warn_on_object_refname_ambiguity = 1;
int ref_paranoia = -1;
-int repository_format_version;
int repository_format_precious_objects;
const char *git_commit_encoding;
const char *git_log_output_encoding;
-int shared_repository = PERM_UMASK;
const char *apply_default_whitespace;
const char *apply_default_ignorewhitespace;
const char *git_attributes_file;
+const char *git_hooks_path;
int zlib_compression_level = Z_BEST_SPEED;
int core_compression_level;
int core_compression_seen;
@@ -64,7 +63,6 @@ int grafts_replace_parents = 1;
int core_apply_sparse_checkout;
int merge_log_config = -1;
int precomposed_unicode = -1; /* see probe_utf8_pathname_composition() */
-struct startup_info *startup_info;
unsigned long pack_size_limit_cfg;
#ifndef PROTECT_HFS_DEFAULT
@@ -325,3 +323,24 @@ const char *get_commit_output_encoding(void)
{
return git_commit_encoding ? git_commit_encoding : "UTF-8";
}
+
+static int the_shared_repository = PERM_UMASK;
+static int need_shared_repository_from_config = 1;
+
+void set_shared_repository(int value)
+{
+ the_shared_repository = value;
+ need_shared_repository_from_config = 0;
+}
+
+int get_shared_repository(void)
+{
+ if (need_shared_repository_from_config) {
+ const char *var = "core.sharedrepository";
+ const char *value;
+ if (!git_config_get_value(var, &value))
+ the_shared_repository = git_config_perm(var, value);
+ need_shared_repository_from_config = 0;
+ }
+ return the_shared_repository;
+}
diff --git a/ewah/bitmap.c b/ewah/bitmap.c
index 47ad6747c4..7103ceefbf 100644
--- a/ewah/bitmap.c
+++ b/ewah/bitmap.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-#include "git-compat-util.h"
+#include "cache.h"
#include "ewok.h"
#define EWAH_MASK(x) ((eword_t)1 << (x % BITS_IN_EWORD))
@@ -25,8 +25,8 @@
struct bitmap *bitmap_new(void)
{
- struct bitmap *bitmap = ewah_malloc(sizeof(struct bitmap));
- bitmap->words = ewah_calloc(32, sizeof(eword_t));
+ struct bitmap *bitmap = xmalloc(sizeof(struct bitmap));
+ bitmap->words = xcalloc(32, sizeof(eword_t));
bitmap->word_alloc = 32;
return bitmap;
}
@@ -38,9 +38,7 @@ void bitmap_set(struct bitmap *self, size_t pos)
if (block >= self->word_alloc) {
size_t old_size = self->word_alloc;
self->word_alloc = block * 2;
- self->words = ewah_realloc(self->words,
- self->word_alloc * sizeof(eword_t));
-
+ REALLOC_ARRAY(self->words, self->word_alloc);
memset(self->words + old_size, 0x0,
(self->word_alloc - old_size) * sizeof(eword_t));
}
@@ -100,12 +98,7 @@ struct bitmap *ewah_to_bitmap(struct ewah_bitmap *ewah)
ewah_iterator_init(&it, ewah);
while (ewah_iterator_next(&blowup, &it)) {
- if (i >= bitmap->word_alloc) {
- bitmap->word_alloc *= 1.5;
- bitmap->words = ewah_realloc(
- bitmap->words, bitmap->word_alloc * sizeof(eword_t));
- }
-
+ ALLOC_GROW(bitmap->words, i + 1, bitmap->word_alloc);
bitmap->words[i++] = blowup;
}
@@ -134,8 +127,7 @@ void bitmap_or_ewah(struct bitmap *self, struct ewah_bitmap *other)
if (self->word_alloc < other_final) {
self->word_alloc = other_final;
- self->words = ewah_realloc(self->words,
- self->word_alloc * sizeof(eword_t));
+ REALLOC_ARRAY(self->words, self->word_alloc);
memset(self->words + original_size, 0x0,
(self->word_alloc - original_size) * sizeof(eword_t));
}
diff --git a/ewah/ewah_bitmap.c b/ewah/ewah_bitmap.c
index b522437c0a..2dc9c82ecf 100644
--- a/ewah/ewah_bitmap.c
+++ b/ewah/ewah_bitmap.c
@@ -39,8 +39,7 @@ static inline void buffer_grow(struct ewah_bitmap *self, size_t new_size)
return;
self->alloc_size = new_size;
- self->buffer = ewah_realloc(self->buffer,
- self->alloc_size * sizeof(eword_t));
+ REALLOC_ARRAY(self->buffer, self->alloc_size);
self->rlw = self->buffer + (rlw_offset / sizeof(eword_t));
}
@@ -282,12 +281,9 @@ struct ewah_bitmap *ewah_new(void)
{
struct ewah_bitmap *self;
- self = ewah_malloc(sizeof(struct ewah_bitmap));
- if (self == NULL)
- return NULL;
-
- self->buffer = ewah_malloc(32 * sizeof(eword_t));
+ self = xmalloc(sizeof(struct ewah_bitmap));
self->alloc_size = 32;
+ ALLOC_ARRAY(self->buffer, self->alloc_size);
ewah_clear(self);
return self;
diff --git a/ewah/ewah_io.c b/ewah/ewah_io.c
index 43481b9c60..61f6a43579 100644
--- a/ewah/ewah_io.c
+++ b/ewah/ewah_io.c
@@ -134,11 +134,7 @@ int ewah_read_mmap(struct ewah_bitmap *self, const void *map, size_t len)
self->buffer_size = self->alloc_size = get_be32(ptr);
ptr += sizeof(uint32_t);
- self->buffer = ewah_realloc(self->buffer,
- self->alloc_size * sizeof(eword_t));
-
- if (!self->buffer)
- return -1;
+ REALLOC_ARRAY(self->buffer, self->alloc_size);
/*
* Copy the raw data for the bitmap as a whole chunk;
@@ -180,11 +176,7 @@ int ewah_deserialize(struct ewah_bitmap *self, int fd)
return -1;
self->buffer_size = self->alloc_size = (size_t)ntohl(word_count);
- self->buffer = ewah_realloc(self->buffer,
- self->alloc_size * sizeof(eword_t));
-
- if (!self->buffer)
- return -1;
+ REALLOC_ARRAY(self->buffer, self->alloc_size);
/** 64 bit x N -- compressed words */
buffer = self->buffer;
diff --git a/ewah/ewok.h b/ewah/ewok.h
index 6e2c5e1e3d..269a1a8706 100644
--- a/ewah/ewok.h
+++ b/ewah/ewok.h
@@ -20,16 +20,6 @@
#ifndef __EWOK_BITMAP_H__
#define __EWOK_BITMAP_H__
-#ifndef ewah_malloc
-# define ewah_malloc xmalloc
-#endif
-#ifndef ewah_realloc
-# define ewah_realloc xrealloc
-#endif
-#ifndef ewah_calloc
-# define ewah_calloc xcalloc
-#endif
-
struct strbuf;
typedef uint64_t eword_t;
#define BITS_IN_EWORD (sizeof(eword_t) * 8)
diff --git a/exec_cmd.c b/exec_cmd.c
index e85f0fd8d8..9d5703a157 100644
--- a/exec_cmd.c
+++ b/exec_cmd.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "exec_cmd.h"
#include "quote.h"
+#include "argv-array.h"
#define MAX_ARGS 32
static const char *argv_exec_path;
@@ -43,12 +44,10 @@ const char *git_extract_argv0_path(const char *argv0)
if (!argv0 || !*argv0)
return NULL;
- slash = argv0 + strlen(argv0);
- while (argv0 <= slash && !is_dir_sep(*slash))
- slash--;
+ slash = find_last_dir_sep(argv0);
- if (slash >= argv0) {
+ if (slash) {
argv0_path = xstrndup(argv0, slash - argv0);
return slash + 1;
}
@@ -107,32 +106,25 @@ void setup_path(void)
strbuf_release(&new_path);
}
-const char **prepare_git_cmd(const char **argv)
+const char **prepare_git_cmd(struct argv_array *out, const char **argv)
{
- int argc;
- const char **nargv;
-
- for (argc = 0; argv[argc]; argc++)
- ; /* just counting */
- nargv = xmalloc(sizeof(*nargv) * (argc + 2));
-
- nargv[0] = "git";
- for (argc = 0; argv[argc]; argc++)
- nargv[argc + 1] = argv[argc];
- nargv[argc + 1] = NULL;
- return nargv;
+ argv_array_push(out, "git");
+ argv_array_pushv(out, argv);
+ return out->argv;
}
int execv_git_cmd(const char **argv) {
- const char **nargv = prepare_git_cmd(argv);
- trace_argv_printf(nargv, "trace: exec:");
+ struct argv_array nargv = ARGV_ARRAY_INIT;
+
+ prepare_git_cmd(&nargv, argv);
+ trace_argv_printf(nargv.argv, "trace: exec:");
/* execvp() can only ever return if it fails */
- sane_execvp("git", (char **)nargv);
+ sane_execvp("git", (char **)nargv.argv);
trace_printf("trace: exec failed: %s\n", strerror(errno));
- free(nargv);
+ argv_array_clear(&nargv);
return -1;
}
diff --git a/exec_cmd.h b/exec_cmd.h
index 93b0c02529..1f6b43378b 100644
--- a/exec_cmd.h
+++ b/exec_cmd.h
@@ -1,11 +1,13 @@
#ifndef GIT_EXEC_CMD_H
#define GIT_EXEC_CMD_H
+struct argv_array;
+
extern void git_set_argv_exec_path(const char *exec_path);
extern const char *git_extract_argv0_path(const char *path);
extern const char *git_exec_path(void);
extern void setup_path(void);
-extern const char **prepare_git_cmd(const char **argv);
+extern const char **prepare_git_cmd(struct argv_array *out, const char **argv);
extern int execv_git_cmd(const char **argv); /* NULL terminated */
LAST_ARG_MUST_BE_NULL
extern int execl_git_cmd(const char *cmd, ...);
diff --git a/fast-import.c b/fast-import.c
index bf01b34221..9fc7093406 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -622,7 +622,7 @@ static void *pool_alloc(size_t len)
return xmalloc(len);
}
total_allocd += sizeof(struct mem_pool) + mem_pool_alloc;
- p = xmalloc(sizeof(struct mem_pool) + mem_pool_alloc);
+ p = xmalloc(st_add(sizeof(struct mem_pool), mem_pool_alloc));
p->next_pool = mem_pool;
p->next_free = (char *) p->space;
p->end = p->next_free + mem_pool_alloc;
@@ -814,7 +814,8 @@ static struct tree_entry *new_tree_entry(void)
if (!avail_tree_entry) {
unsigned int n = tree_entry_alloc;
total_allocd += n * sizeof(struct tree_entry);
- avail_tree_entry = e = xmalloc(n * sizeof(struct tree_entry));
+ ALLOC_ARRAY(e, n);
+ avail_tree_entry = e;
while (n-- > 1) {
*((void**)e) = e + 1;
e++;
@@ -864,15 +865,12 @@ static void start_packfile(void)
{
static char tmp_file[PATH_MAX];
struct packed_git *p;
- int namelen;
struct pack_header hdr;
int pack_fd;
pack_fd = odb_mkstemp(tmp_file, sizeof(tmp_file),
"pack/tmp_pack_XXXXXX");
- namelen = strlen(tmp_file) + 2;
- p = xcalloc(1, sizeof(*p) + namelen);
- xsnprintf(p->pack_name, namelen, "%s", tmp_file);
+ FLEX_ALLOC_STR(p, pack_name, tmp_file);
p->pack_fd = pack_fd;
p->do_not_close = 1;
pack_file = sha1fd(pack_fd, p->pack_name);
@@ -898,7 +896,7 @@ static const char *create_index(void)
struct object_entry_pool *o;
/* Build the table of object IDs. */
- idx = xmalloc(object_count * sizeof(*idx));
+ ALLOC_ARRAY(idx, object_count);
c = idx;
for (o = blocks; o; o = o->next_pool)
for (e = o->next_free; e-- != o->entries;)
diff --git a/fetch-pack.c b/fetch-pack.c
index 01e34b689b..b501d5c320 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -671,8 +671,9 @@ static int everything_local(struct fetch_pack_args *args,
static int sideband_demux(int in, int out, void *data)
{
int *xd = data;
+ int ret;
- int ret = recv_sideband("fetch-pack", xd[0], out);
+ ret = recv_sideband("fetch-pack", xd[0], out);
close(out);
return ret;
}
@@ -697,6 +698,7 @@ static int get_pack(struct fetch_pack_args *args,
demux.proc = sideband_demux;
demux.data = xd;
demux.out = -1;
+ demux.isolate_sigpipe = 1;
if (start_async(&demux))
die("fetch-pack: unable to fork off sideband"
" demultiplexer");
diff --git a/fsck.c b/fsck.c
index c637f6676b..92b17f5d6a 100644
--- a/fsck.c
+++ b/fsck.c
@@ -199,7 +199,8 @@ void fsck_set_msg_type(struct fsck_options *options,
if (!options->msg_type) {
int i;
- int *msg_type = xmalloc(sizeof(int) * FSCK_MSG_MAX);
+ int *msg_type;
+ ALLOC_ARRAY(msg_type, FSCK_MSG_MAX);
for (i = 0; i < FSCK_MSG_MAX; i++)
msg_type[i] = fsck_msg_type(i, options);
options->msg_type = msg_type;
@@ -311,9 +312,9 @@ static int fsck_walk_tree(struct tree *tree, void *data, struct fsck_options *op
if (S_ISGITLINK(entry.mode))
continue;
if (S_ISDIR(entry.mode))
- result = options->walk(&lookup_tree(entry.sha1)->object, OBJ_TREE, data, options);
+ result = options->walk(&lookup_tree(entry.oid->hash)->object, OBJ_TREE, data, options);
else if (S_ISREG(entry.mode) || S_ISLNK(entry.mode))
- result = options->walk(&lookup_blob(entry.sha1)->object, OBJ_BLOB, data, options);
+ result = options->walk(&lookup_blob(entry.oid->hash)->object, OBJ_BLOB, data, options);
else {
result = error("in tree %s: entry %s has bad mode %.6o",
oid_to_hex(&tree->object.oid), entry.path, entry.mode);
@@ -449,11 +450,11 @@ static int fsck_tree(struct tree *item, struct fsck_options *options)
while (desc.size) {
unsigned mode;
const char *name;
- const unsigned char *sha1;
+ const struct object_id *oid;
- sha1 = tree_entry_extract(&desc, &name, &mode);
+ oid = tree_entry_extract(&desc, &name, &mode);
- has_null_sha1 |= is_null_sha1(sha1);
+ has_null_sha1 |= is_null_oid(oid);
has_full_path |= !!strchr(name, '/');
has_empty_name |= !*name;
has_dot |= !strcmp(name, ".");
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 77876d433a..822f857038 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -45,6 +45,7 @@ my ($diff_new_color) =
my $normal_color = $repo->get_color("", "reset");
my $diff_algorithm = $repo->config('diff.algorithm');
+my $diff_filter = $repo->config('interactive.difffilter');
my $use_readkey = 0;
my $use_termcap = 0;
@@ -754,7 +755,14 @@ sub parse_diff {
my @diff = run_cmd_pipe("git", @diff_cmd, "--", $path);
my @colored = ();
if ($diff_use_color) {
- @colored = run_cmd_pipe("git", @diff_cmd, qw(--color --), $path);
+ my @display_cmd = ("git", @diff_cmd, qw(--color --), $path);
+ if (defined $diff_filter) {
+ # quotemeta is overkill, but sufficient for shell-quoting
+ my $diff = join(' ', map { quotemeta } @display_cmd);
+ @display_cmd = ("$diff | $diff_filter");
+ }
+
+ @colored = run_cmd_pipe(@display_cmd);
}
my (@hunk) = { TEXT => [], DISPLAY => [], TYPE => 'header' };
@@ -765,7 +773,7 @@ sub parse_diff {
}
push @{$hunk[-1]{TEXT}}, $diff[$i];
push @{$hunk[-1]{DISPLAY}},
- ($diff_use_color ? $colored[$i] : $diff[$i]);
+ (@colored ? $colored[$i] : $diff[$i]);
}
return @hunk;
}
diff --git a/git-compat-util.h b/git-compat-util.h
index 693a336ff5..1f8b5f3b1f 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -96,6 +96,14 @@
#define unsigned_add_overflows(a, b) \
((b) > maximum_unsigned_value_of_type(a) - (a))
+/*
+ * Returns true if the multiplication of "a" and "b" will
+ * overflow. The types of "a" and "b" must match and must be unsigned.
+ * Note that this macro evaluates "a" twice!
+ */
+#define unsigned_mult_overflows(a, b) \
+ ((a) && (b) > maximum_unsigned_value_of_type(a) / (a))
+
#ifdef __GNUC__
#define TYPEOF(x) (__typeof__(x))
#else
@@ -271,9 +279,6 @@ extern char *gitdirname(char *);
#endif
#include <openssl/ssl.h>
#include <openssl/err.h>
-#ifdef NO_HMAC_CTX_CLEANUP
-#define HMAC_CTX_cleanup HMAC_cleanup
-#endif
#endif
/* On most systems <netdb.h> would have given us this, but
@@ -325,10 +330,6 @@ extern char *gitdirname(char *);
#define _PATH_DEFPATH "/usr/local/bin:/usr/bin:/bin"
#endif
-#ifndef STRIP_EXTENSION
-#define STRIP_EXTENSION ""
-#endif
-
#ifndef has_dos_drive_prefix
static inline int git_has_dos_drive_prefix(const char *path)
{
@@ -673,7 +674,6 @@ extern int git_vsnprintf(char *str, size_t maxsize,
#ifdef __GLIBC_PREREQ
#if __GLIBC_PREREQ(2, 1)
#define HAVE_STRCHRNUL
-#define HAVE_MEMPCPY
#endif
#endif
@@ -687,14 +687,6 @@ static inline char *gitstrchrnul(const char *s, int c)
}
#endif
-#ifndef HAVE_MEMPCPY
-#define mempcpy gitmempcpy
-static inline void *gitmempcpy(void *dest, const void *src, size_t n)
-{
- return (char *)memcpy(dest, src, n) + n;
-}
-#endif
-
#ifdef NO_INET_PTON
int inet_pton(int af, const char *src, void *dst);
#endif
@@ -713,6 +705,32 @@ extern void release_pack_memory(size_t);
typedef void (*try_to_free_t)(size_t);
extern try_to_free_t set_try_to_free_routine(try_to_free_t);
+static inline size_t st_add(size_t a, size_t b)
+{
+ if (unsigned_add_overflows(a, b))
+ die("size_t overflow: %"PRIuMAX" + %"PRIuMAX,
+ (uintmax_t)a, (uintmax_t)b);
+ return a + b;
+}
+#define st_add3(a,b,c) st_add(st_add((a),(b)),(c))
+#define st_add4(a,b,c,d) st_add(st_add3((a),(b),(c)),(d))
+
+static inline size_t st_mult(size_t a, size_t b)
+{
+ if (unsigned_mult_overflows(a, b))
+ die("size_t overflow: %"PRIuMAX" * %"PRIuMAX,
+ (uintmax_t)a, (uintmax_t)b);
+ return a * b;
+}
+
+static inline size_t st_sub(size_t a, size_t b)
+{
+ if (a < b)
+ die("size_t underflow: %"PRIuMAX" - %"PRIuMAX,
+ (uintmax_t)a, (uintmax_t)b);
+ return a - b;
+}
+
#ifdef HAVE_ALLOCA_H
# include <alloca.h>
# define xalloca(size) (alloca(size))
@@ -745,7 +763,70 @@ extern int odb_pack_keep(char *name, size_t namesz, const unsigned char *sha1);
extern char *xgetcwd(void);
extern FILE *fopen_for_writing(const char *path);
-#define REALLOC_ARRAY(x, alloc) (x) = xrealloc((x), (alloc) * sizeof(*(x)))
+#define ALLOC_ARRAY(x, alloc) (x) = xmalloc(st_mult(sizeof(*(x)), (alloc)))
+#define REALLOC_ARRAY(x, alloc) (x) = xrealloc((x), st_mult(sizeof(*(x)), (alloc)))
+
+/*
+ * These functions help you allocate structs with flex arrays, and copy
+ * the data directly into the array. For example, if you had:
+ *
+ * struct foo {
+ * int bar;
+ * char name[FLEX_ARRAY];
+ * };
+ *
+ * you can do:
+ *
+ * struct foo *f;
+ * FLEX_ALLOC_MEM(f, name, src, len);
+ *
+ * to allocate a "foo" with the contents of "src" in the "name" field.
+ * The resulting struct is automatically zero'd, and the flex-array field
+ * is NUL-terminated (whether the incoming src buffer was or not).
+ *
+ * The FLEXPTR_* variants operate on structs that don't use flex-arrays,
+ * but do want to store a pointer to some extra data in the same allocated
+ * block. For example, if you have:
+ *
+ * struct foo {
+ * char *name;
+ * int bar;
+ * };
+ *
+ * you can do:
+ *
+ * struct foo *f;
+ * FLEX_ALLOC_STR(f, name, src);
+ *
+ * and "name" will point to a block of memory after the struct, which will be
+ * freed along with the struct (but the pointer can be repointed anywhere).
+ *
+ * The *_STR variants accept a string parameter rather than a ptr/len
+ * combination.
+ *
+ * Note that these macros will evaluate the first parameter multiple
+ * times, and it must be assignable as an lvalue.
+ */
+#define FLEX_ALLOC_MEM(x, flexname, buf, len) do { \
+ (x) = NULL; /* silence -Wuninitialized for offset calculation */ \
+ (x) = xalloc_flex(sizeof(*(x)), (char *)(&((x)->flexname)) - (char *)(x), (buf), (len)); \
+} while (0)
+#define FLEXPTR_ALLOC_MEM(x, ptrname, buf, len) do { \
+ (x) = xalloc_flex(sizeof(*(x)), sizeof(*(x)), (buf), (len)); \
+ (x)->ptrname = (void *)((x)+1); \
+} while(0)
+#define FLEX_ALLOC_STR(x, flexname, str) \
+ FLEX_ALLOC_MEM((x), flexname, (str), strlen(str))
+#define FLEXPTR_ALLOC_STR(x, ptrname, str) \
+ FLEXPTR_ALLOC_MEM((x), ptrname, (str), strlen(str))
+
+static inline void *xalloc_flex(size_t base_len, size_t offset,
+ const void *src, size_t src_len)
+{
+ unsigned char *ret = xcalloc(1, st_add3(base_len, src_len, 1));
+ memcpy(ret + offset, src, src_len);
+ return ret;
+}
static inline char *xstrdup_or_null(const char *str)
{
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 02c0445be1..d50c85ed7b 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -1156,7 +1156,7 @@ sub prepDirForOutput
# FUTURE: This would more accurately emulate CVS by sending
# another copy of sticky after processing the files in that
# directory. Or intermediate: perhaps send all sticky's for
- # $seendirs after after processing all files.
+ # $seendirs after processing all files.
}
# update \n
@@ -2824,7 +2824,7 @@ sub statecleanup
}
# Return working directory CVS revision "1.X" out
-# of the the working directory "entries" state, for the given filename.
+# of the working directory "entries" state, for the given filename.
# This is prefixed with a dash if the file is scheduled for removal
# when it is committed.
sub revparse
@@ -2935,7 +2935,7 @@ sub filecleanup
return $filename;
}
-# Remove prependdir from the path, so that is is relative to the directory
+# Remove prependdir from the path, so that it is relative to the directory
# the CVS client was started from, rather than the top of the project.
# Essentially the inverse of filecleanup().
sub remove_prependdir
diff --git a/git-difftool--helper.sh b/git-difftool--helper.sh
index 2b11b1d6fe..84d6cc021c 100755
--- a/git-difftool--helper.sh
+++ b/git-difftool--helper.sh
@@ -44,10 +44,10 @@ launch_merge_tool () {
"$GIT_DIFF_PATH_TOTAL" "$MERGED"
if use_ext_cmd
then
- printf "Launch '%s' [Y/n]: " \
+ printf "Launch '%s' [Y/n]? " \
"$GIT_DIFFTOOL_EXTCMD"
else
- printf "Launch '%s' [Y/n]: " "$merge_tool"
+ printf "Launch '%s' [Y/n]? " "$merge_tool"
fi
read ans || return
if test "$ans" = n
diff --git a/git-merge-octopus.sh b/git-merge-octopus.sh
index 8643f74cb0..dc2fd1b5a4 100755
--- a/git-merge-octopus.sh
+++ b/git-merge-octopus.sh
@@ -44,6 +44,12 @@ esac
# MRC is the current "merge reference commit"
# MRT is the current "merge result tree"
+if ! git diff-index --quiet --cached HEAD --
+then
+ echo "Error: Your local changes to the following files would be overwritten by merge"
+ git diff-index --cached --name-only HEAD -- | sed -e 's/^/ /'
+ exit 2
+fi
MRC=$(git rev-parse --verify -q $head)
MRT=$(git write-tree)
NON_FF_MERGE=0
diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
index cdc02af517..424b034e34 100755
--- a/git-merge-one-file.sh
+++ b/git-merge-one-file.sh
@@ -120,8 +120,7 @@ case "${1:-.}${2:-.}${3:-.}" in
case "$1" in
'')
echo "Added $4 in both, but differently."
- orig=$(git-unpack-file $2)
- create_virtual_base "$orig" "$src2"
+ orig=$(git-unpack-file e69de29bb2d1d6434b8b29ae775ad8c2e48c5391)
;;
*)
echo "Auto-merging $4"
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index 54ac8e4846..9abd00be21 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -100,7 +100,7 @@ check_unchanged () {
while true
do
echo "$MERGED seems unchanged."
- printf "Was the merge successful? [y/n] "
+ printf "Was the merge successful [y/n]? "
read answer || return 1
case "$answer" in
y*|Y*) return 0 ;;
@@ -372,3 +372,28 @@ get_merge_tool () {
fi
echo "$merge_tool"
}
+
+mergetool_find_win32_cmd () {
+ executable=$1
+ sub_directory=$2
+
+ # Use $executable if it exists in $PATH
+ if type -p "$executable" >/dev/null 2>&1
+ then
+ printf '%s' "$executable"
+ return
+ fi
+
+ # Look for executable in the typical locations
+ for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' |
+ cut -d '=' -f 2- | sort -u)
+ do
+ if test -n "$directory" && test -x "$directory/$sub_directory/$executable"
+ then
+ printf '%s' "$directory/$sub_directory/$executable"
+ return
+ fi
+ done
+
+ printf '%s' "$executable"
+}
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 9f77e3a8bb..bf862705d8 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -126,7 +126,12 @@ resolve_deleted_merge () {
case "$ans" in
[mMcC]*)
git add -- "$MERGED"
- cleanup_temp_files --save-backup
+ if test "$merge_keep_backup" = "true"
+ then
+ cleanup_temp_files --save-backup
+ else
+ cleanup_temp_files
+ fi
return 0
;;
[dD]*)
@@ -135,6 +140,10 @@ resolve_deleted_merge () {
return 0
;;
[aA]*)
+ if test "$merge_keep_temporaries" = "false"
+ then
+ cleanup_temp_files
+ fi
return 1
;;
esac
@@ -282,8 +291,14 @@ merge_file () {
return
fi
- mv -- "$MERGED" "$BACKUP"
- cp -- "$BACKUP" "$MERGED"
+ if test -f "$MERGED"
+ then
+ mv -- "$MERGED" "$BACKUP"
+ cp -- "$BACKUP" "$MERGED"
+ fi
+ # Create a parent directory to handle delete/delete conflicts
+ # where the base's directory no longer exists.
+ mkdir -p "$(dirname "$MERGED")"
checkout_staged_file 1 "$MERGED" "$BASE"
checkout_staged_file 2 "$MERGED" "$LOCAL"
@@ -295,7 +310,9 @@ merge_file () {
describe_file "$local_mode" "local" "$LOCAL"
describe_file "$remote_mode" "remote" "$REMOTE"
resolve_deleted_merge
- return
+ status=$?
+ rmdir -p "$(dirname "$MERGED")" 2>/dev/null
+ return $status
fi
if is_symlink "$local_mode" || is_symlink "$remote_mode"
@@ -396,7 +413,7 @@ done
prompt_after_failed_merge () {
while true
do
- printf "Continue merging other unresolved paths (y/n) ? "
+ printf "Continue merging other unresolved paths [y/n]? "
read ans || return 1
case "$ans" in
[yY]*)
diff --git a/git-p4.py b/git-p4.py
index 825b9f32d5..b6593cf9a1 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -1064,8 +1064,15 @@ class GitLFS(LargeFileSystem):
if pointerProcess.wait():
os.remove(contentFile)
die('git-lfs pointer command failed. Did you install the extension?')
- pointerContents = [i+'\n' for i in pointerFile.split('\n')[2:][:-1]]
- oid = pointerContents[1].split(' ')[1].split(':')[1][:-1]
+
+ # Git LFS removed the preamble in the output of the 'pointer' command
+ # starting from version 1.2.0. Check for the preamble here to support
+ # earlier versions.
+ # c.f. https://github.com/github/git-lfs/commit/da2935d9a739592bc775c98d8ef4df9c72ea3b43
+ if pointerFile.startswith('Git LFS pointer for'):
+ pointerFile = re.sub(r'Git LFS pointer for.*\n\n', '', pointerFile)
+
+ oid = re.search(r'^oid \w+:(\w+)', pointerFile, re.MULTILINE).group(1)
localLargeFile = os.path.join(
os.getcwd(),
'.git', 'lfs', 'objects', oid[:2], oid[2:4],
@@ -1073,7 +1080,7 @@ class GitLFS(LargeFileSystem):
)
# LFS Spec states that pointer files should not have the executable bit set.
gitMode = '100644'
- return (gitMode, pointerContents, localLargeFile)
+ return (gitMode, pointerFile, localLargeFile)
def pushFile(self, localLargeFile):
uploadProcess = subprocess.Popen(
@@ -1160,6 +1167,15 @@ class P4UserMap:
self.users[output["User"]] = output["FullName"] + " <" + output["Email"] + ">"
self.emails[output["Email"]] = output["User"]
+ mapUserConfigRegex = re.compile(r"^\s*(\S+)\s*=\s*(.+)\s*<(\S+)>\s*$", re.VERBOSE)
+ for mapUserConfig in gitConfigList("git-p4.mapUser"):
+ mapUser = mapUserConfigRegex.findall(mapUserConfig)
+ if mapUser and len(mapUser[0]) == 3:
+ user = mapUser[0][0]
+ fullname = mapUser[0][1]
+ email = mapUser[0][2]
+ self.users[user] = fullname + " <" + email + ">"
+ self.emails[email] = user
s = ''
for (key, val) in self.users.items():
@@ -2311,6 +2327,15 @@ class P4Sync(Command, P4UserMap):
fnum = fnum + 1
return files
+ def extractJobsFromCommit(self, commit):
+ jobs = []
+ jnum = 0
+ while commit.has_key("job%s" % jnum):
+ job = commit["job%s" % jnum]
+ jobs.append(job)
+ jnum = jnum + 1
+ return jobs
+
def stripRepoPath(self, path, prefixes):
"""When streaming files, this is called to map a p4 depot path
to where it should go in git. The prefixes are either
@@ -2656,6 +2681,7 @@ class P4Sync(Command, P4UserMap):
def commit(self, details, files, branch, parent = ""):
epoch = details["time"]
author = details["user"]
+ jobs = self.extractJobsFromCommit(details)
if self.verbose:
print('commit into {0}'.format(branch))
@@ -2683,6 +2709,8 @@ class P4Sync(Command, P4UserMap):
self.gitStream.write("data <<EOT\n")
self.gitStream.write(details["desc"])
+ if len(jobs) > 0:
+ self.gitStream.write("\nJobs: %s" % (' '.join(jobs)))
self.gitStream.write("\n[git-p4: depot-paths = \"%s\": change = %s" %
(','.join(self.branchPrefixes), details["change"]))
if len(details['options']) > 0:
diff --git a/git-parse-remote.sh b/git-parse-remote.sh
index 55fe8d56c9..d3c39980f3 100644
--- a/git-parse-remote.sh
+++ b/git-parse-remote.sh
@@ -56,11 +56,13 @@ get_remote_merge_branch () {
error_on_missing_default_upstream () {
cmd="$1"
op_type="$2"
- op_prep="$3"
+ op_prep="$3" # FIXME: op_prep is no longer used
example="$4"
branch_name=$(git symbolic-ref -q HEAD)
+ display_branch_name="${branch_name#refs/heads/}"
# If there's only one remote, use that in the suggestion
- remote="<remote>"
+ remote="$(gettext "<remote>")"
+ branch="$(gettext "<branch>")"
if test $(git remote | wc -l) = 1
then
remote=$(git remote)
@@ -68,22 +70,32 @@ error_on_missing_default_upstream () {
if test -z "$branch_name"
then
- echo "You are not currently on a branch. Please specify which
-branch you want to $op_type $op_prep. See git-${cmd}(1) for details.
-
- $example
-"
+ gettextln "You are not currently on a branch."
else
- echo "There is no tracking information for the current branch.
-Please specify which branch you want to $op_type $op_prep.
-See git-${cmd}(1) for details
-
- $example
-
-If you wish to set tracking information for this branch you can do so with:
-
- git branch --set-upstream-to=$remote/<branch> ${branch_name#refs/heads/}
-"
+ gettextln "There is no tracking information for the current branch."
+ fi
+ case "$op_type" in
+ rebase)
+ gettextln "Please specify which branch you want to rebase against."
+ ;;
+ merge)
+ gettextln "Please specify which branch you want to merge with."
+ ;;
+ *)
+ echo >&2 "BUG: unknown operation type: $op_type"
+ exit 1
+ ;;
+ esac
+ eval_gettextln "See git-\${cmd}(1) for details."
+ echo
+ echo " $example"
+ echo
+ if test -n "$branch_name"
+ then
+ gettextln "If you wish to set tracking information for this branch you can do so with:"
+ echo
+ echo " git branch --set-upstream-to=$remote/$branch $display_branch_name"
+ echo
fi
exit 1
}
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index c0cfe88a3d..9ea30756f1 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -548,7 +548,8 @@ do_next () {
mark_action_done
do_pick $sha1 "$rest"
- warn "Stopped at $sha1... $rest"
+ sha1_abbrev=$(git rev-parse --short $sha1)
+ warn "Stopped at $sha1_abbrev... $rest"
exit_with_patch $sha1 0
;;
squash|s|fixup|f)
@@ -1233,7 +1234,8 @@ then
git rev-list $revisions |
while read rev
do
- if test -f "$rewritten"/$rev && test "$(sane_grep "$rev" "$state_dir"/not-cherry-picks)" = ""
+ if test -f "$rewritten"/$rev &&
+ ! sane_grep "$rev" "$state_dir"/not-cherry-picks >/dev/null
then
# Use -f2 because if rev-list is telling us this commit is
# not worthwhile, we don't want to track its multiple heads,
diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh
index 2cc2a6d273..8d43db9069 100644
--- a/git-rebase--merge.sh
+++ b/git-rebase--merge.sh
@@ -67,7 +67,9 @@ call_merge () {
GIT_MERGE_VERBOSITY=1 && export GIT_MERGE_VERBOSITY
fi
test -z "$strategy" && strategy=recursive
- eval 'git-merge-$strategy' $strategy_opts '"$cmt^" -- "$hd" "$cmt"'
+ # If cmt doesn't have a parent, don't include it as a base
+ base=$(git rev-parse --verify --quiet $cmt^)
+ eval 'git-merge-$strategy' $strategy_opts $base ' -- "$hd" "$cmt"'
rv=$?
case "$rv" in
0)
diff --git a/git-rebase.sh b/git-rebase.sh
index cf60c43908..44ede367ae 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -87,7 +87,10 @@ preserve_merges=
autosquash=
keep_empty=
test "$(git config --bool rebase.autosquash)" = "true" && autosquash=t
-gpg_sign_opt=
+case "$(git config --bool commit.gpgsign)" in
+true) gpg_sign_opt=-S ;;
+*) gpg_sign_opt= ;;
+esac
read_basic_state () {
test -f "$state_dir/head-name" &&
@@ -248,6 +251,7 @@ do
;;
--exec=*)
cmd="${cmd}exec ${1#--exec=}${LF}"
+ test -z "$interactive_rebase" && interactive_rebase=implied
;;
--interactive)
interactive_rebase=explicit
@@ -348,12 +352,6 @@ do
done
test $# -gt 2 && usage
-if test -n "$cmd" &&
- test "$interactive_rebase" != explicit
-then
- die "$(gettext "The --exec option must be used with the --interactive option")"
-fi
-
if test -n "$action"
then
test -z "$in_progress" && die "$(gettext "No rebase in progress?")"
diff --git a/git-send-email.perl b/git-send-email.perl
index d356901348..69587856df 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -19,10 +19,10 @@
use 5.008;
use strict;
use warnings;
+use POSIX qw/strftime/;
use Term::ReadLine;
use Getopt::Long;
use Text::ParseWords;
-use Data::Dumper;
use Term::ANSIColor;
use File::Temp qw/ tempdir tempfile /;
use File::Spec::Functions qw(catfile);
@@ -533,7 +533,7 @@ my %parse_alias = (
$aliases{$alias} = \@addr
}}},
mailrc => sub { my $fh = shift; while (<$fh>) {
- if (/^alias\s+(\S+)\s+(.*)$/) {
+ if (/^alias\s+(\S+)\s+(.*?)\s*$/) {
# spaces delimit multiple addresses
$aliases{$1} = [ quotewords('\s+', 0, $2) ];
}}},
@@ -827,9 +827,10 @@ if (defined $sender) {
# But it's a no-op to run sanitize_address on an already sanitized address.
$sender = sanitize_address($sender);
+my $to_whom = "To whom should the emails be sent (if anyone)?";
my $prompting = 0;
if (!@initial_to && !defined $to_cmd) {
- my $to = ask("Who should the emails be sent to (if any)? ",
+ my $to = ask("$to_whom ",
default => "",
valid_re => qr/\@.*\./, confirm_only => 1);
push @initial_to, parse_address_line($to) if defined $to; # sanitized/validated later
@@ -924,7 +925,7 @@ sub validate_address {
cleanup_compose_files();
exit(0);
}
- $address = ask("Who should the email be sent to (if any)? ",
+ $address = ask("$to_whom ",
default => "",
valid_re => qr/\@.*\./, confirm_only => 1);
}
@@ -949,7 +950,7 @@ my ($message_id_stamp, $message_id_serial);
sub make_message_id {
my $uniq;
if (!defined $message_id_stamp) {
- $message_id_stamp = sprintf("%s-%s", time, $$);
+ $message_id_stamp = strftime("%Y%m%d%H%M%S.$$", gmtime(time));
$message_id_serial = 0;
}
$message_id_serial++;
@@ -964,7 +965,7 @@ sub make_message_id {
require Sys::Hostname;
$du_part = 'user@' . Sys::Hostname::hostname();
}
- my $message_id_template = "<%s-git-send-email-%s>";
+ my $message_id_template = "<%s-%s>";
$message_id = sprintf($message_id_template, $uniq, $du_part);
#print "new message id = $message_id\n"; # Was useful for debugging
}
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 4691fbcb64..c48139a494 100644
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -168,11 +168,11 @@ git_pager() {
}
sane_grep () {
- GREP_OPTIONS= LC_ALL=C grep "$@"
+ GREP_OPTIONS= LC_ALL=C grep @@SANE_TEXT_GREP@@ "$@"
}
sane_egrep () {
- GREP_OPTIONS= LC_ALL=C egrep "$@"
+ GREP_OPTIONS= LC_ALL=C egrep @@SANE_TEXT_GREP@@ "$@"
}
is_bare_repository () {
diff --git a/git-submodule.sh b/git-submodule.sh
index b1c056c715..5a4dec050b 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -8,7 +8,7 @@ dashless=$(basename "$0" | sed -e 's/-/ /')
USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]
or: $dashless [--quiet] init [--] [<path>...]
- or: $dashless [--quiet] deinit [-f|--force] [--] <path>...
+ or: $dashless [--quiet] deinit [-f|--force] (--all| [--] <path>...)
or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>] [--recursive] [--] [<path>...]
or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
or: $dashless [--quiet] foreach [--recursive] <command>
@@ -46,79 +46,6 @@ prefix=
custom_name=
depth=
-# The function takes at most 2 arguments. The first argument is the
-# URL that navigates to the submodule origin repo. When relative, this URL
-# is relative to the superproject origin URL repo. The second up_path
-# argument, if specified, is the relative path that navigates
-# from the submodule working tree to the superproject working tree.
-#
-# The output of the function is the origin URL of the submodule.
-#
-# The output will either be an absolute URL or filesystem path (if the
-# superproject origin URL is an absolute URL or filesystem path,
-# respectively) or a relative file system path (if the superproject
-# origin URL is a relative file system path).
-#
-# When the output is a relative file system path, the path is either
-# relative to the submodule working tree, if up_path is specified, or to
-# the superproject working tree otherwise.
-resolve_relative_url ()
-{
- remote=$(get_default_remote)
- remoteurl=$(git config "remote.$remote.url") ||
- remoteurl=$(pwd) # the repository is its own authoritative upstream
- url="$1"
- remoteurl=${remoteurl%/}
- sep=/
- up_path="$2"
-
- case "$remoteurl" in
- *:*|/*)
- is_relative=
- ;;
- ./*|../*)
- is_relative=t
- ;;
- *)
- is_relative=t
- remoteurl="./$remoteurl"
- ;;
- esac
-
- while test -n "$url"
- do
- case "$url" in
- ../*)
- url="${url#../}"
- case "$remoteurl" in
- */*)
- remoteurl="${remoteurl%/*}"
- ;;
- *:*)
- remoteurl="${remoteurl%:*}"
- sep=:
- ;;
- *)
- if test -z "$is_relative" || test "." = "$remoteurl"
- then
- die "$(eval_gettext "cannot strip one component off url '\$remoteurl'")"
- else
- remoteurl=.
- fi
- ;;
- esac
- ;;
- ./*)
- url="${url#./}"
- ;;
- *)
- break;;
- esac
- done
- remoteurl="$remoteurl$sep${url%/}"
- echo "${is_relative:+${up_path}}${remoteurl#./}"
-}
-
# Resolve a path to be relative to another path. This is intended for
# converting submodule paths when git-submodule is run in a subdirectory
# and only handles paths where the directory separator is '/'.
@@ -292,7 +219,7 @@ cmd_add()
die "$(gettext "Relative path can only be used from the toplevel of the working tree")"
# dereference source url relative to parent's url
- realrepo=$(resolve_relative_url "$repo") || exit
+ realrepo=$(git submodule--helper resolve-relative-url "$repo") || exit
;;
*:*|/*)
# absolute url
@@ -424,8 +351,8 @@ cmd_foreach()
die_if_unmatched "$mode"
if test -e "$sm_path"/.git
then
- displaypath=$(relative_path "$sm_path")
- say "$(eval_gettext "Entering '\$prefix\$displaypath'")"
+ displaypath=$(relative_path "$prefix$sm_path")
+ say "$(eval_gettext "Entering '\$displaypath'")"
name=$(git submodule--helper name "$sm_path")
(
prefix="$prefix$sm_path/"
@@ -445,7 +372,7 @@ cmd_foreach()
cmd_foreach "--recursive" "$@"
fi
) <&3 3<&- ||
- die "$(eval_gettext "Stopping at '\$prefix\$displaypath'; script returned non-zero status.")"
+ die "$(eval_gettext "Stopping at '\$displaypath'; script returned non-zero status.")"
fi
done
}
@@ -478,50 +405,7 @@ cmd_init()
shift
done
- git submodule--helper list --prefix "$wt_prefix" "$@" |
- while read mode sha1 stage sm_path
- do
- die_if_unmatched "$mode"
- name=$(git submodule--helper name "$sm_path") || exit
-
- displaypath=$(relative_path "$sm_path")
-
- # Copy url setting when it is not set yet
- if test -z "$(git config "submodule.$name.url")"
- then
- url=$(git config -f .gitmodules submodule."$name".url)
- test -z "$url" &&
- die "$(eval_gettext "No url found for submodule path '\$displaypath' in .gitmodules")"
-
- # Possibly a url relative to parent
- case "$url" in
- ./*|../*)
- url=$(resolve_relative_url "$url") || exit
- ;;
- esac
- git config submodule."$name".url "$url" ||
- die "$(eval_gettext "Failed to register url for submodule path '\$displaypath'")"
-
- say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$displaypath'")"
- fi
-
- # Copy "update" setting when it is not set yet
- if upd="$(git config -f .gitmodules submodule."$name".update)" &&
- test -n "$upd" &&
- test -z "$(git config submodule."$name".update)"
- then
- case "$upd" in
- checkout | rebase | merge | none)
- ;; # known modes of updating
- *)
- echo >&2 "warning: unknown update mode '$upd' suggested for submodule '$name'"
- upd=none
- ;;
- esac
- git config submodule."$name".update "$upd" ||
- die "$(eval_gettext "Failed to register update mode for submodule path '\$displaypath'")"
- fi
- done
+ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper init ${GIT_QUIET:+--quiet} ${prefix:+--prefix "$prefix"} "$@"
}
#
@@ -532,6 +416,7 @@ cmd_init()
cmd_deinit()
{
# parse $args after "submodule ... deinit".
+ deinit_all=
while test $# -ne 0
do
case "$1" in
@@ -541,6 +426,9 @@ cmd_deinit()
-q|--quiet)
GIT_QUIET=1
;;
+ --all)
+ deinit_all=t
+ ;;
--)
shift
break
@@ -555,9 +443,14 @@ cmd_deinit()
shift
done
- if test $# = 0
+ if test -n "$deinit_all" && test "$#" -ne 0
then
- die "$(eval_gettext "Use '.' if you really want to deinitialize all submodules")"
+ echo >&2 "$(eval_gettext "pathspec and --all are incompatible")"
+ usage
+ fi
+ if test $# = 0 && test -z "$deinit_all"
+ then
+ die "$(eval_gettext "Use '--all' if you really want to deinitialize all submodules")"
fi
git submodule--helper list --prefix "$wt_prefix" "$@" |
@@ -602,6 +495,24 @@ cmd_deinit()
done
}
+is_tip_reachable () (
+ sanitize_submodule_env &&
+ cd "$1" &&
+ rev=$(git rev-list -n 1 "$2" --not --all 2>/dev/null) &&
+ test -z "$rev"
+)
+
+fetch_in_submodule () (
+ sanitize_submodule_env &&
+ cd "$1" &&
+ case "$2" in
+ '')
+ git fetch ;;
+ *)
+ git fetch $(get_default_remote) "$2" ;;
+ esac
+)
+
#
# Update each submodule path to correct revision, using clone and checkout as needed
#
@@ -656,6 +567,14 @@ cmd_update()
--depth=*)
depth=$1
;;
+ -j|--jobs)
+ case "$2" in '') usage ;; esac
+ jobs="--jobs=$2"
+ shift
+ ;;
+ --jobs=*)
+ jobs=$1
+ ;;
--)
shift
break
@@ -675,17 +594,21 @@ cmd_update()
cmd_init "--" "$@" || return
fi
- cloned_modules=
- git submodule--helper list --prefix "$wt_prefix" "$@" | {
+ {
+ git submodule--helper update-clone ${GIT_QUIET:+--quiet} \
+ ${wt_prefix:+--prefix "$wt_prefix"} \
+ ${prefix:+--recursive-prefix "$prefix"} \
+ ${update:+--update "$update"} \
+ ${reference:+--reference "$reference"} \
+ ${depth:+--depth "$depth"} \
+ ${jobs:+$jobs} \
+ "$@" || echo "#unmatched"
+ } | {
err=
- while read mode sha1 stage sm_path
+ while read mode sha1 stage just_cloned sm_path
do
die_if_unmatched "$mode"
- if test "$stage" = U
- then
- echo >&2 "Skipping unmerged submodule $prefix$sm_path"
- continue
- fi
+
name=$(git submodule--helper name "$sm_path") || exit
url=$(git config submodule."$name".url)
branch=$(get_submodule_config "$name" branch master)
@@ -702,27 +625,10 @@ cmd_update()
displaypath=$(relative_path "$prefix$sm_path")
- if test "$update_module" = "none"
+ if test $just_cloned -eq 1
then
- echo "Skipping submodule '$displaypath'"
- continue
- fi
-
- if test -z "$url"
- then
- # Only mention uninitialized submodules when its
- # path have been specified
- test "$#" != "0" &&
- say "$(eval_gettext "Submodule path '\$displaypath' not initialized
-Maybe you want to use 'update --init'?")"
- continue
- fi
-
- if ! test -d "$sm_path"/.git && ! test -f "$sm_path"/.git
- then
- git submodule--helper clone ${GIT_QUIET:+--quiet} --prefix "$prefix" --path "$sm_path" --name "$name" --url "$url" ${reference:+"$reference"} ${depth:+"$depth"} || exit
- cloned_modules="$cloned_modules;$name"
subsha1=
+ update_module=checkout
else
subsha1=$(sanitize_submodule_env; cd "$sm_path" &&
git rev-parse --verify HEAD) ||
@@ -756,18 +662,16 @@ Maybe you want to use 'update --init'?")"
then
# Run fetch only if $sha1 isn't present or it
# is not reachable from a ref.
- (sanitize_submodule_env; cd "$sm_path" &&
- ( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&
- test -z "$rev") || git-fetch)) ||
+ is_tip_reachable "$sm_path" "$sha1" ||
+ fetch_in_submodule "$sm_path" ||
die "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")"
- fi
- # Is this something we just cloned?
- case ";$cloned_modules;" in
- *";$name;"*)
- # then there is no local change to integrate
- update_module=checkout ;;
- esac
+ # Now we tried the usual fetch, but $sha1 may
+ # not be reachable from any of the refs
+ is_tip_reachable "$sm_path" "$sha1" ||
+ fetch_in_submodule "$sm_path" "$sha1" ||
+ die "$(eval_gettext "Fetched in submodule path '\$displaypath', but it did not contain $sha1. Direct fetching of that commit failed.")"
+ fi
must_die_on_failure=
case "$update_module" in
@@ -790,8 +694,8 @@ Maybe you want to use 'update --init'?")"
;;
!*)
command="${update_module#!}"
- die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$prefix\$sm_path'")"
- say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': '\$command \$sha1'")"
+ die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$displaypath'")"
+ say_msg="$(eval_gettext "Submodule path '\$displaypath': '\$command \$sha1'")"
must_die_on_failure=yes
;;
*)
@@ -813,7 +717,8 @@ Maybe you want to use 'update --init'?")"
if test -n "$recursive"
then
(
- prefix="$prefix$sm_path/"
+ prefix=$(relative_path "$prefix$sm_path/")
+ wt_prefix=
sanitize_submodule_env
cd "$sm_path" &&
eval cmd_update
@@ -1147,6 +1052,7 @@ cmd_status()
(
prefix="$displaypath/"
sanitize_submodule_env
+ wt_prefix=
cd "$sm_path" &&
eval cmd_status
) ||
@@ -1201,9 +1107,9 @@ cmd_sync()
# guarantee a trailing /
up_path=${up_path%/}/ &&
# path from submodule work tree to submodule origin repo
- sub_origin_url=$(resolve_relative_url "$url" "$up_path") &&
+ sub_origin_url=$(git submodule--helper resolve-relative-url "$url" "$up_path") &&
# path from superproject work tree to submodule origin repo
- super_config_url=$(resolve_relative_url "$url") || exit
+ super_config_url=$(git submodule--helper resolve-relative-url "$url") || exit
;;
*)
sub_origin_url="$url"
diff --git a/git-svn.perl b/git-svn.perl
index fa5f253065..05eced06cd 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1745,11 +1745,12 @@ sub post_fetch_checkout {
sub complete_svn_url {
my ($url, $path) = @_;
- $path = canonicalize_path($path);
- # If the path is not a URL...
- if ($path !~ m#^[a-z\+]+://#) {
- if (!defined $url || $url !~ m#^[a-z\+]+://#) {
+ if ($path =~ m#^[a-z\+]+://#i) { # path is a URL
+ $path = canonicalize_url($path);
+ } else {
+ $path = canonicalize_path($path);
+ if (!defined $url || $url !~ m#^[a-z\+]+://#i) {
fatal("E: '$path' is not a complete URL ",
"and a separate URL is not specified");
}
@@ -1764,11 +1765,12 @@ sub complete_url_ls_init {
print STDERR "W: $switch not specified\n";
return;
}
- $repo_path = canonicalize_path($repo_path);
- if ($repo_path =~ m#^[a-z\+]+://#) {
+ if ($repo_path =~ m#^[a-z\+]+://#i) {
+ $repo_path = canonicalize_url($repo_path);
$ra = Git::SVN::Ra->new($repo_path);
$repo_path = '';
} else {
+ $repo_path = canonicalize_path($repo_path);
$repo_path =~ s#^/+##;
unless ($ra) {
fatal("E: '$repo_path' is not a complete URL ",
diff --git a/git.c b/git.c
index 6c64c9430e..968a8a4645 100644
--- a/git.c
+++ b/git.c
@@ -15,7 +15,6 @@ const char git_more_info_string[] =
"concept guides. See 'git help <command>' or 'git help <concept>'\n"
"to read about a specific subcommand or concept.");
-static struct startup_info git_startup_info;
static int use_pager = -1;
static char *orig_cwd;
static const char *env_names[] = {
@@ -247,20 +246,16 @@ static int handle_alias(int *argcp, const char ***argv)
alias_string = alias_lookup(alias_command);
if (alias_string) {
if (alias_string[0] == '!') {
- const char **alias_argv;
- int argc = *argcp, i;
+ struct child_process child = CHILD_PROCESS_INIT;
commit_pager_choice();
restore_env(1);
- /* build alias_argv */
- alias_argv = xmalloc(sizeof(*alias_argv) * (argc + 1));
- alias_argv[0] = alias_string + 1;
- for (i = 1; i < argc; ++i)
- alias_argv[i] = (*argv)[i];
- alias_argv[argc] = NULL;
+ child.use_shell = 1;
+ argv_array_push(&child.args, alias_string + 1);
+ argv_array_pushv(&child.args, (*argv) + 1);
- ret = run_command_v_opt(alias_argv, RUN_USING_SHELL);
+ ret = run_command(&child);
if (ret >= 0) /* normal exit */
exit(ret);
@@ -513,21 +508,25 @@ int is_builtin(const char *s)
return !!get_builtin(s);
}
+#ifdef STRIP_EXTENSION
+static void strip_extension(const char **argv)
+{
+ size_t len;
+
+ if (strip_suffix(argv[0], STRIP_EXTENSION, &len))
+ argv[0] = xmemdupz(argv[0], len);
+}
+#else
+#define strip_extension(cmd)
+#endif
+
static void handle_builtin(int argc, const char **argv)
{
- const char *cmd = argv[0];
- int i;
- static const char ext[] = STRIP_EXTENSION;
+ const char *cmd;
struct cmd_struct *builtin;
- if (sizeof(ext) > 1) {
- i = strlen(argv[0]) - strlen(ext);
- if (i > 0 && !strcmp(argv[0] + i, ext)) {
- char *argv0 = xstrdup(argv[0]);
- argv[0] = cmd = argv0;
- argv0[i] = '\0';
- }
- }
+ strip_extension(argv);
+ cmd = argv[0];
/* Turn "git cmd --help" into "git help cmd" */
if (argc > 1 && !strcmp(argv[1], "--help")) {
@@ -637,8 +636,6 @@ int main(int argc, char **av)
const char *cmd;
int done_help = 0;
- startup_info = &git_startup_info;
-
cmd = git_extract_argv0_path(argv[0]);
if (!cmd)
cmd = "git-help";
diff --git a/git.spec.in b/git.spec.in
deleted file mode 100644
index d61d537ef0..0000000000
--- a/git.spec.in
+++ /dev/null
@@ -1,330 +0,0 @@
-# Pass --without docs to rpmbuild if you don't want the documentation
-
-Name: git
-Version: @@VERSION@@
-Release: 1%{?dist}
-Summary: Core git tools
-License: GPL
-Group: Development/Tools
-URL: http://kernel.org/pub/software/scm/git/
-Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
-BuildRequires: zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel, gettext %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Requires: perl-Git = %{version}-%{release}
-Requires: zlib >= 1.2, rsync, less, openssh-clients, expat
-Provides: git-core = %{version}-%{release}
-Obsoletes: git-core <= 1.5.4.2
-Obsoletes: git-p4
-
-%description
-Git is a fast, scalable, distributed revision control system with an
-unusually rich command set that provides both high-level operations
-and full access to internals.
-
-The git rpm installs the core tools with minimal dependencies. To
-install all git packages, including tools for integrating with other
-SCMs, install the git-all meta-package.
-
-%package all
-Summary: Meta-package to pull in all git tools
-Group: Development/Tools
-Requires: git = %{version}-%{release}
-Requires: git-svn = %{version}-%{release}
-Requires: git-cvs = %{version}-%{release}
-Requires: git-arch = %{version}-%{release}
-Requires: git-email = %{version}-%{release}
-Requires: gitk = %{version}-%{release}
-Requires: gitweb = %{version}-%{release}
-Requires: git-gui = %{version}-%{release}
-Obsoletes: git <= 1.5.4.2
-
-%description all
-Git is a fast, scalable, distributed revision control system with an
-unusually rich command set that provides both high-level operations
-and full access to internals.
-
-This is a dummy package which brings in all subpackages.
-
-%package svn
-Summary: Git tools for importing Subversion repositories
-Group: Development/Tools
-Requires: git = %{version}-%{release}, subversion
-%description svn
-Git tools for importing Subversion repositories.
-
-%package cvs
-Summary: Git tools for importing CVS repositories
-Group: Development/Tools
-Requires: git = %{version}-%{release}, cvs, cvsps
-%description cvs
-Git tools for importing CVS repositories.
-
-%package arch
-Summary: Git tools for importing Arch repositories
-Group: Development/Tools
-Requires: git = %{version}-%{release}, tla
-%description arch
-Git tools for importing Arch repositories.
-
-%package email
-Summary: Git tools for sending email
-Group: Development/Tools
-Requires: git = %{version}-%{release}
-%description email
-Git tools for sending email.
-
-%package gui
-Summary: Git GUI tool
-Group: Development/Tools
-Requires: git = %{version}-%{release}, tk >= 8.4
-%description gui
-Git GUI tool
-
-%package -n gitk
-Summary: Git revision tree visualiser ('gitk')
-Group: Development/Tools
-Requires: git = %{version}-%{release}, tk >= 8.4
-%description -n gitk
-Git revision tree visualiser ('gitk')
-
-%package -n gitweb
-Summary: Git web interface
-Group: Development/Tools
-Requires: git = %{version}-%{release}
-%description -n gitweb
-Browsing git repository on the web
-
-%package -n perl-Git
-Summary: Perl interface to Git
-Group: Development/Libraries
-Requires: git = %{version}-%{release}
-Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
-BuildRequires: perl(Error)
-BuildRequires: perl(ExtUtils::MakeMaker)
-
-%description -n perl-Git
-Perl interface to Git
-
-%define path_settings ETC_GITCONFIG=/etc/gitconfig prefix=%{_prefix} mandir=%{_mandir} htmldir=%{_docdir}/%{name}-%{version}
-%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-
-%prep
-%setup -q
-
-%build
-make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \
- %{path_settings} \
- all %{!?_without_docs: doc}
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \
- %{path_settings} \
- INSTALLDIRS=vendor install %{!?_without_docs: install-doc}
-test ! -d $RPM_BUILD_ROOT%{python_sitelib} || rm -fr $RPM_BUILD_ROOT%{python_sitelib}
-find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
-find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
-find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
-
-(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files
-(find $RPM_BUILD_ROOT%{_libexecdir}/git-core -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@) >> bin-man-doc-files
-(find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files
-%if %{!?_without_docs:1}0
-(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files
-%else
-rm -rf $RPM_BUILD_ROOT%{_mandir}
-%endif
-rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
-
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
-install -m 644 -T contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/git
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files -f bin-man-doc-files
-%defattr(-,root,root)
-%{_datadir}/git-core/
-%doc README COPYING Documentation/*.txt
-%{!?_without_docs: %doc Documentation/*.html Documentation/howto}
-%{!?_without_docs: %doc Documentation/technical}
-%{_sysconfdir}/bash_completion.d
-
-%files svn
-%defattr(-,root,root)
-%{_libexecdir}/git-core/*svn*
-%doc Documentation/*svn*.txt
-%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
-%{!?_without_docs: %doc Documentation/*svn*.html }
-
-%files cvs
-%defattr(-,root,root)
-%doc Documentation/*git-cvs*.txt
-%{_bindir}/git-cvsserver
-%{_libexecdir}/git-core/*cvs*
-%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
-%{!?_without_docs: %doc Documentation/*git-cvs*.html }
-
-%files arch
-%defattr(-,root,root)
-%doc Documentation/git-archimport.txt
-%{_libexecdir}/git-core/git-archimport
-%{!?_without_docs: %{_mandir}/man1/git-archimport.1*}
-%{!?_without_docs: %doc Documentation/git-archimport.html }
-
-%files email
-%defattr(-,root,root)
-%doc Documentation/*email*.txt
-%{_libexecdir}/git-core/*email*
-%{!?_without_docs: %{_mandir}/man1/*email*.1*}
-%{!?_without_docs: %doc Documentation/*email*.html }
-
-%files gui
-%defattr(-,root,root)
-%{_libexecdir}/git-core/git-gui
-%{_libexecdir}/git-core/git-citool
-%{_libexecdir}/git-core/git-gui--askpass
-%{_datadir}/git-gui/
-%{!?_without_docs: %{_mandir}/man1/git-gui.1*}
-%{!?_without_docs: %doc Documentation/git-gui.html}
-%{!?_without_docs: %{_mandir}/man1/git-citool.1*}
-%{!?_without_docs: %doc Documentation/git-citool.html}
-
-%files -n gitk
-%defattr(-,root,root)
-%doc Documentation/*gitk*.txt
-%{_bindir}/*gitk*
-%{_datadir}/gitk/
-%{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
-%{!?_without_docs: %doc Documentation/*gitk*.html }
-
-%files -n gitweb
-%defattr(-,root,root)
-%doc gitweb/README gitweb/INSTALL Documentation/*gitweb*.txt
-%{_datadir}/gitweb
-%{!?_without_docs: %{_mandir}/man1/*gitweb*.1*}
-%{!?_without_docs: %{_mandir}/man5/*gitweb*.5*}
-%{!?_without_docs: %doc Documentation/*gitweb*.html }
-
-%files -n perl-Git -f perl-files
-%defattr(-,root,root)
-
-%files all
-# No files for you!
-
-%changelog
-* Sun Sep 18 2011 Jakub Narebski <jnareb@gmail.com>
-- Add gitweb manpages to 'gitweb' subpackage
-
-* Wed Jun 30 2010 Junio C Hamano <gitster@pobox.com>
-- Add 'gitweb' subpackage.
-
-* Fri Mar 26 2010 Ian Ward Comfort <icomfort@stanford.edu>
-- Ship bash completion support from contrib/ in the core package.
-
-* Sun Jan 31 2010 Junio C Hamano <gitster@pobox.com>
-- Do not use %define inside %{!?...} construct.
-
-* Sat Jan 30 2010 Junio C Hamano <gitster@pobox.com>
-- We don't ship Python bits until a real foreign scm interface comes.
-
-* Mon Feb 04 2009 David J. Mellor <dmellor@whistlingcat.com>
-- fixed broken git help -w after renaming the git-core package to git.
-
-* Fri Sep 12 2008 Quy Tonthat <qtonthat@gmail.com>
-- move git-cvsserver to bindir.
-
-* Sun Jun 15 2008 Junio C Hamano <gitster@pobox.com>
-- Remove curl from Requires list.
-
-* Fri Feb 15 2008 Kristian HΓΈgsberg <krh@redhat.com>
-- Rename git-core to just git and rename meta package from git to git-all.
-
-* Sun Feb 03 2008 James Bowes <jbowes@dangerouslyinc.com>
-- Add a BuildRequires for gettext
-
-* Fri Jan 11 2008 Junio C Hamano <gitster@pobox.com>
-- Include gitk message files
-
-* Sun Jan 06 2008 James Bowes <jbowes@dangerouslyinc.com>
-- Make the metapackage require the same version of the subpackages.
-
-* Wed Dec 12 2007 Junio C Hamano <gitster@pobox.com>
-- Adjust htmldir to point at /usr/share/doc/git-core-$version/
-
-* Sun Jul 15 2007 Sean Estabrooks <seanlkml@sympatico.ca>
-- Removed p4import.
-
-* Tue Jun 26 2007 Quy Tonthat <qtonthat@gmail.com>
-- Fixed problems looking for wrong manpages.
-
-* Thu Jun 21 2007 Shawn O. Pearce <spearce@spearce.org>
-- Added documentation files for git-gui
-
-* Tue May 13 2007 Quy Tonthat <qtonthat@gmail.com>
-- Added lib files for git-gui
-- Added Documentation/technical (As needed by Git Users Manual)
-
-* Tue May 8 2007 Quy Tonthat <qtonthat@gmail.com>
-- Added howto files
-
-* Tue Mar 27 2007 Eygene Ryabinkin <rea-git@codelabs.ru>
-- Added the git-p4 package: Perforce import stuff.
-
-* Mon Feb 13 2007 Nicolas Pitre <nico@fluxnic.net>
-- Update core package description (Git isn't as stupid as it used to be)
-
-* Mon Feb 12 2007 Junio C Hamano <junkio@cox.net>
-- Add git-gui and git-citool.
-
-* Mon Nov 14 2005 H. Peter Anvin <hpa@zytor.com> 0.99.9j-1
-- Change subpackage names to git-<name> instead of git-core-<name>
-- Create empty root package which brings in all subpackages
-- Rename git-tk -> gitk
-
-* Thu Nov 10 2005 Chris Wright <chrisw@osdl.org> 0.99.9g-1
-- zlib dependency fix
-- Minor cleanups from split
-- Move arch import to separate package as well
-
-* Tue Sep 27 2005 Jim Radford <radford@blackbean.org>
-- Move programs with non-standard dependencies (svn, cvs, email)
- into separate packages
-
-* Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com>
-- parallelize build
-- COPTS -> CFLAGS
-
-* Fri Sep 16 2005 Chris Wright <chrisw@osdl.org> 0.99.6-1
-- update to 0.99.6
-
-* Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
-- Linus noticed that less is required, added to the dependencies
-
-* Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
-- Updated dependencies
-- Don't assume manpages are gzipped
-
-* Thu Aug 18 2005 Chris Wright <chrisw@osdl.org> 0.99.4-4
-- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires
-- use RPM_OPT_FLAGS in spec file, drop patch0
-
-* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.99.4-3
-- use dist tag to differentiate between branches
-- use rpm optflags by default (patch0)
-- own %{_datadir}/git-core/
-
-* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org>
-- update spec file to fix Buildroot, Requires, and drop Vendor
-
-* Sun Aug 07 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
-- Redid the description
-- Cut overlong make line, loosened changelog a bit
-- I think Junio (or perhaps OSDL?) should be vendor...
-
-* Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com>
-- Add the man pages, and the --without docs build option
-
-* Wed Jul 7 2005 Chris Wright <chris@osdl.org>
-- initial git spec file
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 5f1255c860..805a1c7030 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -3021,7 +3021,7 @@ proc bindall {event action} {
}
proc about {} {
- global uifont NS
+ global bgcolor NS
set w .about
if {[winfo exists $w]} {
raise $w
@@ -3036,7 +3036,7 @@ Gitk - a commit viewer for git
Copyright \u00a9 2005-2014 Paul Mackerras
Use and redistribute under the terms of the GNU General Public License"] \
- -justify center -aspect 400 -border 2 -bg white -relief groove
+ -justify center -aspect 400 -border 2 -bg $bgcolor -relief groove
pack $w.m -side top -fill x -padx 2 -pady 2
${NS}::button $w.ok -text [mc "Close"] -command "destroy $w" -default active
pack $w.ok -side bottom
@@ -3047,7 +3047,7 @@ Use and redistribute under the terms of the GNU General Public License"] \
}
proc keys {} {
- global NS
+ global bgcolor NS
set w .keys
if {[winfo exists $w]} {
raise $w
@@ -3103,7 +3103,7 @@ proc keys {} {
[mc "<%s-minus> Decrease font size" $M1T]
[mc "<F5> Update"]
" \
- -justify left -bg white -border 2 -relief groove
+ -justify left -bg $bgcolor -border 2 -relief groove
pack $w.m -side top -fill both -padx 2 -pady 2
${NS}::button $w.ok -text [mc "Close"] -command "destroy $w" -default active
bind $w <Key-Escape> [list destroy $w]
diff --git a/gitk-git/po/bg.po b/gitk-git/po/bg.po
index 909a56463f..99aa77aa63 100644
--- a/gitk-git/po/bg.po
+++ b/gitk-git/po/bg.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gitk master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-06-27 20:44+0300\n"
-"PO-Revision-Date: 2015-06-27 20:46+0300\n"
+"POT-Creation-Date: 2015-12-19 11:48+0200\n"
+"PO-Revision-Date: 2015-12-19 11:49+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@@ -22,11 +22,11 @@ msgstr ""
msgid "Couldn't get list of unmerged files:"
msgstr "Π‘ΠΏΠΈΡΡŠΠΊΡŠΡ‚ с нСслСти Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½:"
-#: gitk:212 gitk:2381
+#: gitk:212 gitk:2399
msgid "Color words"
msgstr "ΠžΡ†Π²Π΅Ρ‚ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡƒΠΌΠΈΡ‚Π΅"
-#: gitk:217 gitk:2381 gitk:8220 gitk:8253
+#: gitk:217 gitk:2399 gitk:8239 gitk:8272
msgid "Markup words"
msgstr "ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π°Π½Π΅ Π½Π° Π΄ΡƒΠΌΠΈΡ‚Π΅"
@@ -59,15 +59,15 @@ msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ изпълнСниС Π½Π° β€žgit logβ€œ:"
msgid "Reading"
msgstr "ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π΅"
-#: gitk:496 gitk:4525
+#: gitk:496 gitk:4544
msgid "Reading commits..."
msgstr "ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° подаванията…"
-#: gitk:499 gitk:1637 gitk:4528
+#: gitk:499 gitk:1637 gitk:4547
msgid "No commits selected"
msgstr "НС са ΠΈΠ·Π±Ρ€Π°Π½ΠΈ подавания"
-#: gitk:1445 gitk:4045 gitk:12432
+#: gitk:1445 gitk:4064 gitk:12469
msgid "Command line"
msgstr "КомандСн Ρ€Π΅Π΄"
@@ -79,286 +79,294 @@ msgstr "Π˜Π·Ρ…ΠΎΠ΄ΡŠΡ‚ ΠΎΡ‚ β€žgit logβ€œ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π°Π½Π°Π»ΠΈΠ·ΠΈ
msgid "No commit information available"
msgstr "Липсва информация Π·Π° подавания"
-#: gitk:1903 gitk:1932 gitk:4315 gitk:9669 gitk:11241 gitk:11521
+#: gitk:1903 gitk:1932 gitk:4334 gitk:9702 gitk:11274 gitk:11554
msgid "OK"
msgstr "Π”ΠΎΠ±Ρ€Π΅"
-#: gitk:1934 gitk:4317 gitk:9196 gitk:9275 gitk:9391 gitk:9440 gitk:9671
-#: gitk:11242 gitk:11522
+#: gitk:1934 gitk:4336 gitk:9215 gitk:9294 gitk:9424 gitk:9473 gitk:9704
+#: gitk:11275 gitk:11555
msgid "Cancel"
msgstr "ΠžΡ‚ΠΊΠ°Π·"
-#: gitk:2069
+#: gitk:2083
msgid "&Update"
-msgstr "ОбновяванС"
+msgstr "&ОбновяванС"
-#: gitk:2070
+#: gitk:2084
msgid "&Reload"
-msgstr "ΠŸΡ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅"
+msgstr "&ΠŸΡ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅"
-#: gitk:2071
+#: gitk:2085
msgid "Reread re&ferences"
-msgstr "Наново ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° настройкитС"
+msgstr "&Наново ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° настройкитС"
-#: gitk:2072
+#: gitk:2086
msgid "&List references"
-msgstr "Π˜Π·Π±Ρ€ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅"
+msgstr "&Π˜Π·Π±Ρ€ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅"
-#: gitk:2074
+#: gitk:2088
msgid "Start git &gui"
-msgstr "Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° β€žgit guiβ€œ"
+msgstr "&Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° β€žgit guiβ€œ"
-#: gitk:2076
+#: gitk:2090
msgid "&Quit"
-msgstr "Π‘ΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°"
+msgstr "&Π‘ΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°"
-#: gitk:2068
+#: gitk:2082
msgid "&File"
-msgstr "Π€Π°ΠΉΠ»"
+msgstr "&Π€Π°ΠΉΠ»"
-#: gitk:2080
+#: gitk:2094
msgid "&Preferences"
-msgstr "Настройки"
+msgstr "&Настройки"
-#: gitk:2079
+#: gitk:2093
msgid "&Edit"
-msgstr "Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅"
+msgstr "&Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅"
-#: gitk:2084
+#: gitk:2098
msgid "&New view..."
-msgstr "Нов изглСд…"
+msgstr "&Нов изглСд…"
-#: gitk:2085
+#: gitk:2099
msgid "&Edit view..."
-msgstr "Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° изглСда…"
+msgstr "&Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° изглСда…"
-#: gitk:2086
+#: gitk:2100
msgid "&Delete view"
-msgstr "Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π°"
+msgstr "&Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π°"
-#: gitk:2088 gitk:4043
+#: gitk:2102
msgid "&All files"
-msgstr "Всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅"
+msgstr "&Всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅"
-#: gitk:2083 gitk:4067
+#: gitk:2097
msgid "&View"
-msgstr "ИзглСд"
+msgstr "&ИзглСд"
-#: gitk:2093 gitk:2103 gitk:3012
+#: gitk:2107 gitk:2117
msgid "&About gitk"
-msgstr "ΠžΡ‚Π½ΠΎΡΠ½ΠΎ gitk"
+msgstr "&ΠžΡ‚Π½ΠΎΡΠ½ΠΎ gitk"
-#: gitk:2094 gitk:2108
+#: gitk:2108 gitk:2122
msgid "&Key bindings"
-msgstr "Клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ"
+msgstr "&Клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ"
-#: gitk:2092 gitk:2107
+#: gitk:2106 gitk:2121
msgid "&Help"
-msgstr "ΠŸΠΎΠΌΠΎΡ‰"
+msgstr "Помо&Ρ‰"
-#: gitk:2185 gitk:8652
+#: gitk:2199 gitk:8671
msgid "SHA1 ID:"
msgstr "SHA1:"
-#: gitk:2229
+#: gitk:2243
msgid "Row"
msgstr "Π Π΅Π΄"
-#: gitk:2267
+#: gitk:2281
msgid "Find"
msgstr "Π’ΡŠΡ€ΡΠ΅Π½Π΅"
-#: gitk:2295
+#: gitk:2309
msgid "commit"
msgstr "ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2299 gitk:2301 gitk:4687 gitk:4710 gitk:4734 gitk:6755 gitk:6827
-#: gitk:6912
+#: gitk:2313 gitk:2315 gitk:4706 gitk:4729 gitk:4753 gitk:6774 gitk:6846
+#: gitk:6931
msgid "containing:"
msgstr "ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΎ:"
-#: gitk:2302 gitk:3526 gitk:3531 gitk:4763
+#: gitk:2316 gitk:3545 gitk:3550 gitk:4782
msgid "touching paths:"
msgstr "засягащо ΠΏΡŠΡ‚ΠΈΡ‰Π°Ρ‚Π°:"
-#: gitk:2303 gitk:4777
+#: gitk:2317 gitk:4796
msgid "adding/removing string:"
msgstr "добавящо/ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Ρ‰ΠΎ Π½ΠΈΠ·"
-#: gitk:2304 gitk:4779
+#: gitk:2318 gitk:4798
msgid "changing lines matching:"
msgstr "промСнящо Ρ€Π΅Π΄ΠΎΠ²Π΅ напасващи:"
-#: gitk:2313 gitk:2315 gitk:4766
+#: gitk:2327 gitk:2329 gitk:4785
msgid "Exact"
msgstr "Π’ΠΎΡ‡Π½ΠΎ"
-#: gitk:2315 gitk:4854 gitk:6723
+#: gitk:2329 gitk:4873 gitk:6742
msgid "IgnCase"
msgstr "Π‘Π΅Π· Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€"
-#: gitk:2315 gitk:4736 gitk:4852 gitk:6719
+#: gitk:2329 gitk:4755 gitk:4871 gitk:6738
msgid "Regexp"
msgstr "Π Π΅Π³. ΠΈΠ·Ρ€Π°Π·"
-#: gitk:2317 gitk:2318 gitk:4874 gitk:4904 gitk:4911 gitk:6848 gitk:6916
+#: gitk:2331 gitk:2332 gitk:4893 gitk:4923 gitk:4930 gitk:6867 gitk:6935
msgid "All fields"
msgstr "Всички ΠΏΠΎΠ»Π΅Ρ‚Π°"
-#: gitk:2318 gitk:4871 gitk:4904 gitk:6786
+#: gitk:2332 gitk:4890 gitk:4923 gitk:6805
msgid "Headline"
msgstr "ΠŸΡŠΡ€Π²ΠΈ Ρ€Π΅Π΄"
-#: gitk:2319 gitk:4871 gitk:6786 gitk:6916 gitk:7389
+#: gitk:2333 gitk:4890 gitk:6805 gitk:6935 gitk:7408
msgid "Comments"
msgstr "ΠšΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ"
-#: gitk:2319 gitk:4871 gitk:4876 gitk:4911 gitk:6786 gitk:7324 gitk:8830
-#: gitk:8845
+#: gitk:2333 gitk:4890 gitk:4895 gitk:4930 gitk:6805 gitk:7343 gitk:8849
+#: gitk:8864
msgid "Author"
msgstr "Автор"
-#: gitk:2319 gitk:4871 gitk:6786 gitk:7326
+#: gitk:2333 gitk:4890 gitk:6805 gitk:7345
msgid "Committer"
msgstr "ΠŸΠΎΠ΄Π°Π²Π°Ρ‰"
-#: gitk:2350
+#: gitk:2367
msgid "Search"
msgstr "Π’ΡŠΡ€ΡΠ΅Π½Π΅"
-#: gitk:2358
+#: gitk:2375
msgid "Diff"
msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:2360
+#: gitk:2377
msgid "Old version"
msgstr "Π‘Ρ‚Π°Ρ€Π° вСрсия"
-#: gitk:2362
+#: gitk:2379
msgid "New version"
msgstr "Нова вСрсия"
-#: gitk:2364
+#: gitk:2382
msgid "Lines of context"
msgstr "ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ Π² Ρ€Π΅Π΄ΠΎΠ²Π΅"
-#: gitk:2374
+#: gitk:2392
msgid "Ignore space change"
msgstr "ΠŸΡ€Π°Π·Π½ΠΈΡ‚Π΅ Π·Π½Π°Ρ†ΠΈ Π±Π΅Π· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"
-#: gitk:2378 gitk:2380 gitk:7959 gitk:8206
+#: gitk:2396 gitk:2398 gitk:7978 gitk:8225
msgid "Line diff"
msgstr "ΠŸΠΎΡ€Π΅Π΄ΠΎΠ²ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:2445
+#: gitk:2463
msgid "Patch"
msgstr "ΠšΡ€ΡŠΠΏΠΊΠ°"
-#: gitk:2447
+#: gitk:2465
msgid "Tree"
msgstr "Π”ΡŠΡ€Π²ΠΎ"
-#: gitk:2617 gitk:2637
+#: gitk:2635 gitk:2656
msgid "Diff this -> selected"
msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΠ²Π° ΠΈ ΠΈΠ·Π±Ρ€Π°Π½ΠΎΡ‚ΠΎ"
-#: gitk:2618 gitk:2638
+#: gitk:2636 gitk:2657
msgid "Diff selected -> this"
msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ·Π±Ρ€Π°Π½ΠΎΡ‚ΠΎ ΠΈ Ρ‚ΠΎΠ²Π°"
-#: gitk:2619 gitk:2639
+#: gitk:2637 gitk:2658
msgid "Make patch"
msgstr "БъздаванС Π½Π° ΠΊΡ€ΡŠΠΏΠΊΠ°"
-#: gitk:2620 gitk:9254
+#: gitk:2638 gitk:9273
msgid "Create tag"
msgstr "БъздаванС Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚"
-#: gitk:2621 gitk:9371
+#: gitk:2639
+msgid "Copy commit summary"
+msgstr "ΠšΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° информацията Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
+
+#: gitk:2640 gitk:9404
msgid "Write commit to file"
msgstr "Π—Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ във Ρ„Π°ΠΉΠ»"
-#: gitk:2622 gitk:9428
+#: gitk:2641 gitk:9461
msgid "Create new branch"
msgstr "БъздаванС на нов клон"
-#: gitk:2623
+#: gitk:2642
msgid "Cherry-pick this commit"
msgstr "ΠžΡ‚Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2624
+#: gitk:2643
msgid "Reset HEAD branch to here"
msgstr "ΠŸΡ€ΠΈΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΡŠΡ€Ρ…Π° Π½Π° ΠΊΠ»ΠΎΠ½Π° към Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2625
+#: gitk:2644
msgid "Mark this commit"
msgstr "ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2626
+#: gitk:2645
msgid "Return to mark"
msgstr "Π’Ρ€ΡŠΡ‰Π°Π½Π΅ към отбСлязаното ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2627
+#: gitk:2646
msgid "Find descendant of this and mark"
msgstr "ΠžΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ ΠΈ отбСлязванС Π½Π° наслСдницитС"
-#: gitk:2628
+#: gitk:2647
msgid "Compare with marked commit"
msgstr "Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с отбСлязаното ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2629 gitk:2640
+#: gitk:2648 gitk:2659
msgid "Diff this -> marked commit"
msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΠ²Π° ΠΈ отбСлязаното"
-#: gitk:2630 gitk:2641
+#: gitk:2649 gitk:2660
msgid "Diff marked commit -> this"
msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ отбСлязаното ΠΈ Ρ‚ΠΎΠ²Π°"
-#: gitk:2631
+#: gitk:2650
msgid "Revert this commit"
msgstr "ΠžΡ‚ΠΌΡΠ½Π° Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2647
+#: gitk:2666
msgid "Check out this branch"
msgstr "Π˜Π·Ρ‚Π΅Π³Π»ΡΠ½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠ»ΠΎΠ½"
-#: gitk:2648
+#: gitk:2667
msgid "Remove this branch"
msgstr "Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠ»ΠΎΠ½"
-#: gitk:2649
+#: gitk:2668
msgid "Copy branch name"
msgstr "ΠšΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΎΠ½Π°"
-#: gitk:2656
+#: gitk:2675
msgid "Highlight this too"
msgstr "ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π°Π½Π΅ ΠΈ Π½Π° Ρ‚ΠΎΠ²Π°"
-#: gitk:2657
+#: gitk:2676
msgid "Highlight this only"
msgstr "ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π°Π½Π΅ само Π½Π° Ρ‚ΠΎΠ²Π°"
-#: gitk:2658
+#: gitk:2677
msgid "External diff"
msgstr "Π’ΡŠΠ½ΡˆΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:2659
+#: gitk:2678
msgid "Blame parent commit"
msgstr "АнотиранС Π½Π° родитСлското ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:2660
+#: gitk:2679
msgid "Copy path"
msgstr "ΠšΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡŠΡ‚Ρ"
-#: gitk:2667
+#: gitk:2686
msgid "Show origin of this line"
msgstr "ПоказванС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅Π΄"
-#: gitk:2668
+#: gitk:2687
msgid "Run git gui blame on this line"
msgstr "ИзпълнСниС Π½Π° β€žgit gui blameβ€œ Π²ΡŠΡ€Ρ…Ρƒ Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅Π΄"
-#: gitk:3014
+#: gitk:3031
+msgid "About gitk"
+msgstr "ΠžΡ‚Π½ΠΎΡΠ½ΠΎ gitk"
+
+#: gitk:3033
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
@@ -374,316 +382,324 @@ msgstr ""
"\n"
"Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΈ разпространявайтС ΠΏΡ€ΠΈ условията Π½Π° ΠžΠŸΠ› Π½Π° ГНУ"
-#: gitk:3022 gitk:3089 gitk:9857
+#: gitk:3041 gitk:3108 gitk:9890
msgid "Close"
msgstr "ЗатварянС"
-#: gitk:3043
+#: gitk:3062
msgid "Gitk key bindings"
msgstr "Клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ"
-#: gitk:3046
+#: gitk:3065
msgid "Gitk key bindings:"
msgstr "Клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ:"
-#: gitk:3048
+#: gitk:3067
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tΠ‘ΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°"
-#: gitk:3049
+#: gitk:3068
#, tcl-format
msgid "<%s-W>\t\tClose window"
msgstr "<%s-W>\t\tЗатварянС Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°"
-#: gitk:3050
+#: gitk:3069
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tКъм ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:3051
+#: gitk:3070
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tКъм послСдното ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:3052
+#: gitk:3071
msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, k\tΠ•Π΄Π½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π°Π³ΠΎΡ€Π΅"
-#: gitk:3053
+#: gitk:3072
msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, j\tΠ•Π΄Π½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π°Π΄ΠΎΠ»Ρƒ"
-#: gitk:3054
+#: gitk:3073
msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, h\tНазад Π² историята"
-#: gitk:3055
+#: gitk:3074
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\tНапрСд Π² историята"
-#: gitk:3056
+#: gitk:3075
#, tcl-format
msgid "<%s-n>\tGo to n-th parent of current commit in history list"
msgstr "<%s-n>\tКъм n-тия Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π» Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π² историята"
-#: gitk:3057
+#: gitk:3076
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π°Π³ΠΎΡ€Π΅ Π² списъка с подаванията"
-#: gitk:3058
+#: gitk:3077
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π°Π΄ΠΎΠ»Ρƒ Π² списъка с подаванията"
-#: gitk:3059
+#: gitk:3078
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tКъм Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° списъка с подаванията"
-#: gitk:3060
+#: gitk:3079
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tКъм края Π½Π° списъка с подаванията"
-#: gitk:3061
+#: gitk:3080
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tΠ Π΅Π΄ Π½Π°Π³ΠΎΡ€Π΅ Π² списъка с подавания"
-#: gitk:3062
+#: gitk:3081
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tΠ Π΅Π΄ Π½Π°Π΄ΠΎΠ»Ρƒ Π² списъка с подавания"
-#: gitk:3063
+#: gitk:3082
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π°Π³ΠΎΡ€Π΅ Π² списъка с подавания"
-#: gitk:3064
+#: gitk:3083
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π°Π΄ΠΎΠ»Ρƒ Π² списъка с подавания"
-#: gitk:3065
+#: gitk:3084
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Up>\tΠ’ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π°Π·Π°Π΄ (Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ Π½Π°Π³ΠΎΡ€Π΅, историчСски β€” послСдващи)"
-#: gitk:3066
+#: gitk:3085
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr ""
"<Shift-Down>\tΠ’ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π°ΠΏΡ€Π΅Π΄ (Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ Π½Π°Π΄ΠΎΠ»Ρƒ, историчСски β€” ΠΏΡ€Π΅Π΄Ρ…ΠΎΠΆΠ΄Π°Ρ‰ΠΈ)"
-#: gitk:3067
+#: gitk:3086
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π°Π³ΠΎΡ€Π΅ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3068
+#: gitk:3087
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π°Π΄ΠΎΠ»Ρƒ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3069
+#: gitk:3088
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Space>\t\tΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π°Π΄ΠΎΠ»Ρƒ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3070
+#: gitk:3089
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\t18 Ρ€Π΅Π΄Π° Π½Π°Π³ΠΎΡ€Π΅ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3071
+#: gitk:3090
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\t18 Ρ€Π΅Π΄Π° Π½Π°Π΄ΠΎΠ»Ρƒ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3072
+#: gitk:3091
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tΠ’ΡŠΡ€ΡΠ΅Π½Π΅"
-#: gitk:3073
+#: gitk:3092
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tКъм слСдващата поява"
-#: gitk:3074
+#: gitk:3093
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\tКъм слСдващата поява"
-#: gitk:3075
+#: gitk:3094
msgid "g\t\tGo to commit"
msgstr "g\t\tКъм послСдното ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:3076
+#: gitk:3095
msgid "/\t\tFocus the search box"
msgstr "/\t\tЀокус Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅"
-#: gitk:3077
+#: gitk:3096
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tКъм ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° поява"
-#: gitk:3078
+#: gitk:3097
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tΠ‘Π»Π΅Π΄Π²Π°Ρ‰ Ρ„Π°ΠΉΠ» Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3079
+#: gitk:3098
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tΠ’ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° слСдващата поява Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3080
+#: gitk:3099
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tΠ’ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° поява Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:3081
+#: gitk:3100
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tПо-голям Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°"
-#: gitk:3082
+#: gitk:3101
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tПо-голям Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°"
-#: gitk:3083
+#: gitk:3102
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tПо-малък Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°"
-#: gitk:3084
+#: gitk:3103
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tПо-малък Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°"
-#: gitk:3085
+#: gitk:3104
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tОбновяванС"
-#: gitk:3550 gitk:3559
+#: gitk:3569 gitk:3578
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ‚Π° дирСктория β€ž%sβ€œ:"
-#: gitk:3572
+#: gitk:3591
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° β€ž%sβ€œ ΠΎΡ‚ %s:"
-#: gitk:3635
+#: gitk:3654
msgid "command failed:"
msgstr "Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:"
-#: gitk:3784
+#: gitk:3803
msgid "No such commit"
msgstr "Вакова подаванС няма"
-#: gitk:3798
+#: gitk:3817
msgid "git gui blame: command failed:"
msgstr "β€žgit gui blameβ€œ: Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:"
-#: gitk:3829
+#: gitk:3848
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Π’ΡŠΡ€Ρ…ΡŠΡ‚ Π·Π° сливанС Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½: %s"
-#: gitk:3837
+#: gitk:3856
#, tcl-format
msgid "Error reading index: %s"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° индСкса: %s"
-#: gitk:3862
+#: gitk:3881
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit blameβ€œ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС стартирана: %s"
-#: gitk:3865 gitk:6754
+#: gitk:3884 gitk:6773
msgid "Searching"
msgstr "Π’ΡŠΡ€ΡΠ΅Π½Π΅"
-#: gitk:3897
+#: gitk:3916
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° β€žgit blameβ€œ: %s"
-#: gitk:3925
+#: gitk:3944
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Π’ΠΎΠ·ΠΈ Ρ€Π΅Π΄ ΠΈΠ΄Π²Π° ΠΎΡ‚ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ %s, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ Π² ΠΈΠ·Π³Π»Π΅Π΄Π°"
-#: gitk:3939
+#: gitk:3958
msgid "External diff viewer failed:"
msgstr "ΠΠ΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ изпълнСниС Π½Π° Π²ΡŠΠ½ΡˆΠ½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ:"
-#: gitk:4070
+#: gitk:4062
+msgid "All files"
+msgstr "Всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅"
+
+#: gitk:4086
+msgid "View"
+msgstr "ИзглСд"
+
+#: gitk:4089
msgid "Gitk view definition"
msgstr "ДСфиниция Π½Π° ΠΈΠ·Π³Π»Π΅Π΄ Π² Gitk"
-#: gitk:4074
+#: gitk:4093
msgid "Remember this view"
msgstr "Π—Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΈΠ·Π³Π»Π΅Π΄"
-#: gitk:4075
+#: gitk:4094
msgid "References (space separated list):"
msgstr "Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ (списък с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π» ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»):"
-#: gitk:4076
+#: gitk:4095
msgid "Branches & tags:"
msgstr "Клони ΠΈ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ:"
-#: gitk:4077
+#: gitk:4096
msgid "All refs"
msgstr "Всички ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ"
-#: gitk:4078
+#: gitk:4097
msgid "All (local) branches"
msgstr "Всички (Π»ΠΎΠΊΠ°Π»Π½ΠΈ) ΠΊΠ»ΠΎΠ½ΠΈ"
-#: gitk:4079
+#: gitk:4098
msgid "All tags"
msgstr "Всички Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ"
-#: gitk:4080
+#: gitk:4099
msgid "All remote-tracking branches"
msgstr "Всички слСдящи ΠΊΠ»ΠΎΠ½ΠΈ"
-#: gitk:4081
+#: gitk:4100
msgid "Commit Info (regular expressions):"
msgstr "Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ (Ρ€Π΅Π³. ΠΈΠ·Ρ€.):"
-#: gitk:4082
+#: gitk:4101
msgid "Author:"
msgstr "Автор:"
-#: gitk:4083
+#: gitk:4102
msgid "Committer:"
msgstr "Подал:"
-#: gitk:4084
+#: gitk:4103
msgid "Commit Message:"
msgstr "Π‘ΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅:"
-#: gitk:4085
+#: gitk:4104
msgid "Matches all Commit Info criteria"
msgstr "БъвпадСниС ΠΏΠΎ всички характСристики Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ"
-#: gitk:4086
+#: gitk:4105
msgid "Matches no Commit Info criteria"
msgstr "НС съвпада ΠΏΠΎ никоя ΠΎΡ‚ характСристикитС Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ"
-#: gitk:4087
+#: gitk:4106
msgid "Changes to Files:"
msgstr "ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅:"
-#: gitk:4088
+#: gitk:4107
msgid "Fixed String"
msgstr "ДословСн Π½ΠΈΠ·"
-#: gitk:4089
+#: gitk:4108
msgid "Regular Expression"
msgstr "РСгулярСн ΠΈΠ·Ρ€Π°Π·"
-#: gitk:4090
+#: gitk:4109
msgid "Search string:"
msgstr "Низ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅:"
-#: gitk:4091
+#: gitk:4110
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -691,204 +707,204 @@ msgstr ""
"Π”Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ (β€ž2 weeks agoβ€œ (ΠΏΡ€Π΅Π΄ΠΈ 2 сСдмици), β€ž2009-03-17 15:27:38β€œ, "
"β€žMarch 17, 2009 15:27:38β€œ):"
-#: gitk:4092
+#: gitk:4111
msgid "Since:"
msgstr "ΠžΡ‚:"
-#: gitk:4093
+#: gitk:4112
msgid "Until:"
msgstr "Π”ΠΎ:"
-#: gitk:4094
+#: gitk:4113
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr ""
"ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ ΠΈ/ΠΈΠ»ΠΈ прСскачанС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ вСрсии (Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»Π½ΠΎ цяло "
"число):"
-#: gitk:4095
+#: gitk:4114
msgid "Number to show:"
msgstr "Π‘Ρ€ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ:"
-#: gitk:4096
+#: gitk:4115
msgid "Number to skip:"
msgstr "Π‘Ρ€ΠΎΠΉ прСскочСни:"
-#: gitk:4097
+#: gitk:4116
msgid "Miscellaneous options:"
msgstr "Π Π°Π·Π½ΠΈ:"
-#: gitk:4098
+#: gitk:4117
msgid "Strictly sort by date"
msgstr "ΠŸΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΏΠΎ Π΄Π°Ρ‚Π°"
-#: gitk:4099
+#: gitk:4118
msgid "Mark branch sides"
msgstr "ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π°Π½Π΅ Π½Π° странитС ΠΏΠΎ ΠΊΠ»ΠΎΠ½Π°"
-#: gitk:4100
+#: gitk:4119
msgid "Limit to first parent"
msgstr "Π‘Π°ΠΌΠΎ ΠΏΡŠΡ€Π²ΠΈΡ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»"
-#: gitk:4101
+#: gitk:4120
msgid "Simple history"
msgstr "ΠžΠΏΡ€ΠΎΡΡ‚Π΅Π½Π° история"
-#: gitk:4102
+#: gitk:4121
msgid "Additional arguments to git log:"
msgstr "Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ към β€žgit logβ€œ:"
-#: gitk:4103
+#: gitk:4122
msgid "Enter files and directories to include, one per line:"
msgstr "Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅ Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅, ΠΏΠΎ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π° Ρ€Π΅Π΄"
-#: gitk:4104
+#: gitk:4123
msgid "Command to generate more commits to include:"
msgstr ""
"Команда Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ подавания, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ:"
-#: gitk:4228
+#: gitk:4247
msgid "Gitk: edit view"
msgstr "Gitk: Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄"
-#: gitk:4236
+#: gitk:4255
msgid "-- criteria for selecting revisions"
msgstr "β€” ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° вСрсии"
-#: gitk:4241
+#: gitk:4260
msgid "View Name"
msgstr "ИмС на изглСд"
-#: gitk:4316
+#: gitk:4335
msgid "Apply (F5)"
msgstr "ΠŸΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ (F5)"
-#: gitk:4354
+#: gitk:4373
msgid "Error in commit selection arguments:"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° подавания:"
-#: gitk:4409 gitk:4462 gitk:4924 gitk:4938 gitk:6208 gitk:12373 gitk:12374
+#: gitk:4428 gitk:4481 gitk:4943 gitk:4957 gitk:6227 gitk:12410 gitk:12411
msgid "None"
msgstr "Няма"
-#: gitk:5021 gitk:5026
+#: gitk:5040 gitk:5045
msgid "Descendant"
msgstr "НаслСдник"
-#: gitk:5022
+#: gitk:5041
msgid "Not descendant"
msgstr "НС С наслСдник"
-#: gitk:5029 gitk:5034
+#: gitk:5048 gitk:5053
msgid "Ancestor"
msgstr "ΠŸΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½ΠΈΠΊ"
-#: gitk:5030
+#: gitk:5049
msgid "Not ancestor"
msgstr "НС Π΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½ΠΈΠΊ"
-#: gitk:5324
+#: gitk:5343
msgid "Local changes checked in to index but not committed"
msgstr "Π›ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към индСкса, Π½ΠΎ Π½Π΅ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΈ"
-#: gitk:5360
+#: gitk:5379
msgid "Local uncommitted changes, not checked in to index"
msgstr "Π›ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ извън индСкса"
-#: gitk:7134
+#: gitk:7153
msgid "and many more"
msgstr "ΠΈ ΠΎΡ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ"
-#: gitk:7137
+#: gitk:7156
msgid "many"
msgstr "ΠΌΠ½ΠΎΠ³ΠΎ"
-#: gitk:7328
+#: gitk:7347
msgid "Tags:"
msgstr "Π•Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ:"
-#: gitk:7345 gitk:7351 gitk:8825
+#: gitk:7364 gitk:7370 gitk:8844
msgid "Parent"
msgstr "Π ΠΎΠ΄ΠΈΡ‚Π΅Π»"
-#: gitk:7356
+#: gitk:7375
msgid "Child"
msgstr "Π”Π΅Ρ‚Π΅"
-#: gitk:7365
+#: gitk:7384
msgid "Branch"
msgstr "Клон"
-#: gitk:7368
+#: gitk:7387
msgid "Follows"
msgstr "Π‘Π»Π΅Π΄Π²Π°"
-#: gitk:7371
+#: gitk:7390
msgid "Precedes"
msgstr "ΠŸΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π°"
-#: gitk:7966
+#: gitk:7985
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅: %s"
-#: gitk:8650
+#: gitk:8669
msgid "Goto:"
msgstr "Към Ρ€Π΅Π΄:"
-#: gitk:8671
+#: gitk:8690
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Π‘ΡŠΠΊΡ€Π°Ρ‚Π΅Π½Π°Ρ‚Π° сума ΠΏΠΎ SHA1 %s Π½Π΅ Π΅ Π΅Π΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Π°"
-#: gitk:8678
+#: gitk:8697
#, tcl-format
msgid "Revision %s is not known"
msgstr "НСпозната вСрсия %s"
-#: gitk:8688
+#: gitk:8707
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "НСпозната сума ΠΏΠΎ SHA1 %s"
-#: gitk:8690
+#: gitk:8709
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "ВСрсия %s Π½Π΅ Π΅ Π² тСкущия ΠΈΠ·Π³Π»Π΅Π΄"
-#: gitk:8832 gitk:8847
+#: gitk:8851 gitk:8866
msgid "Date"
msgstr "Π”Π°Ρ‚Π°"
-#: gitk:8835
+#: gitk:8854
msgid "Children"
msgstr "Π”Π΅Ρ†Π°"
-#: gitk:8898
+#: gitk:8917
#, tcl-format
msgid "Reset %s branch to here"
msgstr "ЗануляванС Π½Π° ΠΊΠ»ΠΎΠ½Π° β€ž%sβ€œ към Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅"
-#: gitk:8900
+#: gitk:8919
msgid "Detached head: can't reset"
msgstr "ΠΠ΅ΡΠ²ΡŠΡ€Π·Π°Π½ Π²Ρ€ΡŠΡ…: нСвъзмоТно зануляванС"
-#: gitk:9005 gitk:9011
+#: gitk:9024 gitk:9030
msgid "Skipping merge commit "
msgstr "ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° сливанСто"
-#: gitk:9020 gitk:9025
+#: gitk:9039 gitk:9044
msgid "Error getting patch ID for "
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π° "
-#: gitk:9021 gitk:9026
+#: gitk:9040 gitk:9045
msgid " - stopping\n"
msgstr " β€” спиранС\n"
-#: gitk:9031 gitk:9034 gitk:9042 gitk:9056 gitk:9065
+#: gitk:9050 gitk:9053 gitk:9061 gitk:9075 gitk:9084
msgid "Commit "
msgstr "ПодаванС"
-#: gitk:9035
+#: gitk:9054
msgid ""
" is the same patch as\n"
" "
@@ -896,7 +912,7 @@ msgstr ""
" Π΅ ΡΡŠΡ‰Π°Ρ‚Π° ΠΊΡ€ΡŠΠΏΠΊΠ° ΠΊΠ°Ρ‚ΠΎ\n"
" "
-#: gitk:9043
+#: gitk:9062
msgid ""
" differs from\n"
" "
@@ -904,7 +920,7 @@ msgstr ""
" сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚\n"
" "
-#: gitk:9045
+#: gitk:9064
msgid ""
"Diff of commits:\n"
"\n"
@@ -912,130 +928,130 @@ msgstr ""
"Π Π°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ подаванията:\n"
"\n"
-#: gitk:9057 gitk:9066
+#: gitk:9076 gitk:9085
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " ΠΈΠΌΠ° %s Π΄Π΅Ρ†Π° β€” спиранС\n"
-#: gitk:9085
+#: gitk:9104
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ във Ρ„Π°ΠΉΠ»: %s"
-#: gitk:9091
+#: gitk:9110
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ изчисляванСто Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ подаванията: %s"
-#: gitk:9137
+#: gitk:9156
msgid "Top"
msgstr "Най-Π³ΠΎΡ€Π΅"
-#: gitk:9138
+#: gitk:9157
msgid "From"
msgstr "ΠžΡ‚"
-#: gitk:9143
+#: gitk:9162
msgid "To"
msgstr "Π”ΠΎ"
-#: gitk:9167
+#: gitk:9186
msgid "Generate patch"
msgstr "Π“Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΡ€ΡŠΠΏΠΊΠ°"
-#: gitk:9169
+#: gitk:9188
msgid "From:"
msgstr "ΠžΡ‚:"
-#: gitk:9178
+#: gitk:9197
msgid "To:"
msgstr "Π”ΠΎ:"
-#: gitk:9187
+#: gitk:9206
msgid "Reverse"
msgstr "ΠžΠ±Ρ€ΡŠΡ‰Π°Π½Π΅"
-#: gitk:9189 gitk:9385
+#: gitk:9208 gitk:9418
msgid "Output file:"
msgstr "Π—Π°ΠΏΠ°Π·Π²Π°Π½Π΅ във Ρ„Π°ΠΉΠ»Π°:"
-#: gitk:9195
+#: gitk:9214
msgid "Generate"
msgstr "Π“Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅"
-#: gitk:9233
+#: gitk:9252
msgid "Error creating patch:"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΡ€ΡŠΠΏΠΊΠ°:"
-#: gitk:9256 gitk:9373 gitk:9430
+#: gitk:9275 gitk:9406 gitk:9463
msgid "ID:"
msgstr "Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€:"
-#: gitk:9265
+#: gitk:9284
msgid "Tag name:"
msgstr "ИмС Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚:"
-#: gitk:9268
+#: gitk:9287
msgid "Tag message is optional"
msgstr "Π‘ΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ Π΅ Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ"
-#: gitk:9270
+#: gitk:9289
msgid "Tag message:"
msgstr "Π‘ΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π·Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚:"
-#: gitk:9274 gitk:9439
+#: gitk:9293 gitk:9472
msgid "Create"
msgstr "БъздаванС"
-#: gitk:9292
+#: gitk:9311
msgid "No tag name specified"
msgstr "Липсва ΠΈΠΌΠ΅ Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚"
-#: gitk:9296
+#: gitk:9315
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Π•Ρ‚ΠΈΠΊΠ΅Ρ‚ΡŠΡ‚ β€ž%sβ€œ Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°"
-#: gitk:9306
+#: gitk:9325
msgid "Error creating tag:"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚:"
-#: gitk:9382
+#: gitk:9415
msgid "Command:"
msgstr "Команда:"
-#: gitk:9390
+#: gitk:9423
msgid "Write"
msgstr "Π—Π°ΠΏΠ°Π·Π²Π°Π½Π΅"
-#: gitk:9408
+#: gitk:9441
msgid "Error writing commit:"
msgstr "Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ:"
-#: gitk:9435
+#: gitk:9468
msgid "Name:"
msgstr "ИмС:"
-#: gitk:9458
+#: gitk:9491
msgid "Please specify a name for the new branch"
msgstr "Π£ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅ Π·Π° новия ΠΊΠ»ΠΎΠ½"
-#: gitk:9463
+#: gitk:9496
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "ΠšΠ»ΠΎΠ½ΡŠΡ‚ β€ž%sβ€œ Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°. Π”Π° бъдС Π»ΠΈ прСзаписан?"
-#: gitk:9530
+#: gitk:9563
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"ΠŸΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ β€ž%sβ€œ Π²Π΅Ρ‡Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΠΊΠ»ΠΎΠ½Π° β€ž%sβ€œ β€” Π΄Π° бъдС Π»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ?"
-#: gitk:9535
+#: gitk:9568
msgid "Cherry-picking"
msgstr "ΠžΡ‚Π±ΠΈΡ€Π°Π½Π΅"
-#: gitk:9544
+#: gitk:9577
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -1044,7 +1060,7 @@ msgstr ""
"ΠΠ΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚Π±ΠΈΡ€Π°Π½Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ във Ρ„Π°ΠΉΠ»Π° β€ž%sβ€œ ΠΈΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ.\n"
"ΠŸΠΎΠ΄Π°ΠΉΡ‚Π΅, Π·Π°Π½ΡƒΠ»Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π³ΠΈ скатайтС ΠΈ ΠΏΡ€ΠΎΠ±Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ."
-#: gitk:9550
+#: gitk:9583
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1052,20 +1068,20 @@ msgstr ""
"ΠΠ΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΡ‚Π±ΠΈΡ€Π°Π½Π΅ ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΏΡ€ΠΈ сливанС.\n"
"Π˜ΡΠΊΠ°Ρ‚Π΅ Π»ΠΈ Π΄Π° Π³ΠΈ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ Ρ‡Ρ€Π΅Π· β€žgit citoolβ€œ?"
-#: gitk:9566 gitk:9624
+#: gitk:9599 gitk:9657
msgid "No changes committed"
msgstr "НС са ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ"
-#: gitk:9593
+#: gitk:9626
#, tcl-format
msgid "Commit %s is not included in branch %s -- really revert it?"
msgstr "ΠŸΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ β€ž%sβ€œ Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΠΊΠ»ΠΎΠ½Π° β€ž%sβ€œ. Π”Π° бъдС Π»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½ΠΎ?"
-#: gitk:9598
+#: gitk:9631
msgid "Reverting"
msgstr "ΠžΡ‚ΠΌΡΠ½Π°"
-#: gitk:9606
+#: gitk:9639
#, tcl-format
msgid ""
"Revert failed because of local changes to the following files:%s Please "
@@ -1074,7 +1090,7 @@ msgstr ""
"ΠΠ΅ΡƒΡΠΏΠ΅ΡˆΠ½Π° отмяна, Π·Π°Ρ‰ΠΎΡ‚ΠΎ във Ρ„Π°ΠΉΠ»Π° β€ž%sβ€œ ΠΈΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ.\n"
"ΠŸΠΎΠ΄Π°ΠΉΡ‚Π΅, Π·Π°Π½ΡƒΠ»Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π³ΠΈ скатайтС ΠΈ ΠΏΡ€ΠΎΠ±Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ.<"
-#: gitk:9610
+#: gitk:9643
msgid ""
"Revert failed because of merge conflict.\n"
" Do you wish to run git citool to resolve it?"
@@ -1082,28 +1098,28 @@ msgstr ""
"ΠΠ΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ отмяна ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΏΡ€ΠΈ сливанС.\n"
"Π˜ΡΠΊΠ°Ρ‚Π΅ Π»ΠΈ Π΄Π° Π³ΠΈ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ Ρ‡Ρ€Π΅Π· β€žgit citoolβ€œ?"
-#: gitk:9653
+#: gitk:9686
msgid "Confirm reset"
msgstr "ΠŸΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° зануляванСто"
-#: gitk:9655
+#: gitk:9688
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Π”Π° сС Π·Π°Π½ΡƒΠ»ΠΈ Π»ΠΈ ΠΊΠ»ΠΎΠ½ΡŠΡ‚ β€ž%sβ€œ към β€ž%sβ€œ?"
-#: gitk:9657
+#: gitk:9690
msgid "Reset type:"
msgstr "Π’ΠΈΠ΄ зануляванС:"
-#: gitk:9660
+#: gitk:9693
msgid "Soft: Leave working tree and index untouched"
msgstr "Π‘Π»Π°Π±ΠΎ: Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎ ΠΈ индСкса остават ΡΡŠΡ‰ΠΈΡ‚Π΅"
-#: gitk:9663
+#: gitk:9696
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "БмСсСно: Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎ остава ΡΡŠΡ‰ΠΎΡ‚ΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΡŠΡ‚ сС занулява"
-#: gitk:9666
+#: gitk:9699
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1111,19 +1127,19 @@ msgstr ""
"Π‘ΠΈΠ»Π½ΠΎ: зануляванС ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎ, ΠΈ Π½Π° индСкса\n"
"(*Π’Π‘Π˜Π§ΠšΠ˜* Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π±Π΅Π·Π²ΡŠΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ Π·Π°Π³ΡƒΠ±Π΅Π½ΠΈ)"
-#: gitk:9683
+#: gitk:9716
msgid "Resetting"
msgstr "ЗануляванС"
-#: gitk:9743
+#: gitk:9776
msgid "Checking out"
msgstr "Π˜Π·Ρ‚Π΅Π³Π»ΡΠ½Π΅"
-#: gitk:9796
+#: gitk:9829
msgid "Cannot delete the currently checked-out branch"
msgstr "Π’Π΅ΠΊΡƒΡ‰ΠΎ изтСглСният ΠΊΠ»ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚"
-#: gitk:9802
+#: gitk:9835
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1132,16 +1148,16 @@ msgstr ""
"ΠŸΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡ‚Π° Π½Π° ΠΊΠ»ΠΎΠ½Π° β€ž%sβ€œ Π½Π΅ са Π½Π° Π½ΠΈΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ ΠΊΠ»ΠΎΠ½.\n"
"Наистина Π»ΠΈ Π΄Π° сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ ΠΊΠ»ΠΎΠ½ΡŠΡ‚ β€ž%sβ€œ?"
-#: gitk:9833
+#: gitk:9866
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Π•Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ ΠΈ Π²ΡŠΡ€Ρ…ΠΎΠ²Π΅: %s"
-#: gitk:9850
+#: gitk:9883
msgid "Filter"
msgstr "Π€ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅"
-#: gitk:10146
+#: gitk:10179
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1149,201 +1165,201 @@ msgstr ""
"Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π΅Ρ‚ΠΎ Π½Π° топологията Π½Π° подаванията. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π° Π·Π° ΠΊΠ»ΠΎΠ½Π° "
"ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅/слСдващитС Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ Ρ‰Π΅ Π΅ нСпълна."
-#: gitk:11123
+#: gitk:11156
msgid "Tag"
msgstr "Π•Ρ‚ΠΈΠΊΠ΅Ρ‚"
-#: gitk:11127
+#: gitk:11160
msgid "Id"
msgstr "Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€"
-#: gitk:11210
+#: gitk:11243
msgid "Gitk font chooser"
msgstr "Π˜Π·Π±ΠΎΡ€ Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚ Π·Π° Gitk"
-#: gitk:11227
+#: gitk:11260
msgid "B"
msgstr "Π§"
-#: gitk:11230
+#: gitk:11263
msgid "I"
msgstr "К"
-#: gitk:11348
+#: gitk:11381
msgid "Commit list display options"
msgstr "Настройки Π½Π° списъка с подавания"
-#: gitk:11351
+#: gitk:11384
msgid "Maximum graph width (lines)"
msgstr "Максимална ΡˆΠΈΡ€ΠΎΡ‡ΠΈΠ½Π° Π½Π° Π³Ρ€Π°Ρ„Π° (Π² Ρ€Π΅Π΄ΠΎΠ²Π΅)"
-#: gitk:11355
+#: gitk:11388
#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Максимална ΡˆΠΈΡ€ΠΎΡ‡ΠΈΠ½Π° Π½Π° Π³Ρ€Π°Ρ„Π° (% ΠΎΡ‚ ΠΏΠ°Π½Π΅Π»Π°)"
-#: gitk:11358
+#: gitk:11391
msgid "Show local changes"
msgstr "ПоказванС Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ"
-#: gitk:11361
+#: gitk:11394
msgid "Auto-select SHA1 (length)"
msgstr "Автоматично ΠΈΠ·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° SHA1 (дълТина)"
-#: gitk:11365
+#: gitk:11398
msgid "Hide remote refs"
msgstr "Π‘ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ"
-#: gitk:11369
+#: gitk:11402
msgid "Diff display options"
msgstr "Настройки Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅"
-#: gitk:11371
+#: gitk:11404
msgid "Tab spacing"
msgstr "Π¨ΠΈΡ€ΠΎΡ‡ΠΈΠ½Π° Π½Π° Ρ‚Π°Π±ΡƒΠ»Π°Ρ‚ΠΎΡ€Π°"
-#: gitk:11374
+#: gitk:11407
msgid "Display nearby tags/heads"
msgstr "ИзвСТданС Π½Π° Π±Π»ΠΈΠ·ΠΊΠΈΡ‚Π΅ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ ΠΈ Π²ΡŠΡ€Ρ…ΠΎΠ²Π΅"
-#: gitk:11377
+#: gitk:11410
msgid "Maximum # tags/heads to show"
msgstr "МаксималСн Π±Ρ€ΠΎΠΉ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ/Π²ΡŠΡ€Ρ…ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅"
-#: gitk:11380
+#: gitk:11413
msgid "Limit diffs to listed paths"
msgstr "Π Π°Π·Π»ΠΈΠΊΠ° само Π² ΠΈΠ·Π±Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΏΡŠΡ‚ΠΈΡ‰Π°"
-#: gitk:11383
+#: gitk:11416
msgid "Support per-file encodings"
msgstr "ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ кодирания Π·Π° всСки Ρ„Π°ΠΉΠ»"
-#: gitk:11389 gitk:11536
+#: gitk:11422 gitk:11569
msgid "External diff tool"
msgstr "Π’ΡŠΠ½ΡˆΠ΅Π½ инструмСнт Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈ"
-#: gitk:11390
+#: gitk:11423
msgid "Choose..."
msgstr "Π˜Π·Π±ΠΎΡ€β€¦"
-#: gitk:11395
+#: gitk:11428
msgid "General options"
msgstr "ΠžΠ±Ρ‰ΠΈ настройки"
-#: gitk:11398
+#: gitk:11431
msgid "Use themed widgets"
msgstr "ИзползванС Π½Π° Ρ‚Π΅ΠΌΠ° Π·Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ"
-#: gitk:11400
+#: gitk:11433
msgid "(change requires restart)"
msgstr "(промяната изисква рСстартиранС Π½Π° Gitk)"
-#: gitk:11402
+#: gitk:11435
msgid "(currently unavailable)"
msgstr "(Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ)"
-#: gitk:11413
+#: gitk:11446
msgid "Colors: press to choose"
msgstr "Π¦Π²Π΅Ρ‚ΠΎΠ²Π΅: ΠΈΠ·Π±ΠΈΡ€Π° сС с натисканС"
-#: gitk:11416
+#: gitk:11449
msgid "Interface"
msgstr "Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ"
-#: gitk:11417
+#: gitk:11450
msgid "interface"
msgstr "интСрфСйс"
-#: gitk:11420
+#: gitk:11453
msgid "Background"
msgstr "Π€ΠΎΠ½"
-#: gitk:11421 gitk:11451
+#: gitk:11454 gitk:11484
msgid "background"
msgstr "Ρ„ΠΎΠ½"
-#: gitk:11424
+#: gitk:11457
msgid "Foreground"
msgstr "Π—Π½Π°Ρ†ΠΈ"
-#: gitk:11425
+#: gitk:11458
msgid "foreground"
msgstr "Π·Π½Π°Ρ†ΠΈ"
-#: gitk:11428
+#: gitk:11461
msgid "Diff: old lines"
msgstr "Π Π°Π·Π»ΠΈΠΊΠ°: стари Ρ€Π΅Π΄ΠΎΠ²Π΅"
-#: gitk:11429
+#: gitk:11462
msgid "diff old lines"
msgstr "Ρ€Π°Π·Π»ΠΈΠΊΠ°, стари Ρ€Π΅Π΄ΠΎΠ²Π΅"
-#: gitk:11433
+#: gitk:11466
msgid "Diff: new lines"
msgstr "Π Π°Π·Π»ΠΈΠΊΠ°: Π½ΠΎΠ²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅"
-#: gitk:11434
+#: gitk:11467
msgid "diff new lines"
msgstr "Ρ€Π°Π·Π»ΠΈΠΊΠ°, Π½ΠΎΠ²ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅"
-#: gitk:11438
+#: gitk:11471
msgid "Diff: hunk header"
msgstr "Π Π°Π·Π»ΠΈΠΊΠ°: Π½Π°Ρ‡Π°Π»ΠΎ Π½Π° ΠΏΠ°Ρ€Ρ‡Π΅"
-#: gitk:11440
+#: gitk:11473
msgid "diff hunk header"
msgstr "Ρ€Π°Π·Π»ΠΈΠΊΠ°, Π½Π°Ρ‡Π°Π»ΠΎ Π½Π° ΠΏΠ°Ρ€Ρ‡Π΅"
-#: gitk:11444
+#: gitk:11477
msgid "Marked line bg"
msgstr "Π€ΠΎΠ½ Π½Π° отбСлязан Ρ€Π΅Π΄"
-#: gitk:11446
+#: gitk:11479
msgid "marked line background"
msgstr "Ρ„ΠΎΠ½ Π½Π° отбСлязан Ρ€Π΅Π΄"
-#: gitk:11450
+#: gitk:11483
msgid "Select bg"
msgstr "Π˜Π·Π±ΠΎΡ€ Π½Π° Ρ„ΠΎΠ½"
-#: gitk:11459
+#: gitk:11492
msgid "Fonts: press to choose"
msgstr "Π¨Ρ€ΠΈΡ„Ρ‚ΠΎΠ²Π΅: ΠΈΠ·Π±ΠΈΡ€Π° сС с натисканС"
-#: gitk:11461
+#: gitk:11494
msgid "Main font"
msgstr "ОсновСн ΡˆΡ€ΠΈΡ„Ρ‚"
-#: gitk:11462
+#: gitk:11495
msgid "Diff display font"
msgstr "Π¨Ρ€ΠΈΡ„Ρ‚ Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅"
-#: gitk:11463
+#: gitk:11496
msgid "User interface font"
msgstr "Π¨Ρ€ΠΈΡ„Ρ‚ Π½Π° интСрфСйса"
-#: gitk:11485
+#: gitk:11518
msgid "Gitk preferences"
msgstr "Настройки Π½Π° Gitk"
-#: gitk:11494
+#: gitk:11527
msgid "General"
msgstr "ΠžΠ±Ρ‰ΠΈ"
-#: gitk:11495
+#: gitk:11528
msgid "Colors"
msgstr "Π¦Π²Π΅Ρ‚ΠΎΠ²Π΅"
-#: gitk:11496
+#: gitk:11529
msgid "Fonts"
msgstr "Π¨Ρ€ΠΈΡ„Ρ‚ΠΎΠ²Π΅"
-#: gitk:11546
+#: gitk:11579
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: ΠΈΠ·Π±ΠΎΡ€ Π½Π° цвят Π½Π° β€ž%sβ€œ"
-#: gitk:12059
+#: gitk:12092
msgid ""
"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
" Gitk requires at least Tcl/Tk 8.4."
@@ -1351,15 +1367,15 @@ msgstr ""
"Π’Π°Π·ΠΈ вСрсия Π½Π° Tcl/Tk Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΎΡ‚ Gitk.\n"
" НСобходима Π²ΠΈ Π΅ ΠΏΠΎΠ½Π΅ Tcl/Tk 8.4."
-#: gitk:12269
+#: gitk:12302
msgid "Cannot find a git repository here."
msgstr "Π’ΡƒΠΊ липсва Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° Git."
-#: gitk:12316
+#: gitk:12349
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "НССднозначСн Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€ž%sβ€œ: ΠΈΠΌΠ° ΠΈ Ρ‚Π°ΠΊΠ°Π²Π° вСрсия, ΠΈ Ρ‚Π°ΠΊΡŠΠ² Ρ„Π°ΠΉΠ»"
-#: gitk:12328
+#: gitk:12361
msgid "Bad arguments to gitk:"
msgstr "НСправилни Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° gitk:"
diff --git a/gitk-git/po/de.po b/gitk-git/po/de.po
index d9ba4052e2..bde749ed8a 100644
--- a/gitk-git/po/de.po
+++ b/gitk-git/po/de.po
@@ -23,11 +23,11 @@ msgstr "Liste der nicht zusammengefΓΌhrten Dateien nicht gefunden:"
#: gitk:212 gitk:2381
msgid "Color words"
-msgstr ""
+msgstr "WΓΆrter einfΓ€rben"
#: gitk:217 gitk:2381 gitk:8220 gitk:8253
msgid "Markup words"
-msgstr ""
+msgstr "WΓΆrter kennzeichnen"
#: gitk:324
msgid "Error parsing revisions:"
@@ -187,7 +187,7 @@ msgstr "Γ„nderungen:"
#: gitk:2304 gitk:4779
msgid "changing lines matching:"
-msgstr ""
+msgstr "GeΓ€nderte Zeilen entsprechen:"
#: gitk:2313 gitk:2315 gitk:4766
msgid "Exact"
@@ -248,7 +248,7 @@ msgstr "LeerzeichenΓ€nderungen ignorieren"
#: gitk:2378 gitk:2380 gitk:7959 gitk:8206
msgid "Line diff"
-msgstr ""
+msgstr "Zeilenunterschied"
#: gitk:2445
msgid "Patch"
@@ -307,19 +307,16 @@ msgid "Compare with marked commit"
msgstr "Mit Lesezeichen vergleichen"
#: gitk:2629 gitk:2640
-#, fuzzy
msgid "Diff this -> marked commit"
-msgstr "Vergleich: diese -> gewΓ€hlte"
+msgstr "Vergleich: diese -> gewΓ€hlte Version"
#: gitk:2630 gitk:2641
-#, fuzzy
msgid "Diff marked commit -> this"
-msgstr "Vergleich: gewΓ€hlte -> diese"
+msgstr "Vergleich: gewΓ€hlte -> diese Version"
#: gitk:2631
-#, fuzzy
msgid "Revert this commit"
-msgstr "Lesezeichen setzen"
+msgstr "Version umkehren"
#: gitk:2647
msgid "Check out this branch"
@@ -331,7 +328,7 @@ msgstr "Zweig lΓΆschen"
#: gitk:2649
msgid "Copy branch name"
-msgstr ""
+msgstr "Zweigname kopieren"
#: gitk:2656
msgid "Highlight this too"
@@ -351,7 +348,7 @@ msgstr "Annotieren der Elternversion"
#: gitk:2660
msgid "Copy path"
-msgstr ""
+msgstr "Pfad kopieren"
#: gitk:2667
msgid "Show origin of this line"
@@ -362,7 +359,6 @@ msgid "Run git gui blame on this line"
msgstr "Diese Zeile annotieren (Β»git gui blameΒ«)"
#: gitk:3014
-#, fuzzy
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
@@ -374,7 +370,7 @@ msgstr ""
"\n"
"Gitk - eine Visualisierung der Git-Historie\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright \\u00a9 2005-2014 Paul Mackerras\n"
"\n"
"Benutzung und Weiterverbreitung gemÀß den Bedingungen der GNU General Public "
"License"
@@ -397,9 +393,9 @@ msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tBeenden"
#: gitk:3049
-#, fuzzy, tcl-format
+#, tcl-format
msgid "<%s-W>\t\tClose window"
-msgstr "<%s-F>\t\tSuchen"
+msgstr "<%s-F>\t\tFenster schließen"
#: gitk:3050
msgid "<Home>\t\tMove to first commit"
@@ -410,19 +406,16 @@ msgid "<End>\t\tMove to last commit"
msgstr "<Ende>\t\tZur Γ€ltesten Version springen"
#: gitk:3052
-#, fuzzy
msgid "<Up>, p, k\tMove up one commit"
-msgstr "<Hoch>, p, i\tNΓ€chste neuere Version"
+msgstr "<Hoch>, p, k\tNΓ€chste neuere Version"
#: gitk:3053
-#, fuzzy
msgid "<Down>, n, j\tMove down one commit"
-msgstr "<Runter>, n, k\tNΓ€chste Γ€ltere Version"
+msgstr "<Runter>, n, j\tNΓ€chste Γ€ltere Version"
#: gitk:3054
-#, fuzzy
msgid "<Left>, z, h\tGo back in history list"
-msgstr "<Links>, z, j\tEine Version zurΓΌckgehen"
+msgstr "<Links>, z, h\tEine Version zurΓΌckgehen"
#: gitk:3055
msgid "<Right>, x, l\tGo forward in history list"
@@ -431,7 +424,7 @@ msgstr "<Rechts>, x, l\tEine Version weitergehen"
#: gitk:3056
#, tcl-format
msgid "<%s-n>\tGo to n-th parent of current commit in history list"
-msgstr ""
+msgstr "<%s-n>\tZu n-ter Elternversion in Versionshistorie springen"
#: gitk:3057
msgid "<PageUp>\tMove up one page in commit list"
@@ -514,9 +507,8 @@ msgid "<Return>\tMove to next find hit"
msgstr "<Eingabetaste>\tWeitersuchen"
#: gitk:3075
-#, fuzzy
msgid "g\t\tGo to commit"
-msgstr "<Ende>\t\tZur Γ€ltesten Version springen"
+msgstr "g\t\tZu Version springen"
#: gitk:3076
msgid "/\t\tFocus the search box"
@@ -673,9 +665,8 @@ msgid "Matches all Commit Info criteria"
msgstr "Alle Versionsinformationen-Kriterien erfΓΌllen"
#: gitk:4086
-#, fuzzy
msgid "Matches no Commit Info criteria"
-msgstr "Alle Versionsinformationen-Kriterien erfΓΌllen"
+msgstr "keine Versionsinformationen-Kriterien erfΓΌllen"
#: gitk:4087
msgid "Changes to Files:"
@@ -802,7 +793,7 @@ msgstr "Lokale Γ„nderungen, nicht bereitgestellt"
#: gitk:7134
msgid "and many more"
-msgstr ""
+msgstr "und weitere"
#: gitk:7137
msgid "many"
@@ -1066,34 +1057,31 @@ msgid "No changes committed"
msgstr "Keine Γ„nderungen eingetragen"
#: gitk:9593
-#, fuzzy, tcl-format
+#, tcl-format
msgid "Commit %s is not included in branch %s -- really revert it?"
msgstr ""
-"Version Β»%sΒ« ist bereits im Zweig Β»%sΒ« enthalten -- trotzdem erneut "
-"eintragen?"
+"Version Β»%sΒ« ist nicht im Zweig Β»%sΒ« enthalten -- trotzdem umkehren?"
#: gitk:9598
-#, fuzzy
msgid "Reverting"
-msgstr "ZurΓΌcksetzen"
+msgstr "Umkehren"
#: gitk:9606
-#, fuzzy, tcl-format
+#, tcl-format
msgid ""
"Revert failed because of local changes to the following files:%s Please "
"commit, reset or stash your changes and try again."
msgstr ""
-"PflΓΌcken fehlgeschlagen, da noch lokale Γ„nderungen in Datei Β»%sΒ«\n"
+"Umkehren fehlgeschlagen, da noch lokale Γ„nderungen in Datei Β»%sΒ«\n"
"vorliegen. Bitte diese Γ„nderungen eintragen, zurΓΌcksetzen oder\n"
"zwischenspeichern (Β»git stashΒ«) und dann erneut versuchen."
#: gitk:9610
-#, fuzzy
msgid ""
"Revert failed because of merge conflict.\n"
" Do you wish to run git citool to resolve it?"
msgstr ""
-"PflΓΌcken fehlgeschlagen, da ein ZusammenfΓΌhrungs-Konflikt aufgetreten\n"
+"Umkehren fehlgeschlagen, da ein ZusammenfΓΌhrungs-Konflikt aufgetreten\n"
"ist. Soll das ZusammenfΓΌhrungs-Werkzeug (Β»git citoolΒ«) aufgerufen\n"
"werden, um diesen Konflikt aufzulΓΆsen?"
@@ -1206,9 +1194,8 @@ msgid "Show local changes"
msgstr "Lokale Γ„nderungen anzeigen"
#: gitk:11361
-#, fuzzy
msgid "Auto-select SHA1 (length)"
-msgstr "SHA1-Hashwert automatisch auswΓ€hlen"
+msgstr "SHA1-Hashwert (LΓ€nge) automatisch auswΓ€hlen"
#: gitk:11365
msgid "Hide remote refs"
@@ -1223,13 +1210,12 @@ msgid "Tab spacing"
msgstr "Tabulatorbreite"
#: gitk:11374
-#, fuzzy
msgid "Display nearby tags/heads"
-msgstr "Naheliegende Markierungen anzeigen"
+msgstr "Naheliegende Markierungen/Zweigspitzen anzeigen"
#: gitk:11377
msgid "Maximum # tags/heads to show"
-msgstr ""
+msgstr "Maximale Anzahl anzuzeigender Markierungen/Zweigspitzen"
#: gitk:11380
msgid "Limit diffs to listed paths"
@@ -1348,17 +1334,16 @@ msgid "Gitk preferences"
msgstr "Gitk-Einstellungen"
#: gitk:11494
-#, fuzzy
msgid "General"
-msgstr "Erzeugen"
+msgstr "Allgemein"
#: gitk:11495
msgid "Colors"
-msgstr ""
+msgstr "Farben"
#: gitk:11496
msgid "Fonts"
-msgstr ""
+msgstr "Schriftarten"
#: gitk:11546
#, tcl-format
@@ -1370,6 +1355,8 @@ msgid ""
"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
" Gitk requires at least Tcl/Tk 8.4."
msgstr ""
+"Entschuldigung, gitk kann nicht mit dieser Tcl/Tk Version ausgefΓΌhrt werden.\n"
+" Gitk erfordert mindestens Tcl/Tk 8.4."
#: gitk:12269
msgid "Cannot find a git repository here."
diff --git a/gitk-git/po/fr.po b/gitk-git/po/fr.po
index 80f72fb453..c44f994fa5 100644
--- a/gitk-git/po/fr.po
+++ b/gitk-git/po/fr.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the gitk package.
# Translators:
# Emmanuel Trillaud <etrillaud@gmail.com>
-#
+# Jean-NoΓ«l Avila <jn.avila@free.fr>
msgid ""
msgstr ""
"Project-Id-Version: gitk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-05-17 14:32+1000\n"
-"PO-Revision-Date: 2009-11-19 22:13+0100\n"
-"Last-Translator: Emmanuel Trillaud <etrillaud@gmail.com>\n"
+"POT-Creation-Date: 2016-01-22 22:04+0100\n"
+"PO-Revision-Date: 2016-01-22 23:28+0100\n"
+"Last-Translator: Jean-NoΓ«l Avila <jn.avila@free.fr>\n"
"Language-Team: git@vger.kernel.org\n"
"Language: \n"
"MIME-Version: 1.0\n"
@@ -23,13 +23,13 @@ msgstr ""
msgid "Couldn't get list of unmerged files:"
msgstr "Impossible de rΓ©cupΓ©rer la liste des fichiers non fusionnΓ©s :"
-#: gitk:212 gitk:2381
+#: gitk:212 gitk:2399
msgid "Color words"
-msgstr ""
+msgstr "Colorier les mots diffΓ©rents"
-#: gitk:217 gitk:2381 gitk:8220 gitk:8253
+#: gitk:217 gitk:2399 gitk:8239 gitk:8272
msgid "Markup words"
-msgstr ""
+msgstr "Marquer les mots diffΓ©rents"
#: gitk:324
msgid "Error parsing revisions:"
@@ -47,13 +47,10 @@ msgstr ""
# FIXME : amΓ©liorer la traduction de 'file limite'
#: gitk:396
-#, fuzzy
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
-msgstr ""
-"Aucun fichier sΓ©lectionnΓ© : --merge prΓ©cisΓ© mais aucun fichier non fusionnΓ© "
-"n'est dans la limite des fichiers."
+msgstr "Aucun fichier sΓ©lectionnΓ© : --merge prΓ©cisΓ© mais aucun fichier non fusionnΓ© n'est dans la limite des fichiers."
#: gitk:418 gitk:566
msgid "Error executing git log:"
@@ -63,15 +60,15 @@ msgstr "Erreur Γ  l'exΓ©cution de git log :"
msgid "Reading"
msgstr "Lecture en cours"
-#: gitk:496 gitk:4525
+#: gitk:496 gitk:4544
msgid "Reading commits..."
msgstr "Lecture des commits..."
-#: gitk:499 gitk:1637 gitk:4528
+#: gitk:499 gitk:1637 gitk:4547
msgid "No commits selected"
msgstr "Aucun commit sΓ©lectionnΓ©"
-#: gitk:1445 gitk:4045 gitk:12432
+#: gitk:1445 gitk:4064 gitk:12469
msgid "Command line"
msgstr "Ligne de commande"
@@ -83,290 +80,294 @@ msgstr "Impossible de lire la sortie de git log :"
msgid "No commit information available"
msgstr "Aucune information disponible sur le commit"
-#: gitk:1903 gitk:1932 gitk:4315 gitk:9669 gitk:11241 gitk:11521
+#: gitk:1903 gitk:1932 gitk:4334 gitk:9702 gitk:11274 gitk:11554
msgid "OK"
msgstr "OK"
-#: gitk:1934 gitk:4317 gitk:9196 gitk:9275 gitk:9391 gitk:9440 gitk:9671
-#: gitk:11242 gitk:11522
+#: gitk:1934 gitk:4336 gitk:9215 gitk:9294 gitk:9424 gitk:9473 gitk:9704
+#: gitk:11275 gitk:11555
msgid "Cancel"
msgstr "Annuler"
-#: gitk:2069
+#: gitk:2083
msgid "&Update"
msgstr "Mise Γ  jour"
-#: gitk:2070
+#: gitk:2084
msgid "&Reload"
-msgstr "Recharger"
+msgstr "&Recharger"
-#: gitk:2071
+#: gitk:2085
msgid "Reread re&ferences"
-msgstr "Relire les rΓ©fΓ©rences"
+msgstr "Relire les rΓ©&fΓ©rences"
-#: gitk:2072
+#: gitk:2086
msgid "&List references"
-msgstr "Lister les rΓ©fΓ©rences"
+msgstr "&Lister les rΓ©fΓ©rences"
-#: gitk:2074
+#: gitk:2088
msgid "Start git &gui"
-msgstr "DΓ©marrer git gui"
+msgstr "DΓ©marrer git &gui"
-#: gitk:2076
+#: gitk:2090
msgid "&Quit"
-msgstr "Quitter"
+msgstr "&Quitter"
-#: gitk:2068
+#: gitk:2082
msgid "&File"
-msgstr "Fichier"
+msgstr "&Fichier"
-#: gitk:2080
+#: gitk:2094
msgid "&Preferences"
msgstr "PrΓ©fΓ©rences"
-#: gitk:2079
+#: gitk:2093
msgid "&Edit"
-msgstr "Γ‰diter"
+msgstr "&Γ‰diter"
-#: gitk:2084
+#: gitk:2098
msgid "&New view..."
-msgstr "Nouvelle vue..."
+msgstr "&Nouvelle vue..."
-#: gitk:2085
+#: gitk:2099
msgid "&Edit view..."
-msgstr "Γ‰diter la vue..."
+msgstr "&Γ‰diter la vue..."
-#: gitk:2086
+#: gitk:2100
msgid "&Delete view"
msgstr "Supprimer la vue"
-#: gitk:2088 gitk:4043
+#: gitk:2102
msgid "&All files"
msgstr "Tous les fichiers"
-#: gitk:2083 gitk:4067
+#: gitk:2097
msgid "&View"
-msgstr "Vue"
+msgstr "&Vue"
-#: gitk:2093 gitk:2103 gitk:3012
+#: gitk:2107 gitk:2117
msgid "&About gitk"
msgstr "Γ€ propos de gitk"
-#: gitk:2094 gitk:2108
+#: gitk:2108 gitk:2122
msgid "&Key bindings"
msgstr "Raccourcis clavier"
-#: gitk:2092 gitk:2107
+#: gitk:2106 gitk:2121
msgid "&Help"
msgstr "Aide"
-#: gitk:2185 gitk:8652
+#: gitk:2199 gitk:8671
msgid "SHA1 ID:"
msgstr "Id SHA1 :"
-#: gitk:2229
+#: gitk:2243
msgid "Row"
msgstr "Colonne"
-#: gitk:2267
+#: gitk:2281
msgid "Find"
msgstr "Recherche"
-#: gitk:2295
+#: gitk:2309
msgid "commit"
msgstr "commit"
-#: gitk:2299 gitk:2301 gitk:4687 gitk:4710 gitk:4734 gitk:6755 gitk:6827
-#: gitk:6912
+#: gitk:2313 gitk:2315 gitk:4706 gitk:4729 gitk:4753 gitk:6774 gitk:6846
+#: gitk:6931
msgid "containing:"
msgstr "contient :"
-#: gitk:2302 gitk:3526 gitk:3531 gitk:4763
+#: gitk:2316 gitk:3545 gitk:3550 gitk:4782
msgid "touching paths:"
msgstr "chemins modifiΓ©s :"
-#: gitk:2303 gitk:4777
+#: gitk:2317 gitk:4796
msgid "adding/removing string:"
msgstr "ajoute/supprime la chaΓne :"
-#: gitk:2304 gitk:4779
+#: gitk:2318 gitk:4798
msgid "changing lines matching:"
-msgstr ""
+msgstr "modifie les lignes vΓ©rifiantΒ :"
-#: gitk:2313 gitk:2315 gitk:4766
+#: gitk:2327 gitk:2329 gitk:4785
msgid "Exact"
msgstr "Exact"
-#: gitk:2315 gitk:4854 gitk:6723
+#: gitk:2329 gitk:4873 gitk:6742
msgid "IgnCase"
msgstr "Ignorer la casse"
-#: gitk:2315 gitk:4736 gitk:4852 gitk:6719
+#: gitk:2329 gitk:4755 gitk:4871 gitk:6738
msgid "Regexp"
msgstr "Expression régulière"
-#: gitk:2317 gitk:2318 gitk:4874 gitk:4904 gitk:4911 gitk:6848 gitk:6916
+#: gitk:2331 gitk:2332 gitk:4893 gitk:4923 gitk:4930 gitk:6867 gitk:6935
msgid "All fields"
msgstr "Tous les champs"
-#: gitk:2318 gitk:4871 gitk:4904 gitk:6786
+#: gitk:2332 gitk:4890 gitk:4923 gitk:6805
msgid "Headline"
-msgstr "Surligner"
+msgstr "Titre"
-#: gitk:2319 gitk:4871 gitk:6786 gitk:6916 gitk:7389
+#: gitk:2333 gitk:4890 gitk:6805 gitk:6935 gitk:7408
msgid "Comments"
msgstr "Commentaires"
-#: gitk:2319 gitk:4871 gitk:4876 gitk:4911 gitk:6786 gitk:7324 gitk:8830
-#: gitk:8845
+#: gitk:2333 gitk:4890 gitk:4895 gitk:4930 gitk:6805 gitk:7343 gitk:8849
+#: gitk:8864
msgid "Author"
msgstr "Auteur"
-#: gitk:2319 gitk:4871 gitk:6786 gitk:7326
+#: gitk:2333 gitk:4890 gitk:6805 gitk:7345
msgid "Committer"
-msgstr "Auteur du commit"
+msgstr "Validateur"
-#: gitk:2350
+#: gitk:2367
msgid "Search"
msgstr "Rechercher"
-#: gitk:2358
+#: gitk:2375
msgid "Diff"
msgstr "Diff"
-#: gitk:2360
+#: gitk:2377
msgid "Old version"
msgstr "Ancienne version"
-#: gitk:2362
+#: gitk:2379
msgid "New version"
msgstr "Nouvelle version"
-#: gitk:2364
+#: gitk:2382
msgid "Lines of context"
msgstr "Lignes de contexte"
-#: gitk:2374
+#: gitk:2392
msgid "Ignore space change"
msgstr "Ignorer les modifications d'espace"
-#: gitk:2378 gitk:2380 gitk:7959 gitk:8206
+#: gitk:2396 gitk:2398 gitk:7978 gitk:8225
msgid "Line diff"
-msgstr ""
+msgstr "diffΓ©rence par ligne"
-#: gitk:2445
+#: gitk:2463
msgid "Patch"
msgstr "Patch"
-#: gitk:2447
+#: gitk:2465
msgid "Tree"
msgstr "Arbre"
-#: gitk:2617 gitk:2637
+#: gitk:2635 gitk:2656
msgid "Diff this -> selected"
-msgstr "Diff entre ceci et la sΓ©lection"
+msgstr "Diff ceci -> la sΓ©lection"
-#: gitk:2618 gitk:2638
+#: gitk:2636 gitk:2657
msgid "Diff selected -> this"
-msgstr "Diff entre sΓ©lection et ceci"
+msgstr "Diff sΓ©lection -> ceci"
-#: gitk:2619 gitk:2639
+#: gitk:2637 gitk:2658
msgid "Make patch"
msgstr "CrΓ©er patch"
-#: gitk:2620 gitk:9254
+#: gitk:2638 gitk:9273
msgid "Create tag"
-msgstr "CrΓ©er tag"
+msgstr "CrΓ©er Γ©tiquette"
+
+#: gitk:2639
+msgid "Copy commit summary"
+msgstr "CopiΓ© le rΓ©sumΓ© du commit"
-#: gitk:2621 gitk:9371
+#: gitk:2640 gitk:9404
msgid "Write commit to file"
msgstr "Γ‰crire le commit dans un fichier"
-#: gitk:2622 gitk:9428
+#: gitk:2641 gitk:9461
msgid "Create new branch"
msgstr "CrΓ©er une nouvelle branche"
-#: gitk:2623
+#: gitk:2642
msgid "Cherry-pick this commit"
msgstr "Cueillir (cherry-pick) ce commit"
-#: gitk:2624
+#: gitk:2643
msgid "Reset HEAD branch to here"
msgstr "RΓ©initialiser la branche HEAD vers cet Γ©tat"
-#: gitk:2625
+#: gitk:2644
msgid "Mark this commit"
msgstr "Marquer ce commit"
-#: gitk:2626
+#: gitk:2645
msgid "Return to mark"
msgstr "Retourner Γ  la marque"
-#: gitk:2627
+#: gitk:2646
msgid "Find descendant of this and mark"
msgstr "Chercher le descendant de ceci et le marquer"
-#: gitk:2628
+#: gitk:2647
msgid "Compare with marked commit"
msgstr "Comparer avec le commit marquΓ©"
-#: gitk:2629 gitk:2640
-#, fuzzy
+#: gitk:2648 gitk:2659
msgid "Diff this -> marked commit"
-msgstr "Diff entre ceci et la sΓ©lection"
+msgstr "Diff ceci -> sΓ©lection"
-#: gitk:2630 gitk:2641
-#, fuzzy
+#: gitk:2649 gitk:2660
msgid "Diff marked commit -> this"
-msgstr "Diff entre sΓ©lection et ceci"
+msgstr "Diff entre sΓ©lection -> ceci"
-#: gitk:2631
-#, fuzzy
+#: gitk:2650
msgid "Revert this commit"
-msgstr "Marquer ce commit"
+msgstr "DΓ©faire ce commit"
-#: gitk:2647
+#: gitk:2666
msgid "Check out this branch"
msgstr "RΓ©cupΓ©rer cette branche"
-#: gitk:2648
+#: gitk:2667
msgid "Remove this branch"
msgstr "Supprimer cette branche"
-#: gitk:2649
+#: gitk:2668
msgid "Copy branch name"
-msgstr ""
+msgstr "Copier la nom de la branche"
-#: gitk:2656
+#: gitk:2675
msgid "Highlight this too"
msgstr "Surligner Γ©galement ceci"
-#: gitk:2657
+#: gitk:2676
msgid "Highlight this only"
msgstr "Surligner seulement ceci"
-#: gitk:2658
+#: gitk:2677
msgid "External diff"
msgstr "Diff externe"
-#: gitk:2659
+#: gitk:2678
msgid "Blame parent commit"
msgstr "BlΓ’mer le commit parent"
-#: gitk:2660
+#: gitk:2679
msgid "Copy path"
-msgstr ""
+msgstr "Copier le chemin"
-#: gitk:2667
+#: gitk:2686
msgid "Show origin of this line"
msgstr "Montrer l'origine de cette ligne"
-#: gitk:2668
+#: gitk:2687
msgid "Run git gui blame on this line"
msgstr "ExΓ©cuter git gui blame sur cette ligne"
-#: gitk:3014
-#, fuzzy
+#: gitk:3031
+msgid "About gitk"
+msgstr "Γ€ propos de gitk"
+
+#: gitk:3033
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
@@ -378,327 +379,329 @@ msgstr ""
"\n"
"Gitk - visualisateur de commit pour git\n"
"\n"
-"Copyright \\u00a9 2005-2010 Paul Mackerras\n"
+"Copyright \\u00a9 2005-2014 Paul Mackerras\n"
"\n"
-"Utilisation et redistribution soumises aux termes de la GNU General Public "
-"License"
+"Utilisation et redistribution soumises aux termes de la GNU General Public License"
-#: gitk:3022 gitk:3089 gitk:9857
+#: gitk:3041 gitk:3108 gitk:9890
msgid "Close"
msgstr "Fermer"
-#: gitk:3043
+#: gitk:3062
msgid "Gitk key bindings"
msgstr "Raccourcis clavier de Gitk"
-#: gitk:3046
+#: gitk:3065
msgid "Gitk key bindings:"
msgstr "Raccourcis clavier de Gitk :"
-#: gitk:3048
+#: gitk:3067
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tQuitter"
-#: gitk:3049
-#, fuzzy, tcl-format
+#: gitk:3068
+#, tcl-format
msgid "<%s-W>\t\tClose window"
-msgstr "<%s-F>\t\tRechercher"
+msgstr "<%s-W>\t\tFermer la fenΓͺtre"
-#: gitk:3050
+#: gitk:3069
msgid "<Home>\t\tMove to first commit"
msgstr "<DΓ©but>\t\tAller au premier commit"
-#: gitk:3051
+#: gitk:3070
msgid "<End>\t\tMove to last commit"
msgstr "<Fin>\t\tAller au dernier commit"
-#: gitk:3052
-#, fuzzy
+#: gitk:3071
msgid "<Up>, p, k\tMove up one commit"
-msgstr "<Haut>, p, i\t Aller au commit suivant"
+msgstr "<Haut>, p, k\t Aller au commit prΓ©cΓ©dent"
-#: gitk:3053
-#, fuzzy
+#: gitk:3072
msgid "<Down>, n, j\tMove down one commit"
-msgstr "<Bas>, n, k\t Aller au commit prΓ©cΓ©dent"
+msgstr "<Bas>, n, j\t Aller au commit suivant"
-#: gitk:3054
-#, fuzzy
+#: gitk:3073
msgid "<Left>, z, h\tGo back in history list"
-msgstr "<Gauche>, z, j\tReculer dans l'historique"
+msgstr "<Gauche>, z, h\tReculer dans l'historique"
-#: gitk:3055
+#: gitk:3074
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Droite>, x, l\tAvancer dans l'historique"
-#: gitk:3056
+#: gitk:3075
#, tcl-format
msgid "<%s-n>\tGo to n-th parent of current commit in history list"
-msgstr ""
+msgstr "<%s-n>\tAller sur le n-ième parent du commit dans l'historique"
-#: gitk:3057
+#: gitk:3076
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tMonter d'une page dans la liste des commits"
-#: gitk:3058
+#: gitk:3077
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tDescendre d'une page dans la liste des commits"
-#: gitk:3059
+#: gitk:3078
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-DΓ©but>\tAller en haut de la liste des commits"
-#: gitk:3060
+#: gitk:3079
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tAller en bas de la liste des commits"
-#: gitk:3061
+#: gitk:3080
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tMonter d'une ligne dans la liste des commits"
-#: gitk:3062
+#: gitk:3081
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tDescendre d'une ligne dans la liste des commits"
-#: gitk:3063
+#: gitk:3082
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tMonter d'une page dans la liste des commits"
-#: gitk:3064
+#: gitk:3083
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tDescendre d'une page dans la liste des commits"
-#: gitk:3065
+#: gitk:3084
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr ""
"<Shift-Up>\tRecherche en arrière (vers l'avant, commits les plus anciens)"
-#: gitk:3066
+#: gitk:3085
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr ""
"<Shift-Down>\tRecherche en avant (vers l'arrière, commit les plus récents)"
-#: gitk:3067
+#: gitk:3086
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Supprimer>, b\tMonter d'une page dans la vue des diff"
-#: gitk:3068
+#: gitk:3087
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tMonter d'une page dans la vue des diff"
-#: gitk:3069
+#: gitk:3088
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Espace>\t\tDescendre d'une page dans la vue des diff"
-#: gitk:3070
+#: gitk:3089
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tMonter de 18 lignes dans la vue des diff"
-#: gitk:3071
+#: gitk:3090
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tDescendre de 18 lignes dans la vue des diff"
-#: gitk:3072
+#: gitk:3091
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tRechercher"
-#: gitk:3073
+#: gitk:3092
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tAller au rΓ©sultat de recherche suivant"
-#: gitk:3074
+#: gitk:3093
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\t\tAller au rΓ©sultat de recherche suivant"
-#: gitk:3075
-#, fuzzy
+#: gitk:3094
msgid "g\t\tGo to commit"
-msgstr "<Fin>\t\tAller au dernier commit"
+msgstr "g\t\tAller au commit"
-#: gitk:3076
+#: gitk:3095
msgid "/\t\tFocus the search box"
msgstr "/\t\tFocus sur la zone de recherche"
-#: gitk:3077
+#: gitk:3096
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tAller au rΓ©sultat de recherche prΓ©cΓ©dent"
-#: gitk:3078
+#: gitk:3097
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tAller au prochain fichier dans la vue des diff"
-#: gitk:3079
+#: gitk:3098
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tAller au rΓ©sultat suivant dans la vue des diff"
-#: gitk:3080
+#: gitk:3099
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tAller au rΓ©sultat prΓ©cΓ©dent dans la vue des diff"
-#: gitk:3081
+#: gitk:3100
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tAugmenter la taille de la police"
-#: gitk:3082
+#: gitk:3101
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tAugmenter la taille de la police"
-#: gitk:3083
+#: gitk:3102
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tDiminuer la taille de la police"
-#: gitk:3084
+#: gitk:3103
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tDiminuer la taille de la police"
-#: gitk:3085
+#: gitk:3104
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tMise Γ  jour"
-#: gitk:3550 gitk:3559
+#: gitk:3569 gitk:3578
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Erreur lors de la crΓ©ation du rΓ©pertoire temporaire %s :"
-#: gitk:3572
+#: gitk:3591
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Erreur en obtenant \"%s\" de %s:"
-#: gitk:3635
+#: gitk:3654
msgid "command failed:"
msgstr "Γ©chec de la commande :"
-#: gitk:3784
+#: gitk:3803
msgid "No such commit"
msgstr "Commit inexistant"
-#: gitk:3798
+#: gitk:3817
msgid "git gui blame: command failed:"
msgstr "git gui blame : Γ©chec de la commande :"
-#: gitk:3829
+#: gitk:3848
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Impossible de lire le head de la fusion : %s"
-#: gitk:3837
+#: gitk:3856
#, tcl-format
msgid "Error reading index: %s"
msgstr "Erreur Γ  la lecture de l'index : %s"
-#: gitk:3862
+#: gitk:3881
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Impossible de dΓ©marrer git blame : %s"
-#: gitk:3865 gitk:6754
+#: gitk:3884 gitk:6773
msgid "Searching"
msgstr "Recherche en cours"
-#: gitk:3897
+#: gitk:3916
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Erreur Γ  l'exΓ©cution de git blame : %s"
-#: gitk:3925
+#: gitk:3944
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Cette ligne est issue du commit %s, qui n'est pas dans cette vue"
-#: gitk:3939
+#: gitk:3958
msgid "External diff viewer failed:"
-msgstr "Γ‰chec de l'outil externe de visualisation des diff"
+msgstr "Γ‰chec de l'outil externe de visualisation des diffΒ :"
+
+#: gitk:4062
+msgid "All files"
+msgstr "Tous les fichiers"
-#: gitk:4070
+#: gitk:4086
+msgid "View"
+msgstr "Vue"
+
+#: gitk:4089
msgid "Gitk view definition"
msgstr "DΓ©finition des vues de Gitk"
-#: gitk:4074
+#: gitk:4093
msgid "Remember this view"
msgstr "Se souvenir de cette vue"
-#: gitk:4075
+#: gitk:4094
msgid "References (space separated list):"
msgstr "RΓ©fΓ©rences (liste d'Γ©lΓ©ments sΓ©parΓ©s par des espaces) :"
-#: gitk:4076
+#: gitk:4095
msgid "Branches & tags:"
-msgstr "Branches & tags :"
+msgstr "Branches & Γ©tiquettes :"
-#: gitk:4077
+#: gitk:4096
msgid "All refs"
msgstr "Toutes les rΓ©fΓ©rences"
-#: gitk:4078
+#: gitk:4097
msgid "All (local) branches"
msgstr "Toutes les branches (locales)"
-#: gitk:4079
+#: gitk:4098
msgid "All tags"
-msgstr "Tous les tags"
+msgstr "Toutes les Γ©tiquettes"
-#: gitk:4080
+#: gitk:4099
msgid "All remote-tracking branches"
msgstr "Toutes les branches de suivi Γ  distance"
-#: gitk:4081
+#: gitk:4100
msgid "Commit Info (regular expressions):"
msgstr "Info sur les commits (expressions régulières) :"
-#: gitk:4082
+#: gitk:4101
msgid "Author:"
msgstr "Auteur :"
-#: gitk:4083
+#: gitk:4102
msgid "Committer:"
-msgstr "Commiteur :"
+msgstr "Validateur :"
-#: gitk:4084
+#: gitk:4103
msgid "Commit Message:"
msgstr "Message de commit :"
-#: gitk:4085
+#: gitk:4104
msgid "Matches all Commit Info criteria"
msgstr "Correspond à tous les critères d'Info sur les commits"
-#: gitk:4086
-#, fuzzy
+#: gitk:4105
msgid "Matches no Commit Info criteria"
-msgstr "Correspond à tous les critères d'Info sur les commits"
+msgstr "Ne correspond à aucun des critères d'Info sur les commits"
-#: gitk:4087
+#: gitk:4106
msgid "Changes to Files:"
msgstr "Changements des fichiers :"
-#: gitk:4088
+#: gitk:4107
msgid "Fixed String"
msgstr "ChaΓne FigΓ©e"
-#: gitk:4089
+#: gitk:4108
msgid "Regular Expression"
msgstr "Expression Régulière"
-#: gitk:4090
+#: gitk:4109
msgid "Search string:"
msgstr "Recherche de la chaΓne :"
-#: gitk:4091
+#: gitk:4110
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -706,204 +709,201 @@ msgstr ""
"Dates des commits (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, "
"2009 15:27:38\") :"
-#: gitk:4092
+#: gitk:4111
msgid "Since:"
-msgstr "De :"
+msgstr "Depuis :"
-#: gitk:4093
+#: gitk:4112
msgid "Until:"
msgstr "Jusqu'au :"
-#: gitk:4094
+#: gitk:4113
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Limiter et/ou sauter un certain nombre (entier positif) de rΓ©visions :"
-#: gitk:4095
+#: gitk:4114
msgid "Number to show:"
msgstr "Nombre Γ  afficher :"
-#: gitk:4096
+#: gitk:4115
msgid "Number to skip:"
msgstr "Nombre Γ  sauter :"
-#: gitk:4097
+#: gitk:4116
msgid "Miscellaneous options:"
msgstr "Options diverses :"
-#: gitk:4098
+#: gitk:4117
msgid "Strictly sort by date"
msgstr "Trier par date"
-# FIXME : traduction de "branch sides"
-#: gitk:4099
-#, fuzzy
+#: gitk:4118
msgid "Mark branch sides"
-msgstr "Marquer les extrΓ©mitΓ©s des branches"
+msgstr "Indiquer les cΓ΄tΓ©s des branches"
-#: gitk:4100
+#: gitk:4119
msgid "Limit to first parent"
msgstr "Limiter au premier ancΓͺtre"
-#: gitk:4101
+#: gitk:4120
msgid "Simple history"
msgstr "Historique simple"
-#: gitk:4102
+#: gitk:4121
msgid "Additional arguments to git log:"
msgstr "Arguments supplΓ©mentaires de git log :"
-#: gitk:4103
+#: gitk:4122
msgid "Enter files and directories to include, one per line:"
msgstr "Saisir les fichiers et rΓ©pertoires Γ  inclure, un par ligne :"
-#: gitk:4104
+#: gitk:4123
msgid "Command to generate more commits to include:"
msgstr "Commande pour gΓ©nΓ©rer plus de commits Γ  inclure :"
-#: gitk:4228
+#: gitk:4247
msgid "Gitk: edit view"
msgstr "Gitk : Γ©diter la vue"
-#: gitk:4236
+#: gitk:4255
msgid "-- criteria for selecting revisions"
msgstr "-- critère pour la sélection des révisions"
-#: gitk:4241
-#, fuzzy
+#: gitk:4260
msgid "View Name"
-msgstr "Nom de la vue :"
+msgstr "Nom de la vue"
-#: gitk:4316
+#: gitk:4335
msgid "Apply (F5)"
msgstr "Appliquer (F5)"
-#: gitk:4354
+#: gitk:4373
msgid "Error in commit selection arguments:"
msgstr "Erreur dans les arguments de sΓ©lection des commits :"
-#: gitk:4409 gitk:4462 gitk:4924 gitk:4938 gitk:6208 gitk:12373 gitk:12374
+#: gitk:4428 gitk:4481 gitk:4943 gitk:4957 gitk:6227 gitk:12410 gitk:12411
msgid "None"
msgstr "Aucun"
-#: gitk:5021 gitk:5026
+#: gitk:5040 gitk:5045
msgid "Descendant"
msgstr "Descendant"
-#: gitk:5022
+#: gitk:5041
msgid "Not descendant"
msgstr "Pas un descendant"
-#: gitk:5029 gitk:5034
+#: gitk:5048 gitk:5053
msgid "Ancestor"
msgstr "AncΓͺtre"
-#: gitk:5030
+#: gitk:5049
msgid "Not ancestor"
msgstr "Pas un ancΓͺtre"
-#: gitk:5324
+#: gitk:5343
msgid "Local changes checked in to index but not committed"
-msgstr "Modifications locales enregistrΓ©es dans l'index mais non commitΓ©es"
+msgstr "Modifications locales enregistrΓ©es dans l'index mais non validΓ©es"
-#: gitk:5360
+#: gitk:5379
msgid "Local uncommitted changes, not checked in to index"
-msgstr "Modifications locales non enregistrΓ©es dans l'index et non commitΓ©es"
+msgstr "Modifications locales non enregistrΓ©es dans l'index et non validΓ©es"
-#: gitk:7134
+#: gitk:7153
msgid "and many more"
-msgstr ""
+msgstr "et beaucoup plus"
-#: gitk:7137
+#: gitk:7156
msgid "many"
msgstr "nombreux"
-#: gitk:7328
+#: gitk:7347
msgid "Tags:"
-msgstr "Tags :"
+msgstr "Γ‰tiquettes :"
-#: gitk:7345 gitk:7351 gitk:8825
+#: gitk:7364 gitk:7370 gitk:8844
msgid "Parent"
msgstr "Parent"
-#: gitk:7356
+#: gitk:7375
msgid "Child"
msgstr "Enfant"
-#: gitk:7365
+#: gitk:7384
msgid "Branch"
msgstr "Branche"
-#: gitk:7368
+#: gitk:7387
msgid "Follows"
msgstr "Suit"
-#: gitk:7371
+#: gitk:7390
msgid "Precedes"
msgstr "Précède"
-#: gitk:7966
+#: gitk:7985
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Erreur lors de la rΓ©cupΓ©ration des diff : %s"
-#: gitk:8650
+#: gitk:8669
msgid "Goto:"
msgstr "Aller Γ  :"
-#: gitk:8671
+#: gitk:8690
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
-msgstr "Id SHA1 court %s est ambigu"
+msgstr "L'id SHA1 court %s est ambigu"
-#: gitk:8678
+#: gitk:8697
#, tcl-format
msgid "Revision %s is not known"
-msgstr "Id SHA1 %s est inconnu"
+msgstr "La rΓ©vision %s est inconnu"
-#: gitk:8688
+#: gitk:8707
#, tcl-format
msgid "SHA1 id %s is not known"
-msgstr "Id SHA1 %s est inconnu"
+msgstr "L'id SHA1 %s est inconnu"
-#: gitk:8690
+#: gitk:8709
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "La rΓ©vision %s n'est pas dans la vue courante"
-#: gitk:8832 gitk:8847
+#: gitk:8851 gitk:8866
msgid "Date"
msgstr "Date"
-#: gitk:8835
+#: gitk:8854
msgid "Children"
msgstr "Enfants"
-#: gitk:8898
+#: gitk:8917
#, tcl-format
msgid "Reset %s branch to here"
msgstr "RΓ©initialiser la branche %s vers cet Γ©tat"
-#: gitk:8900
+#: gitk:8919
msgid "Detached head: can't reset"
msgstr "Head dΓ©tachΓ© : impossible de rΓ©initialiser"
-#: gitk:9005 gitk:9011
+#: gitk:9024 gitk:9030
msgid "Skipping merge commit "
msgstr "Γ‰viter le commit de la fusion "
-#: gitk:9020 gitk:9025
+#: gitk:9039 gitk:9044
msgid "Error getting patch ID for "
msgstr "Erreur Γ  l'obtention de l'ID du patch pour "
-#: gitk:9021 gitk:9026
+#: gitk:9040 gitk:9045
msgid " - stopping\n"
msgstr " - arrΓͺt en cours\n"
-#: gitk:9031 gitk:9034 gitk:9042 gitk:9056 gitk:9065
+#: gitk:9050 gitk:9053 gitk:9061 gitk:9075 gitk:9084
msgid "Commit "
msgstr "Commit "
-#: gitk:9035
+#: gitk:9054
msgid ""
" is the same patch as\n"
" "
@@ -911,7 +911,7 @@ msgstr ""
"est le mΓͺme patch que \n"
" "
-#: gitk:9043
+#: gitk:9062
msgid ""
" differs from\n"
" "
@@ -919,240 +919,226 @@ msgstr ""
" diffère de\n"
" "
-#: gitk:9045
+#: gitk:9064
msgid ""
"Diff of commits:\n"
"\n"
-msgstr ""
+msgstr "Diff des commitsΒ :\n\n"
-#: gitk:9057 gitk:9066
+#: gitk:9076 gitk:9085
#, tcl-format
msgid " has %s children - stopping\n"
-msgstr "a %s enfants - arrΓͺt en cours\n"
+msgstr " a %s enfants - arrΓͺt en cours\n"
-#: gitk:9085
-#, fuzzy, tcl-format
+#: gitk:9104
+#, tcl-format
msgid "Error writing commit to file: %s"
-msgstr "Erreur Γ  l'ecriture du commit :"
+msgstr "Erreur Γ  l'Γ©criture du commit dans le fichier : %s"
-#: gitk:9091
-#, fuzzy, tcl-format
+#: gitk:9110
+#, tcl-format
msgid "Error diffing commits: %s"
-msgstr "Erreur Γ  l'ecriture du commit :"
+msgstr "Erreur Γ  la diffΓ©rence des commits : %s"
-#: gitk:9137
+#: gitk:9156
msgid "Top"
msgstr "Haut"
-#: gitk:9138
+#: gitk:9157
msgid "From"
msgstr "De"
-#: gitk:9143
+#: gitk:9162
msgid "To"
msgstr "Γ€"
-#: gitk:9167
+#: gitk:9186
msgid "Generate patch"
msgstr "GΓ©nΓ©rer le patch"
-#: gitk:9169
+#: gitk:9188
msgid "From:"
msgstr "De :"
-#: gitk:9178
+#: gitk:9197
msgid "To:"
msgstr "Γ€ :"
-#: gitk:9187
+#: gitk:9206
msgid "Reverse"
msgstr "Inverser"
-#: gitk:9189 gitk:9385
+#: gitk:9208 gitk:9418
msgid "Output file:"
msgstr "Fichier de sortie :"
-#: gitk:9195
+#: gitk:9214
msgid "Generate"
msgstr "GΓ©nΓ©rer"
-#: gitk:9233
+#: gitk:9252
msgid "Error creating patch:"
msgstr "Erreur Γ  la crΓ©ation du patch :"
-#: gitk:9256 gitk:9373 gitk:9430
+#: gitk:9275 gitk:9406 gitk:9463
msgid "ID:"
msgstr "ID :"
-#: gitk:9265
+#: gitk:9284
msgid "Tag name:"
-msgstr "Nom du Tag :"
+msgstr "Nom de l'Γ©tiquette :"
-#: gitk:9268
+#: gitk:9287
msgid "Tag message is optional"
-msgstr ""
+msgstr "Le message d'Γ©tiquette est optionnel"
-#: gitk:9270
-#, fuzzy
+#: gitk:9289
msgid "Tag message:"
-msgstr "Nom du Tag :"
+msgstr "Message d'Γ©tiquette :"
-#: gitk:9274 gitk:9439
+#: gitk:9293 gitk:9472
msgid "Create"
msgstr "CrΓ©er"
-#: gitk:9292
+#: gitk:9311
msgid "No tag name specified"
-msgstr "Aucun nom de tag spΓ©cifiΓ©"
+msgstr "Aucun nom d'Γ©tiquette spΓ©cifiΓ©"
-#: gitk:9296
+#: gitk:9315
#, tcl-format
msgid "Tag \"%s\" already exists"
-msgstr "Le tag \"%s\" existe dΓ©jΓ "
+msgstr "L'Γ©tiquette \"%s\" existe dΓ©jΓ "
-#: gitk:9306
+#: gitk:9325
msgid "Error creating tag:"
-msgstr "Erreur Γ  la crΓ©ation du tag :"
+msgstr "Erreur Γ  la crΓ©ation de l'Γ©tiquette :"
-#: gitk:9382
+#: gitk:9415
msgid "Command:"
msgstr "Commande :"
-#: gitk:9390
+#: gitk:9423
msgid "Write"
msgstr "Γ‰crire"
-#: gitk:9408
+#: gitk:9441
msgid "Error writing commit:"
msgstr "Erreur Γ  l'ecriture du commit :"
-#: gitk:9435
+#: gitk:9468
msgid "Name:"
msgstr "Nom :"
-#: gitk:9458
+#: gitk:9491
msgid "Please specify a name for the new branch"
msgstr "Veuillez spΓ©cifier un nom pour la nouvelle branche"
-#: gitk:9463
+#: gitk:9496
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "La branche '%s' existe dΓ©jΓ . Γ‰craser?"
-#: gitk:9530
+#: gitk:9563
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"Le Commit %s est dΓ©jΓ  inclus dans la branche %s -- le rΓ©-appliquer malgrΓ© "
"tout?"
-#: gitk:9535
+#: gitk:9568
msgid "Cherry-picking"
-msgstr "Cueillir (Cherry-picking)"
+msgstr "Picorer (Cherry-picking)"
-#: gitk:9544
+#: gitk:9577
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
"Please commit, reset or stash your changes and try again."
msgstr ""
-"La cueillette (cherry-pick) a Γ©chouΓ©e Γ  cause de modifications locales du "
-"fichier '%s'.\n"
-"Veuillez commiter, rΓ©initialiser ou stasher vos changements et essayer de "
-"nouveau."
+"Le picorage (cherry-pick) a Γ©chouΓ©e Γ  cause de modifications locales du fichier '%s'.\n"
+"Veuillez commiter, rΓ©initialiser ou stasher vos changements et essayer de nouveau."
-#: gitk:9550
+#: gitk:9583
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
msgstr ""
-"La cueillette (cherry-pick) a Γ©chouΓ©e Γ  cause d'un conflit lors d'une "
-"fusion.\n"
+"Le picorage (cherry-pick) a Γ©chouΓ©e Γ  cause d'un conflit lors d'une fusion.\n"
"Souhaitez-vous exΓ©cuter git citool pour le rΓ©soudre ?"
-#: gitk:9566 gitk:9624
+#: gitk:9599 gitk:9657
msgid "No changes committed"
-msgstr "Aucun changement commitΓ©"
+msgstr "Aucune modification validΓ©e"
-#: gitk:9593
-#, fuzzy, tcl-format
+#: gitk:9626
+#, tcl-format
msgid "Commit %s is not included in branch %s -- really revert it?"
-msgstr ""
-"Le Commit %s est dΓ©jΓ  inclus dans la branche %s -- le rΓ©-appliquer malgrΓ© "
-"tout?"
+msgstr "Le Commit %s n'est pas inclus dans la branche %s -- le dΓ©faire malgrΓ© tout?"
-#: gitk:9598
-#, fuzzy
+#: gitk:9631
msgid "Reverting"
-msgstr "RΓ©initialisation"
+msgstr "Commit dΓ©fait"
-#: gitk:9606
-#, fuzzy, tcl-format
+#: gitk:9639
+#, tcl-format
msgid ""
"Revert failed because of local changes to the following files:%s Please "
"commit, reset or stash your changes and try again."
-msgstr ""
-"La cueillette (cherry-pick) a Γ©chouΓ©e Γ  cause de modifications locales du "
-"fichier '%s'.\n"
-"Veuillez commiter, rΓ©initialiser ou stasher vos changements et essayer de "
-"nouveau."
+msgstr "Γ‰chec en tentant de dΓ©faire le commit Γ  cause de modifications locales des fichiersΒ : %s. Veuillez valider, rΓ©initialiser ou remiser vos modifications et essayer de nouveau."
-#: gitk:9610
-#, fuzzy
+#: gitk:9643
msgid ""
"Revert failed because of merge conflict.\n"
" Do you wish to run git citool to resolve it?"
msgstr ""
-"La cueillette (cherry-pick) a Γ©chouΓ©e Γ  cause d'un conflit lors d'une "
-"fusion.\n"
+"Γ‰chec en tentant de dΓ©faire Γ  cause d'un conflit de fusion.\n"
"Souhaitez-vous exΓ©cuter git citool pour le rΓ©soudre ?"
-#: gitk:9653
+#: gitk:9686
msgid "Confirm reset"
msgstr "Confirmer la rΓ©initialisation"
-#: gitk:9655
+#: gitk:9688
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "RΓ©initialiser la branche %s Γ  %s?"
-#: gitk:9657
+#: gitk:9690
msgid "Reset type:"
msgstr "Type de rΓ©initialisation :"
-#: gitk:9660
+#: gitk:9693
msgid "Soft: Leave working tree and index untouched"
msgstr "Douce : Laisse le rΓ©pertoire de travail et l'index intacts"
-#: gitk:9663
+#: gitk:9696
msgid "Mixed: Leave working tree untouched, reset index"
msgstr ""
"Hybride : Laisse le rΓ©pertoire de travail dans son Γ©tat courant, "
"rΓ©initialise l'index"
-#: gitk:9666
+#: gitk:9699
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
msgstr ""
"Dure : RΓ©initialise le rΓ©pertoire de travail et l'index\n"
-"(abandonne TOUS les changements locaux)"
+"(abandonne TOUTES les modifications locale)"
-#: gitk:9683
+#: gitk:9716
msgid "Resetting"
msgstr "RΓ©initialisation"
# Fixme: RΓ©cupΓ©ration est-il vraiment une mauvaise traduction?
-#: gitk:9743
-#, fuzzy
+#: gitk:9776
msgid "Checking out"
-msgstr "RΓ©cupΓ©ration"
+msgstr "Extraction"
-#: gitk:9796
+#: gitk:9829
msgid "Cannot delete the currently checked-out branch"
-msgstr "Impossible de supprimer la branche en cours"
+msgstr "Impossible de supprimer la branche extraite"
-#: gitk:9802
+#: gitk:9835
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1161,16 +1147,16 @@ msgstr ""
"Les commits de la branche %s ne sont dans aucune autre branche.\n"
"Voulez-vous vraiment supprimer cette branche %s ?"
-#: gitk:9833
+#: gitk:9866
#, tcl-format
msgid "Tags and heads: %s"
-msgstr "Tags et heads : %s"
+msgstr "Γ‰tiquettes et heads : %s"
-#: gitk:9850
+#: gitk:9883
msgid "Filter"
msgstr "Filtrer"
-#: gitk:10146
+#: gitk:10179
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1179,207 +1165,202 @@ msgstr ""
"informations sur les branches et les tags prΓ©cΓ©dents/suivants seront "
"incomplètes."
-#: gitk:11123
+#: gitk:11156
msgid "Tag"
-msgstr "Tag"
+msgstr "Γ‰tiquette"
-#: gitk:11127
+#: gitk:11160
msgid "Id"
msgstr "Id"
-#: gitk:11210
+#: gitk:11243
msgid "Gitk font chooser"
msgstr "SΓ©lecteur de police de Gitk"
-#: gitk:11227
+#: gitk:11260
msgid "B"
msgstr "B"
-#: gitk:11230
+#: gitk:11263
msgid "I"
msgstr "I"
-#: gitk:11348
+#: gitk:11381
msgid "Commit list display options"
msgstr "Options d'affichage de la liste des commits"
-#: gitk:11351
+#: gitk:11384
msgid "Maximum graph width (lines)"
msgstr "Longueur maximum du graphe (lignes)"
# FIXME : Traduction standard de "pane"?
-#: gitk:11355
-#, fuzzy, no-tcl-format
+#: gitk:11388
+#, no-tcl-format
msgid "Maximum graph width (% of pane)"
-msgstr "Longueur maximum du graphe (% du panneau)"
+msgstr "Largeur maximum du graphe (% du panneau)"
-#: gitk:11358
+#: gitk:11391
msgid "Show local changes"
-msgstr "Montrer les changements locaux"
+msgstr "Montrer les modifications locales"
-#: gitk:11361
-#, fuzzy
+#: gitk:11394
msgid "Auto-select SHA1 (length)"
-msgstr "SΓ©lection auto. du SHA1"
+msgstr "SΓ©lection auto. du SHA1 (longueur)"
-#: gitk:11365
+#: gitk:11398
msgid "Hide remote refs"
msgstr "Cacher les refs distantes"
-#: gitk:11369
+#: gitk:11402
msgid "Diff display options"
msgstr "Options d'affichage des diff"
-#: gitk:11371
+#: gitk:11404
msgid "Tab spacing"
msgstr "Taille des tabulations"
-#: gitk:11374
-#, fuzzy
+#: gitk:11407
msgid "Display nearby tags/heads"
msgstr "Afficher les tags les plus proches"
-#: gitk:11377
+#: gitk:11410
msgid "Maximum # tags/heads to show"
-msgstr ""
+msgstr "Nombre maximum d'Γ©tiquettes/heads Γ  afficher"
-#: gitk:11380
+#: gitk:11413
msgid "Limit diffs to listed paths"
msgstr "Limiter les diffΓ©rences aux chemins listΓ©s"
-#: gitk:11383
+#: gitk:11416
msgid "Support per-file encodings"
msgstr "Support pour un encodage des caractères par fichier"
-#: gitk:11389 gitk:11536
+#: gitk:11422 gitk:11569
msgid "External diff tool"
msgstr "Outil diff externe"
-#: gitk:11390
+#: gitk:11423
msgid "Choose..."
msgstr "Choisir..."
-#: gitk:11395
-#, fuzzy
+#: gitk:11428
msgid "General options"
-msgstr "GΓ©nΓ©rer le patch"
+msgstr "Options gΓ©nΓ©rales"
-#: gitk:11398
+#: gitk:11431
msgid "Use themed widgets"
-msgstr ""
+msgstr "Utiliser des widgets en thème"
-#: gitk:11400
+#: gitk:11433
msgid "(change requires restart)"
-msgstr ""
+msgstr "(la modification nΓ©cessite un redΓ©marrage)"
-#: gitk:11402
+#: gitk:11435
msgid "(currently unavailable)"
-msgstr ""
+msgstr "(non disponible actuellement)"
-#: gitk:11413
+#: gitk:11446
msgid "Colors: press to choose"
msgstr "Couleurs : cliquer pour choisir"
-#: gitk:11416
+#: gitk:11449
msgid "Interface"
-msgstr ""
+msgstr "Interface"
-#: gitk:11417
-#, fuzzy
+#: gitk:11450
msgid "interface"
-msgstr "Police de l'interface utilisateur"
+msgstr "interface"
-#: gitk:11420
+#: gitk:11453
msgid "Background"
msgstr "Arrière-plan"
-#: gitk:11421 gitk:11451
+#: gitk:11454 gitk:11484
msgid "background"
msgstr "arrière-plan"
-#: gitk:11424
+#: gitk:11457
msgid "Foreground"
msgstr "Premier plan"
-#: gitk:11425
+#: gitk:11458
msgid "foreground"
msgstr "premier plan"
-#: gitk:11428
+#: gitk:11461
msgid "Diff: old lines"
msgstr "Diff : anciennes lignes"
-#: gitk:11429
+#: gitk:11462
msgid "diff old lines"
msgstr "diff anciennes lignes"
-#: gitk:11433
+#: gitk:11466
msgid "Diff: new lines"
msgstr "Diff : nouvelles lignes"
-#: gitk:11434
+#: gitk:11467
msgid "diff new lines"
msgstr "diff nouvelles lignes"
-#: gitk:11438
+#: gitk:11471
msgid "Diff: hunk header"
msgstr "Diff : entΓͺte du hunk"
-#: gitk:11440
+#: gitk:11473
msgid "diff hunk header"
msgstr "diff : entΓͺte du hunk"
-#: gitk:11444
+#: gitk:11477
msgid "Marked line bg"
-msgstr "Arrière-plan de la ligne marquée"
+msgstr "Fond de la ligne marquΓ©e"
-#: gitk:11446
+#: gitk:11479
msgid "marked line background"
-msgstr "Arrière-plan de la ligne marquée"
+msgstr "Fond de la ligne marquΓ©e"
-#: gitk:11450
+#: gitk:11483
msgid "Select bg"
-msgstr "Sélectionner l'arrière-plan"
+msgstr "SΓ©lectionner le fond"
-#: gitk:11459
+#: gitk:11492
msgid "Fonts: press to choose"
msgstr "Polices : cliquer pour choisir"
-#: gitk:11461
+#: gitk:11494
msgid "Main font"
msgstr "Police principale"
-#: gitk:11462
+#: gitk:11495
msgid "Diff display font"
msgstr "Police d'affichage des diff"
-#: gitk:11463
+#: gitk:11496
msgid "User interface font"
msgstr "Police de l'interface utilisateur"
-#: gitk:11485
+#: gitk:11518
msgid "Gitk preferences"
msgstr "PrΓ©fΓ©rences de Gitk"
-#: gitk:11494
-#, fuzzy
+#: gitk:11527
msgid "General"
-msgstr "GΓ©nΓ©rer"
+msgstr "GΓ©nΓ©ral"
-#: gitk:11495
+#: gitk:11528
msgid "Colors"
-msgstr ""
+msgstr "Couleurs"
-#: gitk:11496
+#: gitk:11529
msgid "Fonts"
-msgstr ""
+msgstr "Polices"
-#: gitk:11546
+#: gitk:11579
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk : choisir la couleur de %s"
-#: gitk:12059
+#: gitk:12092
msgid ""
"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
" Gitk requires at least Tcl/Tk 8.4."
@@ -1387,16 +1368,16 @@ msgstr ""
"DΓ©solΓ©, gitk ne peut Γͺtre exΓ©cutΓ© avec cette version de Tcl/Tk.\n"
" Gitk requiert Tcl/Tk version 8.4 ou supΓ©rieur."
-#: gitk:12269
+#: gitk:12302
msgid "Cannot find a git repository here."
msgstr "Impossible de trouver un dΓ©pΓ΄t git ici."
-#: gitk:12316
+#: gitk:12349
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Argument '%s' ambigu : Γ  la fois une rΓ©vision et un nom de fichier"
-#: gitk:12328
+#: gitk:12361
msgid "Bad arguments to gitk:"
msgstr "Arguments invalides pour gitk :"
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 05d7910b7c..2fddf750fa 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -3935,6 +3935,9 @@ sub run_highlighter {
close $fd;
open $fd, quote_command(git_cmd(), "cat-file", "blob", $hash)." | ".
+ quote_command($^X, '-CO', '-MEncode=decode,FB_DEFAULT', '-pse',
+ '$_ = decode($fe, $_, FB_DEFAULT) if !utf8::decode($_);',
+ '--', "-fe=$fallback_encoding")." | ".
quote_command($highlight_bin).
" --replace-tabs=8 --fragment --syntax $syntax |"
or die_error(500, "Couldn't open file or run syntax highlighter");
diff --git a/gpg-interface.c b/gpg-interface.c
index 3dc2fe397e..2259938236 100644
--- a/gpg-interface.c
+++ b/gpg-interface.c
@@ -237,6 +237,7 @@ int verify_signed_buffer(const char *payload, size_t payload_size,
return error(_("could not run gpg."));
}
+ sigchain_push(SIGPIPE, SIG_IGN);
write_in_full(gpg.in, payload, payload_size);
close(gpg.in);
@@ -250,6 +251,7 @@ int verify_signed_buffer(const char *payload, size_t payload_size,
close(gpg.out);
ret = finish_command(&gpg);
+ sigchain_pop(SIGPIPE);
unlink_or_warn(path);
diff --git a/graph.c b/graph.c
index c25a09a8fd..1350bdde3b 100644
--- a/graph.c
+++ b/graph.c
@@ -234,12 +234,10 @@ struct git_graph *graph_init(struct rev_info *opt)
* We'll automatically grow columns later if we need more room.
*/
graph->column_capacity = 30;
- graph->columns = xmalloc(sizeof(struct column) *
- graph->column_capacity);
- graph->new_columns = xmalloc(sizeof(struct column) *
- graph->column_capacity);
- graph->mapping = xmalloc(sizeof(int) * 2 * graph->column_capacity);
- graph->new_mapping = xmalloc(sizeof(int) * 2 * graph->column_capacity);
+ ALLOC_ARRAY(graph->columns, graph->column_capacity);
+ ALLOC_ARRAY(graph->new_columns, graph->column_capacity);
+ ALLOC_ARRAY(graph->mapping, 2 * graph->column_capacity);
+ ALLOC_ARRAY(graph->new_mapping, 2 * graph->column_capacity);
/*
* The diff output prefix callback, with this we can make
diff --git a/grep.c b/grep.c
index 7b2b96a437..528b652f71 100644
--- a/grep.c
+++ b/grep.c
@@ -1741,7 +1741,7 @@ static int grep_source_load_file(struct grep_source *gs)
i = open(filename, O_RDONLY);
if (i < 0)
goto err_ret;
- data = xmalloc(size + 1);
+ data = xmallocz(size);
if (st.st_size != read_in_full(i, data, size)) {
error(_("'%s': short read %s"), filename, strerror(errno));
close(i);
@@ -1749,7 +1749,6 @@ static int grep_source_load_file(struct grep_source *gs)
return -1;
}
close(i);
- data[size] = 0;
gs->buf = data;
gs->size = size;
diff --git a/hashmap.c b/hashmap.c
index f693839cb4..b10b642229 100644
--- a/hashmap.c
+++ b/hashmap.c
@@ -256,10 +256,9 @@ const void *memintern(const void *data, size_t len)
e = hashmap_get(&map, &key, data);
if (!e) {
/* not found: create it */
- e = xmallocz(sizeof(struct pool_entry) + len);
+ FLEX_ALLOC_MEM(e, data, data, len);
hashmap_entry_init(e, key.ent.hash);
e->len = len;
- memcpy(e->data, data, len);
hashmap_add(&map, e);
}
return e->data;
diff --git a/help.c b/help.c
index d996b34066..19328ea992 100644
--- a/help.c
+++ b/help.c
@@ -11,11 +11,9 @@
void add_cmdname(struct cmdnames *cmds, const char *name, int len)
{
- struct cmdname *ent = xmalloc(sizeof(*ent) + len + 1);
-
+ struct cmdname *ent;
+ FLEX_ALLOC_MEM(ent, name, name, len);
ent->len = len;
- memcpy(ent->name, name, len);
- ent->name[len] = 0;
ALLOC_GROW(cmds->names, cmds->cnt + 1, cmds->alloc);
cmds->names[cmds->cnt++] = ent;
diff --git a/http-backend.c b/http-backend.c
index 8870a2681e..214881459d 100644
--- a/http-backend.c
+++ b/http-backend.c
@@ -484,9 +484,9 @@ static int show_head_ref(const char *refname, const struct object_id *oid,
const char *target = resolve_ref_unsafe(refname,
RESOLVE_REF_READING,
unused.hash, NULL);
- const char *target_nons = strip_namespace(target);
- strbuf_addf(buf, "ref: %s\n", target_nons);
+ if (target)
+ strbuf_addf(buf, "ref: %s\n", strip_namespace(target));
} else {
strbuf_addf(buf, "%s\n", oid_to_hex(oid));
}
diff --git a/http-push.c b/http-push.c
index bd60668707..a092f0288b 100644
--- a/http-push.c
+++ b/http-push.c
@@ -211,7 +211,7 @@ static void curl_setup_http(CURL *curl, const char *url,
static struct curl_slist *get_dav_token_headers(struct remote_lock *lock, enum dav_header_flag options)
{
struct strbuf buf = STRBUF_INIT;
- struct curl_slist *dav_headers = NULL;
+ struct curl_slist *dav_headers = http_copy_default_headers();
if (options & DAV_HEADER_IF) {
strbuf_addf(&buf, "If: (<%s>)", lock->token);
@@ -417,7 +417,7 @@ static void start_put(struct transfer_request *request)
static void start_move(struct transfer_request *request)
{
struct active_request_slot *slot;
- struct curl_slist *dav_headers = NULL;
+ struct curl_slist *dav_headers = http_copy_default_headers();
slot = get_active_slot();
slot->callback_func = process_response;
@@ -845,7 +845,7 @@ static struct remote_lock *lock_remote(const char *path, long timeout)
char *ep;
char timeout_header[25];
struct remote_lock *lock = NULL;
- struct curl_slist *dav_headers = NULL;
+ struct curl_slist *dav_headers = http_copy_default_headers();
struct xml_ctx ctx;
char *escaped;
@@ -1126,7 +1126,7 @@ static void remote_ls(const char *path, int flags,
struct slot_results results;
struct strbuf in_buffer = STRBUF_INIT;
struct buffer out_buffer = { STRBUF_INIT, 0 };
- struct curl_slist *dav_headers = NULL;
+ struct curl_slist *dav_headers = http_copy_default_headers();
struct xml_ctx ctx;
struct remote_ls_ctx ls;
@@ -1204,7 +1204,7 @@ static int locking_available(void)
struct slot_results results;
struct strbuf in_buffer = STRBUF_INIT;
struct buffer out_buffer = { STRBUF_INIT, 0 };
- struct curl_slist *dav_headers = NULL;
+ struct curl_slist *dav_headers = http_copy_default_headers();
struct xml_ctx ctx;
int lock_flags = 0;
char *escaped;
@@ -1312,10 +1312,10 @@ static struct object_list **process_tree(struct tree *tree,
while (tree_entry(&desc, &entry))
switch (object_type(entry.mode)) {
case OBJ_TREE:
- p = process_tree(lookup_tree(entry.sha1), p);
+ p = process_tree(lookup_tree(entry.oid->hash), p);
break;
case OBJ_BLOB:
- p = process_blob(lookup_blob(entry.sha1), p);
+ p = process_blob(lookup_blob(entry.oid->hash), p);
break;
default:
/* Subproject commit - not in this repository */
diff --git a/http.c b/http.c
index 1d5e3bbd11..6fe74d5eea 100644
--- a/http.c
+++ b/http.c
@@ -70,6 +70,7 @@ static long curl_low_speed_limit = -1;
static long curl_low_speed_time = -1;
static int curl_ftp_no_epsv;
static const char *curl_http_proxy;
+static const char *curl_no_proxy;
static const char *http_proxy_authmethod;
static struct {
const char *name;
@@ -113,6 +114,7 @@ static unsigned long http_auth_methods = CURLAUTH_ANY;
static struct curl_slist *pragma_header;
static struct curl_slist *no_pragma_header;
+static struct curl_slist *extra_http_headers;
static struct active_request_slot *active_queue_head;
@@ -292,7 +294,7 @@ static int http_options(const char *var, const char *value, void *cb)
return git_config_string(&http_proxy_authmethod, var, value);
if (!strcmp("http.cookiefile", var))
- return git_config_string(&curl_cookie_file, var, value);
+ return git_config_pathname(&curl_cookie_file, var, value);
if (!strcmp("http.savecookies", var)) {
curl_save_cookies = git_config_bool(var, value);
return 0;
@@ -322,6 +324,19 @@ static int http_options(const char *var, const char *value, void *cb)
#endif
}
+ if (!strcmp("http.extraheader", var)) {
+ if (!value) {
+ return config_error_nonbool(var);
+ } else if (!*value) {
+ curl_slist_free_all(extra_http_headers);
+ extra_http_headers = NULL;
+ } else {
+ extra_http_headers =
+ curl_slist_append(extra_http_headers, value);
+ }
+ return 0;
+ }
+
/* Fall back on the default ones */
return git_default_config(var, value, cb);
}
@@ -604,7 +619,10 @@ static CURL *get_curl_handle(void)
if (curl_http_proxy) {
curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy);
#if LIBCURL_VERSION_NUM >= 0x071800
- if (starts_with(curl_http_proxy, "socks5"))
+ if (starts_with(curl_http_proxy, "socks5h"))
+ curl_easy_setopt(result,
+ CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);
+ else if (starts_with(curl_http_proxy, "socks5"))
curl_easy_setopt(result,
CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
else if (starts_with(curl_http_proxy, "socks4a"))
@@ -624,6 +642,11 @@ static CURL *get_curl_handle(void)
}
curl_easy_setopt(result, CURLOPT_PROXY, proxy_auth.host);
+#if LIBCURL_VERSION_NUM >= 0x071304
+ var_override(&curl_no_proxy, getenv("NO_PROXY"));
+ var_override(&curl_no_proxy, getenv("no_proxy"));
+ curl_easy_setopt(result, CURLOPT_NOPROXY, curl_no_proxy);
+#endif
}
init_curl_proxy_auth(result);
@@ -669,8 +692,10 @@ void http_init(struct remote *remote, const char *url, int proactive_auth)
if (remote)
var_override(&http_proxy_authmethod, remote->http_proxy_authmethod);
- pragma_header = curl_slist_append(pragma_header, "Pragma: no-cache");
- no_pragma_header = curl_slist_append(no_pragma_header, "Pragma:");
+ pragma_header = curl_slist_append(http_copy_default_headers(),
+ "Pragma: no-cache");
+ no_pragma_header = curl_slist_append(http_copy_default_headers(),
+ "Pragma:");
#ifdef USE_CURL_MULTI
{
@@ -756,6 +781,9 @@ void http_cleanup(void)
#endif
curl_global_cleanup();
+ curl_slist_free_all(extra_http_headers);
+ extra_http_headers = NULL;
+
curl_slist_free_all(pragma_header);
pragma_header = NULL;
@@ -1154,6 +1182,16 @@ int run_one_slot(struct active_request_slot *slot,
return handle_curl_result(results);
}
+struct curl_slist *http_copy_default_headers(void)
+{
+ struct curl_slist *headers = NULL, *h;
+
+ for (h = extra_http_headers; h; h = h->next)
+ headers = curl_slist_append(headers, h->data);
+
+ return headers;
+}
+
static CURLcode curlinfo_strbuf(CURL *curl, CURLINFO info, struct strbuf *buf)
{
char *ptr;
@@ -1371,7 +1409,7 @@ static int http_request(const char *url,
{
struct active_request_slot *slot;
struct slot_results results;
- struct curl_slist *headers = NULL;
+ struct curl_slist *headers = http_copy_default_headers();
struct strbuf buf = STRBUF_INIT;
const char *accept_language;
int ret;
diff --git a/http.h b/http.h
index 4ef4bbda7d..36f558bfb3 100644
--- a/http.h
+++ b/http.h
@@ -106,6 +106,7 @@ extern void step_active_slots(void);
extern void http_init(struct remote *remote, const char *url,
int proactive_auth);
extern void http_cleanup(void);
+extern struct curl_slist *http_copy_default_headers(void);
extern long int git_curl_ipresolve;
extern int active_requests;
diff --git a/ident.c b/ident.c
index 6e125821f0..4fd82d1043 100644
--- a/ident.c
+++ b/ident.c
@@ -351,15 +351,17 @@ const char *fmt_ident(const char *name, const char *email,
if (want_name) {
int using_default = 0;
if (!name) {
+ if (strict && ident_use_config_only
+ && !(ident_config_given & IDENT_NAME_GIVEN)) {
+ fputs(env_hint, stderr);
+ die("no name was given and auto-detection is disabled");
+ }
name = ident_default_name();
using_default = 1;
if (strict && default_name_is_bogus) {
fputs(env_hint, stderr);
die("unable to auto-detect name (got '%s')", name);
}
- if (strict && ident_use_config_only
- && !(ident_config_given & IDENT_NAME_GIVEN))
- die("user.useConfigOnly set but no name given");
}
if (!*name) {
struct passwd *pw;
@@ -374,14 +376,16 @@ const char *fmt_ident(const char *name, const char *email,
}
if (!email) {
+ if (strict && ident_use_config_only
+ && !(ident_config_given & IDENT_MAIL_GIVEN)) {
+ fputs(env_hint, stderr);
+ die("no email was given and auto-detection is disabled");
+ }
email = ident_default_email();
if (strict && default_email_is_bogus) {
fputs(env_hint, stderr);
die("unable to auto-detect email address (got '%s')", email);
}
- if (strict && ident_use_config_only
- && !(ident_config_given & IDENT_MAIL_GIVEN))
- die("user.useConfigOnly set but no mail given");
}
strbuf_reset(&ident);
diff --git a/imap-send.c b/imap-send.c
index 4d3b7737a9..938c691585 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -287,17 +287,20 @@ static int ssl_socket_connect(struct imap_socket *sock, int use_tls_only, int ve
SSL_library_init();
SSL_load_error_strings();
- if (use_tls_only)
- meth = TLSv1_method();
- else
- meth = SSLv23_method();
-
+ meth = SSLv23_method();
if (!meth) {
ssl_socket_perror("SSLv23_method");
return -1;
}
ctx = SSL_CTX_new(meth);
+ if (!ctx) {
+ ssl_socket_perror("SSL_CTX_new");
+ return -1;
+ }
+
+ if (use_tls_only)
+ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
if (verify)
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL);
@@ -862,7 +865,6 @@ static char hexchar(unsigned int b)
static char *cram(const char *challenge_64, const char *user, const char *pass)
{
int i, resp_len, encoded_len, decoded_len;
- HMAC_CTX hmac;
unsigned char hash[16];
char hex[33];
char *response, *response_64, *challenge;
@@ -877,10 +879,8 @@ static char *cram(const char *challenge_64, const char *user, const char *pass)
(unsigned char *)challenge_64, encoded_len);
if (decoded_len < 0)
die("invalid challenge %s", challenge_64);
- HMAC_Init(&hmac, (unsigned char *)pass, strlen(pass), EVP_md5());
- HMAC_Update(&hmac, (unsigned char *)challenge, decoded_len);
- HMAC_Final(&hmac, hash, NULL);
- HMAC_CTX_cleanup(&hmac);
+ if (!HMAC(EVP_md5(), pass, strlen(pass), (unsigned char *)challenge, decoded_len, hash, NULL))
+ die("HMAC error");
hex[32] = 0;
for (i = 0; i < 16; i++) {
@@ -890,14 +890,13 @@ static char *cram(const char *challenge_64, const char *user, const char *pass)
/* response: "<user> <digest in hex>" */
response = xstrfmt("%s %s", user, hex);
- resp_len = strlen(response) + 1;
+ resp_len = strlen(response);
- response_64 = xmalloc(ENCODED_SIZE(resp_len) + 1);
+ response_64 = xmallocz(ENCODED_SIZE(resp_len));
encoded_len = EVP_EncodeBlock((unsigned char *)response_64,
(unsigned char *)response, resp_len);
if (encoded_len < 0)
die("EVP_EncodeBlock error");
- response_64[encoded_len] = '\0';
return (char *)response_64;
}
@@ -1096,11 +1095,6 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f
srvc->pass = xstrdup(cred.password);
}
- if (CAP(NOLOGIN)) {
- fprintf(stderr, "Skipping account %s@%s, server forbids LOGIN\n", srvc->user, srvc->host);
- goto bail;
- }
-
if (srvc->auth_method) {
struct imap_cmd_cb cb;
@@ -1124,6 +1118,11 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f
goto bail;
}
} else {
+ if (CAP(NOLOGIN)) {
+ fprintf(stderr, "Skipping account %s@%s, server forbids LOGIN\n",
+ srvc->user, srvc->host);
+ goto bail;
+ }
if (!imap->buf.sock.ssl)
imap_warn("*** IMAP Warning *** Password is being "
"sent in the clear\n");
@@ -1188,7 +1187,7 @@ static void lf_to_crlf(struct strbuf *msg)
j++;
}
- new = xmalloc(j + 1);
+ new = xmallocz(j);
/*
* Second pass: write the new string. Note that this loop is
diff --git a/khash.h b/khash.h
index 376475a5ea..c0da40daa7 100644
--- a/khash.h
+++ b/khash.h
@@ -117,7 +117,7 @@ static const double __ac_HASH_UPPER = 0.77;
if (new_n_buckets < 4) new_n_buckets = 4; \
if (h->size >= (khint_t)(new_n_buckets * __ac_HASH_UPPER + 0.5)) j = 0; /* requested size is too small */ \
else { /* hash table size to be changed (shrink or expand); rehash */ \
- new_flags = (khint32_t*)xmalloc(__ac_fsize(new_n_buckets) * sizeof(khint32_t)); \
+ ALLOC_ARRAY(new_flags, __ac_fsize(new_n_buckets)); \
if (!new_flags) return -1; \
memset(new_flags, 0xaa, __ac_fsize(new_n_buckets) * sizeof(khint32_t)); \
if (h->n_buckets < new_n_buckets) { /* expand */ \
diff --git a/levenshtein.c b/levenshtein.c
index fc281597fd..d2632690d5 100644
--- a/levenshtein.c
+++ b/levenshtein.c
@@ -42,11 +42,13 @@ int levenshtein(const char *string1, const char *string2,
int w, int s, int a, int d)
{
int len1 = strlen(string1), len2 = strlen(string2);
- int *row0 = xmalloc(sizeof(int) * (len2 + 1));
- int *row1 = xmalloc(sizeof(int) * (len2 + 1));
- int *row2 = xmalloc(sizeof(int) * (len2 + 1));
+ int *row0, *row1, *row2;
int i, j;
+ ALLOC_ARRAY(row0, len2 + 1);
+ ALLOC_ARRAY(row1, len2 + 1);
+ ALLOC_ARRAY(row2, len2 + 1);
+
for (j = 0; j <= len2; j++)
row1[j] = j * a;
for (i = 0; i < len1; i++) {
diff --git a/line-log.c b/line-log.c
index af6e2f799e..bbe31ed6fb 100644
--- a/line-log.c
+++ b/line-log.c
@@ -14,6 +14,7 @@
#include "graph.h"
#include "userdiff.h"
#include "line-log.h"
+#include "argv-array.h"
static void range_set_grow(struct range_set *rs, size_t extra)
{
@@ -521,7 +522,7 @@ static void fill_line_ends(struct diff_filespec *spec, long *lines,
if (diff_populate_filespec(spec, 0))
die("Cannot read blob %s", sha1_to_hex(spec->sha1));
- ends = xmalloc(size * sizeof(*ends));
+ ALLOC_ARRAY(ends, size);
ends[cur++] = 0;
data = spec->data;
while (num < spec->size) {
@@ -746,22 +747,17 @@ void line_log_init(struct rev_info *rev, const char *prefix, struct string_list
add_line_range(rev, commit, range);
if (!rev->diffopt.detect_rename) {
- int i, count = 0;
- struct line_log_data *r = range;
+ struct line_log_data *r;
+ struct argv_array array = ARGV_ARRAY_INIT;
const char **paths;
- while (r) {
- count++;
- r = r->next;
- }
- paths = xmalloc((count+1)*sizeof(char *));
- r = range;
- for (i = 0; i < count; i++) {
- paths[i] = xstrdup(r->path);
- r = r->next;
- }
- paths[count] = NULL;
+
+ for (r = range; r; r = r->next)
+ argv_array_push(&array, r->path);
+ paths = argv_array_detach(&array);
+
parse_pathspec(&rev->diffopt.pathspec, 0,
PATHSPEC_PREFER_FULL, "", paths);
+ /* strings are now owned by pathspec */
free(paths);
}
}
@@ -1146,9 +1142,9 @@ static int process_ranges_merge_commit(struct rev_info *rev, struct commit *comm
if (nparents > 1 && rev->first_parent_only)
nparents = 1;
- diffqueues = xmalloc(nparents * sizeof(*diffqueues));
- cand = xmalloc(nparents * sizeof(*cand));
- parents = xmalloc(nparents * sizeof(*parents));
+ ALLOC_ARRAY(diffqueues, nparents);
+ ALLOC_ARRAY(cand, nparents);
+ ALLOC_ARRAY(parents, nparents);
p = commit->parents;
for (i = 0; i < nparents; i++) {
diff --git a/list-objects.c b/list-objects.c
index 917cc5d7c9..f3ca6aafb7 100644
--- a/list-objects.c
+++ b/list-objects.c
@@ -110,16 +110,16 @@ static void process_tree(struct rev_info *revs,
if (S_ISDIR(entry.mode))
process_tree(revs,
- lookup_tree(entry.sha1),
+ lookup_tree(entry.oid->hash),
show, base, entry.path,
cb_data);
else if (S_ISGITLINK(entry.mode))
- process_gitlink(revs, entry.sha1,
+ process_gitlink(revs, entry.oid->hash,
show, base, entry.path,
cb_data);
else
process_blob(revs,
- lookup_blob(entry.sha1),
+ lookup_blob(entry.oid->hash),
show, base, entry.path,
cb_data);
}
diff --git a/ll-merge.c b/ll-merge.c
index 0338630fc2..ff4a43a982 100644
--- a/ll-merge.c
+++ b/ll-merge.c
@@ -205,7 +205,7 @@ static int ll_ext_merge(const struct ll_merge_driver *fn,
if (fstat(fd, &st))
goto close_bad;
result->size = st.st_size;
- result->ptr = xmalloc(result->size + 1);
+ result->ptr = xmallocz(result->size);
if (read_in_full(fd, result->ptr, result->size) != result->size) {
free(result->ptr);
result->ptr = NULL;
diff --git a/lockfile.c b/lockfile.c
index 80d056d2ed..9268cdf325 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -149,13 +149,15 @@ static int lock_file_timeout(struct lock_file *lk, const char *path,
void unable_to_lock_message(const char *path, int err, struct strbuf *buf)
{
if (err == EEXIST) {
- strbuf_addf(buf, "Unable to create '%s.lock': %s.\n\n"
- "If no other git process is currently running, this probably means a\n"
- "git process crashed in this repository earlier. Make sure no other git\n"
- "process is running and remove the file manually to continue.",
+ strbuf_addf(buf, _("Unable to create '%s.lock': %s.\n\n"
+ "Another git process seems to be running in this repository, e.g.\n"
+ "an editor opened by 'git commit'. Please make sure all processes\n"
+ "are terminated then try again. If it still fails, a git process\n"
+ "may have crashed in this repository earlier:\n"
+ "remove the file manually to continue."),
absolute_path(path), strerror(err));
} else
- strbuf_addf(buf, "Unable to create '%s.lock': %s",
+ strbuf_addf(buf, _("Unable to create '%s.lock': %s"),
absolute_path(path), strerror(err));
}
diff --git a/log-tree.c b/log-tree.c
index f70a30e127..78a5381d0e 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -77,9 +77,8 @@ int parse_decorate_color_config(const char *var, const char *slot_name, const ch
void add_name_decoration(enum decoration_type type, const char *name, struct object *obj)
{
- int nlen = strlen(name);
- struct name_decoration *res = xmalloc(sizeof(*res) + nlen + 1);
- memcpy(res->name, name, nlen + 1);
+ struct name_decoration *res;
+ FLEX_ALLOC_STR(res, name, name);
res->type = type;
res->next = add_decoration(&name_decoration, obj, res);
}
@@ -684,6 +683,7 @@ void show_log(struct rev_info *opt)
ctx.fmt = opt->commit_format;
ctx.mailmap = opt->mailmap;
ctx.color = opt->diffopt.use_color;
+ ctx.expand_tabs_in_log = opt->expand_tabs_in_log;
ctx.output_encoding = get_log_output_encoding();
if (opt->from_ident.mail_begin && opt->from_ident.name_begin)
ctx.from_ident = &opt->from_ident;
diff --git a/mailmap.c b/mailmap.c
index f4a0f1cf27..972623709f 100644
--- a/mailmap.c
+++ b/mailmap.c
@@ -250,7 +250,8 @@ int read_mailmap(struct string_list *map, char **repo_abbrev)
git_mailmap_blob = "HEAD:.mailmap";
err |= read_mailmap_file(map, ".mailmap", repo_abbrev);
- err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev);
+ if (startup_info->have_repository)
+ err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev);
err |= read_mailmap_file(map, git_mailmap_file, repo_abbrev);
return err;
}
diff --git a/match-trees.c b/match-trees.c
index 1ce0954a3e..396b7338df 100644
--- a/match-trees.c
+++ b/match-trees.c
@@ -48,17 +48,17 @@ static int score_matches(unsigned mode1, unsigned mode2, const char *path)
}
static void *fill_tree_desc_strict(struct tree_desc *desc,
- const unsigned char *hash)
+ const struct object_id *hash)
{
void *buffer;
enum object_type type;
unsigned long size;
- buffer = read_sha1_file(hash, &type, &size);
+ buffer = read_sha1_file(hash->hash, &type, &size);
if (!buffer)
- die("unable to read tree (%s)", sha1_to_hex(hash));
+ die("unable to read tree (%s)", oid_to_hex(hash));
if (type != OBJ_TREE)
- die("%s is not a tree", sha1_to_hex(hash));
+ die("%s is not a tree", oid_to_hex(hash));
init_tree_desc(desc, buffer, size);
return buffer;
}
@@ -73,7 +73,7 @@ static int base_name_entries_compare(const struct name_entry *a,
/*
* Inspect two trees, and give a score that tells how similar they are.
*/
-static int score_trees(const unsigned char *hash1, const unsigned char *hash2)
+static int score_trees(const struct object_id *hash1, const struct object_id *hash2)
{
struct tree_desc one;
struct tree_desc two;
@@ -104,7 +104,7 @@ static int score_trees(const unsigned char *hash1, const unsigned char *hash2)
else if (cmp > 0)
/* path2 does not appear in one */
score += score_missing(e2.mode, e2.path);
- else if (hashcmp(e1.sha1, e2.sha1))
+ else if (oidcmp(e1.oid, e2.oid))
/* they are different */
score += score_differs(e1.mode, e2.mode, e1.path);
else
@@ -119,8 +119,8 @@ static int score_trees(const unsigned char *hash1, const unsigned char *hash2)
/*
* Match one itself and its subtrees with two and pick the best match.
*/
-static void match_trees(const unsigned char *hash1,
- const unsigned char *hash2,
+static void match_trees(const struct object_id *hash1,
+ const struct object_id *hash2,
int *best_score,
char **best_match,
const char *base,
@@ -131,7 +131,7 @@ static void match_trees(const unsigned char *hash1,
while (one.size) {
const char *path;
- const unsigned char *elem;
+ const struct object_id *elem;
unsigned mode;
int score;
@@ -191,15 +191,15 @@ static int splice_tree(const unsigned char *hash1,
while (desc.size) {
const char *name;
unsigned mode;
- const unsigned char *sha1;
+ const struct object_id *oid;
- sha1 = tree_entry_extract(&desc, &name, &mode);
+ oid = tree_entry_extract(&desc, &name, &mode);
if (strlen(name) == toplen &&
!memcmp(name, prefix, toplen)) {
if (!S_ISDIR(mode))
die("entry %s in tree %s is not a tree",
name, sha1_to_hex(hash1));
- rewrite_here = (unsigned char *) sha1;
+ rewrite_here = (unsigned char *) oid->hash;
break;
}
update_tree_entry(&desc);
@@ -229,9 +229,9 @@ static int splice_tree(const unsigned char *hash1,
* other hand, it could cover tree one and we might need to pick a
* subtree of it.
*/
-void shift_tree(const unsigned char *hash1,
- const unsigned char *hash2,
- unsigned char *shifted,
+void shift_tree(const struct object_id *hash1,
+ const struct object_id *hash2,
+ struct object_id *shifted,
int depth_limit)
{
char *add_prefix;
@@ -262,7 +262,7 @@ void shift_tree(const unsigned char *hash1,
match_trees(hash2, hash1, &del_score, &del_prefix, "", depth_limit);
/* Assume we do not have to do any shifting */
- hashcpy(shifted, hash2);
+ oidcpy(shifted, hash2);
if (add_score < del_score) {
/* We need to pick a subtree of two */
@@ -271,16 +271,16 @@ void shift_tree(const unsigned char *hash1,
if (!*del_prefix)
return;
- if (get_tree_entry(hash2, del_prefix, shifted, &mode))
+ if (get_tree_entry(hash2->hash, del_prefix, shifted->hash, &mode))
die("cannot find path %s in tree %s",
- del_prefix, sha1_to_hex(hash2));
+ del_prefix, oid_to_hex(hash2));
return;
}
if (!*add_prefix)
return;
- splice_tree(hash1, add_prefix, hash2, shifted);
+ splice_tree(hash1->hash, add_prefix, hash2->hash, shifted->hash);
}
/*
@@ -288,22 +288,22 @@ void shift_tree(const unsigned char *hash1,
* Unfortunately we cannot fundamentally tell which one to
* be prefixed, as recursive merge can work in either direction.
*/
-void shift_tree_by(const unsigned char *hash1,
- const unsigned char *hash2,
- unsigned char *shifted,
+void shift_tree_by(const struct object_id *hash1,
+ const struct object_id *hash2,
+ struct object_id *shifted,
const char *shift_prefix)
{
- unsigned char sub1[20], sub2[20];
+ struct object_id sub1, sub2;
unsigned mode1, mode2;
unsigned candidate = 0;
/* Can hash2 be a tree at shift_prefix in tree hash1? */
- if (!get_tree_entry(hash1, shift_prefix, sub1, &mode1) &&
+ if (!get_tree_entry(hash1->hash, shift_prefix, sub1.hash, &mode1) &&
S_ISDIR(mode1))
candidate |= 1;
/* Can hash1 be a tree at shift_prefix in tree hash2? */
- if (!get_tree_entry(hash2, shift_prefix, sub2, &mode2) &&
+ if (!get_tree_entry(hash2->hash, shift_prefix, sub2.hash, &mode2) &&
S_ISDIR(mode2))
candidate |= 2;
@@ -313,19 +313,19 @@ void shift_tree_by(const unsigned char *hash1,
int score;
candidate = 0;
- score = score_trees(sub1, hash2);
+ score = score_trees(&sub1, hash2);
if (score > best_score) {
candidate = 1;
best_score = score;
}
- score = score_trees(sub2, hash1);
+ score = score_trees(&sub2, hash1);
if (score > best_score)
candidate = 2;
}
if (!candidate) {
/* Neither is plausible -- do not shift */
- hashcpy(shifted, hash2);
+ oidcpy(shifted, hash2);
return;
}
@@ -334,11 +334,11 @@ void shift_tree_by(const unsigned char *hash1,
* shift tree2 down by adding shift_prefix above it
* to match tree1.
*/
- splice_tree(hash1, shift_prefix, hash2, shifted);
+ splice_tree(hash1->hash, shift_prefix, hash2->hash, shifted->hash);
else
/*
* shift tree2 up by removing shift_prefix from it
* to match tree1.
*/
- hashcpy(shifted, sub2);
+ oidcpy(shifted, &sub2);
}
diff --git a/merge-blobs.c b/merge-blobs.c
index ddca601c77..9b6eac22e4 100644
--- a/merge-blobs.c
+++ b/merge-blobs.c
@@ -48,40 +48,6 @@ static void *three_way_filemerge(const char *path, mmfile_t *base, mmfile_t *our
return res.ptr;
}
-static int common_outf(void *priv_, mmbuffer_t *mb, int nbuf)
-{
- int i;
- mmfile_t *dst = priv_;
-
- for (i = 0; i < nbuf; i++) {
- memcpy(dst->ptr + dst->size, mb[i].ptr, mb[i].size);
- dst->size += mb[i].size;
- }
- return 0;
-}
-
-static int generate_common_file(mmfile_t *res, mmfile_t *f1, mmfile_t *f2)
-{
- unsigned long size = f1->size < f2->size ? f1->size : f2->size;
- void *ptr = xmalloc(size);
- xpparam_t xpp;
- xdemitconf_t xecfg;
- xdemitcb_t ecb;
-
- memset(&xpp, 0, sizeof(xpp));
- xpp.flags = 0;
- memset(&xecfg, 0, sizeof(xecfg));
- xecfg.ctxlen = 3;
- xecfg.flags = XDL_EMIT_COMMON;
- ecb.outf = common_outf;
-
- res->ptr = ptr;
- res->size = 0;
-
- ecb.priv = res;
- return xdi_diff(f1, f2, &xpp, &xecfg, &ecb);
-}
-
void *merge_blobs(const char *path, struct blob *base, struct blob *our, struct blob *their, unsigned long *size)
{
void *res = NULL;
@@ -112,8 +78,8 @@ void *merge_blobs(const char *path, struct blob *base, struct blob *our, struct
if (fill_mmfile_blob(&common, base) < 0)
goto out_free_f2_f1;
} else {
- if (generate_common_file(&common, &f1, &f2) < 0)
- goto out_free_f2_f1;
+ common.ptr = xstrdup("");
+ common.size = 0;
}
res = three_way_filemerge(path, &common, &f1, &f2, size);
free_mmfile(&common);
diff --git a/merge-recursive.c b/merge-recursive.c
index 8eabde20fb..65cb5d6c1f 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -29,9 +29,9 @@ static struct tree *shift_tree_object(struct tree *one, struct tree *two,
struct object_id shifted;
if (!*subtree_shift) {
- shift_tree(one->object.oid.hash, two->object.oid.hash, shifted.hash, 0);
+ shift_tree(&one->object.oid, &two->object.oid, &shifted, 0);
} else {
- shift_tree_by(one->object.oid.hash, two->object.oid.hash, shifted.hash,
+ shift_tree_by(&one->object.oid, &two->object.oid, &shifted,
subtree_shift);
}
if (!oidcmp(&two->object.oid, &shifted))
@@ -482,6 +482,9 @@ static struct string_list *get_renames(struct merge_options *o,
struct diff_options opts;
renames = xcalloc(1, sizeof(struct string_list));
+ if (!o->detect_rename)
+ return renames;
+
diff_setup(&opts);
DIFF_OPT_SET(&opts, RECURSIVE);
DIFF_OPT_CLR(&opts, RENAME_EMPTY);
@@ -619,7 +622,7 @@ static char *unique_path(struct merge_options *o, const char *path, const char *
base_len = newpath.len;
while (string_list_has_string(&o->current_file_set, newpath.buf) ||
string_list_has_string(&o->current_directory_set, newpath.buf) ||
- file_exists(newpath.buf)) {
+ (!o->call_depth && file_exists(newpath.buf))) {
strbuf_setlen(&newpath, base_len);
strbuf_addf(&newpath, "_%d", suffix++);
}
@@ -1231,8 +1234,8 @@ static void conflict_rename_rename_2to1(struct merge_options *o,
a->path, c1->path, ci->branch1,
b->path, c2->path, ci->branch2);
- remove_file(o, 1, a->path, would_lose_untracked(a->path));
- remove_file(o, 1, b->path, would_lose_untracked(b->path));
+ remove_file(o, 1, a->path, o->call_depth || would_lose_untracked(a->path));
+ remove_file(o, 1, b->path, o->call_depth || would_lose_untracked(b->path));
mfi_c1 = merge_file_special_markers(o, a, c1, &ci->ren1_other,
o->branch1, c1->path,
@@ -1770,8 +1773,6 @@ static int process_entry(struct merge_options *o,
output(o, 1, _("CONFLICT (%s): There is a directory with name %s in %s. "
"Adding %s as %s"),
conf, path, other_branch, path, new_path);
- if (o->call_depth)
- remove_file_from_cache(path);
update_file(o, 0, sha, mode, new_path);
if (o->call_depth)
remove_file_from_cache(path);
@@ -2039,6 +2040,7 @@ void init_merge_options(struct merge_options *o)
o->diff_rename_limit = -1;
o->merge_rename_limit = -1;
o->renormalize = 0;
+ o->detect_rename = 1;
merge_recursive_config(o);
if (getenv("GIT_MERGE_VERBOSITY"))
o->verbosity =
@@ -2088,9 +2090,17 @@ int parse_merge_opt(struct merge_options *o, const char *s)
o->renormalize = 1;
else if (!strcmp(s, "no-renormalize"))
o->renormalize = 0;
- else if (skip_prefix(s, "rename-threshold=", &arg)) {
+ else if (!strcmp(s, "no-renames"))
+ o->detect_rename = 0;
+ else if (!strcmp(s, "find-renames")) {
+ o->detect_rename = 1;
+ o->rename_score = 0;
+ }
+ else if (skip_prefix(s, "find-renames=", &arg) ||
+ skip_prefix(s, "rename-threshold=", &arg)) {
if ((o->rename_score = parse_rename_score(&arg)) == -1 || *arg != 0)
return -1;
+ o->detect_rename = 1;
}
else
return -1;
diff --git a/merge-recursive.h b/merge-recursive.h
index 9e090a3470..52f0201f68 100644
--- a/merge-recursive.h
+++ b/merge-recursive.h
@@ -17,6 +17,7 @@ struct merge_options {
unsigned renormalize : 1;
long xdl_opts;
int verbosity;
+ int detect_rename;
int diff_rename_limit;
int merge_rename_limit;
int rename_score;
diff --git a/mergetools/examdiff b/mergetools/examdiff
new file mode 100644
index 0000000000..7b524d4088
--- /dev/null
+++ b/mergetools/examdiff
@@ -0,0 +1,18 @@
+diff_cmd () {
+ "$merge_tool_path" "$LOCAL" "$REMOTE" -nh
+}
+
+merge_cmd () {
+ touch "$BACKUP"
+ if $base_present
+ then
+ "$merge_tool_path" -merge "$LOCAL" "$BASE" "$REMOTE" -o:"$MERGED" -nh
+ else
+ "$merge_tool_path" -merge "$LOCAL" "$REMOTE" -o:"$MERGED" -nh
+ fi
+ check_unchanged
+}
+
+translate_merge_tool_path() {
+ mergetool_find_win32_cmd "ExamDiff.com" "ExamDiff Pro"
+}
diff --git a/mergetools/winmerge b/mergetools/winmerge
index 74a66d4e8d..f3819d316a 100644
--- a/mergetools/winmerge
+++ b/mergetools/winmerge
@@ -13,24 +13,5 @@ merge_cmd () {
}
translate_merge_tool_path() {
- # Use WinMergeU.exe if it exists in $PATH
- if type -p WinMergeU.exe >/dev/null 2>&1
- then
- printf WinMergeU.exe
- return
- fi
-
- # Look for WinMergeU.exe in the typical locations
- winmerge_exe="WinMerge/WinMergeU.exe"
- for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' |
- cut -d '=' -f 2- | sort -u)
- do
- if test -n "$directory" && test -x "$directory/$winmerge_exe"
- then
- printf '%s' "$directory/$winmerge_exe"
- return
- fi
- done
-
- printf WinMergeU.exe
+ mergetool_find_win32_cmd "WinMergeU.exe" "WinMerge"
}
diff --git a/name-hash.c b/name-hash.c
index 332ba956e7..6d9f23e932 100644
--- a/name-hash.c
+++ b/name-hash.c
@@ -55,10 +55,9 @@ static struct dir_entry *hash_dir_entry(struct index_state *istate,
dir = find_dir_entry(istate, ce->name, namelen);
if (!dir) {
/* not found, create it and add to hash table */
- dir = xcalloc(1, sizeof(struct dir_entry) + namelen + 1);
+ FLEX_ALLOC_MEM(dir, name, ce->name, namelen);
hashmap_entry_init(dir, memihash(ce->name, namelen));
dir->namelen = namelen;
- strncpy(dir->name, ce->name, namelen);
hashmap_add(&istate->dir_hash, dir);
/* recursively add missing parent directories */
diff --git a/notes.c b/notes.c
index c1e5035590..e4e4854d69 100644
--- a/notes.c
+++ b/notes.c
@@ -446,7 +446,7 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree,
l = (struct leaf_node *)
xcalloc(1, sizeof(struct leaf_node));
hashcpy(l->key_sha1, object_sha1);
- hashcpy(l->val_sha1, entry.sha1);
+ hashcpy(l->val_sha1, entry.oid->hash);
if (len < 20) {
if (!S_ISDIR(entry.mode) || path_len != 2)
goto handle_non_note; /* not subtree */
@@ -493,7 +493,7 @@ handle_non_note:
}
strbuf_addstr(&non_note_path, entry.path);
add_non_note(t, strbuf_detach(&non_note_path, NULL),
- entry.mode, entry.sha1);
+ entry.mode, entry.oid->hash);
}
}
free(buf);
@@ -1035,7 +1035,7 @@ struct notes_tree **load_notes_trees(struct string_list *refs, int flags)
struct string_list_item *item;
int counter = 0;
struct notes_tree **trees;
- trees = xmalloc((refs->nr+1) * sizeof(struct notes_tree *));
+ ALLOC_ARRAY(trees, refs->nr + 1);
for_each_string_list_item(item, refs) {
struct notes_tree *t = xcalloc(1, sizeof(struct notes_tree));
init_notes(t, item->string, combine_notes_ignore, flags);
diff --git a/pack-check.c b/pack-check.c
index 433bd86ccd..1da89a41ce 100644
--- a/pack-check.c
+++ b/pack-check.c
@@ -89,7 +89,7 @@ static int verify_packfile(struct packed_git *p,
* we do not do scan-streaming check on the pack file.
*/
nr_objects = p->num_objects;
- entries = xmalloc((nr_objects + 1) * sizeof(*entries));
+ ALLOC_ARRAY(entries, nr_objects + 1);
entries[nr_objects].offset = pack_sig_ofs;
/* first sort entries by pack offset, since unpacking them is more efficient that way */
for (i = 0; i < nr_objects; i++) {
diff --git a/pack-revindex.c b/pack-revindex.c
index 155a8a3d69..96d51c3467 100644
--- a/pack-revindex.c
+++ b/pack-revindex.c
@@ -44,10 +44,14 @@ static void sort_revindex(struct revindex_entry *entries, unsigned n, off_t max)
* keep track of them with alias pointers, always sorting from "from"
* to "to".
*/
- struct revindex_entry *tmp = xmalloc(n * sizeof(*tmp));
- struct revindex_entry *from = entries, *to = tmp;
+ struct revindex_entry *tmp, *from, *to;
int bits;
- unsigned *pos = xmalloc(BUCKETS * sizeof(*pos));
+ unsigned *pos;
+
+ ALLOC_ARRAY(pos, BUCKETS);
+ ALLOC_ARRAY(tmp, n);
+ from = entries;
+ to = tmp;
/*
* If (max >> bits) is zero, then we know that the radix digit we are
@@ -121,7 +125,7 @@ static void create_pack_revindex(struct packed_git *p)
unsigned i;
const char *index = p->index_data;
- p->revindex = xmalloc(sizeof(*p->revindex) * (num_ent + 1));
+ ALLOC_ARRAY(p->revindex, num_ent + 1);
index += 4 * 256;
if (p->index_version > 1) {
diff --git a/path.c b/path.c
index 8b7e168129..503766784c 100644
--- a/path.c
+++ b/path.c
@@ -134,7 +134,7 @@ static struct common_dir common_list[] = {
* definite
* definition
*
- * The trie would look look like:
+ * The trie would look like:
* root: len = 0, children a and d non-NULL, value = NULL.
* a: len = 2, contents = bc, value = (data for "abc")
* d: len = 2, contents = ef, children i non-NULL, value = (data for "def")
@@ -584,6 +584,9 @@ char *expand_user_path(const char *path)
if (!home)
goto return_null;
strbuf_addstr(&user_path, home);
+#ifdef GIT_WINDOWS_NATIVE
+ convert_slashes(user_path.buf);
+#endif
} else {
struct passwd *pw = getpw_str(username, username_len);
if (!pw)
@@ -699,17 +702,17 @@ static int calc_shared_perm(int mode)
{
int tweak;
- if (shared_repository < 0)
- tweak = -shared_repository;
+ if (get_shared_repository() < 0)
+ tweak = -get_shared_repository();
else
- tweak = shared_repository;
+ tweak = get_shared_repository();
if (!(mode & S_IWUSR))
tweak &= ~0222;
if (mode & S_IXUSR)
/* Copy read bits to execute bits */
tweak |= (tweak & 0444) >> 2;
- if (shared_repository < 0)
+ if (get_shared_repository() < 0)
mode = (mode & ~0777) | tweak;
else
mode |= tweak;
@@ -722,7 +725,7 @@ int adjust_shared_perm(const char *path)
{
int old_mode, new_mode;
- if (!shared_repository)
+ if (!get_shared_repository())
return 0;
if (get_st_mode_bits(path, &old_mode) < 0)
return -1;
diff --git a/pathspec.c b/pathspec.c
index 9304ee33d7..c9e9b6c077 100644
--- a/pathspec.c
+++ b/pathspec.c
@@ -406,7 +406,8 @@ void parse_pathspec(struct pathspec *pathspec,
n++;
pathspec->nr = n;
- pathspec->items = item = xmalloc(sizeof(*item) * n);
+ ALLOC_ARRAY(pathspec->items, n);
+ item = pathspec->items;
pathspec->_raw = argv;
prefixlen = prefix ? strlen(prefix) : 0;
@@ -483,7 +484,7 @@ const char **get_pathspec(const char *prefix, const char **pathspec)
void copy_pathspec(struct pathspec *dst, const struct pathspec *src)
{
*dst = *src;
- dst->items = xmalloc(sizeof(struct pathspec_item) * dst->nr);
+ ALLOC_ARRAY(dst->items, dst->nr);
memcpy(dst->items, src->items,
sizeof(struct pathspec_item) * dst->nr);
}
diff --git a/perl/Git.pm b/perl/Git.pm
index 49eb88af8d..ce7e4e8da3 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -393,7 +393,7 @@ sub command_close_pipe {
Execute the given C<COMMAND> in the same way as command_output_pipe()
does but return both an input pipe filehandle and an output pipe filehandle.
-The function will return return C<($pid, $pipe_in, $pipe_out, $ctx)>.
+The function will return C<($pid, $pipe_in, $pipe_out, $ctx)>.
See C<command_close_bidi_pipe()> for details.
=cut
diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
index b2c14e2ff5..d94d01cfdc 100644
--- a/perl/Git/SVN.pm
+++ b/perl/Git/SVN.pm
@@ -97,7 +97,8 @@ sub resolve_local_globs {
"existing: $existing\n",
" globbed: $refname\n";
}
- my $u = (::cmt_metadata("$refname"))[0];
+ my $u = (::cmt_metadata("$refname"))[0] or die
+ "$refname: no associated commit metadata\n";
$u =~ s!^\Q$url\E(/|$)!! or die
"$refname: '$url' not found in '$u'\n";
if ($pathname ne $u) {
diff --git a/perl/Git/SVN/GlobSpec.pm b/perl/Git/SVN/GlobSpec.pm
index c95f5d76ca..a0a8d17621 100644
--- a/perl/Git/SVN/GlobSpec.pm
+++ b/perl/Git/SVN/GlobSpec.pm
@@ -8,19 +8,23 @@ sub new {
$re =~ s!/+$!!g; # no need for trailing slashes
my (@left, @right, @patterns);
my $state = "left";
- my $die_msg = "Only one set of wildcard directories " .
- "(e.g. '*' or '*/*/*') is supported: '$glob'\n";
+ my $die_msg = "Only one set of wildcards " .
+ "(e.g. '*' or '*/*/*') is supported: $glob\n";
for my $part (split(m|/|, $glob)) {
- if ($part =~ /\*/ && $part ne "*") {
- die "Invalid pattern in '$glob': $part\n";
- } elsif ($pattern_ok && $part =~ /[{}]/ &&
+ if ($pattern_ok && $part =~ /[{}]/ &&
$part !~ /^\{[^{}]+\}/) {
die "Invalid pattern in '$glob': $part\n";
}
- if ($part eq "*") {
+ my $nstars = $part =~ tr/*//;
+ if ($nstars > 1) {
+ die "Only one '*' is allowed in a pattern: '$part'\n";
+ }
+ if ($part =~ /(.*)\*(.*)/) {
die $die_msg if $state eq "right";
+ my ($l, $r) = ($1, $2);
$state = "pattern";
- push(@patterns, "[^/]*");
+ my $pat = quotemeta($l) . '[^/]*' . quotemeta($r);
+ push(@patterns, $pat);
} elsif ($pattern_ok && $part =~ /^\{(.*)\}$/) {
die $die_msg if $state eq "right";
$state = "pattern";
diff --git a/po/TEAMS b/po/TEAMS
index df12b5819c..56274ad4f3 100644
--- a/po/TEAMS
+++ b/po/TEAMS
@@ -11,7 +11,7 @@ Leader: Alex Henrie <alexhenrie24@gmail.com>
Language: de (German)
Repository: https://github.com/ralfth/git-po-de
-Leader: Ralf Thielow <ralf.thielow@googlemail.com>
+Leader: Ralf Thielow <ralf.thielow@gmail.com>
Members: Thomas Rast <tr@thomasrast.ch>
Jan KrΓΌger <jk@jk.gs>
Christian Stimming <stimming@tuhh.de>
diff --git a/po/ca.po b/po/ca.po
index d364141a8d..46000d7d64 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
-"PO-Revision-Date: 2015-12-27 21:42-0700\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-19 23:51-0600\n"
"Last-Translator: Alex Henrie <alexhenrie24@gmail.com>\n"
"Language-Team: Catalan\n"
"Language: ca\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.8.6\n"
+"X-Generator: Poedit 1.8.7\n"
#: advice.c:55
#, c-format
@@ -32,7 +32,7 @@ msgstr ""
"'git add/rm <fitxer>' segons sigui apropiat per a marcar la\n"
"resoluciΓ³ i feu una comissiΓ³."
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "No heu conclΓ²s la vostra fusiΓ³ (MERGE_HEAD existeix)."
@@ -76,7 +76,7 @@ msgstr "format"
msgid "archive format"
msgstr "format d'arxiu"
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "prefix"
@@ -84,10 +84,10 @@ msgstr "prefix"
msgid "prepend prefix to each pathname in the archive"
msgstr "anteposa el prefix a cada nom de camΓ­ en l'arxiu"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536
-#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989
-#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446
-#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548
+#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989
+#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459
+#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561
#: builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "fitxer"
@@ -120,7 +120,7 @@ msgstr "comprimeix millor"
msgid "list supported archive formats"
msgstr "allista els formats d'arxiu admesos"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "dipΓ²sit"
@@ -128,7 +128,7 @@ msgstr "dipΓ²sit"
msgid "retrieve the archive from remote repository <repo>"
msgstr "recupera l'arxiu del dipΓ²sit remot <dipΓ²sit>"
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr "ordre"
@@ -136,7 +136,7 @@ msgstr "ordre"
msgid "path to the remote git-upload-archive command"
msgstr "camΓ­ a l'ordre git-upload-archive remota"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
@@ -144,90 +144,107 @@ msgstr ""
"Els patrons negatius s'ignoren en els atributs de git\n"
"Useu '\\!' per exclamaciΓ³ capdavantera literal."
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"DesprΓ©s de corregir la causa de l'error, podeu\n"
+"intentar corregir la informaciΓ³ de seguiment remot\n"
+"invocant \"git branch --set-upstream-to=%s%s%s\"."
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "No establint la branca %s com a la seva prΓ²pia font."
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr ""
"La branca %s estΓ  configurada per a seguir la branca remota %s de %s per "
"rebasar."
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr "La branca %s estΓ  configurada per a seguir la branca remota %s de %s."
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr ""
"La branca %s estΓ  configurada per a seguir la branca local %s per rebasar."
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "La branca %s estΓ  configurada per a seguir la branca local %s."
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr ""
"La branca %s està configurada per a seguir la referència remota %s per "
"rebasar."
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "La branca %s està configurada per a seguir la referència remota %s."
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr ""
"La branca %s està configurada per a seguir la referència local %s per "
"rebasar."
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "La branca %s està configurada per a seguir la referència local %s."
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "No es pot escriure la configuraciΓ³ de la branca font"
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr "No seguint: informació ambigua per a la referència %s"
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "'%s' no Γ©s un nom de branca vΓ lid."
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "Una branca amb nom '%s' ja existeix."
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "No es pot actualitzar la branca actual a la forΓ§a."
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr ""
"No es pot configurar la informaciΓ³ de seguiment; el punt inicial '%s' no Γ©s "
"una branca."
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "la branca font demanada '%s' no existeix"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -248,22 +265,22 @@ msgstr ""
"\"git push -u\" per a establir la configuraciΓ³ font\n"
"mentre pugeu."
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "No Γ©s un nom d'objecte vΓ lid: '%s'."
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "Nom d'objecte ambigu: '%s'."
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "No Γ©s un punt de ramificaciΓ³ vΓ lid: '%s'."
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "'%s' ja s'ha agafat a '%s'"
@@ -287,10 +304,10 @@ msgstr "no s'ha pogut obrir '%s'"
msgid "Repository lacks these prerequisite commits:"
msgstr "Al dipΓ²sit li manquen aquestes comissions prerequisits:"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "la configuraciΓ³ del passeig per revisions ha fallat"
@@ -329,7 +346,7 @@ msgstr "El rev-list s'ha mort"
msgid "ref '%s' is excluded by the rev-list options"
msgstr "les opcions de la llista de revisions exclouen la referència '%s'"
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "parΓ metre no reconegut: %s"
@@ -352,8 +369,8 @@ msgstr "L'index-pack s'ha mort"
msgid "invalid color value: %.*s"
msgstr "valor de color no vΓ lid: %.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "no s'ha pogut analitzar %s"
@@ -367,59 +384,64 @@ msgstr "%s %s no Γ©s una comissiΓ³!"
msgid "memory exhausted"
msgstr "memΓ²ria esgotada"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "lΓ­nia de fitxer de configuraciΓ³ dolenta %d en %s"
+msgid "bad config line %d in %s %s"
+msgstr "lΓ­nia de fitxer de configuraciΓ³ dolenta %d en %s %s"
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "valor de configuració numèrica dolent '%s' per '%s' en %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "valor de configuració numèrica dolent '%s' per '%s' en %s %s: %s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "valor de configuració numèrica dolent '%s' per '%s': %s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "s'ha fallat en expandir el directori d'usuari en '%s'"
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "nivell de compressiΓ³ de zlib dolent %d"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "mode de creaciΓ³ d'objecte no vΓ lid: %s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr "no s'ha pogut analitzar la configuraciΓ³ de la lΓ­nia d'ordres"
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr "ha ocorregut un error desconegut en llegir els fitxers de configuraciΓ³"
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr "no s'ha pogut analitzar '%s' de la configuraciΓ³ de la lΓ­nia d'ordres"
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr "variable de configuraciΓ³ dolenta '%s' en el fitxer '%s' a la lΓ­nia %d"
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s tΓ© mΓΊltiples valors"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "No s'ha pogut establir '%s' com a '%s'"
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "No s'ha pogut executar 'git rev-list'"
@@ -536,16 +558,16 @@ msgstr ""
"Errors trobats en la variable de configuraciΓ³ 'diff.dirstat':\n"
"%s"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "El diff external s'ha mort, aturant a %s"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow requereix exactament una especificaciΓ³ de camΓ­"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
@@ -554,18 +576,19 @@ msgstr ""
"S'ha fallat en analitzar el parΓ metre d'opciΓ³ de --dirstat/-X:\n"
"%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "S'ha fallat en analitzar el parΓ metre d'opciΓ³ de --submodule: %s"
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "s'ha fallat en obtenir el nombre i la informaciΓ³ del nucli"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "La memΓ²ria cau no seguida estΓ  deshabilitada en aquest sistema."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr ""
+"La memΓ²ria cau no seguida estΓ  inhabilitada en aquest sistema o ubicaciΓ³."
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -604,20 +627,20 @@ msgstr "'%s': %s"
msgid "'%s': short read %s"
msgstr "'%s': lectura curta %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr "ordres de git disponibles en '%s'"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr "ordres de git disponibles d'altres llocs en el vostre $PATH"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr "Aquestes sΓ³n ordres del Git comunament usades en diverses situacions:"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
@@ -626,11 +649,11 @@ msgstr ""
"'%s' sembla una ordre de git, perΓ² no hem pogut\n"
"executar-la. Pot ser que git-%s estigui estropejat?"
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr "Ai. El vostre sistema no informa de cap ordre de Git."
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -639,17 +662,17 @@ msgstr ""
"AVÍS: Heu invocat una ordre de Git amb nom '%s', la qual no existeix.\n"
"Continuant sota l'assumpciΓ³ que volΓ­eu dir '%s'"
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "en %0.1f segons automΓ ticament..."
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr "git: '%s' no Γ©s una ordre de git. Vegeu 'git --help'."
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -663,7 +686,7 @@ msgstr[1] ""
"\n"
"VolΓ­eu dir un d'aquests?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s: %s - %s"
@@ -672,8 +695,8 @@ msgstr "%s: %s - %s"
msgid "failed to read the cache"
msgstr "s'ha fallat en llegir la memΓ²ria cau"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "no s'ha pogut escriure un fitxer d'Γ­ndex nou"
@@ -691,64 +714,64 @@ msgstr "addinfo_cache ha fallat per al camΓ­ '%s'"
msgid "error building trees"
msgstr "error en construir arbres"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "s'ha fallat en crear el camΓ­ '%s' %s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr "Eliminant %s per a fer espai per al subdirectori\n"
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ": potser un conflicte D/F?"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "refusant perdre el fitxer no seguit a '%s'"
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "no es pot llegir l'objecte %s '%s'"
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "blob esperat per a %s '%s'"
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "s'ha fallat en obrir '%s'"
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "s'ha fallat en fer l'enllaΓ§ simbΓ²lic '%s'"
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "no se sap què fer amb %06o %s '%s'"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "S'ha fallat en executar la fusiΓ³ interna"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "no s'ha pogut afegir %s a la base de dades"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "tipus d'objecte no compatible en l'arbre"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -757,7 +780,7 @@ msgstr ""
"CONFLICTE: (%s/supressiΓ³): %s suprimit en %s i %s en %s. La versiΓ³ %s de %s "
"s'ha deixat en l'arbre."
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -766,20 +789,20 @@ msgstr ""
"CONFLICTE: (%s/supressiΓ³): %s suprimit en %s i %s en %s. La versiΓ³ %s de %s "
"s'ha deixat en l'arbre a %s."
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "canvia de nom"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "canviat de nom"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr "%s Γ©s un directori en %s; afegint com a %s en lloc"
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -788,147 +811,147 @@ msgstr ""
"CONFLICTE (canvi de nom/canvi de nom): Canvi de nom \"%s\"->\"%s\" en la "
"branca \"%s\" canvi de nom \"%s\"->\"%s\" en \"%s\"%s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr " (deixat sense resoluciΓ³)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
"CONFLICTE (canvi de nom/canvi de nom): Canvi de nom %s->%s en %s. Canvi de "
"nom %s->%s en %s"
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "Canviant el nom de %s a %s i %s a %s en lloc d'aixΓ²"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr ""
"CONFLICTE (canvi de nom/afegiment): Canvi de nom %s->%s en %s. %s afegit en "
"%s"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "Afegint %s fusionat"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "Afegint com a %s en lloc d'aixΓ²"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "no es pot llegir l'objecte %s"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "L'objecte %s no Γ©s un blob"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "modifica"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "modificat"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "contingut"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "afegiment/afegiment"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "%s saltat (el fusionat Γ©s igual a l'existent)"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "Autofusionant %s"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "submΓ²dul"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "CONFLICTE (%s): Conflicte de fusiΓ³ en %s"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "Eliminant %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "fitxer/directori"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "directori/fitxer"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr ""
"CONFLICTE (%s): Hi ha un directori amb nom %s en %s. Afegint %s com a %s"
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "Afegint %s"
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "Fallat de fusiΓ³ fatal; aixΓ² no ha de passar."
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "Ja al dia!"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "la fusiΓ³ dels arbres %s i %s ha fallat"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "CamΓ­ no processat??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "Fusionant:"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
msgstr[0] "s'ha trobat %u avantpassat:"
msgstr[1] "s'han trobat %u avantpassats:"
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "la fusiΓ³ no ha retornat cap comissiΓ³"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "No s'ha pogut analitzar l'objecte '%s'"
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "No s'ha pogut escriure l'Γ­ndex."
@@ -986,7 +1009,7 @@ msgstr "-NUM"
#: parse-options-cb.c:108
#, c-format
msgid "malformed object name '%s'"
-msgstr "nom d'objecte mal format '%s'"
+msgstr "nom de camp mal format '%s'"
#: path.c:752
#, c-format
@@ -1047,12 +1070,12 @@ msgid "%s: pathspec magic not supported by this command: %s"
msgstr ""
"%s: aquesta ordre no Γ©s compatible amb la mΓ gia d'especificaciΓ³ de camΓ­: %s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "l'especificaciΓ³ de camΓ­ '%s' Γ©s mΓ©s enllΓ  d'un enllaΓ§ simbΓ²lic"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1086,164 +1109,249 @@ msgstr ""
"GIT_INDEX_VERSION establert, perΓ² el valor no Γ©s vΓ lid.\n"
"Usant la versiΓ³ %i"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "No s'ha pogut obrir '%s' per a escriptura"
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "no s'ha pogut suprimir la referència %s: %s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "no s'ha pogut suprimir les referències: %s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "no s'ha pogut eliminar la referència %s"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "format: s'ha usat l'Γ tom %%(end) sense l'Γ tom corresponent"
+msgid "expected format: %%(color:<color>)"
+msgstr "format esperat: %%(color:<color>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "color no reconegut: %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "format no reconegut: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) no accepta parΓ metres"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) no accepta parΓ metres"
-#: ref-filter.c:704
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "valor positiu esperat contents:lines=%s"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "format esperat: %%(color:<color>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "parΓ metre %%(contents) no reconegut: %s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "no s'ha pogut analitzar el format"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "parΓ metre %%(objectname) no reconegut: %s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "format esperat: %%(align:<amplada>,<posiciΓ³>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "posiciΓ³ no reconeguda:%s"
+
+#: ref-filter.c:151
#, c-format
-msgid "improper format entered align:%s"
-msgstr "format impropi introduΓ―t align:%s"
+msgid "unrecognized width:%s"
+msgstr "amplada no reconeguda:%s"
-#: ref-filter.c:898
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "parΓ metre %%(align) no reconegut: %s"
+
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "amplada positiva esperada amb l'Γ tom %%(align)"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "nom d'objecte mal format: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "nom de camp desconegut: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "format: s'ha usat l'Γ tom %%(end) sense l'Γ tom corresponent"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "cadena de format mal format %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= requereix un parΓ metre enter positiu"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "la referència '%s' no té %ld components per a :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "format de %.*s desconegut %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "manca l'objecte %s per a %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer ha fallat en %s per a %s"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr "objecte mal format a '%s'"
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "ignorant la referència amb nom trencat %s"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "ignorant la referència trencada %s"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "format: manca l'Γ tom %%(end)"
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr "nom d'objecte %s mal format"
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr "No es pot obtenir ambdΓ³s %s i %s a %s"
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s generalment segueix %s, no %s"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s segueix ambdΓ³s %s i %s"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "Error intern"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEAD no assenyala cap branca"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "no hi ha tal branca: '%s'"
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "cap font configurada per a la branca '%s'"
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr "La branca font '%s' no s'emmagatzema com a branca amb seguiment remot"
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr ""
"el destΓ­ de pujada '%s' en el remot '%s' no tΓ© cap branca seguidora local"
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "la branca '%s' no tΓ© cap remot al qual pujar"
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr "les especificacions de referència de '%s' no inclouen '%s'"
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "push no tΓ© destΓ­ (push.default Γ©s 'nothing')"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr "no es pot resoldre una pujada 'simple' a un sol destΓ­"
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr "La vostra branca estΓ  basada en '%s', perΓ² la font no hi Γ©s.\n"
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr " (useu \"git branch --unset-upstream\" per a arreglar)\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "La vostra branca estΓ  al dia amb '%s'.\n"
-#: remote.c:2094
+#: remote.c:2084
#, 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] "La vostra branca estΓ  davant de '%s' per %d comissiΓ³.\n"
msgstr[1] "La vostra branca estΓ  davant de '%s' per %d comissions.\n"
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " (useu \"git push\" per a publicar les vostres comissions locals)\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1255,11 +1363,11 @@ msgstr[1] ""
"La vostra branca estΓ  darrere de '%s' per %d comissions, i pot avanΓ§ar-se "
"rΓ pidament.\n"
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr " (useu \"git pull\" per a actualitzar la vostra branca local)\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1274,28 +1382,28 @@ msgstr[1] ""
"La vostra branca i '%s' s'han divergit,\n"
"i tenen %d i %d comissions distintes cada una, respectivament.\n"
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr " (useu \"git pull\" per a fusionar la branca remota a la vostra)\n"
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "la vostra branca actual sembla trencada"
-#: revision.c:2196
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr "la vostra branca actual '%s' encara no tΓ© cap comissiΓ³"
-#: revision.c:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "--first-parent Γ©s incompatible amb --bisect"
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "s'ha fallat en obrir /dev/null"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "dup2(%d,%d) ha fallat"
@@ -1320,7 +1428,7 @@ msgstr ""
msgid "the receiving end does not support --atomic push"
msgstr "el destΓ­ receptor no admet pujar --atomic"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
@@ -1328,7 +1436,7 @@ msgstr ""
"desprΓ©s de resoldre els conflictes, marqueu els camins\n"
"corregits amb 'git add <camins>' o 'git rm <camins>'"
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1338,67 +1446,67 @@ msgstr ""
"corregits amb 'git add <camins>' o 'git rm <camins>'\n"
"i cometeu el resultat amb 'git commit'"
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "No s'ha pogut escriure a %s"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "Error en finalitzar %s"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr "Els vostres canvis locals se sobreescriurien pel recull de cireres."
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "Els vostres canvis locals se sobreescriurien per la reversiΓ³."
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr "Cometeu els vostres canvis o emmagatzemeu-los per a procedir."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%s: No s'ha pogut escriure un fitxer d'Γ­ndex nou"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "No s'ha pogut resoldre la comissiΓ³ HEAD\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "No s'ha pogut actualitzar l'arbre cau\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "No s'ha pogut analitzar la comissiΓ³ %s\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "No s'ha pogut analitzar la comissiΓ³ mare %s\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "El vostre fitxer d'Γ­ndex estΓ  sense fusionar."
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr "La comissiΓ³ %s Γ©s una fusiΓ³ perΓ² no s'ha donat cap opciΓ³ -m."
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "La comissiΓ³ %s no tΓ© mare %d"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr ""
@@ -1406,162 +1514,178 @@ msgstr ""
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%s: no es pot analitzar la comissiΓ³ mare %s"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "No es pot obtenir el missatge de comissiΓ³ de %s"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "no s'ha pogut revertir %s...%s"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "no s'ha pogut aplicar %s...%s"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "conjunt de comissions buit passat"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %s: s'ha fallat en llegir l'Γ­ndex"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %s: s'ha fallat en actualitzar l'Γ­ndex"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "No es pot %s durant un %s"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "No s'ha pogut analitzar la lΓ­nia %d."
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "Cap comissiΓ³ analitzada."
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "No s'ha pogut obrir %s"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "No s'ha pogut llegir %s."
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "Full d'instruccions inusable: %s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "Clau no vΓ lida: %s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "Valor no vΓ lid per a %s: %s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr "Full d'opcions mal format: %s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "un recull de cireres o una reversiΓ³ ja estΓ  en curs"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "intenteu \"git cherry-pick (--continue | --quit | --abort)\""
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "No s'ha pogut crear el directori de seqΓΌenciador %s"
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "Error en finalitzar %s."
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "ni hi ha cap recull de cireres ni cap reversiΓ³ en curs"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "no es pot resoldre HEAD"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "no es pot avortar des d'una branca que encara ha de nΓ ixer"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "no es pot obrir %s: %s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "no es pot llegir %s: %s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "final de fitxer inesperat"
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr "el fitxer HEAD emmagatzemat abans del recull de cireres '%s' és malmès"
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "No s'ha pogut formatar %s."
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%s: no es pot recollir com a cirera un %s"
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%s: revisiΓ³ dolenta"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "No es pot revertir com a comissiΓ³ inicial"
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr "No es pot recollir cireres en un cap buit"
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "s'ha fallat en llegir %s"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "desplaΓ§ament abans de la fi del fitxer de paquet (.idx trencat?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr ""
+"desplaΓ§ament abans d'inici d'Γ­ndex de paquet per a %s (Γ­ndex corromput?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr ""
+"desplaΓ§ament mΓ©s enllΓ  de la fi d'Γ­ndex de paquet per a %s (Γ­ndex truncat?)"
+
+#: sha1_name.c:462
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"
@@ -1585,62 +1709,86 @@ msgstr ""
"suprimiu-les. Desactiveu aquest missatge executant\n"
"\"git config advice.objectNameWarning false\""
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
"No es pot canviar un .gitmodules no fusionat, primer resoldreu els "
"conflictes de fusiΓ³"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "No s'ha pogut trobar la secciΓ³ en .gitmodules on path=%s"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr "No s'ha pogut actualitzar l'entrada de .gitmodules %s"
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "No s'ha pogut eliminar l'entrada de .gitmodules per a %s"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "L'allistament del .gitmodules actualitzat ha fallat"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "No s'ha pogut establir core.worktree en %s"
+msgid "running trailer command '%s' failed"
+msgstr "l'execuciΓ³ de l'ordre de remolc '%s' ha fallat"
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "valor desconegut '%s' per a la clau '%s'"
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "mΓ©s d'un %s"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "fitxa de remolc buida en el remolc '%.*s'"
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "no s'ha pogut llegir el fitxer d'entrada '%s'"
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "No s'ha pogut llegir des d'stdin"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "no s'ha pogut fer stat a %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "el fitxer %s no Γ©s un fitxer regular"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "el fitxer %s no Γ©s gravable per l'usuari"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "no s'ha pogut obrir el fitxer temporal"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "no s'ha pogut canviar el nom del fitxer temporal a %s"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "No s'ha pogut llegir la referència %s"
@@ -1678,47 +1826,47 @@ msgstr "nΓΊmero de port no vΓ lid"
msgid "invalid '..' path segment"
msgstr "segment de camΓ­ '..' no vΓ lid"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "no s'ha pogut obrir '%s' per a lectura i escriptura"
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "no s'ha pogut obrir '%s' per a escriptura"
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "no s'ha pogut obrir '%s' per a lectura"
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "no s'ha pogut accedir a '%s': %s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "no s'ha pogut accedir a '%s'"
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "no s'ha pogut obtenir el directori de treball actual"
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "no s'ha pogut obrir '%s' per a escriptura"
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "no s'ha pogut escriure a %s"
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "no s'ha pogut tancar %s"
@@ -2189,7 +2337,11 @@ msgstr "no hi Γ©s"
msgid "behind "
msgstr "darrere "
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "davant per "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "s'ha fallat en desenllaΓ§ar '%s'"
@@ -2216,7 +2368,7 @@ msgstr "elimina '%s'\n"
msgid "Unstaged changes after refreshing the index:"
msgstr "Canvis no allistats desprΓ©s d'actualitzar l'Γ­ndex:"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "No s'ha pogut llegir l'Γ­ndex"
@@ -2252,15 +2404,15 @@ msgid "The following paths are ignored by one of your .gitignore files:\n"
msgstr ""
"Els camins segΓΌents s'ignoren per un dels vostres fitxers .gitignore:\n"
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "marxa en sec"
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "sigues detallat"
@@ -2268,7 +2420,7 @@ msgstr "sigues detallat"
msgid "interactive picking"
msgstr "recull interactiu"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "selecciona els trossos interactivament"
@@ -2337,139 +2489,134 @@ msgstr "Res especificat, res afegit.\n"
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "Potser volΓ­eu dir 'git add .'?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "fitxer d'índex malmès"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "no s'ha pogut escriure un fitxer d'Γ­ndex nou"
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "no s'ha pogut fer stat a '%s'"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "no s'ha pogut llegir '%s'"
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "no s'ha pogut analitzar l'script d'autor"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "s'ha suprimit '%s' per el ganxo applypatch-msg"
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr "LΓ­nia d'entrada mal formada: '%s'."
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "S'ha fallat en copiar les notes de '%s' a '%s'"
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "fseek ha fallat"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "no s'ha pogut obrir '%s' per a lectura: %s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "no s'ha pogut obrir '%s' per a escriptura: %s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "no s'ha pogut analitzar el pedaΓ§ '%s'"
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr "només una sèrie de pedaços StGIT es pot aplicar a la vegada"
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "marca de temps no vΓ lida"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "lΓ­nia Date no vΓ lida"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "desplaΓ§ament de zona de temps no vΓ lid"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "La detecciΓ³ de format de pedaΓ§ ha fallat."
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "s'ha fallat en crear el directori '%s'"
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "S'ha fallat en dividir els pedaΓ§os."
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "no s'ha pogut escriure el fitxer d'Γ­ndex"
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr "Quan hΓ giu resolt aquest problema, executeu \"%s --continue\"."
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr "Si preferiu saltar aquest pedaΓ§, executeu \"%s --skip\" en lloc."
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr ""
"Per a restaurar la branca original i deixar d'apedaΓ§ar, executeu \"%s --abort"
"\"."
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "El pedaΓ§ Γ©s buit. S'ha dividit malament?"
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "lΓ­nia d'identitat no vΓ lida: %s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "no s'ha pogut analitzar la comissiΓ³ %s"
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr ""
"Al dipΓ²sit li manquen els blobs necessaris per a retrocedir a una fusiΓ³ de 3 "
"vies."
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr "Usant la informaciΓ³ d'Γ­ndex per a reconstruir un arbre base..."
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
@@ -2477,38 +2624,38 @@ msgstr ""
"Heu editat el vostre pedaΓ§ a mΓ ?\n"
"No s'aplica als blobs recordats en el seu Γ­ndex."
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr "Retrocedint a apedaΓ§ar la base i fusionar de 3 vies..."
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "S'ha fallat en fusionar els canvis."
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "git write-tree ha fallat en escriure un arbre"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "aplicant a una histΓ²ria buida"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "s'ha fallat en escriure l'objecte de comissiΓ³"
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "no es pot reprendre: %s no existeix."
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr ""
"no es pot ser interactiu sense que stdin sigui connectat a un terminal."
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "El cos de la comissiΓ³ Γ©s:"
@@ -2516,37 +2663,37 @@ msgstr "El cos de la comissiΓ³ Γ©s:"
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr ""
"Voleu aplicar-lo? [y]es/[n]o/[e]dita/[v]isualitza el pedaΓ§/[a]ccepta'ls "
"tots: "
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "Índex brut: no es pot aplicar pedaços (bruts: %s)"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "Aplicant: %.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "Sense canvis -- El pedaΓ§ ja s'ha aplicat."
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "El pedaΓ§ ha fallat a %s %.*s"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "La cΓ²pia del pedaΓ§ que ha fallat es troba en: %s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
@@ -2556,7 +2703,7 @@ msgstr ""
"Si no hi ha res a allistar, probablement alguna altra cosa\n"
"ja ha introduΓ―t els mateixos canvis; potser voleu ometre aquest pedaΓ§."
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
@@ -2564,17 +2711,17 @@ msgstr ""
"Encara teniu camins sense fusionar en el vostre Γ­ndex.\n"
"Heu oblidat d'usar 'git add'?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "No s'ha pogut analitzar l'objecte '%s'."
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "s'ha fallat en netejar l'Γ­ndex"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
@@ -2582,154 +2729,154 @@ msgstr ""
"Sembla que heu mogut HEAD desprΓ©s de l'ΓΊltima fallada de 'am'.\n"
"No rebobinant a ORIG_HEAD"
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "Valor no vΓ lid per a --patch-format: %s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<opcions>] [(<bΓΊstia>|<directori-de-correu>)...]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<opcions>] (--continue | --skip | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "executa interactivament"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "opciΓ³ histΓ²rica -- no-op"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "permet retrocedir a una fusiΓ³ de 3 vies si Γ©s necessari"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "calla"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr "afegeix una lΓ­nia Signed-off-by al missatge de comissiΓ³"
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "recodifica en utf8 (per defecte)"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "passa la bandera -k al git-mailinfo"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "passa la bandera -b al git-mailinfo"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "passa la bandera -m al git-mailinfo"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr "passa la bandera --keep-cr al git-mailsplit pel format mbox"
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr ""
"no passis la bandera --keep-cr al git-mailsplit independent de am.keepcr"
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "despulla tot abans d'una lΓ­nia de tissores"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "acciΓ³"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "passa-ho a travΓ©s del git-apply"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "arrel"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "camΓ­"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185
#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
#: parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "n"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "nΓΊmero"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "format"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "el format en el qual estan els pedaΓ§os"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr ""
"passa per alt el missatge d'error quan s'ocorre una fallada en apedaΓ§ar"
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "segueix aplicant pedaΓ§os desprΓ©s de resoldre un conflicte"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr "sinΓ²nims de --continue"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "salta el pedaΓ§ actual"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr "restaura la branca original i avorta l'operaciΓ³ d'apedaΓ§ament."
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "menteix sobre la data del comitent"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "usa el marc de temps actual per la data d'autor"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr "ID de clau"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "firma les comissions amb GPG"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "(ΓΊs intern per al git-rebase)"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
@@ -2737,18 +2884,18 @@ msgstr ""
"Fa molt que l'opciΓ³ -b/--binary no ha fet res, i\n"
"s'eliminarΓ . Si us plau, no l'useu mΓ©s."
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "s'ha fallat en llegir l'Γ­ndex"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr ""
"un directori de rebasament anterior %s encara existeix perΓ² s'ha donat una "
"bΓΊstia."
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
@@ -2757,7 +2904,7 @@ msgstr ""
"Directori %s extraviat trobat.\n"
"Useu \"git am --abort\" per a eliminar-lo."
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr "OperaciΓ³ de resoluciΓ³ no en curs; no reprenem."
@@ -3108,135 +3255,135 @@ msgstr "entrada no reconeguda"
msgid "unable to read index file"
msgstr "no es pot llegir el fitxer d'Γ­ndex"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "no apliquis els canvis que coincideixin amb el camΓ­ donat"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "aplica els canvis que coincideixin amb el camΓ­ donat"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr ""
"elimina <nombre> barres obliqües inicials dels camins de diferència "
"tradicionals"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "ignora afegiments fets pel pedaΓ§"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr ""
"en lloc d'aplicar el pedaç, emet les estadístiques de diferència de l'entrada"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr "mostra el nombre de lΓ­nies afegides i suprimides en notaciΓ³ decimal"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr "en lloc d'aplicar el pedaΓ§, emet un resum de l'entrada"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr "en lloc d'aplicar el pedaΓ§, veges si el pedaΓ§ Γ©s aplicable"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr "assegura que el pedaΓ§ sigui aplicable a l'Γ­ndex actual"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "aplica un pedaΓ§ sense tocar l'arbre de treball"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr "accepta un pedaΓ§ que toqui fora de l'Γ rea de treball"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr "aplica el pedaΓ§ tambΓ© (useu amb --stat/--summary/--check)"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr "intenta una fusiΓ³ de tres vies si el pedaΓ§ no s'aplica"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr "construeix un Γ­ndex temporal basat en la informaciΓ³ d'Γ­ndex incrustada"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr "els camins se separen amb el carΓ cter NUL"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr "assegura't que almenys <n> lΓ­nies de context coincideixin"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr ""
"detecta les lΓ­nies noves o modificades que tinguin errors d'espai en blanc"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "ignora els canvis d'espai en blanc en cercar context"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "aplica el pedaΓ§ al revΓ©s"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "no esperis almenys una lΓ­nia de context"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr "deixa els trossos rebutjats en fitxers *.reg coresspondents"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "permet trossos encavalcants"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr "tolera una lΓ­nia nova incorrectament detectada al final del fitxer"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr "no confiΓ―s en els recomptes de lΓ­nia en les capΓ§aleres dels trossos"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "anteposa <arrel> a tots els noms de fitxer"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr "--3way fora d'un dipΓ²sit"
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr "--index fora d'un dipΓ²sit"
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr "--cached fora d'un dipΓ²sit"
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "no es pot obrir el pedaΓ§ '%s'"
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
msgstr[0] "%d error d'espai en blanc omès"
msgstr[1] "%d errors d'espai en blanc omesos"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3290,109 +3437,117 @@ msgstr "realitza 'git bisect next'"
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr "actualitza BISECT_HEAD en lloc d'agafar la comissiΓ³ actual"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<opcions>] [<opcions-de-revisiΓ³>] [<revisiΓ³>] [--] fitxer"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "es documenten les <opcions-de-revisiΓ³> en git-rev-list(1)"
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "Culpant les lΓ­nies"
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
msgstr "Mostra les entrades de culpa mentre les trobem, incrementalment"
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr ""
"Mostra un SHA-1 en blanc per les comissions de frontera (Per defecte: "
"desactivat)"
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr ""
"No tractis les comissions d'arrel com a lΓ­mits (Per defecte: desactivat)"
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "Mostra les estadΓ­stiques de preu de treball"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "ForΓ§a l'informe de progrΓ©s"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr "Mostra la puntuaciΓ³ de sortida de les entrades de culpa"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "Mostra el nom de fitxer original (Per defecte: automΓ tic)"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "Mostra el nΓΊmero de lΓ­nia original (Per defecte: desactivat)"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "Presenta en un format dissenyat per consumpciΓ³ per mΓ quina"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr "Mostra el format de porcellana amb informaciΓ³ de comissiΓ³ per lΓ­nia"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr ""
"Usa el mateix mode de sortida que git-annotate (Per defecte: desactivat)"
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "Mostra la marca de temps crua (Per defecte: desactivat)"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "Mostra l'SHA1 de comissiΓ³ llarg (Per defecte: desactivat)"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr "Omet el nom d'autor i la marca de temps (Per defecte: desactivat)"
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr ""
"Mostra l'adreΓ§a de correu electrΓ²nic de l'autor en lloc del nom (Per "
"defecte: desactivat)"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "Ignora les diferències d'espai en blanc"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr "Gasta cicles extres per a trobar una coincidència millor"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr "Usa les revisions de <fitxer> en lloc d'invocar git-rev-list"
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "Usa els continguts de <fitxer> com a la imatge final"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "puntuaciΓ³"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "Troba cΓ²pies de lΓ­nia dins i a travΓ©s dels fitxers"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "Troba moviments de lΓ­nia dins i a travΓ©s dels fitxers"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "n,m"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr "Processa nomΓ©s el rang de lΓ­nies n,m, comptant des d'1"
@@ -3402,7 +3557,7 @@ msgstr "Processa nomΓ©s el rang de lΓ­nies n,m, comptant des d'1"
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "fa 4 anys i 11 mesos"
@@ -3604,196 +3759,196 @@ msgstr ""
"La branca estΓ  canviada de nom, perΓ² l'actualitzaciΓ³ del fitxer de "
"configuraciΓ³ ha fallat"
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "no s'ha pogut escriure la plantilla de descripciΓ³ de branca: %s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "Opcions genèriques"
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr "mostra el hash i l'assumpte, doneu dues vegades per la branca font"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "omet els missatges informatius"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "configura el mode de seguiment (vegeu git-pull(1))"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "canvia la informaciΓ³ de font"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "usa sortida colorada"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "actua en branques amb seguiment remot"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "imprimeix nomΓ©s les branques que continguin la comissiΓ³"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "Accions de git-branch especΓ­fiques:"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "llista les branques amb seguiment remot i les locals"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "suprimeix la branca si estΓ  completament fusionada"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "suprimeix la branca (encara que no estigui fusionada)"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "mou/canvia de nom una branca i el seu registre de referència"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr "mou/canvia de nom una branca, encara que el destΓ­ existeixi"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "llista els noms de branca"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "crea el registre de referència de la branca"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "edita la descripciΓ³ de la branca"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "forΓ§a creaciΓ³, moviment/canvi de nom, supressiΓ³"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "imprimeix nomΓ©s les branques que s'han fusionat"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "imprimeix nomΓ©s les branques que no s'han fusionat"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "llista les branques en columnes"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "clau"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "nom del camp en el qual ordenar"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "objecte"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "imprimeix nomΓ©s les branques de l'objecte"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "S'ha fallat en resoldre HEAD com a referència vàlida."
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "HEAD no trobat sota refs/heads!"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "--column i --verbose sΓ³n incompatibles"
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "cal el nom de branca"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr "No es pot donar descripciΓ³ a un HEAD separat"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "no es pot editar la descripciΓ³ de mΓ©s d'una branca"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "Encara no hi ha comissiΓ³ en la branca '%s'."
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "No hi ha branca amb nom '%s'."
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "hi ha massa branques per a una operaciΓ³ de canvi de nom"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "hi ha massa branques per a establir una nova font"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
msgstr ""
"no s'ha pogut establir la font de HEAD com a %s quan no assenyala cap branca."
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "no hi ha tal branca '%s'"
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "la branca '%s' no existeix"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr "hi ha massa branques per a desestablir la font"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr ""
"no s'ha pogut desestablir la font de HEAD perquè no assenyala cap branca."
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "La branca '%s' no tΓ© informaciΓ³ de font"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "no tΓ© sentit crear 'HEAD' manualment"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr ""
"les opcions -a i -r a 'git branch' no tenen sentit amb un nom de branca"
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3802,7 +3957,7 @@ msgstr ""
"La bandera --set-upstream estΓ  desaprovada i s'eliminarΓ . Considereu usar --"
"track o --set-upstream-to\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3813,12 +3968,12 @@ msgstr ""
"Si volΓ­eu fer '%s' seguir '%s', feu aixΓ²:\n"
"\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr " git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -3914,7 +4069,7 @@ msgstr "informa de tots els atributs establerts en el fitxer"
msgid "use .gitattributes only from the index"
msgstr "usa .gitattributes nomΓ©s des de l'Γ­ndex"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "llegeix els noms de fitxer d'stdin"
@@ -3922,7 +4077,7 @@ msgstr "llegeix els noms de fitxer d'stdin"
msgid "terminate input and output records by a NUL character"
msgstr "acaba els registres d'entrada i de sortida amb un carΓ cter NUL"
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "omet el reportatge de progrΓ©s"
@@ -3975,49 +4130,53 @@ msgstr "no s'ha pogut analitzar el contacte: %s"
msgid "no contacts specified"
msgstr "no hi ha contactes especificats"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<opcions>] [--] [<fitxer>...]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "l'etapa ha de ser entre 1 i 3 o all"
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "agafa tots els fitxers en l'Γ­ndex"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "forΓ§a la sobreescriptura de fitxers existents"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr "cap avΓ­s per a fitxers existents i fitxers no en l'Γ­ndex"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "no agafis fitxers nous"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "actualitza la informaciΓ³ d'estadΓ­stiques en el fitxer d'Γ­ndex"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "llegeix la llista de camins des de l'entrada estΓ ndard"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "escriu el contingut a fitxers temporals"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "cadena"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr "en crear fitxers, anteposa <cadena>"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "copia els fitxers des de l'etapa anomenada"
@@ -4098,37 +4257,41 @@ msgstr "No es pot fer reflog per a '%s': %s\n"
msgid "HEAD is now at"
msgstr "HEAD ara Γ©s a"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "no s'ha pogut actualitzar HEAD"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "Restableix la branca '%s'\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "Ja en '%s'\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "S'ha agafat i restablert la branca '%s'\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "S'ha agafat la branca nova '%s'\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "S'ha agafat la branca '%s'\n"
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " ... i %d mΓ©s.\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4151,7 +4314,7 @@ msgstr[1] ""
"\n"
"%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4178,150 +4341,150 @@ msgstr[1] ""
" git branch <nom-de-branca-nova> %s\n"
"\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "error intern en el passeig per revisions"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "La posiciΓ³ de HEAD anterior era"
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "Sou en una branca que encara ha de nΓ ixer"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "només una referència esperada, %d donades."
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "referència no vàlida: %s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "la referència no és un arbre: %s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "els camins no es poden usar amb canvi de branca"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr "'%s' no es pot usar amb canvi de branca"
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "'%s' no es pot usar amb '%s'"
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr "No es pot canviar la branca a la no comissiΓ³ '%s'"
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "branca"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "crea i agafa una branca nova"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "crea/restableix i agafa una branca"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "crea un registre de referència per a la branca nova"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "separa el HEAD a la comissiΓ³ anomenada"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "estableix la informaciΓ³ de font de la branca nova"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "branca-nova"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "branca Γ²rfena nova"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr "agafa la versiΓ³ nostra dels fitxers sense fusionar"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr "agafa la versiΓ³ seva dels fitxers sense fusionar"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "agafa a la forΓ§a (descarta qualsevulla modificaciΓ³ local)"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "realitza una fusiΓ³ de 3 vies amb la branca nova"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "actualitza els fitxers ignorats (per defecte)"
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "estil"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr "estil de conflicte (fusiΓ³ o diff3)"
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr "no limitis les especificacions de camΓ­ nomΓ©s a entrades disperses"
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "dubta 'git checkout <cap-branca-aixΓ­>'"
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr "no comprovis si altre arbre de treball té la referència donada"
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "forΓ§a l'informe de progrΓ©s"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "-b, -B i --orphan sΓ³n mutualment exclusius"
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "--track necessita un nom de branca"
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "Manca el nom de branca; proveu -b"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "especificaciΓ³ de camΓ­ no vΓ lida"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4330,12 +4493,12 @@ msgstr ""
"No es poden actualitzar els camins i canviar a la branca '%s' a la vegada.\n"
"VolΓ­eu agafar '%s', la qual no es pot resoldre com a comissiΓ³?"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr "git checkout: --detach no accepta un parΓ metre de camΓ­ '%s'"
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4374,7 +4537,7 @@ msgstr "Saltaria el dipΓ²sit %s\n"
msgid "failed to remove %s"
msgstr "s'ha fallat en eliminar %s"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4386,7 +4549,7 @@ msgstr ""
"foo - selecciona un Γ­tem basat en un prefix ΓΊnic\n"
" - (buit) no seleccionis res"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4406,36 +4569,36 @@ msgstr ""
"* - tria tots els Γ­tems\n"
" - (buit) finalitza la selecciΓ³"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "PerdΓ³ (%s)?"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "IntroduΓ―u els patrons a ignorar>> "
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "AVÍS: No es pot trobar ítems que coincideixin amb: %s"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "Selecciona els Γ­tems a suprimir"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "Voleu eliminar %s [y/N]? "
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "AdΓ©u."
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4453,62 +4616,62 @@ msgstr ""
"help - aquesta pantalla\n"
"? - ajuda de selecciΓ³ de l'avΓ­s"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr "*** Ordres ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "I ara què"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] "Eliminaria l'Γ­tem segΓΌent:"
msgstr[1] "Eliminaria els Γ­tems segΓΌents:"
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "No hi ha mΓ©s fitxers a netejar; sortint."
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "no imprimeixis els noms dels fitxers eliminats"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "forΓ§a"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "neteja interactiva"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "elimina directoris sencers"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "patrΓ³"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "afegiu <patrΓ³> per a ignorar les regles"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "elimina els fitxers ignorats, tambΓ©"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "elimina nomΓ©s els fitxers ignorats"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "-x i -X no es poden usar junts"
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
@@ -4516,7 +4679,7 @@ msgstr ""
"clean.requireForce estΓ  establerta a veritat i ni -i, -n ni -f s'ha donat; "
"refusant netejar"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4528,146 +4691,162 @@ msgstr ""
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<opcions>] [--] <dipΓ²sit> [<directori>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "no facis cap agafament"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "crea un dipΓ²sit nu"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "crea un dipΓ²sit reflectit (implica bare)"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "per a clonar des d'un dipΓ²sit local"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "no usis enllaΓ§os durs locals, sempre copia"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "configura com a dipΓ²sit compartit"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "inicialitza els submΓ²duls en el clon"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "directori-de-plantilla"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "directori del qual les plantilles s'usaran"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "dipòsit de referència"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "usa --reference nomΓ©s en clonar"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "nom"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "usa <nom> en lloc de 'origin' per a seguir la font"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "agafa <branca> en lloc del HEAD del remot"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "camΓ­ a git-upload-pack en el remot"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193
msgid "depth"
msgstr "profunditat"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr "crea un clon superficial de tal profunditat"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "clona nomΓ©s una branca, HEAD o --branch"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr "directori de git"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "separa el directori de git de l'arbre de treball"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "clau=valor"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "estableix la configuraciΓ³ dins del dipΓ²sit nou"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "usa nomΓ©s les adreces IPv4"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "usa nomΓ©s les adreces IPv6"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"No s'ha pogut endevinar cap nom de directori.\n"
+"Si us plau, especifiqueu un directori en la lΓ­nia d'ordres"
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
msgstr ""
"Encara no se suporta el dipòsit de referència '%s' com a agafament enllaçat."
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr "el dipòsit de referència '%s' no és un dipòsit local."
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr "el dipòsit de referència '%s' és superficial"
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr "el dipòsit de referència '%s' és empeltat"
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "s'ha fallat en fer stat a '%s'"
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "%s existeix i no Γ©s directori"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "s'ha fallat en fer stat a '%s'\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "s'ha fallat en crear l'enllaΓ§ '%s'"
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "s'ha fallat en copiar el fitxer a '%s'"
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "fet.\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
@@ -4678,119 +4857,128 @@ msgstr ""
"'git status' i tornar a intentar l'agafament amb\n"
"'git checkout -f HEAD'\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "No s'ha pogut trobar la branca remota %s per a clonar."
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "Provant connectivitat... "
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "el remot no ha enviat tots els objectes necessaris"
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "no s'ha pogut actualizar %s"
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr ""
"el HEAD remot es refereix a una referència que no existeix; no s'ha pogut "
"agafar.\n"
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "no s'ha pogut agafar l'arbre de treball"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "no s'ha pogut escriure les parΓ metres al fitxer de configuraciΓ³"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "no es pot reempaquetar per a netejar"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "no es pot desenllaΓ§ar el fitxer d'alternatives temporal"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "Hi ha massa parΓ metres."
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "Heu d'especificar un dipΓ²sit per a clonar."
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "les opcions --bare i --origin %s sΓ³n incompatibles."
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "--bare i --separate-git-dir sΓ³n incompatibles."
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "el dipΓ²sit '%s' no existeix"
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "la profunditat %s no Γ©s nombre positiu"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr "el camΓ­ destΓ­ '%s' ja existeix i no Γ©s un directori buit."
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "l'arbre de treball '%s' ja existeix."
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr "no s'ha pogut crear els directoris inicials de '%s'"
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr "no s'ha pogut crear el directori d'arbre de treball '%s'"
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "Clonant al dipΓ²sit nu '%s'...\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "Clonant a '%s'...\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
msgstr "--depth s'ignora en els clons locals; useu file:// en lloc d'aixΓ²."
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr "el dipΓ²sit font Γ©s superficial, ignorant --local"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local s'ignora"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "No se sap com clonar %s"
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr "La branca remota %s no es troba en la font %s"
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "Sembla que heu clonat un dipΓ²sit buit."
@@ -5004,7 +5192,7 @@ msgstr ""
msgid "could not lookup commit %s"
msgstr "no s'ha pogut trobar la comissiΓ³ %s"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "(llegint el missatge de registre des de l'entrada estΓ ndard)\n"
@@ -5191,8 +5379,8 @@ msgstr "mostra l'estat concisament"
msgid "show branch information"
msgstr "mostra la informaciΓ³ de branca"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "sortida llegible per mΓ quina"
@@ -5283,8 +5471,8 @@ msgstr "data"
msgid "override date for commit"
msgstr "data corregida de la comissiΓ³"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "missatge"
@@ -5321,7 +5509,7 @@ msgstr ""
msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr "l'autor de la comissiΓ³ ja sΓ³c jo (s'usa amb -C/-c/--amend)"
-#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "afegeix Signed-off-by:"
@@ -5345,7 +5533,7 @@ msgstr "com despullar els espais i #comentaris del missatge"
msgid "include status in commit message template"
msgstr "inclou l'estat en la plantilla de missatge de comissiΓ³"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "firma la comissiΓ³ amb GPG"
@@ -5437,140 +5625,146 @@ msgstr ""
"que la quota no estigui excedida, i desprΓ©s\n"
"\"git reset HEAD\" per a recuperar."
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<opcions>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "UbicaciΓ³ del fitxer de configuraciΓ³"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "usa el fitxer de configuraciΓ³ global"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "usa el fitxer de configuraciΓ³ del sistema"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "usa el fitxer de configuraciΓ³ del dipΓ²sit"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "usa el fitxer de configuraciΓ³ donat"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "ID de blob"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "llegeix la configuraciΓ³ de l'objecte de blob donat"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "AcciΓ³"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "obtΓ©n valor: nom [regex-de-valors]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "obtΓ©n tots els valors: clau [regex-de-valors]"
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr "obtΓ©n valors de regexp: regex-de-noms [regex-de-valors]"
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr "obtΓ©n el valor especΓ­fic per a l'URL: secciΓ³[.variable] URL"
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr ""
"reemplaΓ§a totes les variables que coincideixen: nom valor [regex_de_valors]"
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "afegeix una variable nova: nom valor"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "elimina una variable: nom [regex-de-valors]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "elimina totes les coincidències: nom [regex-de-valors]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "canvia el nom de secciΓ³: nom-antic nom-nou"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "elimina una secciΓ³: nom"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "llista tots"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "obre un editor"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "troba el color configurat: ranura [per defecte]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "troba l'ajust de color: ranura [stdout-Γ©s-tty]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "Tipus"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "el valor Γ©s \"true\" o \"false\""
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "el valor Γ©s un nombre decimal"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "el valor Γ©s --bool o --int"
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr "el valor Γ©s un camΓ­ (nom de fitxer o directori)"
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr "Altre"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "acaba els valors amb un octet NUL"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "mostra nomΓ©s els noms de variable"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "respecta les directives d'inclusiΓ³ en cercar"
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr ""
+"mostra l'origen de la configuraciΓ³ (fitxer, entrada estΓ ndar, blob, lΓ­nia "
+"d'ordres)"
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr "no s'ha pogut analitzar el valor de color per defecte"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5585,7 +5779,7 @@ msgstr ""
"#\tname = %s\n"
"#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "no es pot crear el fitxer de configuraciΓ³ '%s'"
@@ -5835,162 +6029,166 @@ msgstr "git fetch --multiple [<opcions>] [(<dipΓ²sit> | <grup>)...]"
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<opcions>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "obtΓ©n de tots els remots"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "annexa a .git/FETCH_HEAD en lloc de sobreescriure"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "camΓ­ al qual pujar el paquet al costat remot"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "forΓ§a la sobreescriptura de la branca local"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "obtΓ©n de mΓΊltiples remots"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "obtΓ©n totes les etiquetes i tots els objectes associats"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "no obtinguis les etiquetes (--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "nombre de submΓ²duls obtinguts en paralΒ·lel"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr "poda les branques amb seguiment remot que ja no estiguin en el remot"
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "sota demanda"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "controla l'obtenciΓ³ recursiva de submΓ²duls"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "retΓ©n el paquet baixat"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "permet l'actualització de la referència HEAD"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr "aprofundeix la histΓ²ria d'un clon superficial"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "converteix en un dipΓ²sit complet"
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr "directori"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "anteposa aixΓ² a la sortida de camΓ­ del submΓ²dul"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "mode de recursivitat per defecte"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr "accepta les referències que actualitzin .git/shallow"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "mapa de referències"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "mostra el mapa de referències d'obtenció"
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "No s'ha pogut trobar la referència HEAD remota"
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "objecte %s no trobat"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[al dia]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr "! %-*s %-*s -> %s (no es pot obtenir en la branca actual)"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[rebutjat]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[actualitzaciΓ³ d'etiqueta]"
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " (no s'ha pogut actualitzar la referència local)"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[etiqueta nova]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[branca nova]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[referència nova]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "no s'ha pogut actualitzar la referència local"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "actualitzaciΓ³ forΓ§ada"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "(sense avanΓ§ rΓ pid)"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "no es pot obrir %s: %s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr "%s no ha enviat tots els objectes necessaris\n"
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr ""
"rebutja %s perquè no es permet que les arrels superficials s'actualitzin"
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "De %.*s\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
@@ -6000,55 +6198,55 @@ msgstr ""
" intenteu executar 'git remote prune %s' per a eliminar\n"
" qualsevulla branca antiga o conflictiva"
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s es tornarΓ  penjant)"
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s s'ha tornat penjant)"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[suprimit]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(cap)"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr "Refusant obtenir en la branca actual %s d'un dipΓ²sit no nu"
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr "L'opciΓ³ \"%s\" amb valor \"%s\" no Γ©s vΓ lida per a %s"
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "S'ignora l'opciΓ³ \"%s\" per a %s\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "No se sap com obtenir de %s"
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "Obtenint %s\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "No s'ha pogut obtenir %s"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
@@ -6056,32 +6254,32 @@ msgstr ""
"Cap dipΓ²sit remot especificat. Si us plau, especifiqueu o un URL o\n"
"un nom remot del qual es deuen obtenir les revisions noves."
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "Necessiteu especificar un nom d'etiqueta."
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr "--depth i --unshallow no es poden usar junts"
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
msgstr "--unshallow en un dipΓ²sit complet no tΓ© sentit"
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "fetch --all no accepta un parΓ metre de dipΓ²sit"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr "fetch --all no té sentit amb especificacions de referència"
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "No hi ha tal remot ni tal grup remot: %s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr "Obtenir un grup i especificar referències no té sentit"
@@ -6308,228 +6506,242 @@ msgstr ""
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<opcions>] [-e] <patrΓ³> [<revisiΓ³>...] [[--] <camΓ­>...]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grep: s'ha fallat en crear fil: %s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "s'ha especificat un nombre de fils no vΓ lid (%d) per a %s"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "no s'ha pogut llegir l'arbre (%s)"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr "no es pot fer grep des d'un objecte de tipus %s"
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "l'opció `%c' espera un valor numèric"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "no es pot obrir '%s'"
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr "cerca en l'Γ­ndex en lloc de l'arbre de treball"
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "cerca en continguts no gestionats per git"
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "cerca tant en fitxers seguits com en no seguits"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "ignora els fitxers especificats mitjanΓ§ant '.gitignore'"
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "mostra les lΓ­nies no coincidents"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "coincidència insensible a majúscula i minúscula"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "coincideix amb els patrons nomΓ©s als lΓ­mits de paraula"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "processa els fitxers binaris com a text"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "no coincideixis amb els patrons en els fitxers binaris"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "processa els fitxers binaris amb filtres de textconv"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "descendeix com a mΓ xim <profunditat> nivells"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "usa les expressions regulars POSIX esteses"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "usa les expressions regulars POSIX bΓ siques (per defecte)"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "interpreta els patrons com a cadenes fixes"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "usa les expressions regulars compatibles amb Perl"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "mostra els nΓΊmeros de lΓ­nia"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "no mostris els noms de fitxer"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "mostra els noms de fitxer"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "mostra els noms de fitxer relatius al directori superior"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "mostra nomΓ©s els noms de fitxer en lloc de les lΓ­nies coincidents"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "sinΓ²nim de --files-with-matches"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "mostra només els noms dels fitxers sense coincidència"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "imprimeix NUL desprΓ©s dels noms de fitxer"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "mostra el nombre de coincidències en lloc de les línies coincidents"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "ressalta les coincidències"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr "imprimeix una línia buida entre coincidències de fitxers distints"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr ""
"mostra el nom de fitxer només una vegada a dalt de les coincidències del "
"mateix fitxer"
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "mostra <n> línies de context abans i després d'una coincidència"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "mostra <n> línies de context abans d'una coincidència"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "mostra <n> línies de context després d'una coincidència"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "usa <n> fils obrers"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "drecera per -C NUM"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr "mostra una línia amb el nom de funció abans de les coincidències"
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "mostra la funciΓ³ circumdant"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "llegeix els patrons des d'un fitxer"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "coincideix amb <patrΓ³>"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "combina els patrons especificats amb -e"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr "indica coincidència amb estat de sortida sense sortida textual"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr ""
"mostra només les coincidències dels fitxers que coincideixin amb tots els "
"patrons"
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "mostra l'arbre d'anΓ lisis de l'expressiΓ³ de grep"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "paginador"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "mostra els fitxers coincidents en el paginador"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "permet la invocaciΓ³ de grep(1) (ignorat per aquesta compilaciΓ³)"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "cap patrΓ³ donat."
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "s'ha especificat un nombre de fils no vΓ lid (%d)"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr "--open-files-in-pager nomΓ©s funciona en l'arbre de treball"
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
msgstr "--cached o --untracked no es pot usar amb --no-index."
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr "--no-index o --untracked no es pot usar amb revisions."
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr "--[no-]exclude-standard no es pot usar per als continguts seguits."
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "s'han donat ambdΓ³s --caches i arbres."
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
@@ -6537,38 +6749,38 @@ msgstr ""
"git hash-object [-t <tipus>] [-w] [--path=<fitxer> | --no-filters] [--stdin] "
"[--] <fitxer>..."
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "tipus"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "tipus d'objecte"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "escriu l'objecte a la base de dades d'objectes"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "llegeix l'objecte des d'stdin"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "emmagatzema el fitxer tal com Γ©s sense filtres"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr ""
"nomΓ©s suma qualsevulla brossa aleatΓ²ria per a crear objectes malmesos per a "
"depurar al Git"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "processa el fitxer com si fos d'aquest camΓ­"
@@ -6619,7 +6831,7 @@ msgstr "la versiΓ³ d'emacsclient '%d' Γ©s massa vella (< 22)."
msgid "failed to exec '%s': %s"
msgstr "s'ha fallat en executar '%s': %s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
@@ -6628,7 +6840,7 @@ msgstr ""
"'%s': camΓ­ a un visualitzador de manuals no compatible.\n"
"Si us plau, considereu usar 'man.<eina>.cmd' en lloc d'aixΓ²."
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
@@ -6637,61 +6849,61 @@ msgstr ""
"'%s': ordre per a un visualitzador de manuals compatible.\n"
"Si us plau, considereu usar 'man.<eina>.path' en lloc d'aixΓ²."
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "'%s': visualitzador de manuals desconegut"
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "cap visualitzador de manuals ha gestionat la solΒ·licitud"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "cap visualitzador d'informaciΓ³ ha gestionat la solΒ·licitud"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "La definiciΓ³ d'atributs per camΓ­"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr "Git quotidiΓ  amb mΓ©s o menys 20 ordres"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "Un glossari de Git"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "Especifica els fitxers intencionalment no seguits a ignorar"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "La definiciΓ³ de les propietats de submΓ²duls"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "L'especificaciΓ³ de revisions i rangs per al Git"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr "Una introducciΓ³ tutorial al Git (per a la versiΓ³ 1.5.1 o mΓ©s nou)"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "Una visiΓ³ de conjunt de fluxos de treball recomanats amb Git"
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "Les guies de Git comunes sΓ³n:\n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "ΓΊs: %s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "`git %s' Γ©s un Γ lies de `%s'"
@@ -6927,60 +7139,55 @@ msgstr "no es pot emmagatzemar el fitxer d'Γ­ndex"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "pack.indexversion=%<PRIu32> dolent"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "s'ha especificat un nombre de fils no vΓ lid (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "no hi ha suport de fils, ignorant %s"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "No es pot obrir el fitxer de paquet existent '%s'"
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr "No es pot obrir el fitxer d'Γ­ndex de paquets existent de '%s'"
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
msgstr[0] "sense delta: %d objecte"
msgstr[1] "sense delta: %d objectes"
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] "longitud de cadena = %d: %lu objecte"
msgstr[1] "longitud de cadena = %d: %lu objectes"
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "No es pot tornar al directori de treball actual"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "%s dolent"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "--fix-thin no es pot usar sense --stdin"
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr "el nom de fitxer de paquet '%s' no acaba amb '.pack'"
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "s'ha donat --verify sense nom de fitxer de paquet"
@@ -7106,24 +7313,32 @@ msgstr "No es pot accedir a l'arbre de treball '%s'"
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer <fitxa>[(=|:)<valor>])...] "
-"[<fitxer>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<fitxa>[(=|:)<valor>])...] [<fitxer>...]"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "edita els fitxers in situ"
+
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "escurΓ§a els remolcs buits"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "remolc"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "remolcs a afegir"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "no s'ha donat cap fitxer d'entrada per a ediciΓ³ in situ"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<opcions>] [<rang-de-revisions>] [[--] <camΓ­>...]"
@@ -7177,225 +7392,225 @@ msgstr "No es pot llegir l'objecte %s"
msgid "Unknown type: %d"
msgstr "Tipus desconegut: %d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "format.headers sense valor"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "el nom del directori de sortida Γ©s massa llarg"
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "No es pot obrir el fitxer de pedaΓ§ %s"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "Cal exactament un rang."
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "No Γ©s un rang."
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "La carta de presentaciΓ³ necessita el format de correu electrΓ²nic"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "in-reply-to boig: %s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<opcions>] [<des-de> | <rang-de-revisions>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "Dos directoris de sortida?"
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "usa [PATCH n/m] fins i tot amb un sol pedaΓ§"
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "usa [PATCH] fins i tot amb mΓΊltiples pedaΓ§os"
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "imprimeix els pedaΓ§os a la sortida estΓ ndard"
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "genera una carta de presentaciΓ³"
-#: builtin/log.c:1222
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr "usa una seqΓΌΓ¨ncia de nΓΊmeros per als noms dels fitxers de sortida"
-#: builtin/log.c:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr "sufix"
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "usa <sufix> en lloc de '.patch'"
-#: builtin/log.c:1226
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr "comenΓ§a numerant els pedaΓ§os a <n> en lloc d'1"
-#: builtin/log.c:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "marca la sèrie com a l'enèsima llançada"
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "Usa [<prefix>] en lloc de [PATCH]"
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "emmagatzema els fitxers resultants a <directori>"
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "no despullis/afegeixis [PATCH]"
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "no emetis diferències binàries"
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
msgstr "emet un hash de tots zeros en la capΓ§alera From"
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr "no incloguis pedaΓ§os que coincideixin amb comissions a la font"
-#: builtin/log.c:1245
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr ""
"mostra el format de pedaΓ§ en lloc del per defecte (pedaΓ§ + estadΓ­stiques)"
-#: builtin/log.c:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "Missatgeria"
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr "capΓ§alera"
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr "afegeix una capΓ§alera de correu electrΓ²nic"
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "correu electrΓ²nic"
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "afegeix la capΓ§alera To:"
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "afegeix la capΓ§alera Cc:"
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr "identitat"
-#: builtin/log.c:1255
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr ""
"estableix l'adreΓ§a From a <identitat> (o la identitat del comitent si manca)"
-#: builtin/log.c:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr "ID de missatge"
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "fes del primer missatge una resposta a <ID de missatge>"
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "lΓ­mit"
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "ajunta el pedaΓ§"
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "posa el pedaΓ§ en el cos"
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr "habilita l'enfilada de missatges, estils: shallow, deep"
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr "firma"
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "afegeix una firma"
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "afegeix una firma des d'un fitxer"
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "no imprimeixis els noms de fitxer del pedaΓ§"
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "-n i -k sΓ³n mutualment exclusius."
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "--subject-prefix i -k sΓ³n mutualment exclusius."
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "--name-only no tΓ© sentit"
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "--name-status no tΓ© sentit"
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "--check no tΓ© sentit"
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "sortida estΓ ndard o directori, quin dels dos?"
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "No s'ha pogut crear el directori '%s'"
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "no s'ha pogut llegir el fitxer de firma '%s'"
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "S'ha fallat en crear els fitxers de sortida"
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<font> [<cap> [<lΓ­mit>]]]"
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -7403,105 +7618,156 @@ msgstr ""
"No s'ha pogut trobar una branca remota seguida. Si us plau, especifiqueu "
"<font> manualment.\n"
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "ComissiΓ³ desconeguda %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<opcions>] [<fitxer>...]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "identifica l'estat de fitxer amb etiquetes"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr "usa lletres minΓΊscules per als fitxers 'assume unchanged'"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr ""
"mostra en la sortida els fitxers desats en la memΓ²ria cau (per defecte)"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "mostra en la sortida els fitxers suprimits"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "mostra en la sortida els fitxers modificats"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "mostra en la sortida els altres fitxers"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "mostra en la sortida els fitxers ignorats"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr "mostra en la sortida el nom d'objecte dels continguts allistats"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr "mostra els fitxers en el sistema de fitxers que s'han d'eliminar"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "mostra nomΓ©s els noms dels directoris 'other'"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "mostra els terminis de lΓ­nia dels fitxers"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "no mostris els directoris buits"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "mostra en la sortida els fitxers sense fusionar"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "mostra la informaciΓ³ de resoluciΓ³ de desfet"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "salta els fitxers coincidents amb el patrΓ³"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "els patrons d'exclusiΓ³ es llegeixen de <fitxer>"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "llegeix els patrons addicionals d'exclusiΓ³ per directori en <fitxer>"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "afegeix les exclusions estΓ ndards de git"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "fes que la sortida sigui relativa al directori superior del projecte"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "si qualsevol <fitxer> no Γ©s en l'Γ­ndex, tracta aixΓ² com a error"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "arbre"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr ""
"pretΓ©n que els camins eliminats desprΓ©s de <arbre> encara siguin presents"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "mostra les dades de depuraciΓ³"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs]\n"
+" [--upload-pack=<executable>] [-q | --quiet]\n"
+" [--exit-code] [--get-url] [--symref]\n"
+" [<dipòsit> [<referències>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "no imprimeixis l'URL remot"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "executable"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "camΓ­ a git-upload-pack en la mΓ quina remota"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "limita a etiquetes"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "limita a caps"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "no mostris les etiquetes pelades"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "tingues en compte url.<base>.insteadOf"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "surt amb codi de sortida 2 si no es troba cap referència coincident"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "mostra la referència subjacent en adició a l'objecte que senyali"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<opcions>] <arbre> [<camΓ­>...]"
@@ -7570,33 +7836,33 @@ msgstr "Les estratègies disponibles són:"
msgid "Available custom strategies are:"
msgstr "Les estratègies personalitzades disponibles són:"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr "no mostris les estadístiques de diferència al final de la fusió"
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "mostra les estadístiques de diferència al final de la fusió"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "(sinΓ²nim de --stat)"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr ""
"afegeix (com a mΓ xim <n>) entrades del registre curt al missatge de comissiΓ³ "
"de fusiΓ³"
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr "crea una ΓΊnica comissiΓ³ en lloc de fusionar"
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "realitza una comissiΓ³ si la fusiΓ³ tΓ© Γ¨xit (per defecte)"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "edita el missatge abans de cometre"
@@ -7604,7 +7870,7 @@ msgstr "edita el missatge abans de cometre"
msgid "allow fast-forward (default)"
msgstr "permet l'avanΓ§ rΓ pid (per defecte)"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr "avorta si l'avanΓ§ rΓ pid no Γ©s possible"
@@ -7612,20 +7878,20 @@ msgstr "avorta si l'avanΓ§ rΓ pid no Γ©s possible"
msgid "Verify that the named commit has a valid GPG signature"
msgstr "Verifica que la comissiΓ³ anomenada tingui una firma GPG vΓ lida"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "estratègia"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "estratègia de fusió a usar"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "opciΓ³=valor"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "opció per a l'estratègia de fusió seleccionada"
@@ -7663,8 +7929,8 @@ msgstr " (res a aixafar)"
msgid "Squash commit -- not updating HEAD\n"
msgstr "ComissiΓ³ d'aixafada -- no actualitzant HEAD\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "No s'ha pogut escriure al '%s'"
@@ -7682,41 +7948,41 @@ msgstr "Finalitzant SQUASH_MSG"
msgid "No merge message -- not updating HEAD\n"
msgstr "Cap missatge de fusiΓ³ -- no actualitzant HEAD\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "'%s' no assenyala una comissiΓ³"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "Cadena branch.%s.mergeoptions dolenta: %s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
msgstr "No gestionant res a part de la fusiΓ³ de dos caps."
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "OpciΓ³ desconeguda de merge-recursive: -X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "no s'ha pogut escriure %s"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "No s'ha pogut llegir de '%s'"
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr "No cometent la fusiΓ³; useu 'git commit' per a completar la fusiΓ³.\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7732,54 +7998,54 @@ msgstr ""
"S'ignoraran les lΓ­nies que comencin amb '%c', i un missatge buit\n"
"avorta la comissiΓ³.\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "Missatge de comissiΓ³ buit."
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "MeravellΓ³s.\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr ""
"La fusiΓ³ automΓ tica ha fallat; arregleu els conflictes i desprΓ©s cometeu el "
"resultat.\n"
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "'%s' no Γ©s una comissiΓ³"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "Cap branca actual."
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "No hi ha cap remot per a la branca actual."
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr "No hi ha cap font per defecte definida per a la branca actual."
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "No hi ha cap branca amb seguiment remot per a %s de %s"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "no s'ha pogut tancar '%s'"
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr "No hi ha fusiΓ³ a avortar (manca MERGE_HEAD)."
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7787,7 +8053,7 @@ msgstr ""
"No heu conclΓ²s la vostra fusiΓ³ (MERGE_HEAD existeix).\n"
"Si us plau, cometeu els vostres canvis abans de fusionar."
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7795,103 +8061,103 @@ msgstr ""
"No heu conclΓ²s el vostre recull de cireres (CHERRY_PICK_HEAD existeix).\n"
"Si us plau, cometeu els vostres canvis abans de fusionar."
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr ""
"No heu conclΓ²s el vostre recull de cireres (CHERRY_PICK_HEAD existeix)."
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "No podeu combinar --squash amb --no-ff."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr ""
"No hi ha una comissiΓ³ especificada i merge.defaultToUpstream no estΓ  "
"establert."
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
msgstr "Aixafar una comissiΓ³ a un cap buit encara no es permet"
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr "Una comissiΓ³ no d'avanΓ§ rΓ pid no tΓ© sentit a un cap buit"
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s - no Γ©s una cosa que puguem fusionar"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
msgstr "Es pot fusionar no mΓ©s d'exactament una comissiΓ³ a un cap buit"
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr "La comissiΓ³ %s tΓ© una firma GPG no fiable, suposadament de %s."
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr "La comissiΓ³ %s tΓ© una firma GPG dolenta suposadament de %s."
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "La comissiΓ³ %s no tΓ© firma GPG."
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr "La comissiΓ³ %s tΓ© una firma GPG bona de %s\n"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "Actualitzant %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "Intentant una fusiΓ³ molt trivial en l'Γ­ndex...\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "No.\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr "No Γ©s possible avanΓ§ar rΓ pidament, avortant."
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "Rebobinant l'arbre a la pristina...\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "Intentant l'estratègia de fusió %s...\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr "Cap estratègia de fusió ha gestionat la fusió.\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "L'estratègia de fusió %s ha fallat.\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr "Usant el %s per a preparar la resoluciΓ³ a mΓ .\n"
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
@@ -7979,19 +8245,19 @@ msgstr "no avisis de conflictes"
msgid "set labels for file1/orig-file/file2"
msgstr "estableix les etiquetes per a fitxer1/fitxer-original/fitxer2"
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr "l'entrada Γ©s acabada amb NUL"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "permet els objectes absents"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "permet la creaciΓ³ de mΓ©s d'un arbre"
@@ -7999,92 +8265,92 @@ msgstr "permet la creaciΓ³ de mΓ©s d'un arbre"
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<opcions>] <font>... <destΓ­>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "El directori %s Γ©s en l'Γ­ndex i no hi ha cap submΓ²dul?"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr ""
"Si us plau, allisteu els vostres canvis a .gitmodules o emmagatzemeu-los per "
"a procedir"
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s Γ©s en l'Γ­ndex"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "forΓ§a el moviment / canvi de nom encara que el destΓ­ existeixi"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "omet els errors de moviment / canvi de nom"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "el destΓ­ '%s' no Γ©s un directori"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "Comprovant el canvi de nom de '%s' a '%s'\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "font dolenta"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "no es pot moure un directori a dins d'ell mateix"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "no es pot moure un directori sobre un fitxer"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "el directori font estΓ  buit"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "no estΓ  sota control de versions"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "el destΓ­ existeix"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "sobreescrivint '%s'"
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "No es pot sobreescriure"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "mΓΊltiples fonts per al mateix destΓ­"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "el directori destΓ­ no existeix"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s, origen=%s, destΓ­=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Canviant el nom de %s a %s\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "el canvi del nom de '%s' ha fallat"
@@ -8287,9 +8553,9 @@ msgid "could not open or read '%s'"
msgstr "no s'ha pogut obrir o llegir '%s'"
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "S'ha fallat en resoldre '%s' com a referència vàlida."
@@ -8304,42 +8570,42 @@ msgstr "S'ha fallat en llegir l'objecte '%s'."
msgid "Cannot read note data from non-blob object '%s'."
msgstr "No es pot llegir les dades de node de l'objecte no de blob '%s'."
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "massa parΓ metres"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "No s'ha trobat cap nota per a l'objecte %s."
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "anota els continguts com a cadena"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "anota els continguts en un fitxer"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "reusa i edita l'objecte de nota especificat"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "reusa l'objecte de nota especificat"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "permet l'emmagatzematge d'una nota buida"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "reemplaΓ§a les notes existents"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8348,30 +8614,30 @@ msgstr ""
"No es pot afegir les notes. S'han trobat notes existents de l'objecte %s. "
"Useu '-f' per a sobreescriure les notes existents."
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "Sobreescrivint les notes existents de l'objecte %s\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "Eliminant la nota de l'objecte %s\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "llegeix els objectes des d'stdin"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr ""
"carrega la configuraciΓ³ de reescriptura per a <ordre> (implica --stdin)"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "hi ha massa pocs parΓ metres"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8380,12 +8646,12 @@ msgstr ""
"No es pot copiar les notes. S'han trobat notes existents de l'objecte %s. "
"Useu '-f' per a sobreescriure les notes existents."
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "Manquen notes a l'objecte font %s. No es pot copiar."
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8394,15 +8660,15 @@ msgstr ""
"S'han desaprovat les opcions -m/-F/-c/-C en favor de la subordre 'edit'.\n"
"Si us plau, useu 'git notes add -f -m/-F/-c/-C' en lloc d'aixΓ².\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "Opcions generals"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "Opcions de fusiΓ³"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
@@ -8410,49 +8676,49 @@ msgstr ""
"resol els conflictes de nota usant l'estratègia donada (manual/ours/theirs/"
"union/cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "Cometent les notes sense fusionar"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr "finalitza la fusiΓ³ de notes cometent les notes sense fusionar"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "Avortant la resoluciΓ³ de fusiΓ³ de notes"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "avorta la fusiΓ³ de notes"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "Una fusiΓ³ de notes a %s ja estΓ  en curs a %s"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "L'objecte %s no tΓ© cap nota\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr "l'intent d'eliminar una nota no existent no Γ©s un error"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "llegeix els noms d'objecte des de l'entrada estΓ ndard"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "referència de notes"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "usa les notes de <referència-de-notes>"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr "Subordre desconeguda: %s"
@@ -8476,176 +8742,176 @@ msgstr ""
msgid "deflate error (%d)"
msgstr "error de deflaciΓ³ (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "Escrivint els objectes"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr ""
"inhabilitant l'escriptura de mapes de bits, perquè alguns objectes no "
"s'estan empaquetant"
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "Comprimint objectes"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "versiΓ³ d'Γ­ndex no compatible %s"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "versiΓ³ d'Γ­ndex dolenta '%s'"
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "no mostris l'indicador de progrΓ©s"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "mostra l'indicador de progrΓ©s"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr "mostra l'indicador de progrΓ©s durant la fase d'escriptura d'objectes"
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
msgstr "similar a --all-progress quan l'indicador de progrΓ©s es mostra"
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "versiΓ³[,desplaΓ§ament]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr ""
"escriu el fitxer d'Γ­ndex de paquet en la versiΓ³ de format d'Γ­ndex "
"especificada"
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "mida mΓ xima de cada fitxer de paquet de sortida"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr ""
"ignora els objectes prestats d'un emmagatzemament d'objectes alternatiu"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "ignora els objectes empaquetats"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "limita la finestra d'empaquetament per objectes"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr ""
"limita la finestra d'empaquetament per memΓ²ria a mΓ©s del lΓ­mit d'objectes"
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr "longitud mΓ xima de la cadena de deltes permesa en el paquet resultant"
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "reusa les deltes existents"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "reusa els objectes existents"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "usa objectes OFS_DELTA"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr "usa fils en cercar les millores coincidències de delta"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "no creΓ―s una emissiΓ³ de paquet buida"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr "llegeix els parΓ metres de revisiΓ³ des de l'entrada estΓ ndard"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr "limita els objectes als quals encara no s'hagin empaquetat"
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "inclou els objectes abastables de qualsevulla referència"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr ""
"inclou els objectes als quals facin referència les entrades del registre de "
"referències"
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "inclou els objectes als quals faci referència l'índex"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "emet el paquet a stdout"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr ""
"inclou els objectes d'etiqueta que facin referència als objectes a empaquetar"
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "retΓ©n els objectes inabastables"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "hora"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr "desempaqueta els objectes inabastables mΓ©s nous que <hora>"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "crea paquets prims"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr "crea paquets adequats per a les obtencions superficials"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "ignora els paquets que tinguin un fitxer .keep corresponent"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "nivell de compressiΓ³ de paquet"
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "no amaguis les comissions per empelt"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr ""
"usa un Γ­ndex de mapa de bits, si estΓ  disponible, per a accelerar el "
"recompte d'objectes"
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr "escriu un Γ­ndex de mapa de bits junt amb l'Γ­ndex de paquet"
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "Comptant els objectes"
@@ -8689,49 +8955,53 @@ msgstr "fes caducar els objectes mΓ©s vells que <hora>"
msgid "cannot prune in a precious-objects repo"
msgstr "no es pot podar en un dipΓ²sit d'objectes precioses"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [opcions] [<dipòsit> [<especificació-de-referència>...]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "Opcions relacionades amb fusionar"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "incorpora els canvis per rebasar en lloc de fusionar"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "permet l'avanΓ§ rΓ pid"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "verifica que la comissiΓ³ anomenada tingui una firma GPG vΓ lida"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr "Opcions relacionades amb obtenir"
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "nombre de submΓ²duls baixats en paralΒ·lel"
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "Valor no vΓ lid per a pull.ff: %s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr "No es pot baixar amb rebasament: Teniu canvis no allistats."
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr "Addicionalment, el vostre Γ­ndex contΓ© canvis sense cometre."
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr ""
"No es pot baixar amb rebasament: El vostre Γ­ndex contΓ© canvis sense cometre."
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
@@ -8739,13 +9009,13 @@ msgstr ""
"No hi ha cap candidat sobre el qual rebasar entre les referències que acabeu "
"d'obtenir."
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr ""
"No hi ha candidats per a fusionar entre les referències que acabeu d'obtenir."
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
@@ -8753,7 +9023,7 @@ msgstr ""
"Generalment aixΓ² vol dir que heu proveΓ―t una especificaciΓ³ de\n"
"referència de comodí que no tenia cap coincidència en el costat remot."
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8764,27 +9034,27 @@ msgstr ""
"Perquè aquest no és el remot configurat per defecte per a la vostra\n"
"branca actual, heu d'especificar una branca en la lΓ­nia d'ordres."
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "Actualment no sou en cap branca."
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr "Si us plau, especifiqueu sobre què branca voleu rebasar."
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "Si us plau, especifiqueu amb què branca voleu fusionar."
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr "Vegeu git-pull(1) per detalls."
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "No hi ha cap informaciΓ³ de seguiment per a la branca actual."
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8796,7 +9066,7 @@ msgstr ""
"\n"
" git branch --set-upstream-to=%s/<branca> %s\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
@@ -8805,11 +9075,11 @@ msgstr ""
"La vostra configuració especifica fusionar amb la referència '%s'\n"
"del remot, però no s'ha obtingut tal referència."
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr "Actualitzant una branca no nascuda amb canvis afegits a l'Γ­ndex."
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8820,7 +9090,7 @@ msgstr ""
"avanΓ§ant rΓ pidament el vostre arbre de treball des de\n"
"la comissiΓ³ %s."
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8838,11 +9108,11 @@ msgstr ""
"$ git reset --hard\n"
"per a recuperar."
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr "No es pot fusionar mΓΊltiples branques a un cap buit."
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "No es pot rebasar sobre mΓΊltiples branques."
@@ -8850,15 +9120,15 @@ msgstr "No es pot rebasar sobre mΓΊltiples branques."
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<opcions>] [<dipòsit> [<especificació-de-referència>...]]"
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "abreviatura d'etiqueta sense <tag>"
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "--delete només accepta noms de referència de destí senzills"
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
@@ -8867,7 +9137,7 @@ msgstr ""
"Per a triar qualsevulla opciΓ³ permanentment, vegeu push.default a 'git help "
"config'."
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -8892,7 +9162,7 @@ msgstr ""
" git push %s %s\n"
"%s"
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -8907,7 +9177,7 @@ msgstr ""
"\n"
" git push %s HEAD:<nom-de-branca-remota>\n"
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -8920,12 +9190,12 @@ msgstr ""
"\n"
" git push --set-upstream %s %s\n"
-#: builtin/push.c:182
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr "La branca actual %s tΓ© mΓΊltiples branques fonts, refusant pujar."
-#: builtin/push.c:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -8936,61 +9206,14 @@ msgstr ""
"branca actual '%s', sense dir-me què pujar per a actualitzar\n"
"quina branca remota."
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"push.default no estΓ  establert; el seu valor implΓ­cit s'ha\n"
-"canviat en el Git 2.0 de 'matching' a 'simple'. Per a suprimir\n"
-"aquest missatge i mantenir el comportament tradicional,\n"
-"useu:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"Per a suprimir aquest missatge i adoptar el comportament nou ara, useu:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"Quan push.default Γ©s 'matching', git pujarΓ  les branques locals a les\n"
-"branques remotes que ja existeixen amb el mateix nom.\n"
-"\n"
-"Des del Git 2.0, el Git per defecte tΓ© el comportament mΓ©s\n"
-"conservatiu 'simple', que nomΓ©s puja la branca actual a la branca\n"
-"corresponent que 'git pull' usa per a actualitzar la branca actual.\n"
-"\n"
-"Vegeu 'git help config' i cerqueu 'push.default' per a mΓ©s informaciΓ³.\n"
-"(s'ha introduΓ―t el mode 'simple' en el Git 1.7.11. Useu el mode similar\n"
-"'current' en lloc de 'simple' si a vegades useu versions mΓ©s antigues\n"
-"del Git)"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr ""
"No heu especificat cap especificació de referència a pujar, i push.default "
"Γ©s \"nothing\"."
-#: builtin/push.c:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -9002,7 +9225,7 @@ msgstr ""
"els canvis remots (per exemple, 'git pull ...') abans de pujar de nou.\n"
"Vegeu la 'Nota sobre avanΓ§os rΓ pids' a 'git push --help' per detalls."
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
@@ -9015,7 +9238,7 @@ msgstr ""
"abans de pujar de nou.\n"
"Vegeu la 'Nota sobre avanΓ§os rΓ pids' a 'git push --help' per detalls."
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
@@ -9030,12 +9253,12 @@ msgstr ""
"pujar de nou.\n"
"Vegeu la 'Nota sobre avanΓ§os rΓ pids' a 'git push --help' per detalls."
-#: builtin/push.c:301
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr ""
"S'han rebutjat les actualitzacions perquè l'etiqueta ja existeix en el remot."
-#: builtin/push.c:304
+#: builtin/push.c:271
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"
@@ -9046,22 +9269,22 @@ msgstr ""
"fer que assenyali un objecte no de comissiΓ³, sense usar l'opciΓ³\n"
"'--force'.\n"
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "Pujant a %s\n"
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "s'ha fallat en pujar algunes referències a '%s'"
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "dipΓ²sit dolent '%s'"
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -9083,104 +9306,100 @@ msgstr ""
"\n"
" git push <nom>\n"
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "--all i --tags sΓ³n incompatibles"
-#: builtin/push.c:414
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr "--all no es pot combinar amb especificacions de referència"
-#: builtin/push.c:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "--mirror i --tags sΓ³n incompatibles"
-#: builtin/push.c:420
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr "--mirror no es pot combinar amb especificacions de referència"
-#: builtin/push.c:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "--all i --mirror sΓ³n incompatibles"
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr "dipΓ²sit"
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "puja totes les referències"
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "reflecteix totes les referències"
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr "suprimeix les referències"
-#: builtin/push.c:542
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr "puja les etiquetes (no es pot usar amb --all o --mirror)"
-#: builtin/push.c:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "forΓ§a les actualitzacions"
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "nom-de-referència>:<esperat"
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr "requereix que el valor antic de la referència sigui d'aquest valor"
-#: builtin/push.c:550
-msgid "check|on-demand|no"
-msgstr "comprova|sota demanda|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "controla la pujada recursiva dels submΓ²duls"
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "usa el paquet prim"
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "programa que rep els paquets"
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "estableix la font per a git pull/status"
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "poda les referències eliminades localment"
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "evita el ganxo de prepujada"
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "puja les etiquetes absents perΓ² rellevants"
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "firma la pujada amb GPG"
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "demana una transacciΓ³ atΓ²mica al costat remot"
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "--delete Γ©s incompatible amb --all, --mirror i --tags"
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "--delete no té sentit sense referències"
@@ -9258,12 +9477,12 @@ msgstr "salta l'aplicaciΓ³ del filtre d'agafament dispers"
msgid "debug unpack-trees"
msgstr "depura unpack-trees"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "'%s' per a '%s' no Γ©s una marca de temps vΓ lida"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "'%s' no Γ©s una marca de temps vΓ lida"
@@ -9406,56 +9625,46 @@ msgid "specifying branches to track makes sense only with fetch mirrors"
msgstr ""
"especificar les branques a seguir tΓ© sentit nomΓ©s amb miralls d'obtenciΓ³"
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "el remot %s ja existeix."
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "'%s' no Γ©s un nom de remot vΓ lid"
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "No s'ha pogut configurar la mestra '%s'"
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr ""
"No s'ha pogut obtenir el mapa d'obtenció de l'especificació de referència %s"
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "(coincident)"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(suprimir)"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "No s'ha pogut annexar '%s' a '%s'"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "No hi ha tal remot: %s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr "No s'ha pogut canviar el nom de la secciΓ³ de configuraciΓ³ '%s' a '%s'"
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "No s'ha pogut eliminar la secciΓ³ de configuraciΓ³ '%s'"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -9466,27 +9675,17 @@ msgstr ""
"\t%s\n"
"\tSi us plau, actualitzeu la configuraciΓ³ manualment si Γ©s necessari."
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "No s'ha pogut annexar '%s'"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "No s'ha pogut establir '%s'"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "la supressiΓ³ de '%s' ha fallat"
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "la creaciΓ³ de '%s' ha fallat"
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9501,278 +9700,283 @@ msgstr[1] ""
"eliminat;\n"
"per a suprimir-les, useu:"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "No s'ha pogut eliminar la secciΓ³ de configuraciΓ³ '%s'"
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " nou (la prΓ²xima obtenciΓ³ emmagatzemarΓ  a remotes/%s)"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " seguit"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " estancat (useu 'git remote prune' per a eliminar)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr "branch.%s.merge no vΓ lid; no es pot rebasar sobre > 1 branca"
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "es rebasa sobre el remot %s"
+msgid "rebases interactively onto remote %s"
+msgstr "es rebasa interactivament sobre el remot %s"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr "es fusiona amb el remot %s"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " i amb el remot"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "es fusiona amb el remot %s"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " i amb el remot"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "crea"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "suprimeix"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "al dia"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "avanΓ§ rΓ pid possible"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "local no actualitzat"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*s forΓ§a a %-*s (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*s puja a %-*s (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*s forΓ§a a %s"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*s puja a %s"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "no consultis els remots"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* remot %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " URL d'obtenciΓ³: %s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(sense URL)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " URL de pujada: %s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " Branca de HEAD: %s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
msgstr ""
" Branca de HEAD (el HEAD remot Γ©s ambigu, pot ser un dels segΓΌents):\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
msgstr[0] " Branca remota:%s"
msgstr[1] " Branques remotes:%s"
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr " (estat no consultat)"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] " Branca local configurada per a 'git pull':"
msgstr[1] " Branques locals configurades per a 'git pull':"
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr " 'git push' reflectirà les referències locals"
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Referència local configurada per a 'git push'%s:"
msgstr[1] " Referències locals configurades per a 'git push'%s:"
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "estableix refs/remotes/<name>/HEAD segons el remot"
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "suprimeix refs/remotes/<name>/HEAD"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "No es pot determinar el HEAD remot"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
msgstr ""
"MΓΊltiples branques de HEAD remotes. Si us plau, trieu-ne una explΓ­citament "
"amb:"
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr "No s'ha pogut suprimir %s"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "No és una referència vàlida: %s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "No s'ha pogut configurar %s"
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s es tornarΓ  penjant!"
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s s'ha tornat penjant!"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "Podant %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [podaria] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr " * [podat] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "poda els remots desprΓ©s d'obtenir-los"
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "No hi ha tal remot '%s'"
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "afegeix branca"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "cap remot especificat"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr "consulta els URL de pujada en lloc dels URL d'obteniment"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "retorna tots els URL"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "cap URL configurat per al remot '%s'"
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "manipula els URL de pujada"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "afegeix URL"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "suprimeix URLs"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr "--add --delete no tΓ© sentit"
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "PatrΓ³ d'URL antic no vΓ lid: %s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "No s'ha trobat tal URL: %s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "No se suprimiran tots els URL no de pujada"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr "sigues detallat; s'ha de colΒ·locar abans d'una subordre"
@@ -10077,7 +10281,7 @@ msgstr "No s'ha pogut restablir el fitxer d'Γ­ndex a la revisiΓ³ '%s'."
msgid "Could not write new index file."
msgstr "No s'ha pogut escriure el fitxer d'Γ­ndex nou."
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "el rev-list no permet mostrar notes"
@@ -10333,29 +10537,24 @@ msgstr "imprimeix l'estat des de l'ajudant remot"
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<opcions>] [<rang-de-revisions>] [[--] [<camΓ­>...]]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "Manca l'autor: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "ordena la sortida segons el nombre de comissions per autor"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr ""
"Omet les descripcions de comissiΓ³, nomΓ©s proveeix el recompte de comissions"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "Mostra l'adreΓ§a de correu electrΓ²nic de cada autor"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "Ajusta les lΓ­nies de la sortida"
@@ -10499,43 +10698,43 @@ msgstr ""
"salta i elimina totes les lΓ­nies comenΓ§ant amb el carΓ cter de comentari"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
-msgstr "anteposa el carΓ cter de comentari i espai blanc a cada lΓ­nia"
+msgid "prepend comment character and space to each line"
+msgstr "anteposa el carΓ cter de comentari i un espai a cada lΓ­nia"
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "Γ ncora alternativa per als camins relatius"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<camΓ­>] [<camΓ­>...]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper name <camΓ­>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr "No s'ha trobat cap mapatge de submΓ²dul a .gitmodules per al camΓ­ '%s'"
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "a on es clonarΓ  el submΓ²dul nou"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "nom del submΓ²dul nou"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "url del qual clonar el submΓ²dul"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "profunditat dels clons superficials"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10544,37 +10743,37 @@ msgstr ""
"<dipΓ²sit>] [--name <nom>] [--url <url>][--depth <profunditat>] [--] "
"[<camΓ­>...]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "no s'ha pogut crear el directori '%s'"
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr "el clonatge de '%s' al camΓ­ de submΓ²dul '%s' ha fallat"
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "no es pot obrir el fitxer '%s'"
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "no s'ha pogut tancar el fitxer %s"
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr "no s'ha pogut obtenir el directori de submΓ²dul per a '%s'"
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr "fatal: s'ha d'executar la subordre submodule--helper amb una subordre"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr "fatal: '%s' no Γ©s una subordre vΓ lida de submodule--helper"
@@ -10820,200 +11019,213 @@ msgstr "Etiqueta '%s' actualitzada (era %s)\n"
msgid "Unpacking objects"
msgstr "Desempaquetant objectes"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "s'ha fallat en crear el directori %s"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "s'ha fallat en fer stat a %s"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "s'ha fallat en crear el fitxer %s"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "s'ha fallat en suprimir el fitxer %s"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "s'ha fallat en suprimir el directori %s"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "Provant "
+msgid "Testing mtime in '%s' "
+msgstr "Provant mtime en '%s'"
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr ""
"la informaciΓ³ d'stat de directori no canvia desprΓ©s d'afegir un fitxer nou"
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr ""
"la informaciΓ³ d'stat de directori no canvia desprΓ©s d'afegir un directori nou"
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr ""
"la informaciΓ³ d'stat de directori canvia desprΓ©s d'actualitzar un fitxer"
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr ""
"la informaciΓ³ d'stat de directori canvia desprΓ©s d'afegir un fitxer dins "
"d'un subdirectori"
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr ""
"la informaciΓ³ d'stat de directori no canvia desprΓ©s de suprimir un fitxer"
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr ""
"la informaciΓ³ d'stat de directori no canvia desprΓ©s de suprimir un directori"
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " D'acord"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<opcions>] [--] [<fitxer>...]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr ""
"continua l'actualitzaciΓ³ encara que l'Γ­ndex necessiti una actualitzaciΓ³"
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "actualitza: ignora els submΓ²duls"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "no ignoris els fitxers nous"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "deixa que els fitxers reemplacin els directoris i viceversa"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "tingues en compte els fitxers absents de l'arbre de treball"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr "actualitza encara que l'Γ­ndex contingui entrades no fusionades"
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "actualitza la informaciΓ³ d'estadΓ­stiques"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "com --refresh, perΓ² ignora l'ajust assume-unchanged"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<mode>,<objecte>,<camΓ­>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "afegeix l'entrada especificada a l'Γ­ndex"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "passa per alt el bit executable dels fitxers llistats"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "marca els fitxers com a \"no canviant\""
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "neteja el bit assumed-unchanged"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "marca els fitxers com a \"nomΓ©s Γ­ndex\""
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "neteja el bit skip-worktree"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
msgstr ""
"nomΓ©s afegeix a l'Γ­ndex; no afegeixis el contingut a la base de dades "
"d'objectes"
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr ""
"elimina els camins anomenats encara que estiguin presents en l'arbre de "
"treball"
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr "amb --stdin: les lΓ­nies d'entrada acaben amb octets nuls"
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr "llegeix la llista de camins a actualitzar des de l'entrada estΓ ndard"
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
msgstr "afegeix les entrades de l'entrada estΓ ndard a l'Γ­ndex"
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr "reemplena les etapes #2 i #3 per als camins llistats"
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "nomΓ©s actualitza les entrades que difereixin de HEAD"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "ignora els fitxers absents de l'arbre de treball"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "informa de les accions en la sortida estΓ ndard"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "(per a porcellanes) oblida't dels conflictes no resolts ni desats"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "escriu l'Γ­ndex en aquest format"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "habilita o inhabilita l'Γ­ndex dividit"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr "habilita/inhabilita la memΓ²ria cau no seguida"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "prova si el sistema de fitxers admet la memΓ²ria cau no seguida"
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr "habilita la memΓ²ria cau no seguida sense provar el sistema de fitxers"
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "La memΓ²ria cau no seguida estΓ  inhabilitada"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "La memΓ²ria cau no seguida estΓ  habilitada per a '%s'"
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr "git update-ref [<opcions>] -d <nom-de-referència> [<valor-antic>]"
@@ -11132,33 +11344,33 @@ msgstr "s'ha fallat en eliminar: %s"
msgid "'%s' already exists"
msgstr "'%s' ja existeix"
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "no s'ha pogut crear directori de '%s'"
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "Preparant %s (identificador %s)"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr "agafa <branca> encara que sigui agafada en altre arbre de treball"
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "crea una branca nova"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "crea o restableix una branca"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "separa el HEAD a la comissiΓ³ anomenada"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "-b, -B i --detach sΓ³n mutualment exclusius"
@@ -11178,7 +11390,7 @@ msgstr "escriu l'objecte d'arbre per a un subdirectori <prefix>"
msgid "only useful for debugging"
msgstr "nomΓ©s ΓΊtil per a la depuraciΓ³"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "imprimeix els missatges de depuraciΓ³ a stderr"
@@ -11193,6 +11405,10 @@ msgstr ""
"'git help <concepte>' per a llegir sobre una subordre o concepte\n"
"especΓ­fic."
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "No s'admet l'enganx de clau pΓΊblica amb cURL < 7.44.0"
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "comenΓ§ar una Γ rea de treball (vegeu tambΓ©: git help tutorial)"
@@ -11276,8 +11492,8 @@ msgstr ""
"Actualitza les referències remotes juntament amb els objectes associats"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "AvanΓ§a les comissions locals al cap font actualitzat"
+msgid "Reapply commits on top of another base tip"
+msgstr "Reaplica les comissions sobre un altre punt de basament"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -11506,7 +11722,7 @@ msgstr "no es pot canviar el significat del terme '$term'"
#: git-bisect.sh:606
#, sh-format
msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
-msgstr "Ordre invΓ lida: actualment esteu en una bisecciΓ³ $TERM_BAD/$TERM_GOOD"
+msgstr "Ordre no vΓ lida: actualment esteu en una bisecciΓ³ $TERM_BAD/$TERM_GOOD"
#: git-bisect.sh:636
msgid "no terms defined"
@@ -11518,7 +11734,7 @@ msgid ""
"invalid argument $arg for 'git bisect terms'.\n"
"Supported options are: --term-good|--term-old and --term-bad|--term-new."
msgstr ""
-"parΓ metre invΓ lid $arg per a 'git bisect terms'.\n"
+"parΓ metre no vΓ lid $arg per a 'git bisect terms'.\n"
"Les opcions admeses sΓ³n: --term-good|--term-old i --term-bad|--term-new."
#: git-rebase.sh:57
@@ -11985,7 +12201,7 @@ msgstr "No s'ha pogut crear el directori de submΓ²dul buit '$displaypath'"
msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
msgstr "SubmΓ²dul '$name' ($url) no registrat per al camΓ­ '$displaypath'"
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
@@ -11994,53 +12210,53 @@ msgstr ""
"CamΓ­ de submΓ²dul '$displaypath' no inicialitzat\n"
"Potser voleu usar 'update --init'?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr ""
"No s'ha pogut trobar la revisiΓ³ actual en el camΓ­ de submΓ²dul '$displaypath'"
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr "No s'ha pogut obtenir en el camΓ­ de submΓ²dul '$sm_path'"
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "No s'ha pogut obtenir en el camΓ­ de submΓ²dul '$displaypath'"
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr "No s'ha pogut agafar '$sha1' en el camΓ­ de submΓ²dul '$displaypath'"
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "CamΓ­ de submΓ²dul '$displaypath': s'ha agafat '$sha1'"
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr "no s'ha pogut rebasar '$sha1' en el camΓ­ de submΓ²dul '$displaypath'"
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "CamΓ­ de submΓ²dul '$displaypath': s'ha rebasat en '$sha1'"
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr "No s'ha pogut fusionar '$sha1' en el camΓ­ de submΓ²dul '$displaypath'"
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "CamΓ­ de submΓ²dul '$displaypath': s'ha fusionat en '$sha1'"
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
@@ -12048,50 +12264,50 @@ msgstr ""
"L'execuciΓ³ de '$command $sha1' ha fallat en el camΓ­ de submΓ²dul '$prefix"
"$sm_path'"
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "CamΓ­ de submΓ²dul '$prefix$sm_path': '$command $sha1'"
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "S'ha fallat en recursar al camΓ­ de submΓ²dul '$displaypath'"
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr "L'opciΓ³ --cached no es pot usar amb l'opciΓ³ --files"
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "mode inesperat $mod_dst"
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr " AvΓ­s: $display_name no contΓ© la comissiΓ³ $sha1_src"
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr " AvΓ­s: $display_name no contΓ© la comissiΓ³ $sha1_dst"
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr " AvΓ­s: $display_name no contΓ© les comissions $sha1_src i $sha1_dst"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "blob"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "S'ha fallat en recursar al camΓ­ de submΓ²dul '$sm_path'"
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "Sincronitzant l'url de submΓ²dul per a '$displaypath'"
diff --git a/po/de.po b/po/de.po
index 8c5f05dd56..0eadf34539 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
"PO-Revision-Date: 2015-01-21 15:01+0800\n"
"Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n"
"Language-Team: German <>\n"
@@ -31,7 +31,7 @@ msgstr ""
"dann 'git add/rm <Datei>', um die AuflΓΆsung entsprechend zu markieren\n"
"und zu committen."
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert)."
@@ -75,7 +75,7 @@ msgstr "Format"
msgid "archive format"
msgstr "Archivformat"
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "PrΓ€fix"
@@ -83,11 +83,11 @@ msgstr "PrΓ€fix"
msgid "prepend prefix to each pathname in the archive"
msgstr "einen PrΓ€fix vor jeden Pfadnamen in dem Archiv stellen"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535
-#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99
-#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395
-#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "Datei"
@@ -119,7 +119,7 @@ msgstr "besser komprimieren"
msgid "list supported archive formats"
msgstr "unterstΓΌtzte Archivformate auflisten"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "Repository"
@@ -127,7 +127,7 @@ msgstr "Repository"
msgid "retrieve the archive from remote repository <repo>"
msgstr "Archiv vom Remote-Repository <Repository> abrufen"
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr "Programm"
@@ -135,7 +135,7 @@ msgstr "Programm"
msgid "path to the remote git-upload-archive command"
msgstr "Pfad zum externen \"git-upload-archive\"-Programm"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
@@ -143,87 +143,105 @@ msgstr ""
"Verneinende Muster werden in Git-Attributen ignoriert.\n"
"Benutzen Sie '\\!' fΓΌr fΓΌhrende Ausrufezeichen."
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"Nachdem Sie die Fehlerursache behoben haben, kΓΆnnen Sie\n"
+"die Tracking-Informationen mit\n"
+"\"git branch --set-upstream-to=%s%s%s\"\n"
+"erneut setzen."
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "Branch %s kann nicht sein eigener Upstream-Branch sein."
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr ""
"Branch %s konfiguriert zum Folgen von Remote-Branch %s von %s durch Rebase."
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr "Branch %s konfiguriert zum Folgen von Remote-Branch %s von %s."
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr "Branch %s konfiguriert zum Folgen von lokalem Branch %s durch Rebase."
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "Branch %s konfiguriert zum Folgen von lokalem Branch %s."
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr "Branch %s konfiguriert zum Folgen von Remote-Referenz %s durch Rebase."
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "Branch %s konfiguriert zum Folgen von Remote-Referenz %s."
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr ""
"Branch %s konfiguriert zum Folgen von lokaler Referenz %s durch Rebase."
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "Branch %s konfiguriert zum Folgen von lokaler Referenz %s."
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "Konnte Konfiguration zu Upstream-Branch nicht schreiben."
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr ""
"Konfiguration zum Folgen von Branch nicht eingerichtet. Referenz %s ist "
"mehrdeutig."
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "'%s' ist kein gΓΌltiger Branchname."
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "Branch '%s' existiert bereits."
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "Kann Aktualisierung des aktuellen Branches nicht erzwingen."
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr ""
"Kann Tracking-Informationen nicht einrichten; Startpunkt '%s' ist kein "
"Branch."
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "der angeforderte Upstream-Branch '%s' existiert nicht"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -244,22 +262,22 @@ msgstr ""
"\"git push -u\" verwenden, um den Upstream-Branch beim \"push\"\n"
"zu konfigurieren."
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "UngΓΌltiger Objekt-Name: '%s'"
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "mehrdeutiger Objekt-Name: '%s'"
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "UngΓΌltiger Branchpunkt: '%s'"
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "'%s' ist bereits in '%s' ausgecheckt"
@@ -283,10 +301,10 @@ msgstr "Konnte '%s' nicht ΓΆffnen"
msgid "Repository lacks these prerequisite commits:"
msgstr "Dem Repository fehlen folgende vorausgesetzte Commits:"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "Einrichtung des Revisionsgangs fehlgeschlagen"
@@ -325,7 +343,7 @@ msgstr "\"rev-list\" abgebrochen"
msgid "ref '%s' is excluded by the rev-list options"
msgstr "Referenz '%s' wird durch \"rev-list\" Optionen ausgeschlossen"
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "nicht erkanntes Argument: %s"
@@ -348,8 +366,8 @@ msgstr "Erstellung der Paketindexdatei abgebrochen"
msgid "invalid color value: %.*s"
msgstr "UngΓΌltiger Farbwert: %.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "konnte %s nicht parsen"
@@ -363,63 +381,68 @@ msgstr "%s %s ist kein Commit!"
msgid "memory exhausted"
msgstr "Speicher verbraucht"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "Zeile %d in Konfigurationsdatei %s ist ungΓΌltig."
+msgid "bad config line %d in %s %s"
+msgstr "Zeile %d in Konfiguration %s %s ist ungΓΌltig."
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "UngΓΌltiger numerischer Wert '%s' fΓΌr Konfiguration '%s' in %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "UngΓΌltiger numerischer Wert '%s' fΓΌr Konfiguration '%s' in %s %s: %s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "UngΓΌltiger numerischer Wert '%s' fΓΌr Konfiguration '%s': %s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "Fehler beim Erweitern des Nutzerverzeichnisses in: '%s'"
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "ungΓΌltiger zlib Komprimierungsgrad %d"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "UngΓΌltiger Modus fΓΌr Objekterstellung: %s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr ""
-"Konnte die ΓΌber die Kommandozeile angegebene Konfiguration nicht parsen."
+"Konnte die ΓΌber die Befehlszeile angegebene Konfiguration nicht parsen."
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr ""
"Es trat ein unbekannter Fehler beim Lesen der Konfigurationsdateien auf."
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr ""
-"Konnte Wert '%s' aus der ΓΌber die Kommandozeile angegebenen\n"
-"Konfiguration nicht parsen."
+"Konnte Wert '%s' aus der ΓΌber die Befehlszeile angegebenen Konfiguration\n"
+"nicht parsen."
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr "ungΓΌltige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d"
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s hat mehrere Werte"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "Konnte '%s' nicht zu '%s' setzen."
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "Konnte 'git rev-list' nicht ausfΓΌhren"
@@ -536,16 +559,16 @@ msgstr ""
"Fehler in 'diff.dirstat' Konfigurationsvariable gefunden:\n"
"%s"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "externes Diff-Programm unerwartet beendet, angehalten bei %s"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow erfordert genau eine Pfadspezifikation"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
@@ -554,18 +577,20 @@ msgstr ""
"Fehler beim Parsen des --dirstat/-X Optionsparameters:\n"
"%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "Fehler beim Parsen des --submodule Optionsparameters: '%s'"
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "Fehler beim Sammeln von Namen und Informationen zum Kernel"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "Cache fΓΌr unversionierte Dateien ist auf diesem System deaktiviert."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr ""
+"Cache fΓΌr unversionierte Dateien ist auf diesem System oder\n"
+"fΓΌr dieses Verzeichnis deaktiviert."
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -604,52 +629,52 @@ msgstr "'%s': %s"
msgid "'%s': short read %s"
msgstr "'%s': read() zu kurz %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
-msgstr "Vorhandene Git-Kommandos in '%s'"
+msgstr "Vorhandene Git-Befehle in '%s'"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
-msgstr "Vorhandene Git-Kommandos anderswo in Ihrem $PATH"
+msgstr "Vorhandene Git-Befehle anderswo in Ihrem $PATH"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
-msgstr "Allgemeine Git-Kommandos, verwendet in verschiedenen Situationen:"
+msgstr "Allgemeine Git-Befehle, verwendet in verschiedenen Situationen:"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
"able to execute it. Maybe git-%s is broken?"
msgstr ""
-"'%s' scheint ein git-Kommando zu sein, konnte aber\n"
+"'%s' scheint ein git-Befehl zu sein, konnte aber\n"
"nicht ausgefΓΌhrt werden. Vielleicht ist git-%s fehlerhaft?"
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
-msgstr "Uh oh. Keine Git-Kommandos auf Ihrem System vorhanden."
+msgstr "Uh oh. Keine Git-Befehle auf Ihrem System vorhanden."
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
"Continuing under the assumption that you meant '%s'"
msgstr ""
-"Warnung: Sie haben das nicht existierende Git-Kommando '%s' ausgefΓΌhrt.\n"
+"Warnung: Sie haben den nicht existierenden Git-Befehl '%s' ausgefΓΌhrt.\n"
"Setze fort unter der Annahme, dass Sie '%s' gemeint haben."
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "Automatische AusfΓΌhrung in %0.1f Sekunden ..."
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr "git: '%s' ist kein Git-Kommando. Siehe 'git --help'."
+msgstr "git: '%s' ist kein Git-Befehl. Siehe 'git --help'."
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -663,7 +688,7 @@ msgstr[1] ""
"\n"
"Haben Sie eines von diesen gemeint?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s: %s - %s"
@@ -672,8 +697,8 @@ msgstr "%s: %s - %s"
msgid "failed to read the cache"
msgstr "Lesen des Zwischenspeichers fehlgeschlagen"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "Konnte neue Index-Datei nicht schreiben."
@@ -691,64 +716,64 @@ msgstr "addinfo_cache fΓΌr Pfad '%s' fehlgeschlagen"
msgid "error building trees"
msgstr "Fehler beim Erstellen der \"Tree\"-Objekte"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "Fehler beim Erstellen des Pfades '%s'%s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr "Entferne %s, um Platz fΓΌr Unterverzeichnis zu schaffen\n"
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ": vielleicht ein Verzeichnis/Datei-Konflikt?"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "verweigere, da unversionierte Dateien in '%s' verloren gehen wΓΌrden"
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "kann Objekt %s '%s' nicht lesen"
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "Blob erwartet fΓΌr %s '%s'"
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "Fehler beim Γ–ffnen von '%s'"
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "Fehler beim Erstellen einer symbolischen VerknΓΌpfung fΓΌr '%s'"
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "weiß nicht was mit %06o %s '%s' zu machen ist"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "Fehler bei AusfΓΌhrung des internen Merges"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "Konnte %s nicht zur Datenbank hinzufΓΌgen"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "nicht unterstΓΌtzter Objekttyp im Verzeichnis"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -757,7 +782,7 @@ msgstr ""
"KONFLIKT (%s/lΓΆschen): %s gelΓΆscht in %s und %s in %s. Stand %s von %s wurde "
"im Arbeitsbereich gelassen."
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -766,20 +791,20 @@ msgstr ""
"KONFLIKT (%s/lΓΆschen): %s gelΓΆscht in %s und %s in %s. Stand %s von %s wurde "
"im Arbeitsbereich bei %s gelassen."
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "umbenennen"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "umbenannt"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr "%s ist ein Verzeichnis in %s, fΓΌge es stattdessen als %s hinzu"
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -788,148 +813,148 @@ msgstr ""
"KONFLIKT (umbenennen/umbenennen): Benenne um \"%s\"->\"%s\" in Branch \"%s\" "
"und \"%s\"->\"%s\" in Branch \"%s\"%s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr " (bleibt unaufgelΓΆst)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
"KONFLIKT (umbenennen/umbenennen): Benenne um %s->%s in %s. Benenne um %s->%s "
"in %s"
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "Benenne stattdessen %s nach %s und %s nach %s um"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr ""
"KONFLIKT (umbenennen/hinzufΓΌgen): Benenne um %s->%s in %s. %s hinzugefΓΌgt in "
"%s"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "FΓΌge zusammengefΓΌhrte Datei %s hinzu"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "FΓΌge stattdessen als %s hinzu"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "kann Objekt %s nicht lesen"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "Objekt %s ist kein Blob"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "Γ€ndern"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "geΓ€ndert"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "Inhalt"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "hinzufΓΌgen/hinzufΓΌgen"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "%s ausgelassen (Ergebnis des Merges existiert bereits)"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "automatischer Merge von %s"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "Submodul"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "KONFLIKT (%s): Merge-Konflikt in %s"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "Entferne %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "Datei/Verzeichnis"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "Verzeichnis/Datei"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr ""
"KONFLIKT (%s): Es existiert bereits ein Verzeichnis %s in %s. FΓΌge %s als %s "
"hinzu."
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "FΓΌge %s hinzu"
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "Fataler Merge-Fehler. Sollte nicht passieren."
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "Bereits aktuell!"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "ZusammenfΓΌhren der \"Tree\"-Objekte %s und %s fehlgeschlagen"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "unverarbeiteter Pfad??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "Merge:"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
msgstr[0] "%u gemeinsamen VorgΓ€nger-Commit gefunden"
msgstr[1] "%u gemeinsame VorgΓ€nger-Commits gefunden"
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "Merge hat keinen Commit zurΓΌckgegeben"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "Konnte Objekt '%s' nicht parsen."
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "Konnte Index nicht schreiben."
@@ -1048,14 +1073,14 @@ msgstr "Pfadspezifikation '%s' befindet sich in Submodul '%.*s'"
#, c-format
msgid "%s: pathspec magic not supported by this command: %s"
msgstr ""
-"%s: Pfadspezifikationsangabe wird von diesem Kommando nicht unterstΓΌtzt: %s"
+"%s: Pfadspezifikationsangabe wird von diesem Befehl nicht unterstΓΌtzt: %s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "Pfadspezifikation '%s' ist hinter einer symbolischen VerknΓΌpfung"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1089,166 +1114,251 @@ msgstr ""
"GIT_INDEX_VERSION gesetzt, aber Wert ungΓΌltig.\n"
"Verwende Version %i"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen."
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "Konnte Referenz %s nicht entfernen: %s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "Konnte Referenzen nicht entfernen: %s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "Konnte Referenz %s nicht lΓΆschen"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "Format: %%(end) Atom ohne zugehΓΆriges Atom verwendet"
+msgid "expected format: %%(color:<color>)"
+msgstr "Erwartetes Format: %%(color:<Farbe>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "nicht erkannte Farbe: %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "nicht erkanntes Format: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) akzeptiert keine Argumente"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) akzeptiert keine Argumente"
-#: ref-filter.c:704
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "Positiver Wert erwartet contents:lines=%s"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "Erwartetes Format: %%(color:<Farbe>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "nicht erkanntes %%(contents) Argument: %s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "Konnte Format nicht parsen."
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "nicht erkanntes %%(objectname) Argument: %s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "Erwartetes Format: %%(align:<Breite>,<Position>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
#, c-format
-msgid "improper format entered align:%s"
-msgstr "Sie haben ein ungΓΌltiges Format eingegeben align:%s"
+msgid "unrecognized position:%s"
+msgstr "nicht erkannte Position:%s"
-#: ref-filter.c:898
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "nicht erkannte Breite:%s"
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "nicht erkanntes %%(align) Argument: %s"
+
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "Positive Breitenangabe fΓΌr %%(align) erwartet"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "Fehlerhafter Feldname: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "Unbekannter Feldname: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "Format: %%(end) Atom ohne zugehΓΆriges Atom verwendet"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "Fehlerhafter Formatierungsstring %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= erfordert eine positive Ganzzahl als Argument"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "Referenz '%s' hat keine %ld Komponenten fΓΌr :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "Unbekanntes %.*s Format %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "Objekt %s fehlt fΓΌr %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer bei %s fΓΌr %s fehlgeschlagen"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr "fehlerhaftes Objekt bei '%s'"
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "Ignoriere Referenz mit fehlerhaftem Namen %s"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "Ignoriere fehlerhafte Referenz %s"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "Format: %%(end) Atom fehlt"
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr "Missgebildeter Objektname %s"
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr "Kann 'fetch' nicht fΓΌr sowohl %s als auch %s nach %s ausfΓΌhren."
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s folgt ΓΌblicherweise %s, nicht %s"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s folgt sowohl %s als auch %s"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "Interner Fehler"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEAD zeigt auf keinen Branch"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "Kein solcher Branch: '%s'"
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "Kein Upstream-Branch fΓΌr Branch '%s' konfiguriert."
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr "Upstream-Branch '%s' nicht als Remote-Tracking-Branch gespeichert"
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr ""
"Ziel fΓΌr \"push\" '%s' auf Remote-Repository '%s' hat keinen lokal gefolgten "
"Branch"
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt"
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr "Push-Refspecs fΓΌr '%s' beinhalten nicht '%s'"
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "kein Ziel fΓΌr \"push\" (push.default ist 'nothing')"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr "kann einzelnes Ziel fΓΌr \"push\" im Modus 'simple' nicht auflΓΆsen"
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr ""
"Ihr Branch basiert auf '%s', aber der Upstream-Branch wurde entfernt.\n"
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr " (benutzen Sie \"git branch --unset-upstream\" zum Beheben)\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "Ihr Branch ist auf dem selben Stand wie '%s'.\n"
-#: remote.c:2094
+#: remote.c:2084
#, c-format
msgid "Your branch is ahead of '%s' by %d commit.\n"
msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
msgstr[0] "Ihr Branch ist vor '%s' um %d Commit.\n"
msgstr[1] "Ihr Branch ist vor '%s' um %d Commits.\n"
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " (benutzen Sie \"git push\", um lokale Commits zu publizieren)\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1258,12 +1368,12 @@ msgstr[0] ""
msgstr[1] ""
"Ihr Branch ist zu '%s' um %d Commits hinterher, und kann vorgespult werden.\n"
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr ""
" (benutzen Sie \"git pull\", um Ihren lokalen Branch zu aktualisieren)\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1278,30 +1388,30 @@ msgstr[1] ""
"Ihr Branch und '%s' sind divergiert,\n"
"und haben jeweils %d und %d unterschiedliche Commits.\n"
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr ""
" (benutzen Sie \"git pull\", um Ihren Branch mit dem Remote-Branch "
"zusammenzufΓΌhren)\n"
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "Ihr aktueller Branch scheint fehlerhaft zu sein."
-#: revision.c:2196
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr "Ihr aktueller Branch '%s' hat noch keine Commits."
-#: revision.c:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "Die Optionen --first-parent und --bisect sind inkompatibel."
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "Γ–ffnen von /dev/null fehlgeschlagen"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "dup2(%d,%d) fehlgeschlagen"
@@ -1327,7 +1437,7 @@ msgstr ""
msgid "the receiving end does not support --atomic push"
msgstr "die Gegenseite unterstΓΌtzt keinen atomaren Versand (\"--atomic push\")"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
@@ -1335,7 +1445,7 @@ msgstr ""
"nach AuflΓΆsung der Konflikte, markieren Sie die korrigierten Pfade\n"
"mit 'git add <Pfade>' oder 'git rm <Pfade>'"
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1345,231 +1455,245 @@ msgstr ""
"mit 'git add <Pfade>' oder 'git rm <Pfade>'und tragen Sie das Ergebnis mit\n"
"'git commit' ein"
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "Konnte nicht nach %s schreiben"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "Fehler bei Nachbereitung von %s"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr ""
"Ihre lokalen Γ„nderungen wΓΌrden von \"cherry-pick\" ΓΌberschrieben werden."
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "Ihre lokalen Γ„nderungen wΓΌrden von \"revert\" ΓΌberschrieben werden."
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr ""
"Committen Sie Ihre Γ„nderungen oder benutzen Sie \"stash\", um fortzufahren."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%s: Konnte neue Index-Datei nicht schreiben"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "Konnte Commit von HEAD nicht auflΓΆsen\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "Konnte Cache-Verzeichnis nicht aktualisieren\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "Konnte Commit %s nicht parsen\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "Konnte Eltern-Commit %s nicht parsen\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "Ihre Index-Datei ist nicht zusammengefΓΌhrt."
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr "Commit %s ist ein Merge, aber die Option -m wurde nicht angegeben."
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "Commit %s hat keinen Elternteil %d"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr "Hauptlinie wurde spezifiziert, aber Commit %s ist kein Merge."
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%s: kann Eltern-Commit %s nicht parsen"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "Kann keine Commit-Beschreibung fΓΌr %s bekommen"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "Konnte \"revert\" nicht auf %s... (%s) ausfΓΌhren"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "Konnte %s... (%s) nicht anwenden"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "leere Menge von Commits ΓΌbergeben"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %s: Fehler beim Lesen des Index"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %s: Fehler beim Aktualisieren des Index"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "Kann %s nicht wΓ€hrend eines %s durchfΓΌhren"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "Konnte Zeile %d nicht parsen."
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "Keine Commits geparst."
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "Konnte %s nicht ΓΆffnen"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "Konnte %s nicht lesen."
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "Unbenutzbares Instruktionsblatt: %s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "UngΓΌltiger SchlΓΌssel: %s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "UngΓΌltiger Wert fΓΌr %s: %s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr "Fehlerhaftes Optionsblatt: %s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "\"cherry-pick\" oder \"revert\" ist bereits im Gang"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "versuchen Sie \"git cherry-pick (--continue | --quit | --abort)\""
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "Konnte \"sequencer\"-Verzeichnis %s nicht erstellen"
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "Fehler beim Einpacken von %s."
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "kein \"cherry-pick\" oder \"revert\" im Gang"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "kann HEAD nicht auflΓΆsen"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "kann nicht abbrechen: bin auf einem Branch, der noch geboren wird"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "Kann %s nicht ΓΆffnen: %s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "Kann %s nicht lesen: %s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "Unerwartetes Dateiende"
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' ist beschΓ€digt"
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "Konnte %s nicht formatieren."
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%s: %s kann nicht in \"cherry-pick\" benutzt werden"
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%s: ungΓΌltiger Commit"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "Kann nicht als allerersten Commit einen Revert ausfΓΌhren."
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr "Kann nicht als allerersten Commit einen Cherry-Pick ausfΓΌhren."
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "Fehler beim Lesen von %s"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "Offset vor Ende der Packdatei (fehlerhafte Indexdatei?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "Offset vor Beginn des Pack-Index fΓΌr %s (beschΓ€digter Index?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "Offset hinter Ende des Pack-Index fΓΌr %s (abgeschnittener Index?)"
+
+#: sha1_name.c:462
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"
@@ -1594,62 +1718,86 @@ msgstr ""
"indem Sie \"git config advice.objectNameWarning false\"\n"
"ausfΓΌhren."
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
"Kann nicht zusammengefΓΌhrte .gitmodules-Datei nicht Γ€ndern, lΓΆsen\n"
"Sie zuerst die Konflikte auf"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "Konnte keine Sektion in .gitmodules mit Pfad \"%s\" finden"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr "Konnte Eintrag '%s' in .gitmodules nicht aktualisieren"
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "Konnte Eintrag '%s' nicht aus .gitmodules entfernen"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "Konnte aktualisierte .gitmodules-Datei nicht zum Commit vormerken"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "Konnte core.worktree in '%s' nicht setzen."
+msgid "running trailer command '%s' failed"
+msgstr "AusfΓΌhren des Anhang-Befehls '%s' fehlgeschlagen"
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "unbekannter Wert '%s' fΓΌr SchlΓΌssel %s"
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "mehr als ein %s"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "leerer Anhang-Token in Anhang '%.*s'"
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "Konnte Eingabe-Datei '%s' nicht lesen"
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "konnte nicht von der Standard-Eingabe lesen"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "Konnte '%s' nicht lesen"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "Datei '%s' ist keine regulΓ€re Datei"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "Datei %s ist vom Benutzer nicht beschreibbar."
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "konnte temporΓ€re Datei '%s' nicht ΓΆffnen"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "konnte temporΓ€re Datei nicht zu %s umbenennen"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "Konnte Referenz %s nicht lesen."
@@ -1687,47 +1835,47 @@ msgstr "ungΓΌltige Portnummer"
msgid "invalid '..' path segment"
msgstr "ungΓΌltiges '..' Pfadsegment"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "Konnte '%s' nicht zum Lesen und Schreiben ΓΆffnen."
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen."
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "Konnte '%s' nicht zum Lesen ΓΆffnen."
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "konnte nicht auf '%s' zugreifen: %s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "konnte nicht auf '%s' zugreifen"
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "Konnte aktuelles Arbeitsverzeichnis nicht bekommen."
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen."
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "Konnte nicht nach '%s' schreiben."
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "Konnte '%s' nicht schließen."
@@ -1944,14 +2092,14 @@ msgstr ""
#: wt-status.c:1105
msgid "No commands done."
-msgstr "Keine Kommandos ausgefΓΌhrt."
+msgstr "Keine Befehle ausgefΓΌhrt."
#: wt-status.c:1108
#, c-format
msgid "Last command done (%d command done):"
msgid_plural "Last commands done (%d commands done):"
-msgstr[0] "Letztes Kommando ausgefΓΌhrt (%d Kommando ausgefΓΌhrt):"
-msgstr[1] "Letzte Kommandos ausgefΓΌhrt (%d Kommandos ausgefΓΌhrt):"
+msgstr[0] "Zuletzt ausgefΓΌhrter Befehl (%d Befehl ausgefΓΌhrt):"
+msgstr[1] "Zuletzt ausgefΓΌhrte Befehle (%d Befehle ausgefΓΌhrt):"
#: wt-status.c:1119
#, c-format
@@ -1960,14 +2108,14 @@ msgstr " (mehr Informationen in Datei %s)"
#: wt-status.c:1124
msgid "No commands remaining."
-msgstr "Keine Kommandos verbleibend."
+msgstr "Keine Befehle verbleibend."
#: wt-status.c:1127
#, c-format
msgid "Next command to do (%d remaining command):"
msgid_plural "Next commands to do (%d remaining commands):"
-msgstr[0] "NΓ€chstes auszufΓΌhrendes Kommando (%d Kommando verbleibend):"
-msgstr[1] "NΓ€chste auszufΓΌhrende Kommandos (%d Kommandos verbleibend):"
+msgstr[0] "NΓ€chster auszufΓΌhrender Befehl (%d Befehle verbleibend):"
+msgstr[1] "NΓ€chste auszufΓΌhrende Befehle (%d Befehle verbleibend):"
#: wt-status.c:1135
msgid " (use \"git rebase --edit-todo\" to view and edit)"
@@ -2227,7 +2375,11 @@ msgstr "entfernt"
msgid "behind "
msgstr "hinterher "
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "voraus "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "Konnte '%s' nicht entfernen."
@@ -2255,7 +2407,7 @@ msgid "Unstaged changes after refreshing the index:"
msgstr ""
"Nicht zum Commit vorgemerkte Γ„nderungen nach Aktualisierung der Staging-Area:"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "Konnte den Index nicht lesen"
@@ -2292,15 +2444,15 @@ msgstr ""
"Die folgenden Pfade werden durch eine Ihrer \".gitignore\" Dateien "
"ignoriert:\n"
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "Probelauf"
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "erweiterte Ausgaben"
@@ -2308,7 +2460,7 @@ msgstr "erweiterte Ausgaben"
msgid "interactive picking"
msgstr "interaktives AuswΓ€hlen"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "BlΓΆcke interaktiv auswΓ€hlen"
@@ -2379,144 +2531,139 @@ msgstr "Nichts spezifiziert, nichts hinzugefΓΌgt.\n"
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "Meinten Sie vielleicht 'git add .'?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "Index-Datei beschΓ€digt"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "Konnte neue Index-Datei nicht schreiben."
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "Konnte '%s' nicht lesen"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "Konnte '%s' nicht lesen"
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "konnte Autor-Skript nicht parsen"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "'%s' wurde durch den applypatch-msg Hook entfernt"
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr "Fehlerhafte Eingabezeile: '%s'."
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "Fehler beim Kopieren der Notizen von '%s' nach '%s'"
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "\"fseek\" fehlgeschlagen"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "Konnte '%s' nicht zum Lesen ΓΆffnen: %s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen: %s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "konnte Patch '%s' nicht parsen"
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr "Es kann nur eine StGIT Patch-Serie auf einmal angewendet werden."
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "ungΓΌltiger Zeitstempel"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "UngΓΌltige \"Date\"-Zeile"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "UngΓΌltiger Offset in der Zeitzone"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "Patch-Formaterkennung fehlgeschlagen."
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "Fehler beim Erstellen von Verzeichnis '%s'"
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "Fehler beim Aufteilen der Patches."
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "Konnte Index-Datei nicht schreiben."
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr ""
"Wenn Sie das Problem aufgelΓΆst haben, fΓΌhren Sie \"%s --continue\" aus."
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr ""
"Falls Sie diesen Patch auslassen mΓΆchten, fΓΌhren Sie stattdessen \"%s --skip"
"\" aus."
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr ""
"Um den ursprΓΌnglichen Branch wiederherzustellen und die Anwendung der "
"Patches abzubrechen, fΓΌhren Sie \"%s --abort\" aus."
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "Patch ist leer. War dessen Aufteilung falsch?"
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "UngΓΌltige Identifikationszeile: %s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "Konnte Commit '%s' nicht parsen."
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr ""
"Dem Repository fehlen notwendige Blobs um auf einen 3-Wege-Merge "
"zurΓΌckzufallen."
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr ""
"Verwende Informationen aus der Staging-Area, um ein Basisverzeichnis "
"nachzustellen ..."
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
@@ -2524,39 +2671,39 @@ msgstr ""
"Haben Sie den Patch per Hand editiert?\n"
"Er kann nicht auf die Blobs in seiner 'index' Zeile angewendet werden."
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr "Falle zurΓΌck zum Patchen der Basis und zum 3-Wege-Merge ..."
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "Merge der Γ„nderungen fehlgeschlagen."
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "\"git write-tree\" schlug beim Schreiben eines \"Tree\"-Objektes fehl"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "auf leere Historie anwenden"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "Fehler beim Schreiben des Commit-Objektes."
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "Kann nicht fortsetzen: %s existiert nicht"
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr ""
"Kann nicht interaktiv sein, ohne dass die Standard-Eingabe mit einem "
"Terminal verbunden ist."
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "Commit-Beschreibung ist:"
@@ -2564,35 +2711,35 @@ msgstr "Commit-Beschreibung ist:"
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr "Anwenden? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "GeΓ€nderter Index: kann Patches nicht anwenden (geΓ€ndert: %s)"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "Wende an: %.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "Keine Γ„nderungen -- Patches bereits angewendet."
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "Anwendung des Patches fehlgeschlagen bei %s %.*s"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "Die Kopie des fehlgeschlagenen Patches befindet sich in: %s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
@@ -2603,7 +2750,7 @@ msgstr ""
"diese bereits anderweitig eingefΓΌgt worden sein; Sie kΓΆnnten diesen Patch\n"
"auslassen."
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
@@ -2611,17 +2758,17 @@ msgstr ""
"Sie haben immer noch nicht zusammengefΓΌhrte Pfade im Index.\n"
"Haben Sie vergessen 'git add' zu benutzen?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "Konnte Objekt '%s' nicht parsen."
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "Fehler beim Bereinigen des Index"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
@@ -2629,153 +2776,153 @@ msgstr ""
"Sie scheinen seit dem letzten gescheiterten 'am' HEAD geΓ€ndert zu haben.\n"
"Keine ZurΓΌcksetzung zu ORIG_HEAD."
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "UngΓΌltiger Wert fΓΌr --patch-format: %s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<Optionen>] [(<mbox>|<E-Mail-Verzeichnis>)...]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<Optionen>] (--continue | --skip | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "interaktiv ausfΓΌhren"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "historische Option -- kein Effekt"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "erlaube, falls notwendig, das ZurΓΌckfallen auf einen 3-Wege-Merge"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "weniger Ausgaben"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr "der Commit-Beschreibung eine Signed-off-by Zeile hinzufΓΌgen"
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "nach UTF-8 umkodieren (Standard)"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "-k an git-mailinfo ΓΌbergeben"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "-b an git-mailinfo ΓΌbergeben"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "-m an git-mailinfo ΓΌbergeben"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr "--keep-cr an git-mailsplit fΓΌr mbox-Format ΓΌbergeben"
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr "kein --keep-cr an git-mailsplit ΓΌbergeben, unabhΓ€ngig von am.keepcr"
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "alles vor einer Scheren-Zeile entfernen"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "Aktion"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "an git-apply ΓΌbergeben"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "Wurzelverzeichnis"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "Pfad"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
-#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
-#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:244
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "Anzahl"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "Anzahl"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "Format"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "Patch-Format"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr "Meldung bei fehlerhafter Patch-Anwendung ΓΌberschreiben"
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "Anwendung der Patches nach AuflΓΆsung eines Konfliktes fortsetzen"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr "Synonyme fΓΌr --continue"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "den aktuellen Patch auslassen"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr ""
"ursprΓΌnglichen Branch wiederherstellen und Anwendung der Patches abbrechen"
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "Autor-Datum als Commit-Datum verwenden"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "aktuellen Zeitstempel als Autor-Datum verwenden"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr "GPG-SchlΓΌsselkennung"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "Commits mit GPG signieren"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "(intern fΓΌr git-rebase verwendet)"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
@@ -2783,16 +2930,16 @@ msgstr ""
"Die -b/--binary Option hat seit Langem keinen Effekt und wird\n"
"entfernt. Bitte verwenden Sie diese nicht mehr."
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "Fehler beim Lesen des Index"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr "Vorheriges Rebase-Verzeichnis %s existiert noch, aber mbox gegeben."
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
@@ -2801,7 +2948,7 @@ msgstr ""
"Stray %s Verzeichnis gefunden.\n"
"Benutzen Sie \"git am --abort\", um es zu entfernen."
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr "Es ist keine AuflΓΆsung im Gange, es wird nicht fortgesetzt."
@@ -3152,148 +3299,148 @@ msgstr "nicht erkannte Eingabe"
msgid "unable to read index file"
msgstr "Konnte Index-Datei nicht lesen"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "keine Γ„nderungen im angegebenen Pfad anwenden"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "Γ„nderungen nur im angegebenen Pfad anwenden"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr ""
"<Anzahl> vorangestellte SchrΓ€gstriche von herkΓΆmmlichen Differenzpfaden "
"entfernen"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "hinzugefΓΌgte Zeilen des Patches ignorieren"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr ""
"anstatt der Anwendung des Patches, den \"diffstat\" fΓΌr die Eingabe "
"ausgegeben"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr ""
"die Anzahl von hinzugefΓΌgten/entfernten Zeilen in Dezimalnotation anzeigen"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr ""
"anstatt der Anwendung des Patches, eine Zusammenfassung fΓΌr die Eingabe "
"ausgeben"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr ""
"anstatt der Anwendung des Patches, zeige ob Patch angewendet werden kann"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr ""
"sicherstellen, dass der Patch mit dem aktuellen Index angewendet werden kann"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "Patch anwenden, ohne Γ„nderungen im Arbeitsverzeichnis vorzunehmen"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr ""
"Patch anwenden, der Γ„nderungen außerhalb des Arbeitsverzeichnisses vornimmt"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr "Patch anwenden (Benutzung mit --stat/--summary/--check)"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr "versuche 3-Wege-Merge, wenn der Patch nicht angewendet werden konnte"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr ""
"einen temporΓ€ren Index, basierend auf den integrierten Index-Informationen, "
"erstellen"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr "Pfade sind getrennt durch NUL Zeichen"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr ""
"sicher stellen, dass mindestens <n> Zeilen des Kontextes ΓΌbereinstimmen"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr "neue oder geΓ€nderte Zeilen, die Whitespace-Fehler haben, ermitteln"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "Γ„nderungen im Whitespace bei der Suche des Kontextes ignorieren"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "den Patch in umgekehrter Reihenfolge anwenden"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "keinen Kontext erwarten"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr ""
"zurΓΌckgewiesene Patch-BlΓΆcke in entsprechenden *.rej Dateien hinterlassen"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "sich ΓΌberlappende Patch-BlΓΆcke erlauben"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr "fehlerhaft erkannten fehlenden Zeilenumbruch am Dateiende tolerieren"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr "den Zeilennummern im Kopf des Patch-Blocks nicht vertrauen"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "<Wurzelverzeichnis> vor alle Dateinamen stellen"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr ""
"Die Option --3way kann nicht außerhalb eines Repositories verwendet werden."
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr ""
"Die Option --index kann nicht außerhalb eines Repositories verwendet werden."
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr ""
"Die Option --cached kann nicht außerhalb eines Repositories verwendet werden."
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "kann Patch '%s' nicht ΓΆffnen"
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
msgstr[0] "unterdrΓΌckte %d Whitespace-Fehler"
msgstr[1] "unterdrΓΌckte %d Whitespace-Fehler"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3347,106 +3494,114 @@ msgstr "'git bisect next' ausfΓΌhren"
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr "BISECT_HEAD aktualisieren, anstatt den aktuellen Commit auszuchecken"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<Optionen>] [<rev-opts>] [<Commit>] [--] <Datei>"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<rev-opts> sind dokumentiert in git-rev-list(1)"
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "Verarbeite Zeilen"
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
msgstr "\"blame\"-EintrΓ€ge schrittweise anzeigen, wΓ€hrend wir sie generieren"
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr "leere SHA-1 fΓΌr Grenz-Commits anzeigen (Standard: aus)"
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr "Ursprungs-Commit nicht als Grenzen behandeln (Standard: aus)"
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "Statistiken zum Arbeitsaufwand anzeigen"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "Fortschrittsanzeige erzwingen"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr "Ausgabebewertung fΓΌr \"blame\"-EintrΓ€ge anzeigen"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "ursprΓΌnglichen Dateinamen anzeigen (Standard: auto)"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "ursprΓΌngliche Zeilennummer anzeigen (Standard: aus)"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "Anzeige in einem Format fΓΌr maschinelle Auswertung"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr ""
"Anzeige in Format fΓΌr Fremdprogramme mit Commit-Informationen pro Zeile"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr ""
"Den gleichen Ausgabemodus benutzen wie \"git-annotate\" (Standard: aus)"
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "Unbearbeiteten Zeitstempel anzeigen (Standard: aus)"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "Langen Commit-SHA1 anzeigen (Standard: aus)"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr "Den Namen des Autors und den Zeitstempel unterdrΓΌcken (Standard: aus)"
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr ""
"Anstatt des Namens die E-Mail-Adresse des Autors anzeigen (Standard: aus)"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "Unterschiede im Whitespace ignorieren"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr "LÀnger arbeiten, um bessere Übereinstimmungen zu finden"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr "Commits von <Datei> benutzen, anstatt \"git-rev-list\" aufzurufen"
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "Inhalte der <Datei>en als endgΓΌltiges Abbild benutzen"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "Bewertung"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "kopierte Zeilen innerhalb oder zwischen Dateien finden"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "verschobene Zeilen innerhalb oder zwischen Dateien finden"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "n,m"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr "nur Zeilen im Bereich n,m verarbeiten, gezΓ€hlt von 1"
@@ -3456,7 +3611,7 @@ msgstr "nur Zeilen im Bereich n,m verarbeiten, gezΓ€hlt von 1"
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "vor 4 Jahren, und 11 Monaten"
@@ -3659,157 +3814,157 @@ msgstr ""
"Branch ist umbenannt, aber die Aktualisierung der Konfigurationsdatei ist "
"fehlgeschlagen."
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "Konnte Beschreibungsvorlage fΓΌr Branch nicht schreiben: %s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "Allgemeine Optionen"
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr "Hash und Betreff anzeigen; -vv: zusΓ€tzlich Upstream-Branch"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "Informationsmeldungen unterdrΓΌcken"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "den Übernahmemodus einstellen (siehe git-pull(1))"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "Informationen zum Upstream-Branch Γ€ndern"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "farbige Ausgaben verwenden"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "auf Remote-Tracking-Branches wirken"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "nur Branches ausgeben, welche diesen Commit beinhalten"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "spezifische Aktionen fΓΌr \"git-branch\":"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "Remote-Tracking und lokale Branches auflisten"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "vollstΓ€ndig zusammengefΓΌhrten Branch entfernen"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "Branch lΓΆschen (auch wenn nicht zusammengefΓΌhrt)"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "einen Branch und dessen Reflog verschieben/umbenennen"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr ""
"einen Branch verschieben/umbenennen, auch wenn das Ziel bereits existiert"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "Branchnamen auflisten"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "das Reflog des Branches erzeugen"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "die Beschreibung fΓΌr den Branch bearbeiten"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "Erstellung, Verschiebung/Umbenennung oder LΓΆschung erzwingen"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "nur zusammengefΓΌhrte Branches ausgeben"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "nur nicht zusammengefΓΌhrte Branches ausgeben"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "Branches in Spalten auflisten"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "SchΓΌssel"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "sortiere nach diesem Feld"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "Objekt"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "nur Branches von diesem Objekt ausgeben"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "Konnte HEAD nicht als gΓΌltige Referenz auflΓΆsen."
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "HEAD wurde nicht unter \"refs/heads\" gefunden!"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "Die Optionen --column und --verbose sind inkompatibel."
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "Branchname erforderlich"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr "zu losgelΓΆstem HEAD kann keine Beschreibung hinterlegt werden"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "Beschreibung von mehr als einem Branch kann nicht bearbeitet werden"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "Noch kein Commit in Branch '%s'."
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "Branch '%s' nicht vorhanden."
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "zu viele Branches fΓΌr eine Umbenennen-Operation angegeben"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "zu viele Branches angegeben, um Upstream-Branch zu setzen"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
@@ -3817,43 +3972,43 @@ msgstr ""
"Konnte keinen neuen Upstream-Branch von HEAD zu %s setzen, da dieser auf\n"
"keinen Branch zeigt."
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "Kein solcher Branch '%s'"
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "Branch '%s' existiert nicht"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr ""
"zu viele Branches angegeben, um Konfiguration zu Upstream-Branch zu entfernen"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr ""
"Konnte Konfiguration zu Upstream-Branch von HEAD nicht entfernen, da dieser\n"
"auf keinen Branch zeigt."
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "'HEAD' darf nicht manuell erstellt werden"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr ""
"Die Optionen -a und -r bei 'git branch' kΓΆnnen nicht gemeimsam mit einem "
"Branchnamen verwendet werden."
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3862,7 +4017,7 @@ msgstr ""
"Die --set-upstream Option ist veraltet und wird entfernt. Benutzen Sie --"
"track oder --set-upstream-to\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3873,12 +4028,12 @@ msgstr ""
"Wenn Sie wollten, dass '%s' den Branch '%s' als Upstream-Branch hat, fΓΌhren "
"Sie aus:\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr " git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -3977,7 +4132,7 @@ msgstr "alle Attribute einer Datei ausgeben"
msgid "use .gitattributes only from the index"
msgstr "nur .gitattributes vom Index verwenden"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "Dateinamen von der Standard-Eingabe lesen"
@@ -3985,7 +4140,7 @@ msgstr "Dateinamen von der Standard-Eingabe lesen"
msgid "terminate input and output records by a NUL character"
msgstr "EintrÀge von Ein- und Ausgabe mit NUL-Zeichen abschließen"
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "Fortschrittsanzeige unterdrΓΌcken"
@@ -4039,52 +4194,56 @@ msgstr "Konnte Kontakt '%s' nicht parsen."
msgid "no contacts specified"
msgstr "keine Kontakte angegeben"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<Optionen>] [--] [<Datei>...]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "--stage sollte zwischen 1 und 3 oder 'all' sein"
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "alle Dateien im Index auschecken"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "das Überschreiben bereits existierender Dateien erzwingen"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr ""
"keine Warnung fΓΌr existierende Dateien, und Dateien, die sich nicht im Index "
"befinden"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "keine neuen Dateien auschecken"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "Dateiinformationen in der Index-Datei aktualisieren"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "eine Liste von Pfaden von der Standard-Eingabe lesen"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "den Inhalt in temporΓ€re Dateien schreiben"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "Zeichenkette"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr ""
"wenn Dateien erzeugt werden, stelle <Zeichenkette> dem Dateinamen voran"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "Dateien von dem benannten Stand kopieren"
@@ -4165,37 +4324,41 @@ msgstr "Kann \"reflog\" fΓΌr '%s' nicht durchfΓΌhren: %s\n"
msgid "HEAD is now at"
msgstr "HEAD ist jetzt bei"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "Konnte HEAD nicht aktualisieren."
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "Setze Branch '%s' neu\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "Bereits auf '%s'\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "Zu umgesetztem Branch '%s' gewechselt\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "Zu neuem Branch '%s' gewechselt\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "Zu Branch '%s' gewechselt\n"
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " ... und %d weitere.\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4218,7 +4381,7 @@ msgstr[1] ""
"\n"
"%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4245,152 +4408,152 @@ msgstr[1] ""
" git branch <neuer-Branchname> %s\n"
"\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "interner Fehler im Revisionsgang"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "Vorherige Position von HEAD war"
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "Sie sind auf einem Branch, der noch geboren wird"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "nur eine Referenz erwartet, %d gegeben."
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "UngΓΌltige Referenz: %s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "Referenz ist kein \"Tree\"-Objekt: %s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "Pfade kΓΆnnen nicht beim Wechseln von Branches verwendet werden"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr "'%s' kann nicht beim Wechseln von Branches verwendet werden"
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "'%s' kann nicht mit '%s' verwendet werden"
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr "Kann Branch nicht zu Nicht-Commit '%s' wechseln"
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "Branch"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "einen neuen Branch erzeugen und auschecken"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "einen Branch erstellen/umsetzen und auschecken"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "das Reflog fΓΌr den neuen Branch erzeugen"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "HEAD zu benanntem Commit setzen"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "Informationen zum Upstream-Branch fΓΌr den neuen Branch setzen"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "neuer Branch"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "neuer Branch ohne Eltern-Commit"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr "unsere Variante fΓΌr nicht zusammengefΓΌhrte Dateien auschecken"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr "ihre Variante fΓΌr nicht zusammengefΓΌhrte Dateien auschecken"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "Auschecken erzwingen (verwirft lokale Γ„nderungen)"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "einen 3-Wege-Merge mit dem neuen Branch ausfΓΌhren"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "ignorierte Dateien aktualisieren (Standard)"
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "Stil"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr "Konfliktstil (merge oder diff3)"
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr "keine EinschrΓ€nkung bei Pfadspezifikationen zum partiellen Auschecken"
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "second guess 'git checkout <no-such-branch>'"
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr ""
"PrΓΌfung, ob die Referenz bereits in einem anderen Arbeitsverzeichnis "
"ausgecheckt wurde, deaktivieren"
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "Fortschrittsanzeige erzwingen"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "Die Optionen -b, -B und --orphan schließen sich gegenseitig aus."
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "Bei der Option --track muss ein Branchname angegeben werden."
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "Vermisse Branchnamen; versuchen Sie -b"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "ungΓΌltige Pfadspezifikation"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4400,12 +4563,12 @@ msgstr ""
"Haben Sie beabsichtigt '%s' auszuchecken, welcher nicht als Commit aufgelΓΆst "
"werden kann?"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr "git checkout: --detach nimmt kein Pfad-Argument '%s'"
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4444,7 +4607,7 @@ msgstr "WΓΌrde Repository %s ΓΌberspringen\n"
msgid "failed to remove %s"
msgstr "Fehler beim LΓΆschen von %s"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4456,7 +4619,7 @@ msgstr ""
"foo - Element anhand eines eindeutigen PrΓ€fix auswΓ€hlen\n"
" - (leer) nichts auswΓ€hlen"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4476,36 +4639,36 @@ msgstr ""
"* - alle Elemente auswΓ€hlen\n"
" - (leer) Auswahl beenden"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "Wie bitte (%s)?"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "Ignorier-Muster eingeben>> "
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "WARNUNG: Kann keine EintrΓ€ge finden die Muster entsprechen: %s"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "WΓ€hlen Sie EintrΓ€ge zum LΓΆschen"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "'%s' lΓΆschen [y/N]? "
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "TschΓΌss."
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4523,62 +4686,62 @@ msgstr ""
"help - diese Meldung anzeigen\n"
"? - Hilfe zur Auswahl mittels Eingabe anzeigen"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
-msgstr "*** Kommandos ***"
+msgstr "*** Befehle ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "Was nun"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] "WΓΌrde das folgende Element entfernen:"
msgstr[1] "WΓΌrde die folgenden Elemente entfernen:"
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "Keine Dateien mehr zum LΓΆschen, beende."
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "keine Namen von gelΓΆschten Dateien ausgeben"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "Aktion erzwingen"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "interaktives Clean"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "ganze Verzeichnisse lΓΆschen"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "Muster"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "<Muster> zu den Regeln fΓΌr ignorierte Pfade hinzufΓΌgen"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "auch ignorierte Dateien lΓΆschen"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "nur ignorierte Dateien lΓΆschen"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "Die Optionen -x und -X kΓΆnnen nicht gemeinsam verwendet werden."
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
@@ -4586,7 +4749,7 @@ msgstr ""
"clean.requireForce auf \"true\" gesetzt und weder -i, -n noch -f gegeben; "
"\"clean\" verweigert"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4598,151 +4761,168 @@ msgstr ""
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<Optionen>] [--] <Repository> [<Verzeichnis>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "kein Auschecken"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "ein Bare-Repository erstellen"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "ein Spiegelarchiv erstellen (impliziert --bare)"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "von einem lokalen Repository klonen"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "lokal keine harten Verweise verwenden, immer Kopien"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "als verteiltes Repository einrichten"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "Submodule im Klon initialisieren"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "Vorlagenverzeichnis"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "Verzeichnis, von welchem die Vorlagen verwendet werden"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "Repository referenzieren"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "--reference nur wΓ€hrend des Klonens benutzen"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "Name"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "<Name> statt 'origin' fΓΌr Upstream-Repository verwenden"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "<Branch> auschecken, anstatt HEAD des Remote-Repositories"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654
-#: builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
msgid "depth"
msgstr "Tiefe"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr ""
"einen Klon mit unvollstΓ€ndiger Historie (shallow) in dieser Tiefe erstellen"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "nur einen Branch klonen, HEAD oder --branch"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr ".git-Verzeichnis"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "Git-Verzeichnis vom Arbeitsverzeichnis separieren"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "SchlΓΌssel=Wert"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "Konfiguration innerhalb des neuen Repositories setzen"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "nur IPv4-Adressen benutzen"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "nur IPv6-Adressen benutzen"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"Konnte keinen Verzeichnisnamen erraten.\n"
+"Bitte geben Sie ein Verzeichnis auf der Befehlszeile an."
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr "Referenziertes Repository '%s' wird noch nicht als verknΓΌpftes\n"
+msgstr ""
+"Referenziertes Repository '%s' wird noch nicht als verknΓΌpftes\n"
"Arbeitsverzeichnis unterstΓΌtzt."
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr "Referenziertes Repository '%s' ist kein lokales Repository."
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr ""
"Referenziertes Repository '%s' hat eine unvollstΓ€ndige Historie (shallow)."
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr ""
"Referenziertes Repository '%s' ist mit kΓΌnstlichen VorgΓ€ngern (\"grafts\") "
"eingehΓ€ngt."
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "Konnte '%s' nicht lesen"
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "%s existiert und ist kein Verzeichnis"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "Konnte %s nicht lesen\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "Konnte Verweis '%s' nicht erstellen"
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "Konnte Datei nicht nach '%s' kopieren"
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "Fertig.\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
@@ -4752,123 +4932,132 @@ msgstr ""
"Sie kΓΆnnen mit 'git status' prΓΌfen, was ausgecheckt worden ist\n"
"und das Auschecken mit 'git checkout -f HEAD' erneut versuchen.\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "Konnte zu klonenden Remote-Branch %s nicht finden."
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "PrΓΌfe KonnektivitΓ€t ... "
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "Remote-Repository hat nicht alle erforderlichen Objekte gesendet."
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "kann %s nicht aktualisieren"
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr ""
"Externer HEAD bezieht sich auf eine nicht existierende Referenz und kann "
"nicht ausgecheckt werden.\n"
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "Arbeitsverzeichnis konnte nicht ausgecheckt werden"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "konnte Parameter nicht in Konfigurationsdatei schreiben"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "Kann \"repack\" zum AufrΓ€umen nicht aufrufen"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "Kann temporΓ€re \"alternates\"-Datei nicht entfernen"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "Zu viele Argumente."
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "Sie mΓΌssen ein Repository zum Klonen angeben."
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "Die Optionen --bare und --origin %s sind inkompatibel."
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "Die Optionen --bare und --separate-git-dir sind inkompatibel."
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "Repository '%s' existiert nicht."
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "Tiefe %s ist keine positive Zahl"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr "Zielpfad '%s' existiert bereits und ist kein leeres Verzeichnis."
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "Arbeitsverzeichnis '%s' existiert bereits."
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr "Konnte fΓΌhrende Verzeichnisse von '%s' nicht erstellen."
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr "Konnte Arbeitsverzeichnis '%s' nicht erstellen"
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "Klone in Bare-Repository '%s' ...\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "Klone nach '%s' ...\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
msgstr ""
"Die Option --depth wird in lokalen Klonen ignoriert; benutzen Sie "
"stattdessen file://"
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr ""
"Quelle ist ein Repository mit unvollstΓ€ndiger Historie (shallow),ignoriere --"
"local"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local wird ignoriert"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "Weiß nicht wie %s zu klonen ist."
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr "Remote-Branch %s nicht im Upstream-Repository %s gefunden"
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "Sie scheinen ein leeres Repository geklont zu haben."
@@ -4929,7 +5118,7 @@ msgstr ""
"Ihr Name und E-Mail Adresse wurden automatisch auf Basis\n"
"Ihres Benutzer- und Rechnernamens konfiguriert. Bitte prΓΌfen Sie, dass\n"
"diese zutreffend sind. Sie kΓΆnnen diese Meldung unterdrΓΌcken, indem Sie\n"
-"diese explizit setzen. FΓΌhren Sie dazu das folgende Kommando aus und folgen\n"
+"diese explizit setzen. FΓΌhren Sie dazu den folgenden Befehl aus und folgen\n"
"Sie den Anweisungen in Ihrem Editor, um die Konfigurationsdatei zu "
"bearbeiten:\n"
"\n"
@@ -4973,7 +5162,7 @@ msgid ""
"remove the commit entirely with \"git reset HEAD^\".\n"
msgstr ""
"Sie fragten den jΓΌngsten Commit nachzubessern, aber das wΓΌrde diesen leer\n"
-"machen. Sie kΓΆnnen Ihr Kommando mit --allow-empty wiederholen, oder diesen\n"
+"machen. Sie kΓΆnnen Ihren Befehl mit --allow-empty wiederholen, oder diesen\n"
"Commit mit \"git reset HEAD^\" vollstΓ€ndig entfernen.\n"
#: builtin/commit.c:78
@@ -5084,7 +5273,7 @@ msgstr ""
msgid "could not lookup commit %s"
msgstr "Konnte Commit %s nicht nachschlagen"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "(lese Log-Nachricht von Standard-Eingabe)\n"
@@ -5281,8 +5470,8 @@ msgstr "Status im Kurzformat anzeigen"
msgid "show branch information"
msgstr "Branchinformationen anzeigen"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "maschinenlesbare Ausgabe"
@@ -5373,8 +5562,8 @@ msgstr "Datum"
msgid "override date for commit"
msgstr "Datum eines Commits ΓΌberschreiben"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "Beschreibung"
@@ -5411,7 +5600,7 @@ msgstr ""
msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr "Sie als Autor des Commits setzen (verwendet mit -C/-c/--amend)"
-#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "'Signed-off-by:'-Zeile hinzufΓΌgen"
@@ -5436,7 +5625,7 @@ msgstr ""
msgid "include status in commit message template"
msgstr "Status in die Commit-Beschreibungsvorlage einfΓΌgen"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "Commit mit GPG signieren"
@@ -5528,139 +5717,145 @@ msgstr ""
"voll und Ihr Kontingent nicht aufgebraucht ist und fΓΌhren Sie\n"
"anschließend \"git reset HEAD\" zu Wiederherstellung aus."
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<Optionen>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "Ort der Konfigurationsdatei"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "globale Konfigurationsdatei verwenden"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "systemweite Konfigurationsdatei verwenden"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "Konfigurationsdatei des Repositories verwenden"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "die angegebene Konfigurationsdatei verwenden"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "Blob-Id"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "Konfiguration von angegebenem Blob-Objekt lesen"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "Aktion"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "Wert zurΓΌckgeben: Name [Wert-regex]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "alle Werte zurΓΌckgeben: SchlΓΌssel [Wert-regex]"
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr "Werte fΓΌr den regulΓ€ren Ausdruck zurΓΌckgeben: Name-regex [Wert-regex]"
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr "Wert spezifisch fΓΌr eine URL zurΓΌckgeben: section[.var] URL"
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr "alle passenden Variablen ersetzen: Name Wert [Wert-regex] "
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "neue Variable hinzufΓΌgen: Name Wert"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "eine Variable entfernen: Name [Wert-regex]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "alle Übereinstimmungen entfernen: Name [Wert-regex]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "eine Sektion umbenennen: alter-Name neuer-Name"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "eine Sektion entfernen: Name"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "alles auflisten"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "einen Editor ΓΆffnen"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "die konfigurierte Farbe finden: Slot [Standard]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "die Farbeinstellung finden: Slot [Standard-Ausgabe-ist-Terminal]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "Typ"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "Wert ist \"true\" oder \"false\""
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "Wert ist eine Dezimalzahl"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "Wert ist --bool oder --int"
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr "Wert ist ein Pfad (Datei oder Verzeichnisname)"
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr "Sonstiges"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "schließt Werte mit NUL-Byte ab"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "nur Variablennamen anzeigen"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "beachtet \"include\"-Direktiven beim Nachschlagen"
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr ""
+"Ursprung der Konfiguration anzeigen (Datei, Standard-Eingabe, Blob, "
+"Befehlszeile)"
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr "konnte Standard-Farbwert nicht parsen"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5675,7 +5870,7 @@ msgstr ""
"#\tname = %s\n"
"#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "Konnte Konfigurationsdatei '%s' nicht erstellen."
@@ -5927,167 +6122,171 @@ msgstr "git fetch --multiple [<Optionen>] [(<Repository> | <Gruppe>)...]"
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<Optionen>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "fordert von allen Remote-Repositories an"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "an .git/FETCH_HEAD anhΓ€ngen, anstatt zu ΓΌberschreiben"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "Pfad des Programms zum Hochladen von Paketen auf der Gegenseite"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "das Überschreiben von lokalen Branches erzwingen"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "von mehreren Remote-Repositories anfordern"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "alle Tags und verbundene Objekte anfordern"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "nicht alle Tags anfordern (--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "Anzahl der parallel anzufordernden Submodule"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr ""
"Remote-Tracking-Branches entfernen, die sich nicht mehr im Remote-Repository "
"befinden"
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "bei-Bedarf"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "rekursive Anforderungen von Submodulen kontrollieren"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "heruntergeladenes Paket behalten"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "Aktualisierung der \"HEAD\"-Referenz erlauben"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr ""
"die Historie eines Klons mit unvollstΓ€ndiger Historie (shallow) vertiefen"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "zu einem vollstΓ€ndigen Repository konvertieren"
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr "Verzeichnis"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "dies an die Ausgabe der Submodul-Pfade voranstellen"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "Standard-Modus fΓΌr Rekursion"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr "Referenzen, die .git/shallow aktualisieren, akzeptieren"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "Refmap"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "Refmap fΓΌr 'fetch' angeben"
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "Konnte Remote-Referenz von HEAD nicht finden."
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "Objekt %s nicht gefunden"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[aktuell]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr ""
"! %-*s %-*s -> %s (kann \"fetch\" im aktuellen Branch nicht ausfΓΌhren)"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[zurΓΌckgewiesen]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[Tag Aktualisierung]"
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " (kann lokale Referenz nicht aktualisieren)"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[neues Tag]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[neuer Branch]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[neue Referenz]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "kann lokale Referenz nicht aktualisieren"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "Aktualisierung erzwungen"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "(kein Vorspulen)"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "kann %s nicht ΓΆffnen: %s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr "%s hat nicht alle erforderlichen Objekte gesendet\n"
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr ""
"%s wurde zurΓΌckgewiesen, da Ursprungs-Commits von Repositoriesmit "
"unvollstΓ€ndiger Historie (shallow) nicht aktualisiert werden dΓΌrfen."
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "Von %.*s\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
@@ -6096,57 +6295,57 @@ msgstr ""
"Einige lokale Referenzen konnten nicht aktualisiert werden; versuchen Sie\n"
"'git remote prune %s', um jeden Γ€lteren, widersprΓΌchlichen Branch zu lΓΆschen."
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s wird unreferenziert)"
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s wurde unreferenziert)"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[gelΓΆscht]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(nichts)"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr ""
"Der \"fetch\" in den aktuellen Branch %s von einem nicht-Bare-Repository "
"wurde verweigert."
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr "Option \"%s\" Wert \"%s\" ist nicht gΓΌltig fΓΌr %s"
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "Option \"%s\" wird ignoriert fΓΌr %s\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "Weiß nicht wie von %s angefordert wird."
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "Fordere an von %s\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "Konnte nicht von %s anfordern"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
@@ -6155,35 +6354,35 @@ msgstr ""
"oder den Namen des Remote-Repositories an, von welchem neue\n"
"Commits angefordert werden sollen."
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "Sie mΓΌssen den Namen des Tags angeben."
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr ""
"Die Optionen --depth und --unshallow kΓΆnnen nicht gemeinsam verwendet werden."
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
msgstr ""
"Die Option --unshallow kann nicht in einem Repository mit unvollstΓ€ndiger "
"Historie verwendet werden."
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "fetch --all akzeptiert kein Repository als Argument"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr "fetch --all kann nicht mit Refspecs verwendet werden."
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "Kein Remote-Repository (einzeln oder Gruppe): %s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr ""
"Das Abholen einer Gruppe von Remote-Repositories kann nicht mit der Angabe\n"
@@ -6418,236 +6617,250 @@ msgstr ""
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<Optionen>] [-e] <Muster> [<Commit>...] [[--] <Pfad>...]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grep: Fehler beim Erzeugen eines Thread: %s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "ungΓΌltige Anzahl von Threads (%d) fΓΌr %s angegeben"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr "kann \"grep\" nicht mit Objekten des Typs %s durchfΓΌhren"
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "Schalter '%c' erwartet einen numerischen Wert"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "kann '%s' nicht ΓΆffnen"
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr "im Index anstatt im Arbeitsverzeichnis suchen"
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "auch in Inhalten finden, die nicht von Git verwaltet werden"
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "in versionierten und unversionierten Dateien suchen"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "Dateien, die ΓΌber '.gitignore' angegeben sind, ignorieren"
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "Zeilen ohne Übereinstimmungen anzeigen"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "Übereinstimmungen unabhÀngig von Groß- und Kleinschreibung finden"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "nur ganze WΓΆrter suchen"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "binΓ€re Dateien als Text verarbeiten"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "keine Muster in BinΓ€rdateien finden"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "binΓ€re Dateien mit \"textconv\"-Filtern verarbeiten"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "hΓΆchstens <Tiefe> Ebenen durchlaufen"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "erweiterte regulΓ€re AusdrΓΌcke aus POSIX verwenden"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "grundlegende regulΓ€re AusdrΓΌcke aus POSIX verwenden (Standard)"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "Muster als feste Zeichenketten interpretieren"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "Perl-kompatible regulΓ€re AusdrΓΌcke verwenden"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "Zeilennummern anzeigen"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "keine Dateinamen anzeigen"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "Dateinamen anzeigen"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "Dateinamen relativ zum Projektverzeichnis anzeigen"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "nur Dateinamen anzeigen anstatt ΓΌbereinstimmende Zeilen"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "Synonym fΓΌr --files-with-matches"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "nur die Dateinamen ohne Übereinstimmungen anzeigen"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "NUL-Zeichen nach Dateinamen ausgeben"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "anstatt der Zeilen, die Anzahl der ΓΌbereinstimmenden Zeilen anzeigen"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "Übereinstimmungen hervorheben"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr ""
"eine Leerzeile zwischen Übereinstimmungen in verschiedenen Dateien ausgeben"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr ""
"den Dateinamen nur einmal oberhalb der Übereinstimmungen aus dieser Datei "
"anzeigen"
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "<n> Zeilen vor und nach den Übereinstimmungen anzeigen"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "<n> Zeilen vor den Übereinstimmungen anzeigen"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "<n> Zeilen nach den Übereinstimmungen anzeigen"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "<n> Threads benutzen"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "Kurzform fΓΌr -C NUM"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr "eine Zeile mit dem Funktionsnamen vor Übereinstimmungen anzeigen"
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "die umgebende Funktion anzeigen"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "Muster von einer Datei lesen"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "<Muster> finden"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "Muster kombinieren, die mit -e angegeben wurden"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr "Übereinstimmungen nur durch Beendigungsstatus anzeigen"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr ""
"nur Übereinstimmungen von Dateien anzeigen, die allen Mustern entsprechen"
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "geparstes Verzeichnis fΓΌr \"grep\"-Ausdruck anzeigen"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "Anzeigeprogramm"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "Dateien mit Übereinstimmungen im Anzeigeprogramm anzeigen"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "den Aufruf von grep(1) erlauben (von dieser Programmversion ignoriert)"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "keine Muster angegeben"
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "ungΓΌltige Anzahl von Threads angegeben (%d)"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr ""
"Die Option --open-files-in-pager kann nur innerhalb des "
"Arbeitsverzeichnisses verwendet werden."
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
msgstr ""
"Die Optionen --cached und --untracked kΓΆnnen nicht mit --no-index verwendet "
"werden."
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr ""
"Die Optionen --no-index und --untracked kΓΆnnen nicht mit Commits verwendet "
"werden."
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr ""
"Die Option --[no-]exclude-standard kann nicht mit versionierten Inhalten "
"verwendet werden."
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "Die Option --cached kann nicht mit \"Tree\"-Objekten verwendet werden."
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
@@ -6655,44 +6868,44 @@ msgstr ""
"git hash-object [-t <Art>] [-w] [--path=<Datei> | --no-filters] [--stdin] "
"[--] <Datei>..."
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "Art"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "Art des Objektes"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "das Objekt in die Objektdatenbank schreiben"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "das Objekt von der Standard-Eingabe lesen"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "Datei wie sie ist speichern, ohne Filter"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr ""
"Hash ΓΌber zufΓ€llige Daten, zur Erzeugung von beschΓ€digten Objekten zur\n"
"Fehlersuche in Git, erzeugen"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "Datei verarbeiten, als ob sie von diesem Pfad wΓ€re"
#: builtin/help.c:41
msgid "print all available commands"
-msgstr "alle vorhandenen Kommandos anzeigen"
+msgstr "alle vorhandenen Befehle anzeigen"
#: builtin/help.c:42
msgid "print list of useful guides"
@@ -6712,7 +6925,7 @@ msgstr "Info-Seite anzeigen"
#: builtin/help.c:52
msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
-msgstr "git help [--all] [--guides] [--man | --web | --info] [<Kommando>]"
+msgstr "git help [--all] [--guides] [--man | --web | --info] [<Befehl>]"
#: builtin/help.c:64
#, c-format
@@ -6737,7 +6950,7 @@ msgstr "Version des emacsclient '%d' ist zu alt (< 22)."
msgid "failed to exec '%s': %s"
msgstr "Fehler beim AusfΓΌhren von '%s': %s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
@@ -6746,70 +6959,70 @@ msgstr ""
"'%s': Pfad fΓΌr nicht unterstΓΌtzten Handbuchbetrachter.\n"
"Sie kΓΆnnten stattdessen 'man.<Werkzeug>.cmd' benutzen."
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
"Please consider using 'man.<tool>.path' instead."
msgstr ""
-"'%s': Kommando fΓΌr unterstΓΌtzten Handbuchbetrachter.\n"
+"'%s': Programm fΓΌr unterstΓΌtzten Handbuchbetrachter.\n"
"Sie kΓΆnnten stattdessen 'man.<Werkzeug>.path' benutzen."
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "'%s': unbekannter Handbuch-Betrachter."
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "kein Handbuch-Betrachter konnte mit dieser Anfrage umgehen"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "kein Informations-Betrachter konnte mit dieser Anfrage umgehen"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "Definition von Attributen pro Pfad"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
-msgstr "TΓ€gliche Benutzung von Git mit ungefΓ€hr 20 Kommandos"
+msgstr "TΓ€gliche Benutzung von Git mit ungefΓ€hr 20 Befehlen"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "Ein Git-Glossar"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "Spezifikation von bewusst ignorierten, unversionierten Dateien"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "Definition von Submodul-Eigenschaften"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "Spezifikation von Commits und Bereichen fΓΌr Git"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr "Eine einfΓΌhrende Anleitung zu Git (fΓΌr Version 1.5.1 oder neuer)"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "Eine Übersicht über empfohlene ArbeitsablÀufe mit Git"
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "Die allgemein verwendeten Git-Anleitungen sind:\n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "Verwendung: %s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "fΓΌr `git %s' wurde der Alias `%s' angelegt"
@@ -7046,60 +7259,55 @@ msgstr "Kann Indexdatei nicht speichern"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "\"pack.indexversion=%<PRIu32>\" ist ungΓΌltig"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "ungΓΌltige Anzahl von Threads angegeben (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "keine UnterstΓΌtzung von Threads, '%s' wird ignoriert"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "Kann existierende Paketdatei '%s' nicht ΓΆffnen"
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr "Kann existierende Indexdatei fΓΌr Paket '%s' nicht ΓΆffnen"
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
msgstr[0] "kein Unterschied: %d Objekt"
msgstr[1] "kein Unterschied: %d Objekte"
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] "LΓ€nge der Objekt-Liste = %d: %lu Objekt"
msgstr[1] "LΓ€nge der Objekt-Liste = %d: %lu Objekte"
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "Kann nicht zurΓΌck zu Arbeitsverzeichnis wechseln"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "%s ist ungΓΌltig"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "Die Option --fix-thin kann nicht ohne --stdin verwendet werden."
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr "Name der Paketdatei '%s' endet nicht mit '.pack'"
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "Die Option --verify wurde ohne Namen der Paketdatei angegeben."
@@ -7225,24 +7433,32 @@ msgstr "Kann nicht auf Arbeitsverzeichnis '%s' zugreifen."
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer <Token>[(=|:)<Wert>])...] "
-"[<Datei>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<Token>[(=|:)<Wert>])...] [<Datei>...]"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "vorhandene Dateien direkt bearbeiten"
+
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "kΓΌrzt leere AnhΓ€nge"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "Anhang"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "Anhang/AnhΓ€nge hinzufΓΌgen"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "keine Datei zur direkten Bearbeitung angegeben"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<Optionen>] [<Commitbereich>] [[--] <Pfad>...]"
@@ -7296,226 +7512,226 @@ msgstr "Kann Objekt %s nicht lesen."
msgid "Unknown type: %d"
msgstr "Unbekannter Typ: %d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "format.headers ohne Wert"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "Name des Ausgabeverzeichnisses ist zu lang."
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "Kann Patch-Datei %s nicht ΓΆffnen"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "Brauche genau einen Commit-Bereich."
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "Kein Commit-Bereich."
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "Anschreiben benΓΆtigt E-Mail-Format"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "ungΓΌltiges in-reply-to: %s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<Optionen>] [<seit> | <Commitbereich>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "Zwei Ausgabeverzeichnisse?"
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "[PATCH n/m] auch mit einzelnem Patch verwenden"
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "[PATCH] auch mit mehreren Patches verwenden"
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "Ausgabe der Patches in Standard-Ausgabe"
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "ein Deckblatt erzeugen"
-#: builtin/log.c:1222
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr "einfache Nummernfolge fΓΌr die Namen der Ausgabedateien verwenden"
-#: builtin/log.c:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr "Dateiendung"
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "<Dateiendung> anstatt '.patch' verwenden"
-#: builtin/log.c:1226
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr "die Nummerierung der Patches bei <n> anstatt bei 1 beginnen"
-#: builtin/log.c:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "die Serie als n-te Fassung kennzeichnen"
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "[<PrΓ€fix>] anstatt [PATCH] verwenden"
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "erzeugte Dateien in <Verzeichnis> speichern"
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "[PATCH] nicht entfernen/hinzufΓΌgen"
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "keine binΓ€ren Unterschiede ausgeben"
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
msgstr "Hash mit Nullen in \"From\"-Header ausgeben"
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr ""
"keine Patches einschließen, die einem Commit im Upstream-Branch entsprechen"
-#: builtin/log.c:1245
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr "Patchformat anstatt des Standards anzeigen (Patch + Zusammenfassung)"
-#: builtin/log.c:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "E-Mail-Einstellungen"
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr "Header"
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr "E-Mail-Header hinzufΓΌgen"
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "E-Mail"
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "\"To:\"-Header hinzufΓΌgen"
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "\"Cc:\"-Header hinzufΓΌgen"
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr "Ident"
-#: builtin/log.c:1255
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr ""
"\"From\"-Adresse auf <Ident> setzen (oder Ident des Commit-Erstellers, wenn "
"fehlend)"
-#: builtin/log.c:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr "message-id"
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "aus erster E-Mail eine Antwort zu <message-id> machen"
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "Grenze"
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "den Patch anhΓ€ngen"
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "den Patch direkt in die Nachricht einfΓΌgen"
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr "Nachrichtenverkettung aktivieren, Stile: shallow, deep"
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr "Signatur"
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "eine Signatur hinzufΓΌgen"
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "eine Signatur aus einer Datei hinzufΓΌgen"
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "keine Dateinamen der Patches anzeigen"
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "Die Optionen -n und -k schließen sich gegenseitig aus."
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "Die Optionen --subject-prefix und -k schließen sich gegenseitig aus."
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "Die Option --name-only kann nicht verwendet werden."
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "Die Option --name-status kann nicht verwendet werden."
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "Die Option --check kann nicht verwendet werden."
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "Standard-Ausgabe oder Verzeichnis, welches von beidem?"
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "Konnte Verzeichnis '%s' nicht erstellen."
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "Konnte Signatur-Datei '%s' nicht lesen"
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "Fehler beim Erstellen der Ausgabedateien."
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<Upstream> [<Branch> [<Limit>]]]"
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -7523,108 +7739,160 @@ msgstr ""
"Konnte gefolgten Remote-Branch nicht finden, bitte geben Sie <Upstream> "
"manuell an.\n"
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "Unbekannter Commit %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<Optionen>] [<Datei>...]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "den Dateistatus mit Tags anzeigen"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr ""
"Kleinbuchstaben fΓΌr Dateien mit 'assume unchanged' Markierung verwenden"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr "zwischengespeicherte Dateien in der Ausgabe anzeigen (Standard)"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "entfernte Dateien in der Ausgabe anzeigen"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "geΓ€nderte Dateien in der Ausgabe anzeigen"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "sonstige Dateien in der Ausgabe anzeigen"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "ignorierte Dateien in der Ausgabe anzeigen"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr ""
"Objektnamen von Inhalten, die zum Commit vorgemerkt sind, in der Ausgabe "
"anzeigen"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr "Dateien im Dateisystem, die gelΓΆscht werden mΓΌssen, anzeigen"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "nur Namen von 'sonstigen' Verzeichnissen anzeigen"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "Zeilenenden von Dateien anzeigen"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "keine leeren Verzeichnisse anzeigen"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "nicht zusammengefΓΌhrte Dateien in der Ausgabe anzeigen"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "'resolve-undo' Informationen anzeigen"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "Dateien auslassen, die einem Muster entsprechen"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "Muster, gelesen von <Datei>, ausschließen"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "zusΓ€tzliche pro-Verzeichnis Auschlussmuster aus <Datei> auslesen"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "die standardmÀßigen Git-Ausschlüsse hinzufügen"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "Ausgabe relativ zum Projektverzeichnis"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "als Fehler behandeln, wenn sich eine <Datei> nicht im Index befindet"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "Commit-Referenz"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr ""
"vorgeben, dass Pfade, die seit <Commit-Referenz> gelΓΆscht wurden, immer noch "
"vorhanden sind"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "Ausgaben zur Fehlersuche anzeigen"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<Programm>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<Repository> [<Referenzen>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "URL des Remote-Repositories nicht ausgeben"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "Programm"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "auf Tags einschrΓ€nken"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "auf Branches einschrΓ€nken"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "keine Tags anzeigen, die andere Tags enthalten"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "url.<Basis>.insteadOf berΓΌcksichtigen"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr ""
+"mit RΓΌckkehrwert 2 beenden, wenn keine ΓΌbereinstimmenden Referenzen\n"
+"gefunden wurden"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "zusΓ€tzlich die auf durch dieses Objekt verwiesene Referenzen anzeigen"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<Optionen>] <Commit-Referenz> [<Pfad>...]"
@@ -7694,33 +7962,33 @@ msgstr "VerfΓΌgbare Strategien sind:"
msgid "Available custom strategies are:"
msgstr "VerfΓΌgbare benutzerdefinierte Strategien sind:"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr "keine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen"
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "eine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "(Synonym fΓΌr --stat)"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr ""
"(hΓΆchstens <n>) EintrΓ€ge von \"shortlog\" zur Beschreibung des Merge-Commits "
"hinzufΓΌgen"
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr "einen einzelnen Commit anstatt eines Merges erzeugen"
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "einen Commit durchfΓΌhren, wenn der Merge erfolgreich war (Standard)"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "Bearbeitung der Beschreibung vor dem Commit"
@@ -7728,7 +7996,7 @@ msgstr "Bearbeitung der Beschreibung vor dem Commit"
msgid "allow fast-forward (default)"
msgstr "Vorspulen erlauben (Standard)"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr "abbrechen, wenn kein Vorspulen mΓΆglich ist"
@@ -7736,20 +8004,20 @@ msgstr "abbrechen, wenn kein Vorspulen mΓΆglich ist"
msgid "Verify that the named commit has a valid GPG signature"
msgstr "den genannten Commit auf eine gΓΌltige GPG-Signatur ΓΌberprΓΌfen"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "Strategie"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "zu verwendende Merge-Strategie"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "Option=Wert"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "Option fΓΌr ausgewΓ€hlte Merge-Strategie"
@@ -7788,8 +8056,8 @@ msgstr " (nichts zu quetschen)"
msgid "Squash commit -- not updating HEAD\n"
msgstr "Quetsche Commit -- HEAD wird nicht aktualisiert\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "Konnte nicht nach '%s' schreiben."
@@ -7807,43 +8075,43 @@ msgstr "Schließe SQUASH_MSG ab"
msgid "No merge message -- not updating HEAD\n"
msgstr "Keine Merge-Commit-Beschreibung -- HEAD wird nicht aktualisiert\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "'%s' zeigt auf keinen Commit"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "UngΓΌltiger branch.%s.mergeoptions String: %s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
msgstr "Es wird nur der Merge von zwei Branches behandelt."
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "Unbekannte Option fΓΌr merge-recursive: -X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "konnte %s nicht schreiben"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "konnte nicht von '%s' lesen"
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr ""
"Merge wurde nicht committet; benutzen Sie 'git commit', um den Merge "
"abzuschließen.\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7859,55 +8127,55 @@ msgstr ""
"Zeilen beginnend mit '%c' werden ignoriert, und eine leere Beschreibung\n"
"bricht den Commit ab.\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "Leere Commit-Beschreibung"
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "Wunderbar.\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr ""
"Automatischer Merge fehlgeschlagen; beheben Sie die Konflikte und committen "
"Sie dann das Ergebnis.\n"
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "'%s' ist kein Commit"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "Sie befinden sich auf keinem Branch."
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "Kein Remote-Repository fΓΌr den aktuellen Branch."
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr ""
"Es ist kein Standard-Upstream-Branch fΓΌr den aktuellen Branch definiert."
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "Kein Remote-Tracking-Branch fΓΌr %s von %s"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "Konnte '%s' nicht schließen"
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr "Es gibt keinen Merge zum Abbrechen (MERGE_HEAD fehlt)"
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7915,7 +8183,7 @@ msgstr ""
"Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert).\n"
"Bitte committen Sie Ihre Γ„nderungen, bevor Sie den Merge ausfΓΌhren."
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7923,105 +8191,105 @@ msgstr ""
"Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert).\n"
"Bitte committen Sie Ihre Γ„nderungen, bevor Sie den Merge ausfΓΌhren."
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr ""
"Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert)."
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "Sie kΓΆnnen --squash nicht mit --no-ff kombinieren."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr "Kein Commit angegeben und merge.defaultToUpstream ist nicht gesetzt."
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
msgstr ""
"Bin auf einem Commit, der noch geboren wird; kann \"squash\" nicht ausfΓΌhren."
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr ""
"Nicht vorzuspulender Commit kann nicht in einem leeren Branch verwendet "
"werden."
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s - nichts was wir zusammenfΓΌhren kΓΆnnen"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
msgstr "Kann nur exakt einen Commit in einem leeren Branch zusammenfΓΌhren."
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr ""
"Commit %s hat eine nicht vertrauenswΓΌrdige GPG-Signatur, angeblich von %s."
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr "Commit %s hat eine ungΓΌltige GPG-Signatur, angeblich von %s."
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "Commit %s hat keine GPG-Signatur."
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr "Commit %s hat eine gΓΌltige GPG-Signatur von %s\n"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "Aktualisiere %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "Probiere wirklich trivialen \"in-index\"-Merge ...\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "Nein.\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr "Vorspulen nicht mΓΆglich, breche ab."
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "RΓΌcklauf des Verzeichnisses bis zum Ursprung ...\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "Probiere Merge-Strategie %s ...\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr "Keine Merge-Strategie behandelt diesen Merge.\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "Merge mit Strategie %s fehlgeschlagen.\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr "Benutzen Sie \"%s\", um die AuflΓΆsung per Hand vorzubereiten.\n"
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
@@ -8107,19 +8375,19 @@ msgstr "keine Warnung bei Konflikten"
msgid "set labels for file1/orig-file/file2"
msgstr "Beschriftung fΓΌr Datei1/orig-Datei/Datei2 setzen"
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr "Eingabe ist durch NUL-Zeichen abgeschlossen"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "fehlende Objekte erlauben"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "die Erstellung von mehr als einem \"Tree\"-Objekt erlauben"
@@ -8127,93 +8395,93 @@ msgstr "die Erstellung von mehr als einem \"Tree\"-Objekt erlauben"
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<Optionen>] <Quelle>... <Ziel>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "Verzeichnis %s ist zum Commit vorgemerkt und kein Submodul?"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr ""
"Bitte merken Sie Ihre Γ„nderungen in .gitmodules zum Commit vor oder "
"benutzen\n"
"Sie \"stash\", um fortzufahren."
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s ist zum Commit vorgemerkt"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "Verschieben/Umbenennen erzwingen, auch wenn das Ziel existiert"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "Fehler beim Verschieben oder Umbenennen ΓΌberspringen"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "Ziel '%s' ist kein Verzeichnis"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "PrΓΌfe Umbenennung von '%s' nach '%s'\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "ungΓΌltige Quelle"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "kann Verzeichnis nicht in sich selbst verschieben"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "kann Verzeichnis nicht ΓΌber Datei verschieben"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "Quellverzeichnis ist leer"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "nicht unter Versionskontrolle"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "Ziel existiert bereits"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "ΓΌberschreibe '%s'"
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "Kann nicht ΓΌberschreiben"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "mehrere Quellen fΓΌr das selbe Ziel"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "Zielverzeichnis existiert nicht"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s, Quelle=%s, Ziel=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Benenne %s nach %s um\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "Umbenennung von '%s' fehlgeschlagen"
@@ -8414,9 +8682,9 @@ msgid "could not open or read '%s'"
msgstr "konnte '%s' nicht ΓΆffnen oder lesen"
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "Konnte '%s' nicht als gΓΌltige Referenz auflΓΆsen."
@@ -8431,42 +8699,42 @@ msgstr "Fehler beim Lesen des Objektes '%s'."
msgid "Cannot read note data from non-blob object '%s'."
msgstr "Kann Notiz-Daten nicht von Nicht-Blob Objekt '%s' lesen."
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "zu viele Parameter"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "Keine Notiz fΓΌr Objekt %s gefunden."
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "Notizinhalte als Zeichenkette"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "Notizinhalte in einer Datei"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "Wiederverwendung und Bearbeitung des angegebenen Notiz-Objektes"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "Wiederverwendung des angegebenen Notiz-Objektes"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "Speichern leerer Notiz erlauben"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "existierende Notizen ersetzen"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8475,31 +8743,31 @@ msgstr ""
"Konnte Notizen nicht hinzufΓΌgen. Existierende Notizen fΓΌr Objekt %s "
"gefunden. Verwenden Sie '-f', um die existierenden Notizen zu ΓΌberschreiben."
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "Überschreibe existierende Notizen für Objekt %s\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "Entferne Notiz fΓΌr Objekt %s\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "Objekte von der Standard-Eingabe lesen"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr ""
-"Konfiguration fΓΌr <Kommando> beim Umschreiben von Versionen laden "
-"(impliziert --stdin)"
+"Konfiguration fΓΌr <Befehl> zum Umschreiben von Commits laden (impliziert --"
+"stdin)"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "zu wenig Parameter"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8508,29 +8776,29 @@ msgstr ""
"Kann Notizen nicht kopieren. Existierende Notizen fΓΌr Objekt %s gefunden. "
"Verwenden Sie '-f', um die existierenden Notizen zu ΓΌberschreiben."
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "Keine Notizen fΓΌr Quell-Objekt %s. Kopie nicht mΓΆglich."
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
msgstr ""
-"Die Optionen -m/-F/-c/-C sind fΓΌr das Unterkommando 'edit' veraltet.\n"
+"Die Optionen -m/-F/-c/-C sind fΓΌr den Unterbefehl 'edit' veraltet.\n"
"Bitte benutzen Sie stattdessen 'git notes add -f -m/-F/-c/-C'.\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "Allgemeine Optionen"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "Merge-Optionen"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
@@ -8538,54 +8806,54 @@ msgstr ""
"lΓΆst Konflikte bei Notizen mit der angegebenen Strategie auf (manual/ours/"
"theirs/union/cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "nicht zusammengefΓΌhrte Notizen eintragen"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr ""
"Merge von Notizen abschließen, in dem nicht zusammengeführte Notizen "
"committet werden"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "KonfliktauflΓΆsung beim Merge von Notizen abbrechen"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "Merge von Notizen abbrechen"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "Ein Merge von Notizen nach %s ist bereits im Gange bei %s"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "Objekt %s hat keine Notiz\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr "der Versuch, eine nicht existierende Notiz zu lΓΆschen, ist kein Fehler"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "Objektnamen von der Standard-Eingabe lesen"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "Notiz-Referenz"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "Notizen von <Notiz-Referenz> verwenden"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
-msgstr "Unbekanntes Unterkommando: %s"
+msgstr "Unbekannter Unterbefehl: %s"
#: builtin/pack-objects.c:28
msgid ""
@@ -8606,176 +8874,176 @@ msgstr ""
msgid "deflate error (%d)"
msgstr "Fehler beim Komprimieren (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "Schreibe Objekte"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr ""
"Deaktiviere Schreiben des Bitmap-Index, da einige Objekte nicht in\n"
"eine Pack-Datei geschrieben wurden"
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "Komprimiere Objekte"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "Nicht unterstΓΌtzte Index-Version %s"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "UngΓΌltige Index-Version '%s'"
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "keine Fortschrittsanzeige anzeigen"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "Fortschrittsanzeige anzeigen"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr ""
"Forschrittsanzeige wΓ€hrend der Phase des Schreibens der Objekte anzeigen"
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
msgstr "Γ€hnlich zu --all-progress wenn Fortschrittsanzeige darstellt wird"
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "version[,offset]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr ""
"die Index-Datei des Paketes in der angegebenen Indexformat-Version schreiben"
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "maximale Grâße für jede ausgegebene Paketdatei"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr "geliehene Objekte von alternativem Objektspeicher ignorieren"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "gepackte Objekte ignorieren"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "Paketfenster durch Objekte begrenzen"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr ""
"Paketfenster, zusΓ€tzlich zur Objektbegrenzung, durch Speicher begrenzen"
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr ""
"maximale LΓ€nge der erlaubten Differenzverkettung im resultierenden Paket"
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "existierende Unterschiede wiederverwenden"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "existierende Objekte wiederverwenden"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "OFS_DELTA Objekte verwenden"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr ""
"Threads bei der Suche nach den besten Übereinstimmungen bei Unterschieden "
"verwenden"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "keine leeren Pakete erzeugen"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr "Argumente bezΓΌglich Commits von der Standard-Eingabe lesen"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr "die Objekte zu solchen, die noch nicht gepackt wurden, begrenzen"
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "Objekte einschließen, die von jeder Referenz erreichbar sind"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr ""
"Objekte einschließen, die von EintrÀgen des Reflogs referenziert werden"
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "Objekte einschließen, die vom Index referenziert werden"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "Paket in die Standard-Ausgabe schreiben"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr "Tag-Objekte einschließen, die auf gepackte Objekte referenzieren"
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "nicht erreichbare Objekte behalten"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "Zeit"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr "nicht erreichbare Objekte entpacken, die neuer als <Zeit> sind"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "dΓΌnnere Pakete erzeugen"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr ""
"Pakete geeignet fΓΌr Abholung mit unvollstΓ€ndiger Historie (shallow) erzeugen"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "Pakete ignorieren, die .keep Dateien haben"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "Komprimierungsgrad fΓΌr Paketierung"
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "keine kΓΌnstlichen VorgΓ€nger-Commits (\"grafts\") verbergen"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr ""
"Bitmap-Index (falls verfΓΌgbar) zur Optimierung der ObjektzΓ€hlung benutzen"
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr "Bitmap-Index zusammen mit Pack-Index schreiben"
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "ZΓ€hle Objekte"
@@ -8819,52 +9087,56 @@ msgstr "Objekte Γ€lter als <Zeit> verfallen lassen"
msgid "cannot prune in a precious-objects repo"
msgstr "kann \"prune\" in precious-objects Repository nicht ausfΓΌhren"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<Optionen>] [<Repository> [<Refspec>...]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "Optionen bezogen auf Merge"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "Integration von Γ„nderungen durch Rebase statt Merge"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "Vorspulen erlauben"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "den genannten Commit auf eine gΓΌltige GPG-Signatur ΓΌberprΓΌfen"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr "Optionen bezogen auf Fetch"
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "Anzahl der parallel mit 'pull' zu verarbeitenden Submodule"
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "UngΓΌltiger Wert fΓΌr pull.ff: %s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr ""
"Kann \"pull\" mit \"rebase\" nicht ausfΓΌhren: Sie haben Γ„nderungen, die "
"nicht zum Commit vorgemerkt sind."
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr "ZusΓ€tzlich beinhaltet die Staging-Area nicht committete Γ„nderungen."
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr ""
"Kann \"pull\" mit \"rebase\" nicht ausfΓΌhren: Die Staging-Area beinhaltet "
"nicht committete Γ„nderungen."
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
@@ -8872,14 +9144,14 @@ msgstr ""
"Es gibt keinen Kandidaten fΓΌr Rebase innerhalb der Referenzen, die eben "
"angefordert wurden."
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr ""
"Es gibt keine Kandidaten fΓΌr Merge innerhalb der Referenzen, die eben "
"angefordert wurden."
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
@@ -8887,7 +9159,7 @@ msgstr ""
"Im Allgemeinen bedeutet das, dass Sie einen Refspec mit Wildcards angegeben\n"
"haben, der auf der Gegenseite mit keinen Referenzen ΓΌbereinstimmt."
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8897,31 +9169,31 @@ msgstr ""
"Sie fΓΌhrten \"pull\" von Remote-Repository '%s' aus, ohne einen\n"
"Branch anzugeben. Da das nicht das konfigurierte Standard-Remote-\n"
"Repository fΓΌr den aktuellen Branch ist, mΓΌssen Sie einen Branch auf\n"
-"der Kommandozeile angeben."
+"der Befehlszeile angeben."
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "Im Moment auf keinem Branch."
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr ""
"Bitte geben Sie den Branch an, gegen welchen Sie \"rebase\" ausfΓΌhren "
"mΓΆchten."
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "Bitte geben Sie den Branch an, welchen Sie zusammenfΓΌhren mΓΆchten."
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr "Siehe git-pull(1) fΓΌr weitere Details."
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "Es gibt keine Tracking-Informationen fΓΌr den aktuellen Branch."
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8934,7 +9206,7 @@ msgstr ""
"\n"
" git branch --set-upstream-to=%s/<Branch> %s\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
@@ -8944,13 +9216,13 @@ msgstr ""
"des Remote-Repositories durchzufΓΌhren, aber diese Referenz\n"
"wurde nicht angefordert."
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr ""
"Aktualisiere einen ungeborenen Branch mit Γ„nderungen, die zum Commit "
"vorgemerkt sind."
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8960,7 +9232,7 @@ msgstr ""
"\"fetch\" aktualisierte die Spitze des aktuellen Branches.\n"
"Spule Ihr Arbeitsverzeichnis von Commit %s vor."
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8977,11 +9249,11 @@ msgstr ""
"$ git reset --hard\n"
"zur Wiederherstellung aus."
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr "Kann nicht mehrere Branches in einen leeren Branch zusammenfΓΌhren."
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "Kann Rebase nicht auf mehrere Branches ausfΓΌhren."
@@ -8989,15 +9261,15 @@ msgstr "Kann Rebase nicht auf mehrere Branches ausfΓΌhren."
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<Optionen>] [<Repository> [<Refspec>...]]"
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "Kurzschrift fΓΌr Tag ohne <Tag>"
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "Die Option --delete akzeptiert nur reine Referenznamen als Ziel."
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
@@ -9006,7 +9278,7 @@ msgstr ""
"Um eine Variante permanent zu verwenden, siehe push.default in 'git help "
"config'."
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -9032,7 +9304,7 @@ msgstr ""
" git push %s %s\n"
"%s"
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -9047,7 +9319,7 @@ msgstr ""
"\n"
" git push %s HEAD:<Name-des-Remote-Branches>\n"
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -9061,13 +9333,13 @@ msgstr ""
"\n"
" git push --set-upstream %s %s\n"
-#: builtin/push.c:182
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr ""
"Der aktuelle Branch %s hat mehrere Upstream-Branches, \"push\" verweigert."
-#: builtin/push.c:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -9078,65 +9350,14 @@ msgstr ""
"Branches '%s' ist, ohne anzugeben, was versendet werden soll, um welchen\n"
"Remote-Branch zu aktualisieren."
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"'push.default' ist nicht gesetzt; der implizit gesetzte Wert\n"
-"wurde in Git 2.0 von 'matching' nach 'simple' geΓ€ndert. Um diese Meldung zu\n"
-"unterdrΓΌcken und das aktuelle Verhalten nach Γ„nderung des Standardwertes\n"
-"beizubehalten, benutzen Sie:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"Um diese Meldung zu unterdrΓΌcken und das neue Verhalten jetzt zu ΓΌbernehmen, "
-"benutzen Sie:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"Wenn 'push.default' auf den Wert 'matching' gesetzt ist, werden lokale\n"
-"Branches zu den Remote-Branches mit den selben Namen versendet.\n"
-"\n"
-"In Git 2.0 wurde das Standardverhalten zu 'simple' geΓ€ndert. Hierbei wird\n"
-"der aktuelle Branch zu dem entsprechenden Remote-Branch versendet, den\n"
-"'git pull' zur Aktualisierung des aktuellen Branches verwendet.\n"
-"\n"
-"FΓΌhren Sie 'git help config' aus und suchen Sie nach 'push.default' fΓΌr\n"
-"weitere Informationen.\n"
-"(Der Modus 'simple' wurde in Git 1.7.11 eingefΓΌhrt. Benutzen Sie den "
-"Γ€hnlichen\n"
-"Modus 'current' anstatt 'simple', falls Sie gelegentlich Γ€ltere Versionen "
-"von\n"
-"Git benutzen.)"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr ""
"Sie haben keine Refspec fΓΌr \"push\" angegeben, und push.default ist "
"\"nothing\"."
-#: builtin/push.c:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -9145,12 +9366,12 @@ msgid ""
msgstr ""
"Aktualisierungen wurden zurΓΌckgewiesen, weil die Spitze Ihres aktuellen\n"
"Branches hinter seinem externen GegenstΓΌck zurΓΌckgefallen ist. FΓΌhren Sie\n"
-"die externen Γ„nderungen zusammen (z.B. 'git pull ...') bevor Sie \"push\"\n"
+"die externen Γ„nderungen zusammen (z. B. 'git pull ...') bevor Sie \"push\"\n"
"erneut ausfΓΌhren.\n"
"Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
"fΓΌr weitere Details."
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
@@ -9160,11 +9381,11 @@ msgstr ""
"Aktualisierungen wurden zurΓΌckgewiesen, weil die Spitze eines versendeten\n"
"Branches hinter seinem externen GegenstΓΌck zurΓΌckgefallen ist. Checken Sie\n"
"diesen Branch aus und fΓΌhren Sie die externen Γ„nderungen zusammen\n"
-"(z.B. 'git pull ...') bevor Sie erneut \"push\" ausfΓΌhren.\n"
+"(z. B. 'git pull ...') bevor Sie erneut \"push\" ausfΓΌhren.\n"
"Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
"fΓΌr weitere Details."
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
@@ -9177,19 +9398,19 @@ msgstr ""
"die lokal nicht vorhanden sind. Das wird ΓΌblicherweise durch einen \"push\" "
"von\n"
"Commits auf dieselbe Referenz von einem anderen Repository aus verursacht.\n"
-"Vielleicht mΓΌssen Sie die externen Γ„nderungen zusammenzufΓΌhren (z.B. 'git "
+"Vielleicht mΓΌssen Sie die externen Γ„nderungen zusammenfΓΌhren (z. B. 'git "
"pull ...')\n"
"bevor Sie erneut \"push\" ausfΓΌhren.\n"
"Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n"
"fΓΌr weitere Details."
-#: builtin/push.c:301
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr ""
"Aktualisierungen wurden zurΓΌckgewiesen, weil das Tag bereits\n"
"im Remote-Repository existiert."
-#: builtin/push.c:304
+#: builtin/push.c:271
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"
@@ -9199,22 +9420,22 @@ msgstr ""
"das kein Commit ist, oder es auf ein solches Objekt zeigen lassen, ohne\n"
"die Option '--force' zu verwenden.\n"
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "Versende nach %s\n"
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "Fehler beim Versenden einiger Referenzen nach '%s'"
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "ungΓΌltiges Repository '%s'"
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -9227,7 +9448,7 @@ msgid ""
" git push <name>\n"
msgstr ""
"Kein Ziel fΓΌr \"push\" konfiguriert.\n"
-"Entweder spezifizieren Sie die URL von der Kommandozeile oder konfigurieren "
+"Entweder spezifizieren Sie die URL von der Befehlszeile oder konfigurieren "
"ein Remote-Repository unter Benutzung von\n"
"\n"
" git remote add <Name> <URL>\n"
@@ -9236,104 +9457,100 @@ msgstr ""
"\n"
" git push <Name>\n"
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "Die Optionen --all und --tags sind inkompatibel."
-#: builtin/push.c:414
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr "Die Option --all kann nicht mit Refspecs kombiniert werden."
-#: builtin/push.c:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "Die Optionen --mirror und --tags sind inkompatibel."
-#: builtin/push.c:420
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr "Die Option --mirror kann nicht mit Refspecs kombiniert werden."
-#: builtin/push.c:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "Die Optionen --all und --mirror sind inkompatibel."
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr "Repository"
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "alle Referenzen versenden"
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "alle Referenzen spiegeln"
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr "Referenzen lΓΆschen"
-#: builtin/push.c:542
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr "Tags versenden (kann nicht mit --all oder --mirror verwendet werden)"
-#: builtin/push.c:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "Aktualisierung erzwingen"
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "Referenzname>:<Erwartungswert"
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr "Referenz muss sich auf dem angegebenen Wert befinden"
-#: builtin/push.c:550
-msgid "check|on-demand|no"
-msgstr "check|on-demand|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "rekursiven \"push\" von Submodulen steuern"
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "kleinere Pakete verwenden"
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "'receive pack' Programm"
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "Upstream fΓΌr \"git pull/status\" setzen"
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "lokal gelΓΆschte Referenzen entfernen"
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "\"pre-push hook\" umgehen"
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "fehlende, aber relevante Tags versenden"
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "signiert \"push\" mit GPG"
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "Referenzen atomar versenden"
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "Die Option --delete ist inkompatibel mit --all, --mirror und --tags."
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "Die Option --delete kann nur mit Referenzen verwendet werden."
@@ -9412,12 +9629,12 @@ msgstr "Anwendung des Filters fΓΌr spΓ€rliches Auschecken ΓΌberspringen"
msgid "debug unpack-trees"
msgstr "Entpacken der BΓ€ume protokollieren"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "'%s' ist kein gΓΌltiger Zeitstempel fΓΌr '%s'"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "'%s' ist kein gΓΌltiger Zeitstempel"
@@ -9564,55 +9781,45 @@ msgstr ""
"Die Angabe von zu folgenden Branches kann nur mit dem Anfordern von "
"Spiegelarchiven verwendet werden."
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "externes Repository %s existiert bereits"
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "'%s' ist kein gΓΌltiger Name fΓΌr ein Remote-Repository"
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "Konnte symbolische Referenz fΓΌr Hauptbranch von '%s' nicht einrichten"
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr "Konnte Fetch-Map fΓΌr Refspec %s nicht bekommen"
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "(ΓΌbereinstimmend)"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(lΓΆsche)"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "Konnte '%s' nicht an '%s' anhΓ€ngen."
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "Kein solches Remote-Repository: %s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr "Konnte Sektion '%s' in Konfiguration nicht nach '%s' umbenennen"
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "Konnte Sektion '%s' nicht aus Konfiguration entfernen"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -9623,27 +9830,17 @@ msgstr ""
"\t%s\n"
"\tBitte aktualisieren Sie, falls notwendig, die Konfiguration manuell."
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "Konnte '%s' nicht anhΓ€ngen."
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "Konnte '%s' nicht setzen"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "Konnte '%s' nicht lΓΆschen"
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "Konnte '%s' nicht erstellen"
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9659,120 +9856,125 @@ msgstr[1] ""
"entfernt;\n"
"um diese zu entfernen, benutzen Sie:"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "Konnte Sektion '%s' nicht aus Konfiguration entfernen"
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " neu (wird bei nΓ€chstem \"fetch\" in remotes/%s gespeichert)"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " gefolgt"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " veraltet (benutzen Sie 'git remote prune' zum LΓΆschen)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr "ungΓΌltiges branch.%s.merge; kann Rebase nicht auf > 1 Branch ausfΓΌhren"
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "Rebase auf Remote-Branch %s"
+msgid "rebases interactively onto remote %s"
+msgstr "interaktiver Rebase auf Remote-Branch %s"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr " fΓΌhrt mit Remote-Branch %s zusammen"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " und mit Remote-Branch"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "fΓΌhrt mit Remote-Branch %s zusammen"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " und mit Remote-Branch"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "erstellt"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "gelΓΆscht"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "aktuell"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "vorspulbar"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "lokal nicht aktuell"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*s erzwingt Versandt nach %-*s (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*s versendet nach %-*s (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*s erzwingt Versand nach %s"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*s versendet nach %s"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "keine Abfrage von Remote-Repositories"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* Remote-Repository %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " URL zum Abholen: %s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(keine URL)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " URL zum Versenden: %s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " Hauptbranch: %s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -9780,161 +9982,161 @@ msgstr ""
" Hauptbranch (externer HEAD ist mehrdeutig, kΓΆnnte einer der folgenden "
"sein):\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
msgstr[0] " Remote-Branch:%s"
msgstr[1] " Remote-Branches:%s"
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr " (Zustand nicht abgefragt)"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] " Lokaler Branch konfiguriert fΓΌr 'git pull':"
msgstr[1] " Lokale Branches konfiguriert fΓΌr 'git pull':"
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr " Lokale Referenzen werden von 'git push' gespiegelt"
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Lokale Referenz konfiguriert fΓΌr 'git push'%s:"
msgstr[1] " Lokale Referenzen konfiguriert fΓΌr 'git push'%s:"
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "setzt refs/remotes/<Name>/HEAD gemÀß dem Remote-Repository"
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "entfernt refs/remotes/<Name>/HEAD"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "Kann HEAD des Remote-Repositories nicht bestimmen"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
msgstr ""
"Mehrere Hauptbranches im Remote-Repository. Bitte wΓ€hlen Sie explizit einen "
"aus mit:"
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr "Konnte %s nicht entfernen"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "keine gΓΌltige Referenz: %s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "Konnte %s nicht einrichten"
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s wird unreferenziert!"
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s wurde unreferenziert!"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "entferne veraltete Branches von %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [wΓΌrde veralteten Branch entfernen] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr "* [veralteten Branch entfernt] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "entferne veraltete Branches im Remote-Repository nach \"fetch\""
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "Kein solches Remote-Repository '%s'"
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "Branch hinzufΓΌgen"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "kein Remote-Repository angegeben"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr "nur URLs fΓΌr Push ausgeben"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "alle URLs ausgeben"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "Keine URLs fΓΌr Remote-Repository '%s' konfiguriert."
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "URLs fΓΌr \"push\" manipulieren"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "URL hinzufΓΌgen"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "URLs lΓΆschen"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr ""
"Die Optionen --add und --delete kΓΆnnen nicht gemeinsam verwendet werden."
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "ungΓΌltiges altes URL Format: %s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "Keine solche URL gefunden: %s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "Werde keine URLs entfernen, die nicht fΓΌr \"push\" bestimmt sind"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
-msgstr "erweiterte Ausgaben; muss vor einem Unterkommando angegeben werden"
+msgstr "erweiterte Ausgaben; muss vor einem Unterbefehl angegeben werden"
#: builtin/repack.c:17
msgid "git repack [<options>]"
@@ -10238,7 +10440,7 @@ msgstr "Konnte Index-Datei nicht zu Commit '%s' setzen."
msgid "Could not write new index file."
msgstr "Konnte neue Index-Datei nicht schreiben."
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "rev-list unterstΓΌtzt keine Anzeige von Notizen"
@@ -10280,7 +10482,7 @@ msgstr "git revert [<Optionen>] <Commit-Angabe>..."
#: builtin/revert.c:23
msgid "git revert <subcommand>"
-msgstr "git revert <Unterkommando>"
+msgstr "git revert <Unterbefehl>"
#: builtin/revert.c:28
msgid "git cherry-pick [<options>] <commit-ish>..."
@@ -10288,7 +10490,7 @@ msgstr "git cherry-pick [<Optionen>] <Commit-Angabe>..."
#: builtin/revert.c:29
msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <Unterkommando>"
+msgstr "git cherry-pick <Unterbefehl>"
#: builtin/revert.c:71
#, c-format
@@ -10500,28 +10702,23 @@ msgstr "Status des Remote-Helpers ausgeben"
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<Optionen>] [<Commitbereich>] [[--] [<Pfad>...]]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "fehlender Autor: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "die Ausgabe entsprechend der Anzahl von Commits pro Autor sortieren"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr "Commit-Beschreibungen unterdrΓΌcken, nur Anzahl der Commits liefern"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "die E-Mail-Adresse von jedem Autor anzeigen"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "Ausgabe mit ZeilenumbrΓΌchen"
@@ -10664,47 +10861,48 @@ msgstr "git stripspace [-c | --comment-lines]"
#: builtin/stripspace.c:35
msgid "skip and remove all lines starting with comment character"
-msgstr "alle Zeilen, die mit dem Kommentarzeichen beginnen, ΓΌberspringen und "
+msgstr ""
+"alle Zeilen, die mit dem Kommentarzeichen beginnen, ΓΌberspringen und "
"entfernen"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
-msgstr "Kommentarzeichen mit Leerzeichen an jeder Zeile voranstellen"
+msgid "prepend comment character and space to each line"
+msgstr "Kommentarzeichen mit Leerzeichen an jede Zeile voranstellen"
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "Alternativer Anker fΓΌr relative Pfade"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<Pfad>] [<Pfad>...]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper name <Pfad>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr "Keine Submodul-Zuordnung in .gitmodules fΓΌr Pfad '%s' gefunden"
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "Pfad fΓΌr neues Submodul"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "Name des neuen Submoduls"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "URL von der das Submodul geklont wird"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "Tiefe des Klons mit unvollstΓ€ndiger Historie (shallow)"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10712,40 +10910,40 @@ msgstr ""
"git submodule--helper clone [--prefix=<Pfad>] [--quiet] [--reference "
"<Repository>] [--name <Name>] [--url <URL>][--depth <Tiefe>] [--] [<Pfad>...]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "Konnte Verzeichnis '%s' nicht erstellen."
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr "Klonen von '%s' in Submodul-Pfad '%s' fehlgeschlagen"
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "Kann Datei '%s' nicht ΓΆffnen"
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "Konnte Datei '%s' nicht schließen."
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr "Konnte Submodul-Verzeichnis '%s' nicht finden."
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
-msgstr "fatal: submodule--helper muss mit einem Unterkommando aufgerufen werden"
+msgstr "fatal: submodule--helper muss mit einem Unterbefehl aufgerufen werden"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
-msgstr "fatal: '%s' ist kein gΓΌltiges Unterkommando von submodule--helper"
+msgstr "fatal: '%s' ist kein gΓΌltiger Unterbefehl von submodule--helper"
#: builtin/symbolic-ref.c:7
msgid "git symbolic-ref [<options>] <name> [<ref>]"
@@ -10988,206 +11186,220 @@ msgstr "Tag '%s' aktualisiert (war %s)\n"
msgid "Unpacking objects"
msgstr "Entpacke Objekte"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "Fehler beim Erstellen von Verzeichnis '%s'"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "Konnte '%s' nicht lesen"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "Konnte Datei '%s' nicht erstellen"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "Konnte Datei '%s' nicht lΓΆschen"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "Konnte Verzeichnis '%s' nicht lΓΆschen"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "PrΓΌfe "
+msgid "Testing mtime in '%s' "
+msgstr "PrΓΌfe mtime in '%s' "
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr ""
"Verzeichnisinformationen haben sich nach HinzufΓΌgen einer neuen Datei nicht "
"geΓ€ndert"
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr ""
"Verzeichnisinformationen haben sich nach HinzufΓΌgen eines neuen "
"Verzeichnisses nicht geΓ€ndert"
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr ""
"Verzeichnisinformationen haben sich nach Aktualisierung einer Datei geΓ€ndert"
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr ""
"Verzeichnisinformationen haben sich nach HinzufΓΌgen einer Datei in ein "
"Unterverzeichnis geΓ€ndert"
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr ""
"Verzeichnisinformationen haben sich nach dem LΓΆschen einer Datei nicht "
"geΓ€ndert"
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr ""
"Verzeichnisinformationen haben sich nach dem LΓΆschen eines Verzeichnisses "
"nicht geΓ€ndert"
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " OK"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<Optionen>] [--] [<Datei>...]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr ""
"Aktualisierung fortsetzen, auch wenn der Index aktualisiert werden muss"
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "Aktualisierung: ignoriert Submodule"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "keine neuen Dateien ignorieren"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "Dateien Verzeichnisse ersetzen lassen, und umgedreht"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "fehlende Dateien im Arbeitsverzeichnis beachten"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr ""
"aktualisieren, auch wenn der Index nicht zusammengefΓΌhrte EintrΓ€ge beinhaltet"
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "Dateiinformationen aktualisieren"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "wie --refresh, ignoriert aber \"assume-unchanged\" Einstellung"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<Modus>,<Objekt>,<Pfad>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "den angegebenen Eintrag zum Commit vormerken"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "das \"ausfΓΌhrbar\"-Bit der aufgelisteten Dateien ΓΌberschreiben"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "diese Datei immer als unverΓ€ndert betrachten"
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "\"assumed-unchanged\"-Bit lΓΆschen"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "Dateien als \"index-only\" markieren"
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "\"skip-worktree\"-Bit lΓΆschen"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
msgstr ""
"die Γ„nderungen nur zum Commit vormerken; Inhalt wird nicht der Objekt-"
"Datenbank hinzugefΓΌgt"
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr ""
"benannte Pfade lΓΆschen, auch wenn sie sich im Arbeitsverzeichnis befinden"
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr "mit --stdin: eingegebene Zeilen sind durch NUL-Bytes abgeschlossen"
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr "Liste der zu aktualisierenden Pfade von der Standard-Eingabe lesen"
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
msgstr "EintrΓ€ge von der Standard-Eingabe zum Commit vormerken"
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr ""
"wiederholtes Einpflegen der ZustΓ€nde #2 und #3 fΓΌr die aufgelisteten Pfade"
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "nur EintrΓ€ge aktualisieren, die unterschiedlich zu HEAD sind"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "fehlende Dateien im Arbeitsverzeichnis ignorieren"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "die Aktionen in der Standard-Ausgabe ausgeben"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "(fΓΌr Fremdprogramme) keine gespeicherten, nicht aufgelΓΆste Konflikte"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "Index-Datei in diesem Format schreiben"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "Splitting des Index aktivieren oder deaktivieren"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr "Cache fΓΌr unversionierte Dateien aktivieren oder deaktivieren"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr ""
+"prΓΌfen ob das Dateisystem einen Cache fΓΌr unversionierte Dateien unterstΓΌtzt"
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr ""
"Cache fΓΌr unversionierte Dateien ohne PrΓΌfung des Dateisystems aktivieren"
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "Cache fΓΌr unversionierte Dateien deaktiviert"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "Cache fΓΌr unversionierte Dateien fΓΌr '%s' aktiviert"
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr "git update-ref [<Optionen>] -d <Referenzname> [<alter-Wert>]"
@@ -11304,35 +11516,35 @@ msgstr "Fehler beim LΓΆschen: %s"
msgid "'%s' already exists"
msgstr "'%s' existiert bereits"
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "Konnte Verzeichnis '%s' nicht erstellen."
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "Bereite %s vor (Identifikation %s)"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr ""
"<Branch> auschecken, auch wenn dieser bereits in einem anderen "
"Arbeitsverzeichnis ausgecheckt ist"
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "neuen Branch erstellen"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "Branch erstellen oder umsetzen"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "HEAD bei benanntem Commit loslΓΆsen"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "-b, -B und --detach schließen sich gegenseitig aus"
@@ -11352,7 +11564,7 @@ msgstr "das \"Tree\"-Objekt fΓΌr ein Unterverzeichnis <PrΓ€fix> schreiben"
msgid "only useful for debugging"
msgstr "nur nΓΌtzlich fΓΌr Fehlersuche"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "Meldungen zur Fehlersuche in Standard-Fehlerausgabe ausgeben"
@@ -11362,11 +11574,17 @@ msgid ""
"concept guides. See 'git help <command>' or 'git help <concept>'\n"
"to read about a specific subcommand or concept."
msgstr ""
-"'git help -a' und 'git help -g' listet verfΓΌgbare Unterkommandos und\n"
-"einige Anleitungen zu Git-Konzepten auf. Benutzen Sie 'git help <Kommando>'\n"
-"oder 'git help <Konzept>', um mehr ΓΌber ein spezifisches Kommando oder\n"
+"'git help -a' und 'git help -g' listet verfΓΌgbare Unterbefehle und\n"
+"einige Anleitungen zu Git-Konzepten auf. Benutzen Sie 'git help <Befehl>'\n"
+"oder 'git help <Konzept>', um mehr ΓΌber einen spezifischen Befehl oder\n"
"Konzept zu erfahren."
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr ""
+"Das Anheften des ΓΆffentlichen SchlΓΌssels wird mit cURL < 7.44.0\n"
+"nicht unterstΓΌtzt."
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "Arbeitsverzeichnis anlegen (siehe auch: git help tutorial)"
@@ -11456,8 +11674,8 @@ msgid "Update remote refs along with associated objects"
msgstr "Remote-Referenzen mitsamt den verbundenen Objekten aktualisieren"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "lokale Commits auf einem aktuellerem Upstream-Branch neu aufbauen"
+msgid "Reapply commits on top of another base tip"
+msgstr "Wiederholtes Anwenden von Commits auf anderem Basis-Commit"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -11682,7 +11900,7 @@ msgstr "'$term' ist kein gΓΌltiger Begriff"
#: git-bisect.sh:578
#, sh-format
msgid "can't use the builtin command '$term' as a term"
-msgstr "Kann eingebautes Kommando '$term' nicht als Begriff verwenden"
+msgstr "Kann eingebauten Befehl '$term' nicht als Begriff verwenden"
#: git-bisect.sh:587 git-bisect.sh:593
#, sh-format
@@ -11693,7 +11911,7 @@ msgstr "Kann Bedeutung von '$term' nicht Γ€ndern."
#, sh-format
msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
msgstr ""
-"UngΓΌltiges Kommando: Sie sind gerade bei einer binΓ€ren $TERM_BAD/$TERM_GOOD "
+"UngΓΌltiger Befehl: Sie sind gerade bei einer binΓ€ren $TERM_BAD/$TERM_GOOD "
"Suche."
#: git-bisect.sh:636
@@ -11799,7 +12017,7 @@ msgstr ""
"\t$cmd_live_rebase\n"
"Wenn das nicht der Fall ist, probieren Sie bitte\n"
"\t$cmd_clear_stale_rebase\n"
-"und fΓΌhren Sie dieses Kommando nochmal aus. Es wird angehalten, falls noch\n"
+"und fΓΌhren Sie diesen Befehl nochmal aus. Es wird angehalten, falls noch\n"
"etwas SchΓΌtzenswertes vorhanden ist."
#: git-rebase.sh:468
@@ -12079,7 +12297,7 @@ msgid ""
"option."
msgstr ""
"oder Sie sich unsicher sind, was das bedeutet, wΓ€hlen Sie einen anderen "
-"Namenmit der Option '--name'."
+"Namen mit der Option '--name'."
#: git-submodule.sh:347
#, sh-format
@@ -12192,7 +12410,7 @@ msgstr ""
"Submodul '$name' ($url) fΓΌr Pfad '$displaypath' wurde aus der Konfiguration "
"entfernt."
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
@@ -12201,52 +12419,52 @@ msgstr ""
"Submodul-Pfad '$displaypath' ist nicht initialisiert.\n"
"Vielleicht mΓΆchten Sie 'update --init' benutzen?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr "Konnte aktuellen Commit in Submodul-Pfad '$displaypath' nicht finden."
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr "Konnte \"fetch\" in Submodul-Pfad '$sm_path' nicht ausfΓΌhren"
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "Konnte \"fetch\" in Submodul-Pfad '$displaypath' nicht ausfΓΌhren"
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr "Konnte '$sha1' in Submodul-Pfad '$displaypath' nicht auschecken."
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "Submodul-Pfad: '$displaypath': '$sha1' ausgecheckt"
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr "Rebase auf '$sha1' in Submodul-Pfad '$displaypath' nicht mΓΆglich"
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "Submodul-Pfad '$displaypath': Rebase auf '$sha1'"
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr "Merge von '$sha1' in Submodul-Pfad '$displaypath' fehlgeschlagen"
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "Submodul-Pfad '$displaypath': zusammengefΓΌhrt in '$sha1'"
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
@@ -12254,56 +12472,135 @@ msgstr ""
"AusfΓΌhrung von '$command $sha1' in Submodul-Pfad '$prefix$sm_path' "
"fehlgeschlagen"
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "Submodul-Pfad '$prefix$sm_path': '$command $sha1'"
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "Fehler bei Rekursion in Submodul-Pfad '$displaypath'"
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr ""
"Die Optionen --cached und --files kΓΆnnen nicht gemeinsam verwendet werden."
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "unerwarteter Modus $mod_dst"
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr " Warnung: $display_name beinhaltet nicht Commit $sha1_src"
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr " Warnung: $display_name beinhaltet nicht Commit $sha1_dst"
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr ""
" Warnung: $display_name beinhaltet nicht die Commits $sha1_src und $sha1_dst"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "Blob"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "Fehler bei Rekursion in Submodul-Pfad '$sm_path'"
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'"
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr "lokale Commits auf einem aktuellerem Upstream-Branch neu aufbauen"
+
+#~ msgid "unable to parse format"
+#~ msgstr "Konnte Format nicht parsen."
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "Sie haben ein ungΓΌltiges Format eingegeben align:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "Konnte core.worktree in '%s' nicht setzen."
+
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "'push.default' ist nicht gesetzt; der implizit gesetzte Wert\n"
+#~ "wurde in Git 2.0 von 'matching' nach 'simple' geΓ€ndert. Um diese Meldung "
+#~ "zu\n"
+#~ "unterdrΓΌcken und das aktuelle Verhalten nach Γ„nderung des Standardwertes\n"
+#~ "beizubehalten, benutzen Sie:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "Um diese Meldung zu unterdrΓΌcken und das neue Verhalten jetzt zu "
+#~ "ΓΌbernehmen, benutzen Sie:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "Wenn 'push.default' auf den Wert 'matching' gesetzt ist, werden lokale\n"
+#~ "Branches zu den Remote-Branches mit den selben Namen versendet.\n"
+#~ "\n"
+#~ "In Git 2.0 wurde das Standardverhalten zu 'simple' geΓ€ndert. Hierbei "
+#~ "wird\n"
+#~ "der aktuelle Branch zu dem entsprechenden Remote-Branch versendet, den\n"
+#~ "'git pull' zur Aktualisierung des aktuellen Branches verwendet.\n"
+#~ "\n"
+#~ "FΓΌhren Sie 'git help config' aus und suchen Sie nach 'push.default' fΓΌr\n"
+#~ "weitere Informationen.\n"
+#~ "(Der Modus 'simple' wurde in Git 1.7.11 eingefΓΌhrt. Benutzen Sie den "
+#~ "Γ€hnlichen\n"
+#~ "Modus 'current' anstatt 'simple', falls Sie gelegentlich Γ€ltere Versionen "
+#~ "von\n"
+#~ "Git benutzen.)"
+
+#~ msgid "check|on-demand|no"
+#~ msgstr "check|on-demand|no"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "Konnte '%s' nicht anhΓ€ngen."
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "Konnte '%s' nicht setzen"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "fehlender Autor: %s"
+
+#~ msgid "Testing "
+#~ msgstr "PrΓΌfe "
+
#~ msgid "unable to look up current user in the passwd file: %s"
#~ msgstr "konnte aktuellen Benutzer nicht in Passwort-Datei finden: %s"
@@ -12374,9 +12671,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'"
#~ msgid "unable to parse value '%s' for option %s"
#~ msgstr "konnte Wert '%s' fΓΌr Option %s nicht parsen"
-#~ msgid "unable to resolve HEAD"
-#~ msgstr "Konnte HEAD nicht auflΓΆsen."
-
#~ msgid "-b and -B are mutually exclusive"
#~ msgstr "-b und -B schließen sich gegenseitig aus"
@@ -12456,9 +12750,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'"
#~ "Informationen zu nicht mehr existierenden Arbeitsverzeichnissen in .git/"
#~ "worktrees entfernen"
-#~ msgid "--worktrees does not take extra arguments"
-#~ msgstr "--worktrees akzeptiert keine weiteren Argumente"
-
#~ msgid "The most commonly used git commands are:"
#~ msgstr "Die allgemein verwendeten Git-Kommandos sind:"
@@ -12489,9 +12780,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'"
#~ msgid "force creation (when already exists)"
#~ msgstr "Branch auch erzeugen, wenn dieser bereits existiert"
-#~ msgid "Malformed ident string: '%s'"
-#~ msgstr "Fehlerhafter Ident-String: '%s'"
-
#~ msgid "slot"
#~ msgstr "Slot"
@@ -12541,9 +12829,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'"
#~ msgid "bug"
#~ msgstr "Fehler"
-#~ msgid "ahead "
-#~ msgstr "voraus "
-
#~ msgid ", behind "
#~ msgstr ", hinterher "
diff --git a/po/fr.po b/po/fr.po
index facc5c6b7e..55ca387ba4 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -73,8 +73,8 @@ msgid ""
msgstr ""
"Project-Id-Version: git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
-"PO-Revision-Date: 2015-12-24 07:36+0100\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-14 20:26+0100\n"
"Last-Translator: Jean-NoΓ«l Avila <jn.avila@free.fr>\n"
"Language-Team: Jean-NoΓ«l Avila <jn.avila@free.fr>\n"
"Language: fr\n"
@@ -96,7 +96,7 @@ msgstr ""
"Corrigez-les puis lancez 'git add/rm <fichier>'\n"
"si nΓ©cessaire pour marquer la rΓ©solution et valider."
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "Vous n'avez pas terminΓ© votre fusion (MERGE_HEAD existe)."
@@ -140,7 +140,7 @@ msgstr "fmt"
msgid "archive format"
msgstr "format d'archive"
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "prΓ©fixe"
@@ -148,10 +148,10 @@ msgstr "prΓ©fixe"
msgid "prepend prefix to each pathname in the archive"
msgstr "prΓ©fixer chaque chemin de fichier dans l'archive"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536
-#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989
-#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446
-#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548
+#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989
+#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459
+#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561
#: builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "fichier"
@@ -184,7 +184,7 @@ msgstr "compression efficace"
msgid "list supported archive formats"
msgstr "afficher les formats d'archive supportΓ©s"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "dΓ©pΓ΄t"
@@ -192,7 +192,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:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr "commande"
@@ -200,7 +200,7 @@ msgstr "commande"
msgid "path to the remote git-upload-archive command"
msgstr "chemin vers la commande distante git-upload-archive"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
@@ -208,90 +208,107 @@ msgstr ""
"Les motifs de nΓ©gation sont ignorΓ©s dans les attributs git\n"
"Utilisez '\\!' pour un point d'exclamation littΓ©ral."
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"Après correction de la cause de l'erreur, vous pouvez essayer de corriger\n"
+"l'information de suivi distant en invoquant\n"
+"\"git branch --setup-upstream-to=%s%s%s\"."
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "La branche %s ne peut pas Γͺtre sa propre branche amont."
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr ""
"La branche %s est paramΓ©trΓ©e pour suivre la branche distante %s de %s en "
"rebasant."
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr ""
"La branche %s est paramΓ©trΓ©e pour suivre la branche distante %s depuis %s."
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr ""
"La branche %s est paramΓ©trΓ©e pour suivre la branche locale %s en rebasant."
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "La branche %s est paramΓ©trΓ©e pour suivre la branche locale %s."
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr ""
"La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence distante %s en "
"rebasant."
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence distante %s."
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr ""
"La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence locale %s en rebasant."
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence locale %s."
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "Γ‰chec de l'Γ©criture de la configuration de branche amont"
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr "Pas de suivi : information ambiguΓ« pour la rΓ©fΓ©rence %s"
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "'%s' n'est pas un nom de branche valide."
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "Une branche nommΓ©e '%s' existe dΓ©jΓ ."
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "Impossible de forcer la mise Γ  jour de la branche courante."
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr ""
"Impossible de paramΓ©trer le suivi de branche ; le point de dΓ©part '%s' n'est "
"pas une branche."
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "la branche amont demandΓ©e '%s' n'existe pas"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -311,22 +328,22 @@ msgstr ""
"sa jumelle distante, vous pouvez utiliser \"git push -u\"\n"
"pour paramΓ©trer le suivi distant en mΓͺme temps que vous poussez."
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "Nom d'objet invalide : '%s'."
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "Nom d'objet ambigu : '%s'."
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "Point d'embranchement invalide : '%s'."
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "'%s' est dΓ©jΓ  extrait dans '%s'"
@@ -350,10 +367,10 @@ msgstr "impossible d'ouvrir '%s'"
msgid "Repository lacks these prerequisite commits:"
msgstr "Le dΓ©pΓ΄t ne dispose pas des commits prΓ©requis suivants :"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "Γ©chec de la prΓ©paration du parcours des rΓ©visions"
@@ -392,7 +409,7 @@ msgstr "rev-list a disparu"
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:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "argument non reconnu : %s"
@@ -415,8 +432,8 @@ msgstr "l'index de groupe a disparu"
msgid "invalid color value: %.*s"
msgstr "Valeur invalide de couleur : %.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "impossible d'analyser %s"
@@ -430,62 +447,67 @@ msgstr "%s %s n'est pas un commit !"
msgid "memory exhausted"
msgstr "plus de mΓ©moire"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "ligne %d de fichier de config incorrecte dans %s"
+msgid "bad config line %d in %s %s"
+msgstr "ligne %d de fichier de config incorrecte dans %s %s"
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
msgstr ""
-"valeur numΓ©rique de configuration incorrecte '%s' pour '%s' dans %sΒ : %s"
+"valeur numΓ©rique de configuration incorrecte '%s' pour '%s' dans %s %sΒ : %s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "valeur numΓ©rique de configuration invalide '%s' pour '%s' : %s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "impossible d'Γ©tendre le rΓ©pertoire utilisateur dans : '%s'"
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "niveau de compression zlib incorrect %d"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "mode invalide pour la crΓ©ation d'objet : %s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr "lecture de la configuration de ligne de commande impossible"
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr "erreur inconnue pendant la lecture des fichiers de configuration"
-#: config.c:1601
+#: config.c:1629
#, 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:1603
+#: config.c:1631
#, 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:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s a des valeurs multiples"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "Impossible de rΓ©gler '%s' Γ  '%s'"
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "Impossible de lancer 'git rev-list'"
@@ -603,16 +625,16 @@ msgstr ""
"Erreurs dans la variable de configuration 'diff.dirstat' :\n"
"%s"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "l'application de diff externe a disparu, arrΓͺt Γ  %s"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow a besoin d'une spΓ©cification de chemin unique"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
@@ -621,18 +643,18 @@ msgstr ""
"Impossible d'analyser le paramètre de l'option --dirstat/-X :\n"
"%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'"
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "echec de l'obtention d'information de kernel"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "Le cache non suivi est désactivé sur ce système."
+#: dir.c:2123
+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."
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -671,20 +693,20 @@ msgstr "'%s' : %s"
msgid "'%s': short read %s"
msgstr "'%s' : lecture tronquΓ©e %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr "commandes git disponibles dans '%s'"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr "commandes git disponibles depuis un autre endroit de votre $PATH"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr "Ci-dessous les commandes Git habituelles dans diverses situationsΒ :"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
@@ -693,11 +715,11 @@ msgstr ""
"'%s' semble Γͺtre une commande git, mais elle n'a pas pu\n"
"Γͺtre exΓ©cutΓ©e. Peut-Γͺtre git-%s est-elle cassΓ©e ?"
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr "Ahem. Votre système n'indique aucune commande Git."
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -707,17 +729,17 @@ msgstr ""
"pas.\n"
"Continuons en supposant que vous avez voulu dire '%s'"
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "dans %0.1f secondes automatiquement..."
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr "git : '%s' n'est pas une commande git. Voir 'git --help'."
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -731,7 +753,7 @@ msgstr[1] ""
"\n"
"Vouliez-vous dire un de ceux-lΓ  ?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s: %s - %s"
@@ -740,8 +762,8 @@ msgstr "%s: %s - %s"
msgid "failed to read the cache"
msgstr "impossible de lire le cache"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "impossible d'Γ©crire le nouveau fichier d'index"
@@ -759,64 +781,64 @@ msgstr "Γ©chec de addinfo_cache pour le chemin '%s'"
msgid "error building trees"
msgstr "erreur de construction des arbres"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "impossible de crΓ©er le chemin '%s' %s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, 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:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ": peut-Γͺtre un conflit D/F ?"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "refus de perdre le fichier non suivi '%s'"
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "impossible de lire l'objet %s '%s'"
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "blob attendu pour %s '%s'"
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "Γ©chec Γ  l'ouverture de '%s'"
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "Γ©chec Γ  la crΓ©ation du lien symbolique '%s'"
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "ne sait pas traiter %06o %s '%s'"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "Γ‰chec Γ  l'exΓ©cution de la fusion interne"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "Impossible d'ajouter %s Γ  la base de donnΓ©es"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "type d'objet non supportΓ© dans l'arbre"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -825,7 +847,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:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -834,20 +856,20 @@ 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:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "renommage"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "renommΓ©"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, 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:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -856,146 +878,146 @@ msgstr ""
"CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche "
"\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr " (laissΓ© non rΓ©solu)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, 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:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "Renommage de %s en %s et de %s en %s Γ  la place"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr ""
"CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajoutΓ© dans %s"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "Ajout de %s fusionnΓ©"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "Ajout plutΓ΄t comme %s"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "impossible de lire l'objet %s"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "l'objet %s n'est pas un blob"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "modification"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "modifiΓ©"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "contenu"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "ajout/ajout"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "%s sautΓ© (fusion identique Γ  l'existant)"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "Fusion automatique de %s"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "sous-module"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "CONFLIT (%s) : Conflit de fusion dans %s"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "Suppression de %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "fichier/rΓ©pertoire"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "rΓ©pertoire/fichier"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, 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:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "Ajout de %s"
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "Γ‰chec fatal de fusion, qui ne devrait jamais arriver."
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "DΓ©jΓ  Γ  jour !"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "Γ©chec de fusion des arbres %s et %s"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "Chemin non traitΓ© ??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "Fusion :"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, 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:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "la fusion n'a pas retournΓ© de commit"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "Impossible d'analyser l'objet '%s'"
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "Impossible d'Γ©crire l'index."
@@ -1115,12 +1137,12 @@ msgstr ""
"%s : le spΓ©cificateur magique de chemin n'est pas supportΓ© par cette "
"commande : %s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "le chemin '%s' est au-delΓ  d'un lien symbolique"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1154,166 +1176,251 @@ msgstr ""
"GIT_INDEX_VERSION est renseignΓ©, mais la valeur est invalide.\n"
"Utilisation de la version %i"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "Impossible d'ouvrir '%s' en Γ©criture"
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "Impossible de supprimer la rΓ©fΓ©rence %sΒ : %s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "impossible de supprimer les rΓ©fΓ©rencesΒ : %s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "impossible de supprimer la rΓ©fΓ©rence %s"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "formatΒ : atome %%(end) utilisΓ© sans atome correspondant"
+msgid "expected format: %%(color:<color>)"
+msgstr "format attenduΒ : %%(color:<couleur>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "couleur non reconnue : %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "format non reconnu %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) n'accepte pas d'argument"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) n'accepte pas d'argument"
-#: ref-filter.c:704
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "valeur positive attendue contents:lines=%s"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "format attenduΒ : %%(color:<couleur>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "argument %%(contents) non reconnu : %s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "impossible d'analyser le format"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "argument %%(objectname) non reconnu : %s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "format attenduΒ : %%(align:<largeur>,<position>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "position non reconnueΒ : %s"
+
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "largeur non reconnueΒ : %s"
+
+#: ref-filter.c:157
#, c-format
-msgid "improper format entered align:%s"
-msgstr "format non convenable align:%s"
+msgid "unrecognized %%(align) argument: %s"
+msgstr "argument %%(align) non reconnu : %s"
-#: ref-filter.c:898
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "valeur positive attendue avec l'atome %%(align)"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "nom de champ malformΓ© %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "nom de champ inconnu : %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "formatΒ : atome %%(end) utilisΓ© sans atome correspondant"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "ChaΓne de formatage mal formΓ©e %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= requiert un argument entier positif"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "la rΓ©f '%s' n'a pas %ld composants Γ  :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "format de %.*s inconnu %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "objet manquant %s pour %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "echec de parse_object_buffer sur %s pour %s"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr "objet malformΓ© Γ  '%s'"
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "rΓ©f avec un nom cassΓ© %s ignorΓ©"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "rΓ©f cassΓ© %s ignorΓ©"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "format: atome %%(end) manquant"
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr "nom d'objet malformΓ© %s"
-#: remote.c:756
+#: remote.c:745
#, 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:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s suit habituellement %s, pas %s"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s suit Γ  la fois %s et %s"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "Erreur interne"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEAD ne pointe pas sur une branche"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "pas de branche '%s'"
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "aucune branche amont configurΓ©e pour la branche '%s'"
-#: remote.c:1705
+#: remote.c:1695
#, 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:1720
+#: remote.c:1710
#, 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:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "la branche '%s' n'a aucune branche distante de poussΓ©e"
-#: remote.c:1746
+#: remote.c:1736
#, 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:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "la poussΓ©e n'a pas de destination (push.default vaut 'nothing')"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr ""
"impossible de rΓ©soudre une poussΓ©e 'simple' pour une destination unique"
-#: remote.c:2083
+#: remote.c:2073
#, 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:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr " (utilisez \"git branch --unset-upstream\" pour corriger)\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "Votre branche est Γ  jour avec '%s'.\n"
-#: remote.c:2094
+#: remote.c:2084
#, 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:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " (utilisez \"git push\" pour publier vos commits locaux)\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1325,11 +1432,11 @@ msgstr[1] ""
"Votre branche est en retard sur '%s' de %d commits, et peut Γͺtre mise Γ  jour "
"en avance rapide.\n"
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr " (utilisez \"git pull\" pour mettre Γ  jour votre branche locale)\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1344,29 +1451,29 @@ msgstr[1] ""
"Votre branche et '%s' ont divergΓ©,\n"
"et ont %d et %d commits diffΓ©rents chacune respectivement.\n"
-#: remote.c:2124
+#: remote.c:2114
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"
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "votre branche actuelle semble cassΓ©e"
-#: revision.c:2196
+#: revision.c:2134
#, 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:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "--first-parent est incompatible avec --bisect"
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "Γ©chec de l'ouverture de /dev/null"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "Γ©chec de dup2(%d,%d)"
@@ -1391,7 +1498,7 @@ msgstr ""
msgid "the receiving end does not support --atomic push"
msgstr "Le receveur ne gère pas les poussées avec --atomic"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
@@ -1399,7 +1506,7 @@ msgstr ""
"après résolution des conflits, marquez les chemins corrigés\n"
"avec 'git add <chemins>' ou 'git rm <chemins>'"
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1409,67 +1516,67 @@ msgstr ""
"avec 'git add <chemins>' ou 'git rm <chemins>'\n"
"puis validez le rΓ©sultat avec 'git commit'"
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "Impossible d'Γ©crire dans %s"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "Erreur Γ  l'emballage de %s"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr "Vos modifications locales seraient Γ©crasΓ©es par cherry-pick."
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "Vos modifications locales seraient Γ©crasΓ©es par revert."
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr "Validez vos modifications ou les remiser pour continuer."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%s: Impossible d'Γ©crire le nouveau fichier index"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "Impossible de rΓ©soudre le commit HEAD\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "Impossible de mettre Γ  jour l'arbre de cache\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "Impossible d'analyser le commit %s\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "Impossible d'analyser le commit parent %s\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "Votre fichier d'index n'est pas fusionnΓ©."
-#: sequencer.c:488
+#: sequencer.c:479
#, 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:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "Le commit %s n'a pas le parent %d"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr ""
@@ -1478,162 +1585,177 @@ msgstr ""
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%s : impossible d'analyser le commit parent %s"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "Impossible d'obtenir un message de validation pour %s"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "impossible d'annuler %s... %s"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "impossible d'appliquer %s... %s"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "l'ensemble de commits spΓ©cifiΓ© est vide"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %s : Γ©chec Γ  la lecture de l'index"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %s : Γ©chec du rafraΓchissement de l'index"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "Impossible de %s pendant un %s"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "Impossible d'analyser la ligne %d."
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "Aucun commit analysΓ©."
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "Impossible d'ouvrir %s"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "Impossible de lire %s."
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "Feuille d'instruction inutilisable : %s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "ClΓ© invalide: %s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "Valeur invalide pour %s : %s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr "Feuille d'options malformΓ©e : %s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "un picorage ou un retour est dΓ©jΓ  en cours"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\""
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "Impossible de crΓ©er le rΓ©pertoire de sΓ©quenceur %s"
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "Erreur lors de l'emballage de %s."
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "aucun picorage ou retour en cours"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "impossible de rΓ©soudre HEAD"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "impossible d'abandonner depuis une branche non encore créée"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "impossible d'ouvrir %s : %s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "impossible de lire %s : %s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "fin de fichier inattendue"
-#: sequencer.c:897
+#: sequencer.c:888
#, 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:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "Impossible de formater %s."
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%s : impossible de picorer un %s"
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%s : mauvaise rΓ©vision"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "Impossible d'annuler en tant que commit initial"
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr "Impossible de picorer vers une HEAD vide"
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "Γ©chec de la lecture de %s"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "offset avant le dΓ©but de l'index de paquet pour %s (index corrompuΒ ?)"
+
+#: sha1_file.c:2463
+#, c-format
+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é ?)"
+
+#: sha1_name.c:462
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"
@@ -1658,63 +1780,87 @@ msgstr ""
"message\n"
"en lanΓ§ant \"git config advice.objectNameWarning false\""
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
"Modification impossible de .gitmodules non fusionnΓ©, rΓ©solvez les conflits "
"d'abord"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "Impossible de trouver une section oΓΉ path=%s dans .gitmodules"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr "Impossible de mettre Γ  jour l'Γ©lΓ©ment %s de .gitmodules"
# ici %s est un chemin
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "Impossible de supprimer l'Γ©lΓ©ment de .gitmodules pour %s"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "Γ©chec de la mise en index du .gitmodules mis Γ  jour"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "Impossible de paramΓ©trer core.worktree dans %s"
+msgid "running trailer command '%s' failed"
+msgstr "Γ©chec de la commande trailer '%s'"
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "valeur inconnue '%s' pour la clΓ© '%s'"
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "plus d'un %s"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "symbole vide dans la ligne de fin '%.*s'"
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "impossible de lire le fichier d'entrΓ©e '%s'"
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "Impossible de lire depuis l'entrΓ©e standard"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "stat impossible de %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "%s n'est pas un fichier rΓ©gulier"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "impossible de crΓ©er un fichier temporaire"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "impossible de renommer un fichier temporaire en %s"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "impossible de lire la rΓ©f %s"
@@ -1752,47 +1898,47 @@ msgstr "numΓ©ro de port invalide"
msgid "invalid '..' path segment"
msgstr "segment de chemin '..' invalide"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "impossible d'ouvrir '%s' en lecture/Γ©criture"
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "impossible d'ouvrir '%s' en Γ©criture"
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "impossible d'ouvrir '%s' en lecture"
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "impossible d'accΓ©der Γ  '%s' : %s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "impossible d'accΓ©der Γ  '%s'"
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "impossible d'accΓ©der au rΓ©pertoire de travail courant"
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "Impossible d'ouvrir '%s' en Γ©criture"
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "Impossible d'Γ©crire dans %s"
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "impossible de fermer %s"
@@ -2268,7 +2414,11 @@ msgstr "disparue"
msgid "behind "
msgstr "derrière "
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "devant "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "Γ©chec lors de l'unlink de '%s'"
@@ -2295,7 +2445,7 @@ msgstr "suppression de '%s'\n"
msgid "Unstaged changes after refreshing the index:"
msgstr "Modifications non indexΓ©es aprΓ¨s rafraΓchissement de l'index :"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "Impossible de lire l'index"
@@ -2331,15 +2481,15 @@ 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:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "simuler l'action"
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "mode verbeux"
@@ -2347,7 +2497,7 @@ msgstr "mode verbeux"
msgid "interactive picking"
msgstr "sΓ©lection interactive"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "sΓ©lection interactive des sections"
@@ -2418,140 +2568,135 @@ msgstr "Rien de spΓ©cifiΓ©, rien n'a Γ©tΓ© ajoutΓ©.\n"
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "Vous vouliez sΓ»rement dire 'git add .' ?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "fichier d'index corrompu"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "Impossible d'Γ©crire le nouveau fichier d'index"
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "stat impossible de %s"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "impossible de lire '%s'"
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "impossible d'analyser le script author"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "'%s' a Γ©tΓ© effacΓ© par le crochet applypatch-msg"
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr "Ligne en entrΓ©e malformΓ©e : '%s'."
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "Impossible de copier les notes de '%s' vers '%s'"
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "Γ©chec de fseek"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "impossible d'ouvrir '%s' en lectureΒ : %s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "impossible d'ouvrir '%s' en Γ©critureΒ : %s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "impossible d'analyser le patch '%s'"
-#: builtin/am.c:868
+#: builtin/am.c:853
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:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "horodatage invalide"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "ligne de Date invalide"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "dΓ©calage horaire invalide"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "Γ‰chec de dΓ©tection du format du patch."
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "Γ©chec de la crΓ©ation du rΓ©pertoire '%s'"
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "Γ‰chec de dΓ©coupage des patchs."
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "impossible d'Γ©crire le fichier d'index"
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, 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:1204
+#: builtin/am.c:1189
#, 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:1205
+#: builtin/am.c:1190
#, 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:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "Le patch est vide. Le dΓ©coupage Γ©tait-il bonΒ ?"
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "ligne d'identification invalide : %s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "impossible d'analyser le commit %s"
-#: builtin/am.c:1646
+#: builtin/am.c:1631
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:1648
+#: builtin/am.c:1633
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:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
@@ -2559,38 +2704,38 @@ msgstr ""
"Avez-vous Γ©ditΓ© le patch Γ  la main ?\n"
"Il ne s'applique pas aux blobs enregistrΓ©s dans son index."
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr "Retour Γ  un patch de la base et fusion Γ  3 points..."
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "Γ‰chec d'intΓ©gration des modifications."
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "git write-tree a Γ©chouΓ© Γ  Γ©crire un arbre"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "application Γ  un historique vide"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "Γ©chec de l'Γ©criture de l'objet commit"
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "impossible de continuer : %s n'existe pas."
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr ""
"impossible d'Γͺtre interactif sans entrΓ©e standard connectΓ©e Γ  un terminal."
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "Le corps de la validation est :"
@@ -2598,35 +2743,35 @@ msgstr "Le corps de la validation est :"
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
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:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "Application de %.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "Pas de changement -- Patch dΓ©jΓ  appliquΓ©."
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "le patch a Γ©chouΓ© Γ  %s %.*s"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "La copie du patch qui a Γ©chouΓ© se trouve dans : %s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
@@ -2637,7 +2782,7 @@ msgstr ""
"introduit les mΓͺmes changements ; vous pourriez avoir envie de sauter ce "
"patch."
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
@@ -2645,17 +2790,17 @@ msgstr ""
"Vous avez toujours des chemins non fusionnΓ©s dans votre index\n"
"Auriez-vous oubliΓ© de faire 'git add' ?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "Impossible d'analyser l'objet '%s'."
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "Γ©chec du nettoyage de l'index"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
@@ -2663,154 +2808,154 @@ msgstr ""
"Vous semblez avoir dΓ©placΓ© la HEAD depuis le dernier Γ©chec de 'am'.\n"
"Pas de retour Γ  ORIG_HEAD"
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "Valeur invalide pour --patch-format : %s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<options>] [(<mbox>|<Maildir>)...]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<options>] (--continue | --quit | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "exΓ©cution interactive"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "option historique -- no-op"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "permettre de revenir Γ  une fusion Γ  3 points si nΓ©cessaire"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "Γͺtre silencieux"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
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:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "recoder en utf-8 (par dΓ©faut)"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "passer l'option -k Γ  git-mailinfo"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "passer l'option -b Γ  git-mailinfo"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "passer l'option -m Γ  git-mailinfo"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
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:2281
+#: builtin/am.c:2267
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:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "retirer tout le contenu avant la ligne des ciseaux"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "action"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "le passer jusqu'Γ  git-apply"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "racine"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "chemin"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185
#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
#: parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "n"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "num"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "format"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "format de prΓ©sentation des patchs"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
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:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "continuer à appliquer les patchs après résolution d'un conflit"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr "synonymes de --continue"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "sauter le patch courant"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr ""
"restaurer la branche originale et abandonner les applications de patch."
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "mentir sur la date de validation"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "utiliser l'horodatage actuel pour la date d'auteur"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
-msgstr "id de clΓ©"
+msgstr "id-clΓ©"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "signer les commits avec GPG"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "(utilisation interne pour git-rebase)"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
@@ -2818,17 +2963,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:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "Γ©chec Γ  la lecture de l'index"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, 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:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
@@ -2837,7 +2982,7 @@ msgstr ""
"RΓ©pertoire abandonnΓ© %s trouvΓ©.\n"
"Utilisez \"git am --abort\" pour le supprimer."
-#: builtin/am.c:2406
+#: builtin/am.c:2392
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 "
@@ -3196,137 +3341,137 @@ msgstr "entrΓ©e non reconnue"
msgid "unable to read index file"
msgstr "lecture du fichier d'index impossible"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "ne pas appliquer les modifications qui correspondent au chemin donnΓ©"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "appliquer les modifications qui correspondent au chemin donnΓ©"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "ignorer les additions rΓ©alisΓ©es par le patch"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
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"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
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"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr "au lieu d'appliquer le patch, afficher un rΓ©sumer de l'entrΓ©e"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
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"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr "s'assurer que le patch est applicable sur l'index actuel"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "appliquer les patch sans toucher Γ  la copie de travail"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr "accepter un patch qui touche hors de la copie de travail"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr "appliquer aussi le patch (Γ  utiliser avec ---stat/--summary/--check)"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
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"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr ""
"construire un index temporaire fondΓ© sur l'information de l'index embarquΓ©"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr "les chemins sont séparés par un caractère NUL"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
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"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "appliquer le patch en sens inverse"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "ne pas s'attendre Γ  au moins une ligne de contexte"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr "laisser les sections rejetΓ©es dans les fichiers *.rej correspondants"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "accepter les recouvrements de sections"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
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"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
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"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "prΓ©fixer tous les noms de fichier avec <root>"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr "--3way hors d'un dΓ©pΓ΄t"
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr "--index hors d'un dΓ©pΓ΄t"
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr "--cached hors d'un dΓ©pΓ΄t"
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "ouverture impossible du patch '%s'"
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, 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"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3380,108 +3525,116 @@ msgstr "effectuer 'git bisect next'"
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr "mettre Γ  jour BISECT_HEAD au lieu d'extraire le commit actuel"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<options>] [<options-de-rΓ©vision>] [<rev>] [--] <fichier>"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
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:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "Assignation de blΓ’me au lignes"
+
+#: builtin/blame.c:2530
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:2520
+#: builtin/blame.c:2531
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:2521
+#: builtin/blame.c:2532
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:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "Montrer les statistiques de coΓ»t d'activitΓ©"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "Forcer l'affichage de l'Γ©tat d'avancement"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr "Montrer le score de sortie pour les Γ©lΓ©ments de blΓ’me"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "Montrer les noms de fichier originaux (DΓ©faut : auto)"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "Montrer les numΓ©ros de lignes originaux (DΓ©faut : dΓ©sactivΓ©)"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "Afficher dans un format propice Γ  la consommation par machine"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr "Afficher en format porcelaine avec l'information de commit par ligne"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
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:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "Afficher les horodatages bruts (DΓ©faut : dΓ©sactivΓ©)"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "Afficher les longs SHA1 de commits (DΓ©faut : dΓ©sactivΓ©)"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
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:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr "Afficher l'e-mail de l'auteur au lieu du nom (DΓ©faut : dΓ©sactivΓ©)"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "Ignorer les diffΓ©rences d'espace"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr ""
"DΓ©penser des cycles supplΓ©mentaires pour trouver une meilleure correspondance"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
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:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "Utiliser le contenu de <fichier> comme image finale"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "score"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "Trouver les copies de ligne dans et entre les fichiers"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "Trouver les mouvements de ligne dans et entre les fichiers"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "n,m"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
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"
@@ -3492,7 +3645,7 @@ msgstr ""
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "il y a 10 ans et 11 mois"
@@ -3694,156 +3847,156 @@ msgstr ""
"La branche est renommΓ©e, mais la mise Γ  jour du fichier de configuration a "
"Γ©chouΓ©"
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "impossible d'écrire le modèle de description de branche : %s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "Options gΓ©nΓ©riques"
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr "afficher le hachage et le sujet, doublΓ© pour la branche amont"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "supprimer les messages d'information"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "rΓ©gler le mode de suivi (voir git-pull(1))"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "modifier l'information amont"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "utiliser la coloration dans la sortie"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "agir sur les branches de suivi distantes"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "afficher seulement les branches qui contiennent le commit"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "Actions spΓ©cifiques Γ  git-branch :"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "afficher Γ  la fois les branches de suivi et les branches locales"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "supprimer une branche totalement fusionnΓ©e"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "supprimer une branche (mΓͺme non fusionnΓ©e)"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "dΓ©placer/renommer une branche et son reflog"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr "dΓ©placer/renommer une branche, mΓͺme si la cible existe"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "afficher les noms des branches"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "crΓ©er le reflog de la branche"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "Γ©diter la description de la branche"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "forcer la crΓ©ation, le dΓ©placement/renommage, ou la suppression"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "afficher seulement les branches qui sont fusionnΓ©es"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "afficher seulement les branches qui ne sont pas fusionnΓ©es"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "afficher les branches en colonnes"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "clΓ©"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "nom du champ servant Γ  trier"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "objet"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "afficher seulement les branches de l'objet"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "Γ‰chec de rΓ©solution de HEAD comme rΓ©fΓ©rence valide."
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "HEAD non trouvΓ©e sous refs/heads !"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "--column et --verbose sont incompatibles"
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "le nom de branche est requis"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr "Impossible de dΓ©crire une HEAD dΓ©tachΓ©e"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "impossible d'Γ©diter la description de plus d'une branche"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "Aucun commit sur la branche '%s'."
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "Aucune branche nommΓ©e '%s'."
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "trop de branches pour une opΓ©ration de renommage"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "trop de branches pour spΓ©cifier une branche amont"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
@@ -3851,41 +4004,41 @@ msgstr ""
"impossible de spΓ©cifier une branche amont de HEAD par %s qui ne pointe sur "
"aucune branche."
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "pas de branche '%s'"
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "la branche '%s' n'existe pas"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr "trop de branches pour dΓ©sactiver un amont"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr ""
"impossible de dΓ©sactiver une branche amont de HEAD quand elle ne pointe sur "
"aucune branche."
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "La branche '%s' n'a aucune information de branche amont"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "crΓ©er manuellement 'HEAD' n'a pas de sens"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr ""
"les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche"
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3894,7 +4047,7 @@ msgstr ""
"l'option --set-upstream est obsolΓ¨te et va disparaΓtre. Utilisez plutΓ΄t --"
"track ou --set-upstream-to\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3905,12 +4058,12 @@ msgstr ""
"Si vous vouliez que '%s' suive '%s', faΓtes ceci :\n"
"\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr " git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -4007,7 +4160,7 @@ msgstr "afficher tous les attributs associΓ©s au fichier"
msgid "use .gitattributes only from the index"
msgstr "utiliser .gitattributes seulement depuis l'index"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "lire les noms de fichier depuis l'entrΓ©e standard"
@@ -4016,7 +4169,7 @@ 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:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "supprimer l'Γ©tat d'avancement"
@@ -4069,51 +4222,55 @@ msgstr "impossible d'analyser le contact : %s"
msgid "no contacts specified"
msgstr "aucun contact spΓ©cifiΓ©"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<options>] [--] [<fichier>...]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "stage doit valoir entre 1 et 3, ou all"
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "extraire tous les fichiers prΓ©sents dans l'index"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "forcer l'Γ©crasement des fichiers existants"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr ""
"pas d'avertissement pour les fichiers existants et les fichiers absents de "
"l'index"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "ne pas extraire les nouveaux fichiers"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "mettre Γ  jour l'information de stat dans le fichier d'index"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "lire la liste des chemins depuis l'entrΓ©e standard"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "Γ©crire le contenu dans des fichiers temporaires"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "chaΓne"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr "lors de la crΓ©ation de fichiers, prΓ©fixer par <chaΓne>"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "copier les fichiers depuis l'index nommΓ©"
@@ -4195,37 +4352,41 @@ msgstr "Impossible de faire un reflog pour '%s'Β : %s\n"
msgid "HEAD is now at"
msgstr "HEAD est maintenant sur"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "impossible de mettre Γ  jour HEAD"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "Remise Γ  zΓ©ro de la branche '%s'\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "DΓ©jΓ  sur '%s'\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "Basculement et remise Γ  zΓ©ro de la branche '%s'\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "Basculement sur la nouvelle branche '%s'\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "Basculement sur la branche '%s'\n"
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " ... et %d en plus.\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4248,7 +4409,7 @@ msgstr[1] ""
"\n"
"%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4277,151 +4438,151 @@ msgstr[1] ""
"git branch <nouvelle-branche> %s\n"
"\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "erreur interne lors du parcours des rΓ©visions"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "La position prΓ©cΓ©dente de HEAD Γ©tait sur"
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "Vous Γͺtes sur une branche qui doit encore naΓtre"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "une seule rΓ©fΓ©rence attendue, %d fournies."
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "rΓ©fΓ©rence invalide : %s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "la rΓ©fΓ©rence n'est pas un arbre : %s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "impossible d'utiliser des chemins avec un basculement de branches"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, 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:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "'%s' ne peut pas Γͺtre utilisΓ© avec '%s'"
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, 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:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "branche"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "crΓ©er et extraire une nouvelle branche"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "crΓ©er/rΓ©initialiser et extraire une branche"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "crΓ©er un reflog pour une nouvelle branche"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "dΓ©tacher la HEAD Γ  la validation nommΓ©e"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "paramΓ©trer les coordonnΓ©es de branche amont pour une nouvelle branche"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "nouvelle branche"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "nouvelle branche sans parent"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr "extraire notre version pour les fichiers non fusionnΓ©s"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr "extraire leur version pour les fichiers non fusionnΓ©s"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "forcer l'extraction (laisser tomber les modifications locales)"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "effectuer une fusion Γ  3 points avec la nouvelle branche"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "mettre Γ  jour les fichiers ignorΓ©s (par dΓ©faut)"
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "style"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
-msgstr "style de conflit (fusion ou diff3)"
+msgstr "style de conflit (merge (fusion) ou diff3)"
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
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:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "rΓ©essayer d'interprΓ©ter 'git checkout <branche-inexistante>'"
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
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:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "forcer l'affichage de l'Γ©tat d'avancement"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "-b, -B et --orphan sont mutuellement exclusifs"
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "--track requiert un nom de branche"
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "Nom de branche manquant ; essayez -b"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "spΓ©cification de chemin invalide"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4431,12 +4592,12 @@ msgstr ""
"en mΓͺme temps.\n"
"Souhaitiez-vous extraire '%s' qui ne peut Γͺtre rΓ©solu comme commit ?"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, 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:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4475,7 +4636,7 @@ msgstr "Ignorerait le dΓ©pΓ΄t %s\n"
msgid "failed to remove %s"
msgstr "Γ©chec de la suppression de %s"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4487,7 +4648,7 @@ msgstr ""
"foo - sΓ©lectionner un Γ©lΓ©ment par un prΓ©fixe unique\n"
" - (vide) ne rien sΓ©lectionner"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4507,36 +4668,36 @@ msgstr ""
"* - choisir tous les Γ©lΓ©ments\n"
" - (vide) terminer la sΓ©lection"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "Hein (%s) ?"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "Entrez les motifs Γ  ignorer>> "
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "ATTENTION : Impossible de trouver les Γ©lΓ©ments correspondant Γ  : %s"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "SΓ©lectionner les Γ©lΓ©ments Γ  supprimer"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "Supprimer %s [y/N] ? "
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "Au revoir."
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4554,62 +4715,62 @@ msgstr ""
"help - cet Γ©cran\n"
"? - aide pour la sΓ©lection en ligne"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr "*** Commandes ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "Et maintenant ?"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
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:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "Plus de fichier Γ  nettoyer, sortie."
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "ne pas afficher les noms des fichiers supprimΓ©s"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "forcer"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "nettoyage interactif"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "supprimer les rΓ©pertoires entiers"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "motif"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "ajouter <motif> aux règles ignore"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "supprimer les fichiers ignorΓ©s, aussi"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "supprimer seulement les fichiers ignorΓ©s"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "-x et -X ne peuvent pas Γͺtre utilisΓ©s ensemble"
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
@@ -4617,7 +4778,7 @@ msgstr ""
"clean.requireForce positionnΓ© Γ  true et ni -i, -n ou -f fourni ; refus de "
"nettoyer"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4629,147 +4790,163 @@ msgstr ""
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<options>] [--] <dΓ©pΓ΄t> [<rΓ©pertoire>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "ne pas crΓ©er d'extraction"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "crΓ©er un dΓ©pΓ΄t nu"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "crΓ©er un dΓ©pΓ΄t miroir (implique dΓ©pΓ΄t nu)"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "pour cloner depuis un dΓ©pΓ΄t local"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "ne pas utiliser de liens durs locaux, toujours copier"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "rΓ©gler comme dΓ©pΓ΄t partagΓ©"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "initialiser les sous-modules dans le clone"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "répertoire-modèle"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "rΓ©pertoire depuis lequel les modΓ¨les vont Γͺtre utilisΓ©s"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "dΓ©pΓ΄t de rΓ©fΓ©rence"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "utiliser seulement --reference pour cloner"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "nom"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "utiliser <nom> au lieu de 'origin' pour suivre la branche amont"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "extraire <branche> au lieu de la HEAD du rΓ©pertoire distant"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "chemin vers git-upload-pack sur le serveur distant"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193
msgid "depth"
msgstr "profondeur"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr "crΓ©er un clone superficiel de cette profondeur"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "cloner seulement une branche, HEAD ou --branch"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr "gitdir"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "sΓ©parer le rΓ©pertoire git de la copie de travail"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "clΓ©=valeur"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "rΓ©gler la configuration dans le nouveau dΓ©pΓ΄t"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "n'utiliser que des adresses IPv4"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "n'utiliser que des adresses IPv6"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+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:305
#, 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Γ©"
+"encore supportΓ©."
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, 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."
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr "le dΓ©pΓ΄t de rΓ©fΓ©rence '%s' est superficiel"
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr "le dΓ©pΓ΄t de rΓ©fΓ©rence '%s' est greffΓ©"
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "Γ©chec du stat de '%s'"
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "%s existe et n'est pas un rΓ©pertoire"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "Γ©chec du stat de %s\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "Γ©chec de la crΓ©ation du lien '%s'"
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "Γ©chec de la copie vers '%s'"
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "fait.\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
@@ -4779,121 +4956,130 @@ msgstr ""
"Vous pouvez inspecter ce qui a Γ©tΓ© extrait avec 'git status'\n"
"et rΓ©essayer l'extraction avec 'git checkout -f HEAD'\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "Impossible de trouver la branche distante '%s' Γ  cloner."
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "VΓ©rification de la connectivitΓ©... "
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "le serveur distant n'a pas envoyΓ© tous les objets nΓ©cessaires"
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "impossible de mettre Γ  jour %s"
+
+#: builtin/clone.c:696
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:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "impossible d'extraire la copie de travail"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "impossible de remballer pour nettoyer"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "impossible de unlinker le fichier temporaire alternates"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "Trop d'arguments."
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "Vous devez spΓ©cifier un dΓ©pΓ΄t Γ  cloner."
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "les options --bare et --origin %s sont incompatibles."
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "--bare et --separate-git-dir sont incompatibles."
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "le dΓ©pΓ΄t '%s' n'existe pas"
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "la profondeur %s n'est pas un entier positif"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, 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:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "la copie de travail '%s' existe dΓ©jΓ ."
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, 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:917
+#: builtin/clone.c:925
#, 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:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "Clonage dans le dΓ©pΓ΄t nu '%s'\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "Clonage dans '%s'...\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
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:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr "le dΓ©pΓ΄t source est superficiel, option --local ignorΓ©e"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local est ignorΓ©"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "Je ne sais pas cloner %s"
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, 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:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "Vous semblez avoir clonΓ© un dΓ©pΓ΄t vide."
@@ -5108,7 +5294,7 @@ msgstr ""
msgid "could not lookup commit %s"
msgstr "impossible de rechercher le commit %s"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "(lecture du message de journal depuis l'entrΓ©e standard)\n"
@@ -5296,8 +5482,8 @@ msgstr "afficher le statut avec concision"
msgid "show branch information"
msgstr "afficher l'information de branche"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "sortie pour traitement automatique"
@@ -5388,8 +5574,8 @@ msgstr "date"
msgid "override date for commit"
msgstr "remplacer la date pour la validation"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "message"
@@ -5425,7 +5611,7 @@ 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:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "ajouter une entrΓ©e Signed-off-by :"
@@ -5449,7 +5635,7 @@ msgstr "comment Γ©liminer les espaces et les commentaires # du message"
msgid "include status in commit message template"
msgstr "inclure le statut dans le modèle de message de validation"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "signer la validation avec GPG"
@@ -5540,140 +5726,146 @@ 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 reset HEAD\" pour rΓ©parer."
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<options>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "Emplacement du fichier de configuration"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "utiliser les fichier de configuration global"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "utiliser le fichier de configuration du système"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "utiliser le fichier de configuration du dΓ©pΓ΄t"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "utiliser le fichier de configuration spΓ©cifiΓ©"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "blob-id"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "lire la configuration depuis l'objet blob fourni"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "Action"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "obtenir la valeur : nom [regex-de-valeur]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "obtenir toutes les valeurs : clΓ© [regex-de-valeur]"
-#: builtin/config.c:63
+#: builtin/config.c:65
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:64
+#: builtin/config.c:66
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:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr ""
"remplacer toutes les variables correspondant : nom valeur [regex-de-valeur]"
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "ajouter une nouvelle variable : nom valeur"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "supprimer une variable : nom [regex-de-valeur]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "supprimer toutes les correspondances nom [regex-de-valeur]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "renommer une section : ancien-nom nouveau-nom"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "supprimer une section : nom"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "afficher tout"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "ouvrir un Γ©diteur"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "trouver la couleur configurΓ©e : slot [par dΓ©faut]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "trouver le rΓ©glage de la couleur : slot [stdout-est-tty]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "Type"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "la valeur est \"true\" (vrai) ou \"false\" (faux)"
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "la valeur est un nombre dΓ©cimal"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "la valeur est --bool ou --int"
-#: builtin/config.c:79
+#: builtin/config.c:81
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:80
+#: builtin/config.c:82
msgid "Other"
msgstr "Autre"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "terminer les valeurs avec un caractère NUL"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "n'afficher que les noms de variable"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "respecter les directives d'inclusion lors de la recherche"
-#: builtin/config.c:303
+#: builtin/config.c:86
+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:328
msgid "unable to parse default color value"
msgstr "impossible de lire la valeur de couleur par dΓ©faut"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5688,7 +5880,7 @@ msgstr ""
"#\tname = %s\n"
"#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "crΓ©ation impossible du fichier de configuration '%s'"
@@ -5941,164 +6133,168 @@ msgstr "git fetch --multiple [<options>] [(<dΓ©pΓ΄t> | <groupe>)...]"
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<options>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "rΓ©cupΓ©rer depuis tous le dΓ©pΓ΄ts distants"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "ajouter Γ  .git/FETCH_HEAD au lieu de l'Γ©craser"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "chemin vers lequel tΓ©lΓ©charger le paquet sur le poste distant"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "forcer l'Γ©crasement de la branche locale"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "rΓ©cupΓ©rer depuis plusieurs dΓ©pΓ΄ts distants"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "rΓ©cupΓ©rer toutes les Γ©tiquettes et leurs objets associΓ©s"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "ne pas rΓ©cupΓ©rer toutes les Γ©tiquettes (--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "nombre de sous-modules récupérés en parallèle"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
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:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "Γ  la demande"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "contrΓ΄ler la rΓ©cupΓ©ration rΓ©cursive dans les sous-modules"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "conserver le paquet tΓ©lΓ©chargΓ©"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "permettre la mise Γ  jour de la rΓ©fΓ©rence HEAD"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr "approfondir l'historique d'un clone superficiel"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "convertir en un dΓ©pΓ΄t complet"
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
-msgstr "dir"
+msgstr "rΓ©pertoire"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "prΓ©fixer ceci Γ  la sortie du chemin du sous-module"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "mode par dΓ©faut pour la rΓ©cursion"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr "accepter les rΓ©fΓ©rences qui mettent Γ  jour .git/shallow"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "correspondance de rΓ©fΓ©rence"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "spΓ©cifier une correspondance de rΓ©fΓ©rence pour la rΓ©cupΓ©ration"
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "impossible de trouver la rΓ©fΓ©rence HEAD distante"
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "objet %s non trouvΓ©"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[Γ  jour]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr "! %-*s %-*s -> %s (impossible de rΓ©cupΓ©rer la branche actuelle)"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[rejetΓ©]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[mise Γ  jour de l'Γ©tiquette]"
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " (impossible de mettre Γ  jour la rΓ©fΓ©rence locale)"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[nouvelle Γ©tiquette]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[nouvelle branche]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[nouvelle rΓ©fΓ©rence]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "impossible de mettre Γ  jour la rΓ©fΓ©rence locale"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "mise Γ  jour forcΓ©e"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "(pas d'avance rapide)"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "impossible d'ouvrir %s : %s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, 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:629
+#: builtin/fetch.c:637
#, 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:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "Depuis %.*s\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
@@ -6107,55 +6303,55 @@ 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:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s sera en suspens)"
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s est devenu en suspens)"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[supprimΓ©]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(aucun(e))"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, 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:852
+#: builtin/fetch.c:860
#, 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:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "L'option \"%s\" est ignorΓ©e pour %s\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "Je ne sais pas rΓ©cupΓ©rer depuis %s"
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "RΓ©cupΓ©ration de %s\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "Impossible de rΓ©cupΓ©rer %s"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
@@ -6163,32 +6359,32 @@ 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:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "Vous devez spΓ©cifier un nom d'Γ©tiquette."
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr "--depth et --unshallow ne peuvent pas Γͺtre utilisΓ©s ensemble"
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
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:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "fetch --all n'accepte pas d'argument de dΓ©pΓ΄t"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
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:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "distant ou groupe distant inexistant : %s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
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 "
@@ -6421,233 +6617,247 @@ msgstr ""
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<options>] [-e] <motif> [<rΓ©vision>...] [[--] <chemin>...]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grep : Γ©chec de crΓ©ation du fil: %s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "nombre de fils spΓ©cifiΓ© invalide (%d) pour %s"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "impossible de lire l'arbre (%s)"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, 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:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "l'option '%c' attend un valeur numΓ©rique"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "impossible d'ouvrir '%s'"
-#: builtin/grep.c:633
+#: builtin/grep.c:644
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:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "rechercher dans les contenus non gΓ©rΓ©s par git"
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "rechercher dans les fichiers suivis et non-suivis"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "ignorer les fichiers spΓ©cifiΓ©s via '.gitignore'"
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "afficher les lignes qui ne correspondent pas"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "correspondance insensible Γ  la casse"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "rechercher les motifs aux sΓ©parateurs de mots"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "traiter les fichiers binaires comme texte"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "ne pas chercher les motifs dans les fichiers binaires"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "traiter les fichiers binaires avec les filtres textconv"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "descendre au plus de <profondeur> dans l'arborescence"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "utiliser des expressions régulières étendues POSIX"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "utiliser des expressions régulières basiques POSIX (par défaut)"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "interprΓ©ter les motifs comme de chaΓnes fixes"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "utiliser des expressions régulières compatibles avec Perl"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "afficher les numΓ©ros de ligne"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "ne pas pas afficher les noms de fichier"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "afficher les noms de fichier"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "afficher les noms de fichiers relativement au rΓ©pertoire de base"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "synonyme pour --files-with-matches"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "n'afficher que les noms des fichiers sans correspondance"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "imprimer une caractère NUL après le noms de fichier"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "afficher le nombre de correspondances au lieu des lignes correspondant"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "mettre en Γ©vidence les correspondances"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr ""
"imprimer une ligne vide entre les correspondances de fichiers diffΓ©rents"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
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:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "afficher <n> lignes de contexte avant et après les correspondances"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "afficher <n> lignes de contexte avant les correspondances"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "afficher <n> lignes de contexte après les correspondances"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "utiliser <n> fils de travail"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "raccourci pour -C NUM"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
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:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "afficher la fonction contenante"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "lire les motifs depuis fichier"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "rechercher <motif>"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "combiner les motifs spΓ©cifiΓ©s par -e"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr ""
"indiquer des correspondances avec le code de sortie mais sans rien afficher"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
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:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "afficher l'arbre d'analyse pour le motif grep"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "pagineur"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "afficher les fichiers correspondant dans le pagineur"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "permettre l'appel de grep(1) (ignorΓ© par ce build)"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "aucun motif fourni."
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "nombre de fils spΓ©cifiΓ© invalide (%d)"
+
+#: builtin/grep.c:873
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:877
+#: builtin/grep.c:899
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:882
+#: builtin/grep.c:904
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:885
+#: builtin/grep.c:907
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:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "--cached et des arbres sont fournis en mΓͺme temps."
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
@@ -6655,38 +6865,38 @@ msgstr ""
"git hash-object [-t <type>] [-w] [--path=<fichier> | --no-filters] [--stdin] "
"[--] <fichier>..."
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "type"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "type d'objet"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "Γ©crire l'objet dans la base de donnΓ©e d'objets"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "lire l'objet depuis l'entrΓ©e standard"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "stocker le fichier tel quel sans filtrage"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr ""
"juste hasher n'importe quel contenu pour crΓ©er des objets corrompus pour "
"debugger Git"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "traiter le fichier comme s'il venait de ce chemin"
@@ -6737,7 +6947,7 @@ msgstr "la version d'emacsclient '%d' est trop ancienne (<22)."
msgid "failed to exec '%s': %s"
msgstr "Γ©chec de l'exΓ©cution de '%s' : %s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
@@ -6746,7 +6956,7 @@ msgstr ""
"'%s' : chemin pour l'utilitaire de visualisation de manuel non supportΓ©.\n"
"Veuillez utiliser plutΓ΄t 'man.<outil>.cmd'."
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
@@ -6755,62 +6965,62 @@ msgstr ""
"'%s' : chemin pour l'utilitaire de visualisation de manuel supportΓ©.\n"
"Veuillez utiliser plutΓ΄t 'man.<outil>.cmd'."
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "'%s' : visualiseur de manuel inconnu."
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "aucun visualiseur de manuel n'a pris en charge la demande"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "aucun visualiseur de 'info' n'a pris en charge la demande"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "DΓ©finition des attributs par chemin"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr "Git de tous les jours avec à peu près 20 commandes"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "Un glossaire Git"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "SpΓ©cifie les fichiers non-suivis Γ  ignorer intentionnellement"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "DΓ©finition des propriΓ©tΓ©s de sous-module"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "SpΓ©cification des rΓ©visions et portΓ©es pour Git"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr ""
"Une introduction pratique Γ  Git (pour les versions 1.5.1 et supΓ©rieures)"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "Un aperΓ§u des flux de travail recommandΓ©s avec Git"
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "Les guides Git populaires sont : \n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "usage : %s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "`git %s\" est un alias de `%s'"
@@ -7047,60 +7257,55 @@ msgstr "impossible de stocker le fichier d'index"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "mauvais pack.indexversion=%<PRIu32>"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "nombre de fils spΓ©cifiΓ© invalide (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "pas de support des fils, ignore %s"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "Impossible d'ouvrir le fichier paquet existant '%s'"
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, 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:1586
+#: builtin/index-pack.c:1587
#, 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:1593
+#: builtin/index-pack.c:1594
#, 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:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "Impossible de revenir au rΓ©pertoire de travail courant"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "mauvais %s"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "--fix-thin ne peut pas Γͺtre utilisΓ© sans --stdin"
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, 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:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "--verify sans nom de fichier paquet donnΓ©"
@@ -7227,24 +7432,32 @@ msgstr "Impossible d'accΓ©der Γ  l'arbre de travail '%s'"
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer "
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
"<symbole>[(=|:)<valeur>])...] [<fichier>...]"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "Γ©diter les fichiers sur place"
+
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "Γ©liminer les lignes de fin vides"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "ligne de fin"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "ligne(s) de fin Γ  ajouter"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "aucun fichier en entrΓ©e pour l'Γ©diton sur place"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<options>] [<plage de rΓ©visions>] [[--] <chemin>...]"
@@ -7300,226 +7513,226 @@ msgstr "Impossible de lire l'objet %s"
msgid "Unknown type: %d"
msgstr "Type inconnu : %d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "format.headers sans valeur"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "le nom du rΓ©pertoire de sortie est trop long"
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "Impossible d'ouvrir le fichier correctif %s"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "Exactement une plage nΓ©cessaire."
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "Ceci n'est pas une plage."
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "La lettre de motivation doit Γͺtre au format e-mail"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "in-reply-to aberrant : %s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<options>] [<depuis> | <plage de rΓ©visions>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "Deux rΓ©pertoires de sortie ?"
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "utiliser [PATCH n/m] mΓͺme avec un patch unique"
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "utiliser [PATCH] mΓͺme avec des patchs multiples"
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "afficher les patchs sur la sortie standard"
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "gΓ©nΓ©rer une lettre de motivation"
-#: builtin/log.c:1222
+#: builtin/log.c:1225
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:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr "sfx"
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "utiliser <sfx> au lieu de '.patch'"
-#: builtin/log.c:1226
+#: builtin/log.c:1229
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:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "marquer la série comme une Nième réédition"
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "utiliser [<prΓ©fixe>] au lieu de [PATCH]"
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "stocker les fichiers rΓ©sultats dans <rΓ©pertoire>"
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "ne pas retirer/ajouter [PATCH]"
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "ne pas imprimer les diffs binaires"
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
msgstr "Γ©crire une empreinte Γ  zΓ©ro dans l'entΓͺte From"
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr "ne pas inclure un patch correspondant Γ  un commit amont"
-#: builtin/log.c:1245
+#: builtin/log.c:1248
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:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "Communication"
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr "en-tΓͺte"
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr "ajouter l'en-tΓͺte d'e-mail"
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "e-mail"
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "ajouter l'en-tΓͺte \"To:\""
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "ajouter l'en-tΓͺte \"Cc:\""
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr "ident"
-#: builtin/log.c:1255
+#: builtin/log.c:1258
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:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr "id-message"
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "rΓ©pondre dans le premier message Γ  <id-message>"
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "limite"
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "attacher le patch"
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "patch Γ  l'intΓ©rieur"
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr ""
"activer l'enfilage de message, styles : shallow (superficiel), deep (profond)"
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr "signature"
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "ajouter une signature"
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "ajouter une signature depuis un fichier"
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "ne pas afficher les noms de fichiers des patchs"
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "-n et -k sont mutuellement exclusifs."
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "--subject-prefix et -k sont mutuellement exclusifs."
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "--name-only n'a pas de sens"
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "--name-status n'a pas de sens"
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "--check n'a pas de sens"
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "sortie standard, ou rΓ©pertoire, lequel ?"
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "Impossible de crΓ©er le rΓ©pertoire '%s'"
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "lecture du fichier de signature '%s' impossible"
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "Γ‰chec de crΓ©ation des fichiers en sortie"
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]"
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -7527,106 +7740,158 @@ msgstr ""
"Impossible de trouver une branche distante suivie, merci de spΓ©cifier "
"<branche_amont> manuellement.\n"
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "Commit inconnu %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<options>] [<fichier>...]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "identifier le statut de fichier avec les Γ©tiquettes"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr "utiliser des minuscules pour les fichier 'assumΓ©s inchangΓ©s'"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr "afficher les fichiers mis en cache dans la sortie (dΓ©faut)"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "afficher les fichiers supprimΓ©s dans la sortie"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "afficher les fichiers modifiΓ©s dans la sortie"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "afficher les autres fichiers dans la sortie"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "afficher les fichiers ignorΓ©s dans la sortie"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr "afficher les nom des objets indexΓ©s dans la sortie"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr ""
"afficher les fichiers du systΓ¨me de fichiers qui ont besoin d'Γͺtre supprimΓ©s"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "afficher seulement les noms des rΓ©pertoires 'other'"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "afficher les fins de lignes des fichiers"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "ne pas afficher les rΓ©pertoires vides"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "afficher les fichiers non fusionnΓ©s dans la sortie"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "afficher l'information resolv-undo"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "sauter les fichiers correspondant au motif"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "les motifs d'exclusion sont lus depuis <fichier>"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "lire des motifs d'exclusion additionnels par rΓ©pertoire dans <fichier>"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "ajouter les exclusions git standard"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "afficher en relatif par rapport au rΓ©pertoire racine du projet"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "si un <fichier> n'est pas dans l'index, traiter cela comme une erreur"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "arbre ou apparentΓ©"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr ""
"considΓ©rer que les chemins supprimΓ©s depuis <arbre ou apparentΓ©> sont "
"toujours prΓ©sents"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "afficher les donnΓ©es de dΓ©bogage"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<dΓ©pΓ΄t> [<rΓ©fΓ©rences>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "ne pas afficher les URL distantes"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "exΓ©cutable"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "chemin vers git-upload-pack sur le serveur distant"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "limiter aux Γ©tiquettes"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "limiter aux heads"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "ne pas afficher les Γ©tiquettes pelΓ©es"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "prendre en compte url.<base>.insteadOf"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr ""
+"sortir avec un code d'erreur 2 si aucune correspondance de rΓ©fΓ©rence n'est "
+"trouvΓ©e"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "afficher la rΓ©f sous-jacente en plus de l'objet pointΓ© par elle"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<options>] <arbre ou apparentΓ©> [<chemin>...]"
@@ -7696,33 +7961,33 @@ msgstr "Les stratΓ©gies disponibles sont :"
msgid "Available custom strategies are:"
msgstr "Les stratΓ©gies personnalisΓ©es sont :"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
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:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "afficher un diffstat Γ  la fin de la fusion"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "(synonyme de --stat)"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
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:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
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:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "effectuer une validation si la fusion rΓ©ussit (dΓ©faut)"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "Γ©diter le message avant la validation"
@@ -7730,7 +7995,7 @@ msgstr "Γ©diter le message avant la validation"
msgid "allow fast-forward (default)"
msgstr "autoriser l'avance rapide (dΓ©faut)"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr "abandonner si l'avance rapide n'est pas possible"
@@ -7738,20 +8003,20 @@ msgstr "abandonner si l'avance rapide n'est pas possible"
msgid "Verify that the named commit has a valid GPG signature"
msgstr "VΓ©rifier que la validation a une signature GPG valide"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "stratΓ©gie"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "stratΓ©gie de fusion Γ  utiliser"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "option=valeur"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "option pour la stratΓ©gie de fusion sΓ©lectionnΓ©e"
@@ -7790,8 +8055,8 @@ msgstr " (rien Γ  compresser)"
msgid "Squash commit -- not updating HEAD\n"
msgstr "Validation compressΓ©e -- HEAD non mise Γ  jour\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "Impossible d'Γ©crire dans '%s'"
@@ -7809,43 +8074,43 @@ msgstr "Finition de SQUASH_MSG"
msgid "No merge message -- not updating HEAD\n"
msgstr "Pas de message de fusion -- pas de mise Γ  jour de HEAD\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "'%s' ne pointe pas sur un commit"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "Mauvaise chaΓne branch.%s.mergeoptions : %s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
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.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "Options inconnue pour merge-recursive : -X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "impossible d'Γ©crire %s"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "Impossible de lire depuis '%s'"
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr ""
"Pas de validation de la fusion ; utilisez 'git commit' pour terminer la "
"fusion.\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7862,54 +8127,54 @@ msgstr ""
"Les lignes commenΓ§ant par '%c' seront ignorΓ©es, et un message vide\n"
"abandonne la validation.\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "Message de validation vide."
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "Merveilleux.\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, 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:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "'%s' n'est pas une validation"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "Pas de branche courante."
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "Pas de branche distante pour la branche courante."
-#: builtin/merge.c:939
+#: builtin/merge.c:940
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:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "Pas de branche de suivi pour %s depuis %s"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "impossible de fermer '%s'"
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
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:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7917,7 +8182,7 @@ msgstr ""
"Vous n'avez pas terminΓ© votre fusion (MERGE_HEAD existe).\n"
"Veuillez valider vos modifications avant de pouvoir fusionner."
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7925,102 +8190,102 @@ msgstr ""
"Vous n'avez pas terminΓ© votre picorage (CHERRY_PICK_HEAD existe).\n"
"Veuillez valider vos modifications avant de pouvoir fusionner."
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
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:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "Vous ne pouvez pas combiner --squash avec --no-ff."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
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:1266
+#: builtin/merge.c:1267
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:1268
+#: builtin/merge.c:1269
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:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s - pas possible de fusionner ceci"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
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:1331
+#: builtin/merge.c:1332
#, 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."
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, 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."
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "La validation %s n'a pas de signature GPG."
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, 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"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "Mise Γ  jour %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "Essai de fusion vraiment triviale dans l'index...\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "Non.\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr "Pas possible d'avancer rapidement, abandon."
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "Retour de l'arbre Γ  l'original...\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "Essai de la stratΓ©gie de fusion %s...\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, 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:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "La fusion avec la stratΓ©gie %s a Γ©chouΓ©.\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, 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:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
@@ -8106,19 +8371,19 @@ 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/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr "l'entrΓ©e se termine par NUL"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "autoriser les objets manquants"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "autoriser la crΓ©ation de plus d'un arbre"
@@ -8126,92 +8391,92 @@ msgstr "autoriser la crΓ©ation de plus d'un arbre"
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<options>] <source>... <destination>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "Le rΓ©pertoire %s est dans l'index et pourtant aucun sous-module ?"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
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/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s est dans l'index"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "forcer le dΓ©placement/renommage mΓͺme si la cible existe"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "sauter les erreurs de dΓ©placement/renommage"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "la destination '%s' n'est pas un rΓ©pertoire"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "VΓ©rification du renommage de '%s' en '%s'\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "mauvaise source"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "impossible de dΓ©placer un rΓ©pertoire dans lui-mΓͺme"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "impossible de dΓ©placer un rΓ©pertoire sur un fichier"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "le rΓ©pertoire source est vide"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "pas sous le contrΓ΄le de version"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "la destination existe"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "Γ©crasement de '%s'"
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "Impossible d'Γ©craser"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "multiples sources pour la mΓͺme destination"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "le rΓ©pertoire de destination n'existe pas"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s, source=%s, destination=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Renommage de %s en %s\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "le renommage de '%s' a Γ©chouΓ©"
@@ -8412,9 +8677,9 @@ msgid "could not open or read '%s'"
msgstr "impossible d'ouvrir ou lire '%s'"
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "Impossible de rΓ©soudre '%s' comme une rΓ©fΓ©rence valide."
@@ -8429,42 +8694,42 @@ msgstr "Impossible de lire l'objet '%s'."
msgid "Cannot read note data from non-blob object '%s'."
msgstr "Impossible de lire les informations de note d'un objet non-blob '%s'."
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "trop de paramètres"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "Pas de note trouvΓ©e pour l'objet %s."
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "contenu de la note sous forme de chaΓne"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "contenu de la note dans un fichier"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "rΓ©utiliser et Γ©diter l'objet de note spΓ©cifiΓ©"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "rΓ©utiliser l'objet de note spΓ©cifiΓ©"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "permettre de stocker une note vide"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "remplacer les notes existantes"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8473,30 +8738,30 @@ msgstr ""
"Impossible d'ajouter des notes. Des notes ont Γ©tΓ© trouvΓ©es pour l'objet %s. "
"Utilisez '-f' pour Γ©craser les notes existantes"
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "Γ‰crasement des notes existantes pour l'objet %s\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "Suppression de la note pour l'objet %s\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "lire les objets depuis l'entrΓ©e standard"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr ""
"charger la configuration de réécriture pour <commande> (implique --stdin)"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "pas assez de paramètres"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8505,12 +8770,12 @@ msgstr ""
"Impossible de copier des notes. Des notes ont Γ©tΓ© trouvΓ©es pour l'objet %s. "
"Utilisez '-f' pour Γ©craser les notes existantes"
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "Notes manquantes sur l'objet source %s. Impossible de copier."
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8519,15 +8784,15 @@ msgstr ""
"Les options -m/-F/-c/-C sont obsolètes pour la sous-commande 'edit'.\n"
"Veuillez utiliser 'git notes add -f -m/-F/-c/-C' Γ  la place.\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "Options gΓ©nΓ©rales"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "Options de fusion"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
@@ -8535,50 +8800,50 @@ msgstr ""
"rΓ©soudre les conflits de notes en utilisant la stratΓ©gie donnΓ©e (manual/ours/"
"theirs/union/cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "Validation des notes non fusionnΓ©es"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr "finaliser la fusion de notes en validant les notes non fusionnΓ©es"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "Abandon de la rΓ©solution de fusion des notes"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "abandonner la fusion de notes"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "Une fusion de notes dans %s est dΓ©jΓ  en cours avec %s"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "L'objet %s n'a pas de note\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr ""
"la tentative de suppression d'une note non existante n'est pas une erreur"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "lire les noms d'objet depuis l'entrΓ©e standard"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "rΓ©fΓ©rences-notes"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "utiliser les notes depuis <rΓ©fΓ©rences-notes>"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr "Sous-commande inconnue : %s"
@@ -8602,175 +8867,175 @@ msgstr ""
msgid "deflate error (%d)"
msgstr "erreur de compression (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "Γ‰criture des objets"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
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:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "Compression des objets"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "version d'index non supportΓ©e %s"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "mauvaise version d'index '%s'"
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "ne pas afficher la barre de progression"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "afficher la barre de progression"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
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:2609
+#: builtin/pack-objects.c:2599
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:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "version[,offset]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
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:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "taille maximum de chaque fichier paquet en sortie"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr "ignorer les objets empruntΓ©s Γ  un autre magasin d'objets"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "ignorer les objets empaquetΓ©s"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "limiter la fenΓͺtre d'empaquetage par objets"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
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:2624
+#: builtin/pack-objects.c:2614
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:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "rΓ©utiliser les deltas existants"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "rΓ©utiliser les objets existants"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "utiliser les objets OFS_DELTA"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr ""
"utiliser des fils lors de la recherche pour une meilleurs correspondance des "
"deltas"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "ne pas crΓ©er un paquet vide"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr "lire les paramètres de révision depuis l'entrée standard"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
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:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "inclure les objets accessibles depuis toute rΓ©fΓ©rence"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
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:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "inclure les objets rΓ©fΓ©rencΓ©s par l'index"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "afficher l'empaquetage sur la sortie standard"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
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:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "garder les objets inaccessibles"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "heure"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr "dΓ©paqueter les objets inaccessibles plus rΓ©cents que <heure>"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "crΓ©er des paquets lΓ©gers"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr "crΓ©er des paquets permettant des rΓ©cupΓ©rations superficielles"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "ignorer les paquets qui ont un fichier .keep"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "niveau de compression du paquet"
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "ne pas cacher les validations par greffes"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
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:2671
+#: builtin/pack-objects.c:2661
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:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "DΓ©compte des objets"
@@ -8814,51 +9079,55 @@ msgstr "faire expirer les objets plus vieux que <heure>"
msgid "cannot prune in a precious-objects repo"
msgstr "impossible de nettoyer dans un dΓ©pΓ΄t d'objets prΓ©cieux"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<options>] [<dΓ©pΓ΄t> [<spΓ©cification-de-rΓ©fΓ©rence>...]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "Options relatives Γ  la fusion"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "incorporer les modifications en rebasant plutΓ΄t qu'en fusionnant"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "autoriser l'avance rapide"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "vΓ©rifier que le commit nommΓ© a une signature GPG valide"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr "Options relatives au rapatriement"
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "nombre de sous-modules tirés en parallèle"
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "Valeur invalide pour pull.ff : %s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr ""
"impossible de tirer avec rebasage. Vous avez des modifications non indexΓ©es."
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr "De plus, votre index contient des modifications non validΓ©es."
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr ""
"impossible de tirer avec rebasageΒ : votre index contient des modifications "
"non validΓ©es."
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
@@ -8866,14 +9135,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:438
+#: builtin/pull.c:445
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:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
@@ -8881,7 +9150,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:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8893,27 +9162,27 @@ msgstr ""
"configuration\n"
"pour la branche actuelle, vous devez spΓ©cifier la branche avec la commande."
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "Vous n'Γͺtes actuellement sur aucune branche."
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr "Veuillez spΓ©cifier sur quelle branche vous souhaiter rebaser."
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "Veuillez spΓ©cifier une branche avec laquelle fusionner."
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr "RΓ©fΓ©rez-vous Γ  git-pull(1) pour de plus amples dΓ©tails."
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "Pas d'information de suivi distant pour la branche actuelle."
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8925,7 +9194,7 @@ msgstr ""
"\n"
" git branch --set-upstream-to=%s/<branche> %s\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
@@ -8935,13 +9204,13 @@ msgstr ""
"'%s'\n"
"du serveur distant, mais cette rΓ©fΓ©rence n'a pas Γ©tΓ© rΓ©cupΓ©rΓ©e."
-#: builtin/pull.c:830
+#: builtin/pull.c:841
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:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8952,7 +9221,7 @@ msgstr ""
"avance rapide de votre copie de travail\n"
"depuis le commit %s."
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8970,11 +9239,11 @@ msgstr ""
"$ git reset --hard\n"
"pour rΓ©gΓ©nΓ©rer."
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr "Impossible de fusionner de multiples branches sur une tΓͺte vide."
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "Impossible de rebaser sur de multiples branches."
@@ -8982,15 +9251,15 @@ msgstr "Impossible de rebaser sur de multiples branches."
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<options>] [<dΓ©pΓ΄t> [<spΓ©cification-de-rΓ©fΓ©rence>...]]"
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "raccourci d'Γ©tiquette sans <Γ©tiquette>"
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "--delete accepte seulement des noms entiers de rΓ©fΓ©rences cibles"
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
@@ -8999,7 +9268,7 @@ msgstr ""
"Pour choisir l'option de manière permanente, voir push.default dans 'git "
"help config'."
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -9024,7 +9293,7 @@ msgstr ""
" git push %s %s\n"
"%s"
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -9039,7 +9308,7 @@ msgstr ""
"\n"
" git push %s HEAD:<nom-de-la-branche-amont>\n"
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -9053,13 +9322,13 @@ msgstr ""
"\n"
" git push --set-upstream %s %s\n"
-#: builtin/push.c:182
+#: builtin/push.c:183
#, 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:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -9070,65 +9339,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:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"push.default n'est pas dΓ©fini ; sa valeur implicite a changΓ© dans Git 2.0\n"
-"de 'matching' vers 'simple'. Pour supprimer ce message et maintenir\n"
-"le comportement actuel après la modification de la valeur de défaut, "
-"utilisez :\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"Pour supprimer ce message et adopter le nouveau comportement maintenant, "
-"utilisez :\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"Quand push.default vaudra 'matching', git poussera les branches locales\n"
-"sur les branches distantes qui existent dΓ©jΓ  avec le mΓͺme nom.\n"
-"\n"
-"Depuis Git 2.0, Git utilise par dΓ©faut le comportement plus conservatif "
-"'simple'\n"
-"qui ne pousse la branche courante que vers la branche distante "
-"correspondante\n"
-"que 'git pull' utilise pour mettre Γ  jour la branche courante.\n"
-" \n"
-"Voir 'git help config' et chercher 'push.default' pour plus d'information.\n"
-"(le mode 'simple' a Γ©tΓ© introduit dans Git 1.7.11. Utilisez le mode "
-"similaire\n"
-"'current' au lieu de 'simple' si vous utilisez de temps en temps d'anciennes "
-"versions de Git)"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
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:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -9143,7 +9361,7 @@ msgstr ""
"Voir la 'Note Γ  propos des avances rapides' dans 'git push --help' pour plus "
"d'information."
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
@@ -9152,13 +9370,13 @@ msgid ""
msgstr ""
"Les mises Γ  jour ont Γ©tΓ© rejetΓ©es car la pointe de la branche courante est "
"derrière\n"
-"son homologue distant. Extrayez cette branche et IntΓ©grez les changements "
+"son homologue distant. Extrayez cette branche et intΓ©grez les changements "
"distants\n"
"(par exemple 'git pull ...') avant de pousser Γ  nouveau.\n"
"Voir la 'Note Γ  propos des avances rapides' dans 'git push --help' pour plus "
"d'information."
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
@@ -9176,13 +9394,13 @@ msgstr ""
"Voir la 'Note Γ  propos des avances rapides' dans 'git push --help' pour plus "
"d'information."
-#: builtin/push.c:301
+#: builtin/push.c:268
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:304
+#: builtin/push.c:271
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"
@@ -9194,22 +9412,22 @@ msgstr ""
"pointer\n"
"vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n"
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "PoussΓ©e vers %s\n"
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "impossible de pousser des rΓ©fΓ©rences vers '%s'"
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "mauvais dΓ©pΓ΄t '%s'"
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -9231,105 +9449,101 @@ msgstr ""
"\n"
" git push <nom>\n"
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "--all et --tags sont incompatibles"
-#: builtin/push.c:414
+#: builtin/push.c:382
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:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "--mirror et --tags sont incompatibles"
-#: builtin/push.c:420
+#: builtin/push.c:388
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:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "--all et --mirror sont incompatibles"
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr "dΓ©pΓ΄t"
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "pousser toutes les rΓ©fΓ©rences"
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "reflΓ©ter toutes les rΓ©fΓ©rences"
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr "supprimer les rΓ©fΓ©rences"
-#: builtin/push.c:542
+#: builtin/push.c:510
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:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "forcer les mises Γ  jour"
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "nom de rΓ©fΓ©rence>:<attendu"
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
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:550
-msgid "check|on-demand|no"
-msgstr "check|on-demand|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "contrΓ΄ler la poussΓ©e rΓ©cursive des sous-modules"
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "utiliser un empaquetage lΓ©ger"
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "recevoir le programme d'empaquetage"
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "dΓ©finir la branche amont pour git pull/status"
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "Γ©liminer les rΓ©fΓ©rences locales supprimΓ©es"
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "Γ©viter d'utiliser le crochet pre-push"
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "pousser les Γ©tiquettes manquantes mais pertinentes"
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "signer la poussΓ©e avec GPG"
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "demande une transaction atomique sur le serveur distant"
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "--delete est incompatible avec --all, --mirror et --tags"
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "--delete n'a pas de sens sans aucune rΓ©fΓ©rence"
@@ -9408,12 +9622,12 @@ msgstr "sauter l'application du filtre d'extraction creuse"
msgid "debug unpack-trees"
msgstr "dΓ©boguer unpack-trees"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "'%s' pour '%s' n'est pas un horodatage valide"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "'%s' n'est pas un horodatage valide"
@@ -9559,57 +9773,47 @@ msgstr ""
"spΓ©cifier les branches Γ  suivre n'a de sens qu'avec des miroirs de "
"rapatriement"
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "la distante %s existe dΓ©jΓ ."
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "'%s' n'est pas un nom valide de distante"
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "Impossible de paramΓ©trer la maΓtresse '%s'"
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, 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:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "(correspond)"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(supprimer)"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "Impossible d'ajouter '%s' Γ  '%s'"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "Distante inconnue : %s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, 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:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "Impossible de supprimer la section de configuration '%s'"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -9620,27 +9824,17 @@ msgstr ""
"\t%s\n"
"\tVeuillez mettre Γ  jour la configuration manuellement si nΓ©cessaire."
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "Impossible d'ajouter '%s'"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "Impossible de dΓ©finir '%s'"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "Γ©chec de suppression de '%s'"
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "Γ©chec de crΓ©ation de '%s'"
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9655,120 +9849,125 @@ msgstr[1] ""
"supprimΓ©es ;\n"
"pour les supprimer, utilisez :"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "Impossible de supprimer la section de configuration '%s'"
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " suivi"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " dΓ©passΓ© (utilisez 'git remote prune' pour supprimer)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, 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:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "rebase sur la distante %s"
+msgid "rebases interactively onto remote %s"
+msgstr "rebase de manière interactive sur la distante %s"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr " fusionne avec la distante %s"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " et avec la distante"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "fusionne avec la distante %s"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " et avec la distante"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "crΓ©er"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "supprimer"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "Γ  jour"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "peut Γͺtre mis Γ  jour en avance rapide"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "le local n'est pas Γ  jour"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*s force vers %-*s (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*s pousse vers %-*s (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*s force vers %s"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*s pousse vers %s"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "ne pas interroger les distantes"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* distante %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " URL de rapatriement : %s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(pas d'URL)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " URL push : %s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " Branche HEAD : %s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
@@ -9776,158 +9975,158 @@ msgstr ""
" Branche HEAD (la HEAD distante est ambiguΓ«, peut Γͺtre l'une des "
"suivantes) :\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
msgstr[0] " Branche distante :%s"
msgstr[1] " Branches distantes :%s"
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr " (statut non demandΓ©)"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
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:1214
+#: builtin/remote.c:1199
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:1206
#, 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:1227
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:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "supprimer refs/remotes/<nom>/HEAD"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "Impossible de dΓ©terminer la HEAD distante"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
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:1256
#, c-format
msgid "Could not delete %s"
msgstr "Impossible de supprimer %s"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "RΓ©fΓ©rence non valide : %s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "Impossible de paramΓ©trer %s"
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s se retrouvera en suspens !"
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s se retrouve en suspens !"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "Γ‰limination de %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL : %s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [serait Γ©liminΓ©] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr " * [Γ©liminΓ©] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "éliminer les distants après le rapatriement"
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "Pas de serveur remote '%s'"
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "ajouter une branche"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "pas de serveur distant spΓ©cifiΓ©"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
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:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "retourner toutes les URLs"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "aucune URL configurΓ©e pour le dΓ©pΓ΄t distant '%s'"
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "manipuler les URLs push"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "ajouter une URL"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "supprimer des URLs"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr "--add --delete n'a aucun sens"
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "Motif d'URL ancien invalide : %s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "Pas d'URL trouvΓ©e : %s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "Pas de suppression de toutes les URLs non-push"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr "Γͺtre verbeux : doit Γͺtre placΓ© avant une sous-commande"
@@ -10234,7 +10433,7 @@ msgstr "Impossible de rΓ©initialiser le fichier d'index Γ  la rΓ©vision '%s'."
msgid "Could not write new index file."
msgstr "Impossible d'Γ©crire le nouveau fichier d'index."
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "rev-list ne supporte l'affichage des notes"
@@ -10492,30 +10691,25 @@ msgstr "afficher les messages du greffon de protocole distant"
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<options>] [<intervalle-rΓ©visions>] [[--] [<chemin>...]]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "Auteur manquant : %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "trier la sortie sur le nombre de validations par auteur"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr ""
"Supprimer les descriptions de validation, fournit seulement le nombre de "
"validations"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "Afficher l'adresse e-mail de chaque auteur"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "Couper les lignes"
@@ -10615,11 +10809,11 @@ msgstr "git show-ref --exclude-existing[=<motif>]"
#: builtin/show-ref.c:165
msgid "only show tags (can be combined with heads)"
-msgstr "afficher seulement les Γ©tiquettes (peut Γͺtre combinΓ© avec des tΓͺtes)"
+msgstr "afficher seulement les Γ©tiquettes (peut Γͺtre combinΓ© avec heads)"
#: builtin/show-ref.c:166
msgid "only show heads (can be combined with tags)"
-msgstr "afficher seulement les tΓͺtes (peut Γͺtre combinΓ© avec des Γ©tiquettes)"
+msgstr "afficher seulement les tΓͺtes (peut Γͺtre combinΓ© avec tags)"
#: builtin/show-ref.c:167
msgid "stricter reference checking, requires exact ref path"
@@ -10665,45 +10859,45 @@ msgstr ""
"commentaire"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
+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:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "ancre alternative pour les chemins relatifs"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper <nom> <chemin>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, 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:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "emplacement oΓΉ le sous-module sera clonΓ©"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "nom du nouveau sous-module"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "URL depuis laquelle cloner le sous-module"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "profondeur de l'historique des clones superficiels"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10712,39 +10906,39 @@ msgstr ""
"<dΓ©pΓ΄t>] [--name <nom>] [--url <url>][--depth <profondeur>] [--] "
"[<chemin>...]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "impossible de crΓ©er le rΓ©pertoire '%s'"
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, 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:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "impossible d'ouvrir le fichier '%s'"
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "impossible de fermer le fichier %s"
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, 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:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr ""
"fatalΒ : la sous-commande submodule--helper doit Γͺtre appelΓ©e avec une sous-"
"commande"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr "fatalΒ : '%s' n'est pas une sous-commande valide de submodule--helper"
@@ -10961,7 +11155,7 @@ msgstr "l'option --points-at est autorisΓ©e seulement avec -l."
#: builtin/tag.c:425
msgid "--merged and --no-merged option are only allowed with -l"
-msgstr "les options --merged et --no-merged ne sont autorisΓ©es qu'avec -l."
+msgstr "les options --merged et --no-merged ne sont autorisΓ©es qu'avec -l"
#: builtin/tag.c:433
msgid "only one -F or -m option is allowed."
@@ -10990,200 +11184,213 @@ msgstr "Γ‰tiquette '%s' mise Γ  jour (elle Γ©tait sur %s)\n"
msgid "Unpacking objects"
msgstr "DΓ©paquetage des objets"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "Γ©chec de la crΓ©ation du rΓ©pertoire %s"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "Γ©chec du stat de %s"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "Γ©chec de la crΓ©ation du fichier %s"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "Γ©chec de la suppression du fichier %s"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "Γ©chec de la suppression du rΓ©pertoire %s"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "Test en cours "
+msgid "Testing mtime in '%s' "
+msgstr "Test du mtime dans '%s' "
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
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:149
+#: builtin/update-index.c:158
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:162
+#: builtin/update-index.c:171
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:173
+#: builtin/update-index.c:182
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:184
+#: builtin/update-index.c:193
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:197
+#: builtin/update-index.c:206
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:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " OK"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<options>] [--] [<fichier>...]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
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:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "rafraΓchir : ignorer les sous-modules"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "ne pas ignorer les nouveaux fichiers"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "laisser les fichiers remplacer des rΓ©pertoires et vice-versa"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "aviser des fichiers manquants dans la copie de travail"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
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:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "rafraΓchir l'information de stat"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "comme --refresh, mais en ignorant l'option assume-unchanged"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<mode>, <objet>, <chemin>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "ajouter l'Γ©lΓ©ment spΓ©cifiΓ© dans l'index"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "outrepasser le bit exΓ©cutable pour les fichiers listΓ©s"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "marquer les fichiers comme \"non changeants\""
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "mettre Γ  zΓ©ro le bit supposΓ©-non-modifiΓ©"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "marquer les fichiers comme \"index seulement\""
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "mettre Γ  zΓ©ro le bit sauter-la-copie-de travail"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
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:965
+#: builtin/update-index.c:977
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:967
+#: builtin/update-index.c:979
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:969
+#: builtin/update-index.c:981
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:973
+#: builtin/update-index.c:985
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:977
+#: builtin/update-index.c:989
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:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "ignorer les fichiers manquants dans la copie de travail"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "afficher les actions sur la sortie standard"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "(pour porcelaines) oublier les conflits sauvΓ©s et non rΓ©solus"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "Γ©crire l'index dans ce format"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "activer ou dΓ©sactiver l'index divisΓ©"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
-msgstr "activer ou dΓ©sactiver le cache non-suivi"
+msgstr "activer ou dΓ©sactiver le cache de non-suivis"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+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:1014
msgid "enable untracked cache without testing the filesystem"
-msgstr "activer le cache non-suivi sans tester le système de fichier"
+msgstr "activer le cache de non-suivis sans tester le système de fichier"
+
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "Le cache non suivi est dΓ©sactivΓ©"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "Le cache non suivi est activΓ© pour '%s'"
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
@@ -11305,35 +11512,35 @@ msgstr "Γ©chec de la suppression de %s"
msgid "'%s' already exists"
msgstr "'%s' existe dΓ©jΓ "
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "impossible de crΓ©er le rΓ©pertoire de '%s'"
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "PrΓ©paration de %s (identifiant %s)"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
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:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "crΓ©er une nouvelle branche"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "crΓ©er ou rΓ©initialiser une branche"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "dΓ©tacher la HEAD au commit nommΓ©"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "-b, -B et --detach sont mutuellement exclusifs"
@@ -11353,7 +11560,7 @@ msgstr "Γ©crire l'objet arbre pour un sous-rΓ©pertoire <prΓ©fixe>"
msgid "only useful for debugging"
msgstr "seulement utile pour le dΓ©bogage"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "afficher les messages de debug sur stderr"
@@ -11367,6 +11574,10 @@ msgstr ""
"quelques concepts. Voir 'git help <commande>' ou 'git help <concept>'\n"
"pour en lire plus Γ  propos d'une commande spΓ©cifique ou d'un concept."
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "L'Γ©pinglage de clΓ© publique n'est pas supportΓ© avec cuRL < 7.44.0"
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "dΓ©marrer une zone de travail (voir aussiΒ : git help tutorial)"
@@ -11451,9 +11662,8 @@ msgid "Update remote refs along with associated objects"
msgstr "Mettre Γ  jour les rΓ©fΓ©rences distantes ainsi que les objets associΓ©s"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr ""
-"Reporter les validations locales sur le sommet mis Γ  jour d'une branche amont"
+msgid "Reapply commits on top of another base tip"
+msgstr "RΓ©application des commits sur le sommet de l'autre base"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -12179,7 +12389,7 @@ msgstr ""
"Le sous-module '$name' ($url) n'est pas enregistrΓ© pour le chemin "
"'$displaypath'"
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
@@ -12188,57 +12398,57 @@ msgstr ""
"Chemin de sous-module '$displaypath' non initialisΓ©\n"
"Peut-Γͺtre souhaitez-vous utiliser 'update --init' ?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, 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:727
+#: git-submodule.sh:745
#, 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:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'"
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, 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:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait"
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, 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:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "Chemin de sous-module '$displaypath' : rebasΓ© dans '$sha1'"
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, 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:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "Chemin de sous-module '$displaypath' : fusionnΓ© dans '$sha1'"
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
@@ -12246,56 +12456,137 @@ msgstr ""
"L'exΓ©cution de '$command $sha1' a Γ©chouΓ© dans le chemin de sous-module "
"'$prefix$sm_path'"
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "Chemin de sous-module '$prefix$sm_path' : '$command $sha1'"
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "Γ‰chec de parcours dans le chemin du sous-module '$displaypath'"
-#: git-submodule.sh:921
+#: git-submodule.sh:944
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:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "mode $mod_dst inattendu"
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, 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:996
+#: git-submodule.sh:1019
#, 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:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr ""
" Attention : $display_name ne contient pas les validations $sha1_src et "
"$sha1_dst"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "blob"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "Γ‰chec de parcours dans le chemin du sous-module '$sm_path'"
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr ""
+#~ "Reporter les validations locales sur le sommet mis Γ  jour d'une branche "
+#~ "amont"
+
+#~ msgid "unable to parse format"
+#~ msgstr "impossible d'analyser le format"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "format non convenable align:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "Impossible de paramΓ©trer core.worktree dans %s"
+
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "push.default n'est pas dΓ©fini ; sa valeur implicite a changΓ© dans Git "
+#~ "2.0\n"
+#~ "de 'matching' vers 'simple'. Pour supprimer ce message et maintenir\n"
+#~ "le comportement actuel après la modification de la valeur de défaut, "
+#~ "utilisez :\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "Pour supprimer ce message et adopter le nouveau comportement maintenant, "
+#~ "utilisez :\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "Quand push.default vaudra 'matching', git poussera les branches locales\n"
+#~ "sur les branches distantes qui existent dΓ©jΓ  avec le mΓͺme nom.\n"
+#~ "\n"
+#~ "Depuis Git 2.0, Git utilise par dΓ©faut le comportement plus conservatif "
+#~ "'simple'\n"
+#~ "qui ne pousse la branche courante que vers la branche distante "
+#~ "correspondante\n"
+#~ "que 'git pull' utilise pour mettre Γ  jour la branche courante.\n"
+#~ " \n"
+#~ "Voir 'git help config' et chercher 'push.default' pour plus "
+#~ "d'information.\n"
+#~ "(le mode 'simple' a Γ©tΓ© introduit dans Git 1.7.11. Utilisez le mode "
+#~ "similaire\n"
+#~ "'current' au lieu de 'simple' si vous utilisez de temps en temps "
+#~ "d'anciennes versions de Git)"
+
+#~ msgid "check|on-demand|no"
+#~ msgstr "check|on-demand|no"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "Impossible d'ajouter '%s'"
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "Impossible de dΓ©finir '%s'"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "Auteur manquant : %s"
+
+#~ msgid "Testing "
+#~ msgstr "Test en cours "
+
#~ msgid "unable to look up current user in the passwd file: %s"
#~ msgstr ""
#~ "impossible de rechercher l'utilisateur actuel dans le fichier de mots de "
@@ -12369,9 +12660,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
#~ msgid "unable to parse value '%s' for option %s"
#~ msgstr "impossible d'analyser la valeur '%s' pour l'option %s"
-#~ msgid "unable to resolve HEAD"
-#~ msgstr "impossible de rΓ©soudre HEAD"
-
#~ msgid "-b and -B are mutually exclusive"
#~ msgstr "-b et -B sont mutuellement exclusifs"
@@ -12437,9 +12725,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
#~ msgid "prune .git/worktrees"
#~ msgstr "Γ©liminer .git/worktrees"
-#~ msgid "--worktrees does not take extra arguments"
-#~ msgstr "--worktrees n'accepte pas d'argument supplΓ©mentaire"
-
#~ msgid "The most commonly used git commands are:"
#~ msgstr "Les commandes git les plus utilisΓ©es sont :"
@@ -12470,9 +12755,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
#~ msgid "force creation (when already exists)"
#~ msgstr "forcer la crΓ©ation (mΓͺme si la cible existe)"
-#~ msgid "Malformed ident string: '%s'"
-#~ msgstr "ChaΓne ident mal formΓ©e : '%s'"
-
#~ msgid "slot"
#~ msgstr "emplacement"
@@ -12530,9 +12812,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'"
#~ msgid "bug"
#~ msgstr "bogue"
-#~ msgid "ahead "
-#~ msgstr "devant "
-
#~ msgid ", behind "
#~ msgstr ", derrière "
diff --git a/po/git.pot b/po/git.pot
index 068f4bbd10..72ef798cde 100644
--- a/po/git.pot
+++ b/po/git.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,7 +29,7 @@ msgid ""
"as appropriate to mark resolution and make a commit."
msgstr ""
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr ""
@@ -71,7 +71,7 @@ msgstr ""
msgid "archive format"
msgstr ""
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr ""
@@ -79,11 +79,11 @@ msgstr ""
msgid "prepend prefix to each pathname in the archive"
msgstr ""
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535
-#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99
-#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395
-#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr ""
@@ -115,7 +115,7 @@ msgstr ""
msgid "list supported archive formats"
msgstr ""
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr ""
@@ -123,7 +123,7 @@ msgstr ""
msgid "retrieve the archive from remote repository <repo>"
msgstr ""
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr ""
@@ -131,87 +131,100 @@ msgstr ""
msgid "path to the remote git-upload-archive command"
msgstr ""
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
msgstr ""
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr ""
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr ""
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr ""
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr ""
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr ""
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr ""
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr ""
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr ""
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr ""
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr ""
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr ""
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr ""
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr ""
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr ""
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr ""
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr ""
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -223,22 +236,22 @@ msgid ""
"\"git push -u\" to set the upstream config as you push."
msgstr ""
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr ""
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr ""
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr ""
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr ""
@@ -262,10 +275,10 @@ msgstr ""
msgid "Repository lacks these prerequisite commits:"
msgstr ""
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr ""
@@ -304,7 +317,7 @@ msgstr ""
msgid "ref '%s' is excluded by the rev-list options"
msgstr ""
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr ""
@@ -327,8 +340,8 @@ msgstr ""
msgid "invalid color value: %.*s"
msgstr ""
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr ""
@@ -342,59 +355,64 @@ msgstr ""
msgid "memory exhausted"
msgstr ""
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
+msgid "bad config line %d in %s %s"
msgstr ""
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
msgstr ""
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr ""
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr ""
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr ""
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr ""
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr ""
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr ""
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr ""
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr ""
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr ""
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr ""
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr ""
@@ -508,33 +526,33 @@ msgid ""
"%s"
msgstr ""
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr ""
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr ""
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
"%s"
msgstr ""
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr ""
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr ""
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
msgstr ""
#: gpg-interface.c:166 gpg-interface.c:237
@@ -574,48 +592,48 @@ msgstr ""
msgid "'%s': short read %s"
msgstr ""
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr ""
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr ""
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr ""
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
"able to execute it. Maybe git-%s is broken?"
msgstr ""
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr ""
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
"Continuing under the assumption that you meant '%s'"
msgstr ""
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr ""
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr ""
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -625,7 +643,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr ""
@@ -634,8 +652,8 @@ msgstr ""
msgid "failed to read the cache"
msgstr ""
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr ""
@@ -653,233 +671,233 @@ msgstr ""
msgid "error building trees"
msgstr ""
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr ""
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr ""
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ""
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr ""
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr ""
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr ""
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr ""
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr ""
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr ""
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr ""
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr ""
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr ""
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
"in tree."
msgstr ""
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
"in tree at %s."
msgstr ""
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr ""
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr ""
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr ""
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
"\"->\"%s\" in \"%s\"%s"
msgstr ""
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr ""
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr ""
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr ""
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr ""
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr ""
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr ""
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr ""
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr ""
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr ""
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr ""
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr ""
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr ""
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr ""
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr ""
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr ""
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr ""
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr ""
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr ""
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr ""
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr ""
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr ""
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr ""
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr ""
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr ""
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr ""
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
msgstr[0] ""
msgstr[1] ""
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr ""
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr ""
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr ""
@@ -993,12 +1011,12 @@ msgstr ""
msgid "%s: pathspec magic not supported by this command: %s"
msgstr ""
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr ""
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1026,163 +1044,248 @@ msgid ""
"Using version %i"
msgstr ""
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr ""
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr ""
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr ""
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr ""
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
+msgid "expected format: %%(color:<color>)"
msgstr ""
-#: ref-filter.c:704
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr ""
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr ""
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr ""
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr ""
+
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr ""
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
+msgid "unrecognized %%(contents) argument: %s"
msgstr ""
-#: ref-filter.c:835
-msgid "unable to parse format"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
msgstr ""
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr ""
-#: ref-filter.c:893
+#: ref-filter.c:147
#, c-format
-msgid "improper format entered align:%s"
+msgid "unrecognized position:%s"
msgstr ""
-#: ref-filter.c:898
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr ""
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr ""
+
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr ""
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr ""
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr ""
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr ""
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr ""
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ""
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr ""
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr ""
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr ""
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr ""
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr ""
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr ""
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr ""
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr ""
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr ""
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr ""
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr ""
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr ""
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr ""
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr ""
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr ""
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr ""
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr ""
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr ""
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr ""
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr ""
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr ""
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr ""
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr ""
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr ""
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr ""
-#: remote.c:2094
+#: remote.c:2084
#, 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] ""
msgstr[1] ""
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr ""
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1190,11 +1293,11 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr ""
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1205,28 +1308,28 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr ""
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr ""
-#: revision.c:2196
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr ""
-#: revision.c:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr ""
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr ""
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr ""
@@ -1249,242 +1352,256 @@ msgstr ""
msgid "the receiving end does not support --atomic push"
msgstr ""
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
msgstr ""
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
"and commit the result with 'git commit'"
msgstr ""
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr ""
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr ""
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr ""
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr ""
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr ""
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr ""
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr ""
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr ""
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr ""
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr ""
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr ""
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr ""
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr ""
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr ""
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr ""
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr ""
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr ""
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr ""
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr ""
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr ""
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr ""
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr ""
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr ""
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr ""
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr ""
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr ""
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr ""
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr ""
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr ""
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr ""
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr ""
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr ""
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr ""
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr ""
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr ""
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr ""
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr ""
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr ""
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr ""
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr ""
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr ""
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr ""
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr ""
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr ""
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr ""
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr ""
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr ""
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr ""
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr ""
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr ""
+
+#: sha1_name.c:462
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"
@@ -1497,60 +1614,84 @@ msgid ""
"running \"git config advice.objectNameWarning false\""
msgstr ""
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr ""
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr ""
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr ""
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr ""
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
+msgid "running trailer command '%s' failed"
msgstr ""
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr ""
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr ""
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr ""
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr ""
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr ""
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr ""
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr ""
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr ""
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr ""
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr ""
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr ""
@@ -1588,47 +1729,47 @@ msgstr ""
msgid "invalid '..' path segment"
msgstr ""
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr ""
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr ""
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr ""
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr ""
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr ""
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr ""
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr ""
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr ""
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr ""
@@ -2070,7 +2211,11 @@ msgstr ""
msgid "behind "
msgstr ""
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr ""
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr ""
@@ -2097,7 +2242,7 @@ msgstr ""
msgid "Unstaged changes after refreshing the index:"
msgstr ""
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr ""
@@ -2132,15 +2277,15 @@ msgstr ""
msgid "The following paths are ignored by one of your .gitignore files:\n"
msgstr ""
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr ""
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr ""
@@ -2148,7 +2293,7 @@ msgstr ""
msgid "interactive picking"
msgstr ""
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr ""
@@ -2215,171 +2360,166 @@ msgstr ""
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr ""
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr ""
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr ""
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr ""
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr ""
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr ""
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr ""
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr ""
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr ""
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr ""
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr ""
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr ""
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr ""
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr ""
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr ""
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr ""
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr ""
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr ""
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr ""
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr ""
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr ""
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr ""
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr ""
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr ""
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr ""
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr ""
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr ""
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr ""
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr ""
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
msgstr ""
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr ""
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr ""
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr ""
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr ""
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr ""
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr ""
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr ""
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr ""
@@ -2387,231 +2527,231 @@ msgstr ""
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr ""
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr ""
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr ""
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr ""
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr ""
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr ""
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
"already introduced the same changes; you might want to skip this patch."
msgstr ""
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
msgstr ""
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr ""
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr ""
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
msgstr ""
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr ""
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr ""
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr ""
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr ""
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr ""
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr ""
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr ""
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr ""
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr ""
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr ""
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr ""
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr ""
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr ""
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr ""
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr ""
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr ""
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr ""
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr ""
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr ""
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
-#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
-#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:244
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
msgid "n"
msgstr ""
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr ""
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr ""
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr ""
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr ""
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr ""
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr ""
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr ""
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr ""
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr ""
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr ""
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr ""
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr ""
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr ""
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
msgstr ""
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr ""
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr ""
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
"Use \"git am --abort\" to remove it."
msgstr ""
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr ""
@@ -2950,131 +3090,131 @@ msgstr ""
msgid "unable to read index file"
msgstr ""
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr ""
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr ""
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr ""
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr ""
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr ""
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr ""
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr ""
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr ""
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr ""
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr ""
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr ""
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr ""
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr ""
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr ""
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr ""
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr ""
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr ""
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr ""
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr ""
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr ""
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr ""
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr ""
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr ""
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr ""
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr ""
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr ""
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr ""
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr ""
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr ""
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
msgstr[0] ""
msgstr[1] ""
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3128,103 +3268,111 @@ msgstr ""
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr ""
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr ""
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr ""
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr ""
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
msgstr ""
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr ""
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr ""
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr ""
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr ""
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr ""
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr ""
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr ""
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr ""
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr ""
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr ""
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr ""
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr ""
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr ""
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr ""
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr ""
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr ""
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr ""
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr ""
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr ""
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr ""
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr ""
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr ""
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr ""
@@ -3234,7 +3382,7 @@ msgstr ""
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr ""
@@ -3426,200 +3574,200 @@ msgstr ""
msgid "Branch is renamed, but update of config-file failed"
msgstr ""
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr ""
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr ""
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr ""
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr ""
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr ""
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr ""
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr ""
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr ""
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr ""
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr ""
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr ""
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr ""
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr ""
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr ""
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr ""
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr ""
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr ""
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr ""
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr ""
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr ""
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr ""
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr ""
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr ""
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr ""
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr ""
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr ""
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr ""
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr ""
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr ""
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr ""
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr ""
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr ""
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr ""
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr ""
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr ""
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr ""
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
msgstr ""
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr ""
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr ""
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr ""
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr ""
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr ""
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr ""
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr ""
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
"track or --set-upstream-to\n"
msgstr ""
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3627,12 +3775,12 @@ msgid ""
"\n"
msgstr ""
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr ""
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr ""
@@ -3724,7 +3872,7 @@ msgstr ""
msgid "use .gitattributes only from the index"
msgstr ""
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr ""
@@ -3732,7 +3880,7 @@ msgstr ""
msgid "terminate input and output records by a NUL character"
msgstr ""
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr ""
@@ -3785,49 +3933,53 @@ msgstr ""
msgid "no contacts specified"
msgstr ""
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr ""
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr ""
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr ""
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr ""
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr ""
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr ""
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr ""
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr ""
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr ""
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr ""
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr ""
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr ""
@@ -3907,37 +4059,41 @@ msgstr ""
msgid "HEAD is now at"
msgstr ""
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr ""
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr ""
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr ""
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr ""
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr ""
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr ""
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr ""
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -3952,7 +4108,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -3969,162 +4125,162 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr ""
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr ""
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr ""
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr ""
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr ""
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr ""
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr ""
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr ""
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr ""
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr ""
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr ""
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr ""
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr ""
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr ""
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr ""
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr ""
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr ""
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr ""
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr ""
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr ""
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr ""
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr ""
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr ""
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr ""
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr ""
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr ""
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr ""
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr ""
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr ""
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr ""
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr ""
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr ""
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr ""
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
"Did you intend to checkout '%s' which can not be resolved as commit?"
msgstr ""
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr ""
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4160,7 +4316,7 @@ msgstr ""
msgid "failed to remove %s"
msgstr ""
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4168,7 +4324,7 @@ msgid ""
" - (empty) select nothing"
msgstr ""
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4180,36 +4336,36 @@ msgid ""
" - (empty) finish selecting"
msgstr ""
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr ""
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr ""
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr ""
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr ""
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr ""
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr ""
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4220,68 +4376,68 @@ msgid ""
"? - help for prompt selection"
msgstr ""
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr ""
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr ""
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] ""
msgstr[1] ""
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr ""
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr ""
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr ""
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr ""
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr ""
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr ""
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr ""
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr ""
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr ""
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr ""
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
msgstr ""
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4291,263 +4447,286 @@ msgstr ""
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr ""
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr ""
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr ""
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr ""
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr ""
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr ""
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr ""
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr ""
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr ""
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr ""
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr ""
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr ""
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr ""
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr ""
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr ""
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr ""
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654
-#: builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
msgid "depth"
msgstr ""
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr ""
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr ""
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr ""
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr ""
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr ""
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr ""
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr ""
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr ""
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
msgstr ""
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr ""
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr ""
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr ""
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr ""
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr ""
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr ""
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr ""
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr ""
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr ""
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
"and retry the checkout with 'git checkout -f HEAD'\n"
msgstr ""
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr ""
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr ""
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr ""
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr ""
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr ""
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr ""
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr ""
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr ""
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr ""
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr ""
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr ""
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr ""
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr ""
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr ""
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr ""
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr ""
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr ""
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr ""
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr ""
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr ""
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr ""
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
msgstr ""
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr ""
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr ""
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr ""
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr ""
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr ""
@@ -4720,7 +4899,7 @@ msgstr ""
msgid "could not lookup commit %s"
msgstr ""
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr ""
@@ -4888,8 +5067,8 @@ msgstr ""
msgid "show branch information"
msgstr ""
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr ""
@@ -4976,8 +5155,8 @@ msgstr ""
msgid "override date for commit"
msgstr ""
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr ""
@@ -5010,7 +5189,7 @@ msgstr ""
msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr ""
-#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr ""
@@ -5034,7 +5213,7 @@ msgstr ""
msgid "include status in commit message template"
msgstr ""
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr ""
@@ -5122,139 +5301,143 @@ msgid ""
"not exceeded, and then \"git reset HEAD\" to recover."
msgstr ""
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr ""
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr ""
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr ""
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr ""
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr ""
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr ""
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr ""
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr ""
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr ""
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr ""
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr ""
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr ""
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr ""
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr ""
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr ""
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr ""
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr ""
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr ""
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr ""
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr ""
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr ""
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr ""
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr ""
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr ""
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr ""
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr ""
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr ""
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr ""
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr ""
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr ""
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr ""
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr ""
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr ""
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr ""
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5264,7 +5447,7 @@ msgid ""
"#\temail = %s\n"
msgstr ""
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr ""
@@ -5508,247 +5691,251 @@ msgstr ""
msgid "git fetch --all [<options>]"
msgstr ""
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr ""
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr ""
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr ""
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr ""
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr ""
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr ""
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr ""
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr ""
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr ""
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr ""
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr ""
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr ""
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr ""
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr ""
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr ""
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr ""
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr ""
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr ""
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr ""
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr ""
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr ""
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr ""
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr ""
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr ""
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr ""
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr ""
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr ""
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr ""
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr ""
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr ""
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr ""
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr ""
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr ""
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr ""
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr ""
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr ""
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr ""
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr ""
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
" 'git remote prune %s' to remove any old, conflicting branches"
msgstr ""
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr ""
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr ""
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr ""
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr ""
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr ""
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr ""
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr ""
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr ""
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr ""
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr ""
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
msgstr ""
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr ""
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr ""
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
msgstr ""
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr ""
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr ""
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr ""
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr ""
@@ -5963,259 +6150,273 @@ msgstr ""
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr ""
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr ""
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr ""
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr ""
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr ""
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr ""
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr ""
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr ""
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr ""
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr ""
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr ""
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr ""
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr ""
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr ""
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr ""
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr ""
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr ""
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr ""
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr ""
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr ""
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr ""
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr ""
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr ""
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr ""
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr ""
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr ""
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr ""
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr ""
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr ""
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr ""
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr ""
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr ""
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr ""
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr ""
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr ""
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr ""
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr ""
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr ""
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr ""
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr ""
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr ""
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr ""
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr ""
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr ""
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr ""
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr ""
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr ""
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr ""
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr ""
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr ""
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr ""
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr ""
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr ""
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
msgstr ""
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr ""
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr ""
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr ""
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
msgstr ""
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr ""
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr ""
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr ""
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr ""
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr ""
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr ""
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr ""
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr ""
@@ -6266,75 +6467,75 @@ msgstr ""
msgid "failed to exec '%s': %s"
msgstr ""
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
"Please consider using 'man.<tool>.cmd' instead."
msgstr ""
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
"Please consider using 'man.<tool>.path' instead."
msgstr ""
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr ""
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr ""
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr ""
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr ""
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr ""
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr ""
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr ""
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr ""
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr ""
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr ""
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr ""
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr ""
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr ""
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr ""
@@ -6570,60 +6771,55 @@ msgstr ""
msgid "bad pack.indexversion=%<PRIu32>"
msgstr ""
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr ""
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr ""
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr ""
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr ""
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
msgstr[0] ""
msgstr[1] ""
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] ""
msgstr[1] ""
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr ""
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr ""
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr ""
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr ""
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr ""
@@ -6745,22 +6941,30 @@ msgstr ""
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr ""
+
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr ""
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr ""
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr ""
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr ""
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr ""
@@ -6814,325 +7018,372 @@ msgstr ""
msgid "Unknown type: %d"
msgstr ""
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr ""
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr ""
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr ""
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr ""
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr ""
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr ""
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr ""
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr ""
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr ""
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr ""
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr ""
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr ""
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr ""
-#: builtin/log.c:1222
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr ""
-#: builtin/log.c:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr ""
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr ""
-#: builtin/log.c:1226
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr ""
-#: builtin/log.c:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr ""
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr ""
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr ""
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr ""
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr ""
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
msgstr ""
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr ""
-#: builtin/log.c:1245
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr ""
-#: builtin/log.c:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr ""
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr ""
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr ""
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr ""
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr ""
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr ""
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr ""
-#: builtin/log.c:1255
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr ""
-#: builtin/log.c:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr ""
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr ""
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr ""
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr ""
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr ""
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr ""
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr ""
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr ""
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr ""
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr ""
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr ""
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr ""
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr ""
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr ""
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr ""
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr ""
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr ""
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr ""
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr ""
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr ""
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
msgstr ""
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr ""
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr ""
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr ""
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr ""
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr ""
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr ""
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr ""
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr ""
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr ""
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr ""
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr ""
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr ""
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr ""
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr ""
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr ""
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr ""
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr ""
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr ""
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr ""
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr ""
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr ""
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr ""
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr ""
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr ""
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr ""
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr ""
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr ""
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr ""
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr ""
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr ""
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr ""
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr ""
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr ""
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr ""
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr ""
@@ -7200,31 +7451,31 @@ msgstr ""
msgid "Available custom strategies are:"
msgstr ""
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr ""
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr ""
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr ""
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr ""
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr ""
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr ""
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr ""
@@ -7232,7 +7483,7 @@ msgstr ""
msgid "allow fast-forward (default)"
msgstr ""
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr ""
@@ -7240,20 +7491,20 @@ msgstr ""
msgid "Verify that the named commit has a valid GPG signature"
msgstr ""
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr ""
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr ""
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr ""
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr ""
@@ -7291,8 +7542,8 @@ msgstr ""
msgid "Squash commit -- not updating HEAD\n"
msgstr ""
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr ""
@@ -7310,41 +7561,41 @@ msgstr ""
msgid "No merge message -- not updating HEAD\n"
msgstr ""
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr ""
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr ""
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
msgstr ""
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr ""
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr ""
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr ""
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr ""
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7354,157 +7605,157 @@ msgid ""
"the commit.\n"
msgstr ""
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr ""
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr ""
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr ""
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr ""
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr ""
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr ""
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr ""
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr ""
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr ""
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr ""
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
msgstr ""
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
msgstr ""
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr ""
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr ""
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr ""
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
msgstr ""
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr ""
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr ""
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
msgstr ""
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr ""
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr ""
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr ""
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr ""
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr ""
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr ""
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr ""
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr ""
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr ""
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr ""
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr ""
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr ""
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr ""
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
@@ -7587,19 +7838,19 @@ msgstr ""
msgid "set labels for file1/orig-file/file2"
msgstr ""
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr ""
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr ""
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr ""
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr ""
@@ -7607,90 +7858,90 @@ msgstr ""
msgid "git mv [<options>] <source>... <destination>"
msgstr ""
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr ""
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr ""
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr ""
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr ""
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr ""
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr ""
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr ""
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr ""
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr ""
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr ""
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr ""
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr ""
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr ""
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr ""
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr ""
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr ""
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr ""
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr ""
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr ""
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr ""
@@ -7883,9 +8134,9 @@ msgid "could not open or read '%s'"
msgstr ""
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr ""
@@ -7900,146 +8151,146 @@ msgstr ""
msgid "Cannot read note data from non-blob object '%s'."
msgstr ""
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr ""
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr ""
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr ""
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr ""
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr ""
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr ""
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr ""
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr ""
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
"existing notes"
msgstr ""
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr ""
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr ""
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr ""
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr ""
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr ""
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
"existing notes"
msgstr ""
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr ""
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
msgstr ""
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr ""
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr ""
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
msgstr ""
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr ""
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr ""
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr ""
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr ""
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr ""
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr ""
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr ""
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr ""
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr ""
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr ""
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr ""
@@ -8059,165 +8310,165 @@ msgstr ""
msgid "deflate error (%d)"
msgstr ""
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr ""
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr ""
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr ""
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr ""
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr ""
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr ""
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr ""
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr ""
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
msgstr ""
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr ""
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr ""
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr ""
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr ""
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr ""
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr ""
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr ""
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr ""
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr ""
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr ""
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr ""
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr ""
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr ""
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr ""
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr ""
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr ""
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr ""
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr ""
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr ""
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr ""
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr ""
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr ""
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr ""
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr ""
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr ""
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr ""
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr ""
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr ""
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr ""
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr ""
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr ""
@@ -8261,65 +8512,69 @@ msgstr ""
msgid "cannot prune in a precious-objects repo"
msgstr ""
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr ""
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr ""
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr ""
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr ""
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr ""
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr ""
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr ""
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr ""
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr ""
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr ""
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr ""
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
msgstr ""
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr ""
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
msgstr ""
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8327,27 +8582,27 @@ msgid ""
"for your current branch, you must specify a branch on the command line."
msgstr ""
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr ""
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr ""
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr ""
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr ""
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr ""
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8355,18 +8610,18 @@ msgid ""
" git branch --set-upstream-to=%s/<branch> %s\n"
msgstr ""
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
"from the remote, but no such ref was fetched."
msgstr ""
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr ""
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8374,7 +8629,7 @@ msgid ""
"commit %s."
msgstr ""
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8385,11 +8640,11 @@ msgid ""
"to recover."
msgstr ""
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr ""
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr ""
@@ -8397,21 +8652,21 @@ msgstr ""
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr ""
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr ""
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr ""
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
msgstr ""
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -8426,7 +8681,7 @@ msgid ""
"%s"
msgstr ""
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -8436,7 +8691,7 @@ msgid ""
" git push %s HEAD:<name-of-remote-branch>\n"
msgstr ""
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -8445,12 +8700,12 @@ msgid ""
" git push --set-upstream %s %s\n"
msgstr ""
-#: builtin/push.c:182
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr ""
-#: builtin/push.c:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -8458,37 +8713,12 @@ msgid ""
"to update which remote branch."
msgstr ""
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-
-#: builtin/push.c:275
+#: builtin/push.c:242
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr ""
-#: builtin/push.c:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -8496,7 +8726,7 @@ msgid ""
"See the 'Note about fast-forwards' in 'git push --help' for details."
msgstr ""
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
@@ -8504,7 +8734,7 @@ msgid ""
"See the 'Note about fast-forwards' in 'git push --help' for details."
msgstr ""
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
@@ -8513,33 +8743,33 @@ msgid ""
"See the 'Note about fast-forwards' in 'git push --help' for details."
msgstr ""
-#: builtin/push.c:301
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr ""
-#: builtin/push.c:304
+#: builtin/push.c:271
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"
"without using the '--force' option.\n"
msgstr ""
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr ""
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr ""
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr ""
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -8552,104 +8782,100 @@ msgid ""
" git push <name>\n"
msgstr ""
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr ""
-#: builtin/push.c:414
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr ""
-#: builtin/push.c:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr ""
-#: builtin/push.c:420
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr ""
-#: builtin/push.c:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr ""
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr ""
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr ""
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr ""
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr ""
-#: builtin/push.c:542
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr ""
-#: builtin/push.c:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr ""
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr ""
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr ""
-#: builtin/push.c:550
-msgid "check|on-demand|no"
-msgstr ""
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr ""
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr ""
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr ""
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr ""
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr ""
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr ""
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr ""
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr ""
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr ""
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr ""
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr ""
@@ -8724,12 +8950,12 @@ msgstr ""
msgid "debug unpack-trees"
msgstr ""
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr ""
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr ""
@@ -8865,55 +9091,45 @@ msgstr ""
msgid "specifying branches to track makes sense only with fetch mirrors"
msgstr ""
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr ""
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr ""
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr ""
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr ""
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr ""
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr ""
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr ""
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr ""
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr ""
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr ""
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -8921,27 +9137,17 @@ msgid ""
"\tPlease update the configuration manually if necessary."
msgstr ""
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr ""
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr ""
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr ""
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr ""
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -8951,275 +9157,280 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr ""
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr ""
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr ""
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr ""
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr ""
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr ""
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
+msgid "rebases interactively onto remote %s"
msgstr ""
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr ""
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr ""
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr ""
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr ""
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr ""
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr ""
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr ""
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr ""
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr ""
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr ""
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr ""
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr ""
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr ""
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr ""
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr ""
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr ""
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr ""
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr ""
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr ""
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
msgstr ""
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
msgstr[0] ""
msgstr[1] ""
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr ""
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] ""
msgstr[1] ""
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr ""
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] ""
msgstr[1] ""
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr ""
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr ""
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr ""
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
msgstr ""
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr ""
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr ""
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr ""
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr ""
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr ""
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr ""
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr ""
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr ""
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr ""
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr ""
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr ""
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr ""
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr ""
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr ""
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr ""
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr ""
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr ""
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr ""
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr ""
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr ""
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr ""
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr ""
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr ""
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr ""
@@ -9517,7 +9728,7 @@ msgstr ""
msgid "Could not write new index file."
msgstr ""
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr ""
@@ -9747,28 +9958,23 @@ msgstr ""
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr ""
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr ""
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr ""
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr ""
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr ""
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr ""
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr ""
@@ -9903,79 +10109,79 @@ msgid "skip and remove all lines starting with comment character"
msgstr ""
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
+msgid "prepend comment character and space to each line"
msgstr ""
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr ""
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr ""
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr ""
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr ""
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr ""
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr ""
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr ""
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr ""
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
msgstr ""
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr ""
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr ""
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr ""
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr ""
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr ""
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr ""
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr ""
@@ -10207,188 +10413,201 @@ msgstr ""
msgid "Unpacking objects"
msgstr ""
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr ""
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr ""
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr ""
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr ""
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr ""
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
+msgid "Testing mtime in '%s' "
msgstr ""
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr ""
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr ""
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr ""
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr ""
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr ""
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr ""
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr ""
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr ""
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr ""
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr ""
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr ""
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr ""
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr ""
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr ""
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr ""
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr ""
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr ""
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr ""
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr ""
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr ""
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr ""
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr ""
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr ""
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr ""
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
msgstr ""
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr ""
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr ""
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr ""
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
msgstr ""
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr ""
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr ""
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr ""
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr ""
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr ""
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr ""
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr ""
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr ""
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr ""
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr ""
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr ""
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr ""
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr ""
@@ -10504,33 +10723,33 @@ msgstr ""
msgid "'%s' already exists"
msgstr ""
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr ""
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr ""
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr ""
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr ""
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr ""
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr ""
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr ""
@@ -10550,7 +10769,7 @@ msgstr ""
msgid "only useful for debugging"
msgstr ""
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr ""
@@ -10561,6 +10780,10 @@ msgid ""
"to read about a specific subcommand or concept."
msgstr ""
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr ""
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr ""
@@ -10642,7 +10865,7 @@ msgid "Update remote refs along with associated objects"
msgstr ""
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
+msgid "Reapply commits on top of another base tip"
msgstr ""
#: common-cmds.h:33
@@ -11295,108 +11518,108 @@ msgstr ""
msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
msgstr ""
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
"Maybe you want to use 'update --init'?"
msgstr ""
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr ""
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr ""
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr ""
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr ""
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr ""
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr ""
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr ""
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr ""
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr ""
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
msgstr ""
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr ""
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr ""
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr ""
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr ""
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr ""
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr ""
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr ""
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr ""
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr ""
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr ""
diff --git a/po/ko.po b/po/ko.po
index 8ec0eac134..3ff3b9bfec 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -57,8 +57,8 @@ msgid ""
msgstr ""
"Project-Id-Version: git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
-"PO-Revision-Date: 2016-01-03 18:50+0900\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-16 10:30+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Git Korean translation <http://github.com/changwoo/git-l10n-"
"ko>\n"
@@ -81,7 +81,7 @@ msgstr ""
"μž‘μ—… ν΄λ”μ—μ„œ 문제λ₯Ό λ°”λ‘œμž‘μ€ λ‹€μŒ, 'git add/rm <파일>'을 적절히\n"
"μ‚¬μš©ν•΄ ν•΄κ²° ν‘œμ‹œν•˜κ³  μ»€λ°‹ν•˜μ‹­μ‹œμ˜€."
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "병합 μž‘μ—…μ„ λ‹€ λ§ˆμΉ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€ (MERGE_HEAD 파일이 μžˆμŠ΅λ‹ˆλ‹€)."
@@ -125,7 +125,7 @@ msgstr "ν˜•μ‹"
msgid "archive format"
msgstr "μ••μΆ• ν˜•μ‹"
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "접두어"
@@ -133,10 +133,10 @@ msgstr "접두어"
msgid "prepend prefix to each pathname in the archive"
msgstr "μ•„μΉ΄μ΄λΈŒμ˜ 각 경둜 μ΄λ¦„μ˜ μ•žμ— μ§€μ •ν•œ 경둜λ₯Ό λΆ™μž…λ‹ˆλ‹€"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536
-#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989
-#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446
-#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548
+#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989
+#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459
+#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561
#: builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "파일"
@@ -169,7 +169,7 @@ msgstr "더 μž‘κ²Œ μ••μΆ•"
msgid "list supported archive formats"
msgstr "μ§€μ›ν•˜λŠ” μ••μΆ• ν˜•μ‹μ˜ λͺ©λ‘μ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "μ €μž₯μ†Œ"
@@ -177,7 +177,7 @@ msgstr "μ €μž₯μ†Œ"
msgid "retrieve the archive from remote repository <repo>"
msgstr "원격 μ €μž₯μ†Œ <μ €μž₯μ†Œ>μ—μ„œ μ•„μΉ΄μ΄λΈŒλ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr "λͺ…λ Ή"
@@ -185,7 +185,7 @@ msgstr "λͺ…λ Ή"
msgid "path to the remote git-upload-archive command"
msgstr "원격 git-upload-archive λͺ…λ Ήμ˜ 경둜"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
@@ -193,87 +193,104 @@ msgstr ""
"git attributesμ—μ„œ λ°˜λŒ€ νŒ¨ν„΄μ€ λ¬΄μ‹œλ©λ‹ˆλ‹€.\n"
"μ•žμ— λŠλ‚Œν‘œλ₯Ό μ“°λ €λ©΄ '\\!'λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€."
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"였λ₯˜λ₯Ό μˆ˜μ •ν•œ λ‹€μŒ 원격 좔적 정보λ₯Ό\n"
+"\"git branch --set-upstream-to=%s%s%s\" λͺ…령을\n"
+"μ‹€ν–‰ν•΄ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€."
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "%s 브랜치λ₯Ό μžμ‹ μ˜ μ—…μŠ€νŠΈλ¦ΌμœΌλ‘œ μ§€μ •ν•˜μ§€ μ•ŠμŒ."
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr ""
"%s λΈŒλžœμΉ˜κ°€ 리베이슀λ₯Ό 톡해 리λͺ¨νŠΈμ˜ %s 브랜치λ₯Ό (%sμ—μ„œ) 따라가도둝 μ„€μ •λ˜μ—ˆ"
"μŠ΅λ‹ˆλ‹€."
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr "%s λΈŒλžœμΉ˜κ°€ 리λͺ¨νŠΈμ˜ %s 브랜치λ₯Ό (%sμ—μ„œ) 따라가도둝 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr ""
"%s λΈŒλžœμΉ˜κ°€ 리베이슀λ₯Ό 톡해 리λͺ¨νŠΈμ˜ %s 브랜치λ₯Ό 따라가도둝 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "%s λΈŒλžœμΉ˜κ°€ %s 브랜치λ₯Ό 따라가도둝 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr ""
"%s λΈŒλžœμΉ˜κ°€ 리베이슀λ₯Ό 톡해 리λͺ¨νŠΈμ˜ %s 레퍼런슀λ₯Ό 따라가도둝 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "%s λΈŒλžœμΉ˜κ°€ 리λͺ¨νŠΈμ˜ %s 레퍼런슀λ₯Ό 따라가도둝 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr ""
"%s λΈŒλžœμΉ˜κ°€ 리베이슀λ₯Ό 톡해 둜컬의 %s 레퍼런슀λ₯Ό 따라가도둝 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "%s λΈŒλžœμΉ˜κ°€ 둜컬의 %s 레퍼런슀λ₯Ό 따라가도둝 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "μ—…μŠ€νŠΈλ¦Ό 브랜치 섀정을 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr "따라가지 μ•ŠμŒ: %s λ ˆνΌλŸ°μŠ€μ— λŒ€ν•΄ μ• λ§€ν•œ 정보"
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "'%s'은(λŠ”) μ˜¬λ°”λ₯Έ 브랜치 이름이 μ•„λ‹™λ‹ˆλ‹€."
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "이름이 '%s'인 λΈŒλžœμΉ˜κ°€ 이미 μžˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "ν˜„μž¬ 브랜치λ₯Ό κ°•μ œλ‘œ μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€."
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr ""
"따라가기 정보λ₯Ό μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ‹œμž‘ μœ„μΉ˜ '%s'이(κ°€) λΈŒλžœμΉ˜κ°€ μ•„λ‹™λ‹ˆλ‹€."
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "μš”μ²­ν•œ μ—…μŠ€νŠΈλ¦Ό '%s' λΈŒλžœμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -291,22 +308,22 @@ msgstr ""
"μƒˆ 둜컬 브랜치λ₯Ό 거기에 ν•΄λ‹Ήν•˜λŠ” 리λͺ¨νŠΈ 브랜치둜 pushν•˜λ €λ©΄,\n"
"\"git push -u\"둜 pushν•˜λŠ” μ—…μŠ€νŠΈλ¦Όμ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€."
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "μ˜¬λ°”λ₯Έ 였브젝트 이름이 μ•„λ‹™λ‹ˆλ‹€: '%s'."
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "μ• λ§€ν•œ 였브젝트 이름: '%s'."
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "μ˜¬λ°”λ₯Έ 브랜치 μœ„μΉ˜κ°€ μ•„λ‹™λ‹ˆλ‹€: '%s'."
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "'%s'은(λŠ”) 이미 '%s' μœ„μΉ˜μ— λ°›μ•„μ Έ μžˆμŠ΅λ‹ˆλ‹€"
@@ -330,10 +347,10 @@ msgstr "'%s'을(λ₯Ό) μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
msgid "Repository lacks these prerequisite commits:"
msgstr "μ €μž₯μ†Œμ— ν•„μˆ˜μ μΈ λ‹€μŒ 컀밋이 μ—†μŠ΅λ‹ˆλ‹€:"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "리비전 walk μ€€λΉ„κ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
@@ -370,7 +387,7 @@ msgstr "rev-list λͺ…령이 μ£½μ—ˆμŠ΅λ‹ˆλ‹€"
msgid "ref '%s' is excluded by the rev-list options"
msgstr "rev-list μ˜΅μ…˜μ—μ„œ '%s' λ ˆνΌλŸ°μŠ€κ°€ μ œμ™Έλ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "μ•Œ 수 μ—†λŠ” 인자: %s"
@@ -393,8 +410,8 @@ msgstr "index-pack λͺ…령이 μ£½μ—ˆμŠ΅λ‹ˆλ‹€"
msgid "invalid color value: %.*s"
msgstr "잘λͺ»λœ 색 κ°’: %.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "parse %s을(λ₯Ό) νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -408,59 +425,64 @@ msgstr "%s %s, 컀밋이 μ•„λ‹™λ‹ˆλ‹€"
msgid "memory exhausted"
msgstr "λ©”λͺ¨λ¦¬ λ°”λ‹₯남"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "%2$s 파일 %1$d번 쀄에 잘λͺ»λœ μ„€μ •"
+msgid "bad config line %d in %s %s"
+msgstr "%2$s %3$s %1$d번 쀄에 잘λͺ»λœ μ„€μ •"
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "잘λͺ»λœ 수치 μ„€μ • κ°’ '%s' (ν‚€ '%s', %s 파일): %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "잘λͺ»λœ 수치 μ„€μ • κ°’ '%s' (ν‚€ '%s', %s %s): %s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "잘λͺ»λœ 수치 μ„€μ • κ°’ '%s' (ν‚€ '%s'): %s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "λ‹€μŒμ— μ‚¬μš©μž 디렉터리 ν™•μž₯에 μ‹€νŒ¨: '%s'"
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "%dλ²ˆμ€ μ˜¬λ°”λ₯Έ zlib μ••μΆ• 단계가 μ•„λ‹™λ‹ˆλ‹€"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "였브젝트 생성 λͺ¨λ“œκ°€ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€: %s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr "λͺ…λ Ήν–‰ 섀정을 νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr "μ„€μ • νŒŒμΌμ„ μ½λŠ” 쀑 μ•Œ 수 μ—†λŠ” 였λ₯˜κ°€ μƒκ²ΌμŠ΅λ‹ˆλ‹€"
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr "λͺ…λ Ήν–‰ μ„€μ •μ—μ„œ '%s'을(λ₯Ό) μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr "'%2$s' 파일의 %3$d번 쀄 '%1$s' μ„€μ • λ³€μˆ˜κ°€ 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s은(λŠ”) μ—¬λŸ¬ 개 값이 μžˆμŠ΅λ‹ˆλ‹€"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "'%s'을(λ₯Ό) '%s'에 μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "'git rev-list'λ₯Ό μ‹€ν–‰ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -567,16 +589,16 @@ msgstr ""
"'diff.submodule' μ„€μ • λ³€μˆ˜μ— 였λ₯˜:\n"
"%s'"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "μ™ΈλΆ€ diff ν”„λ‘œκ·Έλž¨μ΄ 죽음, %s μœ„μΉ˜μ—μ„œ 멈좀"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow μ˜΅μ…˜μ—λŠ” μ •ν™•νžˆ ν•˜λ‚˜μ˜ 경둜λͺ…μ„Έκ°€ ν•„μš”ν•©λ‹ˆλ‹€"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
@@ -585,18 +607,18 @@ msgstr ""
"--dirstat/-X μ˜΅μ…˜ νŒŒλΌλ―Έν„°λ₯Ό νŒŒμ‹±ν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€:\n"
"%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "--submodule μ˜΅μ…˜ νŒŒλΌλ―Έν„° νŒŒμ‹±μ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€: '%s'"
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "컀널 이름과 정보λ₯Ό κ°€μ Έμ˜€λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "이 μ‹œμŠ€ν…œμ—μ„œλŠ” μΆ”μ λ˜μ§€ μ•ŠλŠ” μΊμ‹œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "이 μ‹œμŠ€ν…œ λ˜λŠ” μœ„μΉ˜μ—μ„œλŠ” μΆ”μ λ˜μ§€ μ•ŠλŠ” μΊμ‹œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -635,20 +657,20 @@ msgstr "'%s': %s"
msgid "'%s': short read %s"
msgstr "'%s': %sμ—μ„œ 읽닀가 잘림"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr "'%s'에 μžˆλŠ” κΉƒ λͺ…λ Ή"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr "λ‹€λ₯Έ $PATH에 μžˆλŠ” κΉƒ λͺ…λ Ή"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr "λ‹€μŒμ€ μ—¬λŸ¬κ°€μ§€ μƒν™©μ—μ„œ 자주 μ‚¬μš©ν•˜λŠ” κΉƒ λͺ…λ Ήμž…λ‹ˆλ‹€:"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
@@ -657,11 +679,11 @@ msgstr ""
"'%s'은(λŠ”) κΉƒ λͺ…λ ΉμœΌλ‘œ λ³΄μ΄μ§€λ§Œ, μ‹€ν–‰ν•  수\n"
"μ—†μŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ git-%s 망가진 것 κ°™μŠ΅λ‹ˆλ‹€."
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr "어라라. μ‹œμŠ€ν…œμ— κΉƒ λͺ…령이 ν•˜λ‚˜λ„ μ—†λ‹€κ³  λ‚˜μ˜΅λ‹ˆλ‹€."
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -670,17 +692,17 @@ msgstr ""
"κ²½κ³ : 이름이 '%s'인 κΉƒ λͺ…령을 μ‹€ν–‰ν–ˆμ§€λ§Œ, κ·Έ λͺ…령이 μ—†μŠ΅λ‹ˆλ‹€.\n"
"μžλ™μœΌλ‘œ '%s' λͺ…령이라고 κ°€μ •ν•˜κ³  κ³„μ†ν•©λ‹ˆλ‹€"
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "(%0.1f초 뒀에)..."
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr "git: '%s'은(λŠ”) κΉƒ λͺ…령이 μ•„λ‹™λ‹ˆλ‹€. 'git --help'λ₯Ό μ°Έκ³ ν•˜μ‹­μ‹œμ˜€."
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -691,7 +713,7 @@ msgstr[0] ""
"\n"
"λ‹€μŒμ„ μ˜λ„ν•˜μ‹  것 μ•„λ‹ˆμ—ˆλ‚˜μš”?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s: %s - %s"
@@ -700,8 +722,8 @@ msgstr "%s: %s - %s"
msgid "failed to read the cache"
msgstr "μΊμ‹œλ₯Ό μ½λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "μƒˆ 인덱슀 νŒŒμΌμ„ μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -719,64 +741,64 @@ msgstr "'%s' κ²½λ‘œμ— λŒ€ν•΄ addinfo_cacheκ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
msgid "error building trees"
msgstr "트리 λΉŒλ“œμ— 였λ₯˜"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "'%s' 경둜 λ§Œλ“€κΈ°μ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€%s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr "ν•˜μœ„ 디렉터리에 곡간을 λ§Œλ“œλ €κ³  %s을(λ₯Ό) μ œκ±°ν•©λ‹ˆλ‹€\n"
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ": μ•„λ§ˆλ„ D/F 좩돌?"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "'%s' μœ„μΉ˜μ˜ μΆ”μ λ˜μ§€ μ•ŠλŠ” νŒŒμΌμ„ μžƒκΈ°λ₯Ό κ±°λΆ€ν•©λ‹ˆλ‹€"
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "%s '%s' 였브젝트λ₯Ό 읽을 수 μ—†μŒ"
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "%s '%s'에 λŒ€ν•΄ 블둭을 μ˜ˆμƒ"
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "'%s'을(λ₯Ό) μ—¬λŠ”λ° μ‹€νŒ¨"
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "'%s' 심볼릭 링크에 μ‹€νŒ¨"
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "λ‹€μŒμ„ μ–΄λ–»κ²Œ ν• μ§€ μ•Œ 수 μ—†μŠ΅λ‹ˆλ‹€: %06o %s '%s'"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "λ‚΄λΆ€ 병합 싀행에 μ‹€νŒ¨"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "%s을(λ₯Ό) λ°μ΄ν„°λ² μ΄μŠ€μ— μΆ”κ°€ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "νŠΈλ¦¬μ—μ„œ μ§€μ›ν•˜μ§€ μ•ŠλŠ” 였브젝트 μ’…λ₯˜"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -784,7 +806,7 @@ msgid ""
msgstr ""
"좩돌! (%s/μ‚­μ œ): %s (μœ„μΉ˜ %s) 및 %s (%sμ—μ„œ) μ‚­μ œ. %s λ²„μ „μ˜ %s νŠΈλ¦¬μ— λ‚¨μŒ."
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -793,20 +815,20 @@ msgstr ""
"좩돌! (%s/μ‚­μ œ): %s (μœ„μΉ˜ %s) 및 %s (μœ„μΉ˜ %s) μ‚­μ œ. %s λ²„μ „μ˜ %s νŠΈλ¦¬μ— "
"%s(으)둜 λ‚¨μŒ."
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "이름바꾸기"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "μ΄λ¦„λ°”κΏˆ"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr "%s은(λŠ”) %s에 μžˆλŠ” λ””λ ‰ν„°λ¦¬λ‘œ %s(으)둜 이름을 λ°”κΏ‰λ‹ˆλ‹€"
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -815,145 +837,145 @@ msgstr ""
"좩돌! (이름바꾸기/이름바꾸기): \"%3$s\" λΈŒλžœμΉ˜μ—μ„œ 이름바꾸기 \"%1$s\"->"
"\"%2$s\" \"%6$s\" λΈŒλžœμΉ˜μ—μ„œ 이름 λ°”κΎΈκΈ° \"%4$s\"->\"%5$s\"%7$s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr " (ν•΄κ²°λ˜μ§€ μ•ŠμŒ)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
"좩돌! (rename/rename): 이름 λ°”κΎΈκΈ° %s->%s (μœ„μΉ˜ %s). 이름 λ°”κΎΈκΈ° %s->%s (μœ„"
"치 %s)"
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "λŒ€μ‹  이름을 %sμ—μ„œ %s(으)둜 λ°”κΎΈκ³  %sμ—μ„œ %s(으)둜 λ°”κΏ‰λ‹ˆλ‹€"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr "좩돌! (rename/add): 이름 λ°”κΎΈκΈ° %s->%s (μœ„μΉ˜ %s). %s μΆ”κ°€ (μœ„μΉ˜ %s)"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "λ³‘ν•©λœ %s을(λ₯Ό) μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "λŒ€μ‹  %s(으)둜 μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "%s 였브젝트λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "%s μ˜€λΈŒμ νŠΈλŠ” 블둭이 μ•„λ‹™λ‹ˆλ‹€"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "μˆ˜μ •"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "μˆ˜μ •λ¨"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "λ‚΄μš©"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "μΆ”κ°€/μΆ”κ°€"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "κ±΄λ„ˆλ›°κΈ°: %s (κΈ°μ‘΄κ³Ό κ°™κ²Œ 병합)"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "μžλ™ 병합: %s"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "좩돌! (%s): %s에 병합 좩돌"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "제거: %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "파일/디렉터리"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "디렉터리/파일"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr ""
"좩돌! (%s): 이름이 %s인 디렉터리가 %s에 μžˆμŠ΅λ‹ˆλ‹€. %s을(λ₯Ό) %s(으)둜 μΆ”κ°€ν•©λ‹ˆ"
"λ‹€"
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "μΆ”κ°€: %s"
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "치λͺ…적인 병합 μ‹€νŒ¨, 일어날 수 μ—†λŠ” 상황."
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "이미 μ—…λ°μ΄νŠΈ μƒνƒœμž…λ‹ˆλ‹€!"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "%s 및 %s 트리의 병합이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "μ²˜λ¦¬λ˜μ§€ μ•Šμ€ 경둜??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "병합:"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
msgstr[0] "과거의 곡톡 컀밋 %u개 발견:"
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "병합 결과에 컀밋이 μ—†μŠ΅λ‹ˆλ‹€"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "'%s' 였브젝트λ₯Ό νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "인덱슀λ₯Ό μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€."
@@ -1068,12 +1090,12 @@ msgstr "경둜λͺ…μ„Έ '%s'은(λŠ”) ''%.*s' ν•˜μœ„ λͺ¨λ“ˆ μ•ˆμ— μžˆμŠ΅λ‹ˆλ‹€"
msgid "%s: pathspec magic not supported by this command: %s"
msgstr "%s: 경둜λͺ…μ„Έ μ§€μ‹œμ–΄κ°€ 이 λͺ…λ Ήμ–΄μ—μ„œ μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€: %s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "'%s' 경둜λͺ…μ„ΈλŠ” 심볼릭 링크 μ•„λž˜μ— μžˆμŠ΅λ‹ˆλ‹€"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1107,173 +1129,258 @@ msgstr ""
"GIT_INDEX_VERSION이 μ„€μ •λ˜μ—ˆμ§€λ§Œ, 이 값이 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€.\n"
"%i 버전을 μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "'%s'을(λ₯Ό) μ“°κΈ°μš©μœΌλ‘œ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "%s 레퍼런슀λ₯Ό μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "레퍼런슀λ₯Ό μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "%s 레퍼런슀λ₯Ό μ œκ±°ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "ν˜•μ‹: %%(end) 아톰이 λŒ€μ‘λ˜λŠ” μ•„ν†° 없이 μ‚¬μš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
+msgid "expected format: %%(color:<color>)"
+msgstr "μ˜ˆμƒν•œ ν˜•μ‹: %%(color:<색>)"
-#: ref-filter.c:704
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "인식할 수 μ—†λŠ” 색: %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "μ•Œ 수 μ—†λŠ” ν˜•μ‹: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body)에 인자λ₯Ό λ°›μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject)에 인자λ₯Ό λ°›μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "'contents:lines=%s'μ—μ„œ 0보닀 큰 값이 와야 ν•©λ‹ˆλ‹€"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "μ˜ˆμƒν•œ ν˜•μ‹: %%(color:<색>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "μ•Œ 수 μ—†λŠ” %%(contents) 인자: %s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "ν˜•μ‹μ„ νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "μ•Œ 수 μ—†λŠ” %%(objectname) 인자: %s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "μ˜ˆμƒν•œ ν˜•μ‹: %%(align:<λ„ˆλΉ„>,<μœ„μΉ˜>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
#, c-format
-msgid "improper format entered align:%s"
-msgstr "align:%s 잘λͺ»λœ ν˜•μ‹μ΄ μž…λ ₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
+msgid "unrecognized position:%s"
+msgstr "인식할 수 μ—†λŠ” μœ„μΉ˜:%s"
-#: ref-filter.c:898
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "인식할 수 μ—†λŠ” λ„ˆλΉ„:%s"
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "인식할 수 μ—†λŠ” %%(align) 인자:%s"
+
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "%%(align) 아톰에 λ„ˆλΉ„κ°€ 0보닀 컀야 ν•©λ‹ˆλ‹€"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "잘λͺ»λœ ν˜•μ‹μ˜ ν•„λ“œ 이름: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "μ•Œ 수 μ—†λŠ” ν•„λ“œ 이름: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "ν˜•μ‹: %%(end) 아톰이 λŒ€μ‘λ˜λŠ” μ•„ν†° 없이 μ‚¬μš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "잘λͺ»λœ ν˜•μ‹μ˜ λ¬Έμžμ—΄ %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= λͺ…λ Ήμ—λŠ” 0보닀 큰 μ •μˆ˜ μΈμžκ°€ ν•„μš”ν•©λ‹ˆλ‹€"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "'%s' λ ˆνΌλŸ°μŠ€μ— :stripν•  ꡬ성 μš”μ†Œ %ldκ°œκ°€ μ—†μŠ΅λ‹ˆλ‹€"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "μ•Œ 수 μ—†λŠ” %.*s ν˜•μ‹ %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "μ—†λŠ” 였브젝트 %s, %s에 λŒ€ν•΄"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "%s에 parse_object_buffer μ‹€νŒ¨ (%s에 λŒ€ν•΄)"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr "'%s'에 잘λͺ»λœ ν˜•μ‹μ˜ 였브젝트"
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "망가진 이름 %s에 레퍼런슀λ₯Ό λ¬΄μ‹œν•©λ‹ˆλ‹€"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "망가진 레퍼런슀 %s λ¬΄μ‹œ"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "ν˜•μ‹: %%(end) 아톰이 μ—†μŠ΅λ‹ˆλ‹€"
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr "잘λͺ»λœ ν˜•μ‹μ˜ 였브젝트 이름 %s"
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr "%s 및 %s을(λ₯Ό) λͺ¨λ‘ %s에 κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s은(λŠ”) 보톡 %s을(λ₯Ό) μΆ”μ ν•˜κ³ , %s을(λ₯Ό) μΆ”μ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s은(λŠ”) %s 및 %s λͺ¨λ‘ μΆ”μ ν•©λ‹ˆλ‹€"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "λ‚΄λΆ€ 였λ₯˜"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEADκ°€ 브랜치λ₯Ό 가리킀지 μ•ŠμŠ΅λ‹ˆλ‹€"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "그런 λΈŒλžœμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€: '%s'"
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "'%s' λΈŒλžœμΉ˜μ— λŒ€ν•΄ μ—…μŠ€νŠΈλ¦Όμ„ μ„€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr "μ—…μŠ€νŠΈλ¦Ό '%s' λΈŒλžœμΉ˜κ°€ 리λͺ¨νŠΈ 좔적 브랜치둜 μ €μž₯λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr "리λͺ¨νŠΈ '%2$s'의 ν‘Έμ‹œ λŒ€μƒ '%1$s'에 둜컬 좔적 λΈŒλžœμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "'%s' λΈŒλžœμΉ˜μ— ν‘Έμ‹œ 리λͺ¨νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr "'%s'에 λŒ€ν•œ ν‘Έμ‹œ 레퍼런슀λͺ…세에 '%s'이(κ°€) λ“€μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "ν‘Έμ‹œμ˜ λŒ€μƒμ΄ μ—†μŠ΅λ‹ˆλ‹€ (push.defaultκ°€ 'nothing'μž…λ‹ˆλ‹€)"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr "ν•˜λ‚˜μ˜ λŒ€μƒμ— λŒ€ν•΄ 'simple' ν‘Έμ‹œλ₯Ό μ²˜λ¦¬ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr "ν˜„μž¬ λΈŒλžœμΉ˜κ°€ '%s' κΈ°λ°˜μ΄μ§€λ§Œ, μ—…μŠ€νŠΈλ¦Όμ΄ μ—†μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.\n"
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr " (λ°”λ‘œμž‘μœΌλ €λ©΄ \"git branch --unset-upstream\"을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "λΈŒλžœμΉ˜κ°€ '%s'에 맞게 μ—…λ°μ΄νŠΈλœ μƒνƒœμž…λ‹ˆλ‹€.\n"
-#: remote.c:2094
+#: remote.c:2084
#, c-format
msgid "Your branch is ahead of '%s' by %d commit.\n"
msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
msgstr[0] "λΈŒλžœμΉ˜κ°€ '%s'보닀 %d개 μ»€λ°‹λ§ŒνΌ μ•žμ— μžˆμŠ΅λ‹ˆλ‹€.\n"
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " (λ‘œμ»¬μ— μžˆλŠ” 컀밋을 μ œμΆœν•˜λ €λ©΄ \"git push\"λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
msgstr[0] "λΈŒλžœμΉ˜κ°€ '%s'보닀 %d개 컀밋 뒀에 있고, μ•žμœΌλ‘œ 돌릴 수 μžˆμŠ΅λ‹ˆλ‹€.\n"
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr " (둜컬 브랜치λ₯Ό μ—…λ°μ΄νŠΈν•˜λ €λ©΄ \"git pull\"을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1285,29 +1392,29 @@ msgstr[0] ""
"ν˜„μž¬ λΈŒλžœμΉ˜μ™€ '%s'이(κ°€) κ°ˆλΌμ‘ŒμŠ΅λ‹ˆλ‹€,\n"
"λ‹€λ₯Έ 컀밋이 각각 %dκ°œμ™€ %d개 μžˆμŠ΅λ‹ˆλ‹€.\n"
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr ""
" (리λͺ¨νŠΈμ˜ 브랜치λ₯Ό ν˜„μž¬ 브랜치둜 λ³‘ν•©ν•˜λ €λ©΄ \"git pull\"을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)\n"
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "ν˜„μž¬ λΈŒλžœμΉ˜κ°€ 망가진 κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€"
-#: revision.c:2196
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr "ν˜„μž¬ '%s' λΈŒλžœμΉ˜μ— 아직 아무 컀밋도 μ—†μŠ΅λ‹ˆλ‹€"
-#: revision.c:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "--first-parent μ˜΅μ…˜μ€ --bisect μ˜΅μ…˜κ³Ό ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "/dev/null μ—΄κΈ° μ‹€νŒ¨"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "dup2(%d,%d) μ‹€νŒ¨"
@@ -1331,7 +1438,7 @@ msgstr ""
msgid "the receiving end does not support --atomic push"
msgstr "λ°›λŠ” μͺ½μ—μ„œ --atomic ν‘Έμ‹œλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
@@ -1339,7 +1446,7 @@ msgstr ""
"이 μΆ©λŒμ„ ν•΄κ²°ν•œ 뒀에, λ°”λ‘œμž‘μ€ 경둜λ₯Ό\n"
"'git add <경둜>' λ˜λŠ” 'git rm <경둜>'둜 ν‘œμ‹œν•˜μ‹­μ‹œμ˜€"
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1349,230 +1456,244 @@ msgstr ""
"'git add <경둜>' λ˜λŠ” 'git rm <경둜>'둜 ν‘œμ‹œν•˜μ‹­μ‹œμ˜€.\n"
"그리고 결과물을 'git commit'으둜 μ»€λ°‹ν•˜μ‹­μ‹œμ˜€"
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "%s에 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "%s μž κ·ΈλŠ”λ° 였λ₯˜"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr "둜컬 λ³€κ²½ 사항을 cherry-pick λ•Œλ¬Έμ— λμ–΄ μ“°κ²Œ λ©λ‹ˆλ‹€."
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "둜컬 λ³€κ²½ 사항을 revert λ•Œλ¬Έμ— λμ–΄ μ“°κ²Œ λ©λ‹ˆλ‹€."
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr "λ³€κ²½ 사항을 μŠ€ν…Œμ΄μ§•ν•˜κ±°λ‚˜ μŠ€νƒœμ‹œν•œ λ‹€μŒ κ³„μ†ν•˜μ‹­μ‹œμ˜€."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%s: μƒˆ 인덱슀 νŒŒμΌμ„ μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "HEAD 컀밋을 μ²˜λ¦¬ν•  수 μ—†μŠ΅λ‹ˆλ‹€\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "μΊμ‹œ 트리λ₯Ό μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "%s 컀밋을 νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "%s 이전 컀밋을 νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "인덱슀 파일이 λ³‘ν•©λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€."
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr "%s 컀밋은 λ³‘ν•©μ΄μ§€λ§Œ -m μ˜΅μ…˜μ΄ μ£Όμ–΄μ§€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€."
# FIXME: "parent %d" λ²ˆν˜Έκ°€ 무슨 의미?
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "Commit %s 컀밋에 이전 컀밋 %d이(κ°€) μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr "메인라인을 μ§€μ •ν–ˆμ§€λ§Œ %s 컀밋이 병합 컀밋이 μ•„λ‹™λ‹ˆλ‹€."
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%s: %s 이전 컀밋을 νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "%s에 λŒ€ν•œ 컀밋 λ©”μ‹œμ§€λ₯Ό κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "λ‹€μŒμ„ 되돌릴(revert) 수 μ—†μŠ΅λ‹ˆλ‹€: %s... %s"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "λ‹€μŒμ„ μ μš©ν• (apply) 수 μ—†μŠ΅λ‹ˆλ‹€: %s... %s"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "빈 컀밋 λͺ¨μŒμ„ κ±΄λ„ˆ λœλ‹ˆλ‹€"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %s: 인덱슀 읽기에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %s: 인덱슀 μƒˆλ‘œ 고침에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "%2$s λ™μ•ˆ %1$s ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "%d번 쀄을 νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€."
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "νŒŒμ‹±ν•œ 컀밋이 μ—†μŠ΅λ‹ˆλ‹€."
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "%s을(λ₯Ό) μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "%s을(λ₯Ό) 읽을 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "μ‚¬μš© λΆˆκ°€λŠ₯ μΈμŠ€νŠΈλŸ­μ…˜ 파일: %s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "잘λͺ»λœ ν‚€: %s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "%s의 값이 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€: %s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr "ν˜•μ‹μ΄ 잘λͺ»λœ μ˜΅μ…˜ 파일: %s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "이미 컀밋 빼였기(cherry-pick) λ˜λŠ” 되돌리기(revert)κ°€ μ§„ν–‰ μ€‘μž…λ‹ˆλ‹€"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "\"git cherry-pick (--continue | --quit | --abort)\" λͺ…령을 ν•΄ λ³΄μ‹­μ‹œμ˜€"
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "%s μ‹œν€€μ„œ 디렉터리λ₯Ό λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "%s μž κ·ΈλŠ”λ° 였λ₯˜."
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "빼였기(cherry-pick) λ˜λŠ” 되돌리기(revert)κ°€ μ§„ν–‰ 쀑이지 μ•ŠμŠ΅λ‹ˆλ‹€"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "HEADλ₯Ό ꡬ해 올 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "μƒˆλ‘œ λ§Œλ“€κ³  μžˆλŠ” λΈŒλžœμΉ˜μ—μ„œ 쀑지할 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "%s을(λ₯Ό) μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "%s을(λ₯Ό) 읽을 수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "μ˜ˆμƒμΉ˜ λͺ»ν•˜κ²Œ 파일이 λλ‚¬μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr "빼였기 전에 μ €μž₯ν•œ HEAD 파일이('%s') μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "%s에 ν¬λ§€νŒ…ν•  수 μ—†μŠ΅λ‹ˆλ‹€."
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%s: %s 컀밋을 빼올 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%s: 잘λͺ»λœ 리비전"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "졜초의 컀밋을 되돌릴 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr "빈 ν—€λ“œλ‘œ 컀밋을 빼올 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "%s을(λ₯Ό) μ½λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "μ˜€ν”„μ…‹μ΄ 묢음 파일 μ•žμž…λ‹ˆλ‹€ (망가진 .idx?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "μ˜€ν”„μ…‹μ΄ %s의 묢음 인덱슀 μ‹œμž‘λ³΄λ‹€ μ•žμž…λ‹ˆλ‹€ (망가진 인덱슀?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "μ˜€ν”„μ…‹μ΄ %s의 묢음 인덱슀 끝보닀 λ’€μž…λ‹ˆλ‹€ (망가진 인덱슀?)"
+
+#: sha1_name.c:462
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"
@@ -1594,61 +1715,85 @@ msgstr ""
"확인해 λ³΄μ‹œκ³  잘λͺ» λ§Œλ“€μ–΄μ§„ 것이면 μ§€μš°μ‹­μ‹œμ˜€. 이 λ©”μ‹œμ§€λ₯Ό 보고 μ‹Άμ§€\n"
"μ•ŠμœΌλ©΄ \"git config advice.objectNameWarning false\" λͺ…령을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€."
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
"λ³‘ν•©ν•˜μ§€ μ•Šμ€ .gitmodulesλ₯Ό λ°”κΏ€ 수 μ—†μŠ΅λ‹ˆλ‹€. 병합 μΆ©λŒμ„ λ¨Όμ € ν•΄κ²°ν•˜μ‹­μ‹œμ˜€"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "κ²½λ‘œκ°€ %s일 λ•Œ .gitmodules의 μ„Ήμ…˜μ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr ".gitmodules ν•­λͺ© %s을(λ₯Ό) μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "%s에 λŒ€ν•œ .gitmodules ν•­λͺ©μ„ μ œκ±°ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "μ—…λ°μ΄νŠΈν•œ .gitmodulesλ₯Ό 컀밋할 μ‚¬ν•­μœΌλ‘œ ν‘œμ‹œν•˜λŠ”λ° μ‹€νŒ¨"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "%sμ—μ„œ core.worktreeλ₯Ό μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
+msgid "running trailer command '%s' failed"
+msgstr "트레일러 λͺ…λ Ή '%s' μ‹€ν–‰ μ‹€νŒ¨"
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "μ•Œ 수 μ—†λŠ” κ°’ '%s', ν‚€ '%s'"
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "%s이(κ°€) μ—¬λŸ¬κ°œμž…λ‹ˆλ‹€"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "트레일러 '%.*s'μ—μ„œ 빈 트레일러 토큰"
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "'%s' μž…λ ₯ νŒŒμΌμ„ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "%s에 λŒ€ν•΄ stat()ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "'%s' 파일이 일반 파일이 μ•„λ‹™λ‹ˆλ‹€"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "μ‚¬μš©μžκ°€ %s νŒŒμΌμ— μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "μž„μ‹œ νŒŒμΌμ„ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€: %s"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "μž„μ‹œ 파일 이름을 '%s'(으)둜 λ°”κΏ€ 수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "%s 레퍼런슀λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -1686,47 +1831,47 @@ msgstr "잘λͺ»λœ 포트 번호"
msgid "invalid '..' path segment"
msgstr "κ²½λ‘œμ—μ„œ 잘λͺ»λœ '..' λΆ€λΆ„"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "읽기와 μ“°κΈ°μš©μœΌλ‘œ '%s'을(λ₯Ό) μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "'%s'을(λ₯Ό) μ“°κΈ°μš©μœΌλ‘œ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "'%s'을(λ₯Ό) 읽기용으둜 μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "'%s'에 μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "'%s'에 μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "ν˜„μž¬ μž‘μ—… 디렉터리λ₯Ό κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "%s을(λ₯Ό) μ“°κΈ°μš©μœΌλ‘œ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "%s에 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "%s을(λ₯Ό) 닫을 수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -2185,9 +2330,13 @@ msgstr "μ—†μŒ"
#: wt-status.c:1677 wt-status.c:1685
msgid "behind "
-msgstr "뒀에: "
+msgstr "λ‹€μŒ 뒀에: "
+
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "λ‹€μŒ μ•žμ—: "
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "'%s' 파일 μ‚­μ œμ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
@@ -2214,7 +2363,7 @@ msgstr "'%s' 제거\n"
msgid "Unstaged changes after refreshing the index:"
msgstr "인덱슀λ₯Ό μƒˆλ‘œ 고친 λ‹€μŒ 컀밋 ν‘œμ‹œν•˜μ§€ μ•Šμ€ λ³€κ²½ 사항:"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "인덱슀λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -2249,15 +2398,15 @@ msgstr "'%s'을(λ₯Ό) μ μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
msgid "The following paths are ignored by one of your .gitignore files:\n"
msgstr "λ‹€μŒ κ²½λ‘œλŠ” .gitignore 파일 쀑 ν•˜λ‚˜ λ•Œλ¬Έμ— λ¬΄μ‹œν•©λ‹ˆλ‹€:\n"
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "κ°€μ§œλ‘œ μ‹€ν–‰"
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "μžμ„Ένžˆ ν‘œμ‹œ"
@@ -2265,7 +2414,7 @@ msgstr "μžμ„Ένžˆ ν‘œμ‹œ"
msgid "interactive picking"
msgstr "λŒ€ν™”μ‹μœΌλ‘œ κ³ λ¦…λ‹ˆλ‹€"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "λŒ€ν™”μ‹μœΌλ‘œ λ³€κ²½λœ 뢀뢄을 μ„ νƒν•©λ‹ˆλ‹€"
@@ -2333,136 +2482,131 @@ msgstr "아무 것도 μ§€μ •ν•˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ 아무 것도 μΆ”κ°€ν•˜μ§€ μ•
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "'git add .' λͺ…령을 μ‹€ν–‰ν•˜λ €κ³  ν•œ 것 μ•„λ‹ˆμ—ˆμŠ΅λ‹ˆκΉŒ?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "인덱슀 파일이 μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "μƒˆ 인덱슀 νŒŒμΌμ— μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "%s에 λŒ€ν•΄ stat()ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "'%s'μ—μ„œ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "μž‘μ„±μž 슀크립트λ₯Ό νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "applypatch-msg ν›… λ•Œλ¬Έμ— '%s'이(κ°€) μ‚­μ œλ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr "잘λͺ»λœ ν˜•μ‹μ˜ μž…λ ₯ 쀄: '%s'."
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "'%s'μ—μ„œ '%s'(으)둜 λ…ΈνŠΈλ₯Ό λ³΅μ‚¬ν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "fseek μ‹€νŒ¨"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "'%s'을(λ₯Ό) 읽기용으둜 μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "'%s'을(λ₯Ό) μ“°κΈ°μš©μœΌλ‘œ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "'%s' 패치λ₯Ό νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr "ν•œλ²ˆμ— ν•˜λ‚˜μ˜ StGIT 패치 μ‹œλ¦¬μ¦ˆλ§Œ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "μ‹œκ°μ΄ 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "Date 쀄이 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "μ‹œκ°„λŒ€ μ˜€ν”„μ…‹μ΄ 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "패치 ν˜•μ‹ 검색이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "'%s' 디렉터리 λ§Œλ“€κΈ°κ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "패치λ₯Ό μͺΌκ°œλŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "인덱슀 νŒŒμΌμ„ μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr "이 문제λ₯Ό ν•΄κ²°ν–ˆμ„ λ•Œ \"%s --continue\"λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr "이 패치λ₯Ό κ±΄λ„ˆλ›°λ €λ©΄, κ·Έ λŒ€μ‹  \"%s --skip\"을 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr ""
"μ›λž˜ 브랜치λ₯Ό λ³΅κ΅¬ν•˜κ³  패치 μ μš©μ„ μ€‘μ§€ν•˜λ €λ©΄ \"%s --abort\"λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "νŒ¨μΉ˜κ°€ λΉ„μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 잘λͺ» μͺΌκ°œμ§€μ§€ μ•Šμ•˜λ‚˜μš”?"
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "잘λͺ»λœ 신원 쀄: %s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "%s 컀밋을 νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr "μ €μž₯μ†Œμ— 3-λ°©ν–₯ λ³‘ν•©μœΌλ‘œ λŒ€μ‹ ν•  λ•Œ ν•„μš”ν•œ 블둭이 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr "인덱슀 정보λ₯Ό μ‚¬μš©ν•΄ κΈ°λ³Έ 트리λ₯Ό λ‹€μ‹œ λ§Œλ“­λ‹ˆλ‹€..."
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
@@ -2470,38 +2614,38 @@ msgstr ""
"패치λ₯Ό 직접 νŽΈμ§‘ν•˜μ…¨μŠ΅λ‹ˆκΉŒ?\n"
"이 νŒ¨μΉ˜λŠ” μΈλ±μŠ€μ— 기둝된 λΈ”λ‘­μ—λŠ” μ μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr "베이슀 패치 적용 및 3-λ°©ν–₯ λ³‘ν•©μœΌλ‘œ λŒ€μ‹ ν•©λ‹ˆλ‹€..."
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "λ³€κ²½ μ‚¬ν•­μ—μ„œ λ³‘ν•©ν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "git write-treeκ°€ 트리λ₯Ό μ“°λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "빈 컀밋 내역에 λŒ€ν•΄ μ μš©ν•©λ‹ˆλ‹€"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "컀밋 였브젝트λ₯Ό μ“°λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "λ‹€μ‹œ μ‹œμž‘ν•  수 μ—†μŠ΅λ‹ˆλ‹€: %s이(κ°€) μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr ""
"터미널에 ν‘œμ€€ μž…λ ₯이 μ—°κ²°λ˜μ§€ μ•Šμ€ μƒνƒœμ—μ„œ λŒ€ν™”ν˜•μœΌλ‘œ μ‹€ν–‰ν•  수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "컀밋 본문은:"
@@ -2509,35 +2653,35 @@ msgstr "컀밋 본문은:"
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr "적용? 예[y]/μ•„λ‹ˆμ˜€[n]/νŽΈμ§‘[e]/패치 보기[v]/λͺ¨λ‘ 적용[a]: "
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "λ³€κ²½λœ 인덱슀: 패치λ₯Ό μ μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€ (dirty: %s)"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "μ μš©ν•˜λŠ” 쀑: %.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "λ³€κ²½ 사항 μ—†μŒ -- νŒ¨μΉ˜κ°€ 이미 μ μš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "νŒ¨μΉ˜κ°€ %s %.*s μœ„μΉ˜μ—μ„œ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "μ‹€νŒ¨ν•œ 패치의 볡사본이 λ‹€μŒ μœ„μΉ˜μ— μžˆμŠ΅λ‹ˆλ‹€: %s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
@@ -2547,7 +2691,7 @@ msgstr ""
"μ»€λ°‹μœΌλ‘œ ν‘œμ‹œν•  사항이 남아 μžˆμ§€ μ•ŠμœΌλ©΄, 이미 같은 νŒ¨μΉ˜μ—μ„œ 적용된\n"
"경우일 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 그런 κ²½μš°μ—λŠ” 이 패치λ₯Ό κ±΄λ„ˆλ›°λ©΄ λ©λ‹ˆλ‹€."
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
@@ -2555,17 +2699,17 @@ msgstr ""
"μΈλ±μŠ€μ— λ³‘ν•©ν•˜μ§€ μ•Šμ€ κ²½λ‘œκ°€ 남아 μžˆμŠ΅λ‹ˆλ‹€.\n"
"'git add' μ‚¬μš©μ„ μžŠμ§€ μ•ŠμœΌμ…¨μŠ΅λ‹ˆκΉŒ?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "'%s' 였브젝트λ₯Ό νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "인덱슀 μ§€μš°κΈ°μ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
@@ -2573,155 +2717,155 @@ msgstr ""
"λ§ˆμ§€λ§‰ 'am' μ‹€νŒ¨ 이후 HEADλ₯Ό μ˜κΈ΄ 것 κ°™μŠ΅λ‹ˆλ‹€.\n"
"ORIG_HEAD둜 λ˜λŒλ¦¬μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "--patch-format μ˜΅μ…˜μ— λŒ€ν•΄ 잘λͺ»λœ κ°’: %s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<μ˜΅μ…˜>] [(<mbox>|<Maildir>)...]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<μ˜΅μ…˜>] (--continue | --skip | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "λŒ€ν™”ν˜•μœΌλ‘œ μ‹€ν–‰ν•©λ‹ˆλ‹€"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "아무 λ™μž‘λ„ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ (κ³Όκ±°λΆ€ν„° μžˆμ—ˆλ˜ μ˜΅μ…˜)"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "ν•„μš”ν•˜λ©΄ 3-λ°©ν–₯ λ³‘ν•©μœΌλ‘œ λŒ€μ‹ ν•˜λ„λ‘ ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "κ°„λž΅νžˆ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr "컀밋 λ©”μ‹œμ§€μ— Signed-off-by 쀄을 λ‚¨κΉλ‹ˆλ‹€"
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "UTF-8 μΈμ½”λ”©μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’)"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "git-mailinfo에 -k μ˜΅μ…˜μ„ μ”λ‹ˆλ‹€"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "git-mailinfo에 -b μ˜΅μ…˜μ„ μ”λ‹ˆλ‹€"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "git-mailinfo에 -m μ˜΅μ…˜μ„ μ”λ‹ˆλ‹€"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr "mbox ν˜•μ‹μ— λŒ€ν•΄ git-mailsplit에 --keep-cr μ˜΅μ…˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr ""
"am.keepcr에 λ¬΄κ΄€ν•˜κ²Œ git-mailsplit에 --keep-cr μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "μ ˆμ·¨μ„  μ•žμ˜ λͺ¨λ“  사항을 λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "λ™μž‘"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "git-apply에 λ„˜κΉλ‹ˆλ‹€"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "μ΅œμƒμœ„"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "경둜"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185
#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
#: parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "n"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "개수"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "ν˜•μ‹"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "패치의 ν˜•μ‹"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr "패치 μ‹€νŒ¨κ°€ λ°œμƒν–ˆμ„ λ•Œ 였λ₯˜ λ©”μ‹œμ§€ λŒ€μ‹  μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "μΆ©λŒμ„ ν•΄κ²°ν•œ λ‹€μŒ 패치 μ μš©μ„ κ³„μ†ν•©λ‹ˆλ‹€"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr "--continue μ˜΅μ…˜κ³Ό 동일"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "ν˜„μž¬ 패치 κ±΄λ„ˆλ›°κΈ°"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr "μ›λž˜ 브랜치λ₯Ό λ³΅κ΅¬ν•˜κ³  패치 적용 μž‘μ—…μ„ μ€‘μ§€ν•©λ‹ˆλ‹€."
# NOTE: μ˜΅μ…˜μ˜ μ˜λ―ΈλŠ” 이게 λ§žλ‹€. μ›λ¬Έμ—μ„œλŠ” μ‚¬μš©μžκ°€
# --committer-date-is-author-dateλΌλŠ” μ˜΅μ…˜μ„ 보고 의미λ₯Ό μ•Œ 수 μžˆλ‹€κ³  κ°€μ •ν•˜κ³  μžˆλ‹€.
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "컀미터 μ‹œκ°μ„ μž‘μ„±μž μ‹œκ°μœΌλ‘œ λ„£μŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "ν˜„μž¬ μ‹œκ°μ„ μž‘μ„±μž μ‹œκ°μœΌλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr "ν‚€-ID"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "GPG μ„œλͺ… 컀밋"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "(git-rebaseλ₯Ό μœ„ν•œ λ‚΄λΆ€ μš©λ„)"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
@@ -2729,16 +2873,16 @@ msgstr ""
"-b/--binary μ˜΅μ…˜μ€ 였랜 μ‹œκ°„ λ™μ•ˆ 아무 λ™μž‘λ„ ν•˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ, 이\n"
"μ˜΅μ…˜μ€ 제거될 μ˜ˆμ •μž…λ‹ˆλ‹€. 이제 μ‚¬μš©ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€."
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "인덱슀 읽기에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr "이전 리베이슀 디렉터리 %s이(κ°€) 아직 있고 mboxλ₯Ό μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
@@ -2747,7 +2891,7 @@ msgstr ""
"λ²—μ–΄λ‚œ %s 디렉터리가 λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.\n"
"μ œκ±°ν•˜λ €λ©΄ \"git am --abort\"λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€."
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr "ν•΄μ†Œ μž‘μ—…μ΄ μ§„ν–‰ μ€‘μž…λ‹ˆλ‹€. λ‹€μ‹œ μ‹œμž‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
@@ -2783,17 +2927,21 @@ msgstr "패치의 %d번 쀄에 파일 이름을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€"
#: builtin/apply.c:940
#, c-format
msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr "git apply: 잘λͺ»λœ git-diff - %2$d번 μ€„μ—μ„œ /dev/null을 κΈ°λŒ€ν–ˆμ§€λ§Œ, '%1$s'이(κ°€) μ™”μŠ΅λ‹ˆλ‹€"
+msgstr ""
+"git apply: 잘λͺ»λœ git-diff - %2$d번 μ€„μ—μ„œ /dev/null을 κΈ°λŒ€ν–ˆμ§€λ§Œ, '%1$s'이"
+"(κ°€) μ™”μŠ΅λ‹ˆλ‹€"
#: builtin/apply.c:944
#, c-format
msgid "git apply: bad git-diff - inconsistent new filename on line %d"
-msgstr "git apply: 잘λͺ»λœ git-diff - %d번 쀄에 μƒˆ 파일 이름이 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"git apply: 잘λͺ»λœ git-diff - %d번 쀄에 μƒˆ 파일 이름이 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
#: builtin/apply.c:945
#, c-format
msgid "git apply: bad git-diff - inconsistent old filename on line %d"
-msgstr "git apply: 잘λͺ»λœ git-diff - %d번 쀄에 μ˜ˆμ „ 파일 이름이 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"git apply: 잘λͺ»λœ git-diff - %d번 쀄에 μ˜ˆμ „ 파일 이름이 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
#: builtin/apply.c:952
#, c-format
@@ -3089,130 +3237,130 @@ msgstr "인식할 수 μ—†λŠ” μž…λ ₯"
msgid "unable to read index file"
msgstr "인덱슀 νŒŒμΌμ„ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "μ£Όμ–΄μ§„ κ²½λ‘œμ— ν•΄λ‹Ήν•˜λŠ” λ³€κ²½ 사항을 μ μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "μ£Όμ–΄μ§„ κ²½λ‘œμ— ν•΄λ‹Ήν•˜λŠ” λ³€κ²½ 사항을 μ μš©ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr "전톡적인 diff 경둜 μ•žμ˜ <개수>개의 μ•ž μŠ¬λž˜μ‹œ(/)λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "νŒ¨μΉ˜μ—μ„œ μΆ”κ°€ν•˜λŠ” νŒŒμΌμ„ λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr "패치λ₯Ό μ μš©ν•˜λŠ” λŒ€μ‹ , μž…λ ₯에 λŒ€ν•œ diffstat을 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr "μ‹­μ§„μˆ˜λ‘œ μΆ”κ°€ 및 μ‚­μ œν•œ 쀄 수λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr "패치λ₯Ό μ μš©ν•˜λŠ” λŒ€μ‹ , μž…λ ₯에 λŒ€ν•œ μš”μ•½μ„ 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr "패치λ₯Ό μ μš©ν•˜λŠ” λŒ€μ‹ , 패치λ₯Ό 적용 κ°€λŠ₯ν•œμ§€ ν™•μΈν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr "ν˜„μž¬ μΈλ±μŠ€μ—μ„œ νŒ¨μΉ˜κ°€ 적용 κ°€λŠ₯ν•œμ§€ ν™•μΈν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "μž‘μ—… 폴더λ₯Ό λ°”κΎΈμ§€ μ•Šκ³  패치λ₯Ό μ μš©ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr "μž‘μ—… μ˜μ—­ λ°–μ˜ νŒŒμΌμ„ λ°”κΎΈλŠ” 패치λ₯Ό ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr "그리고 νŒ¨μΉ˜λ„ μ μš©ν•©λ‹ˆλ‹€ (--stat/--summary/--check μ˜΅μ…˜κ³Ό 같이 μ‚¬μš©)"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr "패치λ₯Ό μ μš©ν•˜μ§€ μ•ŠμœΌλ©΄ 3-λ°©ν–₯ 병합을 μ‹œλ„ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr "λ‚΄μž₯ 인덱슀 정보λ₯Ό μ‚¬μš©ν•΄ μž„μ‹œ 인덱슀λ₯Ό λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr "경둜λ₯Ό NUL 문자둜 κ΅¬λΆ„ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr "μ΅œμ†Œν•œ <n>쀄이 μ»¨ν…μŠ€νŠΈμ™€ μΌμΉ˜ν•˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr "곡백 였λ₯˜κ°€ μžˆλŠ” μΆ”κ°€λκ±°λ‚˜ μˆ˜μ •λœ 쀄을 μ°ΎμŠ΅λ‹ˆλ‹€"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "μ»¨ν…μŠ€νŠΈλ₯Ό 찾을 λ•Œ 곡백 λ³€κ²½ 사항을 λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "패치λ₯Ό λ°˜λŒ€ μˆœμ„œλ‘œ μ μš©ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "μ΅œμ†Œν•œμ˜ μ»¨ν…μŠ€νŠΈ ν•œ 쀄도 없이 μ μš©ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr "κ±°λΆ€λœ 패치 뢀뢄을 λŒ€μ‘λ˜λŠ” *.rej νŒŒμΌμ— λ‚¨κ²¨λ‘‘λ‹ˆλ‹€"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "패치 뢀뢄이 겹쳐도 ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr "파일 끝에 μ€„λ°”κΏˆμ΄ λΉ μ‘ŒμŒμ„ 잘λͺ» κ²€μƒ‰ν•œ κ²½μš°μ— λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr "패치 λΆ€λΆ„μ˜ ν—€λ”μ˜ 쀄 수λ₯Ό μ‹ μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "λͺ¨λ“  파일 이름에 <μ΅œμƒμœ„>λ₯Ό μ•žμ— λΆ™μž…λ‹ˆλ‹€"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr "μ €μž₯μ†Œ λ°–μ—μ„œ --3way μ˜΅μ…˜ μ‚¬μš©"
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr "μ €μž₯μ†Œ λ°–μ—μ„œ --index μ˜΅μ…˜ μ‚¬μš©"
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr "μ €μž₯μ†Œ λ°–μ—μ„œ --cached μ˜΅μ…˜ μ‚¬μš©"
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "'%s' 패치λ₯Ό μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
msgstr[0] "곡백 였λ₯˜ %d개λ₯Ό λ„˜μ–΄κ°‘λ‹ˆλ‹€"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3265,103 +3413,111 @@ msgstr "'git bisect next'λ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€"
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr "ν˜„μž¬ 컀밋을 κ°€μ Έμ˜€λŠ” λŒ€μ‹  BISECT_HEADλ₯Ό μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<μ˜΅μ…˜>] [<리비전-μ˜΅μ…˜>] [<리비전>] [--] <파일>"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<리비전-μ˜΅μ…˜>은 git-rev-list(1)에 μ„€λͺ…λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "λΈ”λ ˆμž„ 쀄"
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
-msgstr "blame ν•­λͺ©μ„ 찾자마자 μ μ§„μ μœΌλ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€"
+msgstr "λΈ”λ ˆμž„ ν•­λͺ©μ„ 찾자마자 μ μ§„μ μœΌλ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr "κ°€μž₯자리 컀밋에 λŒ€ν•΄ 빈 SHA-1을 ν‘œμ‹œν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’: 꺼짐)"
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr "μ΅œμƒμœ„ 컀밋을 κ°€μž₯자리 μ»€λ°‹μœΌλ‘œ μ·¨κΈ‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ (κΈ°λ³Έκ°’: 꺼짐)"
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "μž‘μ—… λΉ„μš© 톡계λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "κ°•μ œλ‘œ μ§„ν–‰ 상황을 ν‘œμ‹œν•©λ‹ˆλ‹€"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
-msgstr "blame ν•­λͺ©μ— λŒ€ν•΄ 좜λ ₯ 점수λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
+msgstr "λΈ”λ ˆμž„ ν•­λͺ©μ— λŒ€ν•΄ 좜λ ₯ 점수λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "μ›λž˜ 파일 이름 ν‘œμ‹œ (κΈ°λ³Έκ°’: μžλ™)"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "μ›λž˜ 쀄 번호 ν‘œμ‹œ (κΈ°λ³Έκ°’: ν•˜μ§€ μ•ŠμŒ)"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "컴퓨터 처리용으둜 μ„€κ³„λœ ν˜•μ‹μœΌλ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr "μ€„λ§ˆλ‹€ 컀밋 정보가 ν‘œμ‹œλ˜λŠ” μ‚¬μš©μžμš© ν˜•μ‹μœΌλ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr "git-annotate와 λ™μΌν•œ ν˜•μ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’: 꺼짐)"
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "λ‚΄λΆ€ ν˜•μ‹μœΌλ‘œ μ‹œκ°μ„ ν‘œμ‹œν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’: 꺼짐)"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "길게 컀밋 SHA1을 ν‘œμ‹œν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’: 꺼짐)"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr "μž‘μ„±μž 이름과 μ‹œκ°μ„ ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ (κΈ°λ³Έκ°’: 꺼짐)"
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr "μž‘μ„±μž 이름 λŒ€μ‹ μ— μ „μžλ©”μΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’: 꺼짐)"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "곡백 문자 차이점을 λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr "더 μΌμΉ˜ν•˜λŠ” ν•­λͺ©μ„ μ°ΎλŠ”λ° 더 μ‹œκ°„μ„ μ†Œλͺ¨ν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr "git-rev-listλ₯Ό ν˜ΈμΆœν•˜λŠ” λŒ€μ‹  <파일>μ—μ„œ 리비전을 μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "<파일>의 λ‚΄μš©μ„ μ΅œμ’… μ΄λ―Έμ§€λ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "점수"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "파일 내뢀와 파일 μ‚¬μ΄μ˜ λ³΅μ‚¬λœ 쀄을 μ°ΎμŠ΅λ‹ˆλ‹€"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "파일 내뢀와 파일 μ‚¬μ΄μ˜ μ˜κ²¨μ§„ 쀄을 μ°ΎμŠ΅λ‹ˆλ‹€"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "n,m"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr "n,m쀄 (1번 쀄뢀터 μ‹œμž‘) μ‚¬μ΄μ˜ λ²”μœ„λ§Œ 처리"
@@ -3371,7 +3527,7 @@ msgstr "n,m쀄 (1번 쀄뢀터 μ‹œμž‘) μ‚¬μ΄μ˜ λ²”μœ„λ§Œ 처리"
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "4λ…„ 11달 μ „"
@@ -3569,214 +3725,223 @@ msgstr "브랜치 이름을 %s(으)둜 λ°”κΎΈμ§€λ§Œ, HEADλ₯Ό μ—…λ°μ΄νŠΈν•˜μ§€
msgid "Branch is renamed, but update of config-file failed"
msgstr "브랜치의 이름을 λ°”κΎΈμ§€λ§Œ, config-file μ—…λ°μ΄νŠΈκ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "브랜치 μ„€λͺ… μ„œμ‹μ„ μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "일반 μ˜΅μ…˜"
# FIXME: give twice?
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr "ν•΄μ‹œμ™€ 제λͺ©μ„ ν‘œμ‹œν•˜κ³ , μ—…μŠ€νŠΈλ¦Ό λΈŒλžœμΉ˜μ— λŒ€ν•œ μœ„μΉ˜λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "μ—¬λŸ¬κ°€μ§€ μ•ˆλ‚΄ λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "좔적 λͺ¨λ“œλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€ (git-pull(1) μ°Έκ³ )"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "μ—…μŠ€νŠΈλ¦Ό 정보λ₯Ό λ°”κΏ‰λ‹ˆλ‹€"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "μ—¬λŸ¬ μƒ‰μœΌλ‘œ 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "리λͺ¨νŠΈ 좔적 λΈŒλžœμΉ˜μ— λŒ€ν•΄ λ™μž‘ν•©λ‹ˆλ‹€"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "컀밋이 μžˆλŠ” 브랜치만 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "νŠΉμ • git-branch λ™μž‘:"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "리λͺ¨νŠΈμ™€ 둜컬의 브랜치 λͺ©λ‘μ„ λͺ¨λ‘ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "μ™„μ „νžˆ λ³‘ν•©λœ 브랜치λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "브랜치λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€ (λ³‘ν•©λ˜μ§€ μ•Šμ•˜λ”λΌλ„)"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "λΈŒλžœμΉ˜μ™€ κ·Έ reflogλ₯Ό μ˜κΈ°κ±°λ‚˜ 이름을 λ°”κΏ‰λ‹ˆλ‹€"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr "λŒ€μƒμ΄ 이미 μžˆλ”λΌλ„ 브랜치λ₯Ό μ˜κΈ°κ±°λ‚˜ 이름을 λ°”κΏ‰λ‹ˆλ‹€"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "브랜치 이름 λͺ©λ‘μ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "브랜치의 reflogλ₯Ό λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "브랜치의 μ„€λͺ…을 νŽΈμ§‘ν•©λ‹ˆλ‹€"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "κ°•μ œλ‘œ λ§Œλ“€κ³ , μ˜κΈ°κ±°λ‚˜ 이름을 λ°”κΎΈκ³ , μ‚­μ œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "λ³‘ν•©λ˜λŠ” 브랜치만 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "λ³‘ν•©λ˜μ§€ μ•ŠλŠ” 브랜치만 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "λͺ©λ‘μ„ μ—¬λŸ¬ μ—΄λ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "ν‚€"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "μ •λ ¬ν•œ 기쀀이 λ˜λŠ” ν•„λ“œ 이름"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "였브젝트"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "ν•΄λ‹Ή 였브젝트의 브랜치만 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "HEADλ₯Ό μ˜¬λ°”λ₯Έ 레퍼런슀둜 κ΅¬ν•΄λ‚΄λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "레퍼런슀/ν—€λ“œ μ•„λž˜μ— HEADκ°€ μ—†μŠ΅λ‹ˆλ‹€!"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "--column 및 --verbose μ˜΅μ…˜μ€ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "브랜치 이름이 ν•„μš”ν•©λ‹ˆλ‹€"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr "λΆ„λ¦¬λœ HEAD에 λŒ€ν•œ μ„€λͺ…을 λΆ€μ—¬ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "μ—¬λŸ¬ λΈŒλžœμΉ˜μ— λŒ€ν•œ μ„€λͺ…을 νŽΈμ§‘ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "아직 '%s' λΈŒλžœμΉ˜μ— 컀밋이 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "이름이 '%s'인 λΈŒλžœμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "이름 λ°”κΎΈκΈ° μž‘μ—…μ— λŒ€ν•΄ λΈŒλžœμΉ˜κ°€ λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "μƒˆ μ—…μŠ€νŠΈλ¦Όμ„ μ„€μ •ν•˜λŠ”λ° λΈŒλžœμΉ˜κ°€ λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
-msgstr "HEAD의 μ—…μŠ€νŠΈλ¦Όμ„ %s(으)둜 μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–€ λΈŒλžœμΉ˜λ„ 가리킀지 μ•ŠμŠ΅λ‹ˆλ‹€."
+msgstr ""
+"HEAD의 μ—…μŠ€νŠΈλ¦Όμ„ %s(으)둜 μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–€ λΈŒλžœμΉ˜λ„ 가리킀지 μ•ŠμŠ΅λ‹ˆ"
+"λ‹€."
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "그런 λΈŒλžœμΉ˜κ°€ ('%s') μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "'%s' λΈŒλžœμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr "μ—…μŠ€νŠΈλ¦Ό 섀정을 ν•΄μ œν•˜λŠ”λ° λΈŒλžœμΉ˜κ°€ λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
-msgstr "HEAD의 μ—…μŠ€νŠΈλ¦Ό 섀정을 ν•΄μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–€ λΈŒλžœμΉ˜λ„ 가리킀지 μ•ŠμŠ΅λ‹ˆλ‹€."
+msgstr ""
+"HEAD의 μ—…μŠ€νŠΈλ¦Ό 섀정을 ν•΄μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–€ λΈŒλžœμΉ˜λ„ 가리킀지 μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "'%s' λΈŒλžœμΉ˜μ— μ—…μŠ€νŠΈλ¦Ό 정보가 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "'HEAD'λ₯Ό μˆ˜λ™μœΌλ‘œ λ§Œλ“œλŠ” 건 μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
-msgstr "'git branch'에 λŒ€ν•΄ -a 및 -r μ˜΅μ…˜μ€ 브랜치 이름과 같이 μ“°λ©΄ μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"'git branch'에 λŒ€ν•΄ -a 및 -r μ˜΅μ…˜μ€ 브랜치 이름과 같이 μ“°λ©΄ μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅"
+"λ‹ˆλ‹€"
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
"track or --set-upstream-to\n"
-msgstr "--set-upstream μ˜΅μ…˜μ€ 더 이상 μ‚¬μš©λ˜μ§€ μ•Šκ³  제거될 μ˜ˆμ •μž…λ‹ˆλ‹€. --track λ˜λŠ” --set-upstream-to μ˜΅μ…˜μ„ μ‚¬μš©ν•΄ λ³΄μ‹­μ‹œμ˜€\n"
+msgstr ""
+"--set-upstream μ˜΅μ…˜μ€ 더 이상 μ‚¬μš©λ˜μ§€ μ•Šκ³  제거될 μ˜ˆμ •μž…λ‹ˆλ‹€. --track λ˜λŠ” "
+"--set-upstream-to μ˜΅μ…˜μ„ μ‚¬μš©ν•΄ λ³΄μ‹­μ‹œμ˜€\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
"If you wanted to make '%s' track '%s', do this:\n"
"\n"
-msgstr "\n'%s'을(λ₯Ό) λ§Œλ“€κ³  '%s'을(λ₯Ό) μΆ”μ ν•˜κ²Œ ν•˜λ €λ©΄, λ‹€μŒμ„ ν•˜μ‹­μ‹œμ˜€:\n"
+msgstr ""
+"\n"
+"'%s'을(λ₯Ό) λ§Œλ“€κ³  '%s'을(λ₯Ό) μΆ”μ ν•˜κ²Œ ν•˜λ €λ©΄, λ‹€μŒμ„ ν•˜μ‹­μ‹œμ˜€:\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr " git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -3848,7 +4013,8 @@ msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ μž…λ ₯된 였브젝트의 정보λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
#: builtin/cat-file.c:484
msgid "follow in-tree symlinks (used with --batch or --batch-check)"
-msgstr "트리 λ‚΄λΆ€μ˜ 심볼릭 링크λ₯Ό λ”°λΌκ°‘λ‹ˆλ‹€ (--batch λ˜λŠ” --batch-check와 같이 μ‚¬μš©)"
+msgstr ""
+"트리 λ‚΄λΆ€μ˜ 심볼릭 링크λ₯Ό λ”°λΌκ°‘λ‹ˆλ‹€ (--batch λ˜λŠ” --batch-check와 같이 μ‚¬μš©)"
#: builtin/cat-file.c:486
msgid "show all objects with --batch or --batch-check"
@@ -3870,7 +4036,7 @@ msgstr "νŒŒμΌμ— μ„€μ •λœ λͺ¨λ“  속성을 ν‘œμ‹œν•©λ‹ˆλ‹€"
msgid "use .gitattributes only from the index"
msgstr "μΈλ±μŠ€μ—μ„œλ§Œ .gitattributesλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 파일 이름을 μ½μŠ΅λ‹ˆλ‹€"
@@ -3878,7 +4044,7 @@ msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 파일 이름을 μ½μŠ΅λ‹ˆλ‹€"
msgid "terminate input and output records by a NUL character"
msgstr "NUL 문자λ₯Ό κΈ°μ€€μœΌλ‘œ 자료 μž…λ ₯ 및 좜λ ₯을 멈μΆ₯λ‹ˆλ‹€"
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "μ§„ν–‰ 상황 ν‘œμ‹œλ₯Ό ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
@@ -3931,49 +4097,53 @@ msgstr "μ—°λ½μ²˜λ₯Ό νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€: %s"
msgid "no contacts specified"
msgstr "μ—°λ½μ²˜λ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<μ˜΅μ…˜>] [--] [<파일>...]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "μŠ€ν…Œμ΄μ§€λŠ” 1μ—μ„œ 3 μ‚¬μ΄μ˜ κ°’μ΄κ±°λ‚˜ all이어야 ν•©λ‹ˆλ‹€"
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "인덱슀의 λͺ¨λ“  νŒŒμΌμ„ κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "κΈ°μ‘΄ νŒŒμΌμ„ κ°•μ œλ‘œ λμ–΄ μ”λ‹ˆλ‹€"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr "κΈ°μ‘΄ 파일과 μΈλ±μŠ€μ— μ—†λŠ” νŒŒμΌμ— λŒ€ν•΄ κ²½κ³ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "μƒˆ νŒŒμΌμ„ κ°€μ Έμ˜€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "인덱슀 파일의 stat 정보λ₯Ό μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 경둜의 λͺ©λ‘μ„ μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "λ‚΄μš©μ„ μž„μ‹œ νŒŒμΌμ— μ”λ‹ˆλ‹€"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "λ¬Έμžμ—΄"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr "νŒŒμΌμ„ λ§Œλ“€ λ•Œ, μ•žμ— <λ¬Έμžμ—΄>을 λΆ™μž…λ‹ˆλ‹€"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "μ§€μ •ν•œ μŠ€ν…Œμ΄μ§€μ—μ„œ νŒŒμΌμ„ 볡사해 μ˜΅λ‹ˆλ‹€"
@@ -4053,37 +4223,41 @@ msgstr "'%s'에 λŒ€ν•΄ reflogν•  수 μ—†μŠ΅λ‹ˆλ‹€: %s\n"
msgid "HEAD is now at"
msgstr "HEAD의 ν˜„μž¬ μœ„μΉ˜λŠ”"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "HEADλ₯Ό μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "'%s' 브랜치 리셋\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "이미 '%s'에 μžˆμŠ΅λ‹ˆλ‹€\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "'%s' 브랜치둜 μ „ν™˜ν•˜κ³  λ¦¬μ…‹ν•©λ‹ˆλ‹€\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "μƒˆλ‘œ λ§Œλ“  '%s' 브랜치둜 μ „ν™˜ν•©λ‹ˆλ‹€\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "'%s' 브랜치둜 μ „ν™˜ν•©λ‹ˆλ‹€\n"
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " ... 그리고 %d개 더.\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4101,7 +4275,7 @@ msgstr[0] ""
"\n"
"%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4122,151 +4296,151 @@ msgstr[0] ""
" git branch <μƒˆ-브랜치-이름> %s\n"
"\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "리비전 walk에 λ‚΄λΆ€ 였λ₯˜"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "이전 HEAD μœ„μΉ˜λŠ”"
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "ν˜„μž¬ μœ„μΉ˜κ°€ λ§Œλ“€ μ˜ˆμ •μΈ λΈŒλžœμΉ˜μ— μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "ν•˜λ‚˜μ˜ 레퍼런슀만 μ§€μ •ν•΄μ•Ό ν•˜μ§€λ§Œ %d개λ₯Ό μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "잘λͺ»λœ 레퍼런슀: %s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "λ ˆνΌλŸ°μŠ€κ°€ νŠΈλ¦¬κ°€ μ•„λ‹™λ‹ˆλ‹€: %s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "브랜치λ₯Ό μ „ν™˜ν•˜λŠ”λ° 경둜λ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr "'%s' μ˜΅μ…˜μ€ 브랜치λ₯Ό μ „ν™˜ν•  λ•Œ μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "'%s' μ˜΅μ…˜μ€ '%s' μ˜΅μ…˜κ³Ό 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr "브랜치λ₯Ό 컀밋이 μ•„λ‹Œ '%s'(으)둜 μ „ν™˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "브랜치"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "μƒˆ 브랜치λ₯Ό λ§Œλ“€κ³  κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "브랜치λ₯Ό λ§Œλ“€κ±°λ‚˜ λ¦¬μ…‹ν•˜κ³  κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "μƒˆ λΈŒλžœμΉ˜μ— λŒ€ν•œ reflogλ₯Ό λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "μ§€μ •ν•œ μ»€λ°‹μ—μ„œ HEADλ₯Ό λΆ„λ¦¬ν•©λ‹ˆλ‹€"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "μƒˆ λΈŒλžœμΉ˜μ— λŒ€ν•œ μ—…μŠ€νŠΈλ¦Ό 정보λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "μƒˆ-브랜치"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "μƒμœ„ λΈŒλžœμΉ˜κ°€ μ—†λŠ” μƒˆ 브랜치"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr "λ³‘ν•©λ˜μ§€ μ•Šμ€ νŒŒμΌμ— λŒ€ν•΄ 우리μͺ½ 버전을 κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr "λ³‘ν•©λ˜μ§€ μ•Šμ€ νŒŒμΌμ— λŒ€ν•΄ μƒλŒ€νŽΈ 버전을 κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "κ°•μ œλ‘œ μ²΄ν¬μ•„μ›ƒν•©λ‹ˆλ‹€ (λ‘œμ»¬μ—μ„œ μˆ˜μ •ν•œ 사항을 λ²„λ¦½λ‹ˆλ‹€)"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "μƒˆ λΈŒλžœμΉ˜μ— λŒ€ν•΄ 3-λ°©ν–₯ 병합을 μˆ˜ν–‰ν•©λ‹ˆλ‹€"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "λ¬΄μ‹œν•˜λŠ” νŒŒμΌμ„ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’)"
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "μŠ€νƒ€μΌ"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr "좩돌 μŠ€νƒ€μΌ (merge λ˜λŠ” diff3)"
# FIXME: 의미 뢈λͺ…
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr "경둜λͺ…μ„Έλ₯Ό λ“œλ¬Έ ν•­λͺ©μ—λ§Œ μ œν•œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "'git checkout <μ—†λŠ”-브랜치>'에 λŒ€ν•΄ μΆ”μΈ‘ν•©λ‹ˆλ‹€"
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr "λ‹€λ₯Έ μž‘μ—…ν΄λ”μ— μ£Όμ–΄μ§„ λ ˆνΌλŸ°μŠ€κ°€ μžˆλŠ”μ§€ ν™•μΈν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "κ°•μ œλ‘œ μ§„ν–‰ 상황을 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "-b, -B 및 --orphan μ˜΅μ…˜μ€ μ„œλ‘œ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "--track μ˜΅μ…˜μ€ 브랜치 이름이 ν•„μš”ν•©λ‹ˆλ‹€"
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "브랜치 이름이 μ—†μŠ΅λ‹ˆλ‹€. -b μ˜΅μ…˜μ„ μ‚¬μš©ν•΄ λ³΄μ‹­μ‹œμ˜€"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "경둜 λͺ…μ„Έκ°€ 잘λͺ»λ˜μ—ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4275,12 +4449,12 @@ msgstr ""
"λ™μ‹œμ— 경둜λ₯Ό μ—…λ°μ΄νŠΈν•˜κ³  '%s' 브랜치둜 μ „ν™˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€.\n"
"컀밋을 확인할 수 μ—†λŠ” '%s'을(λ₯Ό) κ°€μ Έμ˜€λ €κ³  ν•˜μ…¨μŠ΅λ‹ˆκΉŒ?"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr "git checkout: --detach μ˜΅μ…˜μ€ 경둜 인자λ₯Ό λ°›μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ '%s'"
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4319,7 +4493,7 @@ msgstr "%s μ €μž₯μ†Œ κ±΄λ„ˆλ›Έ μ˜ˆμ •\n"
msgid "failed to remove %s"
msgstr "%s μ œκ±°μ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4331,7 +4505,7 @@ msgstr ""
"foo - μœ μΌν•œ 접두어에 ν•΄λ‹Ήν•˜λŠ” ν•­λͺ© 선택\n"
" - (빈 μž…λ ₯) μ„ νƒν•˜μ§€ μ•ŠμŒ"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4351,36 +4525,36 @@ msgstr ""
"* - λͺ¨λ“  ν•­λͺ© 선택\n"
" - (빈 μž…λ ₯) 선택 마침"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "어라라 (%s)?"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "λ¬΄μ‹œν•  νŒ¨ν„΄μ„ μž…λ ₯ν•˜μ‹­μ‹œμ˜€>> "
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "κ²½κ³ : λ‹€μŒμ— ν•΄λ‹Ήν•˜λŠ” ν•­λͺ©μ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "μ‚­μ œν•  ν•­λͺ©μ„ μ„ νƒν•˜μ‹­μ‹œμ˜€"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "%s μ œκ±°ν•©λ‹ˆκΉŒ [y/N]? "
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "끝."
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4398,215 +4572,236 @@ msgstr ""
"help - 이 ν™”λ©΄ ν‘œμ‹œ\n"
"? - ν”„λ‘¬ν”„νŠΈ 선택 도움말"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr "*** λͺ…λ Ή ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "무엇을 ν• κΉŒμš”"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] "λ‹€μŒ ν•­λͺ©μ„ μ œκ±°ν•  μ˜ˆμ •μž…λ‹ˆλ‹€:"
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "μ§€μšΈ 파일이 이제 μ—†μœΌλ―€λ‘œ λλƒ…λ‹ˆλ‹€."
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "μ œκ±°ν•  파일 이름을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "κ°•μ œ"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "λŒ€ν™”ν˜• μ§€μš°κΈ°"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "전체 디렉터리 제거"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "νŒ¨ν„΄"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "κ·œμΉ™μ„ λ¬΄μ‹œν•˜λ €λ©΄ <νŒ¨ν„΄>을 μΆ”κ°€ν•˜μ‹­μ‹œμ˜€"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "λ¬΄μ‹œν•œ νŒŒμΌλ„ 제거"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "λ¬΄μ‹œν•œ 파일만 제거"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "-x 및 -X μ˜΅μ…˜μ€ 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
-msgstr "clean.requireForceκ°€ true둜 μ„€μ •λ˜μ—ˆκ³  -i, -n, -f μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ„ μ“°μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ§€μš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"clean.requireForceκ°€ true둜 μ„€μ •λ˜μ—ˆκ³  -i, -n, -f μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ„ μ“°μ§€ μ•Šμ•˜μŠ΅"
+"λ‹ˆλ‹€. μ§€μš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
-msgstr "clean.requireForce 기본값이 true이고 -i, -n, -f μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ„ μ“°μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ§€μš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"clean.requireForce 기본값이 true이고 -i, -n, -f μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ„ μ“°μ§€ μ•Šμ•˜μŠ΅λ‹ˆ"
+"λ‹€. μ§€μš°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
#: builtin/clone.c:37
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<μ˜΅μ…˜>] [--] <μ €μž₯μ†Œ> [<디렉터리>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "체크아웃을 λ§Œλ“€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "κ°„λž΅ν•œ μ €μž₯μ†Œλ₯Ό λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "미러 μ €μž₯μ†Œλ₯Ό λ§Œλ“­λ‹ˆλ‹€ (κ°„λž΅ν•œ μ €μž₯μ†Œλ‘œ μ·¨κΈ‰)"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "둜컬 μ €μž₯μ†Œμ—μ„œ λ³΅μ œν•©λ‹ˆλ‹€"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "둜컬 ν•˜λ“œλ§ν¬λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³ , 항상 λ³΅μ‚¬ν•©λ‹ˆλ‹€"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "곡유 μ €μž₯μ†Œλ‘œ μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "λ³΅μ œν•œ κ²°κ³Όλ¬Όμ—μ„œ ν•˜μœ„ λͺ¨λ“ˆμ„ μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "μ„œμ‹-디렉터리"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "μ„œμ‹μ„ μ‚¬μš©ν•  디렉터리 μœ„μΉ˜"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "레퍼런슀 μ €μž₯μ†Œ"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "λ³΅μ œν•  κ²½μš°μ—λ§Œ --referenceλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "이름"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "μ—…μŠ€νŠΈλ¦Ό 좔적에 'origin' λŒ€μ‹  <이름>을 μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "리λͺ¨νŠΈμ˜ HEAD λŒ€μ‹  <브랜치>λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "리λͺ¨νŠΈμ˜ git-upload-pack 경둜"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193
msgid "depth"
msgstr "깊이"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr "μ§€μ •ν•œ 깊이의 얕은 볡제λ₯Ό λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "ν•˜λ‚˜μ˜ 브랜치만 λ³΅μ œν•©λ‹ˆλ‹€ (HEAD λ˜λŠ” --branch둜 μ§€μ •)"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr "gitdir"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "κΉƒ 디렉터리λ₯Ό μž‘μ—… 폴더와 λ³„κ°œμ˜ μœ„μΉ˜μ— λ†“μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "ν‚€=κ°’"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "μƒˆ μ €μž₯μ†Œ μ•ˆμ—μ„œ μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "IPv4 μ£Όμ†Œλ§Œ μ‚¬μš©ν•©λ‹ˆλ‹€"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "IPv6 μ£Όμ†Œλ§Œ μ‚¬μš©ν•©λ‹ˆλ‹€"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"디렉터리 이름을 μ•Œμ•„λ‚Ό 수 μ—†μŠ΅λ‹ˆλ‹€.\n"
+"λͺ…λ Ήν–‰μ—μ„œ 디렉터리λ₯Ό μ§€μ •ν•˜μ‹­μ‹œμ˜€"
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
-msgstr "레퍼런슀 '%s' μ €μž₯μ†Œλ₯Ό μ—°κ²°λœ μ²΄ν¬μ•„μ›ƒμœΌλ‘œ μ“°κΈ°λŠ” 아직 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
+msgstr ""
+"레퍼런슀 '%s' μ €μž₯μ†Œλ₯Ό μ—°κ²°λœ μ²΄ν¬μ•„μ›ƒμœΌλ‘œ μ“°κΈ°λŠ” 아직 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr "레퍼런슀 '%s' μ €μž₯μ†Œκ°€ 둜컬 μ €μž₯μ†Œκ°€ μ•„λ‹™λ‹ˆλ‹€."
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr "레퍼런슀 '%s' μ €μž₯μ†Œκ°€ 얕은 μ €μž₯μ†Œμž…λ‹ˆλ‹€"
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr "레퍼런슀 '%s' μ €μž₯μ†Œκ°€ λΆ™μ–΄ μžˆλŠ” μ €μž₯μ†Œμž…λ‹ˆλ‹€"
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "'%s'에 λŒ€ν•΄ stat()이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "'%s'이(κ°€) μžˆμ§€λ§Œ 디렉터리가 μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "'%s'에 λŒ€ν•΄ stat()이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "'%s' 링크λ₯Ό λ§Œλ“œλŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "νŒŒμΌμ„ '%s'(으)둜 λ³΅μ‚¬ν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "μ™„λ£Œ.\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
@@ -4616,117 +4811,127 @@ msgstr ""
"'git status' λͺ…λ ΉμœΌλ‘œ 무엇을 μ²΄ν¬μ•„μ›ƒν–ˆλŠ”μ§€ μ‚΄νŽ΄λ³Ό 수 있고\n"
"'git checkout -f HEAD'둜 체크아웃을 λ‹€μ‹œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "λ³΅μ œν•  리λͺ¨νŠΈμ˜ %s 브랜치λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "연결을 ν™•μΈν•˜λŠ” μ€‘μž…λ‹ˆλ‹€..."
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "리λͺ¨νŠΈμ—μ„œ ν•„μš”ν•œ 였브젝트λ₯Ό λͺ¨λ‘ 보내지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "%s을(λ₯Ό) μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr "리λͺ¨νŠΈ HEADκ°€ μ—†λŠ” 레퍼런슀λ₯Ό μ°Έκ³ ν•˜λ―€λ‘œ, 체크아웃할 수 μ—†μŠ΅λ‹ˆλ‹€.\n"
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "μž‘μ—… 폴더λ₯Ό 체크아웃할 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "νŒŒλΌλ―Έν„°λ₯Ό μ„€μ • νŒŒμΌμ— μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "μ •λ¦¬μš©μœΌλ‘œ repackν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "보쑰 μž„μ‹œ νŒŒμΌμ„ μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "λ„ˆλ¬΄ μΈμžκ°€ λ§ŽμŠ΅λ‹ˆλ‹€."
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "λ³΅μ œν•  μ €μž₯μ†Œλ₯Ό μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€."
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "--bare 및 --origin %s μ˜΅μ…˜μ€ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "--bare 및 --separate-git-dir μ˜΅μ…˜μ€ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "'%s' μ €μž₯μ†Œκ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "κΉŠμ΄κ°€(%s) 0보닀 큰 μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr "λŒ€μƒ κ²½λ‘œκ°€('%s') 이미 있고 빈 디렉터리가 μ•„λ‹™λ‹ˆλ‹€."
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "μž‘μ—… 폴더가('%s') 이미 μžˆμŠ΅λ‹ˆλ‹€."
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr "'%s'의 μ•ž 디렉터리λ₯Ό λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr "μž‘μ—… 디렉터리λ₯Ό('%s') λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "κ°„λž΅ν•œ μ €μž₯μ†Œλ‘œ('%s') λ³΅μ œν•©λ‹ˆλ‹€...\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "'%s'에 λ³΅μ œν•©λ‹ˆλ‹€...\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
-msgstr "--depth μ˜΅μ…˜μ€ 둜컬 λ³΅μ œμ—μ„œ λ¬΄μ‹œλ©λ‹ˆλ‹€. λŒ€μ‹ μ— 'file://'을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€."
+msgstr ""
+"--depth μ˜΅μ…˜μ€ 둜컬 λ³΅μ œμ—μ„œ λ¬΄μ‹œλ©λ‹ˆλ‹€. λŒ€μ‹ μ— 'file://'을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€."
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr "원본 μ €μž₯μ†Œκ°€ 얕은 μ €μž₯μ†Œμ΄λ―€λ‘œ, --local μ˜΅μ…˜μ„ λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local μ˜΅μ…˜μ€ λ¬΄μ‹œλ©λ‹ˆλ‹€"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "%s의 볡제 방법을 μ•Œμ§€ λͺ»ν•©λ‹ˆλ‹€"
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr "리λͺ¨νŠΈμ˜ %s λΈŒλžœμΉ˜κ°€ μ—…μŠ€νŠΈλ¦Ό %s에 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "빈 μ €μž₯μ†Œλ₯Ό λ³΅μ œν•œ κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€."
@@ -4938,7 +5143,7 @@ msgstr ""
msgid "could not lookup commit %s"
msgstr "%s 컀밋을 μ°Ύμ•„λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "(ν‘œμ€€ μž…λ ₯μ—μ„œ 둜그 λ©”μ‹œμ§€λ₯Ό 읽음)\n"
@@ -5105,7 +5310,8 @@ msgstr "κΈ°λ°œν•˜λ„€μš”... λ§ˆμ§€λ§‰μ„ λ³€κ²½λœ 인덱슀둜 λ°”κΏ‰λ‹ˆλ‹€."
#: builtin/commit.c:1197
msgid "Explicit paths specified without -i or -o; assuming --only paths..."
-msgstr "-i λ˜λŠ” -o 없이 λͺ…μ‹œμ μΈ 경둜λ₯Ό μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€. --only 경둜λ₯Ό κ°€μ •ν•©λ‹ˆλ‹€..."
+msgstr ""
+"-i λ˜λŠ” -o 없이 λͺ…μ‹œμ μΈ 경둜λ₯Ό μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€. --only 경둜λ₯Ό κ°€μ •ν•©λ‹ˆλ‹€..."
#: builtin/commit.c:1209 builtin/tag.c:475
#, c-format
@@ -5124,8 +5330,8 @@ msgstr "μƒνƒœλ₯Ό κ°„λž΅ν•˜κ²Œ ν‘œμ‹œν•©λ‹ˆλ‹€"
msgid "show branch information"
msgstr "브랜치 정보λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "컴퓨터가 읽을 수 μžˆλŠ” ν˜•μ‹"
@@ -5144,7 +5350,8 @@ msgstr "λͺ¨λ“œ"
#: builtin/commit.c:1337 builtin/commit.c:1617
msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
-msgstr "μΆ”μ λ˜μ§€ μ•ŠλŠ” νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€. μΆ”κ°€ μ˜΅μ…˜: all, normal, no (κΈ°λ³Έκ°’: all)"
+msgstr ""
+"μΆ”μ λ˜μ§€ μ•ŠλŠ” νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€. μΆ”κ°€ μ˜΅μ…˜: all, normal, no (κΈ°λ³Έκ°’: all)"
#: builtin/commit.c:1340
msgid "show ignored files"
@@ -5158,7 +5365,9 @@ msgstr "μ–Έμ œ"
msgid ""
"ignore changes to submodules, optional when: all, dirty, untracked. "
"(Default: all)"
-msgstr "ν•˜μœ„ λͺ¨λ“ˆμ˜ 변경을 λ¬΄μ‹œν•©λ‹ˆλ‹€. μΆ”κ°€ μ˜΅μ…˜: all, dirty, untracked. (κΈ°λ³Έκ°’: all)"
+msgstr ""
+"ν•˜μœ„ λͺ¨λ“ˆμ˜ 변경을 λ¬΄μ‹œν•©λ‹ˆλ‹€. μΆ”κ°€ μ˜΅μ…˜: all, dirty, untracked. (κΈ°λ³Έκ°’: "
+"all)"
#: builtin/commit.c:1344
msgid "list untracked files in columns"
@@ -5212,8 +5421,8 @@ msgstr "μ‹œκ°"
msgid "override date for commit"
msgstr "μ»€λ°‹μ˜ μ‹œκ°μ„ μ§€μ •ν•©λ‹ˆλ‹€"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "λ©”μ‹œμ§€"
@@ -5246,7 +5455,7 @@ msgstr "μ§€μ •ν•œ 컀밋을 ν•©μΉ˜λŠ”λ° autosquash ν˜•μ‹ λ©”μ‹œμ§€λ₯Ό μ‚¬μš©ν•
msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr "컀밋을 λ‚΄κ°€ μž‘μ„±ν•œ κ²ƒμœΌλ‘œ λ§Œλ“­λ‹ˆλ‹€ (-C/-c/--amend와 같이 μ‚¬μš©)"
-#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "Signed-off-by: 쀄을 μΆ”κ°€ν•©λ‹ˆλ‹€"
@@ -5270,7 +5479,7 @@ msgstr "λ©”μ‹œμ§€μ—μ„œ 곡백과 #주석을 μ§€μ›λ‹ˆλ‹€"
msgid "include status in commit message template"
msgstr "컀밋 λ©”μ‹œμ§€ μ„œμ‹μ— μƒνƒœλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "GPG μ„œλͺ… 컀밋"
@@ -5361,139 +5570,143 @@ msgstr ""
"μ—†μŠ΅λ‹ˆλ‹€. λ””μŠ€ν¬κ°€ 꽉 μ°¨μ§€ μ•Šμ•˜κ³  μ œν•œ μš©λŸ‰μ„ λ„˜μ–΄κ°€μ§€\n"
"μ•Šμ•˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. 그리고 'git reset HEAD'둜 λ³΅κ΅¬ν•˜μ‹­μ‹œμ˜€."
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<μ˜΅μ…˜>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "μ„€μ • 파일 μœ„μΉ˜"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "곡톡 μ„€μ • νŒŒμΌμ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "μ‹œμŠ€ν…œ μ„€μ • νŒŒμΌμ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "μ €μž₯μ†Œ μ„€μ • νŒŒμΌμ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "μ§€μ •ν•œ μ„€μ • νŒŒμΌμ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "λΈ”λ‘­-id"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "μ§€μ •ν•œ λΈ”λ‘­ μ˜€λΈŒμ νŠΈμ—μ„œ 섀정을 μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "λ™μž‘"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "값을 κ°€μ Έμ˜΅λ‹ˆλ‹€: <이름> [<κ°’-μ •κ·œμ‹>]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "λͺ¨λ“  값을 κ°€μ Έμ˜΅λ‹ˆλ‹€: <ν‚€> [<κ°’-μ •κ·œμ‹>]"
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr "μ •κ·œμ‹μ— λŒ€ν•œ 값을 κ°€μ Έμ˜΅λ‹ˆλ‹€: <이름-μ •κ·œμ‹> [<κ°’-μ •κ·œμ‹>]"
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr "<URL>에 νŠΉμ •λ˜λŠ” 값을 κ°€μ Έμ˜΅λ‹ˆλ‹€: <μ„Ήμ…˜>[.<λ³€μˆ˜>] <URL>"
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr "ν•΄λ‹Ήν•˜λŠ” λ³€μˆ˜λ₯Ό λͺ¨λ‘ μ œκ±°ν•©λ‹ˆλ‹€: <이름> <κ°’> [<κ°’-μ •κ·œμ‹>]"
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "μƒˆ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€: <이름> <κ°’>"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "λ³€μˆ˜λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€: <이름> [<κ°’-μ •κ·œμ‹>]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "ν•΄λ‹Ήν•˜λŠ” ν•­λͺ©μ„ λͺ¨λ‘ μ œκ±°ν•©λ‹ˆλ‹€: <이름> [<κ°’-μ •κ·œμ‹>]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "μ„Ήμ…˜μ˜ 이름을 λ°”κΏ‰λ‹ˆλ‹€: <μ˜›-이름> <μƒˆ-이름>"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "μ„Ήμ…˜μ„ μ œκ±°ν•©λ‹ˆλ‹€: <이름>"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "전체 λͺ©λ‘μ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "νŽΈμ§‘κΈ°λ₯Ό μ—½λ‹ˆλ‹€"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "μ„€μ •ν•œ 색을 μ°ΎμŠ΅λ‹ˆλ‹€: slot [<κΈ°λ³Έκ°’>]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "색 섀정을 μ°ΎμŠ΅λ‹ˆλ‹€: slot [<ν‘œμ€€μΆœλ ₯이-TTY인지-μ—¬λΆ€>]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "κ°’ μ’…λ₯˜"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "값이 \"true\" λ˜λŠ” \"false\"μž…λ‹ˆλ‹€"
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "값이 μ‹­μ§„μˆ˜μž…λ‹ˆλ‹€"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "값이 --bool λ˜λŠ” --intμž…λ‹ˆλ‹€"
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr "값이 경둜(파일 λ˜λŠ” 디렉터리 이름)μž…λ‹ˆλ‹€"
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr "기타"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "값을 NUL λ°”μ΄νŠΈλ‘œ λλƒ…λ‹ˆλ‹€"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "λ³€μˆ˜ μ΄λ¦„λ§Œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "μ°Ύμ•„λ³Ό λ•Œ include μ§€μ‹œμ–΄λ₯Ό κ³ λ €ν•©λ‹ˆλ‹€"
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr "μ„€μ •μ˜ 좜처λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€ (파일, ν‘œμ€€ μž…λ ₯, λΈ”λ‘­, λͺ…λ Ήν–‰)"
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr "κΈ°λ³Έ 색 값을 νŒŒμ‹±ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5508,7 +5721,7 @@ msgstr ""
"#\tname = %s\n"
"#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "%s μ„€μ • νŒŒμΌμ„ λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -5758,161 +5971,165 @@ msgstr "git fetch --multiple [<μ˜΅μ…˜>] [(<μ €μž₯μ†Œ> | <κ·Έλ£Ή>)...]"
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<μ˜΅μ…˜>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "λͺ¨λ“  리λͺ¨νŠΈμ—μ„œ κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "λμ–΄μ“°μ§€ 말고 .git/FETCH_HEAD에 λ§λΆ™μž…λ‹ˆλ‹€"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "리λͺ¨νŠΈ μͺ½μ— λ¬ΆμŒμ„ μ—…λ‘œλ“œν•  경둜"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "둜컬 브랜치λ₯Ό κ°•μ œλ‘œ λμ–΄μ”λ‹ˆλ‹€"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "μ—¬λŸ¬ 리λͺ¨νŠΈμ—μ„œ κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "λͺ¨λ“  νƒœκ·Έμ™€ κ΄€λ ¨ 였브젝트λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "λͺ¨λ“  νƒœκ·Έλ₯Ό κ°€μ Έμ˜€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ (--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "λ³‘λ ¬μ μœΌλ‘œ λ°›μ•„μ˜€λŠ” ν•˜μœ„λͺ¨λ“ˆ 개수"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr "리λͺ¨νŠΈμ— 이제 μ—†λŠ” 리λͺ¨νŠΈ 좔적 브랜치λ₯Ό μž˜λΌλƒ…λ‹ˆλ‹€"
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "μ£Όλ¬Έν˜•"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ μž¬κ·€μ μœΌλ‘œ κ°€μ Έμ˜€κΈ° 방식을 μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "λ‹€μš΄λ‘œλ“œν•œ λ¬ΆμŒμ„ λ³΄μ‘΄ν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "HEAD 레퍼런슀 μ—…λ°μ΄νŠΈλ₯Ό ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr "얕은 볡제의 컀밋 내역을 깊게 λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "μ™„μ „ν•œ μ €μž₯μ†Œλ‘œ μ „ν™˜ν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr "디렉터리"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 좜λ ₯의 μ•žμ— 이 디렉터리λ₯Ό λΆ™μž…λ‹ˆλ‹€"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "μž¬κ·€ κΈ°λ³Έ λͺ¨λ“œ"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr ".git/shallowλ₯Ό μ—…λ°μ΄νŠΈν•˜λŠ” 레퍼런슀λ₯Ό ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "레퍼런슀맡"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "레퍼런슀맡 κ°€μ Έμ˜€κΈ°λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "리λͺ¨νŠΈ 레퍼런슀 HEADλ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "%s μ˜€λΈŒμ νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[μ΅œμ‹  μƒνƒœ]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr "! %-*s %-*s -> %s (ν˜„μž¬ λΈŒλžœμΉ˜μ—μ„œ κ°€μ Έμ˜¬ 수 μ—†μŒ)"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[거뢀됨]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[νƒœκ·Έ μ—…λ°μ΄νŠΈ]"
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " (둜컬 레퍼런슀λ₯Ό μ—…λ°μ΄νŠΈν•  수 μ—†μŒ)"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[μƒˆλ‘œμš΄ νƒœκ·Έ]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[μƒˆλ‘œμš΄ 브랜치]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[μƒˆλ‘œμš΄ 레퍼런슀]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "둜컬 레퍼런슀λ₯Ό μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "κ°•μ œ μ—…λ°μ΄νŠΈ"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "(μ •λ°©ν–₯ 진행이 μ•„λ‹˜)"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "%s을(λ₯Ό) μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€: %s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr "%s이(κ°€) λͺ¨λ“  ν•„μš”ν•œ 였브젝트λ₯Ό 보내지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€\n"
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr "얕은 μ΅œμƒμœ„μ˜ μ—…λ°μ΄νŠΈκ°€ ν—ˆμš©λ˜μ§€ μ•ŠμœΌλ―€λ‘œ %s을(λ₯Ό) κ±°λΆ€ν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "%.*s URLμ—μ„œ\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
@@ -5921,55 +6138,55 @@ msgstr ""
"μ—…λ°μ΄νŠΈν•  수 μ—†λŠ” 둜컬 λ ˆνΌλŸ°μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. κ³Όκ±° 좩돌 브랜치λ₯Ό\n"
" μ œκ±°ν•˜λ €λ©΄ 'git remote prune %s' λͺ…령을 μ‹€ν–‰ν•΄ λ³΄μ‹­μ‹œμ˜€"
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s λ ˆνΌλŸ°μŠ€κ°€ 연결이 λŠμ–΄μ§€κ²Œ λ©λ‹ˆλ‹€)"
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s λ ˆνΌλŸ°μŠ€κ°€ 연결이 λŠμ–΄μ‘ŒμŠ΅λ‹ˆλ‹€)"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[μ‚­μ œλ¨]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(μ—†μŒ)"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr "κ°„λž΅ν•œ μ €μž₯μ†Œκ°€ μ•„λ‹Œ μ €μž₯μ†Œμ˜ ν˜„μž¬ %s 브랜치둜 κ°€μ Έμ˜€κΈ°λ₯Ό κ±°μ ˆν•©λ‹ˆλ‹€"
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr "\"%s\" μ˜΅μ…˜μ˜ \"%s\" 값은 %s에 λŒ€ν•΄ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "\"%s\" μ˜΅μ…˜μ€ '%s'에 λŒ€ν•΄ λ¬΄μ‹œλ©λ‹ˆλ‹€\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "'%s'μ—μ„œ κ°€μ Έμ˜€λŠ” 방법을 μ•Œ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "%s을(λ₯Ό) κ°€μ Έμ˜€λŠ” 쀑\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "%s을(λ₯Ό) κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
@@ -5977,32 +6194,33 @@ msgstr ""
"리λͺ¨νŠΈ μ €μž₯μ†Œλ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μƒˆ 리비전을 κ°€μ Έμ˜¬ 수 μžˆλŠ”\n"
"URLμ΄λ‚˜ 리λͺ¨νŠΈ 이름을 μ§€μ •ν•˜μ‹­μ‹œμ˜€."
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "νƒœκ·Έ 이름을 μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€."
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr "--depth 및 --unshallow μ˜΅μ…˜μ€ 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
-msgstr "μ™„μ „ν•œ μ €μž₯μ†Œμ— λŒ€ν•΄ --unshallow μ˜΅μ…˜μ„ μ‚¬μš©ν•˜λŠ” 건 μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"μ™„μ „ν•œ μ €μž₯μ†Œμ— λŒ€ν•΄ --unshallow μ˜΅μ…˜μ„ μ‚¬μš©ν•˜λŠ” 건 μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "fetch --all λͺ…령에 μ €μž₯μ†Œ μΈμžκ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr "fetch --all λͺ…령은 레퍼런슀λͺ…μ„Έ μΈμžμ™€ 같이 μ“°λ©΄ μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "그런 리λͺ¨νŠΈλ‚˜ 리λͺ¨νŠΈ 그룹이 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr "그룹을 κ°€μ Έμ˜€κ³  레퍼런슀λͺ…μ„Έλ₯Ό μ§€μ •ν•˜λ©΄ μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
@@ -6212,235 +6430,253 @@ msgstr "μˆ˜λ™ 관리 μž‘μ—…μ€ \"git help gc\" λ‚΄μš©μ„ μ°Έκ³ ν•˜μ‹­μ‹œμ˜€.\n"
#, c-format
msgid ""
"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
-msgstr "가비지컬렉터가 이미 '%s' μ»΄ν“¨ν„°μ—μ„œ %<PRIuMAX> PID둜 μ‹€ν–‰ μ€‘μž…λ‹ˆλ‹€ (μ•„λ‹ˆλ©΄ --forceλ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)"
+msgstr ""
+"가비지컬렉터가 이미 '%s' μ»΄ν“¨ν„°μ—μ„œ %<PRIuMAX> PID둜 μ‹€ν–‰ μ€‘μž…λ‹ˆλ‹€ (μ•„λ‹ˆλ©΄ --"
+"forceλ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)"
#: builtin/gc.c:441
msgid ""
"There are too many unreachable loose objects; run 'git prune' to remove them."
-msgstr "λŠμŠ¨ν•œ μ˜€λΈŒμ νŠΈκ°€ λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€. μ œκ±°ν•˜λ €λ©΄ 'git prune'을 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
+msgstr ""
+"λŠμŠ¨ν•œ μ˜€λΈŒμ νŠΈκ°€ λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€. μ œκ±°ν•˜λ €λ©΄ 'git prune'을 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
#: builtin/grep.c:23
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<μ˜΅μ…˜>] [-e] <νŒ¨ν„΄> [<리비전>...] [[--] <경둜>...]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grep: μŠ€λ ˆλ“œλ₯Ό λ§Œλ“œλŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€: %s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "잘λͺ»λœ μŠ€λ ˆλ“œ 수λ₯Ό %2$s에 λŒ€ν•΄ μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€ (%1$d)"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "트리λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€ (%s)"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr "μ’…λ₯˜κ°€ %s인 μ˜€λΈŒμ νŠΈμ—μ„œ grep을 ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "`%c' μ˜΅μ…˜μ—λŠ” 숫자 값이 와야 ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "'%s'을(λ₯Ό) μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr "μž‘μ—… 폴더 λŒ€μ‹ μ— μΈλ±μŠ€μ—μ„œ κ²€μƒ‰ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "κΉƒμœΌλ‘œ κ΄€λ¦¬ν•˜μ§€ μ•Šμ€ λ‚΄μš©μ—μ„œ μ°ΎμŠ΅λ‹ˆλ‹€"
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "μΆ”μ λ˜λŠ” 파일과 μΆ”μ λ˜μ§€ μ•ŠλŠ” 파일 λͺ¨λ‘μ—μ„œ κ²€μƒ‰ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "'.gitignore'둜 μ§€μ •ν•œ νŒŒμΌμ„ λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 쀄을 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "λŒ€μ†Œλ¬Έμž κ΅¬λ³„ν•˜μ§€ μ•Šκ³  맞μΆ₯λ‹ˆλ‹€"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "단어 경계 뢀뢄에 λŒ€ν•΄μ„œλ§Œ νŒ¨ν„΄μ„ 맞μΆ₯λ‹ˆλ‹€"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ„ ν…μŠ€νŠΈλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ—μ„œ νŒ¨ν„΄μ„ λ§žμΆ”μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "textconv ν•„ν„°λ₯Ό μ‚¬μš©ν•΄ λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "μ΅œλŒ€ <깊이> λ‹¨κ³„λ§ŒνΌ λ‚΄λ €κ°‘λ‹ˆλ‹€"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "POSIX ν™•μž₯ μ •κ·œμ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "κΈ°λ³Έ POSIX μ •κ·œμ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’)"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "νŒ¨ν„΄μ„ κ³ μ • λ¬Έμžμ—΄λ‘œ ν•΄μ„ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "νŽ„κ³Ό ν˜Έν™˜λ˜λŠ” μ •κ·œμ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "쀄 번호λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "파일 이름을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "파일 이름을 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "파일 이름을 μ΅œμƒμœ„ 디렉터리 μƒλŒ€ 경둜둜 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "μΌμΉ˜ν•˜λŠ” 쀄을 ν‘œμ‹œν•˜μ§€ μ•Šκ³  파일 μ΄λ¦„λ§Œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "--files-with-matches μ˜΅μ…˜κ³Ό 동일"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 파일의 μ΄λ¦„λ§Œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "파일 이름 λ‹€μŒμ— NUL을 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "μΌμΉ˜ν•˜λŠ” 쀄을 ν‘œμ‹œν•˜μ§€ μ•Šκ³  μΌμΉ˜ν•˜λŠ” 수λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "μΌμΉ˜ν•˜λŠ” 뢀뢄을 κ°•μ‘°ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr "λ‹€λ₯Έ 파일 사이에 μΌμΉ˜ν•˜λŠ” λΆ€λΆ„μ˜ 사이에 빈 쀄을 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr "같은 νŒŒμΌμ—μ„œ μ—¬λŸ¬ κ°œκ°€ μΌμΉ˜ν•˜λ©΄ 파일 이름을 ν•œ 번만 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "μΌμΉ˜ν•˜λŠ” λΆ€λΆ„ μ•žλ’€μ— μ»¨ν…μŠ€νŠΈλ₯Ό <n>쀄 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "μΌμΉ˜ν•˜λŠ” λΆ€λΆ„ μ•žμ— μ»¨ν…μŠ€νŠΈλ₯Ό <n>쀄 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "μΌμΉ˜ν•˜λŠ” λΆ€λΆ„ 뒀에 μ»¨ν…μŠ€νŠΈλ₯Ό <n>쀄 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "<n>개의 μž‘μ—… μŠ€λ ˆλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "-C NUM μ˜΅μ…˜μ˜ μ€„μž„"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr "일치 ν•­λͺ© μ•žμ— ν•¨μˆ˜ 이름 쀄을 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "λ“€μ–΄ μžˆλŠ” ν•¨μˆ˜λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "νŒŒμΌμ—μ„œ νŒ¨ν„΄μ„ μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "<νŒ¨ν„΄>κ³Ό 일치"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "-e μ˜΅μ…˜μœΌλ‘œ μ§€μ •ν•œ νŒ¨ν„΄μ„ κ²°ν•©ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr "좜λ ₯ν•˜μ§€ μ•Šκ³  μΌμΉ˜ν•˜λŠ” ν•­λͺ©μ„ exit() μƒνƒœ 번호둜 λ¦¬ν„΄ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr "λͺ¨λ“  νŒ¨ν„΄κ³Ό μΌμΉ˜ν•˜λŠ” 파일의 μΌμΉ˜ν•˜λŠ” λΆ€λΆ„λ§Œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "grep ν‘œν˜„μ‹μ— λŒ€ν•œ νŒŒμ‹± 트리λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "νŽ˜μ΄μ €"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "μΌμΉ˜ν•˜λŠ” νŒŒμΌμ„ νŽ˜μ΄μ € ν”„λ‘œκ·Έλž¨μ—μ„œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "grep(1) 싀행을 ν—ˆμš©ν•©λ‹ˆλ‹€ (이 λΉŒλ“œμ—μ„œλŠ” λ¬΄μ‹œ)"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "νŒ¨ν„΄μ„ μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€."
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "잘λͺ»λœ μŠ€λ ˆλ“œ 수λ₯Ό μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€ (%d)"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr "--open-files-in-pager μ˜΅μ…˜μ€ μž‘μ—… ν΄λ”μ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€"
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
-msgstr "--cached λ˜λŠ” --untracked μ˜΅μ…˜μ€ --no-index μ˜΅μ…˜κ³Ό 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€."
+msgstr ""
+"--cached λ˜λŠ” --untracked μ˜΅μ…˜μ€ --no-index μ˜΅μ…˜κ³Ό 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr "--no-index λ˜λŠ” --untracked μ˜΅μ…˜μ€ 리비전과 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr "--[no-]exclude-standard μ˜΅μ…˜μ€ μΆ”μ λ˜λŠ” λ‚΄μš©μ— λŒ€ν•΄ μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "--cached μ˜΅μ…˜κ³Ό 트리λ₯Ό λͺ¨λ‘ μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
@@ -6448,36 +6684,36 @@ msgstr ""
"git hash-object [-t <μ’…λ₯˜>] [-w] [--path=<파일> | --no-filters] [--stdin] "
"[--] <파일>..."
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "μ’…λ₯˜"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "였브젝트 μ’…λ₯˜"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "였브젝트λ₯Ό 였브젝트 λ°μ΄ν„°λ² μ΄μŠ€λ‘œ μ”λ‹ˆλ‹€"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 였브젝트λ₯Ό μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "νŒŒμΌμ„ ν•„ν„° 없이 κ·ΈλŒ€λ‘œ μ €μž₯ν•©λ‹ˆλ‹€"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr "μž„μ˜μ˜ μ“°λ ˆκΈ° 데이터λ₯Ό ν•΄μ‹œν•΄ μ†μƒλœ 였브젝트λ₯Ό λ§Œλ“­λ‹ˆλ‹€ (λ””λ²„κΉ…μš©)"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "파일이 이 κ²½λ‘œμ—μ„œ 온 κ²ƒμ²˜λŸΌ μ²˜λ¦¬ν•©λ‹ˆλ‹€"
@@ -6528,7 +6764,7 @@ msgstr "emacsclient '%d' 버전은 λ„ˆλ¬΄ κ³Όκ±° (< 22) λ²„μ „μž…λ‹ˆλ‹€."
msgid "failed to exec '%s': %s"
msgstr "μ‹€ν–‰ μ‹€νŒ¨: '%s': %s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
@@ -6537,7 +6773,7 @@ msgstr ""
"'%s': μ§€μ›ν•˜μ§€ μ•ŠλŠ” 맨 νŽ˜μ΄μ§€ 보기 ν”„λ‘œκ·Έλž¨ 경둜.\n"
"λŒ€μ‹ μ— 'man.<도ꡬ>.cmd' μ˜΅μ…˜μ„ μ‚¬μš©ν•΄ λ³΄μ‹­μ‹œμ˜€."
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
@@ -6546,61 +6782,61 @@ msgstr ""
"'%s': μ§€μ›ν•˜μ§€ μ•ŠλŠ” 맨 νŽ˜μ΄μ§€ 보기 ν”„λ‘œκ·Έλž¨ λͺ…λ Ή.\n"
"λŒ€μ‹ μ— 'man.<도ꡬ>.path' μ˜΅μ…˜μ„ μ‚¬μš©ν•΄ λ³΄μ‹­μ‹œμ˜€."
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "'%s': μ•Œ 수 μ—†λŠ” 맨 νŽ˜μ΄μ§€ 보기 ν”„λ‘œκ·Έλž¨."
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "μš”μ²­μ„ μ²˜λ¦¬ν•œ 맨 νŽ˜μ΄μ§€ 보기 ν”„λ‘œκ·Έλž¨μ΄ μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "μš”μ²­μ„ μ²˜λ¦¬ν•œ 인포 νŽ˜μ΄μ§€ 보기 ν”„λ‘œκ·Έλž¨μ΄ μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "κ²½λ‘œλ§ˆλ‹€ 속성 μ •μ˜ν•˜κΈ°"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr "맀일맀일 μ‚¬μš©ν•˜λŠ” 20개 λ‚΄μ™Έμ˜ κΉƒ λͺ…λ Ή"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "κΉƒ μš©μ–΄ 사전"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "μ˜λ„μ μœΌλ‘œ μΆ”μ ν•˜μ§€ μ•ŠλŠ” νŒŒμΌμ„ λ¬΄μ‹œν•˜κ²Œ μ§€μ •ν•˜κΈ°"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 속성 μ •μ˜ν•˜κΈ°"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "κΉƒμ˜ 리비전 및 λ²”μœ„λ₯Ό μ§€μ •ν•˜κΈ°"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr "κΉƒ λ”°λΌν•˜κΈ° μ•ˆλ‚΄μ„œ (버전 1.5.1 이후)"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "μΆ”μ²œν•˜λŠ” κΉƒ ν™œμš© μž‘μ—… μˆœμ„œμ˜ κ°œμš”"
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "자주 μ‚¬μš©ν•˜λŠ” κΉƒ μ•ˆλ‚΄μ„œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:\n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "μ‚¬μš©λ²•: %s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "`git %s' λͺ…령은 `%s' λͺ…λ Ήμ˜ λ‹¨μΆ•μž…λ‹ˆλ‹€"
@@ -6833,58 +7069,53 @@ msgstr "인덱슀 νŒŒμΌμ„ μ €μž₯ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "잘λͺ»λœ pack.indexversion=%<PRIu32>"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "잘λͺ»λœ μŠ€λ ˆλ“œ 수λ₯Ό μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€ (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "μŠ€λ ˆλ“œ κΈ°λŠ₯이 μ—†μŠ΅λ‹ˆλ‹€. %s λ¬΄μ‹œ"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "κΈ°μ‘΄ '%s' 묢음 νŒŒμΌμ„ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr "'%s'에 λŒ€ν•œ κΈ°μ‘΄ 묢음 idx νŒŒμΌμ„ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
msgstr[0] "델타 μ•„λ‹˜: 였브젝트 %d개"
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] "체인 길이 = %d: 였브젝트 %lu개"
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "ν˜„μž¬ λ””λ ‰ν„°λ¦¬λ‘œ λŒμ•„μ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "잘λͺ»λœ %s"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "--fix-thin μ˜΅μ…˜μ€ --stdin μ˜΅μ…˜κ³Ό 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr "'%s' 묢음파일 이름이 '.pack'으둜 λλ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "--verify μ˜΅μ…˜μ— 묢음파일 이름을 μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
@@ -7010,24 +7241,32 @@ msgstr "μž‘μ—… 폴더 '%s'에 μ ‘κ·Όν•  수 μ—†μŠ΅λ‹ˆλ‹€"
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer <토큰>[(=|:)<κ°’>])...] [<파"
-"일>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <토큰>[(=|:)<"
+"κ°’>])...] [<파일>...]"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "νŒŒμΌμ„ 직접 νŽΈμ§‘ν•©λ‹ˆλ‹€"
+
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "빈 트레일러λ₯Ό μž˜λΌλƒ…λ‹ˆλ‹€"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "트레일러"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "μΆ”κ°€ν•  트레일러"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "파일 직접 νŽΈμ§‘μ— μž…λ ₯ νŒŒμΌμ„ μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<μ˜΅μ…˜>] [<리비전-λ²”μœ„>] [[--] <경둜>...]"
@@ -7081,325 +7320,377 @@ msgstr "%s 였브젝트λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
msgid "Unknown type: %d"
msgstr "μ•Œ 수 μ—†λŠ” μ’…λ₯˜: %d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "format.headers 섀정에 값이 μ—†μŒ"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "좜λ ₯ λ””λ ‰ν„°λ¦¬μ˜ 이름이 λ„ˆλ¬΄ κΉλ‹ˆλ‹€"
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "%s 패치 νŒŒμΌμ„ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "μ •ν™•νžˆ ν•˜λ‚˜μ˜ λ²”μœ„κ°€ ν•„μš”ν•©λ‹ˆλ‹€."
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "λ²”μœ„κ°€ μ•„λ‹™λ‹ˆλ‹€."
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "μ»€λ²„λ ˆν„°λŠ” μ „μžλ©”μΌ ν˜•μ‹μ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "μ •μ‹ λ‚˜κ°„ in-reply-to 헀더: %s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<μ˜΅μ…˜>] [<μ‹œμž‘μ‹œκ°> | <리비전-λ²”μœ„>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "좜λ ₯ 디렉터리가 λ‘κ°œ?"
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "ν•˜λ‚˜μ˜ νŒ¨μΉ˜μ— λŒ€ν•΄μ„œλ„ [PATCh n/m]을 λΆ™μž…λ‹ˆλ‹€"
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "μ—¬λŸ¬ 개 νŒ¨μΉ˜μ— λŒ€ν•΄μ„œλ„ [PATCH]λ₯Ό λΆ™μž…λ‹ˆλ‹€"
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "패치λ₯Ό ν‘œμ€€ 좜λ ₯으둜 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "μ»€λ²„λ ˆν„°λ₯Ό λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/log.c:1222
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr "좜λ ₯ 파일 이름에 κ°„λ‹¨ν•œ 일련 번호λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr "ν™•μž₯자"
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "'.patch' λŒ€μ‹  <ν™•μž₯자>λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1226
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr "패치 번호λ₯Ό 1 λŒ€μ‹  <n>μ—μ„œ μ‹œμž‘ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "μ‹œλ¦¬μ¦ˆλ₯Ό N번째 re-roll둜 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "[PATCH] λŒ€μ‹  [<접두어>]λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "κ²°κ³Ό νŒŒμΌμ„ <디렉터리>에 μ €μž₯ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "[PATCH]λ₯Ό 자λ₯΄κ±°λ‚˜ μΆ”κ°€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "λ°”μ΄λ„ˆλ¦¬ diffλ₯Ό λ§Œλ“€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
msgstr "From ν—€λ”μ—μ„œ λͺ¨λ‘ 0인 ν•΄μ‹œλ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr "μ—…μŠ€νŠΈλ¦Όμ— μžˆλŠ” 패치λ₯Ό ν¬ν•¨ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1245
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr "κΈ°λ³Έκ°’ (패치 + 톡계) λŒ€μ‹  패치 ν˜•μ‹μ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/log.c:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "λ©”μ‹œμ§•"
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr "헀더"
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr "μ „μžλ©”μΌ 헀더"
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "μ „μžλ©”μΌ"
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "To: 헀더λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "Cc: 헀더λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr "신원"
-#: builtin/log.c:1255
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr "<신원>μ—μ„œ From μ£Όμ†Œλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€ (μ—†μœΌλ©΄ 컀미터 μ£Όμ†Œ 신원 μ‚¬μš©)"
-#: builtin/log.c:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr "λ©”μ‹œμ§€-ID"
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "첫 메일을 <λ©”μ‹œμ§€-ID>에 λŒ€ν•œ λ‹΅μž₯ λ©”μΌλ‘œ λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "경계"
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "패치λ₯Ό μ²¨λΆ€ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "패치λ₯Ό 본문에 ν¬ν•¨ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr "λ©”μ‹œμ§€μ— μŠ€λ ˆλ“œλ₯Ό μ‚¬μš©, μŠ€νƒ€μΌ: shallow, deep"
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr "μ„œλͺ…"
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "μ„œλͺ…을 μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "νŒŒμΌμ—μ„œ μ„œλͺ…을 μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "패치 파일 이름을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "-n 및 -k μ˜΅μ…˜μ€ ν•˜λ‚˜λ§Œ 써야 ν•©λ‹ˆλ‹€."
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "--subject-prefix 및 -k μ˜΅μ…˜μ€ ν•˜λ‚˜λ§Œ 써야 ν•©λ‹ˆλ‹€."
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "--name-only μ˜΅μ…˜μ€ μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "--name-status μ˜΅μ…˜μ€ μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "--check μ˜΅μ…˜μ€ μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "ν‘œμ€€ 좜λ ₯μ΄λ‚˜ 디렉터리 쀑에 ν•˜λ‚˜λ§Œ μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€."
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "'%s' 디렉터리λ₯Ό λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "'%s' μ„œλͺ… νŒŒμΌμ„ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "좜λ ₯ νŒŒμΌμ„ λ§Œλ“œλŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<μ—…μŠ€νŠΈλ¦Ό> [<ν—€λ“œ> [<ν•œκ³„κ°’>]]]"
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr "μΆ”μ λ˜λŠ” 리λͺ¨νŠΈ 브랜치λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. <μ—…μŠ€νŠΈλ¦Ό>을 μˆ˜λ™μœΌλ‘œ μ§€μ •ν•˜μ‹­μ‹œμ˜€.\n"
+msgstr ""
+"μΆ”μ λ˜λŠ” 리λͺ¨νŠΈ 브랜치λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. <μ—…μŠ€νŠΈλ¦Ό>을 μˆ˜λ™μœΌλ‘œ μ§€μ •ν•˜μ‹­μ‹œ"
+"였.\n"
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "μ•Œ 수 μ—†λŠ” 컀밋 %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<μ˜΅μ…˜>] [<파일>...]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "파일 μƒνƒœλ₯Ό νƒœκ·Έμ™€ 같이 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr "'λ³€κ²½λ˜μ§€ μ•Šμ•˜λ‹€κ³  κ°€μ •' νŒŒμΌμ— μ†Œλ¬Έμžλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr "좜λ ₯에 μΊμ‹œλœ νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’)"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "좜λ ₯에 μ‚­μ œλœ νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "좜λ ₯에 μˆ˜μ •λœ νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "좜λ ₯에 기타 νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "좜λ ₯에 λ¬΄μ‹œλœ νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr "좜λ ₯에 컀밋 ν‘œμ‹œλœ λ‚΄μš©μ˜ 였브젝트 이름을 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr "파일 μ‹œμŠ€ν…œμ—μ„œ μ œκ±°ν•΄μ•Ό ν•˜λŠ” νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "기타 λ””λ ‰ν„°λ¦¬μ˜ μ΄λ¦„λ§Œ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "파일의 쀄 끝을 ν‘œμ‹œν•©λ‹ˆλ‹€"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "빈 디렉터리 ν‘œμ‹œν•˜μ§€ μ•ŠκΈ°"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "좜λ ₯에 λ³‘ν•©ν•˜μ§€ μ•Šμ€ νŒŒμΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "resolve-undo 정보λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "νŒ¨ν„΄μ— μΌμΉ˜ν•˜λŠ” νŒŒμΌμ„ κ±΄λ„ˆλœλ‹ˆλ‹€"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "μ œμ™Έν•  νŒ¨ν„΄μ„ <파일>μ—μ„œ μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "<파일>μ—μ„œ 좔가적인 디렉토리별 μ œμ™Έ νŒ¨ν„΄μ„ μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "ν‘œμ€€ κΉƒ μ œμ™Έ νŒ¨ν„΄μ„ μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "μ΅œμƒμœ„ 디렉토리 μƒλŒ€ 경둜둜 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "<파일>이 인덱슀 μ•ˆμ— μ—†μœΌλ©΄ 였λ₯˜λ‘œ μ·¨κΈ‰ν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "트리-λ”°μœ„"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr "<트리-λ”°μœ„> λ’€λ‘œ μ œκ±°ν•œ κ²½λ‘œκ°€ μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "디버깅 데이터λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<μ‹€ν–‰>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<μ €μž₯μ†Œ> [<레퍼런슀>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "원격 URL을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "μ‹€ν–‰"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "원격 호슀트의 git-upload-pack 경둜"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "νƒœκ·Έμ— ν•œμ •"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "ν—€λ“œμ— ν•œμ •"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "벗겨진 νƒœκ·Έλ₯Ό ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "url.<베이슀>.insteadOf 섀정을 κ³ λ €ν•©λ‹ˆλ‹€"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "ν•΄λ‹Ήν•˜λŠ” λ ˆνΌλŸ°μŠ€κ°€ μ—†μœΌλ©΄ μ½”λ“œ 2번으둜 λλƒ…λ‹ˆλ‹€"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "λ ˆνΌλŸ°μŠ€μ™€ λ ˆνΌλŸ°μŠ€κ°€ κ°€λ¦¬ν‚€λŠ” 였브젝트λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<μ˜΅μ…˜>] <트리-λ”°μœ„> [<경둜>...]"
@@ -7467,31 +7758,31 @@ msgstr "μ‚¬μš© κ°€λŠ₯ν•œ μ „λž΅μ€:"
msgid "Available custom strategies are:"
msgstr "μ‚¬μš© κ°€λŠ₯ν•œ μ‚¬μš©μž μ„€μ • μ „λž΅μ€:"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr "병합이 끝날 λ•Œ diffstat을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "병합이 끝날 λ•Œ diffstat을 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "(--stat μ˜΅μ…˜κ³Ό 동일)"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr "병합 μ»€λ°‹μ˜ λ©”μ‹œμ§€μ— shortlog ν•­λͺ©μ„ (μ΅œλŒ€ <n>개) μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr "λ³‘ν•©ν•˜λŠ” λŒ€μ‹  ν•˜λ‚˜μ˜ 컀밋을 λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "병합이 μ„±κ³΅ν•˜λ©΄ 컀밋을 ν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’)"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "컀밋 전에 λ©”μ‹œμ§€λ₯Ό νŽΈμ§‘ν•©λ‹ˆλ‹€"
@@ -7499,7 +7790,7 @@ msgstr "컀밋 전에 λ©”μ‹œμ§€λ₯Ό νŽΈμ§‘ν•©λ‹ˆλ‹€"
msgid "allow fast-forward (default)"
msgstr "μ •λ°©ν–₯ 진행을 ν—ˆμš©ν•©λ‹ˆλ‹€ (κΈ°λ³Έκ°’)"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr "μ •λ°©ν–₯ 진행이 λΆˆκ°€λŠ₯ν•˜λ©΄ μ€‘μ§€ν•©λ‹ˆλ‹€"
@@ -7507,20 +7798,20 @@ msgstr "μ •λ°©ν–₯ 진행이 λΆˆκ°€λŠ₯ν•˜λ©΄ μ€‘μ§€ν•©λ‹ˆλ‹€"
msgid "Verify that the named commit has a valid GPG signature"
msgstr "이름 뢙인 컀밋에 μ˜¬λ°”λ₯Έ GPG μ„œλͺ…이 μžˆλŠ”μ§€ κ²€μ¦ν•©λ‹ˆλ‹€"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "μ „λž΅"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "μ‚¬μš©ν•  병합 μ „λž΅"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "μ˜΅μ…˜=κ°’"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "μ„ νƒν•œ 병합 μ „λž΅μ— λŒ€ν•œ μ˜΅μ…˜"
@@ -7558,8 +7849,8 @@ msgstr " (ν•©μΉ  λ‚΄μš©μ΄ μ—†μŠ΅λ‹ˆλ‹€)"
msgid "Squash commit -- not updating HEAD\n"
msgstr "컀밋 ν•©μΉ˜κΈ° -- HEADλ₯Ό μ—…λ°μ΄νŠΈν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "'%s'에 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
@@ -7577,41 +7868,42 @@ msgstr "SQUASH_MSGλ₯Ό λ§ˆμΉ˜λŠ” 쀑"
msgid "No merge message -- not updating HEAD\n"
msgstr "병합 λ©”μ‹œμ§€κ°€ μ—†μŠ΅λ‹ˆλ‹€ -- HEADλ₯Ό μ—…λ°μ΄νŠΈν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "'%s'이(κ°€) 컀밋을 가리킀지 μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "잘λͺ»λœ branch.%s.mergeoptions λ¬Έμžμ—΄: %s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
msgstr "두 개의 ν—€λ“œ 병합 μ™Έμ—λŠ” μ²˜λ¦¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "merge-recursive에 λŒ€ν•΄ μ•Œ 수 μ—†λŠ” μ˜΅μ…˜: -X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "%s에 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "'%s'μ—μ„œ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
-msgstr "병합을 μ»€λ°‹ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 병합을 마치렀면 'git commit'을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.\n"
+msgstr ""
+"병합을 μ»€λ°‹ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 병합을 마치렀면 'git commit'을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7627,52 +7919,52 @@ msgstr ""
"'%c' 문자둜 μ‹œμž‘ν•˜λŠ” 쀄은 λ¬΄μ‹œλ˜κ³ , λ©”μ‹œμ§€κ°€ λΉ„μ–΄ 있으면 컀밋을\n"
"μ€‘μ§€ν•©λ‹ˆλ‹€.\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "빈 컀밋 λ©”μ‹œμ§€."
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "ν›Œλ₯­ν•©λ‹ˆλ‹€.\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr "μžλ™ 병합이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. μΆ©λŒμ„ λ°”λ‘œμž‘κ³  결과물을 μ»€λ°‹ν•˜μ‹­μ‹œμ˜€.\n"
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "'%s'은(λŠ”) 컀밋이 μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "ν˜„μž¬ λΈŒλžœμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "ν˜„μž¬ λΈŒλžœμΉ˜μ— λŒ€ν•œ 리λͺ¨νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr "ν˜„μž¬ λΈŒλžœμΉ˜μ— λŒ€ν•΄ κΈ°λ³Έ μ—…μŠ€νŠΈλ¦Όμ„ μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "리λͺ¨νŠΈ %2$sμ—μ„œ %1$s에 λŒ€ν•œ 리λͺ¨νŠΈ 좔적 λΈŒλžœμΉ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "'%s'을(λ₯Ό) 닫을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr "쀑지할 병합 μž‘μ—…μ΄ μ—†μŠ΅λ‹ˆλ‹€. (MERGE_HEADκ°€ μ—†μŒ)"
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7680,7 +7972,7 @@ msgstr ""
"병합을 λ§ˆμΉ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. (MERGE_HEAD 있음)\n"
"λ³‘ν•©ν•˜κΈ° 전에 λ³€κ²½ 사항을 μ»€λ°‹ν•˜μ‹­μ‹œμ˜€."
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7688,100 +7980,100 @@ msgstr ""
"컀밋 빼였기λ₯Ό λ§ˆμΉ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. (COMMIT_PICK_HEAD 있음)\n"
"λ³‘ν•©ν•˜κΈ° 전에 λ³€κ²½ 사항을 μ»€λ°‹ν•˜μ‹­μ‹œμ˜€."
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr "컀밋 빼였기λ₯Ό λ§ˆμΉ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. (CHERRY_PICK_HEAD 있음)"
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "--squash μ˜΅μ…˜μ„ --no-ff μ˜΅μ…˜κ³Ό 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr "컀밋을 μ§€μ •ν•˜μ§€ μ•Šμ•˜κ³  merge.defaultToUpstreamλ₯Ό μ„€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
msgstr "빈 ν—€λ“œλ‘œ 컀밋을 ν•©μΉ˜κΈ°λŠ” μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr "μ •λ°©ν–₯이 μ•„λ‹Œ 컀밋은 빈 ν—€λ“œμ—μ„œλŠ” μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s - 병합할 수 μžˆλŠ” ν•­λͺ©μ΄ μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
msgstr "빈 ν—€λ“œμ—λŠ” μ •ν™•νžˆ ν•˜λ‚˜μ˜ μ»€λ°‹λ§Œ 병합할 수 μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr "%s 컀밋에 μ‹ λ’°ν•˜μ§€ μ•ŠλŠ” (μ„œλͺ…μžκ°€ %s라고 ν•˜λŠ”) GPG μ„œλͺ…이 μžˆμŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr "%s 컀밋에 잘λͺ»λœ (μ„œλͺ…μžκ°€ %s라고 ν•˜λŠ”) GPG μ„œλͺ…이 μžˆμŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "%s 컀밋에 GPG μ„œλͺ…이 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr "%s 컀밋에 %s의 μ˜¬λ°”λ₯Έ GPG μ„œλͺ…이 μ—†μŠ΅λ‹ˆλ‹€\n"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "μ—…λ°μ΄νŠΈ 쀑 %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "μ•„μ£Ό κ°„λ‹¨ν•œ 인덱슀 λ‚΄λΆ€ 병합을 μ‹œλ„ν•©λ‹ˆλ‹€...\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "μ•„λ‹˜.\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr "μ •λ°©ν–₯이 λΆˆκ°€λŠ₯ν•˜λ―€λ‘œ, μ€‘μ§€ν•©λ‹ˆλ‹€."
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "트리λ₯Ό 본래 μœ„μΉ˜λ‘œ λ˜λŒλ¦½λ‹ˆλ‹€...\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "병합 μ „λž΅ %s μ‹œλ„...\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr "병합을 μ²˜λ¦¬ν•œ μ „λž΅μ΄ μ—†μŠ΅λ‹ˆλ‹€.\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "μ „λž΅ %s(으)둜 병합이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr "μˆ˜λ™ ν•΄κ²°μ˜ μ€€λΉ„λ₯Ό μœ„ν•΄ %s μ „λž΅μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.\n"
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr "μžλ™ 병합이 잘 μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μš”μ²­ν•œλŒ€λ‘œ 컀밋 전에 μ€‘μ§€ν•©λ‹ˆλ‹€\n"
@@ -7830,7 +8122,9 @@ msgstr "<레퍼런슀>의 reflogμ—μ„œ <컀밋>이 λΆ„λ¦¬λœ μœ„μΉ˜λ₯Ό μ°ΎμŠ΅λ‹ˆ
msgid ""
"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
"<orig-file> <file2>"
-msgstr "git merge-file [<μ˜΅μ…˜>] [-L <이름1> [-L <orig> [-L <이름2>]]] <파일1> <본래-파일> <파일2>"
+msgstr ""
+"git merge-file [<μ˜΅μ…˜>] [-L <이름1> [-L <orig> [-L <이름2>]]] <파일1> <본래-"
+"파일> <파일2>"
#: builtin/merge-file.c:33
msgid "send results to standard output"
@@ -7864,19 +8158,19 @@ msgstr "μΆ©λŒμ— λŒ€ν•΄ κ²½κ³ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
msgid "set labels for file1/orig-file/file2"
msgstr "<파일1>/<본래-파일>/<파일2>에 λŒ€ν•œ λ ˆμ΄λΈ”μ„ μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr "μž…λ ₯이 NUL둜 λλ‚©λ‹ˆλ‹€"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "μ—†λŠ” 였브젝트λ₯Ό ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "μ—¬λŸ¬κ°œ 트리 λ§Œλ“€κΈ°λ₯Ό ν—ˆμš©ν•©λ‹ˆλ‹€"
@@ -7884,90 +8178,90 @@ msgstr "μ—¬λŸ¬κ°œ 트리 λ§Œλ“€κΈ°λ₯Ό ν—ˆμš©ν•©λ‹ˆλ‹€"
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<μ˜΅μ…˜>] <원본>... <λŒ€μƒ>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "%s 디렉터리가 μΈλ±μŠ€μ— 있고 ν•˜μœ„ λͺ¨λ“ˆμ΄ μ—†μŠ΅λ‹ˆλ‹€?"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr "κ³„μ†ν•˜λ €λ©΄ .gitmodules의 λ³€κ²½ 사항을 μŠ€ν…Œμ΄μ§€μ— λ„£κ±°λ‚˜ stash ν•˜μ‹­μ‹œμ˜€"
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s이(κ°€) μΈλ±μŠ€μ— μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "λŒ€μƒμ΄ 이미 μžˆμ–΄λ„ κ°•μ œλ‘œ μ˜κΈ°κΈ°/이름 λ°”κΎΈκΈ°λ₯Ό ν•©λ‹ˆλ‹€"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "μ˜κΈ°κΈ°/이름 λ°”κΎΈκΈ° 였λ₯˜λ₯Ό κ±΄λ„ˆ λœλ‹ˆλ‹€"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "λŒ€μƒμ΄ ('%s') 디렉터리가 μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "'%s'을(λ₯Ό) '%s'(으)둜 이름 λ°”κΎΈκΈ°ν•©λ‹ˆλ‹€\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "잘λͺ»λœ 원본"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "디렉터리λ₯Ό 자기 μžμ‹ μœΌλ‘œ μ˜κΈΈ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "디렉터리λ₯Ό 파일둜 μ˜κΈΈ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "원본 디렉터리가 λΉ„μ–΄ μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "버전 컨트둀 쀑이 μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "λŒ€μƒμ΄ μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "'%s' λμ–΄μ“°κΈ°"
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "λμ–΄μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "λ™μΌν•œ λŒ€μƒμ— λŒ€ν•΄ μ—¬λŸ¬ 개 원본"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "λŒ€μƒ 디렉터리가 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s, 원본=%s, λŒ€μƒ=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "이름 λ°”κΎΈκΈ°, '%s'μ—μ„œ '%s'(으)둜\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "'%s'의 이름 λ°”κΎΈκΈ°κ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
@@ -8026,7 +8320,8 @@ msgstr ""
#: builtin/notes.c:27
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
-msgstr "git notes [--ref <λ…ΈνŠΈ-레퍼런슀>] copy [-f] <원본-였브젝트> <λŒ€μƒ-였브젝트>"
+msgstr ""
+"git notes [--ref <λ…ΈνŠΈ-레퍼런슀>] copy [-f] <원본-였브젝트> <λŒ€μƒ-였브젝트>"
#: builtin/notes.c:28
msgid ""
@@ -8047,7 +8342,8 @@ msgstr "git notes [--ref <notes-ref>] show [<였브젝트>]"
#: builtin/notes.c:31
msgid ""
"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
-msgstr "git notes [--ref <λ…ΈνŠΈ-레퍼런슀>] merge [-v | -q] [-s <μ „λž΅>] <λ…ΈνŠΈ-레퍼런슀>"
+msgstr ""
+"git notes [--ref <λ…ΈνŠΈ-레퍼런슀>] merge [-v | -q] [-s <μ „λž΅>] <λ…ΈνŠΈ-레퍼런슀>"
#: builtin/notes.c:32
msgid "git notes merge --commit [-v | -q]"
@@ -8164,9 +8460,9 @@ msgid "could not open or read '%s'"
msgstr "'%s'을(λ₯Ό) μ—΄κ±°λ‚˜ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€"
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "'%s'을(λ₯Ό) μ˜¬λ°”λ₯Έ 레퍼런슀둜 μ•Œμ•„λ‚΄λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€."
@@ -8181,83 +8477,87 @@ msgstr "'%s' 였브젝트 읽기에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€."
msgid "Cannot read note data from non-blob object '%s'."
msgstr "블둭이 μ•„λ‹Œ '%s' μ˜€λΈŒμ νŠΈμ— λŒ€ν•΄ λ…ΈνŠΈ 데이터λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "νŒŒλΌλ―Έν„°κ°€ λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "%s μ˜€λΈŒμ νŠΈμ— λŒ€ν•΄ λ…ΈνŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "λ¬Έμžμ—΄λ‘œ λ…ΈνŠΈ λ‚΄μš©"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "파일 μ•ˆμ— λ…ΈνŠΈ λ‚΄μš©"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "μ§€μ •ν•œ λ…ΈνŠΈ 였브젝트λ₯Ό μž¬μ‚¬μš©ν•˜κ³  νŽΈμ§‘ν•©λ‹ˆλ‹€"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "μ§€μ •ν•œ λ…ΈνŠΈ 였브젝트λ₯Ό μž¬μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "빈 λ…ΈνŠΈ μ €μž₯을 ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "κΈ°μ‘΄ λ…ΈνŠΈλ₯Ό λ°”κΏ‰λ‹ˆλ‹€"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
"existing notes"
-msgstr "λ…ΈνŠΈλ₯Ό μΆ”κ°€ν•  수 μ—†μŠ΅λ‹ˆλ‹€. %s μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ κΈ°μ‘΄ λ…ΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ λ…ΈνŠΈλ₯Ό λμ–΄μ“°λ €λ©΄ '-f' μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
+msgstr ""
+"λ…ΈνŠΈλ₯Ό μΆ”κ°€ν•  수 μ—†μŠ΅λ‹ˆλ‹€. %s μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ κΈ°μ‘΄ λ…ΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ λ…ΈνŠΈ"
+"λ₯Ό λμ–΄μ“°λ €λ©΄ '-f' μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "%s μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ κΈ°μ‘΄ λ…ΈνŠΈλ₯Ό λμ–΄μ”λ‹ˆλ‹€\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "%s μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ λ…ΈνŠΈλ₯Ό μ œκ±°ν•©λ‹ˆλ‹€\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 였브젝트λ₯Ό μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr "<λͺ…λ Ή>에 λŒ€ν•œ λ‹€μ‹œμ“°κΈ° 섀정을 μ½μ–΄λ“€μž…λ‹ˆλ‹€ (--stdin μ˜΅μ…˜ 포함)"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "νŒŒλΌλ―Έν„°κ°€ λ„ˆλ¬΄ μ μŠ΅λ‹ˆλ‹€"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
"existing notes"
-msgstr "λ…ΈνŠΈλ₯Ό 볡사할 수 μ—†μŠ΅λ‹ˆλ‹€. %s μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ κΈ°μ‘΄ λ…ΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ λ…ΈνŠΈλ₯Ό λμ–΄μ“°λ €λ©΄ '-f' μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
+msgstr ""
+"λ…ΈνŠΈλ₯Ό 볡사할 수 μ—†μŠ΅λ‹ˆλ‹€. %s μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ κΈ°μ‘΄ λ…ΈνŠΈκ°€ μžˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ λ…ΈνŠΈ"
+"λ₯Ό λμ–΄μ“°λ €λ©΄ '-f' μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "원본 %s μ˜€λΈŒμ νŠΈμ— λŒ€ν•œ λ…ΈνŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€. 볡사할 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8266,63 +8566,65 @@ msgstr ""
"-m/-F/-c/-C μ˜΅μ…˜μ€ 'edit' ν•˜μœ„ λͺ…령에 λŒ€ν•΄ μ‚¬μš©μ„ κΆŒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.\n"
"λŒ€μ‹ μ— 'git notes add -f -m/-F/-c/-C' λͺ…령을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "일반 μ˜΅μ…˜"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "병합 μ˜΅μ…˜"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
-msgstr "μ£Όμ–΄μ§„ μ „λž΅μ„ μ‚¬μš©ν•΄ λ…ΈνŠΈ μΆ©λŒμ„ ν•΄κ²°ν•©λ‹ˆλ‹€ (manual/ours/theirs/union/cat_sort_uniq)"
+msgstr ""
+"μ£Όμ–΄μ§„ μ „λž΅μ„ μ‚¬μš©ν•΄ λ…ΈνŠΈ μΆ©λŒμ„ ν•΄κ²°ν•©λ‹ˆλ‹€ (manual/ours/theirs/union/"
+"cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "λ³‘ν•©ν•˜μ§€ μ•Šμ€ λ…ΈνŠΈ 컀밋"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr "λ³‘ν•©ν•˜μ§€ μ•Šμ€ λ…ΈνŠΈλ₯Ό 컀밋해 λ…ΈνŠΈ 병합을 λ§ˆμΉ©λ‹ˆλ‹€"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "λ…ΈνŠΈ 병합 ν•΄κ²° 쀑지"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "λ…ΈνŠΈ 병합을 μ€‘μ§€ν•©λ‹ˆλ‹€"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "%s μœ„μΉ˜λ‘œ λ…ΈνŠΈ 병합이 이미 %sμ—μ„œ μ§„ν–‰μ€‘μž…λ‹ˆλ‹€"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "%s μ˜€λΈŒμ νŠΈμ— λ…ΈνŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr "μ—†λŠ” λ…ΈνŠΈλ₯Ό μ œκ±°ν•˜λ €λŠ” μ‹œλ„λ₯Ό 였λ₯˜κ°€ μ•„λ‹Œ κ²ƒμœΌλ‘œ μ·¨κΈ‰ν•©λ‹ˆλ‹€"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 였브젝트 이름을 μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "λ…ΈνŠΈ-레퍼런슀"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "<λ…ΈνŠΈ-레퍼런슀>μ—μ„œ λ…ΈνŠΈλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr "μ•Œ 수 μ—†λŠ” ν•˜μœ„ λͺ…λ Ή: %s"
@@ -8345,166 +8647,166 @@ msgstr ""
msgid "deflate error (%d)"
msgstr "deflate 였λ₯˜ (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "였브젝트 μ“°λŠ” 쀑"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr "λ¬ΆμŒμ— λ“€μ–΄μžˆμ§€ μ•Šμ€ μ˜€λΈŒμ νŠΈκ°€ μžˆμœΌλ―€λ‘œ, λΉ„νŠΈλ§΅ μ“°κΈ°λ₯Ό ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "였브젝트 μ••μΆ•ν•˜λŠ” 쀑"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "μ§€μ›ν•˜μ§€ μ•ŠλŠ” 인덱슀 버전 %s"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "잘λͺ»λœ 인덱슀 버전 '%s'"
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "μ§„ν–‰λ₯ μ„ ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "μ§„ν–‰λ₯ μ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr "였브젝트 μ“°κΈ° λ‹¨κ³„μ—μ„œ μ§„ν–‰λ₯ μ„ ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
msgstr "μ§„ν–‰λ₯ μ΄ ν‘œμ‹œλ  λ•Œ --all-progress와 λΉ„μŠ·ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "버전[,μ˜€ν”„μ…‹]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr "μ§€μ •ν•œ λ²„μ „μ˜ 인덱슀 ν˜•μ‹μ— 따라 묢음 인덱슀 νŒŒμΌμ„ μ”λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "좜λ ₯ 묢음 파일의 μ΅œλŒ€ 크기"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr "보쑰 였브젝트 μ €μž₯μ†Œμ—μ„œ 빌렀온 였브젝트λ₯Ό λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "묢음 였브젝트λ₯Ό λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "묢음 μœˆλ„μš°λ₯Ό 였브젝트 λ‹¨μœ„λ‘œ μ œν•œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr "묢음 μœˆλ„μš°λ₯Ό 였브젝트 λ‹¨μœ„μ— μΆ”κ°€λ‘œ λ©”λͺ¨λ¦¬ λ‹¨μœ„λ‘œ μ œν•œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr "κ²°κ³Όλ¬Ό λ¬ΆμŒμ—μ„œ ν—ˆμš©λ˜λŠ” μ΅œλŒ€ 길이의 델타 체인"
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "κΈ°μ‘΄ 델타λ₯Ό μž¬μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "κΈ°μ‘΄ 였브젝트λ₯Ό μž¬μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "OFS_DELTA 였브젝트λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr "μ΅œμƒμ˜ 델타 일치λ₯Ό κ²€μƒ‰ν•˜λŠ”λ° μŠ€λ ˆλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "빈 묢음 좜λ ₯을 λ§Œλ“€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 리비전 인자λ₯Ό μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr "λ¬Άμ§€ μ•ŠλŠ” 였브젝트 수λ₯Ό μ œν•œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "λͺ¨λ“  λ ˆνΌλŸ°μŠ€μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•œ 였브젝트λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr "reflog ν•­λͺ©μ—μ„œ λ ˆνΌλŸ°μŠ€ν•  수 μžˆλŠ” 였브젝트λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "μΈλ±μŠ€μ—μ„œ< λ ˆνΌλŸ°μŠ€ν•˜λŠ” 였브젝트λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "λ¬ΆμŒμ„ ν‘œμ€€ 좜λ ₯으둜 좜λ ₯ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr "λ¬ΆμŒμ— λ“€μ–΄κ°ˆ 였브젝트λ₯Ό λ ˆνΌλŸ°μŠ€ν•˜λŠ” νƒœκ·Έ 였브젝트λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "μ ‘κ·Ό λΆˆκ°€λŠ₯ 였브젝트λ₯Ό λ³΄μ‘΄ν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "μ‹œκ°"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr "<μ‹œκ°>보닀 μƒˆλ‘œμš΄ μ ‘κ·Ό λΆˆκ°€λŠ₯ 였브젝트의 λ¬ΆμŒμ„ ν’‰λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "얇은 λ¬ΆμŒμ„ λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr "얕은 κ°€μ Έμ˜€κΈ°μ— μ ν•©ν•œ λ¬ΆμŒμ„ λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "ν•΄λ‹Ήν•˜λŠ” .keep 파일이 μžˆλŠ” λ¬ΆμŒμ„ λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "묢음 μ••μΆ• 단계"
# FIXME: graft?
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "λΆ™μ–΄ μžˆλŠ” 컀밋을 μˆ¨κΈ°μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr "κ°€λŠ₯ν•˜λ©΄ λΉ„νŠΈλ§΅ 인덱슀λ₯Ό μ‚¬μš©ν•΄ 였브젝트 μ„ΈκΈ° 속도λ₯Ό λ†’μž…λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr "묢음 μΈλ±μŠ€μ™€ 같이 λΉ„νŠΈλ§΅ 인덱슀λ₯Ό μ”λ‹ˆλ‹€"
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "였브젝트 개수 μ„ΈλŠ” 쀑"
@@ -8548,59 +8850,65 @@ msgstr "<μ‹œκ°>보닀 였래 된 μ˜€λΈŒμ νŠΈκ°€ λ§Œλ£Œλ©λ‹ˆλ‹€"
msgid "cannot prune in a precious-objects repo"
msgstr "precious-objects μ €μž₯μ†Œμ—μ„œ μž˜λΌλ‚Ό 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<μ˜΅μ…˜>] [<μ €μž₯μ†Œ> [<레퍼런슀λͺ…μ„Έ>...]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "병합 κ΄€λ ¨ μ˜΅μ…˜"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "λ³€κ²½ 사항을 μ μš©ν•  λ•Œ λ³‘ν•©ν•˜λŠ” λŒ€μ‹  λ¦¬λ² μ΄μŠ€ν•©λ‹ˆλ‹€"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "μ •λ°©ν–₯ 진행을 ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "μ§€μ •ν•œ 컀밋에 μ˜¬λ°”λ₯Έ GPG μ„œλͺ…이 μžˆλŠ”μ§€ κ²€μ¦ν•©λ‹ˆλ‹€"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr "κ°€μ Έμ˜€κΈ° κ΄€λ ¨ μ˜΅μ…˜"
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "λ³‘λ ¬μ μœΌλ‘œ 풀을 μ‹€ν–‰ν•  ν•˜μœ„λͺ¨λ“ˆ 개수"
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "pull.ff에 λŒ€ν•΄ 잘λͺ»λœ κ°’: %s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
-msgstr "리베이슀둜 풀을 ν•  수 μ—†μŠ΅λ‹ˆλ‹€: μŠ€ν…Œμ΄μ§•ν•˜μ§€ μ•Šμ€ λ³€κ²½ 사항이 μžˆμŠ΅λ‹ˆλ‹€."
+msgstr ""
+"리베이슀둜 풀을 ν•  수 μ—†μŠ΅λ‹ˆλ‹€: μŠ€ν…Œμ΄μ§•ν•˜μ§€ μ•Šμ€ λ³€κ²½ 사항이 μžˆμŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr "μΆ”κ°€λ‘œ, μΈλ±μŠ€μ— μ»€λ°‹ν•˜μ§€ μ•Šμ€ λ³€κ²½ 사항이 μžˆμŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
-msgstr "리베이슀둜 풀을 ν•  수 μ—†μŠ΅λ‹ˆλ‹€: μΈλ±μŠ€μ— μ»€λ°‹ν•˜μ§€ μ•Šμ€ λ³€κ²½ 사항이 μžˆμŠ΅λ‹ˆλ‹€."
+msgstr ""
+"리베이슀둜 풀을 ν•  수 μ—†μŠ΅λ‹ˆλ‹€: μΈλ±μŠ€μ— μ»€λ°‹ν•˜μ§€ μ•Šμ€ λ³€κ²½ 사항이 μžˆμŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
msgstr "κ°€μ Έμ˜¨ 레퍼런슀 쀑에 λ¦¬λ² μ΄μŠ€ν•  λŒ€μƒ 후보가 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr "κ°€μ Έμ˜¨ 레퍼런슀 쀑에 병합할 λŒ€μƒ 후보가 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
@@ -8608,7 +8916,7 @@ msgstr ""
"보톡 이런 κ²½μš°λŠ” 리λͺ¨νŠΈ μͺ½μ—λŠ” μ—†λŠ” μ™€μΌλ“œμΉ΄λ“œ 레퍼런슀λͺ…μ„Έκ°€\n"
"μ£Όμ–΄μ‘Œμ„ λ•Œ μΌμ–΄λ‚©λ‹ˆλ‹€."
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8619,27 +8927,27 @@ msgstr ""
"이 리λͺ¨νŠΈλŠ” ν˜„μž¬ λΈŒλžœμΉ˜μ— λŒ€ν•΄ 기본으둜 μ„€μ •λœ 리λͺ¨νŠΈκ°€\n"
"μ•„λ‹ˆκΈ° λ•Œλ¬Έμ—, λͺ…λ Ήν–‰μ—μ„œ 브랜치λ₯Ό μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€."
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "ν˜„μž¬ μ–΄λ–€ 브랜치 μœ„μ—λ„ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr "μ–΄λ–€ 브랜치λ₯Ό λŒ€μƒμœΌλ‘œ λ¦¬λ² μ΄μŠ€ν• μ§€ μ§€μ •ν•˜μ‹­μ‹œμ˜€."
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "μ–΄λ–€ 브랜치λ₯Ό λŒ€μƒμœΌλ‘œ 병합할지 μ§€μ •ν•˜μ‹­μ‹œμ˜€."
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr "μžμ„Έν•œ μ •λ³΄λŠ” git-pull(1) νŽ˜μ΄μ§€λ₯Ό μ°Έκ³ ν•˜μ‹­μ‹œμ˜€."
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "ν˜„μž¬ λΈŒλžœμΉ˜μ— 좔적 정보가 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8650,7 +8958,7 @@ msgstr ""
"\n"
" git branch --set-upstream-to=%s/<브랜치> %s\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
@@ -8659,11 +8967,11 @@ msgstr ""
"μ„€μ •μ—μ„œ 리λͺ¨νŠΈμ˜ '%s' λ ˆνΌλŸ°μŠ€μ™€ λ³‘ν•©ν•˜λ„λ‘ μ§€μ •ν–ˆμ§€λ§Œ,\n"
"그런 레퍼런슀λ₯Ό κ°€μ Έμ˜€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr "λ§Œλ“€μ–΄μ§€μ§€ μ•Šμ€ 브랜치λ₯Ό μΈλ±μŠ€μ— μΆ”κ°€λœ λ³€κ²½ μ‚¬ν•­μœΌλ‘œ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€."
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8674,7 +8982,7 @@ msgstr ""
"μž‘μ—… 폴더λ₯Ό %s μ»€λ°‹μ—μ„œ μ •λ°©ν–₯\n"
"μ§„ν–‰ν•©λ‹ˆλ‹€."
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8691,11 +8999,11 @@ msgstr ""
"$ git reset --hard\n"
"λ³΅κ΅¬λ©λ‹ˆλ‹€."
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr "μ—¬λŸ¬ 브랜치λ₯Ό 빈 ν—€λ“œλ‘œ 병합할 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "μ—¬λŸ¬ 브랜치둜 λ¦¬λ² μ΄μŠ€ν•  수 μ—†μŠ΅λ‹ˆλ‹€."
@@ -8703,21 +9011,24 @@ msgstr "μ—¬λŸ¬ 브랜치둜 λ¦¬λ² μ΄μŠ€ν•  수 μ—†μŠ΅λ‹ˆλ‹€."
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<μ˜΅μ…˜>] [<μ €μž₯μ†Œ> [<레퍼런슀λͺ…μ„Έ>...]]"
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "<νƒœκ·Έ> 없이 νƒœκ·Έ μ€„μž„"
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "--delete μ˜΅μ…˜μ€ 일반 λŒ€μƒ 레퍼런슀 μ΄λ¦„λ§Œ λ°›μŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
-msgstr "\nμ–΄λŠ ν•œ μͺ½ μ˜΅μ…˜λ§Œ 계속 μ„ νƒν•˜λ €λ©΄, 'git help config'μ—μ„œ push.defaultλ₯Ό μ°Έκ³ ν•˜μ‹­μ‹œμ˜€."
+msgstr ""
+"\n"
+"μ–΄λŠ ν•œ μͺ½ μ˜΅μ…˜λ§Œ 계속 μ„ νƒν•˜λ €λ©΄, 'git help config'μ—μ„œ push.defaultλ₯Ό μ°Έκ³ "
+"ν•˜μ‹­μ‹œμ˜€."
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -8742,7 +9053,7 @@ msgstr ""
" git push %s %s\n"
"%s"
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -8757,7 +9068,7 @@ msgstr ""
"\n"
" git push %s HEAD:<name-of-remote-branch>\n"
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -8771,12 +9082,12 @@ msgstr ""
"\n"
" git push --set-upstream %s %s\n"
-#: builtin/push.c:182
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr "ν˜„μž¬ 브랜치 %s에 μ—¬λŸ¬ μ—…μŠ€νŠΈλ¦Ό λΈŒλžœμΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. ν‘Έμ‹œλ₯Ό κ±°μ ˆν•©λ‹ˆλ‹€."
-#: builtin/push.c:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -8787,58 +9098,13 @@ msgstr ""
"'%s' 브랜치의 μ—…μŠ€νŠΈλ¦Όμ΄ μ•„λ‹™λ‹ˆλ‹€. μ–΄λ–€ 리λͺ¨νŠΈ λΈŒλžœμΉ˜μ— 무엇을\n"
"ν‘Έμ‹œν• μ§€ μ„€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€."
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"push.defaultλ₯Ό μ„€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ¬΅μ‹œμ  값은 κΉƒ 2.0μ—μ„œ\n"
-"'matching'μ—μ„œ 'simple'둜 λ°”λ€Œμ—ˆμŠ΅λ‹ˆλ‹€. 이 λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•˜μ§€\n"
-"μ•Šκ³  과거의 λ™μž‘μ„ μœ μ§€ν•˜λ €λ©΄ λ‹€μŒκ³Ό 같이 ν•˜μ‹­μ‹œμ˜€:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"이 λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•˜μ§€ μ•Šκ³  μƒˆ λ™μž‘μ„ 받아듀이렀면 λ‹€μŒκ³Ό 같이\n"
-"ν•˜μ‹­μ‹œμ˜€:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"push.defaultκ°€ 'matching'으둜 μ„€μ •λ˜λ©΄, 둜컬 브랜치λ₯Ό 이미 같은 이름이\n"
-"μžˆλŠ” 리λͺ¨νŠΈ 브랜치둜 ν‘Έμ‹œν•©λ‹ˆλ‹€.\n"
-"\n"
-"κΉƒ 2.0λΆ€ν„° 더 보수적인 'simple' λ™μž‘μ΄ κΈ°λ³Έκ°’μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” ν˜„μž¬\n"
-"브랜치λ₯Ό 'git pull'μ—μ„œ ν˜„μž¬ 브랜치λ₯Ό μ—…λ°μ΄νŠΈν•  λ•Œ μ‚¬μš©ν•˜λŠ” ν•΄λ‹Ή\n"
-"리λͺ¨νŠΈ 브랜치둜 ν‘Έμ‹œν•©λ‹ˆλ‹€.\n"
-"\n"
-"더 μžμ„Έν•œ μ •λ³΄λŠ” 'git help config'μ—μ„œ 'push.default' μ„€λͺ…을 λ³΄μ‹­μ‹œμ˜€.\n"
-"('simple' λͺ¨λ“œλŠ” κΉƒ 1.7.11에 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. κ³Όκ±° λ²„μ „μ˜ 깃을 μ‚¬μš©ν•˜κ²Œ\n"
-"되면 λΉ„μŠ·ν•œ 'current' λͺ¨λ“œλ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.)"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
-msgstr "ν‘Έμ‹œν•  레퍼런슀λͺ…μ„Έλ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•˜κ³ , push.default 값이 'nothing'μž…λ‹ˆλ‹€."
+msgstr ""
+"ν‘Έμ‹œν•  레퍼런슀λͺ…μ„Έλ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•˜κ³ , push.default 값이 'nothing'μž…λ‹ˆλ‹€."
-#: builtin/push.c:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -8851,7 +9117,7 @@ msgstr ""
"μžμ„Έν•œ μ •λ³΄λŠ” 'git push --help'의 \"Note about fast-forwards' 뢀뢄을\n"
"μ°Έκ³ ν•˜μ‹­μ‹œμ˜€."
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
@@ -8864,7 +9130,7 @@ msgstr ""
"μžμ„Έν•œ μ •λ³΄λŠ” 'git push --help'의 \"Note about fast-forwards' 뢀뢄을\n"
"μ°Έκ³ ν•˜μ‹­μ‹œμ˜€."
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
@@ -8880,11 +9146,11 @@ msgstr ""
"μžμ„Έν•œ μ •λ³΄λŠ” 'git push --help'의 \"Note about fast-forwards' 뢀뢄을\n"
"μ°Έκ³ ν•˜μ‹­μ‹œμ˜€."
-#: builtin/push.c:301
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr "리λͺ¨νŠΈμ— νƒœκ·Έκ°€ 이미 있기 λ•Œλ¬Έμ— μ—…λ°μ΄νŠΈκ°€ κ±°λΆ€λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
-#: builtin/push.c:304
+#: builtin/push.c:271
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"
@@ -8894,22 +9160,22 @@ msgstr ""
"레퍼런슀λ₯Ό μ—…λ°μ΄νŠΈν•˜κ±°λ‚˜, 컀밋이 μ•„λ‹Œ 였브젝트λ₯Ό 가리킀도둝\n"
"μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€.\n"
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "λ‹€μŒμ— ν‘Έμ‹œ: %s\n"
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "레퍼런슀λ₯Ό '%s'에 ν‘Έμ‹œν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "잘λͺ»λœ μ €μž₯μ†Œ '%s'"
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -8930,104 +9196,100 @@ msgstr ""
"\n"
" git push <name>\n"
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "--all 및 --tags μ˜΅μ…˜μ€ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:414
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr "--all μ˜΅μ…˜μ€ 레퍼런슀λͺ…세와 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "--mirror 및 --tags μ˜΅μ…˜μ€ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:420
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr "--mirror μ˜΅μ…˜μ€ 레퍼런슀λͺ…세와 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "--all 및 --mirror μ˜΅μ…˜μ€ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr "μ €μž₯μ†Œ"
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "λͺ¨λ“  레퍼런슀 ν‘Έμ‹œν•˜κΈ°"
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "λͺ¨λ“  레퍼런슀 미러"
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr "레퍼런슀 μ‚­μ œ"
-#: builtin/push.c:542
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr "νƒœκ·Έ ν‘Έμ‹œν•˜κΈ° (--all λ˜λŠ” --mirror μ˜΅μ…˜κ³Ό 같이 μ“Έ 수 μ—†μŒ)"
-#: builtin/push.c:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "κ°•μ œλ‘œ μ—…λ°μ΄νŠΈ"
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "λ ˆνΌλŸ°μŠ€μ΄λ¦„>:<μ˜ˆμƒ"
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr "레퍼런슀의 κ³Όκ±° 값이 이 값이어야 ν•©λ‹ˆλ‹€"
-#: builtin/push.c:550
-msgid "check|on-demand|no"
-msgstr "check|on-demand|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "μž¬κ·€μ  ν•˜μœ„ λͺ¨λ“ˆ ν‘Έμ‹œ 방식을 μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "얇은 λ¬ΆμŒμ„ μ‚¬μš©ν•©λ‹ˆλ‹€"
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "receive pack ν”„λ‘œκ·Έλž¨"
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "git pull/status에 λŒ€ν•œ μ—…μŠ€νŠΈλ¦Όμ„ μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "λ‘œμ»¬μ—μ„œ μ œκ±°ν•œ 레퍼런슀λ₯Ό μž˜λΌλƒ…λ‹ˆλ‹€"
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "ν‘Έμ‹œ μ „ 후크λ₯Ό κ±΄λ„ˆλœλ‹ˆλ‹€"
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "λΉ μ‘Œμ§€λ§Œ κ΄€λ ¨λœ νƒœκ·Έλ₯Ό ν‘Έμ‹œν•©λ‹ˆλ‹€"
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "ν‘Έμ‹œμ— GPG μ„œλͺ…"
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "리λͺ¨νŠΈ μͺ½μ— μ›μž νŠΈλžœμž­μ…˜μ„ μš”μ²­ν•©λ‹ˆλ‹€"
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "--delete μ˜΅μ…˜μ€ --all, --mirror, --tags μ˜΅μ…˜κ³Ό ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "--delete μ˜΅μ…˜μ€ 레퍼런슀 없이 μ•žλ’€κ°€ λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
@@ -9036,7 +9298,10 @@ msgid ""
"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
-msgstr "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<접두어>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<파일>] (--empty | <트리-λ”°μœ„> [<트리-λ”°μœ„2> [<트리-λ”°μœ„3>]])"
+msgstr ""
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<접두어>) "
+"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
+"index-output=<파일>] (--empty | <트리-λ”°μœ„> [<트리-λ”°μœ„2> [<트리-λ”°μœ„3>]])"
#: builtin/read-tree.c:110
msgid "write resulting index to <file>"
@@ -9102,12 +9367,12 @@ msgstr "λ“œλ¬Έ 체크아웃 ν•„ν„° μ μš©μ„ κ±΄λ„ˆλœλ‹ˆλ‹€"
msgid "debug unpack-trees"
msgstr "unpack-trees 디버깅"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "'%s' 값이 '%s'에 λŒ€ν•΄ μ˜¬λ°”λ₯Έ μ‹œκ° 값이 μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "'%s'은(λŠ”) μ˜¬λ°”λ₯Έ μ‹œκ° 값이 μ•„λ‹™λ‹ˆλ‹€"
@@ -9248,55 +9513,45 @@ msgstr "--mirror μ˜΅μ…˜κ³Ό 같이 λ§ˆμŠ€ν„° 브랜치λ₯Ό μ§€μ •ν•˜λ©΄ μ•žλ’€κ°€
msgid "specifying branches to track makes sense only with fetch mirrors"
msgstr "λ§ˆμŠ€ν„° 브랜치λ₯Ό 지정은 fetch λ―ΈλŸ¬μ—μ„œλ§Œ μ•žλ’€κ°€ λ§žμŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "%s 리λͺ¨νŠΈκ°€ 이미 μžˆμŠ΅λ‹ˆλ‹€."
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "'%s'은(λŠ”) μ˜¬λ°”λ₯Έ 리λͺ¨νŠΈ 이름이 μ•„λ‹™λ‹ˆλ‹€"
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "λ§ˆμŠ€ν„° '%s'을(λ₯Ό) μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr "%s 레퍼런슀λͺ…세에 λŒ€ν•œ κ°€μ Έμ˜€κΈ° 맡을 얻을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "(일치)"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(μ‚­μ œ)"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "'%s'을(λ₯Ό) '%s'에 μΆ”κ°€ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "그런 리λͺ¨νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr "μ„€μ • μ„Ήμ…˜μ„ '%s'μ—μ„œ '%s'(으)둜 λ°”κΏ€ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "μ„€μ • μ„Ήμ…˜ '%s'을(λ₯Ό) μ œκ±°ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -9307,27 +9562,17 @@ msgstr ""
"\t%s\n"
"\tν•„μš”ν•˜λ©΄ 섀정을 μˆ˜λ™μœΌλ‘œ μ—…λ°μ΄νŠΈν•˜μ‹­μ‹œμ˜€."
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "'%s'에 덧뢙일 수 μ—†μŠ΅λ‹ˆλ‹€"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "'%s'을(λ₯Ό) μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "'%s' μ‚­μ œκ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "'%s' λ§Œλ“€κΈ°κ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9335,275 +9580,282 @@ msgid_plural ""
"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n"
"to delete them, use:"
msgstr[0] ""
-"μ•Œλ¦Ό: 레퍼런슀/리λͺ¨νŠΈ/ 계측 ꡬ쑰 밖에 μžˆλŠ” 일뢀 λΈŒλžœμΉ˜κ°€ μ œκ±°λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.\n"
+"μ•Œλ¦Ό: 레퍼런슀/리λͺ¨νŠΈ/ 계측 ꡬ쑰 밖에 μžˆλŠ” 일뢀 λΈŒλžœμΉ˜κ°€ μ œκ±°λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆ"
+"λ‹€.\n"
"μ‚­μ œν•˜λ €λ©΄ λ‹€μŒμ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€:"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "μ„€μ • μ„Ήμ…˜ '%s'을(λ₯Ό) μ œκ±°ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " μƒˆ ν•­λͺ© (λ‹€μŒ κ°€μ Έμ˜€κΈ°λŠ” remotes/%s μ•„λž˜ μ €μž₯λ©λ‹ˆλ‹€)"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " 좔적됨"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " 였래됨 (μ œκ±°ν•˜λ €λ©΄ 'git remote prune'을 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr "잘λͺ»λœ branch.%s.merge κ°’. μ—¬λŸ¬ 개 브랜치둜 λ¦¬λ² μ΄μŠ€ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "리베이슀: 리λͺ¨νŠΈ %s"
+msgid "rebases interactively onto remote %s"
+msgstr "리λͺ¨νŠΈ %s μœ„λ‘œ λŒ€ν™”μ‹μœΌλ‘œ λ¦¬λ² μ΄μŠ€ν•©λ‹ˆλ‹€"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr " 병합: 리λͺ¨νŠΈ %s"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " 그리고 리λͺ¨νŠΈ"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "병합: 리λͺ¨νŠΈ %s"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " 그리고 리λͺ¨νŠΈ"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "λ§Œλ“€κΈ°"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "μ‚­μ œ"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "μ΅œμ‹  μƒνƒœ"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "μ •λ°©ν–₯ μ§„ν–‰ κ°€λŠ₯"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "둜컬이 뒀떨어짐"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*sμ—μ„œ %-*s(으)둜 κ°•μ œ (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*sμ—μ„œ %-*s(으)둜 ν‘Έμ‹œ (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*sμ—μ„œ %s(으)둜 κ°•μ œ"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*sμ—μ„œ %s(으)둜 ν‘Έμ‹œ"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "리λͺ¨νŠΈμ— μ§ˆμ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* 리λͺ¨νŠΈ %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " κ°€μ Έμ˜€κΈ° URL: %s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(URL μ—†μŒ)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " ν‘Έμ‹œ URL: %s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " HEAD 브랜치: %s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
msgstr " HEAD 브랜치 (리λͺ¨νŠΈ HEADλŠ” μ• λ§€ν•˜κ³ , λ‹€μŒ 쀑 ν•˜λ‚˜μΌ 수 μžˆμŠ΅λ‹ˆλ‹€):\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
msgstr[0] " 리λͺ¨νŠΈ 브랜치:%s"
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr " (μƒνƒœλ₯Ό μ§ˆμ˜ν•˜μ§€ μ•ŠμŒ)"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] " 'git pull'에 μ‚¬μš©ν•  둜컬 브랜치λ₯Ό μ„€μ •:"
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr " 둜컬 레퍼런슀λ₯Ό 'git push'둜 λ―ΈλŸ¬λ§ν•  μ˜ˆμ •"
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " 둜컬 레퍼런슀λ₯Ό 'git push'둜 미러링%s:"
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "레퍼런슀/리λͺ¨νŠΈ/<이름>/HEAD 값을 리λͺ¨νŠΈμ— 맞게 μ„€μ •ν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "레퍼런슀/리λͺ¨νŠΈ/<이름>/HEAD 값을 μ‚­μ œν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "리λͺ¨νŠΈ HEADλ₯Ό κ²°μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
-msgstr "리λͺ¨νŠΈ HEAD λΈŒλžœμΉ˜κ°€ μ—¬λŸ¬κ°œμž…λ‹ˆλ‹€. λ‹€μŒ 쀑 ν•˜λ‚˜λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•˜μ‹­μ‹œμ˜€:"
+msgstr ""
+"리λͺ¨νŠΈ HEAD λΈŒλžœμΉ˜κ°€ μ—¬λŸ¬κ°œμž…λ‹ˆλ‹€. λ‹€μŒ 쀑 ν•˜λ‚˜λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•˜μ‹­μ‹œμ˜€:"
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr "%s을(λ₯Ό) μ‚­μ œν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "μ˜¬λ°”λ₯Έ λ ˆνΌλŸ°μŠ€κ°€ μ•„λ‹™λ‹ˆλ‹€: %s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "%s을(λ₯Ό) μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s의 연결이 λŠμ–΄μ§‘λ‹ˆλ‹€!"
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s의 연결이 λŠμ–΄μ‘ŒμŠ΅λ‹ˆλ‹€!"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "μž˜λΌλƒ„: %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [μž˜λΌλ‚Ό μ˜ˆμ •] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr " * [μž˜λΌλƒ„] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "κ°€μ Έμ˜¨ 후에 리λͺ¨νŠΈλ₯Ό μž˜λΌλƒ…λ‹ˆλ‹€"
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "그런 리λͺ¨νŠΈκ°€ μ—†μŠ΅λ‹ˆλ‹€ ('%s')"
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "브랜치λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "리λͺ¨νŠΈλ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr "κ°€μ Έμ˜€κΈ° URL이 μ•„λ‹ˆλΌ ν‘Έμ‹œ URL을 μ§ˆμ˜ν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "λͺ¨λ“  URL을 λ¦¬ν„΄ν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "'%s' 리λͺ¨νŠΈμ— λŒ€ν•œ URL을 μ„€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "ν‘Έμ‹œ URL을 μ§€μ •ν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "URL을 μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "URL을 μ‚­μ œν•©λ‹ˆλ‹€"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr "--add --delete μ˜΅μ…˜μ„ λ‘˜λ‹€ μ“°λ©΄ μ•ˆ λ©λ‹ˆλ‹€"
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "잘λͺ»λœ μ˜€λž˜μ „ URL νŒ¨ν„΄: %s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "그런 URL이 μ—†μŠ΅λ‹ˆλ‹€: %s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "ν‘Έμ‹œμš©μ΄ μ•„λ‹Œ λͺ¨λ“  URL을 μ‚­μ œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr "μžμ„Ένžˆ ν‘œμ‹œν•©λ‹ˆλ‹€ (ν•˜μœ„ λͺ…λ Ή μ•žμ— 와야 ν•©λ‹ˆλ‹€)"
@@ -9649,7 +9901,8 @@ msgstr "λŒ€λž΅μ˜μ‹œκ°"
#: builtin/repack.c:177
msgid "with -A, do not loosen objects older than this"
-msgstr "-A에 μΆ”κ°€λ‘œ, μ§€μ •ν•œ μ‹œκ°λ³΄λ‹€ 였래된 였브젝트λ₯Ό λŠμŠ¨ν•˜κ²Œ λ§Œλ“€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"-A에 μΆ”κ°€λ‘œ, μ§€μ •ν•œ μ‹œκ°λ³΄λ‹€ 였래된 였브젝트λ₯Ό λŠμŠ¨ν•˜κ²Œ λ§Œλ“€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
#: builtin/repack.c:179
msgid "size of the window used for delta compression"
@@ -9724,7 +9977,9 @@ msgstr "컀밋 '%s'에 잘λͺ»λœ ν˜•μ‹μ˜ λ³‘ν•©νƒœκ·Έ"
msgid ""
"original commit '%s' contains mergetag '%s' that is discarded; use --edit "
"instead of --graft"
-msgstr "본래 컀밋 '%s'에 버렀진 λ³‘ν•©νƒœκ·Έ '%s'이(κ°€) λ“€μ–΄ μžˆμŠ΅λ‹ˆλ‹€. --graft λŒ€μ‹  --edit μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
+msgstr ""
+"본래 컀밋 '%s'에 버렀진 λ³‘ν•©νƒœκ·Έ '%s'이(κ°€) λ“€μ–΄ μžˆμŠ΅λ‹ˆλ‹€. --graft λŒ€μ‹  --"
+"edit μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
#: builtin/replace.c:401
#, c-format
@@ -9872,7 +10127,9 @@ msgstr "--patch μ˜΅μ…˜μ€ --{hard,mixed,soft} μ˜΅μ…˜κ³Ό ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹
#: builtin/reset.c:331
msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
-msgstr "--mixed μ˜΅μ…˜μ„ κ²½λ‘œμ™€ 같이 μ“°κΈ°λŠ” 제거될 μ˜ˆμ •μž…λ‹ˆλ‹€. λŒ€μ‹ μ— 'git reset -- <경둜>'λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€."
+msgstr ""
+"--mixed μ˜΅μ…˜μ„ κ²½λ‘œμ™€ 같이 μ“°κΈ°λŠ” 제거될 μ˜ˆμ •μž…λ‹ˆλ‹€. λŒ€μ‹ μ— 'git reset -- <κ²½"
+"둜>'λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€."
#: builtin/reset.c:333
#, c-format
@@ -9901,7 +10158,7 @@ msgstr "인덱슀 νŒŒμΌμ„ '%s' λ¦¬λΉ„μ „μœΌλ‘œ 리셋할 수 μ—†μŠ΅λ‹ˆλ‹€."
msgid "Could not write new index file."
msgstr "μƒˆ 인덱슀 νŒŒμΌμ„ μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€."
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "rev-listλŠ” λ…ΈνŠΈ ν‘œμ‹œλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
@@ -9933,7 +10190,8 @@ msgstr ""
" or: git rev-parse --sq-quote [<인자>...]\n"
" or: git rev-parse [<μ˜΅μ…˜>] [<인자>...]\n"
"\n"
-"첫번째 μ‚¬μš©λ°©λ²•μ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œκ³  μ‹ΆμœΌλ©΄, \"git rev-parse --parseopt -h\"λ₯Ό\n"
+"첫번째 μ‚¬μš©λ°©λ²•μ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œκ³  μ‹ΆμœΌλ©΄, \"git rev-parse --parseopt -h"
+"\"λ₯Ό\n"
"μ‹€ν–‰ν•΄ λ³΄μ‹­μ‹œμ˜€."
#: builtin/revert.c:22
@@ -10040,7 +10298,9 @@ msgstr[0] ""
msgid ""
"\n"
"(use 'rm -rf' if you really want to remove it including all of its history)"
-msgstr "\n(μ •λ§λ‘œ κ·Έ 컀밋 λ‚΄μ—­κΉŒμ§€ 포함해 μ œκ±°ν•˜λ €λ©΄ 'rm -rf'λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)"
+msgstr ""
+"\n"
+"(μ •λ§λ‘œ κ·Έ 컀밋 λ‚΄μ—­κΉŒμ§€ 포함해 μ œκ±°ν•˜λ €λ©΄ 'rm -rf'λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)"
#: builtin/rm.c:230
msgid ""
@@ -10070,7 +10330,9 @@ msgstr[0] "λ‹€μŒ 파일이 μΈλ±μŠ€μ— μŠ€ν…Œμ΄μ§•ν•œ λ³€κ²½ 사항이 있슡
msgid ""
"\n"
"(use --cached to keep the file, or -f to force removal)"
-msgstr "\n(νŒŒμΌμ„ μœ μ§€ν•˜λ €λ©΄ --cached μ˜΅μ…˜, κ°•μ œλ‘œ μ œκ±°ν•˜λ €λ©΄ -f μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)"
+msgstr ""
+"\n"
+"(νŒŒμΌμ„ μœ μ§€ν•˜λ €λ©΄ --cached μ˜΅μ…˜, κ°•μ œλ‘œ μ œκ±°ν•˜λ €λ©΄ -f μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€)"
#: builtin/rm.c:251
msgid "the following file has local modifications:"
@@ -10118,7 +10380,9 @@ msgid ""
"[<ref>...]\n"
" --all and explicit <ref> specification are mutually exclusive."
msgstr ""
-"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [<호슀트>:]<디렉터리> [<레퍼런슀>...]\n"
+"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
+"receive-pack>] [--verbose] [--thin] [--atomic] [<호슀트>:]<디렉터리> [<레퍼런"
+"슀>...]\n"
" --all μ˜΅μ…˜κ³Ό λͺ…μ‹œμ μΈ <레퍼런슀> λͺ…μ„Έ 쀑 ν•˜λ‚˜λ§Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€."
#: builtin/send-pack.c:160
@@ -10141,28 +10405,23 @@ msgstr "리λͺ¨νŠΈ 도움 ν”„λ‘œκ·Έλž¨μ˜ μƒνƒœλ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<μ˜΅μ…˜>] [<리비전-λ²”μœ„>] [[--] [<경둜>...]]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "μž‘μ„±μž 정보가 μ—†μŠ΅λ‹ˆλ‹€: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "μž‘μ„±μžλ³„ 컀밋 μˆ˜μ— 따라 μ •λ ¬ν•©λ‹ˆλ‹€"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr "컀밋 μ„€λͺ…을 μƒλž΅ν•˜κ³ , 컀밋 수만 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "μž‘μ„±μžμ˜ μ „μžλ©”μΌ μ£Όμ†Œλ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "μ€„λ°”κΏˆ 좜λ ₯"
@@ -10303,43 +10562,43 @@ msgid "skip and remove all lines starting with comment character"
msgstr "주석 문자둜 μ‹œμž‘ν•˜λŠ” λͺ¨λ“  쀄을 κ±΄λ„ˆλ›°κ³  μ œκ±°ν•©λ‹ˆλ‹€"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
-msgstr "각 μ€„μ˜ μ•žμ— 주석 문자λ₯Ό 뢙이고 빈 μ€„λ‘œ λ§Œλ“­λ‹ˆλ‹€"
+msgid "prepend comment character and space to each line"
+msgstr "각 μ€„μ˜ μ•žμ— 주석 λ¬Έμžμ™€ 곡백을 λΆ™μž…λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "μƒλŒ€ κ²½λ‘œμ— μ‚¬μš©ν•  λ˜λ‹€λ₯Έ κΈ°μ€€"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<경둜>] [<경둜>...]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper name <경둜>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr "경둜 '%s'에 λŒ€ν•΄ .gitmodules에 μžˆλŠ” ν•˜μœ„λͺ¨λ“ˆ 맀핑이 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "μƒˆ ν•˜μœ„ λͺ¨λ“ˆμ„ λ³΅μ œν•  λŒ€μƒ μœ„μΉ˜"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "μƒˆ ν•˜μœ„ λͺ¨λ“ˆ 이름"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "ν•˜μœ„ λͺ¨λ“ˆμ„ λ³΅μ œν•΄ 올 URL"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "얕은 λ³΅μ œμ— μ‚¬μš©ν•  깊이"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10347,38 +10606,38 @@ msgstr ""
"git submodule--helper clone [--prefix=<경둜>] [--quiet] [--reference <μ €μž₯μ†Œ"
">] [--name <이름>] [--url <URL>][--depth <깊이>] [--] [<경둜>...]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "'%s' 디렉터리λ₯Ό λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr "'%s'μ—μ„œ ν•˜μœ„ λͺ¨λ“ˆ 경둜 '%s'에 λ³΅μ œν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "'%s' νŒŒμΌμ„ μ—΄ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "%s νŒŒμΌμ„ 닫을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr "'%s'에 λŒ€ν•œ ν•˜μœ„ λͺ¨λ“ˆ 디렉터리λ₯Ό κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr ""
"치λͺ…적 이상: submodule--helper ν•˜μœ„ λͺ…령은 ν•˜μœ„ λͺ…λ ΉμœΌλ‘œ ν˜ΈμΆœν•΄μ•Ό ν•©λ‹ˆλ‹€"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr "치λͺ…적 이상: '%s'은(λŠ”) μ˜¬λ°”λ₯Έ submodule--helper ν•˜μœ„ λͺ…령이 μ•„λ‹™λ‹ˆλ‹€"
@@ -10622,188 +10881,202 @@ msgstr "νƒœκ·Έ '%s' μ—…λ°μ΄νŠΈ (κ³Όκ±° %s)\n"
msgid "Unpacking objects"
msgstr "였브젝트 묢음 ν‘ΈλŠ” 쀑"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "%s 디렉터리 λ§Œλ“€κΈ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "%s에 stat()ν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "%s νŒŒμΌμ„ λ§Œλ“œλŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "%s νŒŒμΌμ„ μ‚­μ œν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "%s 디렉터리λ₯Ό μ‚­μ œν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "ν…ŒμŠ€νŠΈμ€‘ "
+msgid "Testing mtime in '%s' "
+msgstr "'%s' μ•ˆμ˜ μˆ˜μ • μ‹œκ°μ„ ν™•μΈν•˜λŠ” μ€‘μž…λ‹ˆλ‹€"
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr "μƒˆ νŒŒμΌμ„ μΆ”κ°€ν•œ 후에 디렉터리 정보가 λ°”λ€Œμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr "μƒˆ 디렉터리λ₯Ό μΆ”κ°€ν•œ 후에 디렉터리 정보가 λ°”λ€Œμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr "νŒŒμΌμ„ μ—…λ°μ΄νŠΈν•œ 후에 디렉터리 정보가 λ°”λ€Œμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr "ν•˜μœ„ 디렉터리에 νŒŒμΌμ„ μΆ”κ°€ν•œ 후에 디렉터리 정보가 λ°”λ€Œμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr "νŒŒμΌμ„ μ‚­μ œν•œ 후에 디렉터리 정보가 λ°”λ€Œμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr "디렉터리λ₯Ό μ‚­μ œν•œ 후에 디렉터리 정보가 λ°”λ€Œμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " μ˜€μΌ€μ΄"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<μ˜΅μ…˜>] [--] [<파일>...]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr "μΈλ±μŠ€μ— μ—…λ°μ΄νŠΈκ°€ ν•„μš”ν•˜λ”λΌλ„ μƒˆλ‘œ 고침을 κ³„μ†ν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "μƒˆλ‘œ κ³ μΉ¨: ν•˜μœ„ λͺ¨λ“ˆ λ¬΄μ‹œ"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "μƒˆ νŒŒμΌμ„ λ¬΄μ‹œν•  수 μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "디렉터리λ₯Ό 파일둜, λ˜λŠ” κ·Έ λ°˜λŒ€λ‘œ λ°”κΏ€ 수 있게 ν—ˆμš©ν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "μž‘μ—…ν΄λ”μ—μ„œ μ•Œλ¦Ό 파일이 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr "μΈλ±μŠ€μ— λ³‘ν•©ν•˜μ§€ μ•Šμ€ ν•­λͺ©μ΄ μžˆμ–΄λ„ μƒˆλ‘œ κ³ μΉ©λ‹ˆλ‹€"
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "파일 정보λ₯Ό μƒˆλ‘œ κ³ μΉ©λ‹ˆλ‹€"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "--refresh와 λ™μΌν•˜μ§€λ§Œ, assume-unchanged 섀정을 λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<λͺ¨λ“œ>,<였브젝트>,<경둜>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "μ§€μ •ν•œ ν•­λͺ©μ„ μΈλ±μŠ€μ— μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "λͺ©λ‘μ˜ νŒŒμΌμ—μ„œ μ‹€ν–‰ κ°€λŠ₯ λΉ„νŠΈλ₯Ό λ°”κΏ‰λ‹ˆλ‹€"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "νŒŒμΌμ„ \"λ°”κΎΈμ§€ μ•ŠμŒ\"으둜 ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "λ°”κΎΈμ§€ μ•ŠμŒμœΌλ‘œ κ°€μ • (assumed-unchanged) λΉ„νŠΈλ₯Ό μ§€μ›λ‹ˆλ‹€"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "νŒŒμΌμ„ 인덱슀 μ „μš©μœΌλ‘œ (\"index-only\") ν‘œμ‹œν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "μž‘μ—…ν΄λ” κ±΄λ„ˆλ›°κΈ° (skip-worktree) λΉ„νŠΈλ₯Ό μ§€μ›λ‹ˆλ‹€"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
-msgstr "μΈλ±μŠ€μ—λ§Œ μΆ”κ°€ν•©λ‹ˆλ‹€. λ‚΄μš©μ„ 였브젝트 λ°μ΄ν„°λ² μ΄μŠ€μ— μΆ”κ°€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"μΈλ±μŠ€μ—λ§Œ μΆ”κ°€ν•©λ‹ˆλ‹€. λ‚΄μš©μ„ 였브젝트 λ°μ΄ν„°λ² μ΄μŠ€μ— μΆ”κ°€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr "μž‘μ—… 폴더에 μžˆμ–΄λ„ ν•΄λ‹Ή 경둜λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr "--stdinκ³Ό 같이 μ‚¬μš©: μž…λ ₯ 쀄은 NUL λ°”μ΄νŠΈλ‘œ λλ‚©λ‹ˆλ‹€"
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ μ—…λ°μ΄νŠΈν•  경둜의 λͺ©λ‘μ„ μ½μŠ΅λ‹ˆλ‹€"
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
msgstr "ν‘œμ€€ μž…λ ₯μ—μ„œ 읽은 ν•­λͺ©μ„ μΈλ±μŠ€μ— μΆ”κ°€ν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr "경둜 λͺ©λ‘μ— λŒ€ν•΄ #2 및 #3 μŠ€ν…Œμ΄μ§•μ„ λ‹€μ‹œ ν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "HEAD와 λ‹€λ₯Έ ν•­λͺ©λ§Œ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "μž‘μ—… 폴더에 μ—†λŠ” νŒŒμΌμ„ λ¬΄μ‹œν•©λ‹ˆλ‹€"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "ν‘œμ€€ 좜λ ₯에 λ™μž‘μ„ μ•Œλ¦½λ‹ˆλ‹€"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "μ €μž₯ν•œ ν•΄κ²°λ˜μ§€ μ•Šμ€ μΆ©λŒμ„ λ¬΄μ‹œν•©λ‹ˆλ‹€ (μ‚¬μš©μžμš© λͺ…λ Ή μš©λ„)"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "인덱슀λ₯Ό 이 ν˜•μ‹μœΌλ‘œ μ”λ‹ˆλ‹€"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "μŠ€ν”Œλ¦Ώ 인덱슀λ₯Ό μΌœκ±°λ‚˜ λ•λ‹ˆλ‹€"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr "μΆ”μ ν•˜μ§€ μ•ŠλŠ” μΊμ‹œ μ‚¬μš©μ„ μΌœκ±°λ‚˜ λ•λ‹ˆλ‹€"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "파일 μ‹œμŠ€ν…œμ΄ μΆ”μ ν•˜μ§€ μ•ŠλŠ” μΊμ‹œλ₯Ό μ§€μ›ν•˜λŠ”μ§€ κ²€μ‚¬ν•©λ‹ˆλ‹€"
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr "파일 μ‹œμŠ€ν…œ ν…ŒμŠ€νŠΈ 없이 μΆ”μ ν•˜μ§€ μ•ŠλŠ” μΊμ‹œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€"
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "μΆ”μ λ˜μ§€ μ•ŠλŠ” μΊμ‹œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "'%s'에 λŒ€ν•΄ μΆ”μ λ˜μ§€ μ•ŠλŠ” μΊμ‹œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr "git update-ref [<μ˜΅μ…˜>] -d <λ ˆνΌλŸ°μŠ€μ΄λ¦„> [<κ³Όκ±°-κ°’>]"
@@ -10919,33 +11192,33 @@ msgstr "μ œκ±°μ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€: %s"
msgid "'%s' already exists"
msgstr "'%s'이(κ°€) 이미 μžˆμŠ΅λ‹ˆλ‹€"
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "'%s'의 디렉터리λ₯Ό λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "%s μ€€λΉ„ 쀑 (ID %s)"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr "λ‹€λ₯Έ μž‘μ—… ν΄λ”μ—μ„œ μ²΄ν¬μ•„μ›ƒν–ˆλ”λΌλ„ <브랜치>λ₯Ό μ²΄ν¬μ•„μ›ƒν•©λ‹ˆλ‹€"
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "μƒˆ 브랜치λ₯Ό λ§Œλ“­λ‹ˆλ‹€"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "브랜치λ₯Ό λ§Œλ“€κ±°λ‚˜ λ¦¬μ…‹ν•©λ‹ˆλ‹€"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "HEADλ₯Ό ν•΄λ‹Ή μ»€λ°‹μ—μ„œ λΆ„λ¦¬ν•©λ‹ˆλ‹€"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "-b, -B, --detach μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ§Œ μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€"
@@ -10965,7 +11238,7 @@ msgstr "ν•˜μœ„ 디렉터리 <접두어>에 λŒ€ν•΄ 트리 였브젝트λ₯Ό μ”λ‹ˆλ
msgid "only useful for debugging"
msgstr "디버깅 μš©λ„λ‘œλ§Œ μ‚¬μš©"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "디버깅 λ©”μ‹œμ§€λ₯Ό ν‘œμ€€μ˜€λ₯˜λ‘œ 좜λ ₯ν•©λ‹ˆλ‹€"
@@ -10979,6 +11252,10 @@ msgstr ""
"λͺ©λ‘μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. νŠΉμ • ν•˜μœ„ λͺ…λ Ήμ–΄λ‚˜ κ°œλ…μ— λŒ€ν•΄ 읽어 보렀면 'git help\n"
"<λͺ…λ Ή>' λ˜λŠ” 'git help <κ°œλ…>' λͺ…령을 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "곡개 ν‚€ 고정은 cURL 7.44.0 μ•ž λ²„μ „μ—μ„œλŠ” μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "μž‘μ—… 곡간 μ‹œμž‘ (μ°Έκ³ : git help tutorial)"
@@ -11060,8 +11337,8 @@ msgid "Update remote refs along with associated objects"
msgstr "원격 레퍼런슀 및 그와 κ΄€λ ¨λœ 였브젝트λ₯Ό μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "둜컬 컀밋을 μ—…λ°μ΄νŠΈλœ μ—…μŠ€νŠΈλ¦Ό head λ‹€μŒμ— 맞좰 λ„£μŠ΅λ‹ˆλ‹€"
+msgid "Reapply commits on top of another base tip"
+msgstr "컀밋을 λ‹€λ₯Έ 베이슀 끝의 μ΅œμƒμœ„μ—μ„œ μ μš©ν•©λ‹ˆλ‹€"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -11312,7 +11589,8 @@ msgid ""
msgstr ""
"이 문제λ₯Ό ν•΄κ²°ν•˜λ©΄, \"\"git rebase --continue\"λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€.\n"
"이 패치λ₯Ό κ±΄λ„ˆλ›°λ €λ©΄, λŒ€μ‹ μ— \"git rebase --skip\"을 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€.\n"
-"μ›λž˜ 브랜치λ₯Ό μ²΄ν¬μ•„μ›ƒν•˜κ³  리베이슀λ₯Ό μ€‘μ§€ν•˜λ €λ©΄, \"git rebase --abort\"λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
+"μ›λž˜ 브랜치λ₯Ό μ²΄ν¬μ•„μ›ƒν•˜κ³  리베이슀λ₯Ό μ€‘μ§€ν•˜λ €λ©΄, \"git rebase --abort\"λ₯Ό μ‹€"
+"ν–‰ν•˜μ‹­μ‹œμ˜€."
#: git-rebase.sh:165
msgid "Applied autostash."
@@ -11685,7 +11963,9 @@ msgstr "'$prefix$displaypath' μž…λ ₯"
#: git-submodule.sh:437
#, sh-format
msgid "Stopping at '$prefix$displaypath'; script returned non-zero status."
-msgstr "'$prefix$displaypath' μœ„μΉ˜μ—μ„œ 멈좀. μŠ€ν¬λ¦½νŠΈμ—μ„œ 0이 μ•„λ‹Œ μƒνƒœλ₯Ό λ¦¬ν„΄ν–ˆμŠ΅λ‹ˆλ‹€."
+msgstr ""
+"'$prefix$displaypath' μœ„μΉ˜μ—μ„œ 멈좀. μŠ€ν¬λ¦½νŠΈμ—μ„œ 0이 μ•„λ‹Œ μƒνƒœλ₯Ό λ¦¬ν„΄ν–ˆμŠ΅λ‹ˆ"
+"λ‹€."
#: git-submodule.sh:483
#, sh-format
@@ -11705,7 +11985,8 @@ msgstr "'$displaypath' κ²½λ‘œμ— ($url) λŒ€ν•΄ λ“±λ‘λœ '$name' ν•˜μœ„ λͺ¨λ“ˆ"
#: git-submodule.sh:511
#, sh-format
msgid "Failed to register update mode for submodule path '$displaypath'"
-msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath'에 λŒ€ν•΄ μ—…λ°μ΄νŠΈ λͺ¨λ“œλ₯Ό λ“±λ‘ν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath'에 λŒ€ν•΄ μ—…λ°μ΄νŠΈ λͺ¨λ“œλ₯Ό λ“±λ‘ν•˜λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
#: git-submodule.sh:549
#, sh-format
@@ -11728,7 +12009,9 @@ msgstr "(μ •λ§λ‘œ κ·Έ 컀밋 λ‚΄μ—­κΉŒμ§€ 포함해 μ œκ±°ν•˜λ €λ©΄ 'rm -rf'λ₯Ό
msgid ""
"Submodule work tree '$displaypath' contains local modifications; use '-f' to "
"discard them"
-msgstr "ν•˜μœ„ λͺ¨λ“ˆ μž‘μ—… 폴더에 ('$displaypath') 둜컬 μˆ˜μ • 사항이 μžˆμŠ΅λ‹ˆλ‹€. 버리렀면 '-f'λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
+msgstr ""
+"ν•˜μœ„ λͺ¨λ“ˆ μž‘μ—… 폴더에 ('$displaypath') 둜컬 μˆ˜μ • 사항이 μžˆμŠ΅λ‹ˆλ‹€. 버리렀면 '-"
+"f'λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€"
#: git-submodule.sh:576
#, sh-format
@@ -11748,9 +12031,10 @@ msgstr "빈 ν•˜μœ„ λͺ¨λ“ˆ 디렉터리λ₯Ό ('$displaypath') λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ
#: git-submodule.sh:589
#, sh-format
msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
-msgstr "'$name' ν•˜μœ„ λͺ¨λ“ˆμ΄ ($url) '$displaypath' κ²½λ‘œμ— λŒ€ν•΄ λ“±λ‘λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
+msgstr ""
+"'$name' ν•˜μœ„ λͺ¨λ“ˆμ΄ ($url) '$displaypath' κ²½λ‘œμ— λŒ€ν•΄ λ“±λ‘λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
@@ -11759,101 +12043,103 @@ msgstr ""
"ν•˜μœ„ λͺ¨λ“ˆ κ²½λ‘œκ°€ ('$displaypath') μ΄ˆκΈ°ν™”λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€\n"
"μ•„λ§ˆλ„ 'update --init'이 ν•„μš”ν•©λ‹ˆλ‹€?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ κ²½λ‘œμ—μ„œ ('$displaypath') ν˜„μž¬ 리비전을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$sm_path'μ—μ„œ κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath'μ—μ„œ κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath'μ—μ„œ '$sha1'을(λ₯Ό) 체크아웃할 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath': '$sha1' 체크아웃"
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath'μ—μ„œ '$sha1'을(λ₯Ό) λ¦¬λ² μ΄μŠ€ν•  수 μ—†μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath': '$sha1'(으)둜 리베이슀"
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath'μ—μ„œ '$sha1' 병합할 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath': '$sha1'μ—μ„œ 병합"
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
-msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$prefix$sm_path'μ—μ„œ '$command $sha1' 싀행이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
+msgstr ""
+"ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$prefix$sm_path'μ—μ„œ '$command $sha1' 싀행이 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$prefix$sm_path': '$command $sha1'"
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "μž¬κ·€μ μœΌλ‘œ ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$displaypath'에 λ“€μ–΄κ°€λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr "--cached μ˜΅μ…˜μ€ --files μ˜΅μ…˜κ³Ό 같이 μ“Έ 수 μ—†μŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "μ˜ˆμƒμΉ˜ λͺ»ν•œ λͺ¨λ“œ $mod_dst"
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr " κ²½κ³ : '$display_name'에 '$sha1_src' 컀밋이 λ“€μ–΄μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr " κ²½κ³ : '$display_name'에 '$sha1_dst' 컀밋이 λ“€μ–΄μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
-msgstr " κ²½κ³ : '$display_name'에 '$sha1_src' 및 '$sha1_dst' 컀밋이 λ“€μ–΄μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
+msgstr ""
+" κ²½κ³ : '$display_name'에 '$sha1_src' 및 '$sha1_dst' 컀밋이 λ“€μ–΄μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "λΈ”λ‘­"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "μž¬κ·€μ μœΌλ‘œ ν•˜μœ„ λͺ¨λ“ˆ 경둜 '$sm_path'에 λ“€μ–΄κ°€λŠ”λ° μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€"
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "ν•˜μœ„ λͺ¨λ“ˆ URL을 '$displaypath'에 λŒ€ν•΄ 동기화"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 689ad1b0fe..321b553877 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -2,333 +2,667 @@
# Copyright (C) 2012 Marco Sousa <marcomsousa AT gmail.com>
# This file is distributed under the same license as the Git package.
# Contributers:
-# - Marco Sousa <marcomsousa AT gmail.com>
-#
+# - Marco Sousa <marcomsousa AT gmail.com>
+# Vasco Almeida <vasco13almeida@gmail.com>, 2016.
msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2012-05-08 16:06+0800\n"
-"PO-Revision-Date: 2012-05-14 21:17+0100\n"
-"Last-Translator: Marco Sousa <marcomsousa AT gmail.com>\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-22 16:00+0000\n"
+"Last-Translator: Vasco Almeida <vasco13almeida@gmail.com>\n"
"Language-Team: Portuguese\n"
+"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
-#: advice.c:40
+#: advice.c:55
#, c-format
msgid "hint: %.*s\n"
-msgstr "dica: %.*s\n"
+msgstr "sugestΓ£o: %.*s\n"
-#.
-#. * Message used both when 'git commit' fails and when
-#. * other commands doing a merge do.
-#.
-#: advice.c:70
+#: advice.c:88
+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."
+msgstr ""
+"Corrija-os na Γ‘rvore de trabalho e use 'git add/rm <ficheiro>'\n"
+"conforme apropriado para marcΓ‘-los como resolvidos e faΓ§a commit."
+
+#: advice.c:101 builtin/merge.c:1226
+msgid "You have not concluded your merge (MERGE_HEAD exists)."
+msgstr "Merge nΓ£o concluΓ­do (MERGE_HEAD presente)."
+
+#: advice.c:103
+msgid "Please, commit your changes before merging."
+msgstr "FaΓ§a commit das suas alteraΓ§Γ΅es antes de efetuar merge."
+
+#: advice.c:104
+msgid "Exiting because of unfinished merge."
+msgstr "A terminar por causa de merge incompleto."
+
+#: archive.c:12
+msgid "git archive [<options>] <tree-ish> [<path>...]"
+msgstr "git archive [<opΓ§Γ΅es>] <Γ‘rvore> [<caminho>...]"
+
+#: archive.c:13
+msgid "git archive --list"
+msgstr "git archive --list"
+
+#: archive.c:14
msgid ""
-"Fix them up in the work tree,\n"
-"and then use 'git add/rm <file>' as\n"
-"appropriate to mark resolution and make a commit,\n"
-"or use 'git commit -a'."
+"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
msgstr ""
+"git archive --remote <repo> [--exec <cmd>] [<opΓ§Γ΅es>] <tree-ish> "
+"[<caminho>...]"
-#: bundle.c:36
+#: archive.c:15
+msgid "git archive --remote <repo> [--exec <cmd>] --list"
+msgstr "git archive --remote <repo> [--exec <cmd>] --list"
+
+#: archive.c:344 builtin/add.c:137 builtin/add.c:420 builtin/rm.c:327
#, c-format
-msgid "'%s' does not look like a v2 bundle file"
+msgid "pathspec '%s' did not match any files"
+msgstr "o especificador de caminho '%s' nΓ£o corresponde a nenhum ficheiro"
+
+#: archive.c:429
+msgid "fmt"
+msgstr "fmt"
+
+#: archive.c:429
+msgid "archive format"
+msgstr "formato do arquivo"
+
+#: archive.c:430 builtin/log.c:1232
+msgid "prefix"
+msgstr "prefixo"
+
+#: archive.c:431
+msgid "prepend prefix to each pathname in the archive"
+msgstr "preceder o prefixo a cada nome de caminho dentro do arquivo"
+
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
+msgid "file"
+msgstr "ficheiro"
+
+#: archive.c:433 builtin/archive.c:89
+msgid "write the archive to this file"
+msgstr "escrever o arquivo para este ficheiro"
+
+#: archive.c:435
+msgid "read .gitattributes in working directory"
+msgstr "ler .gitattributes do diretΓ³rio de trabalho"
+
+#: archive.c:436
+msgid "report archived files on stderr"
+msgstr "listar ficheiros arquivados para stderr"
+
+#: archive.c:437
+msgid "store only"
+msgstr "armazenar apenas"
+
+#: archive.c:438
+msgid "compress faster"
+msgstr "compressΓ£o rΓ‘pida"
+
+#: archive.c:446
+msgid "compress better"
+msgstr "compressΓ£o Γ³tima"
+
+#: archive.c:449
+msgid "list supported archive formats"
+msgstr "listar formatos de arquivo suportados"
+
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
+msgid "repo"
+msgstr "repo"
+
+#: archive.c:452 builtin/archive.c:91
+msgid "retrieve the archive from remote repository <repo>"
+msgstr "obter o arquivo a partir do repositΓ³rio remoto <repo>"
+
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
+msgid "command"
+msgstr "comando"
+
+#: archive.c:454 builtin/archive.c:93
+msgid "path to the remote git-upload-archive command"
+msgstr "caminho para o comando git-upload-archive no remoto"
+
+#: attr.c:263
+msgid ""
+"Negative patterns are ignored in git attributes\n"
+"Use '\\!' for literal leading exclamation."
msgstr ""
+"Os padrΓ΅es negativos sΓ£o ignorados nos atributos do git\n"
+"Use '\\!' para uma exclamaΓ§Γ£o literal Γ  esquerda."
-#: bundle.c:63
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"ApΓ³s resolver a causa do problema, pode tentar corrigir\n"
+"o ramo remoto que deve ser seguido invocando\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+
+#: branch.c:67
+#, c-format
+msgid "Not setting branch %s as its own upstream."
+msgstr "O ramo %s nΓ£o foi configurado com ramo a montante dele prΓ³prio."
+
+#: branch.c:93
+#, c-format
+msgid "Branch %s set up to track remote branch %s from %s by rebasing."
+msgstr "Ramo %s configurado para seguir o ramo remoto %s de %s por rebase."
+
+#: branch.c:94
+#, c-format
+msgid "Branch %s set up to track remote branch %s from %s."
+msgstr "Ramo %s configurado para seguir o ramo remoto %s de %s."
+
+#: branch.c:98
+#, c-format
+msgid "Branch %s set up to track local branch %s by rebasing."
+msgstr "Ramo %s configurado para seguir o ramo local %s por rebase."
+
+#: branch.c:99
+#, c-format
+msgid "Branch %s set up to track local branch %s."
+msgstr "Ramo %s configurado para seguir o ramo local %s."
+
+#: branch.c:104
+#, c-format
+msgid "Branch %s set up to track remote ref %s by rebasing."
+msgstr "Ramo %s configurado para seguir a referΓͺncia remota %s por rebase."
+
+#: branch.c:105
+#, c-format
+msgid "Branch %s set up to track remote ref %s."
+msgstr "Ramo %s configurado para seguir a referΓͺncia remota %s."
+
+#: branch.c:109
+#, c-format
+msgid "Branch %s set up to track local ref %s by rebasing."
+msgstr "Ramo %s configurado para seguir a referΓͺncia local %s por rebase."
+
+#: branch.c:110
+#, c-format
+msgid "Branch %s set up to track local ref %s."
+msgstr "Ramo %s configurado para seguir a referΓͺncia local %s."
+
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "NΓ£o foi possΓ­vel escrever a configuraΓ§Γ£o do ramo a montante"
+
+#: branch.c:156
+#, c-format
+msgid "Not tracking: ambiguous information for ref %s"
+msgstr "NΓ£o seguido: informaΓ§Γ£o da referΓͺncia %s ambΓ­gua"
+
+#: branch.c:185
+#, c-format
+msgid "'%s' is not a valid branch name."
+msgstr "'%s' nΓ£o Γ© um nome vΓ‘lido para um ramo."
+
+#: branch.c:190
+#, c-format
+msgid "A branch named '%s' already exists."
+msgstr "JΓ‘ existe um ramo designado '%s'."
+
+#: branch.c:198
+msgid "Cannot force update the current branch."
+msgstr "NΓ£o Γ© possΓ­vel forΓ§ar a atualizaΓ§Γ£o do ramo atual."
+
+#: branch.c:218
+#, c-format
+msgid "Cannot setup tracking information; starting point '%s' is not a branch."
+msgstr ""
+"NΓ£o Γ© possΓ­vel configurar ramo a seguir; o ponto inicial '%s' nΓ£o Γ© um ramo."
+
+#: branch.c:220
+#, c-format
+msgid "the requested upstream branch '%s' does not exist"
+msgstr "o ramo a montante solicitado '%s' nΓ£o existe"
+
+#: branch.c:222
+msgid ""
+"\n"
+"If you are planning on basing your work on an upstream\n"
+"branch that already exists at the remote, you may need to\n"
+"run \"git fetch\" to retrieve it.\n"
+"\n"
+"If you are planning to push out a new local branch that\n"
+"will track its remote counterpart, you may want to use\n"
+"\"git push -u\" to set the upstream config as you push."
+msgstr ""
+"\n"
+"Se pretende efetuar rebase do seu trabalho sobre um ramo\n"
+"a montante que jΓ‘ existe no remoto, pode ser necessΓ‘rio\n"
+"executar \"git fetch\" para obtΓͺ-lo.\n"
+"\n"
+"Se pretende publicar um novo ramo local que irΓ‘ seguir\n"
+"o seu homΓ³logo remoto, pode usar \"git push -u\" para configurar\n"
+"o respetivo ramo a montante, ao mesmo tempo que publica."
+
+#: branch.c:266
+#, c-format
+msgid "Not a valid object name: '%s'."
+msgstr "Nome de objeto invΓ‘lido: '%s'."
+
+#: branch.c:286
+#, c-format
+msgid "Ambiguous object name: '%s'."
+msgstr "Nome de objeto ambΓ­guo: '%s'."
+
+#: branch.c:291
+#, c-format
+msgid "Not a valid branch point: '%s'."
+msgstr "Ponto no ramo invΓ‘lido: '%s'."
+
+#: branch.c:344
+#, c-format
+msgid "'%s' is already checked out at '%s'"
+msgstr "'%s' jΓ‘ extraΓ­do em '%s'"
+
+#: bundle.c:34
+#, c-format
+msgid "'%s' does not look like a v2 bundle file"
+msgstr "'%s' nΓ£o parece ser um ficheiro bundle v2"
+
+#: bundle.c:61
#, c-format
msgid "unrecognized header: %s%s (%d)"
msgstr "cabeΓ§alho nΓ£o reconhecido: %s%s (%d)"
-#: bundle.c:89
-#: builtin/commit.c:753
+#: bundle.c:87 builtin/commit.c:766
#, c-format
msgid "could not open '%s'"
-msgstr "nΓ£o Γ© possivel abrir '%s'"
+msgstr "nΓ£o Γ© possΓ­vel abrir '%s'"
-#: bundle.c:140
+#: bundle.c:139
msgid "Repository lacks these prerequisite commits:"
-msgstr ""
+msgstr "O repositΓ³rio nΓ£o possuΓ­ estes commits prΓ©-requisitados:"
-#: bundle.c:164
-#: sequencer.c:533
-#: sequencer.c:965
-#: builtin/log.c:289
-#: builtin/log.c:719
-#: builtin/log.c:1335
-#: builtin/log.c:1554
-#: builtin/merge.c:347
-#: builtin/shortlog.c:181
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
-msgstr ""
+msgstr "falha ao configurar percurso de revisΓ΅es"
-#: bundle.c:186
+#: bundle.c:185
#, c-format
-msgid "The bundle contains %d ref"
-msgid_plural "The bundle contains %d refs"
-msgstr[0] ""
-msgstr[1] ""
+msgid "The bundle contains this ref:"
+msgid_plural "The bundle contains these %d refs:"
+msgstr[0] "O bundle contΓ©m esta referΓͺncia:"
+msgstr[1] "O bundle contΓ©m estas %d referΓͺncias:"
#: bundle.c:192
+msgid "The bundle records a complete history."
+msgstr "O pacote regista um histΓ³rico completo."
+
+#: bundle.c:194
#, c-format
-msgid "The bundle requires this ref"
-msgid_plural "The bundle requires these %d refs"
-msgstr[0] ""
-msgstr[1] ""
+msgid "The bundle requires this ref:"
+msgid_plural "The bundle requires these %d refs:"
+msgstr[0] "O bundle requer esta referΓͺncia:"
+msgstr[1] "O bundle requer estas %d referΓͺncias:"
+
+#: bundle.c:253
+msgid "Could not spawn pack-objects"
+msgstr "NΓ£o foi possΓ­vel lanΓ§ar pack-objects"
-#: bundle.c:290
+#: bundle.c:264
+msgid "pack-objects died"
+msgstr "pack-objects terminou inesperadamente"
+
+#: bundle.c:304
msgid "rev-list died"
-msgstr "rev-list morreu"
+msgstr "rev-list terminou inesperadamente"
-#: bundle.c:296
-#: builtin/log.c:1231
-#: builtin/shortlog.c:284
+#: bundle.c:353
#, c-format
-msgid "unrecognized argument: %s"
-msgstr "argumento nΓ£o reconhecido: %s"
+msgid "ref '%s' is excluded by the rev-list options"
+msgstr "a referΓͺncia '%s' Γ© excluΓ­da pelas opΓ§Γ΅es de rev-list"
-#: bundle.c:331
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
-msgid "ref '%s' is excluded by the rev-list options"
-msgstr ""
+msgid "unrecognized argument: %s"
+msgstr "argumento nΓ£o reconhecido: %s"
-#: bundle.c:376
+#: bundle.c:449
msgid "Refusing to create empty bundle."
-msgstr ""
-
-#: bundle.c:394
-msgid "Could not spawn pack-objects"
-msgstr "NΓ£o foi possΓ­vel pawn pack-objects"
-
-#: bundle.c:412
-msgid "pack-objects died"
-msgstr ""
+msgstr "CriaΓ§Γ£o de bundle vazio recusada."
-#: bundle.c:415
+#: bundle.c:459
#, c-format
msgid "cannot create '%s'"
-msgstr "nΓ£o consegue crear '%s'"
+msgstr "nΓ£o Γ© possΓ­vel criar '%s'"
-#: bundle.c:437
+#: bundle.c:480
msgid "index-pack died"
-msgstr ""
+msgstr "index-pack terminou inesperadamente"
+
+#: color.c:275
+#, c-format
+msgid "invalid color value: %.*s"
+msgstr "valor de cor invΓ‘lido: %.*s"
-#: commit.c:48
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
-msgstr "nΓ£o consigo parsear %s"
+msgstr "nΓ£o foi possΓ­vel analisar %s"
-#: commit.c:50
+#: commit.c:42
#, c-format
msgid "%s %s is not a commit!"
msgstr "%s %s nΓ£o Γ© um commit!"
-#: compat/obstack.c:406
-#: compat/obstack.c:408
+#: compat/obstack.c:406 compat/obstack.c:408
msgid "memory exhausted"
msgstr "memΓ³ria esgotada"
-#: connected.c:39
+#: config.c:475 config.c:477
+#, fuzzy, c-format
+msgid "bad config line %d in %s %s"
+msgstr "linha %d de configuraΓ§Γ£o incorreta em %s %s"
+
+#: config.c:593
+#, c-format
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "valor numΓ©rico '%s' da configuraΓ§Γ£o '%s' em %s %s incorreto: %s"
+
+#: config.c:595
+#, c-format
+msgid "bad numeric config value '%s' for '%s': %s"
+msgstr "valor numΓ©rico '%s' da configuraΓ§Γ£o '%s' incorreto: %s"
+
+#: config.c:680
+#, c-format
+msgid "failed to expand user dir in: '%s'"
+msgstr "falha ao expandir diretΓ³rio de utilizador em: '%s'"
+
+#: config.c:758 config.c:769
+#, c-format
+msgid "bad zlib compression level %d"
+msgstr "nΓ­vel de compressΓ£o zlib %d incorreto"
+
+#: config.c:891
+#, c-format
+msgid "invalid mode for object creation: %s"
+msgstr "modo invΓ‘lido para criaΓ§Γ£o de objeto: %s"
+
+#: config.c:1220
+msgid "unable to parse command-line config"
+msgstr "nΓ£o Γ© possΓ­vel analisar configuraΓ§Γ£o de linha de comandos"
+
+#: config.c:1281
+msgid "unknown error occured while reading the configuration files"
+msgstr ""
+"ocorreu um erro desconhecido durante a leitura dos ficheiros de configuraΓ§Γ£o"
+
+#: config.c:1629
+#, c-format
+msgid "unable to parse '%s' from command-line config"
+msgstr "nΓ£o Γ© possΓ­vel analisar '%s' da configuraΓ§Γ£o de linha de comandos"
+
+#: config.c:1631
+#, c-format
+msgid "bad config variable '%s' in file '%s' at line %d"
+msgstr "variΓ‘vel de configuraΓ§Γ£o '%s' incorreta no ficheiro '%s' na linha %d"
+
+#: config.c:1690
+#, c-format
+msgid "%s has multiple values"
+msgstr "%s tem mΓΊltiplos valores"
+
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "NΓ£o foi possΓ­vel definir '%s' como '%s'"
+
+#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "NΓ£o foi possΓ­vel executar 'git rev-list'"
-#: connected.c:48
+#: connected.c:89
#, c-format
msgid "failed write to rev-list: %s"
-msgstr ""
+msgstr "falha ao escrever para rev-list: %s"
-#: connected.c:56
+#: connected.c:97
#, c-format
msgid "failed to close rev-list's stdin: %s"
-msgstr ""
+msgstr "falha ao fechar stdin de rev-list: %s"
#: date.c:95
msgid "in the future"
-msgstr ""
+msgstr "no futuro"
#: date.c:101
#, c-format
msgid "%lu second ago"
msgid_plural "%lu seconds ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %lu segundo atrΓ‘s"
+msgstr[1] "hΓ‘ %lu segundos atrΓ‘s"
#: date.c:108
#, c-format
msgid "%lu minute ago"
msgid_plural "%lu minutes ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %lu minuto atrΓ‘s"
+msgstr[1] "hΓ‘ %lu minutos atrΓ‘s"
#: date.c:115
#, c-format
msgid "%lu hour ago"
msgid_plural "%lu hours ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %lu hora atrΓ‘s"
+msgstr[1] "hΓ‘ %lu horas atrΓ‘s"
#: date.c:122
#, c-format
msgid "%lu day ago"
msgid_plural "%lu days ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %lu dia atrΓ‘s"
+msgstr[1] "hΓ‘ %lu dias atrΓ‘s"
#: date.c:128
#, c-format
msgid "%lu week ago"
msgid_plural "%lu weeks ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %lu semana atrΓ‘s"
+msgstr[1] "hΓ‘ %lu semanas atrΓ‘s"
#: date.c:135
#, c-format
msgid "%lu month ago"
msgid_plural "%lu months ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %lu mΓͺs atrΓ‘s"
+msgstr[1] "hΓ‘ %lu meses atrΓ‘s"
#: date.c:146
#, c-format
msgid "%lu year"
msgid_plural "%lu years"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%lu ano"
+msgstr[1] "%lu anos"
+#. TRANSLATORS: "%s" is "<n> years"
#: date.c:149
#, c-format
msgid "%s, %lu month ago"
msgid_plural "%s, %lu months ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %s e %lu mΓͺs"
+msgstr[1] "hΓ‘ %s e %lu meses"
-#: date.c:154
-#: date.c:159
+#: date.c:154 date.c:159
#, c-format
msgid "%lu year ago"
msgid_plural "%lu years ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "hΓ‘ %lu ano atrΓ‘s"
+msgstr[1] "hΓ‘ %lu anos atrΓ‘s"
-#: diff.c:105
+#: diffcore-order.c:24
#, c-format
-msgid " Failed to parse dirstat cut-off percentage '%.*s'\n"
-msgstr ""
+msgid "failed to read orderfile '%s'"
+msgstr "falha ao ler o ficheiro de comando '%s'"
-#: diff.c:110
+#: diffcore-rename.c:536
+msgid "Performing inexact rename detection"
+msgstr "DeteΓ§Γ£o de mudanΓ§a de nome inexata em curso"
+
+#: diff.c:115
#, c-format
-msgid " Unknown dirstat parameter '%.*s'\n"
-msgstr ""
+msgid " Failed to parse dirstat cut-off percentage '%s'\n"
+msgstr " Falha ao analisar percentagem limite de dirstat '%s'\n"
-#: diff.c:210
+#: diff.c:120
+#, c-format
+msgid " Unknown dirstat parameter '%s'\n"
+msgstr " ParΓ’metro de dirstat desconhecido '%s'\n"
+
+#: diff.c:215
+#, c-format
+msgid "Unknown value for 'diff.submodule' config variable: '%s'"
+msgstr "Valor desconhecido na variΓ‘vel de configuraΓ§Γ£o 'diff.submodule': '%s'"
+
+#: diff.c:267
#, c-format
msgid ""
"Found errors in 'diff.dirstat' config variable:\n"
"%s"
msgstr ""
+"Erros encontrados na variΓ‘vel de configuraΓ§Γ£o 'diff.dirstat':\n"
+"%s"
-#: diff.c:1400
-msgid " 0 files changed\n"
-msgstr " 0 ficheros modificados\n"
-
-#: diff.c:1404
-#, c-format
-msgid " %d file changed"
-msgid_plural " %d files changed"
-msgstr[0] " %d ficheiro modificado"
-msgstr[1] " %d ficheiros modificados"
-
-#: diff.c:1421
+#: diff.c:2997
#, c-format
-msgid ", %d insertion(+)"
-msgid_plural ", %d insertions(+)"
-msgstr[0] ", %d adiΓ§Γ£o(+)"
-msgstr[1] ", %d adiΓ§Γ΅es(+)"
+msgid "external diff died, stopping at %s"
+msgstr "o diff externo terminou inesperadamente, interrompido em %s"
-#: diff.c:1432
-#, c-format
-msgid ", %d deletion(-)"
-msgid_plural ", %d deletions(-)"
-msgstr[0] ", %d eliminado(-)"
-msgstr[1] ", %d eliminados(-)"
+#: diff.c:3393
+msgid "--follow requires exactly one pathspec"
+msgstr "--follow requer exatamente um ΓΊnico especificador de caminho"
-#: diff.c:3478
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
"%s"
msgstr ""
+"Falha ao analisar parΓ’metro da opΓ§Γ£o --dirstat/-X:\n"
+"%s"
+
+#: diff.c:3570
+#, c-format
+msgid "Failed to parse --submodule option parameter: '%s'"
+msgstr "Falha ao analisar parΓ’metro da opΓ§Γ£o --submodule: '%s'"
+
+#: dir.c:2004
+msgid "failed to get kernel name and information"
+msgstr "falha ao obter nome e informaΓ§Γ£o do kernel"
-#: gpg-interface.c:59
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "A cache nΓ£o controlada estΓ‘ desativada neste sistema ou localizaΓ§Γ£o."
+
+#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
-msgstr "nΓ£o consegue ejecutar gpg."
+msgstr "nΓ£o foi possΓ­vel executar gpg."
-#: gpg-interface.c:71
+#: gpg-interface.c:178
msgid "gpg did not accept the data"
-msgstr ""
+msgstr "gpg nΓ£o aceitou os dados"
-#: gpg-interface.c:82
+#: gpg-interface.c:189
msgid "gpg failed to sign the data"
-msgstr ""
+msgstr "gpg nΓ£o assinou os dados"
+
+#: gpg-interface.c:222
+#, c-format
+msgid "could not create temporary file '%s': %s"
+msgstr "nΓ£o foi possΓ­vel criar ficheiro temporΓ‘rio '%s': %s"
+
+#: gpg-interface.c:225
+#, c-format
+msgid "failed writing detached signature to '%s': %s"
+msgstr "falha ao escrever assinatura destacada em '%s': %s"
-#: grep.c:1280
+#: grep.c:1718
#, c-format
msgid "'%s': unable to read %s"
-msgstr ""
+msgstr "'%s': nΓ£o foi possΓ­vel ler %s"
-#: grep.c:1297
+#: grep.c:1735
#, c-format
msgid "'%s': %s"
msgstr "'%s': %s"
-#: grep.c:1308
+#: grep.c:1746
#, c-format
msgid "'%s': short read %s"
-msgstr ""
+msgstr "'%s': leitura truncada %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
-msgstr ""
+msgstr "comandos do git disponΓ­vel em '%s'"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
-msgstr ""
+msgstr "comandos do git disponΓ­veis noutras localizaΓ§Γ΅es em $PATH"
+
+#: help.c:244
+msgid "These are common Git commands used in various situations:"
+msgstr "Estes sΓ£o comandos do Git comuns usados em diversas situaΓ§Γ΅es:"
-#: help.c:270
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
"able to execute it. Maybe git-%s is broken?"
msgstr ""
+"'%s' parece ser um comando do git, mas nΓ£o Γ© possΓ­vel\n"
+"executΓ‘-lo. Talvez git-%s esteja danificado?"
-#: help.c:327
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
-msgstr ""
+msgstr "Ai ai. NΓ£o hΓ‘ nenhum comando do Git disponΓ­vel no sistema."
-#: help.c:349
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
"Continuing under the assumption that you meant '%s'"
msgstr ""
+"AVISO: Invocou um comando do Git designado '%s' que nΓ£o existe.\n"
+"Continuando, assumindo que queria dizer '%s'"
-#: help.c:354
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
-msgstr ""
+msgstr "automaticamente em %0.1f..."
-#: help.c:361
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
-msgstr ""
+msgstr "git: '%s' nΓ£o Γ© um comando do git. Consulte 'git --help'."
-#: help.c:365
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -336,23 +670,699 @@ msgid_plural ""
"\n"
"Did you mean one of these?"
msgstr[0] ""
+"\n"
+"Queria dizer isto?"
msgstr[1] ""
+"\n"
+"Queria dizer deste?"
+
+#: help.c:460
+#, c-format
+msgid "%s: %s - %s"
+msgstr "%s: %s - %s"
+
+#: merge.c:41
+msgid "failed to read the cache"
+msgstr "falha ao ler a cache"
+
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
+msgid "unable to write new index file"
+msgstr "nΓ£o foi possΓ­vel escrever novo ficheiro de Γ­ndice"
+
+#: merge-recursive.c:189
+#, c-format
+msgid "(bad commit)\n"
+msgstr "(commit incorreto)\n"
+
+#: merge-recursive.c:209
+#, c-format
+msgid "addinfo_cache failed for path '%s'"
+msgstr "addinfo_cache falhou no caminho '%s'"
+
+#: merge-recursive.c:270
+msgid "error building trees"
+msgstr "erro ao construir Γ‘rvores"
+
+#: merge-recursive.c:689
+#, c-format
+msgid "failed to create path '%s'%s"
+msgstr "falha ao criar o caminho '%s'%s"
+
+#: merge-recursive.c:700
+#, c-format
+msgid "Removing %s to make room for subdirectory\n"
+msgstr "A remover %s para criar espaΓ§o para o subdiretΓ³rio\n"
+
+#: merge-recursive.c:714 merge-recursive.c:735
+msgid ": perhaps a D/F conflict?"
+msgstr ": talvez um conflito D/F?"
+
+#: merge-recursive.c:725
+#, c-format
+msgid "refusing to lose untracked file at '%s'"
+msgstr "recusando-se a perder ficheiro nΓ£o controlado em '%s'"
+
+#: merge-recursive.c:765
+#, c-format
+msgid "cannot read object %s '%s'"
+msgstr "nΓ£o Γ© possΓ­vel ler o objeto %s: '%s'"
+
+#: merge-recursive.c:767
+#, c-format
+msgid "blob expected for %s '%s'"
+msgstr "blob para %s '%s' esperado"
+
+#: merge-recursive.c:790 builtin/clone.c:374
+#, c-format
+msgid "failed to open '%s'"
+msgstr "falha ao abrir '%s'"
+
+#: merge-recursive.c:798
+#, c-format
+msgid "failed to symlink '%s'"
+msgstr "falha ao criar a ligaΓ§Γ£o simbΓ³lica '%s'"
+
+#: merge-recursive.c:801
+#, c-format
+msgid "do not know what to do with %06o %s '%s'"
+msgstr "nΓ£o sei o que fazer com %06o %s '%s'"
+
+#: merge-recursive.c:939
+msgid "Failed to execute internal merge"
+msgstr "Falha ao executar merge interno"
+
+#: merge-recursive.c:943
+#, c-format
+msgid "Unable to add %s to database"
+msgstr "NΓ£o Γ© possΓ­vel adicionar %s Γ  base de dados"
+
+#: merge-recursive.c:959
+msgid "unsupported object type in the tree"
+msgstr "tipo de objeto sem suporte encontrado na Γ‘rvore"
+
+#: merge-recursive.c:1034 merge-recursive.c:1048
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree."
+msgstr ""
+"CONFLITO (%s/eliminar): %s eliminado em %s e %s em %s. VersΓ£o de %s de %s "
+"deixada na Γ‘rvore."
+
+#: merge-recursive.c:1040 merge-recursive.c:1053
+#, c-format
+msgid ""
+"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
+"in tree at %s."
+msgstr ""
+"CONFLITO (%s/eliminar): %s eliminado em %s e %s em %s. VersΓ£o de %s de %s "
+"deixada na Γ‘rvore em %s."
+
+#: merge-recursive.c:1094
+msgid "rename"
+msgstr "mudar nome"
+
+#: merge-recursive.c:1094
+msgid "renamed"
+msgstr "nome mudado"
+
+#: merge-recursive.c:1150
+#, c-format
+msgid "%s is a directory in %s adding as %s instead"
+msgstr "%s Γ© um diretΓ³rio em %s adicionando %s no seu lugar"
+
+#: merge-recursive.c:1172
+#, c-format
+msgid ""
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
+"\"->\"%s\" in \"%s\"%s"
+msgstr ""
+"CONFLITO (mudar nome/mudar nome): Mudar o nome \"%s\"->\"%s\" no ramo \"%s\" "
+"mudar o nome \"%s\"->\"%s\" em \"%s\"%s"
+
+#: merge-recursive.c:1177
+msgid " (left unresolved)"
+msgstr " (por resolver)"
+
+#: merge-recursive.c:1231
+#, c-format
+msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
+msgstr ""
+"CONFLITO (mudar nome/mudar nome): Mudar de nome %s->%s em %s. Mudar o nome "
+"%s->%s em %s"
+
+#: merge-recursive.c:1261
+#, c-format
+msgid "Renaming %s to %s and %s to %s instead"
+msgstr "A mudar o nome de %s para %s e de %s para %s, em alternativa"
+
+#: merge-recursive.c:1460
+#, c-format
+msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
+msgstr ""
+"CONFLITO (mudar nome/adicionar): Mudar o nome %s->%s em %s. %s adicionado em "
+"%s"
+
+#: merge-recursive.c:1470
+#, c-format
+msgid "Adding merged %s"
+msgstr "A adicionar %s integrado"
+
+#: merge-recursive.c:1475 merge-recursive.c:1677
+#, c-format
+msgid "Adding as %s instead"
+msgstr "A adicionar como %s, em alternativa."
+
+#: merge-recursive.c:1526
+#, c-format
+msgid "cannot read object %s"
+msgstr "nΓ£o foi possΓ­vel ler o objeto %s"
+
+#: merge-recursive.c:1529
+#, c-format
+msgid "object %s is not a blob"
+msgstr "o objeto %s nΓ£o Γ© um blob"
+
+#: merge-recursive.c:1581
+msgid "modify"
+msgstr "modificar"
+
+#: merge-recursive.c:1581
+msgid "modified"
+msgstr "modificado"
+
+#: merge-recursive.c:1591
+msgid "content"
+msgstr "conteΓΊdo"
+
+#: merge-recursive.c:1598
+msgid "add/add"
+msgstr "adicionar/adicionar"
+
+#: merge-recursive.c:1632
+#, c-format
+msgid "Skipped %s (merged same as existing)"
+msgstr "%s ignorado (integrado Γ© igual ao existente)"
+
+#: merge-recursive.c:1646
+#, c-format
+msgid "Auto-merging %s"
+msgstr "Merge automΓ‘tico de %s"
+
+#: merge-recursive.c:1650 git-submodule.sh:1048
+msgid "submodule"
+msgstr "submΓ³dulo"
+
+#: merge-recursive.c:1651
+#, c-format
+msgid "CONFLICT (%s): Merge conflict in %s"
+msgstr "CONFLITO (%s): conflito de merge em %s"
+
+#: merge-recursive.c:1737
+#, c-format
+msgid "Removing %s"
+msgstr "A remover %s"
+
+#: merge-recursive.c:1762
+msgid "file/directory"
+msgstr "ficheiro/diretΓ³rio"
+
+#: merge-recursive.c:1768
+msgid "directory/file"
+msgstr "diretΓ³rio/ficheiro"
+
+#: merge-recursive.c:1773
+#, c-format
+msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
+msgstr ""
+"CONFLITO (%s): HΓ‘ um diretΓ³rio designado %s em %s. A adicionar %s como %s"
+
+#: merge-recursive.c:1783
+#, c-format
+msgid "Adding %s"
+msgstr "A adicionar %s"
+
+#: merge-recursive.c:1800
+msgid "Fatal merge failure, shouldn't happen."
+msgstr "Falha de merge fatal, nΓ£o devia acontecer."
+
+#: merge-recursive.c:1819
+msgid "Already up-to-date!"
+msgstr "JΓ‘ estΓ‘ atualizado!"
+
+#: merge-recursive.c:1828
+#, c-format
+msgid "merging of trees %s and %s failed"
+msgstr "falha ao realizar merge das Γ‘rvores %s e %s"
+
+#: merge-recursive.c:1858
+#, c-format
+msgid "Unprocessed path??? %s"
+msgstr "Caminho nΓ£o processado??? %s"
+
+#: merge-recursive.c:1906
+msgid "Merging:"
+msgstr "A realizar merge:"
+
+#: merge-recursive.c:1919
+#, c-format
+msgid "found %u common ancestor:"
+msgid_plural "found %u common ancestors:"
+msgstr[0] "%u antecessor comum encontrado:"
+msgstr[1] "%u antecessores comuns encontrados:"
+
+#: merge-recursive.c:1956
+msgid "merge returned no commit"
+msgstr "merge nΓ£o retornou nenhum commit"
+
+#: merge-recursive.c:2013
+#, c-format
+msgid "Could not parse object '%s'"
+msgstr "NΓ£o foi possΓ­vel analisar o objeto '%s'"
+
+#: merge-recursive.c:2024 builtin/merge.c:646
+msgid "Unable to write index."
+msgstr "NΓ£o Γ© possΓ­vel escrever no Γ­ndice."
+
+#: notes-utils.c:41
+msgid "Cannot commit uninitialized/unreferenced notes tree"
+msgstr ""
+"NΓ£o Γ© possΓ­vel fazer commit de Γ‘rvore de notas nΓ£o inicializada ou nΓ£o "
+"referenciada"
+
+#: notes-utils.c:100
+#, c-format
+msgid "Bad notes.rewriteMode value: '%s'"
+msgstr "Valor de notes.rewriteMode incorreto: '%s'"
+
+#: notes-utils.c:110
+#, c-format
+msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
+msgstr "Recusando-se a reescrever notas em %s (fora de refs/notes/)"
+
+#. TRANSLATORS: The first %s is the name of the
+#. environment variable, the second %s is its value
+#: notes-utils.c:137
+#, c-format
+msgid "Bad %s value: '%s'"
+msgstr "Valor incorreto de %s: '%s'"
+
+#: object.c:242
+#, c-format
+msgid "unable to parse object: %s"
+msgstr "nΓ£o foi possΓ­vel analisar o objeto: %s"
+
+#: parse-options.c:570
+msgid "..."
+msgstr "..."
+
+#: parse-options.c:588
+#, c-format
+msgid "usage: %s"
+msgstr "utilizaΓ§Γ£o: %s"
+
+#. TRANSLATORS: the colon here should align with the
+#. one in "usage: %s" translation
+#: parse-options.c:592
+#, c-format
+msgid " or: %s"
+msgstr " ou: %s"
+
+#: parse-options.c:595
+#, c-format
+msgid " %s"
+msgstr " %s"
+
+#: parse-options.c:629
+msgid "-NUM"
+msgstr "-NUM"
+
+#: parse-options-cb.c:108
+#, c-format
+msgid "malformed object name '%s'"
+msgstr "nome do objeto malformado '%s'"
+
+#: path.c:752
+#, c-format
+msgid "Could not make %s writable by group"
+msgstr "NΓ£o foi possΓ­vel dar permissΓ£o de escrita ao grupo a %s"
+
+#: pathspec.c:133
+msgid "global 'glob' and 'noglob' pathspec settings are incompatible"
+msgstr ""
+"as definiΓ§Γ΅es globais 'glob' e 'noglob' de especificador de caminho "
+"(pathspec) sΓ£o incompatΓ­veis"
+
+#: pathspec.c:143
+msgid ""
+"global 'literal' pathspec setting is incompatible with all other global "
+"pathspec settings"
+msgstr ""
+"a definiΓ§Γ£o global de especificador de caminho 'literal' Γ© incompatΓ­vel com "
+"todas as outras definiΓ§Γ΅es globais de especificador de caminho (pathspec)"
+
+#: pathspec.c:177
+msgid "invalid parameter for pathspec magic 'prefix'"
+msgstr "parΓ’metro invΓ‘lido na mΓ‘gica 'prefix' do especificador de caminho"
+
+#: pathspec.c:183
+#, c-format
+msgid "Invalid pathspec magic '%.*s' in '%s'"
+msgstr "MΓ‘gica do especificador de caminho '%.*s' invΓ‘lida em '%s'"
+
+#: pathspec.c:187
+#, c-format
+msgid "Missing ')' at the end of pathspec magic in '%s'"
+msgstr "Falta um ')' no final da mΓ‘gica do especificador de caminho em '%s'"
+
+#: pathspec.c:205
+#, c-format
+msgid "Unimplemented pathspec magic '%c' in '%s'"
+msgstr "MΓ‘gica de especificador de caminho '%c' em '%s' nΓ£o implementada"
+
+#: pathspec.c:230
+#, c-format
+msgid "%s: 'literal' and 'glob' are incompatible"
+msgstr "%s: 'literal' e 'glob' sΓ£o incompatΓ­veis"
+
+#: pathspec.c:241
+#, c-format
+msgid "%s: '%s' is outside repository"
+msgstr "%s: '%s' estΓ‘ fora do repositΓ³rio"
+
+#: pathspec.c:291
+#, c-format
+msgid "Pathspec '%s' is in submodule '%.*s'"
+msgstr "O caminho '%s' estΓ‘ dentro do submΓ³dulo '%.*s'"
+
+#: pathspec.c:353
+#, c-format
+msgid "%s: pathspec magic not supported by this command: %s"
+msgstr ""
+"%s: mΓ‘gica de especificador de caminho nΓ£o suportada por este comando: %s"
+
+#: pathspec.c:433
+#, c-format
+msgid "pathspec '%s' is beyond a symbolic link"
+msgstr "o especificador de caminho '%s' Γ© indicado por uma ligaΓ§Γ£o simbΓ³lica"
+
+#: pathspec.c:442
+msgid ""
+"There is nothing to exclude from by :(exclude) patterns.\n"
+"Perhaps you forgot to add either ':/' or '.' ?"
+msgstr ""
+"NΓ£o hΓ‘ nada para excluir de acordo com o padrΓ£o :(excluir).\n"
+"Talvez se tenha esquecido de acrescentar ':/' ou '.' ?"
+
+#: pretty.c:969
+msgid "unable to parse --pretty format"
+msgstr "nΓ£o foi possΓ­vel analisar o formato de --pretty"
+
+#: progress.c:235
+msgid "done"
+msgstr "concluΓ­do"
+
+#: read-cache.c:1281
+#, c-format
+msgid ""
+"index.version set, but the value is invalid.\n"
+"Using version %i"
+msgstr ""
+"index.version definido, mas com valor invΓ‘lido.\n"
+"A usar a versΓ£o %i"
+
+#: read-cache.c:1291
+#, c-format
+msgid ""
+"GIT_INDEX_VERSION set, but the value is invalid.\n"
+"Using version %i"
+msgstr ""
+"GIT_INDEX_VERSION definido, mas com valor invΓ‘lido.\n"
+"A usar a versΓ£o %i"
+
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
+#, c-format
+msgid "Could not open '%s' for writing"
+msgstr "NΓ£o foi possΓ­vel abrir '%s' para escrita"
+
+#: refs/files-backend.c:2374
+#, c-format
+msgid "could not delete reference %s: %s"
+msgstr "nΓ£o foi possΓ­vel eliminar a referΓͺncia %s: %s"
+
+#: refs/files-backend.c:2377
+#, c-format
+msgid "could not delete references: %s"
+msgstr "nΓ£o foi possΓ­vel eliminar as referΓͺncias: %s"
+
+#: refs/files-backend.c:2386
+#, c-format
+msgid "could not remove reference %s"
+msgstr "nΓ£o foi possΓ­vel eliminar a referΓͺncia %s"
+
+#: ref-filter.c:55
+#, c-format
+msgid "expected format: %%(color:<color>)"
+msgstr "formato esperado: %%(color:<cor>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "cor nΓ£o reconhecida: %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "formato nΓ£o reconhecido: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) nΓ£o leva argumentos"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) nΓ£o leva argumentos"
+
+#: ref-filter.c:101
+#, c-format
+msgid "positive value expected contents:lines=%s"
+msgstr "valor positivo esperado contents:lines=%s"
+
+#: ref-filter.c:103
+#, c-format
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "argumento de %%(contents) nΓ£o reconhecido: %s"
+
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "argumento de %%(objectname) nΓ£o reconhecido: %s"
+
+#: ref-filter.c:135
+#, c-format
+msgid "expected format: %%(align:<width>,<position>)"
+msgstr "formato esperado: %%(align:<largura>,<posiΓ§Γ£o>)"
+
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "posiΓ§Γ£o nΓ£o reconhecida:%s"
+
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "largura nΓ£o reconhecida:%s"
+
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "argumento de %%(align) nΓ£o reconhecido: %s"
+
+#: ref-filter.c:161
+#, c-format
+msgid "positive width expected with the %%(align) atom"
+msgstr "largura positiva esperada com o Γ‘tomo %%(algn)"
+
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "nome de ficheiro malformado: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "nome do campo desconhecido: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "formato: Γ‘tomo %%(end) utilizado sem Γ‘tomo correspondente"
-#: remote.c:1607
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "cadeia malformada %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= requer um inteiro positivo como argumento"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "a referΓͺncia '%s' nΓ£o tem %ld componentes como se indica em :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "formato de %.*s desconhecido %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "falta o objeto %s de %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "falha ao invocar parse_object_buffer sobre %s de %s"
+
+#: ref-filter.c:1311
+#, c-format
+msgid "malformed object at '%s'"
+msgstr "objeto malformado em '%s'"
+
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "a referΓͺncia %s com nome danificado foi ignorada"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "a referΓͺncia %s danificada foi ignorada"
+
+#: ref-filter.c:1651
+#, c-format
+msgid "format: %%(end) atom missing"
+msgstr "formato: falta Γ‘tomo %%(end)"
+
+#: ref-filter.c:1705
+#, c-format
+msgid "malformed object name %s"
+msgstr "nome de objeto malformado %s"
+
+#: remote.c:745
+#, c-format
+msgid "Cannot fetch both %s and %s to %s"
+msgstr "NΓ£o Γ© possΓ­vel obter %s e %s ao mesmo tempo para %s"
+
+#: remote.c:749
+#, c-format
+msgid "%s usually tracks %s, not %s"
+msgstr "%s geralmente segue %s, nΓ£o %s"
+
+#: remote.c:753
+#, c-format
+msgid "%s tracks both %s and %s"
+msgstr "%s segue %s e %s em simultΓ’neo"
+
+#: remote.c:761
+msgid "Internal error"
+msgstr "Erro interno"
+
+#: remote.c:1677 remote.c:1720
+msgid "HEAD does not point to a branch"
+msgstr "HEAD nΓ£o aponta para um ramo"
+
+#: remote.c:1686
+#, c-format
+msgid "no such branch: '%s'"
+msgstr "ramo inexistente: '%s'"
+
+#: remote.c:1689
+#, c-format
+msgid "no upstream configured for branch '%s'"
+msgstr "nenhum ramo a montante configurado para o ramo '%s'"
+
+#: remote.c:1695
+#, c-format
+msgid "upstream branch '%s' not stored as a remote-tracking branch"
+msgstr "o ramo a montante '%s' nΓ£o estΓ‘ guardado como um ramo remoto seguido"
+
+#: remote.c:1710
+#, c-format
+msgid "push destination '%s' on remote '%s' has no local tracking branch"
+msgstr ""
+"o destino de publicaΓ§Γ£o '%s' no remoto '%s' nΓ£o Γ© seguido por nenhum ramo "
+"local"
+
+#: remote.c:1725
+#, c-format
+msgid "branch '%s' has no remote for pushing"
+msgstr "o ramo '%s' nΓ£o tem nenhum remoto para publicar"
+
+#: remote.c:1736
+#, c-format
+msgid "push refspecs for '%s' do not include '%s'"
+msgstr ""
+"'%2$s' nΓ£o faz parte dos especificadores de referΓͺncia de '%1$s' para "
+"publicaΓ§Γ£o"
+
+#: remote.c:1749
+msgid "push has no destination (push.default is 'nothing')"
+msgstr "publicaΓ§Γ£o sem destino (push.default Γ© 'nothing')"
+
+#: remote.c:1771
+msgid "cannot resolve 'simple' push to a single destination"
+msgstr "nΓ£o Γ© possΓ­vel resolver a publicaΓ§Γ£o 'simple' num ΓΊnico destino"
+
+#: remote.c:2073
+#, c-format
+msgid "Your branch is based on '%s', but the upstream is gone.\n"
+msgstr "A base do seu ramo Γ© '%s', mas o ramo a montante desapareceu.\n"
+
+#: remote.c:2077
+msgid " (use \"git branch --unset-upstream\" to fixup)\n"
+msgstr " (use \"git branch --unset-upstream\" para corrigir)\n"
+
+#: remote.c:2080
+#, c-format
+msgid "Your branch is up-to-date with '%s'.\n"
+msgstr "O seu ramo estΓ‘ atualizado com '%s'.\n"
+
+#: remote.c:2084
#, 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] "A sua rama estΓ‘ Γ  frente de '%s' pelo commit %d.\n"
-msgstr[1] "A sua rama estΓ‘ Γ  frente de '%s' pelos commites %d.\n"
+msgstr[0] "O seu ramo estΓ‘ Γ  frente de '%s' por %d commit.\n"
+msgstr[1] "O seu ramo estΓ‘ Γ  frente de '%s' por %d commits.\n"
-#: remote.c:1613
+#: remote.c:2090
+msgid " (use \"git push\" to publish your local commits)\n"
+msgstr " (use \"git push\" para publicar os commits locais)\n"
+
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
-msgid_plural "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
+msgid_plural ""
+"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n"
msgstr[0] ""
+"O seu ramo estΓ‘ atrΓ‘s de '%s' por %d commit, podendo ser atualizado com "
+"avanΓ§o rΓ‘pido.\n"
msgstr[1] ""
+"O seu ramo estΓ‘ atrΓ‘s de '%s' por %d commits, podendo ser atualizado com "
+"avanΓ§o rΓ‘pido.\n"
-#: remote.c:1621
+#: remote.c:2101
+msgid " (use \"git pull\" to update your local branch)\n"
+msgstr " (use \"git pull\" para atualizar o seu ramo local)\n"
+
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -361,1264 +1371,2924 @@ msgid_plural ""
"Your branch and '%s' have diverged,\n"
"and have %d and %d different commits each, respectively.\n"
msgstr[0] ""
+"O seu ramo e '%s' divergiram,\n"
+"tendo cada um %d e %d commit diferente, respetivamente.\n"
msgstr[1] ""
+"O seu ramo e '%s' divergiram,\n"
+"tendo cada um %d e %d commits diferentes, respetivamente.\n"
+
+#: remote.c:2114
+msgid " (use \"git pull\" to merge the remote branch into yours)\n"
+msgstr " (use \"git pull\" para incorporar o ramo remoto no seu)\n"
+
+#: revision.c:2131
+msgid "your current branch appears to be broken"
+msgstr "o ramo atual parece estar danificado"
-#: sequencer.c:121
-#: builtin/merge.c:865
-#: builtin/merge.c:978
-#: builtin/merge.c:1088
-#: builtin/merge.c:1098
+#: revision.c:2134
#, c-format
-msgid "Could not open '%s' for writing"
-msgstr ""
+msgid "your current branch '%s' does not have any commits yet"
+msgstr "o ramo atual '%s' ainda nΓ£o contΓ©m nenhum commit"
+
+#: revision.c:2328
+msgid "--first-parent is incompatible with --bisect"
+msgstr "--first-parent Γ© incompatΓ­vel com --bisect"
-#: sequencer.c:123
-#: builtin/merge.c:333
-#: builtin/merge.c:868
-#: builtin/merge.c:1090
-#: builtin/merge.c:1103
+#: run-command.c:92
+msgid "open /dev/null failed"
+msgstr "falha ao abrir /dev/null"
+
+#: run-command.c:94
#, c-format
-msgid "Could not write to '%s'"
-msgstr "NΓ£o foi possΓ­vel escrever para '%s'"
+msgid "dup2(%d,%d) failed"
+msgstr "dup2(%d,%d) falhou"
+
+#: send-pack.c:295
+msgid "failed to sign the push certificate"
+msgstr "falha ao assinar o certificado de publicaΓ§Γ£o"
-#: sequencer.c:144
+#: send-pack.c:404
+msgid "the receiving end does not support --signed push"
+msgstr "o recetor nΓ£o suporta publicaΓ§Γ£o com --signed"
+
+#: send-pack.c:406
+msgid ""
+"not sending a push certificate since the receiving end does not support --"
+"signed push"
+msgstr ""
+"certificado de publicaΓ§Γ£o nΓ£o enviado uma vez que o recetor nΓ£o suporta "
+"publicaΓ§Γ£o com --signed"
+
+#: send-pack.c:418
+msgid "the receiving end does not support --atomic push"
+msgstr "o recetor nΓ£o suporta publicaΓ§Γ£o com --atomic"
+
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
msgstr ""
+"depois de resolver os conflitos, marque os caminhos corrigidos\n"
+"com 'git add <caminhos>' ou 'git rm <caminhos>'"
-#: sequencer.c:147
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
"and commit the result with 'git commit'"
msgstr ""
+"depois de resolver os conflitos, marque os caminhos corrigidos\n"
+"com 'git add <caminhos>' ou 'git rm <caminhos>'\n"
+"e faΓ§a commit do resultado com 'git commit'"
-#: sequencer.c:160
-#: sequencer.c:741
-#: sequencer.c:824
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
-msgstr "NΓ£o foi possΓ­vel gravar para %s"
+msgstr "NΓ£o foi possΓ­vel escrever em %s"
-#: sequencer.c:163
-#, c-format
+#: sequencer.c:193
+#, fuzzy, c-format
msgid "Error wrapping up %s"
-msgstr ""
+msgstr "Erro ao isolar %s"
-#: sequencer.c:178
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
-msgstr ""
+msgstr "As suas alteraΓ§Γ΅es locais serΓ£o substituΓ­das por cherry-pick."
-#: sequencer.c:180
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
-msgstr ""
+msgstr "As suas alteraΓ§Γ΅es locais serΓ£o substituΓ­das por revert."
-#: sequencer.c:183
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
-msgstr ""
+msgstr "FaΓ§a commit ou stash das suas alteraΓ§Γ΅es para continuar."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:233
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
-msgstr ""
+msgstr "%s: NΓ£o foi possΓ­vel escrever novo ficheiro de Γ­ndice"
-#: sequencer.c:261
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel resolver o commit HEAD\n"
-#: sequencer.c:282
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel atualizar a Γ‘rvore de cache\n"
-#: sequencer.c:323
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
-msgstr "NΓ£o foi possΓ­vel analisar commit %s\n"
+msgstr "NΓ£o foi possΓ­vel analisar o commit %s\n"
-#: sequencer.c:328
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
-msgstr "NΓ£o foi possΓ­vel analisar commit parent %s\n"
+msgstr "NΓ£o foi possΓ­vel analisar o commit pai %s\n"
-#: sequencer.c:358
+#: sequencer.c:460
msgid "Your index file is unmerged."
-msgstr "O seu ficheiro de Γ­ndice Γ© nΓ£o fundido."
+msgstr "Ficheiro de Γ­ndice nΓ£o integrado."
-#: sequencer.c:361
-msgid "You do not have a valid HEAD"
-msgstr "VocΓͺ nΓ£o tem uma HEAD vΓ‘lida"
-
-#: sequencer.c:376
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
-msgstr ""
+msgstr "O commit %s Γ© um merge mas nenhuma opΓ§Γ£o -m fornecida."
-#: sequencer.c:384
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
-msgstr ""
+msgstr "O commit %s nΓ£o tem o pai %d"
-#: sequencer.c:388
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
-msgstr ""
+msgstr "Linha principal especificada mas o commit %s nΓ£o Γ© um merge."
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:399
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
-msgstr ""
+msgstr "%s: nΓ£o foi possΓ­vel analisar o commit pai %s"
-#: sequencer.c:403
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
-msgstr "NΓ£o Γ© possΓ­vel obter mensagem commit para %s"
+msgstr "NΓ£o Γ© possΓ­vel obter a mensagem de commit de %s"
-#: sequencer.c:491
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel reverter %s... %s"
-#: sequencer.c:492
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel aplicar %s... %s"
-#: sequencer.c:536
+#: sequencer.c:630
msgid "empty commit set passed"
-msgstr "passado commit com o set vazio"
+msgstr "o conjunto de commits especificado estΓ‘ vazio"
-#: sequencer.c:544
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
-msgstr ""
+msgstr "git %s: falha ao ler o Γ­ndice"
-#: sequencer.c:549
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
-msgstr ""
+msgstr "git %s: falha ao atualizar o Γ­ndice"
-#: sequencer.c:607
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
-msgstr "NΓ£o foi possΓ­vel abrir %s durante um %s"
+msgstr "NΓ£o foi possΓ­vel efetuar %s durante %s"
-#: sequencer.c:629
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
-msgstr "NΓ£o foi possΓ­vel parsear linha %d."
+msgstr "NΓ£o foi possΓ­vel analisar a linha %d."
-#: sequencer.c:634
+#: sequencer.c:729
msgid "No commits parsed."
-msgstr "Nenhum commit parseado."
+msgstr "Nenhum commit analisado."
-#: sequencer.c:647
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "NΓ£o foi possΓ­vel abrir %s"
-#: sequencer.c:651
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "NΓ£o foi possΓ­vel ler %s."
-#: sequencer.c:658
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
-msgstr ""
+msgstr "Folha de instruΓ§Γ΅es inutilizΓ‘vel: %s"
-#: sequencer.c:686
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
-msgstr ""
+msgstr "Chave invΓ‘lida: %s"
-#: sequencer.c:689
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
-msgstr "Valor invΓ‘lido para %s: %s"
+msgstr "Valor invΓ‘lido de %s: %s"
-#: sequencer.c:701
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
-msgstr ""
+msgstr "Folha de opΓ§Γ΅es malformada: %s"
-#: sequencer.c:722
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
-msgstr ""
+msgstr "cherry-pick ou revert em curso"
-#: sequencer.c:723
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
-msgstr ""
+msgstr "tente \"git cherry-pick (--continue | --quit |--abort)\""
-#: sequencer.c:727
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel criar o diretΓ³rio do sequenciador %s"
-#: sequencer.c:743
-#: sequencer.c:828
-#, c-format
+#: sequencer.c:835 sequencer.c:917
+#, fuzzy, c-format
msgid "Error wrapping up %s."
-msgstr ""
+msgstr "Erro ao isolar %s."
-#: sequencer.c:762
-#: sequencer.c:896
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
-msgstr ""
+msgstr "nenhum cherry-pick ou revert em curso"
-#: sequencer.c:764
+#: sequencer.c:856
msgid "cannot resolve HEAD"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel resolver HEAD"
-#: sequencer.c:766
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel abortar um ramo ainda nΓ£o criado"
-#: sequencer.c:788
-#: builtin/apply.c:3682
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
-msgstr "nΓ£o foi possΓ­vel abrir %s: %s"
+msgstr "nΓ£o Γ© possΓ­vel abrir %s: %s"
-#: sequencer.c:791
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
-msgstr "nΓ£o foi possΓ­vel ler %s: %s"
+msgstr "nΓ£o Γ© possΓ­vel ler %s: %s"
-#: sequencer.c:792
+#: sequencer.c:882
msgid "unexpected end of file"
-msgstr ""
+msgstr "fim de ficheiro inesperado"
-#: sequencer.c:798
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
-msgstr ""
+msgstr "o ficheiro HEAD de pre-cherry-pick '%s' estΓ‘ corrompido"
-#: sequencer.c:821
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
-msgstr "NΓ£o foi possΓ­vel formatear %s."
+msgstr "NΓ£o foi possΓ­vel formatar %s."
+
+#: sequencer.c:1055
+#, c-format
+msgid "%s: can't cherry-pick a %s"
+msgstr "%s: nΓ£o Γ© possΓ­vel efetuar cherry-pick de %s"
-#: sequencer.c:983
+#: sequencer.c:1058
+#, c-format
+msgid "%s: bad revision"
+msgstr "%s: revisΓ£o incorreta"
+
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel reverter como commit inicial"
-#: sequencer.c:984
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel efetuar cherry-pick numa cabeΓ§a vazia"
-#: sha1_name.c:864
-msgid "HEAD does not point to a branch"
-msgstr ""
+#: setup.c:246
+#, c-format
+msgid "failed to read %s"
+msgstr "falha ao ler %s"
+
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "offset antes do fim do ficheiro de pacote (.idx danificado?)"
-#: sha1_name.c:867
+#: sha1_file.c:2459
#, c-format
-msgid "No such branch: '%s'"
-msgstr "NΓ£o existe rama '%s'"
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "offset antes do inΓ­cio do Γ­ndice do pacote %s (Γ­ndice corrompido?)"
-#: sha1_name.c:869
+#: sha1_file.c:2463
#, c-format
-msgid "No upstream configured for branch '%s'"
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "offset depois do fim do Γ­ndice do pacote %s (Γ­ndice truncado?)"
+
+#: sha1_name.c:462
+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"
+"may be created by mistake. For example,\n"
+"\n"
+" git checkout -b $br $(git rev-parse ...)\n"
+"\n"
+"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
+"examine these refs and maybe delete them. Turn this message off by\n"
+"running \"git config advice.objectNameWarning false\""
+msgstr ""
+"Normalmente o Git nunca cria referΓͺncias que terminem em 40 caracteres "
+"hexadecimais,\n"
+"pois uma referΓͺncia destas seria ignorada se indicasse sΓ³ 40 caracteres "
+"hexadecimais.\n"
+"Estas referΓͺncias podem ser criadas por engano. Como no exemplo,\n"
+"\n"
+" git checkout -b $br $(git rev-parse ...)\n"
+"\n"
+"onde \"$br\" estΓ‘ vazio e Γ© criada uma referΓͺncia de 40 caracteres "
+"hexadecimais.\n"
+"Analise estas referΓͺncias e elimine-as se desejar. Desative esta\n"
+"mensagem executando \"git config advice.objectNameWarning false\""
+
+#: submodule.c:62 submodule.c:96
+msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
+"NΓ£o Γ© possΓ­vel alterar .gitmodules nΓ£o integrado, resolva os conflitos do "
+"merge primeiro"
+
+#: submodule.c:66 submodule.c:100
+#, c-format
+msgid "Could not find section in .gitmodules where path=%s"
+msgstr "SecΓ§Γ£o de .gitmodules cujo path=%s nΓ£o encontrada"
+
+#: submodule.c:74
+#, c-format
+msgid "Could not update .gitmodules entry %s"
+msgstr "NΓ£o foi possΓ­vel atualizar o elemento %s de .gitmodules"
+
+#: submodule.c:107
+#, c-format
+msgid "Could not remove .gitmodules entry for %s"
+msgstr "NΓ£o foi possΓ­vel remover o elemento %s de .gitmodules"
-#: sha1_name.c:872
+#: submodule.c:118
+msgid "staging updated .gitmodules failed"
+msgstr "falha ao preparar .gitmodules atualizado"
+
+#: trailer.c:237
+#, c-format
+msgid "running trailer command '%s' failed"
+msgstr "falha ao executar o comando trailer '%s'"
+
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
-msgid "Upstream branch '%s' not stored as a remote-tracking branch"
+msgid "unknown value '%s' for key '%s'"
+msgstr "valor desconhecido '%s' da chave '%s'"
+
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
+#, c-format
+msgid "more than one %s"
+msgstr "mais do que um %s"
+
+#: trailer.c:582
+#, c-format
+msgid "empty trailer token in trailer '%.*s'"
msgstr ""
-#: wt-status.c:135
+#: trailer.c:702
+#, c-format
+msgid "could not read input file '%s'"
+msgstr "nΓ£o foi possΓ­vel ler o ficheiro de entrada '%s'"
+
+#: trailer.c:705
+msgid "could not read from stdin"
+msgstr "nΓ£o foi possΓ­vel ler da entrada padrΓ£o"
+
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "nΓ£o foi possΓ­vel obter stat de %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "o ficheiro %s nΓ£o Γ© um ficheiro regular"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "o ficheiro %s nΓ£o pode ser escrito pelo utilizador"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "nΓ£o foi possΓ­vel abrir ficheiro temporΓ‘rio"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "nΓ£o foi possΓ­vel mudar o nome do ficheiro temporΓ‘rio para %s"
+
+#: transport-helper.c:1041
+#, c-format
+msgid "Could not read ref %s"
+msgstr "NΓ£o foi possΓ­vel ler a referΓͺncia %s"
+
+#: unpack-trees.c:203
+msgid "Checking out files"
+msgstr "A extrair ficheiros"
+
+#: urlmatch.c:120
+msgid "invalid URL scheme name or missing '://' suffix"
+msgstr "nome de esquema de URL invΓ‘lido ou falta do sufixo '://'"
+
+#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356
+#, c-format
+msgid "invalid %XX escape sequence"
+msgstr "sequencia de escape %XX invΓ‘lida"
+
+#: urlmatch.c:172
+msgid "missing host and scheme is not 'file:'"
+msgstr "sistema anfitriΓ£o nΓ£o indicado e o esquema nΓ£o Γ© do tipo 'file:'"
+
+#: urlmatch.c:189
+msgid "a 'file:' URL may not have a port number"
+msgstr "um URL do tipo 'file:' nΓ£o pode ter um nΓΊmero de porta"
+
+#: urlmatch.c:199
+msgid "invalid characters in host name"
+msgstr "caracteres invΓ‘lidos no nome do anfitriΓ£o"
+
+#: urlmatch.c:244 urlmatch.c:255
+msgid "invalid port number"
+msgstr "nΓΊmero de porta invΓ‘lido"
+
+#: urlmatch.c:322
+msgid "invalid '..' path segment"
+msgstr "segmento de caminho '..' invΓ‘lido"
+
+#: wrapper.c:222 wrapper.c:381
+#, c-format
+msgid "could not open '%s' for reading and writing"
+msgstr "nΓ£o foi possΓ­vel abrir '%s' para leitura e escrita"
+
+#: wrapper.c:224 wrapper.c:383
+#, c-format
+msgid "could not open '%s' for writing"
+msgstr "nΓ£o foi possΓ­vel abrir '%s' para escrita"
+
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
+#, c-format
+msgid "could not open '%s' for reading"
+msgstr "nΓ£o foi possΓ­vel abrir '%s' para leitura"
+
+#: wrapper.c:611
+#, c-format
+msgid "unable to access '%s': %s"
+msgstr "nΓ£o Γ© possΓ­vel aceder a '%s': %s"
+
+#: wrapper.c:632
+#, c-format
+msgid "unable to access '%s'"
+msgstr "nΓ£o Γ© possΓ­vel aceder a '%s'"
+
+#: wrapper.c:640
+msgid "unable to get current working directory"
+msgstr "nΓ£o Γ© possΓ­vel de obter o diretΓ³rio de trabalho atual"
+
+#: wrapper.c:667
+#, c-format
+msgid "could not open %s for writing"
+msgstr "nΓ£o foi possΓ­vel abrir %s para escrita"
+
+#: wrapper.c:678 builtin/am.c:410
+#, c-format
+msgid "could not write to %s"
+msgstr "nΓ£o foi possΓ­vel escrever para %s"
+
+#: wrapper.c:684
+#, c-format
+msgid "could not close %s"
+msgstr "nΓ£o foi possΓ­vel fechar %s"
+
+#: wt-status.c:149
msgid "Unmerged paths:"
-msgstr "caminhos nΓ£o fundidos:"
+msgstr "Caminhos nΓ£o integrados:"
-#: wt-status.c:141
-#: wt-status.c:158
+#: wt-status.c:176 wt-status.c:203
#, c-format
msgid " (use \"git reset %s <file>...\" to unstage)"
-msgstr ""
+msgstr " (use \"git reset %s <ficheiro>...\" para retirar do Γ­ndice)"
-#: wt-status.c:143
-#: wt-status.c:160
+#: wt-status.c:178 wt-status.c:205
msgid " (use \"git rm --cached <file>...\" to unstage)"
-msgstr ""
+msgstr " (use \"git rm --cached <ficheiro>...\" para retirar do Γ­ndice)"
+
+#: wt-status.c:182
+msgid " (use \"git add <file>...\" to mark resolution)"
+msgstr " (use \"git add <ficheiro>...\" para marcar como resolvido)"
-#: wt-status.c:144
+#: wt-status.c:184 wt-status.c:188
msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)"
-msgstr " (usa \"git add/rm <ficheiro>...\" para marcar como resolvido)"
+msgstr ""
+" (use \"git add/rm <ficheiro>...\" conforme apropriado para marcar como "
+"resolvido)"
+
+#: wt-status.c:186
+msgid " (use \"git rm <file>...\" to mark resolution)"
+msgstr " (use \"git rm <ficheiro>...\" para marcar como resolvido)"
-#: wt-status.c:152
+#: wt-status.c:197 wt-status.c:880
msgid "Changes to be committed:"
-msgstr "MudanΓ§as a serem commitadas"
+msgstr "AlteraΓ§Γ΅es incluΓ­das no prΓ³ximo commit:"
-#: wt-status.c:170
+#: wt-status.c:215 wt-status.c:889
msgid "Changes not staged for commit:"
-msgstr ""
+msgstr "AlteraΓ§Γ΅es nΓ£o preparadas para commit:"
-#: wt-status.c:174
+#: wt-status.c:219
msgid " (use \"git add <file>...\" to update what will be committed)"
-msgstr " (usa \"git add <ficheiro>...\" para actualizar o que vai ser commitado)"
+msgstr ""
+" (use \"git add <ficheiro>...\" para atualizar o que serΓ‘ incluΓ­do no "
+"commit)"
-#: wt-status.c:176
+#: wt-status.c:221
msgid " (use \"git add/rm <file>...\" to update what will be committed)"
-msgstr " (usa \"git add/rm <ficheiro>...\" para actualizar o que vai ser commitado)"
+msgstr ""
+" (use \"git add/rm <ficheiro>...\" para atualizar o que serΓ‘ incluΓ­do no "
+"commit)"
-#: wt-status.c:177
-msgid " (use \"git checkout -- <file>...\" to discard changes in working directory)"
+#: wt-status.c:222
+msgid ""
+" (use \"git checkout -- <file>...\" to discard changes in working directory)"
msgstr ""
+" (use \"git checkout -- <ficheiro>...\" para descartar alteraΓ§Γ΅es no "
+"diretΓ³rio de trabalho)"
-#: wt-status.c:179
+#: wt-status.c:224
msgid " (commit or discard the untracked or modified content in submodules)"
msgstr ""
+" (faΓ§a commit ou descarte o conteΓΊdo modificado ou nΓ£o controlado nos "
+"submΓ³dulos)"
-#: wt-status.c:188
-#, c-format
-msgid "%s files:"
-msgstr "%s ficheros:"
-
-#: wt-status.c:191
+#: wt-status.c:236
#, c-format
msgid " (use \"git %s <file>...\" to include in what will be committed)"
-msgstr ""
-
-#: wt-status.c:208
-msgid "bug"
-msgstr "erro"
+msgstr " (use \"git %s <ficheiro>...\" para incluir no prΓ³ximo commit)"
-#: wt-status.c:213
+#: wt-status.c:251
msgid "both deleted:"
-msgstr "eliminados em ambos:"
+msgstr "eliminado por ambos:"
-#: wt-status.c:214
+#: wt-status.c:253
msgid "added by us:"
msgstr "adicionado por nΓ³s:"
-#: wt-status.c:215
+#: wt-status.c:255
msgid "deleted by them:"
-msgstr "eliminados por eles:"
+msgstr "eliminado por eles:"
-#: wt-status.c:216
+#: wt-status.c:257
msgid "added by them:"
-msgstr "adicionados por eles:"
+msgstr "adicionado por eles:"
-#: wt-status.c:217
+#: wt-status.c:259
msgid "deleted by us:"
-msgstr "eliminados por nΓ³s:"
+msgstr "eliminado por nΓ³s:"
-#: wt-status.c:218
+#: wt-status.c:261
msgid "both added:"
-msgstr "adicionados em ambos:"
+msgstr "adicionado por ambos:"
-#: wt-status.c:219
+#: wt-status.c:263
msgid "both modified:"
-msgstr "modificados em ambos:"
+msgstr "modificado por ambos:"
+
+#: wt-status.c:265
+#, c-format
+msgid "bug: unhandled unmerged status %x"
+msgstr ""
+
+#: wt-status.c:273
+msgid "new file:"
+msgstr "novo ficheiro:"
+
+#: wt-status.c:275
+msgid "copied:"
+msgstr "copiado:"
+
+#: wt-status.c:277
+msgid "deleted:"
+msgstr "eliminado:"
+
+#: wt-status.c:279
+msgid "modified:"
+msgstr "modificado:"
-#: wt-status.c:249
+#: wt-status.c:281
+msgid "renamed:"
+msgstr "nome mudado:"
+
+#: wt-status.c:283
+msgid "typechange:"
+msgstr "tipo alterado:"
+
+#: wt-status.c:285
+msgid "unknown:"
+msgstr "desconhecido:"
+
+#: wt-status.c:287
+msgid "unmerged:"
+msgstr "nΓ£o integrado:"
+
+#: wt-status.c:369
msgid "new commits, "
msgstr "novos commits, "
-#: wt-status.c:251
+#: wt-status.c:371
msgid "modified content, "
msgstr "conteΓΊdo modificado, "
-#: wt-status.c:253
+#: wt-status.c:373
msgid "untracked content, "
-msgstr "conteΓΊdo nΓ£o seguido"
+msgstr "conteΓΊdo nΓ£o controlado, "
-#: wt-status.c:267
+#: wt-status.c:390
#, c-format
-msgid "new file: %s"
-msgstr "novo ficheiro: %s"
+msgid "bug: unhandled diff status %c"
+msgstr ""
+
+#: wt-status.c:754
+msgid "Submodules changed but not updated:"
+msgstr "SubmΓ³dulos alterados mas nΓ£o atualizados:"
-#: wt-status.c:270
+#: wt-status.c:756
+msgid "Submodule changes to be committed:"
+msgstr "AlteraΓ§Γ΅es em submΓ³dulos incluΓ­das no prΓ³ximo commit:"
+
+#: wt-status.c:837
+msgid ""
+"Do not touch the line above.\n"
+"Everything below will be removed."
+msgstr ""
+"NΓ£o altere a linha acima.\n"
+"Tudo o que estiver abaixo serΓ‘ removido."
+
+#: wt-status.c:948
+msgid "You have unmerged paths."
+msgstr "HΓ‘ caminhos nΓ£o integrados."
+
+#: wt-status.c:951
+msgid " (fix conflicts and run \"git commit\")"
+msgstr " (corrija os conflitos e execute \"git commit\")"
+
+#: wt-status.c:954
+msgid "All conflicts fixed but you are still merging."
+msgstr "Todos os conflitos foram corrigidos mas o merge continua em curso."
+
+#: wt-status.c:957
+msgid " (use \"git commit\" to conclude merge)"
+msgstr " (use \"git commit\" para concluir o merge)"
+
+#: wt-status.c:967
+msgid "You are in the middle of an am session."
+msgstr "SessΓ£o am em curso."
+
+#: wt-status.c:970
+msgid "The current patch is empty."
+msgstr "O patch atual estΓ‘ vazio."
+
+#: wt-status.c:974
+msgid " (fix conflicts and then run \"git am --continue\")"
+msgstr " (corrija os conflitos e execute \"git am --continue\")"
+
+#: wt-status.c:976
+msgid " (use \"git am --skip\" to skip this patch)"
+msgstr " (use \"git am --skip\" para ignorar este patch)"
+
+#: wt-status.c:978
+msgid " (use \"git am --abort\" to restore the original branch)"
+msgstr " (use \"git am --abort\" para restaurar o ramo original)"
+
+#: wt-status.c:1105
+msgid "No commands done."
+msgstr "Nenhum comando concluΓ­do."
+
+#: wt-status.c:1108
#, c-format
-msgid "copied: %s -> %s"
-msgstr "copiado: %s -> %s"
+msgid "Last command done (%d command done):"
+msgid_plural "Last commands done (%d commands done):"
+msgstr[0] "Último comando concluído (%d comando concluído):"
+msgstr[1] "Últimos comandos concluídos (%d comandos concluídos):"
-#: wt-status.c:273
+#: wt-status.c:1119
#, c-format
-msgid "deleted: %s"
-msgstr "eliminado: %s"
+msgid " (see more in file %s)"
+msgstr " (veja mais no ficheiro %s)"
-#: wt-status.c:276
+#: wt-status.c:1124
+msgid "No commands remaining."
+msgstr "Nenhum comando por concluir."
+
+#: wt-status.c:1127
#, c-format
-msgid "modified: %s"
-msgstr "modificado: %s"
+msgid "Next command to do (%d remaining command):"
+msgid_plural "Next commands to do (%d remaining commands):"
+msgstr[0] "PrΓ³ximo comando a executar (%d comando restante):"
+msgstr[1] "PrΓ³ximos comandos a executar (%d comandos restantes):"
-#: wt-status.c:279
+#: wt-status.c:1135
+msgid " (use \"git rebase --edit-todo\" to view and edit)"
+msgstr " (use \"git rebase --edit-todo\" para visualizar e editar)"
+
+#: wt-status.c:1148
#, c-format
-msgid "renamed: %s -> %s"
-msgstr "mudado de nome: %s -> %s"
+msgid "You are currently rebasing branch '%s' on '%s'."
+msgstr "A realizar rebase do ramo '%s' sobre '%s'."
+
+#: wt-status.c:1153
+msgid "You are currently rebasing."
+msgstr "Rebase em curso."
+
+#: wt-status.c:1167
+msgid " (fix conflicts and then run \"git rebase --continue\")"
+msgstr " (corrija os conflitos e execute \"git rebase --continue\")"
+
+#: wt-status.c:1169
+msgid " (use \"git rebase --skip\" to skip this patch)"
+msgstr " (use \"git rebase --skip\" para ignorar este patch)"
+
+#: wt-status.c:1171
+msgid " (use \"git rebase --abort\" to check out the original branch)"
+msgstr " (use \"git rebase --abort\" para restaurar o ramo original)"
-#: wt-status.c:282
+#: wt-status.c:1177
+msgid " (all conflicts fixed: run \"git rebase --continue\")"
+msgstr ""
+" (todos os conflitos foram corrigidos: execute \"git rebase --continue\")"
+
+#: wt-status.c:1181
#, c-format
-msgid "typechange: %s"
+msgid ""
+"You are currently splitting a commit while rebasing branch '%s' on '%s'."
msgstr ""
+"A dividir um commit ao mesmo tempo que efetua rebase do ramo '%s' sobre '%s'."
-#: wt-status.c:285
+#: wt-status.c:1186
+msgid "You are currently splitting a commit during a rebase."
+msgstr "A dividir um commit durante um rebase."
+
+#: wt-status.c:1189
+msgid " (Once your working directory is clean, run \"git rebase --continue\")"
+msgstr ""
+" (Assim que o diretΓ³rio de trabalho estiver limpo, execute \"git rebase --"
+"continue\")"
+
+#: wt-status.c:1193
#, c-format
-msgid "unknown: %s"
-msgstr "desconhecido: %s"
+msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
+msgstr ""
+"A editar um commit ao mesmo tempo que efetua rebase do ramo '%s' sobre '%s'."
+
+#: wt-status.c:1198
+msgid "You are currently editing a commit during a rebase."
+msgstr "A editar um commit durante um rebase."
+
+#: wt-status.c:1201
+msgid " (use \"git commit --amend\" to amend the current commit)"
+msgstr " (use \"git commit --amend\" para emendar o commit atual)"
+
+#: wt-status.c:1203
+msgid ""
+" (use \"git rebase --continue\" once you are satisfied with your changes)"
+msgstr ""
+" (use \"git rebase --continue\" assim que estiver satisfeito com as "
+"alteraΓ§Γ΅es)"
-#: wt-status.c:288
+#: wt-status.c:1213
#, c-format
-msgid "unmerged: %s"
-msgstr "nΓ£o fundidos: %s"
+msgid "You are currently cherry-picking commit %s."
+msgstr "A realizar cherry-pick do commit %s."
+
+#: wt-status.c:1218
+msgid " (fix conflicts and run \"git cherry-pick --continue\")"
+msgstr " (corrija os conflitos e execute \"git cherry-pick --continue\")"
+
+#: wt-status.c:1221
+msgid " (all conflicts fixed: run \"git cherry-pick --continue\")"
+msgstr ""
+" (todos os conflitos foram corrigidos: execute \"git cherry-pick --continue"
+"\")"
+
+#: wt-status.c:1223
+msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
+msgstr ""
+" (use \"git cherry-pick --abort\" para cancelar a operaΓ§Γ£o de cherry-pick)"
-#: wt-status.c:291
+#: wt-status.c:1232
#, c-format
-msgid "bug: unhandled diff status %c"
+msgid "You are currently reverting commit %s."
+msgstr "A reverter o commit %s."
+
+#: wt-status.c:1237
+msgid " (fix conflicts and run \"git revert --continue\")"
+msgstr " (corrija dos conflitos e execute \"git revert --continue\")"
+
+#: wt-status.c:1240
+msgid " (all conflicts fixed: run \"git revert --continue\")"
msgstr ""
+" (todos os conflitos foram corrigidos: execute \"git revert --continue\")"
+
+#: wt-status.c:1242
+msgid " (use \"git revert --abort\" to cancel the revert operation)"
+msgstr " (use \"git rever --abort\" para cancelar a operaΓ§Γ£o de reversΓ£o)"
+
+#: wt-status.c:1253
+#, c-format
+msgid "You are currently bisecting, started from branch '%s'."
+msgstr "BissecΓ§Γ£o em curso, iniciada a partir do ramo '%s'."
+
+#: wt-status.c:1257
+msgid "You are currently bisecting."
+msgstr "BissecΓ§Γ£o em curso."
-#: wt-status.c:737
+#: wt-status.c:1260
+msgid " (use \"git bisect reset\" to get back to the original branch)"
+msgstr " (use \"git bisect reset\" para voltar ao ramo original)"
+
+#: wt-status.c:1438
msgid "On branch "
-msgstr "Na rama"
+msgstr "No ramo "
+
+#: wt-status.c:1444
+msgid "interactive rebase in progress; onto "
+msgstr "rebase interativo em curso; sobre "
+
+#: wt-status.c:1446
+msgid "rebase in progress; onto "
+msgstr "rebase em curso; sobre "
-#: wt-status.c:744
+#: wt-status.c:1451
+msgid "HEAD detached at "
+msgstr "HEAD destacada em "
+
+#: wt-status.c:1453
+msgid "HEAD detached from "
+msgstr "HEAD destacada de "
+
+#: wt-status.c:1456
msgid "Not currently on any branch."
-msgstr "NΓ£o estΓ‘ em nenhuma rama."
+msgstr "NΓ£o se encontra em nenhum ramo neste momento."
-#: wt-status.c:755
+#: wt-status.c:1474
msgid "Initial commit"
msgstr "Commit inicial"
-#: wt-status.c:769
-msgid "Untracked"
-msgstr "NΓ£o seguido"
+#: wt-status.c:1488
+msgid "Untracked files"
+msgstr "Ficheiros nΓ£o controlados"
-#: wt-status.c:771
-msgid "Ignored"
-msgstr "Ignorado"
+#: wt-status.c:1490
+msgid "Ignored files"
+msgstr "Ficheiros ignorados"
-#: wt-status.c:773
+#: wt-status.c:1494
#, c-format
-msgid "Untracked files not listed%s"
+msgid ""
+"It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
+"may speed it up, but you have to be careful not to forget to add\n"
+"new files yourself (see 'git help status')."
msgstr ""
+"A enumeraΓ§Γ£o dos ficheiros nΓ£o controlados demorou %.2f segundos\n"
+"a concluir. 'status -uno' pode acelerar o processo, mas deve ter\n"
+"cuidado de nΓ£o se esquecer de adicionar novos ficheiros\n"
+"(consulte 'git help status')."
+
+#: wt-status.c:1500
+#, c-format
+msgid "Untracked files not listed%s"
+msgstr "Ficheiros nΓ£o controlados nΓ£o listados%s"
-#: wt-status.c:775
+#: wt-status.c:1502
msgid " (use -u option to show untracked files)"
-msgstr ""
+msgstr " (use a opΓ§Γ£o -u para mostrar os ficheiros nΓ£o controlados)"
-#: wt-status.c:781
+#: wt-status.c:1508
msgid "No changes"
-msgstr "Sem mudanΓ§as"
+msgstr "Sem alteraΓ§Γ΅es"
-#: wt-status.c:785
+#: wt-status.c:1513
#, c-format
-msgid "no changes added to commit%s\n"
-msgstr "nenhuma alteraΓ§Γ£o adicionado ao commit%s\n"
+msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
+msgstr ""
+"nenhuma alteraΓ§Γ£o adicionada para commit (use \"git add\" e/ou \"git commit -"
+"a\")\n"
-#: wt-status.c:787
-msgid " (use \"git add\" and/or \"git commit -a\")"
-msgstr " (usa \"git add\" e/ou \"git commit -a\")"
+#: wt-status.c:1516
+#, c-format
+msgid "no changes added to commit\n"
+msgstr "nenhuma alteraΓ§Γ£o adicionada para commit\n"
-#: wt-status.c:789
+#: wt-status.c:1519
#, c-format
-msgid "nothing added to commit but untracked files present%s\n"
+msgid ""
+"nothing added to commit but untracked files present (use \"git add\" to "
+"track)\n"
msgstr ""
+"nΓ£o foi adicionado nada para commit, mas existem ficheiros nΓ£o controlados "
+"(use \"git add\" para controlΓ‘-los)\n"
-#: wt-status.c:791
-msgid " (use \"git add\" to track)"
-msgstr " (usa \"git add\" para seguir)"
-
-#: wt-status.c:793
-#: wt-status.c:796
-#: wt-status.c:799
+#: wt-status.c:1522
#, c-format
-msgid "nothing to commit%s\n"
-msgstr "nada para fazer commit%s\n"
-
-#: wt-status.c:794
-msgid " (create/copy files and use \"git add\" to track)"
+msgid "nothing added to commit but untracked files present\n"
msgstr ""
+"nΓ£o foi adicionado nada para commit, mas existem ficheiros nΓ£o controlados\n"
-#: wt-status.c:797
-msgid " (use -u to show untracked files)"
+#: wt-status.c:1525
+#, c-format
+msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
msgstr ""
+"nΓ£o hΓ‘ nada para fazer commit (crie/copie ficheiros e use \"git add\" para "
+"controlΓ‘-los)\n"
+
+#: wt-status.c:1528 wt-status.c:1533
+#, c-format
+msgid "nothing to commit\n"
+msgstr "nΓ£o hΓ‘ nada para fazer commit\n"
-#: wt-status.c:800
-msgid " (working directory clean)"
-msgstr " (directΓ³rio de trabalho vacio)"
+#: wt-status.c:1531
+#, c-format
+msgid "nothing to commit (use -u to show untracked files)\n"
+msgstr ""
+"nΓ£o hΓ‘ nada para fazer commit (use -u para mostrar os ficheiros nΓ£o "
+"controlados)\n"
-#: wt-status.c:908
-msgid "HEAD (no branch)"
-msgstr "HEAD (NΓ£o Γ© rama)"
+#: wt-status.c:1535
+#, c-format
+msgid "nothing to commit, working directory clean\n"
+msgstr "nΓ£o hΓ‘ nada para fazer commit, diretΓ³rio de trabalho limpo\n"
-#: wt-status.c:914
+#: wt-status.c:1642
msgid "Initial commit on "
msgstr "Commit inicial em "
-#: wt-status.c:929
+#: wt-status.c:1646
+msgid "HEAD (no branch)"
+msgstr "HEAD (nenhum ramo)"
+
+#: wt-status.c:1675
+msgid "gone"
+msgstr "desaparecido"
+
+#: wt-status.c:1677 wt-status.c:1685
msgid "behind "
msgstr "atrΓ‘s "
-#: wt-status.c:932
-#: wt-status.c:935
+#: wt-status.c:1680 wt-status.c:1683
msgid "ahead "
-msgstr "a frente "
+msgstr "Γ  frente "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
+#, c-format
+msgid "failed to unlink '%s'"
+msgstr "falha ao invocar unlink de '%s'"
-#: wt-status.c:937
-msgid ", behind "
-msgstr ", atrΓ‘s "
+#: builtin/add.c:22
+msgid "git add [<options>] [--] <pathspec>..."
+msgstr "git add [<opΓ§Γ΅es>] [--] <caminho>..."
-#: builtin/add.c:62
+#: builtin/add.c:65
#, c-format
msgid "unexpected diff status %c"
-msgstr ""
+msgstr "diff status inesperado %c"
-#: builtin/add.c:67
-#: builtin/commit.c:282
+#: builtin/add.c:70 builtin/commit.c:278
msgid "updating files failed"
-msgstr "Falou a atualizaΓ§Γ£o dos ficheiros"
+msgstr "falha ao atualizar os ficheiros"
-#: builtin/add.c:77
+#: builtin/add.c:80
#, c-format
msgid "remove '%s'\n"
-msgstr "eliminar '%s'\n"
+msgstr "remover '%s'\n"
-#: builtin/add.c:176
-#, c-format
-msgid "Path '%s' is in submodule '%.*s'"
-msgstr ""
-
-#: builtin/add.c:192
+#: builtin/add.c:134
msgid "Unstaged changes after refreshing the index:"
-msgstr ""
-
-#: builtin/add.c:195
-#: builtin/add.c:456
-#: builtin/rm.c:186
-#, c-format
-msgid "pathspec '%s' did not match any files"
-msgstr ""
-
-#: builtin/add.c:209
-#, c-format
-msgid "'%s' is beyond a symbolic link"
-msgstr ""
+msgstr "AlteraΓ§Γ΅es nΓ£o preparadas depois de atualizar o Γ­ndice:"
-#: builtin/add.c:276
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
-msgstr "NΓ£o foi possΓ­vel ler o indΓ­ce"
+msgstr "NΓ£o foi possΓ­vel ler o Γ­ndice"
-#: builtin/add.c:286
+#: builtin/add.c:205
#, c-format
msgid "Could not open '%s' for writing."
-msgstr "NΓ£o foi possΓ­vel abrir '%s' para escrever."
+msgstr "NΓ£o foi possΓ­vel abrir '%s' para escrita."
-#: builtin/add.c:290
+#: builtin/add.c:209
msgid "Could not write patch"
-msgstr "NΓ£o consegue escrever patch"
+msgstr "NΓ£o foi possΓ­vel escrever patch"
-#: builtin/add.c:295
+#: builtin/add.c:212
+msgid "editing patch failed"
+msgstr "falha ao editar patch"
+
+#: builtin/add.c:215
#, c-format
msgid "Could not stat '%s'"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel obter stat de '%s'"
-#: builtin/add.c:297
+#: builtin/add.c:217
msgid "Empty patch. Aborted."
-msgstr "Patch vazio. Aborted."
+msgstr "Patch vazio. Abortado."
-#: builtin/add.c:303
+#: builtin/add.c:222
#, c-format
msgid "Could not apply '%s'"
-msgstr "NΓ£o foi possΓ­vel aplicar o '%s'"
+msgstr "NΓ£o foi possΓ­vel aplicar '%s'"
-#: builtin/add.c:312
+#: builtin/add.c:232
msgid "The following paths are ignored by one of your .gitignore files:\n"
+msgstr "Os seguintes caminhos estΓ£o ignorados por algum ficheiro .gitignore:\n"
+
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
+msgid "dry run"
+msgstr "simular aΓ§Γ£o"
+
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
+#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
+msgid "be verbose"
+msgstr "ser verboso"
+
+#: builtin/add.c:252
+msgid "interactive picking"
+msgstr "seleΓ§Γ£o interativa"
+
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
+msgid "select hunks interactively"
+msgstr "selecionar blocos interativamente"
+
+#: builtin/add.c:254
+msgid "edit current diff and apply"
+msgstr "editar o diff atual e aplicΓ‘-lo"
+
+#: builtin/add.c:255
+msgid "allow adding otherwise ignored files"
+msgstr "permitir adicionar ficheiros ignorados"
+
+#: builtin/add.c:256
+msgid "update tracked files"
+msgstr "atualizar ficheiros controlados"
+
+#: builtin/add.c:257
+msgid "record only the fact that the path will be added later"
+msgstr "registar apenas o facto de que o caminho serΓ‘ adicionado mais tarde"
+
+#: builtin/add.c:258
+msgid "add changes from all tracked and untracked files"
msgstr ""
+"adicionar alteraΓ§Γ΅es de todos os ficheiros controlados ou nΓ£o controlados"
-#: builtin/add.c:352
-#, c-format
-msgid "Use -f if you really want to add them.\n"
+#: builtin/add.c:261
+msgid "ignore paths removed in the working tree (same as --no-all)"
msgstr ""
+"ignorar caminhos removidos na Γ‘rvore de trabalho (o mesmo que --no-all)"
-#: builtin/add.c:353
-msgid "no files added"
-msgstr "nenhum ficheiros adicionado"
+#: builtin/add.c:263
+msgid "don't add, only refresh the index"
+msgstr "nΓ£o adicionar, apenas atualizar o Γ­ndice"
+
+#: builtin/add.c:264
+msgid "just skip files which cannot be added because of errors"
+msgstr "ignorar ficheiros que nΓ£o podem ser adicionados por causa de erros"
+
+#: builtin/add.c:265
+msgid "check if - even missing - files are ignored in dry run"
+msgstr "verificar quais os ficheiros ignorados na simulaΓ§Γ£o"
+
+#: builtin/add.c:287
+#, c-format
+msgid "Use -f if you really want to add them.\n"
+msgstr "Use -f se deseja mesmo adicionΓ‘-los.\n"
-#: builtin/add.c:359
+#: builtin/add.c:294
msgid "adding files failed"
-msgstr "falhou a adicionar ficheiros"
+msgstr "falha ao adicionar ficheiros"
-#: builtin/add.c:391
+#: builtin/add.c:330
msgid "-A and -u are mutually incompatible"
-msgstr ""
+msgstr "-A e -u sΓ£o mutuamente incompatΓ­veis"
-#: builtin/add.c:393
+#: builtin/add.c:337
msgid "Option --ignore-missing can only be used together with --dry-run"
-msgstr ""
+msgstr "A opΓ§Γ£o --ignore-missing sΓ³ pode ser usada em conjunto com --dry-run"
-#: builtin/add.c:413
+#: builtin/add.c:352
#, c-format
msgid "Nothing specified, nothing added.\n"
-msgstr ""
+msgstr "NΓ£o foi especificado nada, nada adicionado.\n"
-#: builtin/add.c:414
+#: builtin/add.c:353
#, c-format
msgid "Maybe you wanted to say 'git add .'?\n"
-msgstr ""
+msgstr "Queria dizer 'git add .'?\n"
-#: builtin/add.c:420
-#: builtin/clean.c:95
-#: builtin/commit.c:342
-#: builtin/mv.c:82
-#: builtin/rm.c:162
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
-msgstr "ficheiro index corrupto"
+msgstr "ficheiro de Γ­ndice corrompido"
-#: builtin/add.c:476
-#: builtin/apply.c:4093
-#: builtin/mv.c:229
-#: builtin/rm.c:260
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
+msgstr "NΓ£o foi possΓ­vel escrever novo ficheiro de Γ­ndice"
+
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
+#, c-format
+msgid "could not read '%s'"
+msgstr "nΓ£o foi possΓ­vel ler '%s'"
+
+#: builtin/am.c:430
+msgid "could not parse author script"
+msgstr "nΓ£o foi possΓ­vel analisar o autor do script"
+
+#: builtin/am.c:507
+#, c-format
+msgid "'%s' was deleted by the applypatch-msg hook"
+msgstr "'%s' foi eliminado pelo hook applypatch-msg"
+
+#: builtin/am.c:548 builtin/notes.c:300
+#, c-format
+msgid "Malformed input line: '%s'."
+msgstr "Linha de entrada malformada: '%s'."
+
+#: builtin/am.c:585 builtin/notes.c:315
+#, c-format
+msgid "Failed to copy notes from '%s' to '%s'"
+msgstr "Falha ao copiar notas de '%s' para '%s'"
+
+#: builtin/am.c:611
+msgid "fseek failed"
+msgstr "falha ao invocar fseek"
+
+#: builtin/am.c:772 builtin/am.c:860
+#, c-format
+msgid "could not open '%s' for reading: %s"
+msgstr "nΓ£o foi possΓ­vel abrir '%s' para leitura: %s"
+
+#: builtin/am.c:779
+#, c-format
+msgid "could not open '%s' for writing: %s"
+msgstr "nΓ£o foi possΓ­vel abrir '%s' para escrita: %s"
+
+#: builtin/am.c:788
+#, c-format
+msgid "could not parse patch '%s'"
+msgstr "nΓ£o foi possΓ­vel analisar o patch '%s'"
+
+#: builtin/am.c:853
+msgid "Only one StGIT patch series can be applied at once"
+msgstr "SΓ³ pode ser aplicada uma sΓ©rie de patches StGIT duma sΓ³ vez"
+
+#: builtin/am.c:901
+msgid "invalid timestamp"
+msgstr "carimbo de data/hora invΓ‘lido"
+
+#: builtin/am.c:904 builtin/am.c:912
+msgid "invalid Date line"
+msgstr "linha de Data invΓ‘lida"
+
+#: builtin/am.c:909
+msgid "invalid timezone offset"
+msgstr "mudanΓ§a de fuso horΓ‘rio invΓ‘lida"
+
+#: builtin/am.c:996
+msgid "Patch format detection failed."
+msgstr "Falha ao detetar o formato do patch."
+
+#: builtin/am.c:1001 builtin/clone.c:378
+#, c-format
+msgid "failed to create directory '%s'"
+msgstr "falha ao criar o diretΓ³rio '%s'"
+
+#: builtin/am.c:1005
+msgid "Failed to split patches."
+msgstr "Falha ao dividir patches."
+
+#: builtin/am.c:1137 builtin/commit.c:363
+msgid "unable to write index file"
+msgstr "nΓ£o Γ© possΓ­vel escrever o ficheiro de Γ­ndice"
+
+#: builtin/am.c:1188
+#, c-format
+msgid "When you have resolved this problem, run \"%s --continue\"."
+msgstr "ApΓ³s resolver este problema, execute \"%s --continue\"."
+
+#: builtin/am.c:1189
+#, c-format
+msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
+msgstr "Se preferir ignorar este patch, execute \"%s --skip\"."
+
+#: builtin/am.c:1190
+#, c-format
+msgid "To restore the original branch and stop patching, run \"%s --abort\"."
+msgstr ""
+"Para restaurar o ramo original e interromper a aplicaΓ§Γ£o dos patches, "
+"execute \"%s --abort\"."
+
+#: builtin/am.c:1328
+msgid "Patch is empty. Was it split wrong?"
+msgstr "O patch estΓ‘ vazio. Foi dividido incorretamente?"
+
+#: builtin/am.c:1402 builtin/log.c:1350
+#, c-format
+msgid "invalid ident line: %s"
+msgstr "linha de identidade invΓ‘lida: %s"
+
+#: builtin/am.c:1429
+#, c-format
+msgid "unable to parse commit %s"
+msgstr "nΓ£o foi possΓ­vel analisar o commit %s"
+
+#: builtin/am.c:1631
+msgid "Repository lacks necessary blobs to fall back on 3-way merge."
+msgstr ""
+"O repositΓ³rio nΓ£o tem os blobs necessΓ‘rios para recorrer a merge com 3 "
+"pontos."
+
+#: builtin/am.c:1633
+msgid "Using index info to reconstruct a base tree..."
+msgstr "A usar informaΓ§Γ£o do Γ­ndice para reconstruir uma Γ‘rvore de base..."
+
+#: builtin/am.c:1652
+msgid ""
+"Did you hand edit your patch?\n"
+"It does not apply to blobs recorded in its index."
msgstr ""
+"Editou o patch manualmente?\n"
+"NΓ£o Γ© possΓ­vel aplicΓ‘-lo aos blobs registados no Γ­ndice."
+
+#: builtin/am.c:1658
+msgid "Falling back to patching base and 3-way merge..."
+msgstr ""
+"A recorrer a uma de base para aplicaΓ§Γ£o de patches e merge com 3 pontos..."
+
+#: builtin/am.c:1673
+msgid "Failed to merge in the changes."
+msgstr "Falha ao efetuar merge das alteraΓ§Γ΅es."
+
+#: builtin/am.c:1697 builtin/merge.c:633
+msgid "git write-tree failed to write a tree"
+msgstr "git write-tree falhou ao escrever uma Γ‘rvore"
+
+#: builtin/am.c:1704
+msgid "applying to an empty history"
+msgstr "a aplicar a um histΓ³rico vazio"
+
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
+msgid "failed to write commit object"
+msgstr "falha ao escrever objeto de commit"
+
+#: builtin/am.c:1749 builtin/am.c:1753
+#, c-format
+msgid "cannot resume: %s does not exist."
+msgstr "nΓ£o Γ© possΓ­vel continuar: %s nΓ£o existe."
+
+#: builtin/am.c:1769
+msgid "cannot be interactive without stdin connected to a terminal."
+msgstr ""
+"nΓ£o Γ© possΓ­vel entrar em modo interativo sem um entrada padrΓ£o conectada a "
+"um terminal."
+
+#: builtin/am.c:1774
+msgid "Commit Body is:"
+msgstr "Corpo do commit:"
+
+#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
+#. in your translation. The program will only accept English
+#. input at this point.
+#.
+#: builtin/am.c:1784
+msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
+msgstr "Aplicar? [y]sim/[n]Γ£o/[e]ditar/[v]er patch/[a]ceitar todos: "
+
+#: builtin/am.c:1834
+#, c-format
+msgid "Dirty index: cannot apply patches (dirty: %s)"
+msgstr "Índice modificado: não é possível aplicar patches (modificado: %s)"
-#: builtin/apply.c:106
+#: builtin/am.c:1869 builtin/am.c:1941
+#, c-format
+msgid "Applying: %.*s"
+msgstr "A aplicar: %.*s"
+
+#: builtin/am.c:1885
+msgid "No changes -- Patch already applied."
+msgstr "Nenhuma alteraΓ§Γ£o -- JΓ‘ foi aplicado o patch."
+
+#: builtin/am.c:1893
+#, c-format
+msgid "Patch failed at %s %.*s"
+msgstr "Falha ao aplicar o patch em %s %.*s"
+
+#: builtin/am.c:1899
+#, c-format
+msgid "The copy of the patch that failed is found in: %s"
+msgstr "A cΓ³pia do patch que falhou encontra-se em: %s"
+
+#: builtin/am.c:1944
+msgid ""
+"No changes - did you forget to use 'git add'?\n"
+"If there is nothing left to stage, chances are that something else\n"
+"already introduced the same changes; you might want to skip this patch."
+msgstr ""
+"Sem alteraΓ§Γ΅es - esqueceu-se de usar 'git add'?\n"
+"Se nΓ£o hΓ‘ nada por preparar, provavelmente essas mesmas alteraΓ§Γ΅es\n"
+"jΓ‘ foram introduzidas; pode querer ignorar este patch."
+
+#: builtin/am.c:1951
+msgid ""
+"You still have unmerged paths in your index.\n"
+"Did you forget to use 'git add'?"
+msgstr ""
+"Ainda hΓ‘ caminhos nΓ£o integrados no Γ­ndice.\n"
+"Esqueceu-se de usar 'git add'?"
+
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
+#: builtin/reset.c:316
+#, c-format
+msgid "Could not parse object '%s'."
+msgstr "NΓ£o foi possΓ­vel analisar o objeto '%s'."
+
+#: builtin/am.c:2111
+msgid "failed to clean index"
+msgstr "falha ao limpar o Γ­ndice"
+
+#: builtin/am.c:2145
+msgid ""
+"You seem to have moved HEAD since the last 'am' failure.\n"
+"Not rewinding to ORIG_HEAD"
+msgstr ""
+"Parece que a HEAD foi movida desde a ΓΊltima vez que o 'am' falhou.\n"
+"NΓ£o recuando a ORIG_HEAD"
+
+#: builtin/am.c:2206
+#, c-format
+msgid "Invalid value for --patch-format: %s"
+msgstr "Valor invΓ‘lido de --patch-format: %s"
+
+#: builtin/am.c:2239
+msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
+msgstr "git am [<opΓ§Γ΅es>] [(<mbox>|<Maildir>)...]"
+
+#: builtin/am.c:2240
+msgid "git am [<options>] (--continue | --skip | --abort)"
+msgstr "git am [<opΓ§Γ΅es>] (--continue | --skip | --abort)"
+
+#: builtin/am.c:2246
+msgid "run interactively"
+msgstr "executar interativamente"
+
+#: builtin/am.c:2248
+msgid "historical option -- no-op"
+msgstr "opΓ§Γ£o histΓ³rica -- sem-aΓ§Γ£o"
+
+#: builtin/am.c:2250
+msgid "allow fall back on 3way merging if needed"
+msgstr "permitir recorrer a merge com 3 pontos se necessΓ‘rio"
+
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/repack.c:171
+msgid "be quiet"
+msgstr "silencioso"
+
+#: builtin/am.c:2253
+msgid "add a Signed-off-by line to the commit message"
+msgstr "adicionar uma linha com Signed-of-by no fim da mensagem de commit"
+
+#: builtin/am.c:2256
+msgid "recode into utf8 (default)"
+msgstr "recodificar em utf8 (predefiniΓ§Γ£o)"
+
+#: builtin/am.c:2258
+msgid "pass -k flag to git-mailinfo"
+msgstr "passar a opΓ§Γ£o -k ao git-mailinfo"
+
+#: builtin/am.c:2260
+msgid "pass -b flag to git-mailinfo"
+msgstr "passar a opΓ§Γ£o -b ao git-mailinfo"
+
+#: builtin/am.c:2262
+msgid "pass -m flag to git-mailinfo"
+msgstr "passar a opΓ§Γ£o -m ao git-mailinfo"
+
+#: builtin/am.c:2264
+msgid "pass --keep-cr flag to git-mailsplit for mbox format"
+msgstr "passar a opΓ§Γ£o --keep-cr ao gitmailsplit para formato de mbox"
+
+#: builtin/am.c:2267
+msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
+msgstr ""
+"nΓ£o passar a opΓ§Γ£o --keep-cr ao git-mailsplit independentemente de am.keepcr"
+
+#: builtin/am.c:2270
+msgid "strip everything before a scissors line"
+msgstr "retirar todo o conteΓΊdo antes da linha de tesoura"
+
+#: builtin/am.c:2271 builtin/apply.c:4544
+msgid "action"
+msgstr "aΓ§Γ£o"
+
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
+msgid "pass it through git-apply"
+msgstr "transmitir ao git-apply"
+
+#: builtin/am.c:2280 builtin/apply.c:4568
+msgid "root"
+msgstr "raiz"
+
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
+msgid "path"
+msgstr "caminho"
+
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
+msgid "n"
+msgstr "n"
+
+#: builtin/am.c:2292 builtin/apply.c:4512
+msgid "num"
+msgstr "num"
+
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/tag.c:372
+msgid "format"
+msgstr "formato"
+
+#: builtin/am.c:2296
+msgid "format the patch(es) are in"
+msgstr "formato de apresentaΓ§Γ£o de patches"
+
+#: builtin/am.c:2302
+msgid "override error message when patch failure occurs"
+msgstr "substituir a mensagem de erro quando a aplicaΓ§Γ£o do patch falha"
+
+#: builtin/am.c:2304
+msgid "continue applying patches after resolving a conflict"
+msgstr "continuar a aplicar os patches depois de resolver os conflitos"
+
+#: builtin/am.c:2307
+msgid "synonyms for --continue"
+msgstr "sinΓ³nimo de --continue"
+
+#: builtin/am.c:2310
+msgid "skip the current patch"
+msgstr "ignorar o patch atual"
+
+#: builtin/am.c:2313
+msgid "restore the original branch and abort the patching operation."
+msgstr "restaurar o ramo original e abortar a operaΓ§Γ£o de patch"
+
+#: builtin/am.c:2317
+msgid "lie about committer date"
+msgstr "mentir sobre a data de commit"
+
+#: builtin/am.c:2319
+msgid "use current timestamp for author date"
+msgstr "usar a data e hora atual como data de autor"
+
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
+msgid "key-id"
+msgstr "id-chave"
+
+#: builtin/am.c:2322
+msgid "GPG-sign commits"
+msgstr "assinar os commits com GPG"
+
+#: builtin/am.c:2325
+msgid "(internal use for git-rebase)"
+msgstr "(uso interno de git-rebase)"
+
+#: builtin/am.c:2340
+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."
+msgstr ""
+"A opΓ§Γ£o -b/--binary hΓ‘ muito que Γ© ignorada e serΓ‘\n"
+"futuramente removida. Por favor nΓ£o a use."
+
+#: builtin/am.c:2347
+msgid "failed to read the index"
+msgstr "falha ao ler o Γ­ndice"
+
+#: builtin/am.c:2362
+#, c-format
+msgid "previous rebase directory %s still exists but mbox given."
+msgstr ""
+"o diretΓ³rio de rebesa anterior %s ainda existe, mas foi fornecida uma mbox."
+
+#: builtin/am.c:2386
+#, c-format
+msgid ""
+"Stray %s directory found.\n"
+"Use \"git am --abort\" to remove it."
+msgstr ""
+"DiretΓ³rio abandonado %s encontrado.\n"
+"Use \"git am --abort\" para o remover."
+
+#: builtin/am.c:2392
+msgid "Resolve operation not in progress, we are not resuming."
+msgstr "A operaΓ§Γ£o de resoluΓ§Γ£o nΓ£o estΓ‘ em curso, nΓ£o retomando."
+
+#: builtin/apply.c:59
+msgid "git apply [<options>] [<patch>...]"
+msgstr "git apply [<opΓ§Γ΅es>] [<patch>...]"
+
+#: builtin/apply.c:111
#, c-format
msgid "unrecognized whitespace option '%s'"
-msgstr "espaΓ§o em braco nΓ£o reconhecido: '%s'"
+msgstr "opΓ§Γ£o de espaΓ§o em branco nΓ£o reconhecida '%s'"
-#: builtin/apply.c:121
+#: builtin/apply.c:126
#, c-format
msgid "unrecognized whitespace ignore option '%s'"
-msgstr ""
+msgstr "opΓ§Γ£o de ignorar espaΓ§o em branco nΓ£o reconhecida '%s'"
-#: builtin/apply.c:815
+#: builtin/apply.c:818
#, c-format
msgid "Cannot prepare timestamp regexp %s"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel preparar a regexp de carimbo de data/hora %s"
-#: builtin/apply.c:824
+#: builtin/apply.c:827
#, c-format
msgid "regexec returned %d for input: %s"
-msgstr ""
+msgstr "regexec retornou %d para a entra: %s"
-#: builtin/apply.c:905
+#: builtin/apply.c:908
#, c-format
msgid "unable to find filename in patch at line %d"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel encontrar o nome do ficheiro no patch na linha %d"
-#: builtin/apply.c:934
+#: builtin/apply.c:940
#, c-format
msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
msgstr ""
+"git apply: git-diff incorreto - esperava-se /dev/null, obteve-se %s na linha "
+"%d"
+
+#: builtin/apply.c:944
+#, c-format
+msgid "git apply: bad git-diff - inconsistent new filename on line %d"
+msgstr ""
+"git apply: git-diff incorreto - o nome do novo ficheiro na linha %d Γ© "
+"inconsistente"
-#: builtin/apply.c:937
+#: builtin/apply.c:945
#, c-format
-msgid "git apply: bad git-diff - inconsistent %s filename on line %d"
+msgid "git apply: bad git-diff - inconsistent old filename on line %d"
msgstr ""
+"git apply: git-diff incorreto - o nome do ficheiro antigo na linha %d Γ© "
+"inconsistente"
-#: builtin/apply.c:944
+#: builtin/apply.c:952
#, c-format
msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr ""
+msgstr "git apply: git-diff incorreto - esperava-se /dev/null na linha %d"
-#: builtin/apply.c:1387
+#: builtin/apply.c:1415
#, c-format
msgid "recount: unexpected line: %.*s"
-msgstr ""
+msgstr "recontagem: linha inesperada: %.*s"
-#: builtin/apply.c:1444
+#: builtin/apply.c:1472
#, c-format
msgid "patch fragment without header at line %d: %.*s"
-msgstr ""
+msgstr "fragmento de patch sem cabeΓ§alho na linha %d: %.*s"
-#: builtin/apply.c:1461
+#: builtin/apply.c:1489
#, c-format
-msgid "git diff header lacks filename information when removing %d leading pathname component (line %d)"
-msgid_plural "git diff header lacks filename information when removing %d leading pathname components (line %d)"
+msgid ""
+"git diff header lacks filename information when removing %d leading pathname "
+"component (line %d)"
+msgid_plural ""
+"git diff header lacks filename information when removing %d leading pathname "
+"components (line %d)"
msgstr[0] ""
+"o cabeΓ§alho do git diff nΓ£o revelou o nome do ficheiro depois de se remover "
+"%d componente do caminho (linha %d)"
msgstr[1] ""
+"o cabeΓ§alho do git diff nΓ£o revelou o nome do ficheiro depois de se remover "
+"%d componentes de caminho (linha %d)"
-#: builtin/apply.c:1621
+#: builtin/apply.c:1655
msgid "new file depends on old contents"
-msgstr ""
+msgstr "o novo ficheiro depende de conteΓΊdos antigos"
-#: builtin/apply.c:1623
+#: builtin/apply.c:1657
msgid "deleted file still has contents"
-msgstr ""
+msgstr "o ficheiro eliminado ainda tem conteΓΊdos"
-#: builtin/apply.c:1649
+#: builtin/apply.c:1683
#, c-format
msgid "corrupt patch at line %d"
-msgstr ""
+msgstr "patch corrompido na linha %d"
-#: builtin/apply.c:1685
+#: builtin/apply.c:1719
#, c-format
msgid "new file %s depends on old contents"
-msgstr ""
+msgstr "o novo ficheiro %s depende de conteΓΊdos antigos"
-#: builtin/apply.c:1687
+#: builtin/apply.c:1721
#, c-format
msgid "deleted file %s still has contents"
-msgstr ""
+msgstr "o ficheiro eliminado %s ainda tem conteΓΊdos"
-#: builtin/apply.c:1690
+#: builtin/apply.c:1724
#, c-format
msgid "** warning: file %s becomes empty but is not deleted"
-msgstr ""
+msgstr "** aviso: o ficheiro %s ficarΓ‘ vazio, mas nΓ£o serΓ‘ eliminado"
-#: builtin/apply.c:1836
+#: builtin/apply.c:1870
#, c-format
msgid "corrupt binary patch at line %d: %.*s"
-msgstr ""
+msgstr "patch binΓ‘rio corrompido na linha %d: %.*s"
-#. there has to be one hunk (forward hunk)
-#: builtin/apply.c:1865
+#: builtin/apply.c:1899
#, c-format
msgid "unrecognized binary patch at line %d"
-msgstr ""
+msgstr "patch binΓ‘rio nΓ£o reconhecido na linha %d"
-#: builtin/apply.c:1951
+#: builtin/apply.c:2050
#, c-format
msgid "patch with only garbage at line %d"
-msgstr ""
+msgstr "patch incompreensΓ­vel na linha %d"
-#: builtin/apply.c:2041
+#: builtin/apply.c:2140
#, c-format
msgid "unable to read symlink %s"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel ler a ligaΓ§Γ£o simbΓ³lica %s"
-#: builtin/apply.c:2045
+#: builtin/apply.c:2144
#, c-format
msgid "unable to open or read %s"
-msgstr "NΓ£o foi possΓ­vel abrir o ler %s"
+msgstr "nΓ£o Γ© possΓ­vel abrir ou ler %s"
-#: builtin/apply.c:2116
-msgid "oops"
-msgstr ""
-
-#: builtin/apply.c:2638
+#: builtin/apply.c:2777
#, c-format
msgid "invalid start of line: '%c'"
-msgstr "comeΓ§o de linha invΓ‘lido: '%c'"
+msgstr "inΓ­cio de linha invΓ‘lido: '%c'"
-#: builtin/apply.c:2756
+#: builtin/apply.c:2896
#, c-format
msgid "Hunk #%d succeeded at %d (offset %d line)."
msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Excerto nΒΊ%d bem sucedido na linha %d (%d linha deslocada)"
+msgstr[1] "Excerto nΒΊ%d bem sucedido na linha %d (%d linhas deslocadas)"
-#: builtin/apply.c:2768
+#: builtin/apply.c:2908
#, c-format
msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr ""
+msgstr "Contexto reduzido para (%ld/%ld) para aplicar o fragmento em %d"
-#: builtin/apply.c:2774
+#: builtin/apply.c:2914
#, c-format
msgid ""
"while searching for:\n"
"%.*s"
msgstr ""
+"ao procura por:\n"
+"%.*s"
-#: builtin/apply.c:2793
+#: builtin/apply.c:2934
#, c-format
msgid "missing binary patch data for '%s'"
-msgstr ""
+msgstr "falta de dados do patch binΓ‘rio '%s'"
-#: builtin/apply.c:2896
+#: builtin/apply.c:3035
#, c-format
msgid "binary patch does not apply to '%s'"
-msgstr ""
+msgstr "o patch binΓ‘rio nΓ£o foi aplicado corretamente a '%s'"
-#: builtin/apply.c:2902
+#: builtin/apply.c:3041
#, c-format
msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
msgstr ""
+"o patch binΓ‘rio aplicado a '%s' gera resultados incorretos (esperava-se %s, "
+"obteve-se %s)"
-#: builtin/apply.c:2923
+#: builtin/apply.c:3062
#, c-format
msgid "patch failed: %s:%ld"
-msgstr ""
+msgstr "falha ao aplicar o patch: %s:%ld"
-#: builtin/apply.c:3038
+#: builtin/apply.c:3186
#, c-format
-msgid "patch %s has been renamed/deleted"
-msgstr ""
+msgid "cannot checkout %s"
+msgstr "nΓ£o Γ© possΓ­vel extrair %s"
-#: builtin/apply.c:3045
-#: builtin/apply.c:3062
+#: builtin/apply.c:3231 builtin/apply.c:3242 builtin/apply.c:3287
#, c-format
msgid "read of %s failed"
-msgstr "ler %s falhou"
+msgstr "falha ao ler %s"
-#: builtin/apply.c:3077
-msgid "removal patch leaves file contents"
-msgstr ""
+#: builtin/apply.c:3239
+#, c-format
+msgid "reading from '%s' beyond a symbolic link"
+msgstr "a ler '%s' indicado por uma ligaΓ§Γ£o simbΓ³lica"
-#: builtin/apply.c:3098
+#: builtin/apply.c:3267 builtin/apply.c:3489
#, c-format
-msgid "%s: already exists in working directory"
-msgstr "%s: jΓ‘ existe no espaΓ§o de trabalho"
+msgid "path %s has been renamed/deleted"
+msgstr "o caminho %s foi eliminado ou mudou de nome"
-#: builtin/apply.c:3136
+#: builtin/apply.c:3348 builtin/apply.c:3503
#, c-format
-msgid "%s: has been deleted/renamed"
-msgstr ""
+msgid "%s: does not exist in index"
+msgstr "%s: nΓ£o existe no Γ­ndice"
-#: builtin/apply.c:3141
-#: builtin/apply.c:3172
+#: builtin/apply.c:3352 builtin/apply.c:3495 builtin/apply.c:3517
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: builtin/apply.c:3152
-#, c-format
-msgid "%s: does not exist in index"
-msgstr ""
-
-#: builtin/apply.c:3166
+#: builtin/apply.c:3357 builtin/apply.c:3511
#, c-format
msgid "%s: does not match index"
-msgstr "%s: nΓ£o tem correspondencia ao index"
+msgstr "%s: nΓ£o tem correspondΓͺncia no Γ­ndice"
-#: builtin/apply.c:3183
+#: builtin/apply.c:3459
+msgid "removal patch leaves file contents"
+msgstr "patch de remoΓ§Γ£o deixa conteΓΊdos no ficheiro"
+
+#: builtin/apply.c:3528
#, c-format
msgid "%s: wrong type"
-msgstr ""
+msgstr "%s: tipo errado"
-#: builtin/apply.c:3185
+#: builtin/apply.c:3530
#, c-format
msgid "%s has type %o, expected %o"
-msgstr ""
+msgstr "%s Γ© do tipo %o, esperado %o"
-#: builtin/apply.c:3240
+#: builtin/apply.c:3689 builtin/apply.c:3691
+#, c-format
+msgid "invalid path '%s'"
+msgstr "caminho invΓ‘lido '%s'"
+
+#: builtin/apply.c:3746
#, c-format
msgid "%s: already exists in index"
-msgstr "%s: jΓ‘ existe no indΓ­ce"
+msgstr "%s: jΓ‘ existe no Γ­ndice"
-#: builtin/apply.c:3259
+#: builtin/apply.c:3749
#, c-format
-msgid "new mode (%o) of %s does not match old mode (%o)%s%s"
-msgstr ""
+msgid "%s: already exists in working directory"
+msgstr "%s: jΓ‘ existe no diretΓ³rio de trabalho"
+
+#: builtin/apply.c:3769
+#, c-format
+msgid "new mode (%o) of %s does not match old mode (%o)"
+msgstr "o novo modo (%o) de %s nΓ£o corresponde ao modo antigo (%o)"
-#: builtin/apply.c:3265
+#: builtin/apply.c:3774
+#, c-format
+msgid "new mode (%o) of %s does not match old mode (%o) of %s"
+msgstr "o novo modo (%o) de %s nΓ£o corresponde ao modo antigo (%o) de %s"
+
+#: builtin/apply.c:3794
+#, c-format
+msgid "affected file '%s' is beyond a symbolic link"
+msgstr "o ficheiro afetado '%s' Γ© indicado por uma ligaΓ§Γ£o simbΓ³lica"
+
+#: builtin/apply.c:3798
#, c-format
msgid "%s: patch does not apply"
-msgstr ""
+msgstr "%s: patch nΓ£o se aplica com sucesso"
-#: builtin/apply.c:3278
+#: builtin/apply.c:3812
#, c-format
msgid "Checking patch %s..."
-msgstr ""
+msgstr "A verificar o patch %s..."
-#: builtin/apply.c:3333
-#: builtin/checkout.c:212
-#: builtin/reset.c:158
+#: builtin/apply.c:3905 builtin/checkout.c:233 builtin/reset.c:135
#, c-format
msgid "make_cache_entry failed for path '%s'"
-msgstr ""
+msgstr "falha ao invocar make_cache_entry em '%s'"
-#: builtin/apply.c:3476
+#: builtin/apply.c:4048
#, c-format
msgid "unable to remove %s from index"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel remover %s do Γ­ndice"
-#: builtin/apply.c:3503
+#: builtin/apply.c:4077
#, c-format
-msgid "corrupt patch for subproject %s"
-msgstr ""
+msgid "corrupt patch for submodule %s"
+msgstr "patch corrompido no submΓ³dulo %s"
-#: builtin/apply.c:3507
+#: builtin/apply.c:4081
#, c-format
msgid "unable to stat newly created file '%s'"
-msgstr "nΓ£o Γ© possivel 'stat' o novo ficheiro creado '%s'"
+msgstr "nΓ£o Γ© possΓ­vel obter estado do novo ficheiro criado '%s'"
-#: builtin/apply.c:3512
+#: builtin/apply.c:4086
#, c-format
msgid "unable to create backing store for newly created file %s"
msgstr ""
+"nΓ£o Γ© possΓ­vel criar armazenamento de seguranΓ§a do ficheiro recΓ©m-criado %s"
-#: builtin/apply.c:3515
+#: builtin/apply.c:4089 builtin/apply.c:4197
#, c-format
msgid "unable to add cache entry for %s"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel adicionar %s Γ  cache"
-#: builtin/apply.c:3548
+#: builtin/apply.c:4122
#, c-format
msgid "closing file '%s'"
-msgstr "fechar fichero '%s'"
+msgstr "a fechar o ficheiro '%s'"
-#: builtin/apply.c:3597
+#: builtin/apply.c:4171
#, c-format
msgid "unable to write file '%s' mode %o"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel escrever o ficheiro '%s' com o modo %o"
-#: builtin/apply.c:3653
+#: builtin/apply.c:4258
#, c-format
msgid "Applied patch %s cleanly."
-msgstr ""
+msgstr "Patch %s aplicado com sucesso."
-#: builtin/apply.c:3661
+#: builtin/apply.c:4266
msgid "internal error"
-msgstr ""
+msgstr "erro interno"
-#. Say this even without --verbose
-#: builtin/apply.c:3664
+#: builtin/apply.c:4269
#, c-format
msgid "Applying patch %%s with %d reject..."
msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "A aplicar patch %%s com %d rejeiΓ§Γ£o..."
+msgstr[1] "A aplicar patch %%s com %d rejeiΓ§Γ΅es..."
-#: builtin/apply.c:3674
+#: builtin/apply.c:4279
#, c-format
msgid "truncating .rej filename to %.*s.rej"
-msgstr ""
+msgstr "a truncar o nome do ficheiro .rej em %.*s.rej "
-#: builtin/apply.c:3695
+#: builtin/apply.c:4300
#, c-format
msgid "Hunk #%d applied cleanly."
-msgstr ""
+msgstr "Excerto nΒΊ%d aplicado com sucesso."
-#: builtin/apply.c:3698
+#: builtin/apply.c:4303
#, c-format
msgid "Rejected hunk #%d."
-msgstr ""
+msgstr "Excerto nΒΊ%d rejeitado."
-#: builtin/apply.c:3829
+#: builtin/apply.c:4393
msgid "unrecognized input"
msgstr "entrada nΓ£o reconhecida"
-#: builtin/apply.c:3840
+#: builtin/apply.c:4404
msgid "unable to read index file"
-msgstr "NΓ£o foi possΓ­vel ler o fichero indΓ­ce"
+msgstr "nΓ£o foi possΓ­vel ler o ficheiro de Γ­ndice"
+
+#: builtin/apply.c:4507
+msgid "don't apply changes matching the given path"
+msgstr "nΓ£o aplicar alteraΓ§Γ΅es que correspondam ao caminho fornecido"
+
+#: builtin/apply.c:4510
+msgid "apply changes matching the given path"
+msgstr "aplicar alteraΓ§Γ΅es que correspondam ao caminho fornecido"
+
+#: builtin/apply.c:4513
+msgid "remove <num> leading slashes from traditional diff paths"
+msgstr "remover <num> barras Γ  esquerda dos caminhos de diff tradicional"
+
+#: builtin/apply.c:4516
+msgid "ignore additions made by the patch"
+msgstr "ignorar adiΓ§Γ΅es feitas pelo patch"
+
+#: builtin/apply.c:4518
+msgid "instead of applying the patch, output diffstat for the input"
+msgstr "em vez de aplicar o patch, mostrar o diffstat da entrada"
+
+#: builtin/apply.c:4522
+msgid "show number of added and deleted lines in decimal notation"
+msgstr "mostrar nΓΊmero de linhas adicionadas e removidas em notaΓ§Γ£o decimal"
+
+#: builtin/apply.c:4524
+msgid "instead of applying the patch, output a summary for the input"
+msgstr "em vez de aplicar o patch, mostrar um resumo da entrada"
+
+#: builtin/apply.c:4526
+msgid "instead of applying the patch, see if the patch is applicable"
+msgstr "em vez de aplicar o patch, verificar se o patch pode ser aplicado"
+
+#: builtin/apply.c:4528
+msgid "make sure the patch is applicable to the current index"
+msgstr "garantir que o patch pode ser aplicado ao Γ­ndice atual"
+
+#: builtin/apply.c:4530
+msgid "apply a patch without touching the working tree"
+msgstr "aplicar um patch sem tocar na Γ‘rvore de trabalho"
-#: builtin/apply.c:4035
+#: builtin/apply.c:4532
+msgid "accept a patch that touches outside the working area"
+msgstr "aceitar patches que alteram ficheiros fora da Γ‘rea de trabalho"
+
+#: builtin/apply.c:4534
+msgid "also apply the patch (use with --stat/--summary/--check)"
+msgstr "aplicar o patch tambΓ©m (use com --stat/--summary/--check)"
+
+#: builtin/apply.c:4536
+msgid "attempt three-way merge if a patch does not apply"
+msgstr "tentar merge com trΓͺs pontos se um patch nΓ£o for aplicado corretamente"
+
+#: builtin/apply.c:4538
+msgid "build a temporary index based on embedded index information"
+msgstr ""
+"construir um Γ­ndice temporΓ‘rio baseado na informaΓ§Γ£o incorporada do Γ­ndice"
+
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
+msgid "paths are separated with NUL character"
+msgstr "os caminhos estΓ£o separados por caracteres NUL"
+
+#: builtin/apply.c:4543
+msgid "ensure at least <n> lines of context match"
+msgstr "garantir que, pelo menos, <n> linhas de contexto coincidem"
+
+#: builtin/apply.c:4545
+msgid "detect new or modified lines that have whitespace errors"
+msgstr "detetar linhas novas ou modificadas que tenham espaΓ§os em branco"
+
+#: builtin/apply.c:4548 builtin/apply.c:4551
+msgid "ignore changes in whitespace when finding context"
+msgstr "ignorar alteraΓ§Γ΅es de espaΓ§o em branco ao procurar contexto"
+
+#: builtin/apply.c:4554
+msgid "apply the patch in reverse"
+msgstr "aplicar o patch em reverso"
+
+#: builtin/apply.c:4556
+msgid "don't expect at least one line of context"
+msgstr "nΓ£o esperar nenhuma linha de contexto"
+
+#: builtin/apply.c:4558
+msgid "leave the rejected hunks in corresponding *.rej files"
+msgstr "deixar os excertos rejeitados nos respetivos ficheiros *.rej"
+
+#: builtin/apply.c:4560
+msgid "allow overlapping hunks"
+msgstr "permitir a sobreposiΓ§Γ£o de excertos"
+
+#: builtin/apply.c:4563
+msgid "tolerate incorrectly detected missing new-line at the end of file"
+msgstr ""
+"tolerar deteΓ§Γ΅es incorretas de falta de nova linha no final do ficheiro"
+
+#: builtin/apply.c:4566
+msgid "do not trust the line counts in the hunk headers"
+msgstr "nΓ£o confiar na contagem de linhas no cabeΓ§alho dos excertos"
+
+#: builtin/apply.c:4569
+msgid "prepend <root> to all filenames"
+msgstr "preceder <root> a todos os nomes de ficheiro"
+
+#: builtin/apply.c:4591
+msgid "--3way outside a repository"
+msgstr "--3way fora de um repositΓ³rio"
+
+#: builtin/apply.c:4599
msgid "--index outside a repository"
-msgstr "--index fora de um repositorio"
+msgstr "--index fora de um repositΓ³rio"
-#: builtin/apply.c:4038
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
-msgstr "--cached fora de um repositorio"
+msgstr "--cached fora de um repositΓ³rio"
-#: builtin/apply.c:4054
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
-msgstr "nΓ£o Γ© possivel abrir patch '%s'"
+msgstr "nΓ£o Γ© possΓ­vel abrir o patch '%s'"
-#: builtin/apply.c:4068
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d erro de espaΓ§o em branco reprimido"
+msgstr[1] "%d erros de espaΓ§o em branco repimidos"
-#: builtin/apply.c:4074
-#: builtin/apply.c:4084
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d linha adiciona erros de espaΓ§o em branco."
+msgstr[1] "%d linhas adicionam erros de espaΓ§o em branco."
#: builtin/archive.c:17
#, c-format
msgid "could not create archive file '%s'"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel criar o ficheiro de arquivo '%s'"
#: builtin/archive.c:20
msgid "could not redirect output"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel redirecionar a saΓ­da"
#: builtin/archive.c:37
msgid "git archive: Remote with no URL"
-msgstr ""
+msgstr "git archive: Remoto sem URL"
#: builtin/archive.c:58
msgid "git archive: expected ACK/NAK, got EOF"
-msgstr ""
+msgstr "git archive: esperava-se ACK/NAK, obteve-se EOF"
-#: builtin/archive.c:63
+#: builtin/archive.c:61
#, c-format
msgid "git archive: NACK %s"
-msgstr ""
+msgstr "git archive: NACK %s"
-#: builtin/archive.c:65
+#: builtin/archive.c:63
#, c-format
msgid "remote error: %s"
msgstr "erro remoto: %s"
-#: builtin/archive.c:66
+#: builtin/archive.c:64
msgid "git archive: protocol error"
-msgstr ""
+msgstr "git archive: erro de protocolo"
-#: builtin/archive.c:71
+#: builtin/archive.c:68
msgid "git archive: expected a flush"
+msgstr "git archive: esvaziamento de cache (flush) esperado"
+
+#: builtin/bisect--helper.c:7
+msgid "git bisect--helper --next-all [--no-checkout]"
+msgstr "git bisect--helper --next-all [--no-checkout]"
+
+#: builtin/bisect--helper.c:17
+msgid "perform 'git bisect next'"
+msgstr "executar 'git bisect next'"
+
+#: builtin/bisect--helper.c:19
+msgid "update BISECT_HEAD instead of checking out the current commit"
+msgstr "atualizar BISECT_HEAD em vez de extrair o commit atual"
+
+#: builtin/blame.c:33
+msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git blame [<opΓ§Γ΅es>] [<rev-opΓ§Γ΅es>] [<rev>] [--] <ficheiro>"
+
+#: builtin/blame.c:38
+msgid "<rev-opts> are documented in git-rev-list(1)"
+msgstr "<rev-opΓ§Γ΅es> estΓ£o documentadas em git-rev-list(1)"
+
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "Linhas de culpa"
+
+#: builtin/blame.c:2530
+msgid "Show blame entries as we find them, incrementally"
+msgstr ""
+"Mostrar entradas de culpa Γ  medida que forem encontradas, incrementalmente"
+
+#: builtin/blame.c:2531
+msgid "Show blank SHA-1 for boundary commits (Default: off)"
+msgstr ""
+"Mostar SHA-1 dos commits de limite em branco (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2532
+msgid "Do not treat root commits as boundaries (Default: off)"
+msgstr "NΓ£o tratar os commits raiz como limites (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2533
+msgid "Show work cost statistics"
+msgstr "Mostrar estatΓ­sticas de custo de atividade"
+
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "ForΓ§ar informaΓ§Γ£o de progresso"
+
+#: builtin/blame.c:2535
+msgid "Show output score for blame entries"
+msgstr "Mostrar a pontuaΓ§Γ£o das entradas de culpa"
+
+#: builtin/blame.c:2536
+msgid "Show original filename (Default: auto)"
+msgstr "Mostrar o nome do ficheiro original (PredefiniΓ§Γ£o: auto)"
+
+#: builtin/blame.c:2537
+msgid "Show original linenumber (Default: off)"
+msgstr "Mostrar nΓΊmeros de linha originais (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2538
+msgid "Show in a format designed for machine consumption"
+msgstr "Mostrar em formato prΓ³prio para ser consumo por uma mΓ‘quina"
+
+#: builtin/blame.c:2539
+msgid "Show porcelain format with per-line commit information"
+msgstr "Mostrar em formato de porcelana com informaΓ§Γ΅es de commit por linha"
+
+#: builtin/blame.c:2540
+msgid "Use the same output mode as git-annotate (Default: off)"
+msgstr "Usar o mesmo modo de saΓ­da que git-annotate (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2541
+msgid "Show raw timestamp (Default: off)"
+msgstr "Mostrar carimbo de data/hora em bruto (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2542
+msgid "Show long commit SHA1 (Default: off)"
+msgstr "Mostrar SHA1 longo de commit (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2543
+msgid "Suppress author name and timestamp (Default: off)"
msgstr ""
+"Suprimir nome de autor e carimbo de data/hora (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2544
+msgid "Show author email instead of name (Default: off)"
+msgstr "Mostrar o email do autor em vez do nome (PredefiniΓ§Γ£o: desativado)"
+
+#: builtin/blame.c:2545
+msgid "Ignore whitespace differences"
+msgstr "Ignorar as diferenΓ§as de espaΓ§o em branco"
+
+#: builtin/blame.c:2546
+msgid "Spend extra cycles to find better match"
+msgstr "Despender ciclos extra para encontrar uma melhor correspondΓͺncia"
+
+#: builtin/blame.c:2547
+msgid "Use revisions from <file> instead of calling git-rev-list"
+msgstr "Usar revisΓ΅es do <ficheiro> em vez de invocar git-rev-list"
+
+#: builtin/blame.c:2548
+msgid "Use <file>'s contents as the final image"
+msgstr "Usar o conteΓΊdo do <ficheiro> como imagem final"
+
+#: builtin/blame.c:2549 builtin/blame.c:2550
+msgid "score"
+msgstr "pontuaΓ§Γ£o"
+
+#: builtin/blame.c:2549
+msgid "Find line copies within and across files"
+msgstr "Localizar linhas copiadas dentro e entre ficheiros"
+
+#: builtin/blame.c:2550
+msgid "Find line movements within and across files"
+msgstr "Localizar linhas movidas dentro e entre ficheiros"
+
+#: builtin/blame.c:2551
+msgid "n,m"
+msgstr "n,m"
+
+#: builtin/blame.c:2551
+msgid "Process only line range n,m, counting from 1"
+msgstr "Processar apenas o intervalo de linhas n,m, a cantar de 1"
+
+#. TRANSLATORS: This string is used to tell us the maximum
+#. display width for a relative timestamp in "git blame"
+#. output. For C locale, "4 years, 11 months ago", which
+#. takes 22 places, is the longest among various forms of
+#. relative timestamps, but your language may need more or
+#. fewer display columns.
+#: builtin/blame.c:2640
+msgid "4 years, 11 months ago"
+msgstr "hΓ‘ 4 anos e 11 meses atrΓ‘s"
-#: builtin/branch.c:144
+#: builtin/branch.c:25
+msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]"
+msgstr "git branch [<opΓ§Γ΅es>] [-r | -a] [--merged | --no-merged]"
+
+#: builtin/branch.c:26
+msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]"
+msgstr "git branch [<opΓ§Γ΅es>] [-l] [-f] <nome-ramo> [<ponto-de-partida>]"
+
+#: builtin/branch.c:27
+msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
+msgstr "git branch [<opΓ§Γ΅es>] [-r] (-d | -D) <nome-do-ramo>..."
+
+#: builtin/branch.c:28
+msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>"
+msgstr "git branch [<opΓ§Γ΅es>] (-m | -M) [<ramo-antigo>] <novo-ramo>"
+
+#: builtin/branch.c:29
+msgid "git branch [<options>] [-r | -a] [--points-at]"
+msgstr "git branch [<opΓ§Γ΅es>] [-r | -a] [--points-at]"
+
+#: builtin/branch.c:142
#, c-format
msgid ""
"deleting branch '%s' that has been merged to\n"
" '%s', but not yet merged to HEAD."
msgstr ""
+"a eliminar o ramo '%s' incorporado em\n"
+" '%s', mas ainda nΓ£o incorporado em HEAD."
-#: builtin/branch.c:148
+#: builtin/branch.c:146
#, c-format
msgid ""
"not deleting branch '%s' that is not yet merged to\n"
" '%s', even though it is merged to HEAD."
msgstr ""
+"ramo '%s' nΓ£o eliminado, visto que ainda nΓ£o foi incorporado em\n"
+" '%s', apesar de jΓ‘ ter sido incorporado em HEAD."
+
+#: builtin/branch.c:160
+#, c-format
+msgid "Couldn't look up commit object for '%s'"
+msgstr "NΓ£o foi possΓ­vel pesquisar pelo objeto commit de '%s'"
-#: builtin/branch.c:180
+#: builtin/branch.c:164
+#, c-format
+msgid ""
+"The branch '%s' is not fully merged.\n"
+"If you are sure you want to delete it, run 'git branch -D %s'."
+msgstr ""
+"O ramo '%s' nΓ£o foi totalmente incorporado.\n"
+"Se tem a certeza que o quer eliminar, execute 'git branch -D %s'."
+
+#: builtin/branch.c:177
+msgid "Update of config-file failed"
+msgstr "Falha ao atualizar o ficheiro de configuraΓ§Γ£o"
+
+#: builtin/branch.c:205
msgid "cannot use -a with -d"
-msgstr "NΓ£o Γ© possΓ­vel usar -a com um -d"
+msgstr "nΓ£o Γ© possΓ­vel usar -a com -d"
-#: builtin/branch.c:186
+#: builtin/branch.c:211
msgid "Couldn't look up commit object for HEAD"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel pesquisar pelo objeto commit de HEAD"
-#: builtin/branch.c:191
+#: builtin/branch.c:219
#, c-format
msgid "Cannot delete the branch '%s' which you are currently on."
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel eliminar o ramo '%s' no qual se encontra neste momento."
-#: builtin/branch.c:202
+#: builtin/branch.c:235
#, c-format
-msgid "remote branch '%s' not found."
-msgstr "rama remota '%s nΓ£o encontrada."
+msgid "remote-tracking branch '%s' not found."
+msgstr "ramo remoto seguido '%s' nΓ£o encontrado."
-#: builtin/branch.c:203
+#: builtin/branch.c:236
#, c-format
msgid "branch '%s' not found."
-msgstr "rama '%s' nΓ£o encontrado."
+msgstr "ramo '%s' nΓ£o encontrado."
-#: builtin/branch.c:210
+#: builtin/branch.c:251
#, c-format
-msgid "Couldn't look up commit object for '%s'"
-msgstr ""
+msgid "Error deleting remote-tracking branch '%s'"
+msgstr "Erro a eliminar o ramo remoto seguido '%s'"
-#: builtin/branch.c:216
+#: builtin/branch.c:252
#, c-format
-msgid ""
-"The branch '%s' is not fully merged.\n"
-"If you are sure you want to delete it, run 'git branch -D %s'."
-msgstr ""
+msgid "Error deleting branch '%s'"
+msgstr "Erro a eliminar ramo '%s'"
-#: builtin/branch.c:225
+#: builtin/branch.c:259
#, c-format
-msgid "Error deleting remote branch '%s'"
-msgstr ""
+msgid "Deleted remote-tracking branch %s (was %s).\n"
+msgstr "Ramo remoto seguido %s eliminado (era %s).\n"
-#: builtin/branch.c:226
+#: builtin/branch.c:260
#, c-format
-msgid "Error deleting branch '%s'"
-msgstr "Erro a eliminar rama '%s'"
+msgid "Deleted branch %s (was %s).\n"
+msgstr "Ramo %s eliminado (era %s).\n"
-#: builtin/branch.c:233
+#: builtin/branch.c:303
#, c-format
-msgid "Deleted remote branch %s (was %s).\n"
-msgstr ""
+msgid "[%s: gone]"
+msgstr "[%s: desaparecido]"
-#: builtin/branch.c:234
+#: builtin/branch.c:308
#, c-format
-msgid "Deleted branch %s (was %s).\n"
-msgstr "Eliminar rama %s (era %s).\n"
+msgid "[%s]"
+msgstr "[%s]"
-#: builtin/branch.c:239
-msgid "Update of config-file failed"
-msgstr ""
+#: builtin/branch.c:313
+#, c-format
+msgid "[%s: behind %d]"
+msgstr "[%s: atrΓ‘s %d]"
-#: builtin/branch.c:337
+#: builtin/branch.c:315
#, c-format
-msgid "branch '%s' does not point at a commit"
-msgstr ""
+msgid "[behind %d]"
+msgstr "[atrΓ‘s %d]"
-#: builtin/branch.c:409
+#: builtin/branch.c:319
#, c-format
-msgid "behind %d] "
-msgstr "atrΓ‘s %d] "
+msgid "[%s: ahead %d]"
+msgstr "[%s: Γ  frente %d]"
-#: builtin/branch.c:411
+#: builtin/branch.c:321
#, c-format
-msgid "ahead %d] "
-msgstr "a frente %d] "
+msgid "[ahead %d]"
+msgstr "[Γ  frente %d]"
-#: builtin/branch.c:413
+#: builtin/branch.c:324
#, c-format
-msgid "ahead %d, behind %d] "
-msgstr "a frente %d, atrΓ‘s %d] "
+msgid "[%s: ahead %d, behind %d]"
+msgstr "[%s: Γ  frente %d, atrΓ‘s %d]"
-#: builtin/branch.c:521
-msgid "(no branch)"
-msgstr "(nΓ£o Γ© rama)"
+#: builtin/branch.c:327
+#, c-format
+msgid "[ahead %d, behind %d]"
+msgstr "[Γ  frente %d, atrΓ‘s %d]"
-#: builtin/branch.c:586
-msgid "some refs could not be read"
-msgstr ""
+#: builtin/branch.c:340
+msgid " **** invalid ref ****"
+msgstr " **** referΓͺncias invΓ‘lida ****"
+
+#: builtin/branch.c:366
+#, c-format
+msgid "(no branch, rebasing %s)"
+msgstr "(nenhum ramo, a efetuar rebase de %s)"
+
+#: builtin/branch.c:369
+#, c-format
+msgid "(no branch, bisect started on %s)"
+msgstr "(nenhum ramo, bissecΓ§Γ£o iniciada em %s)"
+
+#: builtin/branch.c:375
+#, c-format
+msgid "(HEAD detached at %s)"
+msgstr "(HEAD destacada em %s)"
-#: builtin/branch.c:599
+#: builtin/branch.c:378
+#, c-format
+msgid "(HEAD detached from %s)"
+msgstr "(HEAD destacada de %s)"
+
+#: builtin/branch.c:382
+msgid "(no branch)"
+msgstr "(nenhum ramo)"
+
+#: builtin/branch.c:524
msgid "cannot rename the current branch while not on any."
msgstr ""
+"nΓ£o Γ© possΓ­vel mudar o nome do ramo atual vista que nΓ£o se encontra num ramo."
-#: builtin/branch.c:609
+#: builtin/branch.c:534
#, c-format
msgid "Invalid branch name: '%s'"
-msgstr "Nome da rama invΓ‘lida: '%s'"
+msgstr "Nome de ramo invΓ‘lido: '%s'"
-#: builtin/branch.c:624
+#: builtin/branch.c:549
msgid "Branch rename failed"
-msgstr "Falhou renomeaΓ§Γ£o da rama"
+msgstr "Falha ao mudar o nome do ramo"
-#: builtin/branch.c:628
+#: builtin/branch.c:553
#, c-format
msgid "Renamed a misnamed branch '%s' away"
-msgstr "Renomeado uma rama erronea '%s'"
+msgstr "O ramo incorretamente denominado '%s' mudou de nome"
-#: builtin/branch.c:632
+#: builtin/branch.c:557
#, c-format
msgid "Branch renamed to %s, but HEAD is not updated!"
-msgstr ""
+msgstr "O nome do ramo mudou para %s, mas a HEAD nΓ£o estΓ‘ atualizada!"
-#: builtin/branch.c:639
+#: builtin/branch.c:564
msgid "Branch is renamed, but update of config-file failed"
msgstr ""
+"O ramo mudou de nome, mas a atualizaΓ§Γ£o do ficheiro de configuraΓ§Γ£o falhou"
-#: builtin/branch.c:654
-#, c-format
-msgid "malformed object name %s"
-msgstr ""
-
-#: builtin/branch.c:678
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel escrever o modelo da descriΓ§Γ£o de ramo: %s"
+
+#: builtin/branch.c:615
+msgid "Generic options"
+msgstr "OpΓ§Γ΅es genΓ©ricas"
+
+#: builtin/branch.c:617
+msgid "show hash and subject, give twice for upstream branch"
+msgstr "apresentar hash e assunto, duplique para ramos a montante"
+
+#: builtin/branch.c:618
+msgid "suppress informational messages"
+msgstr "suprimir mensagens informativas"
+
+#: builtin/branch.c:619
+msgid "set up tracking mode (see git-pull(1))"
+msgstr "configurar modo de seguimento (consulte git-pull(1))"
+
+#: builtin/branch.c:621
+msgid "change upstream info"
+msgstr "alterar a informaΓ§Γ£o do ramo a montante"
-#: builtin/branch.c:769
+#: builtin/branch.c:625
+msgid "use colored output"
+msgstr "usar saΓ­da colorida"
+
+#: builtin/branch.c:626
+msgid "act on remote-tracking branches"
+msgstr "atuar sobre ramos remotos seguidos"
+
+#: builtin/branch.c:628 builtin/branch.c:629
+msgid "print only branches that contain the commit"
+msgstr "imprimir apenas ramos que contenham o commit"
+
+#: builtin/branch.c:632
+msgid "Specific git-branch actions:"
+msgstr "AΓ§Γ΅es especΓ­ficas do git-branch:"
+
+#: builtin/branch.c:633
+msgid "list both remote-tracking and local branches"
+msgstr "listar ramos remotos seguidos e ramos locais"
+
+#: builtin/branch.c:635
+msgid "delete fully merged branch"
+msgstr "eliminar um ramo totalmente incorporado"
+
+#: builtin/branch.c:636
+msgid "delete branch (even if not merged)"
+msgstr "eliminar um ramo (mesmo que nΓ£o tenha sido incorporado)"
+
+#: builtin/branch.c:637
+msgid "move/rename a branch and its reflog"
+msgstr "mover ou mudar o nome de um ramo e o seu reflog"
+
+#: builtin/branch.c:638
+msgid "move/rename a branch, even if target exists"
+msgstr "mover ou mudar o nome de um ramo, mesmo que o destino jΓ‘ exista"
+
+#: builtin/branch.c:639
+msgid "list branch names"
+msgstr "listar os nomes dos ramos"
+
+#: builtin/branch.c:640
+msgid "create the branch's reflog"
+msgstr "criar reflog do ramo"
+
+#: builtin/branch.c:642
+msgid "edit the description for the branch"
+msgstr "editar a descriΓ§Γ£o do ramo"
+
+#: builtin/branch.c:643
+msgid "force creation, move/rename, deletion"
+msgstr "forΓ§ar criaΓ§Γ£o, mover/mudar o nome ou exclusΓ£o"
+
+#: builtin/branch.c:644
+msgid "print only branches that are merged"
+msgstr "imprimir apenas os ramos que foram incorporados"
+
+#: builtin/branch.c:645
+msgid "print only branches that are not merged"
+msgstr "imprimir apenas os ramos que nΓ£o foram incorporados"
+
+#: builtin/branch.c:646
+msgid "list branches in columns"
+msgstr "listar os ramos em colunas"
+
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
+msgid "key"
+msgstr "chave"
+
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
+msgid "field name to sort on"
+msgstr "nome do campo pelo qual ordernar"
+
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
+#: builtin/tag.c:369
+msgid "object"
+msgstr "objeto"
+
+#: builtin/branch.c:651
+msgid "print only branches of the object"
+msgstr "imprimir apenas os ramos do objeto"
+
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
-msgstr ""
+msgstr "Falha ao resolver HEAD numa referΓͺncia vΓ‘lida."
-#: builtin/branch.c:774
-#: builtin/clone.c:558
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
-msgstr ""
+msgstr "HEAD nΓ£o encontrada em refs/heads!"
-#: builtin/branch.c:794
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "--column e --verbose sΓ£o incompatΓ­veis"
-#: builtin/branch.c:843
+#: builtin/branch.c:704 builtin/branch.c:746
+msgid "branch name required"
+msgstr "nome do ramo Γ© obrigatΓ³rio"
+
+#: builtin/branch.c:722
+msgid "Cannot give description to detached HEAD"
+msgstr "NΓ£o Γ© possΓ­vel atribuir descriΓ§Γ£o a HEAD destacada"
+
+#: builtin/branch.c:727
+msgid "cannot edit description of more than one branch"
+msgstr "nΓ£o Γ© possΓ­vel editar a descriΓ§Γ£o de mais do que um ramo"
+
+#: builtin/branch.c:734
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Ainda nΓ£o hΓ‘ commits no ramo '%s'."
+
+#: builtin/branch.c:737
+#, c-format
+msgid "No branch named '%s'."
+msgstr "NΓ£o hΓ‘ nenhum ramo denominado '%s'."
+
+#: builtin/branch.c:752
+msgid "too many branches for a rename operation"
+msgstr "demasiados ramos para uma operaΓ§Γ£o de mudanΓ§a de nome"
+
+#: builtin/branch.c:757
+msgid "too many branches to set new upstream"
+msgstr "demasiados ramos para definir novo ramo a montante"
+
+#: builtin/branch.c:761
+#, c-format
+msgid ""
+"could not set upstream of HEAD to %s when it does not point to any branch."
+msgstr ""
+"nΓ£o foi possΓ­vel definir %s como ramo a montante de HEAD visto que esta nΓ£o "
+"aponta para um ramo."
+
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
+#, c-format
+msgid "no such branch '%s'"
+msgstr "o ramo '%s' nΓ£o existe"
+
+#: builtin/branch.c:768
+#, c-format
+msgid "branch '%s' does not exist"
+msgstr "o ramo '%s' nΓ£o existe"
+
+#: builtin/branch.c:780
+msgid "too many branches to unset upstream"
+msgstr "demasiados ramos para remover a definiΓ§Γ£o de ramo a montante"
+
+#: builtin/branch.c:784
+msgid "could not unset upstream of HEAD when it does not point to any branch."
+msgstr ""
+"nΓ£o foi possΓ­vel remover a definiΓ§Γ£o de ramo a montante de HEAD visto que "
+"esta nΓ£o aponta para um ramo."
+
+#: builtin/branch.c:790
+#, c-format
+msgid "Branch '%s' has no upstream information"
+msgstr "O ramo '%s' nΓ£o tem informaΓ§Γ£o sobre o ramo a montante"
+
+#: builtin/branch.c:804
+msgid "it does not make sense to create 'HEAD' manually"
+msgstr "nΓ£o faz sentido criar 'HEAD' manualmente"
+
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr ""
+"as opΓ§Γ΅es -a e -r de 'git branch' nΓ£o fazem sentido com um nome de ramo"
+
+#: builtin/branch.c:813
+#, c-format
+msgid ""
+"The --set-upstream flag is deprecated and will be removed. Consider using --"
+"track or --set-upstream-to\n"
+msgstr ""
+"A opΓ§Γ£o --set-upstream Γ© obsoleta e serΓ‘ removida. Considere o uso de --"
+"track ou --set-upstream-to\n"
+
+#: builtin/branch.c:830
+#, c-format
+msgid ""
+"\n"
+"If you wanted to make '%s' track '%s', do this:\n"
+"\n"
+msgstr ""
+"\n"
+"Se quer que '%s' siga '%s', faΓ§a:\n"
+"\n"
+
+#: builtin/branch.c:831
+#, c-format
+msgid " git branch -d %s\n"
+msgstr " git branch -d %s\n"
+
+#: builtin/branch.c:832
+#, c-format
+msgid " git branch --set-upstream-to %s\n"
+msgstr " git branch --set-upstream-to %s\n"
-#: builtin/bundle.c:47
+#: builtin/bundle.c:51
#, c-format
msgid "%s is okay\n"
-msgstr "%s estΓ‘ bem\n"
+msgstr "%s estΓ‘ correto\n"
-#: builtin/bundle.c:56
+#: builtin/bundle.c:64
msgid "Need a repository to create a bundle."
-msgstr ""
+msgstr "Γ‰ necessΓ‘rio um repositΓ³rio para criar um bundle."
-#: builtin/bundle.c:60
+#: builtin/bundle.c:68
msgid "Need a repository to unbundle."
+msgstr "Γ‰ preciso um repositΓ³rio para desempacotar."
+
+#: builtin/cat-file.c:428
+msgid ""
+"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|"
+"<type>|--textconv) <object>"
+msgstr ""
+"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|"
+"<tipo>|--textconv) <objeto>"
+
+#: builtin/cat-file.c:429
+msgid "git cat-file (--batch | --batch-check) [--follow-symlinks]"
+msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks]"
+
+#: builtin/cat-file.c:466
+msgid "<type> can be one of: blob, tree, commit, tag"
+msgstr "<tipo> pode ser um de: blob, tree, commit, tag"
+
+#: builtin/cat-file.c:467
+msgid "show object type"
+msgstr "mostrar tipo do objeto"
+
+#: builtin/cat-file.c:468
+msgid "show object size"
+msgstr "mostrar tamanho do objeto"
+
+#: builtin/cat-file.c:470
+msgid "exit with zero when there's no error"
+msgstr "sair com retorno zero quando nΓ£o houver erros"
+
+#: builtin/cat-file.c:471
+msgid "pretty-print object's content"
+msgstr "mostrar conteΓΊdo do objeto com impressΓ£o bonita"
+
+#: builtin/cat-file.c:473
+msgid "for blob objects, run textconv on object's content"
+msgstr "executar textconv no conteΓΊdo de objetos blob"
+
+#: builtin/cat-file.c:475
+msgid "allow -s and -t to work with broken/corrupt objects"
+msgstr "permitir que -s e -t funcionem com objetos danificados/corrompidos"
+
+#: builtin/cat-file.c:476
+msgid "buffer --batch output"
+msgstr "carregar a saΓ­da de --batch"
+
+#: builtin/cat-file.c:478
+msgid "show info and content of objects fed from the standard input"
+msgstr "mostrar informaΓ§Γ£o e conteΓΊdo dos objetos fornecidos na entrada padrΓ£o"
+
+#: builtin/cat-file.c:481
+msgid "show info about objects fed from the standard input"
+msgstr "mostrar informaΓ§Γ£o sobre os objetos fornecidos na entrada padrΓ£o"
+
+#: builtin/cat-file.c:484
+msgid "follow in-tree symlinks (used with --batch or --batch-check)"
msgstr ""
+"seguir ligaΓ§Γ΅es simbΓ³lica no interior da Γ‘rvore (usado com --batch ou --"
+"batch-check)"
+
+#: builtin/cat-file.c:486
+msgid "show all objects with --batch or --batch-check"
+msgstr "mostrar todos os objetos com --batch ou --batch-check"
+
+#: builtin/check-attr.c:11
+msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
+msgstr "git check-attr [-a | --all | <atributo>...] [--] <caminho>..."
+
+#: builtin/check-attr.c:12
+msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]"
+msgstr "git check-attr --stdin [-z] [-a | --all | <atributo>...]"
+
+#: builtin/check-attr.c:19
+msgid "report all attributes set on file"
+msgstr "apresentar todos os atributos definidos no ficheiro"
+
+#: builtin/check-attr.c:20
+msgid "use .gitattributes only from the index"
+msgstr "usar .gitattributes apenas a partir do Γ­ndice"
+
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
+msgid "read file names from stdin"
+msgstr "ler os nomes dos ficheiros da entrada padrΓ£o"
+
+#: builtin/check-attr.c:23 builtin/check-ignore.c:24
+msgid "terminate input and output records by a NUL character"
+msgstr "terminar registos da entrada e da saΓ­da com um carΓ‘cter NUL"
+
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
+msgid "suppress progress reporting"
+msgstr "suprimir informaΓ§Γ£o de progresso"
+
+#: builtin/check-ignore.c:26
+msgid "show non-matching input paths"
+msgstr "mostrar caminhos de entrada sem correspondΓͺncia"
-#: builtin/checkout.c:113
-#: builtin/checkout.c:146
+#: builtin/check-ignore.c:28
+msgid "ignore index when checking"
+msgstr "ignorar o Γ­ndice ao verificar"
+
+#: builtin/check-ignore.c:154
+msgid "cannot specify pathnames with --stdin"
+msgstr "nΓ£o Γ© possΓ­vel especificar caminhos com --stdin"
+
+#: builtin/check-ignore.c:157
+msgid "-z only makes sense with --stdin"
+msgstr "-z sΓ³ faz sentido com --stdin"
+
+#: builtin/check-ignore.c:159
+msgid "no path specified"
+msgstr "nenhum caminho especificado"
+
+#: builtin/check-ignore.c:163
+msgid "--quiet is only valid with a single pathname"
+msgstr "--quiet sΓ³ Γ© vΓ‘lido com um ΓΊnico caminho"
+
+#: builtin/check-ignore.c:165
+msgid "cannot have both --quiet and --verbose"
+msgstr "nΓ£o Γ© possΓ­vel usar --quiet e --verbose simultaneamente"
+
+#: builtin/check-ignore.c:168
+msgid "--non-matching is only valid with --verbose"
+msgstr "--non-matching sΓ³ Γ© vΓ‘lido com --verbose"
+
+#: builtin/check-mailmap.c:8
+msgid "git check-mailmap [<options>] <contact>..."
+msgstr "git check-mailmap [<opΓ§Γ΅es>] <contacto>..."
+
+#: builtin/check-mailmap.c:13
+msgid "also read contacts from stdin"
+msgstr "tambΓ©m ler contactos da entrada padrΓ£o"
+
+#: builtin/check-mailmap.c:24
#, c-format
-msgid "path '%s' does not have our version"
+msgid "unable to parse contact: %s"
+msgstr "nΓ£o Γ© possΓ­vel analisar o contacto: %s"
+
+#: builtin/check-mailmap.c:47
+msgid "no contacts specified"
+msgstr "nenhum contacto especificado"
+
+#: builtin/checkout-index.c:127
+msgid "git checkout-index [<options>] [--] [<file>...]"
+msgstr "git checkout-index [<opΓ§Γ΅es>] [--] [<ficheiro>...]"
+
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "stage deve ser um nΓΊmero entre 1 e 3 ou o parΓ’metro all"
+
+#: builtin/checkout-index.c:160
+msgid "check out all files in the index"
+msgstr "extrair todos os ficheiros presentes no Γ­ndice"
+
+#: builtin/checkout-index.c:161
+msgid "force overwrite of existing files"
+msgstr "forΓ§ar substituiΓ§Γ£o dos ficheiros existentes"
+
+#: builtin/checkout-index.c:163
+msgid "no warning for existing files and files not in index"
msgstr ""
+"nΓ£o mostrar aviso para ficheiros existentes e ficheiros nΓ£o presentes no "
+"Γ­ndice"
+
+#: builtin/checkout-index.c:165
+msgid "don't checkout new files"
+msgstr "nΓ£o extrair novos ficheiros"
+
+#: builtin/checkout-index.c:167
+msgid "update stat information in the index file"
+msgstr "atualizar informaΓ§Γ£o de stat no ficheiro de Γ­ndice"
+
+#: builtin/checkout-index.c:171
+msgid "read list of paths from the standard input"
+msgstr "ler lista de caminhos da entrada padrΓ£o"
+
+#: builtin/checkout-index.c:173
+msgid "write the content to temporary files"
+msgstr "escrever o conteΓΊdo em ficheiros temporΓ‘rios"
+
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
+msgid "string"
+msgstr "cadeia"
+
+#: builtin/checkout-index.c:175
+msgid "when creating files, prepend <string>"
+msgstr "preceder <cadeia> ao criar ficheiros"
+
+#: builtin/checkout-index.c:177
+msgid "copy out the files from named stage"
+msgstr "copiar os ficheiros do estΓ‘gio indicado"
+
+#: builtin/checkout.c:25
+msgid "git checkout [<options>] <branch>"
+msgstr "git checkout [<opΓ§Γ΅es>] <ramo>"
+
+#: builtin/checkout.c:26
+msgid "git checkout [<options>] [<branch>] -- <file>..."
+msgstr "git checkout [<opΓ§Γ΅es>] [<ramo>] -- <ficheiro>..."
-#: builtin/checkout.c:115
-#: builtin/checkout.c:148
+#: builtin/checkout.c:134 builtin/checkout.c:167
+#, c-format
+msgid "path '%s' does not have our version"
+msgstr "o caminho '%s' nΓ£o tem a nossa versΓ£o"
+
+#: builtin/checkout.c:136 builtin/checkout.c:169
#, c-format
msgid "path '%s' does not have their version"
-msgstr ""
+msgstr "o caminho '%s' nΓ£o tem a versΓ£o deles"
-#: builtin/checkout.c:131
+#: builtin/checkout.c:152
#, c-format
msgid "path '%s' does not have all necessary versions"
-msgstr ""
+msgstr "o caminho '%s' nΓ£o tem todas as versΓ΅es necessΓ‘rias"
-#: builtin/checkout.c:175
+#: builtin/checkout.c:196
#, c-format
msgid "path '%s' does not have necessary versions"
-msgstr ""
+msgstr "o caminho '%s' nΓ£o tem as versΓ΅es necessΓ‘rias"
-#: builtin/checkout.c:192
+#: builtin/checkout.c:213
#, c-format
msgid "path '%s': cannot merge"
-msgstr ""
+msgstr "caminho '%s': nΓ£o Γ© possΓ­vel integrar"
-#: builtin/checkout.c:209
+#: builtin/checkout.c:230
#, c-format
msgid "Unable to add merge result for '%s'"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel integrar os resultados do merge de '%s'"
-#: builtin/checkout.c:234
-#: builtin/checkout.c:392
-msgid "corrupt index file"
-msgstr "ficheiro index corrupto"
+#: builtin/checkout.c:251 builtin/checkout.c:254 builtin/checkout.c:257
+#: builtin/checkout.c:260
+#, c-format
+msgid "'%s' cannot be used with updating paths"
+msgstr "'%s' nΓ£o pode ser usado com caminhos em atualizaΓ§Γ£o"
-#: builtin/checkout.c:264
-#: builtin/checkout.c:271
+#: builtin/checkout.c:263 builtin/checkout.c:266
#, c-format
-msgid "path '%s' is unmerged"
-msgstr ""
+msgid "'%s' cannot be used with %s"
+msgstr "'%s' nΓ£o pode ser usado com %s"
-#: builtin/checkout.c:302
-#: builtin/checkout.c:498
-#: builtin/clone.c:583
-#: builtin/merge.c:812
-msgid "unable to write new index file"
+#: builtin/checkout.c:269
+#, c-format
+msgid "Cannot update paths and switch to branch '%s' at the same time."
msgstr ""
+"NΓ£o Γ© possΓ­vel atualizar os caminhos e mudar para o ramo '%s' ao mesmo tempo."
-#: builtin/checkout.c:319
-#: builtin/diff.c:302
-#: builtin/merge.c:408
-msgid "diff_setup_done failed"
-msgstr ""
+#: builtin/checkout.c:280 builtin/checkout.c:474
+msgid "corrupt index file"
+msgstr "ficheiro de Γ­ndice corrompido"
-#: builtin/checkout.c:414
+#: builtin/checkout.c:340 builtin/checkout.c:347
+#, c-format
+msgid "path '%s' is unmerged"
+msgstr "o caminho '%s' nΓ£o foi integrado"
+
+#: builtin/checkout.c:496
msgid "you need to resolve your current index first"
-msgstr ""
+msgstr "primeiro deve resolver o Γ­ndice atual"
-#: builtin/checkout.c:533
+#: builtin/checkout.c:623
#, c-format
-msgid "Can not do reflog for '%s'\n"
-msgstr ""
+msgid "Can not do reflog for '%s': %s\n"
+msgstr "NΓ£o Γ© possΓ­vel efetuar reflog de '%s': %s\n"
-#: builtin/checkout.c:566
+#: builtin/checkout.c:661
msgid "HEAD is now at"
-msgstr "HEAD Γ© agora em "
+msgstr "HEAD estΓ‘ agora em"
-#: builtin/checkout.c:573
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "nΓ£o foi possΓ­vel atualizar HEAD"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
-msgstr "Reset rama '%s'\n"
+msgstr "Repor ramo '%s'\n"
-#: builtin/checkout.c:576
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "JΓ‘ em '%s'\n"
-#: builtin/checkout.c:580
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
-msgstr ""
+msgstr "Mudou para e repΓ΄s o ramo '%s'\n"
-#: builtin/checkout.c:582
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
-msgstr "Mudado para a nova rama '%s'\n"
+msgstr "Mudou para o novo ramo '%s'\n"
-#: builtin/checkout.c:584
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
-msgstr "Mudado para a rama '%s'\n"
+msgstr "Mudou para o ramo '%s'\n"
-#: builtin/checkout.c:640
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
-msgstr " ... e %d mais.\n"
+msgstr " ... e mais %d.\n"
-#. The singular version
-#: builtin/checkout.c:646
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -1631,283 +4301,752 @@ msgid_plural ""
"\n"
"%s\n"
msgstr[0] ""
+"Aviso: deixa %d commit para trΓ‘s, nΓ£o ligado a nenhum ramo:\n"
+"\n"
+"%s\n"
msgstr[1] ""
+"Aviso: deixa %d commits para trΓ‘s, nΓ£o ligados a nenhum ramo:\n"
+"\n"
+"%s\n"
-#: builtin/checkout.c:664
+#: builtin/checkout.c:757
#, c-format
msgid ""
+"If you want to keep it by creating a new branch, this may be a good time\n"
+"to do so with:\n"
+"\n"
+" git branch <new-branch-name> %s\n"
+"\n"
+msgid_plural ""
"If you want to keep them by creating a new branch, this may be a good time\n"
"to do so with:\n"
"\n"
-" git branch new_branch_name %s\n"
+" git branch <new-branch-name> %s\n"
+"\n"
+msgstr[0] ""
+"Se deseja mantΓͺ-lo, criando um novo ramo, agora seria uma boa altura\n"
+"para fazΓͺ-lo com:\n"
+"\n"
+" git branch <nome-do-novo-ramo> %s\n"
+"\n"
+msgstr[1] ""
+"Se deseja mantΓͺ-los, criando um novo ramo, agora seria uma boa altura\n"
+"para fazΓͺ-lo com:\n"
+"\n"
+" git branch <nome-do-novo-ramo> %s\n"
"\n"
-msgstr ""
-#: builtin/checkout.c:693
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
-msgstr ""
+msgstr "erro interno durante o curso de revisΓ΅es"
-#: builtin/checkout.c:697
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
-msgstr ""
+msgstr "A posiΓ§Γ£o anterior de HEAD era"
-#: builtin/checkout.c:723
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
-msgstr ""
+msgstr "EstΓ‘ num ramo ainda nΓ£o criado"
+
+#: builtin/checkout.c:969
+#, c-format
+msgid "only one reference expected, %d given."
+msgstr "esperava-se apenas uma referΓͺncia, %d fornecidas."
-#. case (1)
-#: builtin/checkout.c:854
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
-msgstr ""
+msgstr "referΓͺncia invΓ‘lida: %s"
-#. case (1): want a tree
-#: builtin/checkout.c:893
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
-msgstr ""
+msgstr "a referΓͺncia nΓ£o Γ© uma Γ‘rvore: %s"
-#: builtin/checkout.c:973
-msgid "-B cannot be used with -b"
-msgstr ""
+#: builtin/checkout.c:1077
+msgid "paths cannot be used with switching branches"
+msgstr "nΓ£o podem ser usados caminhos ao mudar de ramo"
-#: builtin/checkout.c:982
-msgid "--patch is incompatible with all other options"
-msgstr ""
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
+#, c-format
+msgid "'%s' cannot be used with switching branches"
+msgstr "'%s' nΓ£o pode ser usado ao mudar de ramo"
-#: builtin/checkout.c:985
-msgid "--detach cannot be used with -b/-B/--orphan"
-msgstr ""
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
+#, c-format
+msgid "'%s' cannot be used with '%s'"
+msgstr "'%s' nΓ£o pode ser usado com '%s'"
-#: builtin/checkout.c:987
-msgid "--detach cannot be used with -t"
-msgstr ""
+#: builtin/checkout.c:1104
+#, c-format
+msgid "Cannot switch branch to a non-commit '%s'"
+msgstr "NΓ£o Γ© possΓ­vel mudar de ramo para '%s', visto que nΓ£o Γ© um commit"
-#: builtin/checkout.c:993
-msgid "--track needs a branch name"
-msgstr ""
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
+msgid "branch"
+msgstr "ramo"
-#: builtin/checkout.c:1000
-msgid "Missing branch name; try -b"
-msgstr ""
+#: builtin/checkout.c:1138
+msgid "create and checkout a new branch"
+msgstr "criar e extrair um novo ramo"
-#: builtin/checkout.c:1006
-msgid "--orphan and -b|-B are mutually exclusive"
-msgstr ""
+#: builtin/checkout.c:1140
+msgid "create/reset and checkout a branch"
+msgstr "criar/repor e extrair um ramo"
-#: builtin/checkout.c:1008
-msgid "--orphan cannot be used with -t"
-msgstr ""
+#: builtin/checkout.c:1141
+msgid "create reflog for new branch"
+msgstr "criar reflog do novo ramo"
+
+#: builtin/checkout.c:1142
+msgid "detach the HEAD at named commit"
+msgstr "destacar HEAD no commit indicado"
+
+#: builtin/checkout.c:1143
+msgid "set upstream info for new branch"
+msgstr "definir a informaΓ§Γ£o do ramo a montante do novo ramo"
+
+#: builtin/checkout.c:1145
+msgid "new-branch"
+msgstr "novo-ramo"
+
+#: builtin/checkout.c:1145
+msgid "new unparented branch"
+msgstr "novo ramo sem pai"
-#: builtin/checkout.c:1018
-msgid "git checkout: -f and -m are incompatible"
+#: builtin/checkout.c:1146
+msgid "checkout our version for unmerged files"
+msgstr "extrair a nossa versΓ£o dos ficheiros nΓ£o integrados"
+
+#: builtin/checkout.c:1148
+msgid "checkout their version for unmerged files"
+msgstr "extrair a versΓ£o deles dos ficheiros nΓ£o integrados"
+
+#: builtin/checkout.c:1150
+msgid "force checkout (throw away local modifications)"
+msgstr "forΓ§ar extraΓ§Γ£o (descartar modificaΓ§Γ΅es locais)"
+
+#: builtin/checkout.c:1151
+msgid "perform a 3-way merge with the new branch"
+msgstr "realizar um merge com 3 pontos com o novo ramo"
+
+#: builtin/checkout.c:1152 builtin/merge.c:227
+msgid "update ignored files (default)"
+msgstr "atualizar ficheiros ignorados (predefiniΓ§Γ£o)"
+
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
+msgid "style"
+msgstr "estilo"
+
+#: builtin/checkout.c:1154
+msgid "conflict style (merge or diff3)"
+msgstr "estilo de conflito (merge ou diff3)"
+
+#: builtin/checkout.c:1157
+msgid "do not limit pathspecs to sparse entries only"
+msgstr "nΓ£o restringir especificadores de caminho a entradas esparsas"
+
+#: builtin/checkout.c:1159
+msgid "second guess 'git checkout <no-such-branch>'"
+msgstr "tentar adivinhar 'git checkout <ramo-inexistente>'"
+
+#: builtin/checkout.c:1161
+msgid "do not check if another worktree is holding the given ref"
msgstr ""
+"nΓ£o verificar se outra Γ‘rvore de trabalho contΓ©m a referΓͺncia fornecida"
+
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
+#: builtin/send-pack.c:168
+msgid "force progress reporting"
+msgstr "forΓ§ar informaΓ§Γ£o de progresso"
+
+#: builtin/checkout.c:1193
+msgid "-b, -B and --orphan are mutually exclusive"
+msgstr "-b, -B e --orphan sΓ£o mutuamente exclusivos"
+
+#: builtin/checkout.c:1210
+msgid "--track needs a branch name"
+msgstr "--track requer um nome dum ramo"
-#: builtin/checkout.c:1052
+#: builtin/checkout.c:1215
+msgid "Missing branch name; try -b"
+msgstr "Falta um nome dum ramo; tente -b"
+
+#: builtin/checkout.c:1251
msgid "invalid path specification"
-msgstr ""
+msgstr "especificaΓ§Γ£o de caminho invΓ‘lida"
-#: builtin/checkout.c:1060
+#: builtin/checkout.c:1258
#, c-format
msgid ""
-"git checkout: updating paths is incompatible with switching branches.\n"
+"Cannot update paths and switch to branch '%s' at the same time.\n"
"Did you intend to checkout '%s' which can not be resolved as commit?"
msgstr ""
+"NΓ£o Γ© possΓ­vel atualizar os caminho e mudar para o ramo '%s' ao mesmo "
+"tempo.\n"
+"Pretendia extrair '%s' podendo ser resolvido num commit?"
-#: builtin/checkout.c:1062
-msgid "git checkout: updating paths is incompatible with switching branches."
-msgstr ""
-
-#: builtin/checkout.c:1067
-msgid "git checkout: --detach does not take a path argument"
-msgstr ""
+#: builtin/checkout.c:1263
+#, c-format
+msgid "git checkout: --detach does not take a path argument '%s'"
+msgstr "git checkout: --detach nΓ£o aceita um caminho como argumento '%s'"
-#: builtin/checkout.c:1070
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
msgstr ""
+"git checkout: --ours/--theirs, --force e --merge sΓ£o incompatΓ­veis\n"
+"durante a extraΓ§Γ£o do Γ­ndice."
-#: builtin/checkout.c:1089
-msgid "Cannot switch branch to a non-commit."
+#: builtin/clean.c:25
+msgid ""
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
msgstr ""
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <padrΓ£o>] [-x | -X] [--] <caminhos>..."
-#: builtin/checkout.c:1092
-msgid "--ours/--theirs is incompatible with switching branches."
-msgstr ""
+#: builtin/clean.c:29
+#, c-format
+msgid "Removing %s\n"
+msgstr "A remover %s\n"
-#: builtin/clean.c:78
-msgid "-x and -X cannot be used together"
-msgstr ""
+#: builtin/clean.c:30
+#, c-format
+msgid "Would remove %s\n"
+msgstr "Removeria %s\n"
+
+#: builtin/clean.c:31
+#, c-format
+msgid "Skipping repository %s\n"
+msgstr "A ignorar o repositΓ³rio %s\n"
+
+#: builtin/clean.c:32
+#, c-format
+msgid "Would skip repository %s\n"
+msgstr "Ignoraria o repositΓ³rio %s\n"
-#: builtin/clean.c:82
-msgid "clean.requireForce set to true and neither -n nor -f given; refusing to clean"
+#: builtin/clean.c:33
+#, c-format
+msgid "failed to remove %s"
+msgstr "falha ao remover %s"
+
+#: builtin/clean.c:291
+msgid ""
+"Prompt help:\n"
+"1 - select a numbered item\n"
+"foo - select item based on unique prefix\n"
+" - (empty) select nothing"
msgstr ""
+"Ajuda de linha de comandos:\n"
+"1 - selecionar um item numerado\n"
+"foo - selecionar item baseado no prefixo ΓΊnico\n"
+" - (vazio) nΓ£o seleciona nada"
-#: builtin/clean.c:85
-msgid "clean.requireForce defaults to true and neither -n nor -f given; refusing to clean"
+#: builtin/clean.c:295
+msgid ""
+"Prompt help:\n"
+"1 - select a single item\n"
+"3-5 - select a range of items\n"
+"2-3,6-9 - select multiple ranges\n"
+"foo - select item based on unique prefix\n"
+"-... - unselect specified items\n"
+"* - choose all items\n"
+" - (empty) finish selecting"
msgstr ""
+"Ajuda de linha de comandos:\n"
+"1 - selecionar um ΓΊnico item\n"
+"3-5 - selecionar um intervalo de items\n"
+"2-3,6-9 - selecionar mΓΊltiplos intervalos\n"
+"foo - selecionar item baseado no prefixo ΓΊnico\n"
+"-... - desselecionar itens especificados\n"
+"* - escolher todos os itens\n"
+" - (vazio) concluir seleΓ§Γ£o"
-#: builtin/clean.c:155
-#: builtin/clean.c:176
+#: builtin/clean.c:511
#, c-format
-msgid "Would remove %s\n"
-msgstr ""
+msgid "Huh (%s)?"
+msgstr "O quΓͺ (%s)?"
-#: builtin/clean.c:159
-#: builtin/clean.c:179
+#: builtin/clean.c:653
#, c-format
-msgid "Removing %s\n"
-msgstr "Eliminando %s\n"
+msgid "Input ignore patterns>> "
+msgstr "Introduza padrΓ΅es a ignorar>> "
-#: builtin/clean.c:162
-#: builtin/clean.c:182
+#: builtin/clean.c:690
#, c-format
-msgid "failed to remove %s"
-msgstr ""
+msgid "WARNING: Cannot find items matched by: %s"
+msgstr "AVISO: nΓ£o foram encontrados itens correspondentes a %s"
+
+#: builtin/clean.c:711
+msgid "Select items to delete"
+msgstr "Selecione itens para eliminar"
-#: builtin/clean.c:166
+#. TRANSLATORS: Make sure to keep [y/N] as is
+#: builtin/clean.c:752
#, c-format
-msgid "Would not remove %s\n"
+msgid "Remove %s [y/N]? "
+msgstr "Remover %s [y/N]? "
+
+#: builtin/clean.c:777
+msgid "Bye."
+msgstr "Adeus."
+
+#: builtin/clean.c:785
+msgid ""
+"clean - start cleaning\n"
+"filter by pattern - exclude items from deletion\n"
+"select by numbers - select items to be deleted by numbers\n"
+"ask each - confirm each deletion (like \"rm -i\")\n"
+"quit - stop cleaning\n"
+"help - this screen\n"
+"? - help for prompt selection"
+msgstr ""
+"clean - comeΓ§ar a limpar\n"
+"filter by pattern - excluir itens da eliminaΓ§Γ£o\n"
+"select by numbers - selecionar itens para serem eliminados por nΓΊmero\n"
+"ask each - confirmar cada eliminaΓ§Γ£o (como \"rm -i\")\n"
+"quit - parar limpeza\n"
+"help - esta ajuda\n"
+"? - ajuda para seleΓ§Γ£o em linha de comandos"
+
+#: builtin/clean.c:812
+msgid "*** Commands ***"
+msgstr "*** Comandos ***"
+
+#: builtin/clean.c:813
+msgid "What now"
+msgstr "E agora"
+
+#: builtin/clean.c:821
+msgid "Would remove the following item:"
+msgid_plural "Would remove the following items:"
+msgstr[0] "Removeria o seguinte item:"
+msgstr[1] "Removeria os seguintes itens:"
+
+#: builtin/clean.c:838
+msgid "No more files to clean, exiting."
+msgstr "NΓ£o hΓ‘ mais ficheiros por limpar, a terminar."
+
+#: builtin/clean.c:869
+msgid "do not print names of files removed"
+msgstr "nΓ£o imprimir os nomes dos ficheiros removidos"
+
+#: builtin/clean.c:871
+msgid "force"
+msgstr "forΓ§ar"
+
+#: builtin/clean.c:872
+msgid "interactive cleaning"
+msgstr "limpeza interativa"
+
+#: builtin/clean.c:874
+msgid "remove whole directories"
+msgstr "remover diretΓ³rios inteiros"
+
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
+msgid "pattern"
+msgstr "padrΓ£o"
+
+#: builtin/clean.c:876
+msgid "add <pattern> to ignore rules"
+msgstr "adicionar <padrΓ£o> Γ s regras ignoradas"
+
+#: builtin/clean.c:877
+msgid "remove ignored files, too"
+msgstr "tambΓ©m remover ficheiros ignorados"
+
+#: builtin/clean.c:879
+msgid "remove only ignored files"
+msgstr "remover apenas ficheiros ignorados"
+
+#: builtin/clean.c:897
+msgid "-x and -X cannot be used together"
+msgstr "-x e -X nΓ£o pode ser usados juntos"
+
+#: builtin/clean.c:901
+msgid ""
+"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
+"clean"
msgstr ""
+"clean.requireForce definido como true e nenhum -i, -n, ou -f fornecido; "
+"recusando-se a limpar"
-#: builtin/clean.c:168
-#, c-format
-msgid "Not removing %s\n"
+#: builtin/clean.c:904
+msgid ""
+"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
+"refusing to clean"
msgstr ""
+"clean.requireForce predefinido como true e nenhum -i, -n, ou -f fornecido; "
+"recusando-se a limpar"
+
+#: builtin/clone.c:37
+msgid "git clone [<options>] [--] <repo> [<dir>]"
+msgstr "git clone [<opΓ§Γ΅es>] [--] <repo> [<dir>]"
+
+#: builtin/clone.c:60
+msgid "don't create a checkout"
+msgstr "nΓ£o realizar extraΓ§Γ£o"
+
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
+msgid "create a bare repository"
+msgstr "criar um repositΓ³rio nu"
+
+#: builtin/clone.c:65
+msgid "create a mirror repository (implies bare)"
+msgstr "criar um repositΓ³rio espelhado (implica repositΓ³rio nu)"
+
+#: builtin/clone.c:67
+msgid "to clone from a local repository"
+msgstr "para clonar de um repositΓ³rio local"
+
+#: builtin/clone.c:69
+msgid "don't use local hardlinks, always copy"
+msgstr "nΓ£o usar ligaΓ§Γ΅es fixas, copiar sempre"
+
+#: builtin/clone.c:71
+msgid "setup as shared repository"
+msgstr "configurar como repositΓ³rio partilhado"
+
+#: builtin/clone.c:73 builtin/clone.c:75
+msgid "initialize submodules in the clone"
+msgstr "inicializar submΓ³dulos no clone"
+
+#: builtin/clone.c:76 builtin/init-db.c:466
+msgid "template-directory"
+msgstr "diretΓ³rio-modelo"
+
+#: builtin/clone.c:77 builtin/init-db.c:467
+msgid "directory from which templates will be used"
+msgstr "diretΓ³rio que contΓ©m os modelos usados"
+
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
+msgid "reference repository"
+msgstr "repositΓ³rio de referΓͺncia"
+
+#: builtin/clone.c:81
+msgid "use --reference only while cloning"
+msgstr "usar --reference apenas para clonar"
+
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
+msgid "name"
+msgstr "nome"
+
+#: builtin/clone.c:83
+msgid "use <name> instead of 'origin' to track upstream"
+msgstr "usar <nome> em vez de 'origin' para seguir o ramo a montante"
+
+#: builtin/clone.c:85
+msgid "checkout <branch> instead of the remote's HEAD"
+msgstr "extrair <ramo> em vez da HEAD do remoto"
+
+#: builtin/clone.c:87
+msgid "path to git-upload-pack on the remote"
+msgstr "caminho para git-upload-pack no remoto"
+
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
+msgid "depth"
+msgstr "profundidade"
+
+#: builtin/clone.c:89
+msgid "create a shallow clone of that depth"
+msgstr "criar um clone raso com essa profundidade"
+
+#: builtin/clone.c:91
+msgid "clone only one branch, HEAD or --branch"
+msgstr "clonar apenas um ramo, HEAD ou --branch"
+
+#: builtin/clone.c:92 builtin/init-db.c:475
+msgid "gitdir"
+msgstr "gitdir"
+
+#: builtin/clone.c:93 builtin/init-db.c:476
+msgid "separate git dir from working tree"
+msgstr "separar o repositΓ³rio git da Γ‘rvore de trabalho"
+
+#: builtin/clone.c:94
+msgid "key=value"
+msgstr "chave=valor"
+
+#: builtin/clone.c:95
+msgid "set config inside the new repository"
+msgstr "definir configuraΓ§Γ£o dentro do novo repositΓ³rio"
+
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "usar apenas endereΓ§os IPv4"
-#: builtin/clone.c:243
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "usar apenas endereΓ§os IPv6"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"NΓ£o foi possΓ­vel adivinhar o nome do diretΓ³rio.\n"
+"Especifique um diretΓ³rio na linha de comandos"
+
+#: builtin/clone.c:305
#, c-format
-msgid "reference repository '%s' is not a local directory."
+msgid "reference repository '%s' as a linked checkout is not supported yet."
msgstr ""
+"ainda nΓ£o Γ© suportada a funcionalidade que permite ter o repositΓ³rio de "
+"referΓͺncia '%s' como uma extraΓ§Γ£o ligada"
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
-msgid "failed to open '%s'"
-msgstr "falhou a abrir '%s'"
+msgid "reference repository '%s' is not a local repository."
+msgstr "o repositΓ³rio de referΓͺncia '%s' nΓ£o Γ© um repositΓ³rio local."
-#: builtin/clone.c:306
+#: builtin/clone.c:312
#, c-format
-msgid "failed to create directory '%s'"
-msgstr "falhou a criar o directΓ³rio '%s'"
+msgid "reference repository '%s' is shallow"
+msgstr "o repositΓ³rio de referΓͺncia '%s' Γ© raso"
-#: builtin/clone.c:308
-#: builtin/diff.c:75
+#: builtin/clone.c:315
+#, c-format
+msgid "reference repository '%s' is grafted"
+msgstr "o repositΓ³rio de referΓͺncia '%s' estΓ‘ enxertado"
+
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
-msgstr ""
+msgstr "falha ao invocar stat de '%s'"
-#: builtin/clone.c:310
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
-msgstr ""
+msgstr "%s existe e nΓ£o Γ© um diretΓ³rio"
-#: builtin/clone.c:324
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
-msgstr ""
+msgstr "falha ao invocar stat de %s\n"
-#: builtin/clone.c:341
-#, c-format
-msgid "failed to unlink '%s'"
-msgstr ""
-
-#: builtin/clone.c:346
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
-msgstr ""
+msgstr "falha ao criar a ligaΓ§Γ£o '%s'"
-#: builtin/clone.c:350
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
-msgstr "falhou a copiar o ficheiro para '%s'"
+msgstr "falha ao copiar o ficheiro para '%s'"
-#: builtin/clone.c:373
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
-msgstr "terminado.\n"
+msgstr "concluΓ­do.\n"
+
+#: builtin/clone.c:459
+msgid ""
+"Clone succeeded, but checkout failed.\n"
+"You can inspect what was checked out with 'git status'\n"
+"and retry the checkout with 'git checkout -f HEAD'\n"
+msgstr ""
+"Clonado com sucesso, mas a extraΓ§Γ£o falhou.\n"
+"Pode inspecionar o que foi extraΓ­do com 'git status'\n"
+"e repetir a extraΓ§Γ£o com 'git checkout -f HEAD'\n"
-#: builtin/clone.c:440
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
-msgstr ""
+msgstr "Ramo remoto %s nΓ£o encontrado para clonar."
+
+#: builtin/clone.c:626
+#, c-format
+msgid "Checking connectivity... "
+msgstr "A verificar a conectividade... "
+
+#: builtin/clone.c:629
+msgid "remote did not send all necessary objects"
+msgstr "o remoto nΓ£o enviou todos os objetos necessΓ‘rios"
+
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "nΓ£o foi possΓ­vel atualizar %s"
-#: builtin/clone.c:549
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr ""
+"a HEAD remota referencia uma referΓͺncia inexistente, nΓ£o Γ© possΓ­vel "
+"extrair.\n"
-#: builtin/clone.c:639
+#: builtin/clone.c:727
+msgid "unable to checkout working tree"
+msgstr "nΓ£o foi possΓ­vel extrair a Γ‘rvore de trabalho"
+
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "nΓ£o foi possΓ­vel escrever os parΓ’metros no ficheiro de configuraΓ§Γ£o"
+
+#: builtin/clone.c:816
+msgid "cannot repack to clean up"
+msgstr "nΓ£o Γ© possΓ­vel reempacotar para limpar"
+
+#: builtin/clone.c:818
+msgid "cannot unlink temporary alternates file"
+msgstr "nΓ£o Γ© possΓ­vel invocar unlink sobre o ficheiro alternates temporΓ‘rio"
+
+#: builtin/clone.c:850
msgid "Too many arguments."
-msgstr "Demasiados parametros."
+msgstr "Demasiados argumentos."
-#: builtin/clone.c:643
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
-msgstr ""
+msgstr "Deve especificar um repositΓ³rio para clonar."
-#: builtin/clone.c:654
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
-msgstr ""
+msgstr "as opΓ§Γ΅es --bare e --origin %s sΓ£o incompatΓ­veis."
+
+#: builtin/clone.c:868
+msgid "--bare and --separate-git-dir are incompatible."
+msgstr "--bare e --separate-git-dir sΓ£o incompatΓ­veis."
-#: builtin/clone.c:668
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
-msgstr ""
+msgstr "o repositΓ³rio '%s' nΓ£o existe"
-#: builtin/clone.c:673
-msgid "--depth is ignored in local clones; use file:// instead."
-msgstr ""
+#: builtin/clone.c:887 builtin/fetch.c:1174
+#, c-format
+msgid "depth %s is not a positive number"
+msgstr "profundidade %s nΓ£o Γ© um nΓΊmero positivo"
-#: builtin/clone.c:683
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
-msgstr ""
+msgstr "o caminho de destino '%s' jΓ‘ existe e nΓ£o Γ© um diretΓ³rio vazio."
-#: builtin/clone.c:693
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
-msgstr ""
+msgstr "a Γ‘rvore de trabalho '%s' jΓ‘ existe."
-#: builtin/clone.c:706
-#: builtin/clone.c:720
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel criar os diretΓ³rios superiores de '%s'"
-#: builtin/clone.c:709
+#: builtin/clone.c:925
#, c-format
-msgid "could not create work tree dir '%s'."
-msgstr ""
+msgid "could not create work tree dir '%s'"
+msgstr "nΓ£o foi possΓ­vel criar o diretΓ³rio de Γ‘rvore de trabalho '%s'"
-#: builtin/clone.c:728
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
-msgstr "Clonando em um repositorio nu (bare) '%s'...\n"
+msgstr "A clonar no repositΓ³rio nu '%s'...\n"
-#: builtin/clone.c:730
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
-msgstr "Clonar em '%s'...\n"
+msgstr "A clonar em '%s'...\n"
+
+#: builtin/clone.c:984
+msgid "--depth is ignored in local clones; use file:// instead."
+msgstr "--depth Γ© ignorado em clones locais; use file:// ."
+
+#: builtin/clone.c:987
+msgid "source repository is shallow, ignoring --local"
+msgstr "o repositΓ³rio de origem Γ© raso, --local ignorado"
+
+#: builtin/clone.c:992
+msgid "--local is ignored"
+msgstr "--local ignorado"
-#: builtin/clone.c:786
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "NΓ£o sei como clonar %s"
-#: builtin/clone.c:835
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
-msgstr ""
+msgstr "O ramo remoto %s nΓ£o foi encontrado no repositΓ³rio a montante %s"
-#: builtin/clone.c:842
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
-msgstr ""
+msgstr "Parece foi clonado um repositΓ³rio vazio."
+
+#: builtin/column.c:9
+msgid "git column [<options>]"
+msgstr "git column [<opΓ§Γ΅es>]"
+
+#: builtin/column.c:26
+msgid "lookup config vars"
+msgstr "pesquisar variΓ‘veis de configuraΓ§Γ£o"
+
+#: builtin/column.c:27 builtin/column.c:28
+msgid "layout to use"
+msgstr "esquema a usar"
+
+#: builtin/column.c:29
+msgid "Maximum width"
+msgstr "Largura mΓ‘xima"
+
+#: builtin/column.c:30
+msgid "Padding space on left border"
+msgstr "EspaΓ§o de preenchimento na borda esquerda"
+
+#: builtin/column.c:31
+msgid "Padding space on right border"
+msgstr "EspaΓ§o de preenchimento na borda direita"
+
+#: builtin/column.c:32
+msgid "Padding space between columns"
+msgstr "EspaΓ§o de preenchimento entre colunas"
#: builtin/column.c:51
msgid "--command must be the first argument"
-msgstr ""
+msgstr "--command deve ser o primeiro argumento"
+
+#: builtin/commit.c:38
+msgid "git commit [<options>] [--] <pathspec>..."
+msgstr "git commit [<opΓ§Γ΅es>] [--] <especificador-de-caminho>..."
#: builtin/commit.c:43
+msgid "git status [<options>] [--] <pathspec>..."
+msgstr "git status [<opΓ§Γ΅es>] [--] <especificador-de-caminho>..."
+
+#: builtin/commit.c:48
+msgid ""
+"Your name and email address were configured automatically based\n"
+"on your username and hostname. Please check that they are accurate.\n"
+"You can suppress this message by setting them explicitly. Run the\n"
+"following command and follow the instructions in your editor to edit\n"
+"your configuration file:\n"
+"\n"
+" git config --global --edit\n"
+"\n"
+"After doing this, you may fix the identity used for this commit with:\n"
+"\n"
+" git commit --amend --reset-author\n"
+msgstr ""
+"O seu nome e endereΓ§o de e-mail foram configurados automaticamente com base\n"
+"no seu nome de utilizador e nome de mΓ‘quina. Verifique se estΓ£o corretos.\n"
+"Pode suprimir esta mensagem configurando-os explicitamente. Execute\n"
+"o seguinte comando e siga as instruΓ§Γ΅es no editor para editar\n"
+"o ficheiro de configuraΓ§Γ£o:\n"
+"\n"
+" git config --global --edit\n"
+"\n"
+"ApΓ³s fazer isto, pode corrigir a identidade usada neste commit com:\n"
+"\n"
+" git commit --amend --reset-author\n"
+
+#: builtin/commit.c:61
msgid ""
"Your name and email address were configured automatically based\n"
"on your username and hostname. Please check that they are accurate.\n"
@@ -1921,126 +5060,160 @@ msgid ""
" git commit --amend --reset-author\n"
msgstr ""
"O seu nome e endereΓ§o de e-mail foram configurados automaticamente com base\n"
-"no o seu usuario e nome da maquina. Por favor, verifique se eles sΓ£o precisos.\n"
-"VocΓͺ pode suprimir esta mensagem, configurando-los explicitamente:\n"
+"no seu nome de utilizador e nome de mΓ‘quina. Verifique se estΓ£o corretos.\n"
+"Pode suprimir esta mensagem configurando-os explicitamente:\n"
"\n"
-" git config --global user.name \"O teu Nome\"\n"
-" git config --global user.email tu@examplo.com\n"
+" git config --global user.name \"O Seu Nome\"\n"
+" git config --global user.email utilizador@exemplo.com\n"
"\n"
-"ApΓ³s fazer isso, vocΓͺ pode corregir a identidade usada em este commit com:\n"
+"ApΓ³s fazer isto, pode corrigir a identidade usada neste commit com:\n"
"\n"
" git commit --amend --reset-author\n"
-#: builtin/commit.c:55
+#: builtin/commit.c:73
msgid ""
"You asked to amend the most recent commit, but doing so would make\n"
"it empty. You can repeat your command with --allow-empty, or you can\n"
"remove the commit entirely with \"git reset HEAD^\".\n"
msgstr ""
+"Pediu para emendar o commit mais recente, mas fazΓͺ-lo tornΓ‘-lo-ia\n"
+"vazio. Pode repetir o comando com --allow-empty, ou pode remover o\n"
+"commit completamente com \"git reset HEAD^\".\n"
-#: builtin/commit.c:60
+#: builtin/commit.c:78
msgid ""
"The previous cherry-pick is now empty, possibly due to conflict resolution.\n"
"If you wish to commit it anyway, use:\n"
"\n"
" git commit --allow-empty\n"
"\n"
-"Otherwise, please use 'git reset'\n"
msgstr ""
+"O cherry-pick anterior estΓ‘ vazio, possivelmente devido a resoluΓ§Γ£o de "
+"conflitos.\n"
+"Se deseja fazer commit de qualquer forma, use:\n"
+"\n"
+" git commit --allow-empty\n"
+"\n"
-#: builtin/commit.c:309
-msgid "failed to unpack HEAD tree object"
+#: builtin/commit.c:85
+msgid "Otherwise, please use 'git reset'\n"
+msgstr "Caso contrΓ‘rio, use 'git reset'\n"
+
+#: builtin/commit.c:88
+msgid ""
+"If you wish to skip this commit, use:\n"
+"\n"
+" git reset\n"
+"\n"
+"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
+"the remaining commits.\n"
msgstr ""
+"Se deseja ignorar este commit, use:\n"
+"\n"
+" git reset\n"
+"\n"
+"Depois \"git cherry-pick --continue\" irΓ‘ retomar o cherry-pick\n"
+"dos restantes commits.\n"
-#: builtin/commit.c:351
+#: builtin/commit.c:305
+msgid "failed to unpack HEAD tree object"
+msgstr "falha ao descompactar o objeto Γ‘rvore HEAD"
+
+#: builtin/commit.c:346
msgid "unable to create temporary index"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel criar Γ­ndice temporΓ‘rio"
-#: builtin/commit.c:357
+#: builtin/commit.c:352
msgid "interactive add failed"
-msgstr "falhou adicionar interativo"
+msgstr "falha ao adicionar interativamente"
+
+#: builtin/commit.c:365
+msgid "unable to update temporary index"
+msgstr "nΓ£o Γ© possΓ­vel atualizar o Γ­ndice temporΓ‘rio"
-#: builtin/commit.c:390
-#: builtin/commit.c:411
-#: builtin/commit.c:461
+#: builtin/commit.c:367
+msgid "Failed to update main cache tree"
+msgstr "Falha ao atualizar a Γ‘rvore de cache principal"
+
+#: builtin/commit.c:391 builtin/commit.c:414 builtin/commit.c:463
msgid "unable to write new_index file"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel escrever o ficheiro new_index"
-#: builtin/commit.c:442
+#: builtin/commit.c:445
msgid "cannot do a partial commit during a merge."
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel fazer um commit parcial durante um merge."
-#: builtin/commit.c:444
+#: builtin/commit.c:447
msgid "cannot do a partial commit during a cherry-pick."
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel fazer um commit parcial durante um cherry-pick."
-#: builtin/commit.c:454
+#: builtin/commit.c:456
msgid "cannot read the index"
-msgstr "nΓ£o foi possΓ­vel ler o indΓ­ce"
+msgstr "nΓ£o Γ© possΓ­vel ler o Γ­ndice"
-#: builtin/commit.c:474
+#: builtin/commit.c:475
msgid "unable to write temporary index file"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel escrever ficheiro de Γ­ndice temporΓ‘rio"
+
+#: builtin/commit.c:580
+#, c-format
+msgid "commit '%s' lacks author header"
+msgstr "o commit '%s' nΓ£o tem cabeΓ§alho de autor"
-#: builtin/commit.c:549
-#: builtin/commit.c:555
+#: builtin/commit.c:582
#, c-format
-msgid "invalid commit: %s"
-msgstr "commit invΓ‘lido: %s"
+msgid "commit '%s' has malformed author line"
+msgstr "o commit '%s' tem a linha de autor malformada"
-#: builtin/commit.c:578
+#: builtin/commit.c:601
msgid "malformed --author parameter"
-msgstr ""
+msgstr "parΓ’metro --author malformado"
-#: builtin/commit.c:639
+#: builtin/commit.c:609
#, c-format
-msgid "Malformed ident string: '%s'"
+msgid "invalid date format: %s"
+msgstr "formato de data invΓ‘lido: %s"
+
+#: builtin/commit.c:653
+msgid ""
+"unable to select a comment character that is not used\n"
+"in the current commit message"
msgstr ""
+"nΓ£o foi possΓ­vel selecionar um carΓ‘cter de comentΓ‘rio que\n"
+"nΓ£o estivesse jΓ‘ a ser usado na mensagem de commit atual"
-#: builtin/commit.c:677
-#: builtin/commit.c:710
-#: builtin/commit.c:1024
+#: builtin/commit.c:690 builtin/commit.c:723 builtin/commit.c:1080
#, c-format
msgid "could not lookup commit %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel consultar o commit %s"
-#: builtin/commit.c:689
-#: builtin/shortlog.c:296
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
-msgstr ""
+msgstr "(a ler mensagem de log da entrada padrΓ£o)\n"
-#: builtin/commit.c:691
+#: builtin/commit.c:704
msgid "could not read log from standard input"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel ler o log da entrada padrΓ£o"
-#: builtin/commit.c:695
+#: builtin/commit.c:708
#, c-format
msgid "could not read log file '%s'"
-msgstr "nΓ£o Γ© possivel ler o ficheiro de log '%s'"
-
-#: builtin/commit.c:701
-msgid "commit has empty message"
-msgstr "a mensagem do commit estΓ‘ vazia"
+msgstr "nΓ£o Γ© possΓ­vel ler o ficheiro de log '%s'"
-#: builtin/commit.c:717
+#: builtin/commit.c:730
msgid "could not read MERGE_MSG"
-msgstr "nΓ£o Γ© possivel ler MERGE_MSG"
+msgstr "nΓ£o foi possΓ­vel ler MERGE_MSG"
-#: builtin/commit.c:721
+#: builtin/commit.c:734
msgid "could not read SQUASH_MSG"
-msgstr "nΓ£o Γ© possivel ler SQUASH_MSG"
+msgstr "nΓ£o foi possΓ­vel ler SQUASH_MSG"
-#: builtin/commit.c:725
-#, c-format
-msgid "could not read '%s'"
-msgstr "nΓ£o Γ© possivel ler '%s'"
-
-#: builtin/commit.c:777
+#: builtin/commit.c:785
msgid "could not write commit template"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel escrever o modelo de commit"
-#: builtin/commit.c:788
+#: builtin/commit.c:803
#, c-format
msgid ""
"\n"
@@ -2049,8 +5222,13 @@ msgid ""
"\t%s\n"
"and try again.\n"
msgstr ""
+"\n"
+"Parece que estΓ‘ a fazer commit de um merge.\n"
+"Se nΓ£o for o caso, remova o ficheiro\n"
+"\t%s\n"
+"e tente de novo.\n"
-#: builtin/commit.c:793
+#: builtin/commit.c:808
#, c-format
msgid ""
"\n"
@@ -2059,1616 +5237,3904 @@ msgid ""
"\t%s\n"
"and try again.\n"
msgstr ""
+"\n"
+"Parece que estΓ‘ a fazer commit de um cherry-pick.\n"
+"Se nΓ£o Γ© o caso, remova o ficheiro\n"
+" %s\n"
+"e tente outra vez.\n"
-#: builtin/commit.c:805
+#: builtin/commit.c:821
+#, c-format
msgid ""
"Please enter the commit message for your changes. Lines starting\n"
-"with '#' will be ignored, and an empty message aborts the commit.\n"
+"with '%c' will be ignored, and an empty message aborts the commit.\n"
msgstr ""
+"Introduza a mensagem de commit das suas alteraΓ§Γ΅es.\n"
+"Linhas comeΓ§adas com '%c' serΓ£o ignoradas, e uma mensagem vazia\n"
+"aborta o commit.\n"
-#: builtin/commit.c:810
+#: builtin/commit.c:828
+#, c-format
msgid ""
"Please enter the commit message for your changes. Lines starting\n"
-"with '#' will be kept; you may remove them yourself if you want to.\n"
+"with '%c' will be kept; you may remove them yourself if you want to.\n"
"An empty message aborts the commit.\n"
msgstr ""
+"Introduzia a mensagem de commit das suas alteraΓ§Γ΅es.\n"
+"Linhas comeΓ§adas com '%c' serΓ£o mantidas; pode removΓͺ-las se o desejar.\n"
+"Uma mensagem vazia aborta o commit.\n"
+
+#: builtin/commit.c:848
+#, c-format
+msgid "%sAuthor: %.*s <%.*s>"
+msgstr "%sAutor: %.*s <%.*s>"
-#: builtin/commit.c:823
+#: builtin/commit.c:856
#, c-format
-msgid "%sAuthor: %s"
-msgstr "%sAutor: %s"
+msgid "%sDate: %s"
+msgstr "%sData: %s"
-#: builtin/commit.c:830
+#: builtin/commit.c:863
#, c-format
-msgid "%sCommitter: %s"
-msgstr "%sCommitador: %s"
+msgid "%sCommitter: %.*s <%.*s>"
+msgstr "%sCommitter: %.*s <%.*s>"
-#: builtin/commit.c:850
+#: builtin/commit.c:881
msgid "Cannot read index"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel ler o Γ­ndice"
-#: builtin/commit.c:887
+#: builtin/commit.c:938
msgid "Error building trees"
-msgstr ""
+msgstr "Erro ao construir Γ‘rvores"
-#: builtin/commit.c:902
-#: builtin/tag.c:361
+#: builtin/commit.c:953 builtin/tag.c:266
#, c-format
msgid "Please supply the message using either -m or -F option.\n"
-msgstr ""
+msgstr "Indique a mensagem usando as opΓ§Γ΅es -m ou -F.\n"
-#: builtin/commit.c:999
+#: builtin/commit.c:1055
#, c-format
-msgid "No existing author found with '%s'"
+msgid "--author '%s' is not 'Name <email>' and matches no existing author"
msgstr ""
+"--author '%s' nΓ£o Γ© do tipo 'Nome <email>' e nΓ£o corresponde a um autor "
+"existente"
-#: builtin/commit.c:1014
-#: builtin/commit.c:1214
+#: builtin/commit.c:1070 builtin/commit.c:1310
#, c-format
msgid "Invalid untracked files mode '%s'"
-msgstr ""
+msgstr "Modo invΓ‘lido de ficheiros nΓ£o controlados '%s'"
-#: builtin/commit.c:1054
+#: builtin/commit.c:1107
+msgid "--long and -z are incompatible"
+msgstr "--long e -z sΓ£o incompatΓ­veis"
+
+#: builtin/commit.c:1137
msgid "Using both --reset-author and --author does not make sense"
-msgstr ""
+msgstr "NΓ£o faz sentido usar --reset-author e --author ao mesmo tempo"
-#: builtin/commit.c:1065
+#: builtin/commit.c:1146
msgid "You have nothing to amend."
-msgstr "VocΓͺ nΓ£o tem nada a corregir."
+msgstr "NΓ£o hΓ‘ nada para emendar."
-#: builtin/commit.c:1068
+#: builtin/commit.c:1149
msgid "You are in the middle of a merge -- cannot amend."
-msgstr ""
+msgstr "Merge em curso -- nΓ£o Γ© possΓ­vel emendar."
-#: builtin/commit.c:1070
+#: builtin/commit.c:1151
msgid "You are in the middle of a cherry-pick -- cannot amend."
-msgstr ""
+msgstr "Cherry-pick em curso -- nΓ£o Γ© possΓ­vel emendar."
-#: builtin/commit.c:1073
+#: builtin/commit.c:1154
msgid "Options --squash and --fixup cannot be used together"
-msgstr ""
+msgstr "As opΓ§Γ΅es --squash e --fixup nΓ£o podem ser usadas juntas"
-#: builtin/commit.c:1083
+#: builtin/commit.c:1164
msgid "Only one of -c/-C/-F/--fixup can be used."
-msgstr ""
+msgstr "Apenas um entre -c/-C/-F/--fixup pode ser usado."
-#: builtin/commit.c:1085
+#: builtin/commit.c:1166
msgid "Option -m cannot be combined with -c/-C/-F/--fixup."
-msgstr ""
+msgstr "A opΓ§Γ£o -m nΓ£o pode ser combinada com -c/C/-F/--fixup."
-#: builtin/commit.c:1093
+#: builtin/commit.c:1174
msgid "--reset-author can be used only with -C, -c or --amend."
-msgstr ""
+msgstr "--reset-author sΓ³ pode ser usado com -C, -c ou --amend."
-#: builtin/commit.c:1110
+#: builtin/commit.c:1191
msgid "Only one of --include/--only/--all/--interactive/--patch can be used."
msgstr ""
+"Apenas um entre --include/--only/--all/--interactive/--patch pode ser usado."
-#: builtin/commit.c:1112
+#: builtin/commit.c:1193
msgid "No paths with --include/--only does not make sense."
-msgstr ""
+msgstr "As opΓ§Γ΅es --include/--only nΓ£o fazem sentido sem indicar caminhos."
-#: builtin/commit.c:1114
+#: builtin/commit.c:1195
msgid "Clever... amending the last one with dirty index."
-msgstr ""
+msgstr "Inteligente... a emendar o ΓΊltimo commit com o Γ­ndice sujo."
-#: builtin/commit.c:1116
-msgid "Explicit paths specified without -i nor -o; assuming --only paths..."
-msgstr ""
+#: builtin/commit.c:1197
+msgid "Explicit paths specified without -i or -o; assuming --only paths..."
+msgstr "Caminhos explΓ­citos especificados sem -i ou -o; assumindo --only..."
-#: builtin/commit.c:1126
-#: builtin/tag.c:577
+#: builtin/commit.c:1209 builtin/tag.c:475
#, c-format
msgid "Invalid cleanup mode %s"
-msgstr ""
+msgstr "Modo de limpeza invΓ‘lido %s"
-#: builtin/commit.c:1131
+#: builtin/commit.c:1214
msgid "Paths with -a does not make sense."
+msgstr "A especificaΓ§Γ£o de caminhos com -a nΓ£o faz sentido."
+
+#: builtin/commit.c:1324 builtin/commit.c:1605
+msgid "show status concisely"
+msgstr "mostrar status de forma concisa"
+
+#: builtin/commit.c:1326 builtin/commit.c:1607
+msgid "show branch information"
+msgstr "mostrar informaΓ§Γ£o do ramo"
+
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
+msgid "machine-readable output"
+msgstr "saΓ­da inteligΓ­vel por mΓ‘quina"
+
+#: builtin/commit.c:1331 builtin/commit.c:1611
+msgid "show status in long format (default)"
+msgstr "apresentar status em formato longo (predefiniΓ§Γ£o)"
+
+#: builtin/commit.c:1334 builtin/commit.c:1614
+msgid "terminate entries with NUL"
+msgstr "terminar entradas com NUL"
+
+#: builtin/commit.c:1336 builtin/commit.c:1617 builtin/fast-export.c:981
+#: builtin/fast-export.c:984 builtin/tag.c:353
+msgid "mode"
+msgstr "modo"
+
+#: builtin/commit.c:1337 builtin/commit.c:1617
+msgid "show untracked files, optional modes: all, normal, no. (Default: all)"
msgstr ""
+"mostrar ficheiros nΓ£o controlados, modo Γ© opcional: all, normal, no. "
+"(PredefiniΓ§Γ£o: all)"
-#: builtin/commit.c:1315
-msgid "couldn't look up newly created commit"
+#: builtin/commit.c:1340
+msgid "show ignored files"
+msgstr "mostrar ficheiros ignorados"
+
+#: builtin/commit.c:1341 parse-options.h:155
+msgid "when"
+msgstr "quando"
+
+#: builtin/commit.c:1342
+msgid ""
+"ignore changes to submodules, optional when: all, dirty, untracked. "
+"(Default: all)"
msgstr ""
+"ignorar alteraΓ§Γ΅es em submΓ³dulos, quando Γ© opcional: all, dirty, untracked. "
+"(PredefiniΓ§Γ£o: all)"
+
+#: builtin/commit.c:1344
+msgid "list untracked files in columns"
+msgstr "listar ficheiros nΓ£o controlados em colunas"
-#: builtin/commit.c:1317
+#: builtin/commit.c:1430
+msgid "couldn't look up newly created commit"
+msgstr "nΓ£o foi possΓ­vel consultar o commit recΓ©m-criado"
+
+#: builtin/commit.c:1432
msgid "could not parse newly created commit"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel analisar o commit recΓ©m-criado"
-#: builtin/commit.c:1358
+#: builtin/commit.c:1477
msgid "detached HEAD"
-msgstr ""
+msgstr "HEAD destacada"
-#: builtin/commit.c:1360
+#: builtin/commit.c:1480
msgid " (root-commit)"
-msgstr " (root-commit)"
+msgstr " (commit-raiz)"
-#: builtin/commit.c:1450
-msgid "could not parse HEAD commit"
+#: builtin/commit.c:1575
+msgid "suppress summary after successful commit"
+msgstr "suprimir o resumo depois de fazer commit com sucesso"
+
+#: builtin/commit.c:1576
+msgid "show diff in commit message template"
+msgstr "mostrar diff no modelo da mensagem de commit"
+
+#: builtin/commit.c:1578
+msgid "Commit message options"
+msgstr "OpΓ§Γ΅es de mensagem de commit"
+
+#: builtin/commit.c:1579 builtin/tag.c:351
+msgid "read message from file"
+msgstr "ler mensagem de um ficheiro"
+
+#: builtin/commit.c:1580
+msgid "author"
+msgstr "autor"
+
+#: builtin/commit.c:1580
+msgid "override author for commit"
+msgstr "substituir autor do commit"
+
+#: builtin/commit.c:1581 builtin/gc.c:326
+msgid "date"
+msgstr "data"
+
+#: builtin/commit.c:1581
+msgid "override date for commit"
+msgstr "substituir data do commit"
+
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
+msgid "message"
+msgstr "mensagem"
+
+#: builtin/commit.c:1582
+msgid "commit message"
+msgstr "mensagem de commit"
+
+#: builtin/commit.c:1583 builtin/commit.c:1584 builtin/commit.c:1585
+#: builtin/commit.c:1586 parse-options.h:256 ref-filter.h:79
+msgid "commit"
+msgstr "commit"
+
+#: builtin/commit.c:1583
+msgid "reuse and edit message from specified commit"
+msgstr "reutilizar e editar a mensagem de um commit especificado"
+
+#: builtin/commit.c:1584
+msgid "reuse message from specified commit"
+msgstr "reutilizar a mensagem de um commit especificado"
+
+#: builtin/commit.c:1585
+msgid "use autosquash formatted message to fixup specified commit"
msgstr ""
+"usar mensagem com formato autosquash para corrigir o commit especificado"
-#: builtin/commit.c:1487
-#: builtin/merge.c:509
-#, c-format
-msgid "could not open '%s' for reading"
+#: builtin/commit.c:1586
+msgid "use autosquash formatted message to squash specified commit"
msgstr ""
+"usar mensagem com formato autosquash para esmagar o commit especificado"
+
+#: builtin/commit.c:1587
+msgid "the commit is authored by me now (used with -C/-c/--amend)"
+msgstr "agora sou eu o autor do commit (usado com C/-c/--amend)"
+
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
+msgid "add Signed-off-by:"
+msgstr "adicionar Signed-off-by:"
+
+#: builtin/commit.c:1589
+msgid "use specified template file"
+msgstr "usar ficheiro de modelo especificado"
+
+#: builtin/commit.c:1590
+msgid "force edit of commit"
+msgstr "forΓ§ar ediΓ§Γ£o do commit"
+
+#: builtin/commit.c:1591
+msgid "default"
+msgstr "predefiniΓ§Γ£o"
+
+#: builtin/commit.c:1591 builtin/tag.c:354
+msgid "how to strip spaces and #comments from message"
+msgstr "como retirar espaΓ§os e #comentΓ‘rios da mensagem"
+
+#: builtin/commit.c:1592
+msgid "include status in commit message template"
+msgstr "incluir status no modelo da mensagem de commit"
+
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
+#: builtin/revert.c:93
+msgid "GPG sign commit"
+msgstr "assinar o commit com GPG"
+
+#: builtin/commit.c:1597
+msgid "Commit contents options"
+msgstr "OpΓ§Γ΅es de conteΓΊdo do commit"
+
+#: builtin/commit.c:1598
+msgid "commit all changed files"
+msgstr "fazer commit de todos os ficheiros alterados"
+
+#: builtin/commit.c:1599
+msgid "add specified files to index for commit"
+msgstr "adicionar ficheiros especificados ao Γ­ndice para incluir no commit"
+
+#: builtin/commit.c:1600
+msgid "interactively add files"
+msgstr "adicionar ficheiros interativamente"
-#: builtin/commit.c:1494
+#: builtin/commit.c:1601
+msgid "interactively add changes"
+msgstr "adicionar alteraΓ§Γ΅es interativamente"
+
+#: builtin/commit.c:1602
+msgid "commit only specified files"
+msgstr "fazer commit somente dos ficheiros especificados"
+
+#: builtin/commit.c:1603
+msgid "bypass pre-commit hook"
+msgstr "ignorar pre-commit hook"
+
+#: builtin/commit.c:1604
+msgid "show what would be committed"
+msgstr "mostrar o que serΓ‘ incluΓ­do no commit"
+
+#: builtin/commit.c:1615
+msgid "amend previous commit"
+msgstr "emendar o commit anterior"
+
+#: builtin/commit.c:1616
+msgid "bypass post-rewrite hook"
+msgstr "ignorar post-rewrite hook"
+
+#: builtin/commit.c:1621
+msgid "ok to record an empty change"
+msgstr "aceitar o registo duma alteraΓ§Γ£o vazia"
+
+#: builtin/commit.c:1623
+msgid "ok to record a change with an empty message"
+msgstr "aceitar o registo duma alteraΓ§Γ£o com uma mensagem vazia"
+
+#: builtin/commit.c:1652
+msgid "could not parse HEAD commit"
+msgstr "nΓ£o foi possΓ­vel analisar o commit HEAD"
+
+#: builtin/commit.c:1698
#, c-format
msgid "Corrupt MERGE_HEAD file (%s)"
-msgstr ""
+msgstr "Ficheiro MERGE_HEAD corrompido (%s)"
-#: builtin/commit.c:1501
+#: builtin/commit.c:1705
msgid "could not read MERGE_MODE"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel ler MERGE_MODE"
-#: builtin/commit.c:1520
+#: builtin/commit.c:1724
#, c-format
msgid "could not read commit message: %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel ler a mensagem de commit: %s"
-#: builtin/commit.c:1534
+#: builtin/commit.c:1735
#, c-format
msgid "Aborting commit; you did not edit the message.\n"
-msgstr ""
+msgstr "A abortar o commit; nΓ£o editou a mensagem.\n"
-#: builtin/commit.c:1539
+#: builtin/commit.c:1740
#, c-format
msgid "Aborting commit due to empty commit message.\n"
-msgstr ""
+msgstr "A abortar o commit uma vez que a mensagem de commit estΓ‘ vazia.\n"
-#: builtin/commit.c:1554
-#: builtin/merge.c:936
-#: builtin/merge.c:961
-msgid "failed to write commit object"
+#: builtin/commit.c:1788
+msgid ""
+"Repository has been updated, but unable to write\n"
+"new_index file. Check that disk is not full and quota is\n"
+"not exceeded, and then \"git reset HEAD\" to recover."
msgstr ""
+"O repositΓ³rio foi atualizado, mas nΓ£o foi possΓ­vel escrever\n"
+"o ficheiro new_index. Verifique se o disco nΓ£o estΓ‘ cheio\n"
+"e que a quota nΓ£o foi excedida e execute \"git reset HEAD\" para recuperar."
-#: builtin/commit.c:1575
-msgid "cannot lock HEAD ref"
+#: builtin/config.c:9
+msgid "git config [<options>]"
+msgstr "git config [<opΓ§Γ΅es>]"
+
+#: builtin/config.c:56
+msgid "Config file location"
+msgstr "LocalizaΓ§Γ£o do ficheiro de configuraΓ§Γ£o"
+
+#: builtin/config.c:57
+msgid "use global config file"
+msgstr "usar ficheiro de configuraΓ§Γ£o global"
+
+#: builtin/config.c:58
+msgid "use system config file"
+msgstr "usar ficheiro de configuraΓ§Γ£o do sistema"
+
+#: builtin/config.c:59
+msgid "use repository config file"
+msgstr "usar ficheiro de configuraΓ§Γ£o do repositΓ³rio"
+
+#: builtin/config.c:60
+msgid "use given config file"
+msgstr "usar ficheiro de configuraΓ§Γ£o fornecido"
+
+#: builtin/config.c:61
+msgid "blob-id"
+msgstr "id-blob"
+
+#: builtin/config.c:61
+msgid "read config from given blob object"
+msgstr "ler configuraΓ§Γ£o a partir do objeto blob fornecido"
+
+#: builtin/config.c:62
+msgid "Action"
+msgstr "AΓ§Γ£o"
+
+#: builtin/config.c:63
+msgid "get value: name [value-regex]"
+msgstr "obter valor: nome [regex-do-valor]"
+
+#: builtin/config.c:64
+msgid "get all values: key [value-regex]"
+msgstr "obter todos os valores: chave [regex-do-valor]"
+
+#: builtin/config.c:65
+msgid "get values for regexp: name-regex [value-regex]"
+msgstr "obter valores para a regexp: regex-do-nome [regex-do-valor]"
+
+#: builtin/config.c:66
+msgid "get value specific for the URL: section[.var] URL"
+msgstr "obter valor do URL especificado: section[.var] URL"
+
+#: builtin/config.c:67
+msgid "replace all matching variables: name value [value_regex]"
msgstr ""
+"substituir todos as variΓ‘veis correspondentes: nome valor [regex-do-valor]"
+
+#: builtin/config.c:68
+msgid "add a new variable: name value"
+msgstr "adicionar uma nova variΓ‘vel: nome valor"
+
+#: builtin/config.c:69
+msgid "remove a variable: name [value-regex]"
+msgstr "remover uma variΓ‘vel: nome [regex-do-valor]"
+
+#: builtin/config.c:70
+msgid "remove all matches: name [value-regex]"
+msgstr "remover todas as correspondΓͺncias: nome [regex-do-valor]"
+
+#: builtin/config.c:71
+msgid "rename section: old-name new-name"
+msgstr "mudar o nome da secΓ§Γ£o: nome-antigo novo-nome"
+
+#: builtin/config.c:72
+msgid "remove a section: name"
+msgstr "remover uma secΓ§Γ£o: nome"
+
+#: builtin/config.c:73
+msgid "list all"
+msgstr "listar todos"
+
+#: builtin/config.c:74
+msgid "open an editor"
+msgstr "abrir um editor"
+
+#: builtin/config.c:75
+msgid "find the color configured: slot [default]"
+msgstr "encontrar a cor configurada: slot [predefiniΓ§Γ£o]"
+
+#: builtin/config.c:76
+msgid "find the color setting: slot [stdout-is-tty]"
+msgstr "encontrar a definiΓ§Γ£o de cor: slot [stdout-Γ©-tty]"
+
+#: builtin/config.c:77
+msgid "Type"
+msgstr "Tipo"
+
+#: builtin/config.c:78
+msgid "value is \"true\" or \"false\""
+msgstr "o valor Γ© \"true\" (verdadeiro) ou \"falso\" (falso)"
+
+#: builtin/config.c:79
+msgid "value is decimal number"
+msgstr "o valor Γ© um nΓΊmero decimal"
+
+#: builtin/config.c:80
+msgid "value is --bool or --int"
+msgstr "o valor Γ© --bool ou --int"
+
+#: builtin/config.c:81
+msgid "value is a path (file or directory name)"
+msgstr "o valor Γ© um caminho (nome dum ficheiro ou diretΓ³rio)"
+
+#: builtin/config.c:82
+msgid "Other"
+msgstr "Outro"
+
+#: builtin/config.c:83
+msgid "terminate values with NUL byte"
+msgstr "terminar valores com o byte NUL"
-#: builtin/commit.c:1579
-msgid "cannot update HEAD ref"
+#: builtin/config.c:84
+msgid "show variable names only"
+msgstr "mostrar apenas os nomes das variΓ‘veis"
+
+#: builtin/config.c:85
+msgid "respect include directives on lookup"
+msgstr "respeitar diretivas de inclusΓ£o ao pesquisar"
+
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
msgstr ""
+"mostrar a origem da configuraΓ§Γ£o (ficheiro, entrada padrΓ£o, blob, linha de "
+"comandos)"
-#: builtin/commit.c:1590
+#: builtin/config.c:328
+msgid "unable to parse default color value"
+msgstr "nΓ£o Γ© possΓ­vel analisar o valor de cor por omissΓ£o"
+
+#: builtin/config.c:469
+#, c-format
msgid ""
-"Repository has been updated, but unable to write\n"
-"new_index file. Check that disk is not full or quota is\n"
-"not exceeded, and then \"git reset HEAD\" to recover."
+"# This is Git's per-user configuration file.\n"
+"[user]\n"
+"# Please adapt and uncomment the following lines:\n"
+"#\tname = %s\n"
+"#\temail = %s\n"
msgstr ""
+"# Este Γ© o ficheiro de configuraΓ§Γ£o do Git do utilizador.\n"
+"[user]\n"
+"# Adapte e retire os comentΓ‘rios das seguintes linhas:\n"
+"#\tname = %s\n"
+"#\temail = %s\n"
+
+#: builtin/config.c:611
+#, c-format
+msgid "cannot create configuration file %s"
+msgstr "nΓ£o Γ© possΓ­vel criar o ficheiro de configuraΓ§Γ£o %s"
+
+#: builtin/count-objects.c:77
+msgid "git count-objects [-v] [-H | --human-readable]"
+msgstr "git count-objects [-v] [-H | --human-readable]"
+
+#: builtin/count-objects.c:87
+msgid "print sizes in human readable format"
+msgstr "imprimir dimensΓ΅es em formato inteligΓ­vel por humanos"
+
+#: builtin/describe.c:17
+msgid "git describe [<options>] [<commit-ish>...]"
+msgstr "git describe [<opΓ§Γ΅es>] [<commit-ish>...]"
+
+#: builtin/describe.c:18
+msgid "git describe [<options>] --dirty"
+msgstr "git describe [<opΓ§Γ΅es>] --dirty"
-#: builtin/describe.c:234
+#: builtin/describe.c:217
#, c-format
msgid "annotated tag %s not available"
-msgstr ""
+msgstr "a tag anotada %s nΓ£o estΓ‘ disponΓ­vel"
-#: builtin/describe.c:238
+#: builtin/describe.c:221
#, c-format
msgid "annotated tag %s has no embedded name"
-msgstr ""
+msgstr "a tag anotada %s nΓ£o tem nenhum nome incorporado"
-#: builtin/describe.c:240
+#: builtin/describe.c:223
#, c-format
msgid "tag '%s' is really '%s' here"
-msgstr ""
+msgstr "a tag '%s' estΓ‘ de facto em '%s'"
-#: builtin/describe.c:267
+#: builtin/describe.c:250 builtin/log.c:459
#, c-format
msgid "Not a valid object name %s"
-msgstr ""
+msgstr "%s nΓ£o Γ© um nome de objeto vΓ‘lido"
-#: builtin/describe.c:270
+#: builtin/describe.c:253
#, c-format
msgid "%s is not a valid '%s' object"
-msgstr ""
+msgstr "%s nΓ£o Γ© um objeto '%s' vΓ‘lido"
-#: builtin/describe.c:287
+#: builtin/describe.c:270
#, c-format
msgid "no tag exactly matches '%s'"
-msgstr ""
+msgstr "nenhuma tag corresponde exatamente a '%s'"
-#: builtin/describe.c:289
+#: builtin/describe.c:272
#, c-format
msgid "searching to describe %s\n"
-msgstr ""
+msgstr "Γ  procurar da descriΓ§Γ£o de %s\n"
-#: builtin/describe.c:329
+#: builtin/describe.c:319
#, c-format
msgid "finished search at %s\n"
-msgstr ""
+msgstr "a pesquisa terminou em %s\n"
-#: builtin/describe.c:353
+#: builtin/describe.c:346
#, c-format
msgid ""
"No annotated tags can describe '%s'.\n"
"However, there were unannotated tags: try --tags."
msgstr ""
+"NΓ£o Γ© possΓ­vel usar tags anotadas para descrever '%s'.\n"
+"No entanto, Γ© possΓ­vel com tags nΓ£o anotadas: tente --tags."
-#: builtin/describe.c:357
+#: builtin/describe.c:350
#, c-format
msgid ""
"No tags can describe '%s'.\n"
"Try --always, or create some tags."
msgstr ""
+"NΓ£o Γ© possΓ­vel usar tags para descrever '%s'.\n"
+"Tente --always, ou crie algumas tags."
-#: builtin/describe.c:378
+#: builtin/describe.c:371
#, c-format
msgid "traversed %lu commits\n"
-msgstr ""
+msgstr "%lu commits percorridos\n"
-#: builtin/describe.c:381
+#: builtin/describe.c:374
#, c-format
msgid ""
"more than %i tags found; listed %i most recent\n"
"gave up search at %s\n"
msgstr ""
+"mais de %i tags encontradas; foram listadas as %i mais recentes\n"
+"pesquisa interrompida em %s\n"
-#: builtin/describe.c:436
-msgid "--long is incompatible with --abbrev=0"
+#: builtin/describe.c:396
+msgid "find the tag that comes after the commit"
+msgstr "localizar a tag que vem apΓ³s o commit"
+
+#: builtin/describe.c:397
+msgid "debug search strategy on stderr"
+msgstr "depurar a estratΓ©gia de procura para stderr"
+
+#: builtin/describe.c:398
+msgid "use any ref"
+msgstr "usar uma referΓͺncia qualquer"
+
+#: builtin/describe.c:399
+msgid "use any tag, even unannotated"
+msgstr "usar uma tag qualquer, mesmo nΓ£o anotada"
+
+#: builtin/describe.c:400
+msgid "always use long format"
+msgstr "usar sempre formato longo"
+
+#: builtin/describe.c:401
+msgid "only follow first parent"
+msgstr "seguir sΓ³ o primeiro pai"
+
+#: builtin/describe.c:404
+msgid "only output exact matches"
+msgstr "imprimir apenas correspondΓͺncias exatas"
+
+#: builtin/describe.c:406
+msgid "consider <n> most recent tags (default: 10)"
+msgstr "considerar as <n> tags mais recentes (predefiniΓ§Γ£o: 10)"
+
+#: builtin/describe.c:408
+msgid "only consider tags matching <pattern>"
+msgstr "apenas considerar tags que correspondam ao <padrΓ£o>"
+
+#: builtin/describe.c:410 builtin/name-rev.c:314
+msgid "show abbreviated commit object as fallback"
+msgstr "mostrar objetos de commit abreviados em recurso"
+
+#: builtin/describe.c:411
+msgid "mark"
+msgstr "marca"
+
+#: builtin/describe.c:412
+msgid "append <mark> on dirty working tree (default: \"-dirty\")"
msgstr ""
+"acrescentar <marca> se a Γ‘rvore de trabalho contiver alteraΓ§Γ΅es "
+"(predefiniΓ§Γ£o: \"-dirty\")"
+
+#: builtin/describe.c:430
+msgid "--long is incompatible with --abbrev=0"
+msgstr "--long Γ© incompatΓ­vel com --abbrev=0"
-#: builtin/describe.c:462
+#: builtin/describe.c:456
msgid "No names found, cannot describe anything."
-msgstr "Nenhum nome encontrado, nΓ£o descreve nada."
+msgstr "Nenhum nome encontrado, nΓ£o Γ© possΓ­vel descrever."
-#: builtin/describe.c:482
+#: builtin/describe.c:476
msgid "--dirty is incompatible with commit-ishes"
-msgstr ""
+msgstr "--dirty Γ© incompatΓ­vel com commits ou semelhantes"
-#: builtin/diff.c:77
+#: builtin/diff.c:86
#, c-format
msgid "'%s': not a regular file or symlink"
-msgstr ""
+msgstr "'%s': nΓ£o Γ© um ficheiro regular nem uma ligaΓ§Γ£o simbΓ³lica"
-#: builtin/diff.c:220
+#: builtin/diff.c:237
#, c-format
msgid "invalid option: %s"
-msgstr ""
+msgstr "opΓ§Γ£o invΓ‘lida: %s"
-#: builtin/diff.c:297
+#: builtin/diff.c:358
msgid "Not a git repository"
-msgstr "NΓ£o Γ© um repositorio git"
+msgstr "NΓ£o Γ© um repositΓ³rio git"
-#: builtin/diff.c:347
+#: builtin/diff.c:401
#, c-format
msgid "invalid object '%s' given."
-msgstr ""
-
-#: builtin/diff.c:352
-#, c-format
-msgid "more than %d trees given: '%s'"
-msgstr ""
+msgstr "objeto invΓ‘lido '%s' fornecido."
-#: builtin/diff.c:362
+#: builtin/diff.c:410
#, c-format
msgid "more than two blobs given: '%s'"
-msgstr ""
+msgstr "mais do que dois blobs fornecidos: '%s'"
-#: builtin/diff.c:370
+#: builtin/diff.c:417
#, c-format
msgid "unhandled object '%s' given."
+msgstr "objeto sem tratamento '%s' fornecido."
+
+#: builtin/fast-export.c:25
+msgid "git fast-export [rev-list-opts]"
+msgstr "git fast-export [opΓ§Γ΅es-de-rev-list]"
+
+#: builtin/fast-export.c:980
+msgid "show progress after <n> objects"
+msgstr "mostrar progresso depois de <n> objetos"
+
+#: builtin/fast-export.c:982
+msgid "select handling of signed tags"
+msgstr "selecionar o tratamento de tags assinadas"
+
+#: builtin/fast-export.c:985
+msgid "select handling of tags that tag filtered objects"
+msgstr "selecionar o tratamento de tags que apontem para objetos filtrados"
+
+#: builtin/fast-export.c:988
+msgid "Dump marks to this file"
+msgstr "Capturar marcas neste ficheiro"
+
+#: builtin/fast-export.c:990
+msgid "Import marks from this file"
+msgstr "Importar marcas deste ficheiro"
+
+#: builtin/fast-export.c:992
+msgid "Fake a tagger when tags lack one"
+msgstr "Inventar um autor de tag para tags que nΓ£o tenham um"
+
+#: builtin/fast-export.c:994
+msgid "Output full tree for each commit"
+msgstr "Mostrar a Γ‘rvore completa para cada commit"
+
+#: builtin/fast-export.c:996
+msgid "Use the done feature to terminate the stream"
+msgstr "Usar a funcionalidade done para terminar o fluxo"
+
+#: builtin/fast-export.c:997
+msgid "Skip output of blob data"
+msgstr "Ignorar a exibiΓ§Γ£o de dados de blob"
+
+#: builtin/fast-export.c:998
+msgid "refspec"
+msgstr "especificador de referΓͺncia"
+
+#: builtin/fast-export.c:999
+msgid "Apply refspec to exported refs"
+msgstr "Aplicar o especificador de referΓͺncia a referΓͺncias exportadas"
+
+#: builtin/fast-export.c:1000
+msgid "anonymize output"
+msgstr "anonimizar saΓ­da"
+
+#: builtin/fetch.c:20
+msgid "git fetch [<options>] [<repository> [<refspec>...]]"
msgstr ""
+"git fetch [<opΓ§Γ΅es>] [<repositΓ³rio> [<especificador-de-referΓͺncia>...]]"
+
+#: builtin/fetch.c:21
+msgid "git fetch [<options>] <group>"
+msgstr "git fetch [<opΓ§Γ΅es>] <grupo>"
+
+#: builtin/fetch.c:22
+msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]"
+msgstr "git fetch --multiple [<opΓ§Γ΅es>] [(<repositΓ³rio> | <grupo>)...]"
+
+#: builtin/fetch.c:23
+msgid "git fetch --all [<options>]"
+msgstr "git fetch --all [<opΓ§Γ΅es>]"
+
+#: builtin/fetch.c:92 builtin/pull.c:166
+msgid "fetch from all remotes"
+msgstr "obter de todos os remotos"
+
+#: builtin/fetch.c:94 builtin/pull.c:169
+msgid "append to .git/FETCH_HEAD instead of overwriting"
+msgstr "acrescentar a .git/FETCH_HEAD em vez de substituir"
+
+#: builtin/fetch.c:96 builtin/pull.c:172
+msgid "path to upload pack on remote end"
+msgstr "caminho para o comando upload pack no remoto"
+
+#: builtin/fetch.c:97 builtin/pull.c:174
+msgid "force overwrite of local branch"
+msgstr "forΓ§ar a substituiΓ§Γ£o do ramo local"
+
+#: builtin/fetch.c:99
+msgid "fetch from multiple remotes"
+msgstr "obter de mΓΊltiplos remotos"
+
+#: builtin/fetch.c:101 builtin/pull.c:176
+msgid "fetch all tags and associated objects"
+msgstr "obter todas as tags e objetos associados"
+
+#: builtin/fetch.c:103
+msgid "do not fetch all tags (--no-tags)"
+msgstr "nΓ£o obter todas as tags (--no-tags)"
+
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "nΓΊmero de submΓ³dulos obtidos em paralelo"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
+msgid "prune remote-tracking branches no longer on remote"
+msgstr "eliminar os ramos cujo respetivo ramo remoto jΓ‘ nΓ£o existe"
+
+#: builtin/fetch.c:108 builtin/pull.c:182
+msgid "on-demand"
+msgstr "on-demand"
+
+#: builtin/fetch.c:109 builtin/pull.c:183
+msgid "control recursive fetching of submodules"
+msgstr "controlar a obtenΓ§Γ£o recursiva de submΓ³dulos"
+
+#: builtin/fetch.c:113 builtin/pull.c:191
+msgid "keep downloaded pack"
+msgstr "manter o pacote transferido"
-#: builtin/fetch.c:200
+#: builtin/fetch.c:115
+msgid "allow updating of HEAD ref"
+msgstr "permitir a atualizaΓ§Γ£o da referΓͺncia HEAD"
+
+#: builtin/fetch.c:118 builtin/pull.c:194
+msgid "deepen history of shallow clone"
+msgstr "aprofundar o histΓ³rico de um clone raso"
+
+#: builtin/fetch.c:120 builtin/pull.c:197
+msgid "convert to a complete repository"
+msgstr "converter num repositΓ³rio completo"
+
+#: builtin/fetch.c:122 builtin/log.c:1236
+msgid "dir"
+msgstr "dir"
+
+#: builtin/fetch.c:123
+msgid "prepend this to submodule path output"
+msgstr "preceder isto ao caminho do submΓ³dulo"
+
+#: builtin/fetch.c:126
+msgid "default mode for recursion"
+msgstr "modo recursivo por omissΓ£o"
+
+#: builtin/fetch.c:128 builtin/pull.c:200
+msgid "accept refs that update .git/shallow"
+msgstr "aceitar referΓͺncia que atualizem .git/shallow"
+
+#: builtin/fetch.c:129 builtin/pull.c:202
+msgid "refmap"
+msgstr "mapa de referΓͺncias"
+
+#: builtin/fetch.c:130 builtin/pull.c:203
+msgid "specify fetch refmap"
+msgstr "especificar mapa de referΓͺncias"
+
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
-msgstr ""
+msgstr "ReferΓͺncia remota HEAD nΓ£o encontrada"
-#: builtin/fetch.c:253
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
-msgstr "objecto %s nΓ£o encontrado"
+msgstr "objeto %s nΓ£o encontrado"
-#: builtin/fetch.c:259
+#: builtin/fetch.c:471
msgid "[up to date]"
-msgstr "[Actualizada]"
+msgstr "[atualizado]"
-#: builtin/fetch.c:273
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
-msgstr ""
+msgstr "! %-*s %-*s -> %s (nΓ£o Γ© possΓ­vel obter no ramo atual)"
-#: builtin/fetch.c:274
-#: builtin/fetch.c:360
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[rejeitado]"
-#: builtin/fetch.c:285
+#: builtin/fetch.c:497
msgid "[tag update]"
-msgstr "[etiqueta actualizada]"
+msgstr "[tag atualizada]"
-#: builtin/fetch.c:287
-#: builtin/fetch.c:322
-#: builtin/fetch.c:340
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
-msgstr ""
+msgstr " (nΓ£o Γ© possΓ­vel atualizar a referΓͺncia local)"
-#: builtin/fetch.c:305
+#: builtin/fetch.c:517
msgid "[new tag]"
-msgstr "[nova etiqueta]"
+msgstr "[nova tag]"
-#: builtin/fetch.c:308
+#: builtin/fetch.c:520
msgid "[new branch]"
-msgstr "[nova rama]"
+msgstr "[novo ramo]"
-#: builtin/fetch.c:311
+#: builtin/fetch.c:523
msgid "[new ref]"
-msgstr "[nova ref]"
+msgstr "[nova referΓͺncia]"
-#: builtin/fetch.c:356
+#: builtin/fetch.c:569
msgid "unable to update local ref"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel atualizar a referΓͺncia local"
-#: builtin/fetch.c:356
+#: builtin/fetch.c:569
msgid "forced update"
-msgstr "actualizaΓ§Γ£o forΓ§ada"
+msgstr "atualizaΓ§Γ£o forΓ§ada"
-#: builtin/fetch.c:362
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
-msgstr "(non-fast-forward)"
+msgstr "(sem avanΓ§o rΓ‘pido)"
-#: builtin/fetch.c:393
-#: builtin/fetch.c:685
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
-msgstr "nΓ£o Γ© possivel abrir %s: %s\n"
+msgstr "nΓ£o Γ© possΓ­vel abrir %s: %s\n"
-#: builtin/fetch.c:402
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
-msgstr ""
+msgstr "%s nΓ£o enviou todos os objetos necessΓ‘rios\n"
+
+#: builtin/fetch.c:637
+#, c-format
+msgid "reject %s because shallow roots are not allowed to be updated"
+msgstr "%s rejeitado, porque as raΓ­zes rasas nΓ£o podem ser atualizadas"
-#: builtin/fetch.c:488
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
-msgstr "Para %.*s\n"
+msgstr "De %.*s\n"
-#: builtin/fetch.c:499
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
" 'git remote prune %s' to remove any old, conflicting branches"
msgstr ""
+"algumas referΓͺncias locais nΓ£o puderam ser atualizadas; tente executar\n"
+" 'git remote prune %s' para remover algum ramo antigo em conflito"
-#: builtin/fetch.c:549
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
-msgstr ""
+msgstr " (%s ficarΓ‘ suspenso)"
-#: builtin/fetch.c:550
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
-msgstr ""
+msgstr " (%s ficou suspenso)"
-#: builtin/fetch.c:557
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[eliminado]"
-#: builtin/fetch.c:558
-#: builtin/remote.c:1055
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(nenhum)"
-#: builtin/fetch.c:675
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel obter objetos no ramo atual %s de um repositΓ³rio nΓ£o nu"
-#: builtin/fetch.c:709
-#, c-format
-msgid "Don't know how to fetch from %s"
-msgstr ""
-
-#: builtin/fetch.c:786
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
-msgstr ""
+msgstr "O valor \"%2$s\" da opΓ§Γ£o \"%1$s\" nΓ£o Γ© vΓ‘lido em %3$s"
-#: builtin/fetch.c:789
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
-msgstr ""
+msgstr "OpΓ§Γ£o \"%s\" ignorada em %s\n"
-#: builtin/fetch.c:888
+#: builtin/fetch.c:920
+#, c-format
+msgid "Don't know how to fetch from %s"
+msgstr "NΓ£o sei como obter de %s"
+
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
-msgstr "Baixando %s\n"
+msgstr "A obter de %s\n"
-#: builtin/fetch.c:890
-#: builtin/remote.c:100
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel obter de %s"
-#: builtin/fetch.c:907
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
msgstr ""
-"Nenhum repositΓ³rio remoto especificado. Por favor, especifique um URL ou o\n"
-"nome remoto a partir do qual novas revisΓ΅es devem ser obtida."
+"Nenhum repositΓ³rio remoto especificado. Especifique um URL ou\n"
+"o nome remoto a partir do qual as novas revisΓ΅es devem ser obtidas."
-#: builtin/fetch.c:927
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
-msgstr "VocΓͺ precisa especificar um nome da etiqueta."
+msgstr "Deve especificar um nome para a tag."
+
+#: builtin/fetch.c:1165
+msgid "--depth and --unshallow cannot be used together"
+msgstr "--depth e --unshallow nΓ£o podem ser usados juntos"
-#: builtin/fetch.c:979
+#: builtin/fetch.c:1167
+msgid "--unshallow on a complete repository does not make sense"
+msgstr "usar --unshallow num repositΓ³rio completo nΓ£o faz sentido"
+
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
-msgstr ""
+msgstr "fetch --all nΓ£o leva um repositΓ³rio como argumento"
-#: builtin/fetch.c:981
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
-msgstr ""
+msgstr "fetch --all nΓ£o faz sentido com especificadores de referΓͺncia"
-#: builtin/fetch.c:992
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
-msgstr ""
+msgstr "O remoto ou grupo remoto nΓ£o existe: %s"
-#: builtin/fetch.c:1000
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
+msgstr "NΓ£o faz sentido obter um grupo e especificar uma referΓͺncia"
+
+#: builtin/fmt-merge-msg.c:14
+msgid ""
+"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
msgstr ""
+"git fmt-merge-msg [-m <mensagem>] [--log[=<n>] | --no-log] [--file "
+"<ficheiro>]"
+
+#: builtin/fmt-merge-msg.c:667
+msgid "populate log with at most <n> entries from shortlog"
+msgstr "povoar o registo com, no mΓ‘ximo, <n> entradas do shortlog"
+
+#: builtin/fmt-merge-msg.c:670
+msgid "alias for --log (deprecated)"
+msgstr "alias de --log (obsoleto)"
+
+#: builtin/fmt-merge-msg.c:673
+msgid "text"
+msgstr "texto"
+
+#: builtin/fmt-merge-msg.c:674
+msgid "use <text> as start of message"
+msgstr "usar <texto> no inΓ­cio da mensagem"
+
+#: builtin/fmt-merge-msg.c:675
+msgid "file to read from"
+msgstr "ficheiro a ler"
+
+#: builtin/for-each-ref.c:9
+msgid "git for-each-ref [<options>] [<pattern>]"
+msgstr "git for-each-ref [<opΓ§Γ΅es>] [<padrΓ£o>]"
+
+#: builtin/for-each-ref.c:10
+msgid "git for-each-ref [--points-at <object>]"
+msgstr "git for-each-ref [--points-at <objeto>]"
+
+#: builtin/for-each-ref.c:11
+msgid "git for-each-ref [(--merged | --no-merged) [<object>]]"
+msgstr "git for-each-ref [(--merged | --no-merged) [<objeto>]]"
+
+#: builtin/for-each-ref.c:12
+msgid "git for-each-ref [--contains [<object>]]"
+msgstr "git for-each-ref [--contains [<objeto>]]"
+
+#: builtin/for-each-ref.c:27
+msgid "quote placeholders suitably for shells"
+msgstr ""
+"envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para "
+"interpretadores de comandos"
+
+#: builtin/for-each-ref.c:29
+msgid "quote placeholders suitably for perl"
+msgstr "envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para perl"
+
+#: builtin/for-each-ref.c:31
+msgid "quote placeholders suitably for python"
+msgstr ""
+"envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para python"
+
+#: builtin/for-each-ref.c:33
+msgid "quote placeholders suitably for Tcl"
+msgstr "envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para Tcl"
-#: builtin/gc.c:63
+#: builtin/for-each-ref.c:36
+msgid "show only <n> matched refs"
+msgstr "mostrar apenas <n> referΓͺncias correspondidas"
+
+#: builtin/for-each-ref.c:37 builtin/tag.c:372
+msgid "format to use for the output"
+msgstr "formato a usar na saΓ­da"
+
+#: builtin/for-each-ref.c:41
+msgid "print only refs which points at the given object"
+msgstr "imprimir apenas referΓͺncias que apontem para o objeto fornecido"
+
+#: builtin/for-each-ref.c:43
+msgid "print only refs that are merged"
+msgstr "imprimir apenas referenciadas incorporadas"
+
+#: builtin/for-each-ref.c:44
+msgid "print only refs that are not merged"
+msgstr "imprimir apenas referΓͺncias nΓ£o incorporadas"
+
+#: builtin/for-each-ref.c:45
+msgid "print only refs which contain the commit"
+msgstr "imprimir apenas referΓͺncias que contenham o commit"
+
+#: builtin/fsck.c:156 builtin/prune.c:140
+msgid "Checking connectivity"
+msgstr "A verificar conectividade"
+
+#: builtin/fsck.c:486
+msgid "Checking object directories"
+msgstr "A verificar diretΓ³rios de objetos"
+
+#: builtin/fsck.c:553
+msgid "git fsck [<options>] [<object>...]"
+msgstr "git fsck [<opΓ§Γ΅es>] [<objeto>...]"
+
+#: builtin/fsck.c:559
+msgid "show unreachable objects"
+msgstr "mostrar objetos inalcanΓ§Γ‘veis"
+
+#: builtin/fsck.c:560
+msgid "show dangling objects"
+msgstr "mostrar objetos suspensos"
+
+#: builtin/fsck.c:561
+msgid "report tags"
+msgstr "mostrar tags"
+
+#: builtin/fsck.c:562
+msgid "report root nodes"
+msgstr "mostrar nΓ³s raiz"
+
+#: builtin/fsck.c:563
+msgid "make index objects head nodes"
+msgstr "considerar objetos do Γ­ndice como nΓ³s cabeΓ§a"
+
+#: builtin/fsck.c:564
+msgid "make reflogs head nodes (default)"
+msgstr "considerar os reflogs como nΓ³s cabeΓ§a (predefiniΓ§Γ£o)"
+
+#: builtin/fsck.c:565
+msgid "also consider packs and alternate objects"
+msgstr "considerar tambΓ©m pacotes e objetos alternate"
+
+#: builtin/fsck.c:566
+msgid "check only connectivity"
+msgstr "verificar sΓ³ a conetividade"
+
+#: builtin/fsck.c:567
+msgid "enable more strict checking"
+msgstr "ativar verificaΓ§Γ£o mais rigorosa"
+
+#: builtin/fsck.c:569
+msgid "write dangling objects in .git/lost-found"
+msgstr "escrever objetos suspensos em .git/lost-found"
+
+#: builtin/fsck.c:570 builtin/prune.c:107
+msgid "show progress"
+msgstr "mostrar progresso"
+
+#: builtin/fsck.c:631
+msgid "Checking objects"
+msgstr "A verificar objetos"
+
+#: builtin/gc.c:25
+msgid "git gc [<options>]"
+msgstr "git gc [<opΓ§Γ΅es>]"
+
+#: builtin/gc.c:72
#, c-format
msgid "Invalid %s: '%s'"
msgstr "InvΓ‘lido %s: '%s'"
-#: builtin/gc.c:90
+#: builtin/gc.c:139
#, c-format
msgid "insanely long object directory %.*s"
+msgstr "diretΓ³rio de objetos demasiado longo %.*s"
+
+#: builtin/gc.c:290
+#, c-format
+msgid ""
+"The last gc run reported the following. Please correct the root cause\n"
+"and remove %s.\n"
+"Automatic cleanup will not be performed until the file is removed.\n"
+"\n"
+"%s"
msgstr ""
+"A ΓΊltima execuΓ§Γ£o do gc reportou o seguinte.\n"
+"Corrija a raiz do problema e remova %s.\n"
+"A limpeza automΓ‘tica nΓ£o serΓ‘ realizada enquanto o ficheiro existir.\n"
+"\n"
+"%s"
+
+#: builtin/gc.c:327
+msgid "prune unreferenced objects"
+msgstr "eliminar ficheiros nΓ£o referenciados"
+
+#: builtin/gc.c:329
+msgid "be more thorough (increased runtime)"
+msgstr "ser mais minucioso (aumenta o tempo de execuΓ§Γ£o)"
+
+#: builtin/gc.c:330
+msgid "enable auto-gc mode"
+msgstr "ativar modo auto-gc"
-#: builtin/gc.c:221
+#: builtin/gc.c:331
+msgid "force running gc even if there may be another gc running"
+msgstr "forΓ§ar a execuΓ§Γ£o do gc mesmo que haja outro gc a executar"
+
+#: builtin/gc.c:373
#, c-format
-msgid "Auto packing the repository for optimum performance.\n"
+msgid "Auto packing the repository in background for optimum performance.\n"
msgstr ""
+"A autocompactar o repositΓ³rio em segundo plano para obter um melhor "
+"desempenho.\n"
+
+#: builtin/gc.c:375
+#, c-format
+msgid "Auto packing the repository for optimum performance.\n"
+msgstr "A autocompactar o repositΓ³rio para obter um melhor desempenho.\n"
-#: builtin/gc.c:224
+#: builtin/gc.c:376
+#, c-format
+msgid "See \"git help gc\" for manual housekeeping.\n"
+msgstr "Consulte \"git help gc\" para ler sobre manutenΓ§Γ£o manual.\n"
+
+#: builtin/gc.c:397
#, c-format
msgid ""
-"Auto packing the repository for optimum performance. You may also\n"
-"run \"git gc\" manually. See \"git help gc\" for more information.\n"
+"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)"
msgstr ""
+"gc jΓ‘ a executar na mΓ‘quina '%s' pid %<PRIuMAX> (use --force se nΓ£o for o "
+"caso)"
-#: builtin/gc.c:251
-msgid "There are too many unreachable loose objects; run 'git prune' to remove them."
+#: builtin/gc.c:441
+msgid ""
+"There are too many unreachable loose objects; run 'git prune' to remove them."
msgstr ""
+"Existem demasiados objeto soltos inalcanΓ§Γ‘veis; execute 'git prune' para os "
+"remover."
+
+#: builtin/grep.c:23
+msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
+msgstr "git grep [<opΓ§Γ΅es>] [-e] <padrΓ£o> [<rev>...] [[--] <caminho>...]"
-#: builtin/grep.c:216
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
-msgstr ""
+msgstr "grep: falha ao criar thread: %s"
-#: builtin/grep.c:402
+#: builtin/grep.c:277
#, c-format
-msgid "Failed to chdir: %s"
-msgstr ""
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "o nΓΊmero de threads especificado em %2$s Γ© invΓ‘lido (%1$d)"
-#: builtin/grep.c:478
-#: builtin/grep.c:512
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel ler a Γ‘rvore (%s)"
-#: builtin/grep.c:526
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel efetuar grep de objetos do tipo %s"
-#: builtin/grep.c:584
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
-msgstr ""
+msgstr "a opΓ§Γ£o '%c' espera um valor numΓ©rico"
-#: builtin/grep.c:601
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
+msgstr "nΓ£o Γ© possΓ­vel abrir '%s'"
+
+#: builtin/grep.c:644
+msgid "search in index instead of in the work tree"
+msgstr "procurar no Γ­ndice em vez de procurar na Γ‘rvore de trabalho"
+
+#: builtin/grep.c:646
+msgid "find in contents not managed by git"
+msgstr "procurar em conteΓΊdos nΓ£o geridos pelo git"
+
+#: builtin/grep.c:648
+msgid "search in both tracked and untracked files"
+msgstr "procurar em ficheiros controlados e nΓ£o controlados"
+
+#: builtin/grep.c:650
+msgid "ignore files specified via '.gitignore'"
+msgstr "ignorar ficheiros especificados via '.gitignore'"
+
+#: builtin/grep.c:653
+msgid "show non-matching lines"
+msgstr "mostrar linhas nΓ£o correspondidas"
+
+#: builtin/grep.c:655
+msgid "case insensitive matching"
+msgstr "nΓ£o diferenciar maiΓΊsculas de minΓΊsculas"
+
+#: builtin/grep.c:657
+msgid "match patterns only at word boundaries"
+msgstr "corresponder padrΓ΅es apenas a palavras"
+
+#: builtin/grep.c:659
+msgid "process binary files as text"
+msgstr "processar ficheiros binΓ‘rios como texto"
+
+#: builtin/grep.c:661
+msgid "don't match patterns in binary files"
+msgstr "ignorar ficheiros binΓ‘rios"
+
+#: builtin/grep.c:664
+msgid "process binary files with textconv filters"
+msgstr "processar ficheiros binΓ‘rios com filtros textconv"
+
+#: builtin/grep.c:666
+msgid "descend at most <depth> levels"
+msgstr "descer no mΓ‘ximo atΓ© <profundidade>"
+
+#: builtin/grep.c:670
+msgid "use extended POSIX regular expressions"
+msgstr "usar expressΓ΅es regulares estendidas do POSIX"
+
+#: builtin/grep.c:673
+msgid "use basic POSIX regular expressions (default)"
+msgstr "usar expressΓ΅es regulares bΓ‘sicas do POSIX (predefiniΓ§Γ£o)"
+
+#: builtin/grep.c:676
+msgid "interpret patterns as fixed strings"
+msgstr "interpretar padrΓ΅es como cadeias de caracteres fixas"
+
+#: builtin/grep.c:679
+msgid "use Perl-compatible regular expressions"
+msgstr "usar expressΓ΅es regulares compatΓ­veis com Perl"
+
+#: builtin/grep.c:682
+msgid "show line numbers"
+msgstr "mostrar nΓΊmeros de linha"
+
+#: builtin/grep.c:683
+msgid "don't show filenames"
+msgstr "nΓ£o mostrar nomes de ficheiro"
+
+#: builtin/grep.c:684
+msgid "show filenames"
+msgstr "mostrar nomes de ficheiro"
+
+#: builtin/grep.c:686
+msgid "show filenames relative to top directory"
+msgstr "mostrar nomes de ficheiro relativamente ao diretΓ³rio superior"
+
+#: builtin/grep.c:688
+msgid "show only filenames instead of matching lines"
+msgstr "mostrar apenas nomes de ficheiro em vez de linhas correspondidas"
+
+#: builtin/grep.c:690
+msgid "synonym for --files-with-matches"
+msgstr "sinΓ³nimo de --files-with-matches"
+
+#: builtin/grep.c:693
+msgid "show only the names of files without match"
+msgstr "mostrar apenas nomes de ficheiro sem correspondΓͺncia"
+
+#: builtin/grep.c:695
+msgid "print NUL after filenames"
+msgstr "imprimir NUL depois dos nomes de ficheiro"
+
+#: builtin/grep.c:697
+msgid "show the number of matches instead of matching lines"
+msgstr "mostrar o nΓΊmero de correspondΓͺncias em vez das linha correspondidas"
+
+#: builtin/grep.c:698
+msgid "highlight matches"
+msgstr "realΓ§ar correspondΓͺncias"
+
+#: builtin/grep.c:700
+msgid "print empty line between matches from different files"
msgstr ""
+"imprimir uma linha em branco entre correspondΓͺncias de diferentes ficheiros"
-#: builtin/grep.c:888
-msgid "no pattern given."
+#: builtin/grep.c:702
+msgid "show filename only once above matches from same file"
msgstr ""
+"mostrar sΓ³ uma vez o nome do ficheiro acima das correspondΓͺncias dentro do "
+"mesmo ficheiro"
-#: builtin/grep.c:902
-#, c-format
-msgid "bad object %s"
+#: builtin/grep.c:705
+msgid "show <n> context lines before and after matches"
+msgstr "mostrar <n> linhas de contexto antes e depois das correspondΓͺncias"
+
+#: builtin/grep.c:708
+msgid "show <n> context lines before matches"
+msgstr "mostrar <n> linhas de contexto antes das correspondΓͺncias"
+
+#: builtin/grep.c:710
+msgid "show <n> context lines after matches"
+msgstr "mostrar <n> linhas de contexto depois das correspondΓͺncias"
+
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "usar <n> threads de trabalho"
+
+#: builtin/grep.c:713
+msgid "shortcut for -C NUM"
+msgstr "atalho para -C NUM"
+
+#: builtin/grep.c:716
+msgid "show a line with the function name before matches"
+msgstr "mostrar uma linha com o nome da funΓ§Γ£o antes das correspondΓͺncias"
+
+#: builtin/grep.c:718
+msgid "show the surrounding function"
+msgstr "mostrar a funΓ§Γ£o circundante"
+
+#: builtin/grep.c:721
+msgid "read patterns from file"
+msgstr "ler padrΓ΅es do ficheiro"
+
+#: builtin/grep.c:723
+msgid "match <pattern>"
+msgstr "procurar <padrΓ£o>"
+
+#: builtin/grep.c:725
+msgid "combine patterns specified with -e"
+msgstr "combinar padrΓ΅es especificados com -e"
+
+#: builtin/grep.c:737
+msgid "indicate hit with exit status without output"
+msgstr "indicar padrΓ£o encontrado no valor de saΓ­da, mas nΓ£o imprimir"
+
+#: builtin/grep.c:739
+msgid "show only matches from files that match all patterns"
msgstr ""
+"mostrar apenas correspondΓͺncias de ficheiro que tenham todos os padrΓ΅es"
+
+#: builtin/grep.c:741
+msgid "show parse tree for grep expression"
+msgstr "mostrar Γ‘rvore de analise da expressΓ΅es grep"
+
+#: builtin/grep.c:745
+msgid "pager"
+msgstr "paginador"
+
+#: builtin/grep.c:745
+msgid "show matching files in the pager"
+msgstr "mostrar ficheiros com correspondΓͺncias no paginador"
-#: builtin/grep.c:943
+#: builtin/grep.c:748
+msgid "allow calling of grep(1) (ignored by this build)"
+msgstr "permitir invocar grep(1) (ignorado nesta compilaΓ§Γ£o)"
+
+#: builtin/grep.c:811
+msgid "no pattern given."
+msgstr "nenhum padrΓ£o fornecido."
+
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "nΓΊmero de threads especificado invΓ‘lido (%d)"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
-msgstr ""
+msgstr "--open-files-in-pager sΓ³ funciona na Γ‘rvore de trabalho"
-#: builtin/grep.c:966
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
-msgstr ""
+msgstr "--cached ou --untracked nΓ£o podem ser usados com --no-index."
-#: builtin/grep.c:971
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
-msgstr ""
+msgstr "--no-index ou --untracked nΓ£o podem ser usados em revisΓ΅es."
-#: builtin/grep.c:974
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr ""
+"--[no-]exclude-standard nΓ£o podem ser usados em conteΓΊdos nΓ£o controlados."
-#: builtin/grep.c:982
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
+msgstr "--cached e Γ‘rvores fornecidos simultaneamente."
+
+#: builtin/hash-object.c:81
+msgid ""
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
+"[--] <file>..."
+msgstr ""
+"git hash-object [-t <tipo>] [-w] [--path=<ficheiro> | --no-filters] [--"
+"stdin] [--] <ficheiro>..."
+
+#: builtin/hash-object.c:82
+msgid "git hash-object --stdin-paths"
+msgstr "git hash-object --stdin-paths"
+
+#: builtin/hash-object.c:93
+msgid "type"
+msgstr "tipo"
+
+#: builtin/hash-object.c:93
+msgid "object type"
+msgstr "tipo do objeto"
+
+#: builtin/hash-object.c:94
+msgid "write the object into the object database"
+msgstr "escrever o objeto na base de dados de objetos"
+
+#: builtin/hash-object.c:96
+msgid "read the object from stdin"
+msgstr "ler o objeto da entrada padrΓ£o"
+
+#: builtin/hash-object.c:98
+msgid "store file as is without filters"
+msgstr "guardar o ficheiro tal como estΓ‘, sem filtros"
+
+#: builtin/hash-object.c:99
+msgid ""
+"just hash any random garbage to create corrupt objects for debugging Git"
msgstr ""
+"obter hash de lixo aleatΓ³rio para criar objetos corrompidos para depurar o "
+"Git"
+
+#: builtin/hash-object.c:100
+msgid "process file as it were from this path"
+msgstr "processar o ficheiro como se este fosse do caminho indicado"
+
+#: builtin/help.c:41
+msgid "print all available commands"
+msgstr "imprimir todos os comandos disponΓ­veis"
+
+#: builtin/help.c:42
+msgid "print list of useful guides"
+msgstr "imprimir lista de guias ΓΊteis"
+
+#: builtin/help.c:43
+msgid "show man page"
+msgstr "mostrar pΓ‘gina do manual"
+
+#: builtin/help.c:44
+msgid "show manual in web browser"
+msgstr "mostrar o manual no navegador web"
+
+#: builtin/help.c:46
+msgid "show info page"
+msgstr "mostrar pΓ‘gina info"
-#: builtin/help.c:59
+#: builtin/help.c:52
+msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]"
+msgstr "git help [--all] [--guides] [--man | --web | --info] [<comando>]"
+
+#: builtin/help.c:64
#, c-format
msgid "unrecognized help format '%s'"
-msgstr "formato ajuda nΓ£o reconhecido '%s'"
+msgstr "formato de ajuda nΓ£o reconhecido '%s'"
-#: builtin/help.c:87
+#: builtin/help.c:91
msgid "Failed to start emacsclient."
-msgstr ""
+msgstr "Falha ao iniciar emacsclient."
-#: builtin/help.c:100
+#: builtin/help.c:104
msgid "Failed to parse emacsclient version."
-msgstr ""
+msgstr "Falha ao analisar a versΓ£o do emacsclient."
-#: builtin/help.c:108
+#: builtin/help.c:112
#, c-format
msgid "emacsclient version '%d' too old (< 22)."
-msgstr ""
+msgstr "a versΓ£o do emacsclient '%d' Γ© demasiado antiga (< 22)."
-#: builtin/help.c:126
-#: builtin/help.c:154
-#: builtin/help.c:163
-#: builtin/help.c:171
+#: builtin/help.c:130 builtin/help.c:151 builtin/help.c:160 builtin/help.c:168
#, c-format
msgid "failed to exec '%s': %s"
-msgstr ""
+msgstr "falha ao executar '%s': %s"
-#: builtin/help.c:211
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
"Please consider using 'man.<tool>.cmd' instead."
msgstr ""
+"'%s': caminho para visualizador de manual nΓ£o suportado.\n"
+"Considere usar 'man.<tool>.cmd'."
-#: builtin/help.c:223
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
"Please consider using 'man.<tool>.path' instead."
msgstr ""
+"'%s': comando de visualizador de manual suportado.\n"
+"Considere usar 'man.<tool>.path'."
-#: builtin/help.c:287
-msgid "The most commonly used git commands are:"
-msgstr ""
-
-#: builtin/help.c:355
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
-msgstr ""
+msgstr "'%s' visualizador de manual desconhecido."
-#: builtin/help.c:372
+#: builtin/help.c:351
msgid "no man viewer handled the request"
-msgstr ""
+msgstr "nenhum visualizador de manual atendeu o pedido"
-#: builtin/help.c:380
+#: builtin/help.c:359
msgid "no info viewer handled the request"
-msgstr ""
+msgstr "nenhum visualizador de info atendeu o pedido"
-#: builtin/help.c:391
-#, c-format
-msgid "'%s': not a documentation directory."
+#: builtin/help.c:408
+msgid "Defining attributes per path"
+msgstr "Definir atributos por caminho"
+
+#: builtin/help.c:409
+msgid "Everyday Git With 20 Commands Or So"
+msgstr "DiΓ‘rio Git com mais ou menos 20 Comandos"
+
+#: builtin/help.c:410
+msgid "A Git glossary"
+msgstr "Um GlossΓ‘rio do Git"
+
+#: builtin/help.c:411
+msgid "Specifies intentionally untracked files to ignore"
msgstr ""
+"Especificar ficheiros nΓ£o controlados para serem intencionalmente ignorados"
+
+#: builtin/help.c:412
+msgid "Defining submodule properties"
+msgstr "Definir propriedades de submΓ³dulos"
+
+#: builtin/help.c:413
+msgid "Specifying revisions and ranges for Git"
+msgstr "Especificar revisΓ΅es e intervalos do Git"
+
+#: builtin/help.c:414
+msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
+msgstr "Uma introduΓ§Γ£o ao Git (versΓ£o 1.5.1 ou mais recente)"
+
+#: builtin/help.c:415
+msgid "An overview of recommended workflows with Git"
+msgstr "Uma descriΓ§Γ£o geral dos fluxos de trabalho recomendados para o Git"
+
+#: builtin/help.c:427
+msgid "The common Git guides are:\n"
+msgstr "Os guias comuns do Git:\n"
-#: builtin/help.c:432
-#: builtin/help.c:439
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
-msgstr ""
+msgstr "utilizaΓ§Γ£o: %s%s"
-#: builtin/help.c:453
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
-msgstr ""
+msgstr "'git %s' Γ© um alias de '%s'"
+
+#: builtin/index-pack.c:152
+#, c-format
+msgid "unable to open %s"
+msgstr "nΓ£o foi possΓ­vel ler %s"
-#: builtin/index-pack.c:84
+#: builtin/index-pack.c:202
#, c-format
msgid "object type mismatch at %s"
-msgstr ""
+msgstr "incompatibilidade de tipo de objeto em %s"
-#: builtin/index-pack.c:104
-msgid "object of unexpected type"
-msgstr ""
+#: builtin/index-pack.c:222
+#, c-format
+msgid "did not receive expected object %s"
+msgstr "o objeto esperado %s nΓ£o foi recebido"
+
+#: builtin/index-pack.c:225
+#, c-format
+msgid "object %s: expected type %s, found %s"
+msgstr "objeto %s: tipo esperado %s, obtido %s"
-#: builtin/index-pack.c:141
+#: builtin/index-pack.c:267
#, c-format
msgid "cannot fill %d byte"
msgid_plural "cannot fill %d bytes"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "nΓ£o Γ© possΓ­vel preencher %d byte"
+msgstr[1] "nΓ£o Γ© possΓ­vel preencher %d bytes"
-#: builtin/index-pack.c:151
+#: builtin/index-pack.c:277
msgid "early EOF"
-msgstr ""
+msgstr "fim de ficheiro (EOF) prematuro"
-#: builtin/index-pack.c:152
+#: builtin/index-pack.c:278
msgid "read error on input"
-msgstr ""
+msgstr "erro de leitura da entrada"
-#: builtin/index-pack.c:164
+#: builtin/index-pack.c:290
msgid "used more bytes than were available"
-msgstr ""
+msgstr "foram usados mais bytes dos que estavam disponΓ­veis"
-#: builtin/index-pack.c:171
+#: builtin/index-pack.c:297
msgid "pack too large for current definition of off_t"
-msgstr ""
+msgstr "pacote demasiado grande para a definiΓ§Γ£o atual de off_t"
-#: builtin/index-pack.c:187
+#: builtin/index-pack.c:313
#, c-format
msgid "unable to create '%s'"
-msgstr "nΓ£o Γ© possivel crear '%s'"
+msgstr "nΓ£o foi possΓ­vel criar '%s'"
-#: builtin/index-pack.c:192
+#: builtin/index-pack.c:318
#, c-format
msgid "cannot open packfile '%s'"
-msgstr "NΓ£o Γ© possivel abrir o ficheiro packfile '%s'"
+msgstr "nΓ£o Γ© possΓ­vel abrir o ficheiro de pacote '%s'"
-#: builtin/index-pack.c:206
+#: builtin/index-pack.c:332
msgid "pack signature mismatch"
-msgstr ""
+msgstr "a assinatura do pacote nΓ£o corresponde"
-#: builtin/index-pack.c:226
+#: builtin/index-pack.c:334
+#, c-format
+msgid "pack version %<PRIu32> unsupported"
+msgstr "versΓ£o de pacote %<PRIu32> nΓ£o suportada"
+
+#: builtin/index-pack.c:352
#, c-format
msgid "pack has bad object at offset %lu: %s"
-msgstr ""
+msgstr "pacote com objeto incorreto no offset %lu: %s"
-#: builtin/index-pack.c:300
+#: builtin/index-pack.c:473
#, c-format
msgid "inflate returned %d"
-msgstr ""
+msgstr "a descompactaΓ§Γ£o retornou %d"
-#: builtin/index-pack.c:345
+#: builtin/index-pack.c:522
msgid "offset value overflow for delta base object"
-msgstr ""
+msgstr "delta de objeto base com capacidade excedida no valor de offset"
-#: builtin/index-pack.c:353
+#: builtin/index-pack.c:530
+#, fuzzy
msgid "delta base offset is out of bound"
-msgstr ""
+msgstr "um offset de base delta ultrapassou o limite"
-#: builtin/index-pack.c:361
+#: builtin/index-pack.c:538
#, c-format
msgid "unknown object type %d"
-msgstr "ojecto com tipo desconhecido %d"
+msgstr "objeto de tipo desconhecido %d"
-#: builtin/index-pack.c:390
+#: builtin/index-pack.c:569
msgid "cannot pread pack file"
-msgstr "NΓ£o Γ© possivel pread pack file"
+msgstr "nΓ£o Γ© possΓ­vel invocar pread sobre o ficheiro de pacote"
-#: builtin/index-pack.c:392
+#: builtin/index-pack.c:571
#, c-format
msgid "premature end of pack file, %lu byte missing"
msgid_plural "premature end of pack file, %lu bytes missing"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "fim de ficheiro de pacote prematuro, falta %lu byte"
+msgstr[1] "fim de ficheiro de pacote prematuro, faltam %lu bytes"
-#: builtin/index-pack.c:405
+#: builtin/index-pack.c:597
msgid "serious inflate inconsistency"
-msgstr ""
+msgstr "inconsistΓͺncia de descompactaΓ§Γ£o grave"
-#: builtin/index-pack.c:476
+#: builtin/index-pack.c:743 builtin/index-pack.c:749 builtin/index-pack.c:772
+#: builtin/index-pack.c:806 builtin/index-pack.c:815
#, c-format
-msgid "cannot read existing object %s"
-msgstr "nΓ£o foi possΓ­vel ler objecto existente %s"
+msgid "SHA1 COLLISION FOUND WITH %s !"
+msgstr "COLISÃO DE SHA1 COM %s ENCONTRADA!"
-#: builtin/index-pack.c:479
+#: builtin/index-pack.c:746 builtin/pack-objects.c:162
+#: builtin/pack-objects.c:254
#, c-format
-msgid "SHA1 COLLISION FOUND WITH %s !"
-msgstr ""
+msgid "unable to read %s"
+msgstr "nΓ£o foi possΓ­vel ler %s"
-#: builtin/index-pack.c:488
+#: builtin/index-pack.c:812
+#, c-format
+msgid "cannot read existing object %s"
+msgstr "nΓ£o Γ© possΓ­vel ler o objeto existente %s"
+
+#: builtin/index-pack.c:826
#, c-format
msgid "invalid blob object %s"
-msgstr "invΓ‘lido objecto blob %s"
+msgstr "objeto blob invΓ‘lido %s"
-#: builtin/index-pack.c:500
+#: builtin/index-pack.c:840
#, c-format
msgid "invalid %s"
-msgstr "invΓ‘lido: %s"
+msgstr "invΓ‘lido %s"
-#: builtin/index-pack.c:502
+#: builtin/index-pack.c:843
msgid "Error in object"
-msgstr ""
+msgstr "Erro no objeto"
-#: builtin/index-pack.c:504
+#: builtin/index-pack.c:845
#, c-format
msgid "Not all child objects of %s are reachable"
-msgstr ""
+msgstr "Nem todos os objetos filhos de %s sΓ£o alcanΓ§Γ‘veis"
-#: builtin/index-pack.c:576
-#: builtin/index-pack.c:602
+#: builtin/index-pack.c:917 builtin/index-pack.c:948
msgid "failed to apply delta"
-msgstr ""
+msgstr "falha ao aplicar delta"
-#: builtin/index-pack.c:706
+#: builtin/index-pack.c:1118
msgid "Receiving objects"
-msgstr ""
+msgstr "A receber objetos"
-#: builtin/index-pack.c:706
+#: builtin/index-pack.c:1118
msgid "Indexing objects"
-msgstr ""
+msgstr "A indexar objetos"
-#: builtin/index-pack.c:728
+#: builtin/index-pack.c:1150
msgid "pack is corrupted (SHA1 mismatch)"
-msgstr ""
+msgstr "pacote corrompido (SHA1 nΓ£o corresponde)"
-#: builtin/index-pack.c:733
+#: builtin/index-pack.c:1155
msgid "cannot fstat packfile"
-msgstr "NΓ£o Γ© possivel fstat packfile"
+msgstr "nΓ£o Γ© possΓ­vel invocar fstat sobre o ficheiro de pacote"
-#: builtin/index-pack.c:736
+#: builtin/index-pack.c:1158
msgid "pack has junk at the end"
-msgstr ""
+msgstr "pacote com lixo no final"
-#: builtin/index-pack.c:754
+#: builtin/index-pack.c:1169
+msgid "confusion beyond insanity in parse_pack_objects()"
+msgstr "extrema confusΓ£o em parse_pack_objects()"
+
+#: builtin/index-pack.c:1194
msgid "Resolving deltas"
-msgstr "Resolvendo deltas"
+msgstr "A resolver deltas"
+
+#: builtin/index-pack.c:1205
+#, c-format
+msgid "unable to create thread: %s"
+msgstr "nΓ£o foi possΓ­vel criar thread: %s"
+
+#: builtin/index-pack.c:1247
+msgid "confusion beyond insanity"
+msgstr "extrema confusΓ£o"
+
+#: builtin/index-pack.c:1253
+#, c-format
+msgid "completed with %d local objects"
+msgstr "concluΓ­do com %d objetos locais"
+
+#: builtin/index-pack.c:1263
+#, c-format
+msgid "Unexpected tail checksum for %s (disk corruption?)"
+msgstr "Soma de verificaΓ§Γ£o inesperada no final de %s (corrupΓ§Γ£o no disco?)"
+
+#: builtin/index-pack.c:1267
+#, c-format
+msgid "pack has %d unresolved delta"
+msgid_plural "pack has %d unresolved deltas"
+msgstr[0] "pacote com %d delta nΓ£o resolvido"
+msgstr[1] "pacote com %d deltas nΓ£o resolvidos"
-#: builtin/index-pack.c:787
+#: builtin/index-pack.c:1291
#, c-format
msgid "unable to deflate appended object (%d)"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel compactar objeto acrescentado (%d)"
-#: builtin/index-pack.c:866
+#: builtin/index-pack.c:1367
#, c-format
msgid "local object %s is corrupt"
-msgstr ""
+msgstr "objeto local %s corrompido"
-#: builtin/index-pack.c:890
+#: builtin/index-pack.c:1391
msgid "error while closing pack file"
-msgstr ""
+msgstr "erro ao fechar ficheiro de pacote"
-#: builtin/index-pack.c:903
+#: builtin/index-pack.c:1404
#, c-format
msgid "cannot write keep file '%s'"
-msgstr "nΓ£o Γ© possivel escrever o fichero kepp '%s'"
+msgstr "nΓ£o Γ© possΓ­vel escrever o ficheiro de conservaΓ§Γ£o '%s'"
-#: builtin/index-pack.c:911
+#: builtin/index-pack.c:1412
#, c-format
msgid "cannot close written keep file '%s'"
-msgstr "NΓ£o Γ© possivel fechar o fichero escrito '%s'"
+msgstr "nΓ£o Γ© possΓ­vel fechar o ficheiro de conservaΓ§Γ£o '%s' escrito"
-#: builtin/index-pack.c:924
+#: builtin/index-pack.c:1425
msgid "cannot store pack file"
-msgstr "NΓ£o Γ© possivel guardar o fichero pack"
+msgstr "nΓ£o Γ© possΓ­vel guardar ficheiro de pacote"
-#: builtin/index-pack.c:935
+#: builtin/index-pack.c:1436
msgid "cannot store index file"
-msgstr "NΓ£o Γ© possivel guardar fichero index"
+msgstr "nΓ£o Γ© possΓ­vel guardar o ficheiro Γ­ndice"
+
+#: builtin/index-pack.c:1469
+#, c-format
+msgid "bad pack.indexversion=%<PRIu32>"
+msgstr "pack.indexversion=%<PRIu32> incorreto"
+
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
+#, c-format
+msgid "no threads support, ignoring %s"
+msgstr "sem suporte de threads, %s ignorado"
-#: builtin/index-pack.c:1024
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
-msgstr "NΓ£o Γ© possivel abrir o existente ficheiro pack %s"
+msgstr "NΓ£o Γ© possΓ­vel abrir o ficheiro de pacote '%s' existente"
-#: builtin/index-pack.c:1026
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
-msgstr "NΓ£o Γ© possivel abrir o ficheiro 'pack idx' para '%s'"
+msgstr "NΓ£o Γ© possΓ­vel abrir o ficheiro de Γ­ndice do pacote existente de '%s'"
-#: builtin/index-pack.c:1073
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d objeto nΓ£o delta"
+msgstr[1] "%d objetos nΓ£o delta"
-#: builtin/index-pack.c:1080
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "comprimento de cadeia = %d: %lu objeto"
+msgstr[1] "comprimento de cadeia = %d: %lu objetos"
-#: builtin/index-pack.c:1107
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel voltar ao diretΓ³rio de trabalho atual"
-#: builtin/index-pack.c:1140
-#: builtin/index-pack.c:1143
-#: builtin/index-pack.c:1155
-#: builtin/index-pack.c:1159
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
-msgstr "invΓ‘lido %s"
+msgstr "%s incorreto"
-#: builtin/index-pack.c:1173
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
-msgstr ""
+msgstr "--fix-thin nΓ£o pode ser usado sem --stdin"
-#: builtin/index-pack.c:1177
-#: builtin/index-pack.c:1187
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
-msgstr ""
+msgstr "o nome do ficheiro de pacote '%s' nΓ£o termina em '.pack'"
-#: builtin/index-pack.c:1196
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
-msgstr ""
+msgstr "--verify sem nome do ficheiro de pacote indicado"
-#: builtin/index-pack.c:1220
-msgid "confusion beyond insanity"
-msgstr ""
-
-#: builtin/index-pack.c:1239
-#, c-format
-msgid "pack has %d unresolved delta"
-msgid_plural "pack has %d unresolved deltas"
-msgstr[0] ""
-msgstr[1] ""
-
-#: builtin/init-db.c:35
-#, c-format
-msgid "Could not make %s writable by group"
-msgstr ""
-
-#: builtin/init-db.c:62
-#, c-format
-msgid "insanely long template name %s"
-msgstr ""
-
-#: builtin/init-db.c:67
+#: builtin/init-db.c:55
#, c-format
msgid "cannot stat '%s'"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel invocar stat sobre '%s'"
-#: builtin/init-db.c:73
+#: builtin/init-db.c:61
#, c-format
msgid "cannot stat template '%s'"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel invocar stat sobre o modelo '%s'"
-#: builtin/init-db.c:80
+#: builtin/init-db.c:66
#, c-format
msgid "cannot opendir '%s'"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel abrir (opendir) '%s'"
-#: builtin/init-db.c:97
+#: builtin/init-db.c:77
#, c-format
msgid "cannot readlink '%s'"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel ler (readlink) '%s'"
-#: builtin/init-db.c:99
-#, c-format
-msgid "insanely long symlink %s"
-msgstr ""
-
-#: builtin/init-db.c:102
+#: builtin/init-db.c:79
#, c-format
msgid "cannot symlink '%s' '%s'"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel criar a ligaΓ§Γ£o simbΓ³lica '%s' '%s'"
-#: builtin/init-db.c:106
+#: builtin/init-db.c:85
#, c-format
msgid "cannot copy '%s' to '%s'"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel copiar '%s' para '%s'"
-#: builtin/init-db.c:110
+#: builtin/init-db.c:89
#, c-format
msgid "ignoring template %s"
-msgstr ""
+msgstr "modelo %s ignorado"
-#: builtin/init-db.c:133
-#, c-format
-msgid "insanely long template path %s"
-msgstr ""
-
-#: builtin/init-db.c:141
+#: builtin/init-db.c:118
#, c-format
msgid "templates not found %s"
-msgstr ""
+msgstr "modelos nΓ£o encontrados em %s"
-#: builtin/init-db.c:154
+#: builtin/init-db.c:131
#, c-format
msgid "not copying templates of a wrong format version %d from '%s'"
msgstr ""
+"os modelos com versΓ£o de formato %d incorreta nΓ£o foram copiados de '%s'"
-#: builtin/init-db.c:192
-#, c-format
-msgid "insane git directory %s"
-msgstr ""
-
-#: builtin/init-db.c:322
-#: builtin/init-db.c:325
+#: builtin/init-db.c:309 builtin/init-db.c:312
#, c-format
msgid "%s already exists"
msgstr "%s jΓ‘ existe"
-#: builtin/init-db.c:354
+#: builtin/init-db.c:340
#, c-format
msgid "unable to handle file type %d"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel processar o tipo de ficheiro %d"
-#: builtin/init-db.c:357
+#: builtin/init-db.c:343
#, c-format
msgid "unable to move %s to %s"
-msgstr ""
-
-#: builtin/init-db.c:362
-#, c-format
-msgid "Could not create git link %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel mover %s para %s"
-#.
-#. * TRANSLATORS: The first '%s' is either "Reinitialized
-#. * existing" or "Initialized empty", the second " shared" or
-#. * "", and the last '%s%s' is the verbatim directory name.
-#.
-#: builtin/init-db.c:419
+#. TRANSLATORS: The first '%s' is either "Reinitialized
+#. existing" or "Initialized empty", the second " shared" or
+#. "", and the last '%s%s' is the verbatim directory name.
+#: builtin/init-db.c:399
#, c-format
msgid "%s%s Git repository in %s%s\n"
-msgstr ""
+msgstr "RepositΓ³rio Git %s%s em %s%s\n"
-#: builtin/init-db.c:420
+#: builtin/init-db.c:400
msgid "Reinitialized existing"
-msgstr ""
+msgstr "existente reinicializado"
-#: builtin/init-db.c:420
+#: builtin/init-db.c:400
msgid "Initialized empty"
-msgstr "Inicializada vazio"
+msgstr "vazio inicializado"
-#: builtin/init-db.c:421
+#: builtin/init-db.c:401
msgid " shared"
msgstr " partilhado"
-#: builtin/init-db.c:440
-msgid "cannot tell cwd"
+#: builtin/init-db.c:448
+msgid ""
+"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
+"shared[=<permissions>]] [<directory>]"
+msgstr ""
+"git init [-q | --quiet] [--bare] [--template=<diretΓ³rio-modelo>] [--"
+"shared[=<permissΓ΅es>]] [<diretΓ³rio>]"
+
+#: builtin/init-db.c:471
+msgid "permissions"
+msgstr "permissΓ΅es"
+
+#: builtin/init-db.c:472
+msgid "specify that the git repository is to be shared amongst several users"
msgstr ""
+"especificar que o repositΓ³rio git serΓ‘ partilhado por vΓ‘rios utilizadores"
-#: builtin/init-db.c:521
-#: builtin/init-db.c:528
+#: builtin/init-db.c:506 builtin/init-db.c:511
#, c-format
msgid "cannot mkdir %s"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel criar o diretΓ³rio %s"
-#: builtin/init-db.c:532
+#: builtin/init-db.c:515
#, c-format
msgid "cannot chdir to %s"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel mudar para o diretΓ³rio %s"
-#: builtin/init-db.c:554
+#: builtin/init-db.c:536
#, c-format
-msgid "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-dir=<directory>)"
-msgstr ""
-
-#: builtin/init-db.c:578
-msgid "Cannot access current working directory"
+msgid ""
+"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-"
+"dir=<directory>)"
msgstr ""
+"%s (ou --work-tree=<diretΓ³rio>) nΓ£o Γ© permitido sem especificar %s (ou --git-"
+"dir=<diretΓ³rio>)"
-#: builtin/init-db.c:585
+#: builtin/init-db.c:564
#, c-format
msgid "Cannot access work tree '%s'"
+msgstr "NΓ£o Γ© possΓ­vel aceder Γ  Γ‘rvore de trabalho '%s'"
+
+#: builtin/interpret-trailers.c:15
+msgid ""
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<valor>])...] [<ficheiro>...]"
+
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "editar ficheiros no local"
+
+#: builtin/interpret-trailers.c:27
+msgid "trim empty trailers"
+msgstr "cortar terminadores vazios"
+
+#: builtin/interpret-trailers.c:28
+msgid "trailer"
+msgstr "terminador"
+
+#: builtin/interpret-trailers.c:29
+msgid "trailer(s) to add"
+msgstr "terminadores a adicionar"
+
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "nenhum ficheiro de entrada fornecido para ediΓ§Γ£o no local"
-#: builtin/log.c:188
+#: builtin/log.c:43
+msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
+msgstr "git log [<opΓ§Γ΅es>] [<intervalo-de-revisΓ΅es>] [[--] <caminho>...]"
+
+#: builtin/log.c:44
+msgid "git show [<options>] <object>..."
+msgstr "git show [<opΓ§Γ΅es>] <objeto>..."
+
+#: builtin/log.c:83
+#, c-format
+msgid "invalid --decorate option: %s"
+msgstr "opΓ§Γ£o --decorate invΓ‘lida: %s"
+
+#: builtin/log.c:131
+msgid "suppress diff output"
+msgstr "suprimir saΓ­da do diff"
+
+#: builtin/log.c:132
+msgid "show source"
+msgstr "mostrar origem"
+
+#: builtin/log.c:133
+msgid "Use mail map file"
+msgstr "usar ficheiro de mapeamento de correio"
+
+#: builtin/log.c:134
+msgid "decorate options"
+msgstr "opΓ§Γ΅es de decoraΓ§Γ£o"
+
+#: builtin/log.c:137
+msgid "Process line range n,m in file, counting from 1"
+msgstr "processar intervalo de linhas n,m, a cantar a partir de 1"
+
+#: builtin/log.c:233
#, c-format
msgid "Final output: %d %s\n"
-msgstr ""
+msgstr "Resultado final: %d %s\n"
+
+#: builtin/log.c:465
+#, c-format
+msgid "git show %s: bad file"
+msgstr "git show %s: ficheiro incorreto"
-#: builtin/log.c:401
-#: builtin/log.c:489
+#: builtin/log.c:479 builtin/log.c:572
#, c-format
msgid "Could not read object %s"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel ler o objeto %s"
-#: builtin/log.c:513
+#: builtin/log.c:596
#, c-format
msgid "Unknown type: %d"
msgstr "Tipo desconhecido: %d"
-#: builtin/log.c:602
+#: builtin/log.c:715
msgid "format.headers without value"
-msgstr ""
+msgstr "format.headers sem valor"
-#: builtin/log.c:675
+#: builtin/log.c:801
msgid "name of output directory is too long"
-msgstr "nome do diretΓ³rio de saΓ­da Γ© demasiado longo"
+msgstr "o nome do diretΓ³rio de saΓ­da Γ© demasiado longo"
-#: builtin/log.c:686
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
-msgstr "NΓ£o Γ© possivel abrir o ficheiro patch %s"
+msgstr "NΓ£o Γ© possΓ­vel abrir o ficheiro de patch %s"
-#: builtin/log.c:700
+#: builtin/log.c:830
msgid "Need exactly one range."
-msgstr "Necessita de exatamente um intervalo."
+msgstr "Γ‰ necessΓ‘rio exatamente um intervalo."
-#: builtin/log.c:708
+#: builtin/log.c:840
msgid "Not a range."
msgstr "NΓ£o Γ© um intervalo."
-#: builtin/log.c:745
-msgid "Could not extract email from committer identity."
-msgstr "NΓ£o foi possΓ­vel extrair a identidade do committer do e-mail."
-
-#: builtin/log.c:791
+#: builtin/log.c:946
msgid "Cover letter needs email format"
-msgstr "Carta de apresentaΓ§Γ£o necessita um modelo de e-mail"
+msgstr "A carta de apresentaΓ§Γ£o precisa de um formato de e-mail"
-#: builtin/log.c:885
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
-msgstr ""
+msgstr "in-reply-to incorreto: %s"
-#: builtin/log.c:958
+#: builtin/log.c:1053
+msgid "git format-patch [<options>] [<since> | <revision-range>]"
+msgstr "git format-patch [<opΓ§Γ΅es>] [<desde> | <intervalo-de-revisΓ΅es>]"
+
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "Dois diretΓ³rios de saΓ­da?"
-#: builtin/log.c:1179
-#, c-format
-msgid "bogus committer info %s"
-msgstr ""
+#: builtin/log.c:1214
+msgid "use [PATCH n/m] even with a single patch"
+msgstr "usar [PATCH n/m] mesmo com um ΓΊnico patch"
-#: builtin/log.c:1224
-msgid "-n and -k are mutually exclusive."
+#: builtin/log.c:1217
+msgid "use [PATCH] even with multiple patches"
+msgstr "usar [PATCH] mesmo com mΓΊltiplos patches"
+
+#: builtin/log.c:1221
+msgid "print patches to standard out"
+msgstr "imprimir patches para a saΓ­da padrΓ£o"
+
+#: builtin/log.c:1223
+msgid "generate a cover letter"
+msgstr "gerar uma carta de apresentaΓ§Γ£o"
+
+#: builtin/log.c:1225
+msgid "use simple number sequence for output file names"
msgstr ""
+"usar uma sequΓͺncia de nΓΊmeros simples para denominar os ficheiros gerados"
#: builtin/log.c:1226
-msgid "--subject-prefix and -k are mutually exclusive."
-msgstr ""
+msgid "sfx"
+msgstr "sfx"
-#: builtin/log.c:1234
-msgid "--name-only does not make sense"
-msgstr ""
+#: builtin/log.c:1227
+msgid "use <sfx> instead of '.patch'"
+msgstr "usar <sfx> em vez de '.patch'"
+
+#: builtin/log.c:1229
+msgid "start numbering patches at <n> instead of 1"
+msgstr "comeΓ§ar a numerar os patches em <n> em vez de 1"
+
+#: builtin/log.c:1231
+msgid "mark the series as Nth re-roll"
+msgstr "marcar a sΓ©rie como a n-Γ©sima reiteraΓ§Γ£o"
+
+#: builtin/log.c:1233
+msgid "Use [<prefix>] instead of [PATCH]"
+msgstr "usar [<prefixo>] em vez de [PATCH]"
#: builtin/log.c:1236
-msgid "--name-status does not make sense"
+msgid "store resulting files in <dir>"
+msgstr "guardar os ficheiros resultantes em <dir>"
+
+#: builtin/log.c:1239
+msgid "don't strip/add [PATCH]"
+msgstr "nΓ£o tirar/inserir [PATCH]"
+
+#: builtin/log.c:1242
+msgid "don't output binary diffs"
+msgstr "nΓ£o gerar diffs binΓ‘rios"
+
+#: builtin/log.c:1244
+msgid "output all-zero hash in From header"
+msgstr "preencher o cabeΓ§alho From com hash de zeros"
+
+#: builtin/log.c:1246
+msgid "don't include a patch matching a commit upstream"
+msgstr "nΓ£o incluir um patch que coincida com um commit a montante"
+
+#: builtin/log.c:1248
+msgid "show patch format instead of default (patch + stat)"
msgstr ""
+"mostrar no formato de patch em vez de no formato por omissΓ£o (patch + stat)"
-#: builtin/log.c:1238
-msgid "--check does not make sense"
+#: builtin/log.c:1250
+msgid "Messaging"
+msgstr "Mensagem"
+
+#: builtin/log.c:1251
+msgid "header"
+msgstr "cabeΓ§alho"
+
+#: builtin/log.c:1252
+msgid "add email header"
+msgstr "adicionar cabeΓ§alho de e-mail"
+
+#: builtin/log.c:1253 builtin/log.c:1255
+msgid "email"
+msgstr "e-mail"
+
+#: builtin/log.c:1253
+msgid "add To: header"
+msgstr "adicionar cabeΓ§alho To:"
+
+#: builtin/log.c:1255
+msgid "add Cc: header"
+msgstr "adicionar cabeΓ§alho Cc:"
+
+#: builtin/log.c:1257
+msgid "ident"
+msgstr "identidade"
+
+#: builtin/log.c:1258
+msgid "set From address to <ident> (or committer ident if absent)"
msgstr ""
+"definir o endereΓ§o From como <identidade> (ou como identidade do committer "
+"se nΓ£o indicado)"
+
+#: builtin/log.c:1260
+msgid "message-id"
+msgstr "id-mensagem"
#: builtin/log.c:1261
+msgid "make first mail a reply to <message-id>"
+msgstr "usar o primeiro email para responder a <id-mensagem>"
+
+#: builtin/log.c:1262 builtin/log.c:1265
+msgid "boundary"
+msgstr "limite"
+
+#: builtin/log.c:1263
+msgid "attach the patch"
+msgstr "anexar o patch"
+
+#: builtin/log.c:1266
+msgid "inline the patch"
+msgstr "incorporar o patch"
+
+#: builtin/log.c:1270
+msgid "enable message threading, styles: shallow, deep"
+msgstr "ativar mensagens por tΓ³picos, estilos: shallow (raso), deep (profundo)"
+
+#: builtin/log.c:1272
+msgid "signature"
+msgstr "assinatura"
+
+#: builtin/log.c:1273
+msgid "add a signature"
+msgstr "adicionar uma assinatura"
+
+#: builtin/log.c:1275
+msgid "add a signature from a file"
+msgstr "adicionar uma assinatura de um ficheiro"
+
+#: builtin/log.c:1276
+msgid "don't print the patch filenames"
+msgstr "nΓ£o imprimir os nomes dos ficheiros de patch"
+
+#: builtin/log.c:1365
+msgid "-n and -k are mutually exclusive."
+msgstr "-n e -k sΓ£o mutuamente exclusivos."
+
+#: builtin/log.c:1367
+msgid "--subject-prefix and -k are mutually exclusive."
+msgstr "--subject-prefix e -k sΓ£o mutuamente exclusivos."
+
+#: builtin/log.c:1375
+msgid "--name-only does not make sense"
+msgstr "--name-only nΓ£o faz sentido"
+
+#: builtin/log.c:1377
+msgid "--name-status does not make sense"
+msgstr "--name-status nΓ£o faz sentido"
+
+#: builtin/log.c:1379
+msgid "--check does not make sense"
+msgstr "--check nΓ£o faz sentido"
+
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "saΓ­da padrΓ£o, ou diretΓ³rio, qual deles?"
-#: builtin/log.c:1263
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel criar o diretΓ³rio '%s'"
-#: builtin/log.c:1416
+#: builtin/log.c:1506
+#, c-format
+msgid "unable to read signature file '%s'"
+msgstr "nΓ£o Γ© possΓ­vel ler o ficheiro de assinatura '%s'"
+
+#: builtin/log.c:1569
msgid "Failed to create output files"
-msgstr "Falhou ao criar ficheiros de saΓ­da"
+msgstr "Falha ao criar os ficheiros de saΓ­da"
+
+#: builtin/log.c:1617
+msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
+msgstr "git cherry [-v] [<ramo-a-montante> [<head> [<limite>]]]"
-#: builtin/log.c:1520
+#: builtin/log.c:1671
#, c-format
-msgid "Could not find a tracked remote branch, please specify <upstream> manually.\n"
+msgid ""
+"Could not find a tracked remote branch, please specify <upstream> manually.\n"
msgstr ""
+"O ramo remoto seguido nΓ£o foi encontrado, especifique <ramo-a-montante> "
+"manualmente.\n"
-#: builtin/log.c:1536
-#: builtin/log.c:1538
-#: builtin/log.c:1550
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "Commit desconhecido %s"
-#: builtin/merge.c:90
-msgid "switch `m' requires a value"
+#: builtin/ls-files.c:378
+msgid "git ls-files [<options>] [<file>...]"
+msgstr "git ls-files [<opΓ§Γ΅es>] [<ficheiro>...]"
+
+#: builtin/ls-files.c:427
+msgid "identify the file status with tags"
+msgstr "identificar o estado do ficheiro com tags"
+
+#: builtin/ls-files.c:429
+msgid "use lowercase letters for 'assume unchanged' files"
+msgstr ""
+"usar letras minΓΊsculas para ficheiros 'assumido nΓ£o alterado' ('assume "
+"unchanged')"
+
+#: builtin/ls-files.c:431
+msgid "show cached files in the output (default)"
+msgstr "mostrar ficheiros em cache na saΓ­da"
+
+#: builtin/ls-files.c:433
+msgid "show deleted files in the output"
+msgstr "mostrar ficheiros eliminados na saΓ­da"
+
+#: builtin/ls-files.c:435
+msgid "show modified files in the output"
+msgstr "mostrar ficheiros modificados na saΓ­da"
+
+#: builtin/ls-files.c:437
+msgid "show other files in the output"
+msgstr "mostrar outros ficheiros na saΓ­da"
+
+#: builtin/ls-files.c:439
+msgid "show ignored files in the output"
+msgstr "mostrar ficheiros ignorados na saΓ­da"
+
+#: builtin/ls-files.c:442
+msgid "show staged contents' object name in the output"
+msgstr "mostrar nome de objetos com conteΓΊdo preparado, na saΓ­da"
+
+#: builtin/ls-files.c:444
+msgid "show files on the filesystem that need to be removed"
+msgstr ""
+"mostrar ficheiros no sistema de ficheiros que precisam de ser removidos"
+
+#: builtin/ls-files.c:446
+msgid "show 'other' directories' names only"
+msgstr "mostrar nomes de diretΓ³rios 'other' (outro)"
+
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "mostrar finais de linha dos ficheiros"
+
+#: builtin/ls-files.c:450
+msgid "don't show empty directories"
+msgstr "nΓ£o mostrar diretΓ³rios vazios"
+
+#: builtin/ls-files.c:453
+msgid "show unmerged files in the output"
+msgstr "mostrar ficheiros com versΓ΅es nΓ£o conciliadas, na saΓ­da"
+
+#: builtin/ls-files.c:455
+msgid "show resolve-undo information"
+msgstr "mostrar informaΓ§Γ£o de resolver-anular"
+
+#: builtin/ls-files.c:457
+msgid "skip files matching pattern"
+msgstr "ignorar ficheiros que correspondam ao padrΓ£o"
+
+#: builtin/ls-files.c:460
+msgid "exclude patterns are read from <file>"
+msgstr "ler padrΓ΅es de exclusΓ£o do <ficheiro>"
+
+#: builtin/ls-files.c:463
+msgid "read additional per-directory exclude patterns in <file>"
+msgstr "ler padrΓ΅es de exclusΓ£o por diretΓ³rio do <ficheiro>"
+
+#: builtin/ls-files.c:465
+msgid "add the standard git exclusions"
+msgstr "incluir as exclusΓ΅es standard do git"
+
+#: builtin/ls-files.c:468
+msgid "make the output relative to the project top directory"
+msgstr "mostrar os caminhos relativamente ao diretΓ³rio superior do projeto"
+
+#: builtin/ls-files.c:471
+msgid "if any <file> is not in the index, treat this as an error"
+msgstr "se um <ficheiro> nΓ£o estiver no Γ­ndice, tratar como erro"
+
+#: builtin/ls-files.c:472
+msgid "tree-ish"
+msgstr "Γ‘rvore"
+
+#: builtin/ls-files.c:473
+msgid "pretend that paths removed since <tree-ish> are still present"
+msgstr "fingir que os caminhos removidos desde <Γ‘rvore> ainda estΓ£o presentes"
+
+#: builtin/ls-files.c:475
+msgid "show debugging data"
+msgstr "mostrar dados de depuraΓ§Γ£o"
+
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repositΓ³rio> [<referΓͺncias>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "nΓ£o imprimir URL remoto"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "exec"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "caminho para git-upload-pack no servidor remoto"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "restringir-se a tags"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "restringir-se a cabeΓ§as"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "nΓ£o mostrar tags descascadas"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "ter url.<base>.insteadOf em conta"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "terminar com cΓ³digo de saΓ­da 2 se nΓ£o forem encontradas referΓͺncias"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "mostrar a referΓͺncia subjacente em adiΓ§Γ£o ao objeto por ela apontado"
+
+#: builtin/ls-tree.c:28
+msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
+msgstr "git ls-tree [<opΓ§Γ΅es>] <Γ‘rvore> [<caminho>...]"
+
+#: builtin/ls-tree.c:128
+msgid "only show trees"
+msgstr "mostrar apenas Γ‘rvores"
+
+#: builtin/ls-tree.c:130
+msgid "recurse into subtrees"
+msgstr "percorrer as subΓ‘rvores recursivamente"
+
+#: builtin/ls-tree.c:132
+msgid "show trees when recursing"
+msgstr "mostrar Γ‘rvores ao percorrer"
-#: builtin/merge.c:127
+#: builtin/ls-tree.c:135
+msgid "terminate entries with NUL byte"
+msgstr "terminar entradas com o byte NUL"
+
+#: builtin/ls-tree.c:136
+msgid "include object size"
+msgstr "incluir dimensΓ£o dos objetos"
+
+#: builtin/ls-tree.c:138 builtin/ls-tree.c:140
+msgid "list only filenames"
+msgstr "listar apenas os nomes de ficheiro"
+
+#: builtin/ls-tree.c:143
+msgid "use full path names"
+msgstr "usar nomes de caminho completos"
+
+#: builtin/ls-tree.c:145
+msgid "list entire tree; not just current directory (implies --full-name)"
+msgstr ""
+"mostrar a Γ‘rvore completa; nΓ£o apenas o diretΓ³rio atual (implica --full-name)"
+
+#: builtin/merge.c:45
+msgid "git merge [<options>] [<commit>...]"
+msgstr "git merge [<opΓ§Γ΅es>] [<commit>...]"
+
+#: builtin/merge.c:46
+msgid "git merge [<options>] <msg> HEAD <commit>"
+msgstr "git merge [<opΓ§Γ΅es>] <msg> HEAD <commit>"
+
+#: builtin/merge.c:47
+msgid "git merge --abort"
+msgstr "git merge --abort"
+
+#: builtin/merge.c:100
+msgid "switch `m' requires a value"
+msgstr "a opΓ§Γ£o 'm' requer um valor"
+
+#: builtin/merge.c:137
#, c-format
msgid "Could not find merge strategy '%s'.\n"
-msgstr ""
+msgstr "EstratΓ©gia de merge '%s' nΓ£o encontrada.\n"
-#: builtin/merge.c:128
+#: builtin/merge.c:138
#, c-format
msgid "Available strategies are:"
-msgstr "As estratΓ©gias disponΓ­veis sΓ£o:"
+msgstr "EstratΓ©gias disponΓ­veis:"
-#: builtin/merge.c:133
+#: builtin/merge.c:143
#, c-format
msgid "Available custom strategies are:"
-msgstr "EstratΓ©gias personalizadas disponΓ­veis sΓ£o:"
+msgstr "EstratΓ©gias personalizadas disponΓ­veis:"
-#: builtin/merge.c:240
-msgid "could not run stash."
+#: builtin/merge.c:193 builtin/pull.c:123
+msgid "do not show a diffstat at the end of the merge"
+msgstr "nΓ£o apresentar um diffstat no final do merge"
+
+#: builtin/merge.c:196 builtin/pull.c:126
+msgid "show a diffstat at the end of the merge"
+msgstr "mostrar um diffstat no final do merge"
+
+#: builtin/merge.c:197 builtin/pull.c:129
+msgid "(synonym to --stat)"
+msgstr "(sinΓ³nimo de --stat)"
+
+#: builtin/merge.c:199 builtin/pull.c:132
+msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr ""
+"adicionar (no mΓ‘ximo <n>) entradas do shortlog Γ  mensagem de commit do merge"
+
+#: builtin/merge.c:202 builtin/pull.c:135
+msgid "create a single commit instead of doing a merge"
+msgstr "criar um ΓΊnico commit em vez de realizar um merge"
+
+#: builtin/merge.c:204 builtin/pull.c:138
+msgid "perform a commit if the merge succeeds (default)"
+msgstr "realizar um commit se o merge for bem sucedido (predefiniΓ§Γ£o)"
+
+#: builtin/merge.c:206 builtin/pull.c:141
+msgid "edit message before committing"
+msgstr "editar a mensagem antes de realizar commit"
+
+#: builtin/merge.c:207
+msgid "allow fast-forward (default)"
+msgstr "permitir avanΓ§o rΓ‘pido (predefiniΓ§Γ£o)"
+
+#: builtin/merge.c:209 builtin/pull.c:147
+msgid "abort if fast-forward is not possible"
+msgstr "abortar se nΓ£o Γ© possΓ­vel efetuar avanΓ§o rΓ‘pido"
+
+#: builtin/merge.c:213
+msgid "Verify that the named commit has a valid GPG signature"
+msgstr "verificar se o commit tem uma assinatura GPG vΓ‘lida"
+
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
+#: builtin/revert.c:89
+msgid "strategy"
+msgstr "estratΓ©gia"
+
+#: builtin/merge.c:215 builtin/pull.c:153
+msgid "merge strategy to use"
+msgstr "estratΓ©gia de merge a usar"
+
+#: builtin/merge.c:216 builtin/pull.c:156
+msgid "option=value"
+msgstr "opΓ§Γ£o=valor"
-#: builtin/merge.c:245
+#: builtin/merge.c:217 builtin/pull.c:157
+msgid "option for selected merge strategy"
+msgstr "opΓ§Γ΅es para a estratΓ©gia de merge selecionada"
+
+#: builtin/merge.c:219
+msgid "merge commit message (for a non-fast-forward merge)"
+msgstr "mensagem de commit (de merge nΓ£o suscetΓ­vel a avanΓ§o rΓ‘pido)"
+
+#: builtin/merge.c:223
+msgid "abort the current in-progress merge"
+msgstr "abortar merge em curso"
+
+#: builtin/merge.c:251
+msgid "could not run stash."
+msgstr "nΓ£o foi possΓ­vel executar o comando stash."
+
+#: builtin/merge.c:256
msgid "stash failed"
-msgstr "falhou o stash"
+msgstr "falha ao executar o comando stash"
-#: builtin/merge.c:250
+#: builtin/merge.c:261
#, c-format
msgid "not a valid object: %s"
-msgstr ""
+msgstr "nome de objeto invΓ‘lido: %s"
-#: builtin/merge.c:269
-#: builtin/merge.c:286
+#: builtin/merge.c:280 builtin/merge.c:297
msgid "read-tree failed"
-msgstr ""
+msgstr "falha ao executar o comando read-tree"
-#: builtin/merge.c:316
+#: builtin/merge.c:327
msgid " (nothing to squash)"
-msgstr " (nada para squash)"
+msgstr " (nΓ£o hΓ‘ nada para esmagar)"
-#: builtin/merge.c:329
+#: builtin/merge.c:340
#, c-format
msgid "Squash commit -- not updating HEAD\n"
-msgstr ""
+msgstr "Commit esmagado -- HEAD nΓ£o atualizada\n"
+
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
+#, c-format
+msgid "Could not write to '%s'"
+msgstr "NΓ£o foi possΓ­vel escrever em '%s'"
-#: builtin/merge.c:361
+#: builtin/merge.c:372
msgid "Writing SQUASH_MSG"
-msgstr "Escrevendo SQUASH_MSG"
+msgstr "A escrever SQUASH_MSG"
-#: builtin/merge.c:363
+#: builtin/merge.c:374
msgid "Finishing SQUASH_MSG"
-msgstr "Terminando SQUASH_MSG"
+msgstr "A concluir SQUASH_MSG"
-#: builtin/merge.c:386
+#: builtin/merge.c:397
#, c-format
msgid "No merge message -- not updating HEAD\n"
-msgstr ""
+msgstr "Sem mensagem de merge -- HEAD nΓ£o atualizada\n"
-#: builtin/merge.c:437
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
-msgstr ""
+msgstr "'%s' nΓ£o aponta para um commit"
-#: builtin/merge.c:536
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
-msgstr ""
-
-#: builtin/merge.c:629
-msgid "git write-tree failed to write a tree"
-msgstr ""
-
-#: builtin/merge.c:679
-msgid "failed to read the cache"
-msgstr ""
-
-#: builtin/merge.c:697
-msgid "Unable to write index."
-msgstr ""
+msgstr "Valor de branch.%s.mergeoptions incorreto: %s"
-#: builtin/merge.c:710
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
-msgstr ""
+msgstr "A processar exclusivamente merge de duas cabeΓ§as."
-#: builtin/merge.c:724
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
-msgstr ""
+msgstr "OpΓ§Γ£o desconhecida de merge-recursive: -X%s"
-#: builtin/merge.c:738
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel escrever %s"
-#: builtin/merge.c:877
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel ler '%s'"
-#: builtin/merge.c:886
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
-msgstr "NΓ£o commitando um merge; usa 'git commit' para completar o merge.\n"
+msgstr ""
+"Commit do merge nΓ£o realizado; use 'git commit' para concluir o merge.\n"
-#: builtin/merge.c:892
+#: builtin/merge.c:788
+#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
"especially if it merges an updated upstream into a topic branch.\n"
"\n"
-"Lines starting with '#' will be ignored, and an empty message aborts\n"
+"Lines starting with '%c' will be ignored, and an empty message aborts\n"
"the commit.\n"
msgstr ""
+"Introduza uma mensagem de commit, explicando por que este merge Γ© "
+"necessΓ‘rio,\n"
+"sobretudo se incorpora um ramo a montante atualizado, com um ramo tΓ³pico.\n"
+"\n"
+"Linhas comeΓ§adas com '%c' sΓ£o ignoradas, e uma mensagem vazia\n"
+"aborta o commit.\n"
-#: builtin/merge.c:916
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "Mensagem de commit vazia."
-#: builtin/merge.c:928
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
-msgstr "Fastastico.\n"
+msgstr "Maravilhoso.\n"
-#: builtin/merge.c:993
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr ""
+"Falha ao realizar merge automΓ‘tico; corrija os conflitos e faΓ§a commit do "
+"resultado.\n"
-#: builtin/merge.c:1009
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "'%s' nΓ£o Γ© um commit"
-#: builtin/merge.c:1050
+#: builtin/merge.c:936
msgid "No current branch."
-msgstr "Nenhuma rama actual"
+msgstr "Nenhum ramo atual."
-#: builtin/merge.c:1052
+#: builtin/merge.c:938
msgid "No remote for the current branch."
-msgstr ""
+msgstr "NΓ£o hΓ‘ um remoto para o ramo atual."
-#: builtin/merge.c:1054
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
-msgstr ""
+msgstr "NΓ£o estΓ‘ definido nenhum ramo a montante para o ramo atual."
-#: builtin/merge.c:1059
+#: builtin/merge.c:945
#, c-format
-msgid "No remote tracking branch for %s from %s"
-msgstr ""
+msgid "No remote-tracking branch for %s from %s"
+msgstr "Nenhum ramo remoto seguido por %s de %s"
-#: builtin/merge.c:1146
-#: builtin/merge.c:1303
+#: builtin/merge.c:1080
#, c-format
-msgid "%s - not something we can merge"
-msgstr ""
+msgid "could not close '%s'"
+msgstr "nΓ£o foi possΓ­vel fechar '%s'"
-#: builtin/merge.c:1214
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
-msgstr ""
+msgstr "NΓ£o hΓ‘ nenhum merge para abortar (MERGE_HEAD nΓ£o presente)."
-#: builtin/merge.c:1230
-#: git-pull.sh:31
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
-"Please, commit your changes before you can merge."
-msgstr ""
-
-#: builtin/merge.c:1233
-#: git-pull.sh:34
-msgid "You have not concluded your merge (MERGE_HEAD exists)."
+"Please, commit your changes before you merge."
msgstr ""
+"Merge nΓ£o concluΓ­do (MERGE_HEAD presente).\n"
+"FaΓ§a commit das suas alteraΓ§Γ΅es antes de realizar merge."
-#: builtin/merge.c:1237
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
-"Please, commit your changes before you can merge."
+"Please, commit your changes before you merge."
msgstr ""
+"Cherry-pick nΓ£o concluΓ­do (CHERRY_PICK_HEAD presente).\n"
+"FaΓ§a commit das suas alteraΓ§Γ΅es antes de realizar merge."
-#: builtin/merge.c:1240
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
-msgstr ""
+msgstr "Cherry-pick nΓ£o concluΓ­do (CHERRY_PICK_HEAD presente)."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel combinar --squash e --no-ff."
-#: builtin/merge.c:1254
-msgid "You cannot combine --no-ff with --ff-only."
-msgstr ""
-
-#: builtin/merge.c:1261
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
+msgstr "Nenhum commit especificado e merge.defaultToUpstream nΓ£o definido."
+
+#: builtin/merge.c:1267
+msgid "Squash commit into empty head not supported yet"
+msgstr "Esmagar um commit numa cabeΓ§a vazia ainda nΓ£o Γ© suportado"
+
+#: builtin/merge.c:1269
+msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr ""
+"NΓ£o faz sentido efetuar commit nΓ£o suscetΓ­vel a avanΓ§o rΓ‘pido, numa cabeΓ§a "
+"vazia"
-#: builtin/merge.c:1293
+#: builtin/merge.c:1275
+#, c-format
+msgid "%s - not something we can merge"
+msgstr "%s - nΓ£o Γ© algo suscetΓ­vel a merge"
+
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
-msgstr ""
+msgstr "SΓ³ Γ© possΓ­vel realizar merge de exatamente um commit numa cabeΓ§a vazia"
-#: builtin/merge.c:1296
-msgid "Squash commit into empty head not supported yet"
+#: builtin/merge.c:1332
+#, c-format
+msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr ""
+"A assinatura GPG do commit %s, alegadamente assinada por %s, nΓ£o Γ© de "
+"confianΓ§a."
-#: builtin/merge.c:1298
-msgid "Non-fast-forward commit does not make sense into an empty head"
+#: builtin/merge.c:1335
+#, c-format
+msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr ""
+"A assinatura GPG do commit %s, alegadamente assinada por %s, estΓ‘ incorreta."
+
+#: builtin/merge.c:1338
+#, c-format
+msgid "Commit %s does not have a GPG signature."
+msgstr "O commit %s nΓ£o tem uma assinatura GPG."
-#: builtin/merge.c:1413
+#: builtin/merge.c:1341
+#, c-format
+msgid "Commit %s has a good GPG signature by %s\n"
+msgstr "A assinatura GPG do commit %s por %s estΓ‘ correta\n"
+
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
-msgstr "Actualizando %s..%s\n"
+msgstr "A atualizar %s..%s\n"
-#: builtin/merge.c:1451
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
-msgstr ""
+msgstr "A tentar merge mesmo trivial no interior do Γ­ndice...\n"
-#: builtin/merge.c:1458
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "NΓ£o.\n"
-#: builtin/merge.c:1490
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel avanΓ§ar rapidamente, a abortar."
-#: builtin/merge.c:1513
-#: builtin/merge.c:1592
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
-msgstr ""
+msgstr "A recuar a Γ‘rvore ao seu estado original...\n"
-#: builtin/merge.c:1517
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
-msgstr ""
+msgstr "A tentar a estratΓ©gia de merge %s...\n"
-#: builtin/merge.c:1583
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
-msgstr ""
+msgstr "Nenhuma estratΓ©gia de merge conseguiu processar o merge.\n"
-#: builtin/merge.c:1585
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
-msgstr "Fundir com a estratΓ©gia %s falhou.\n"
+msgstr "Falha ao realizar merge com a estratΓ©gia %s.\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
-msgstr ""
+msgstr "A usar %s para preparar resoluΓ§Γ£o manual.\n"
-#: builtin/merge.c:1606
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
+"O merge automΓ‘tico foi bem sucedido; interrompido antes de realizar commit "
+"como pretendido\n"
-#: builtin/mv.c:108
-#, c-format
-msgid "Checking rename of '%s' to '%s'\n"
+#: builtin/merge-base.c:29
+msgid "git merge-base [-a | --all] <commit> <commit>..."
+msgstr "git merge-base [-a | --all] <commit> <commit>..."
+
+#: builtin/merge-base.c:30
+msgid "git merge-base [-a | --all] --octopus <commit>..."
+msgstr "git merge-base [-a | --all] --octopus <commit>..."
+
+#: builtin/merge-base.c:31
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <commit>..."
+
+#: builtin/merge-base.c:32
+msgid "git merge-base --is-ancestor <commit> <commit>"
+msgstr "git merge-base --is-ancestor <commit> <commit>"
+
+#: builtin/merge-base.c:33
+msgid "git merge-base --fork-point <ref> [<commit>]"
+msgstr "git merge-base --fork-point <referΓͺncia> [<commit>]"
+
+#: builtin/merge-base.c:214
+msgid "output all common ancestors"
+msgstr "mostrar todos os antecessores"
+
+#: builtin/merge-base.c:216
+msgid "find ancestors for a single n-way merge"
+msgstr "encontrar antecessores de um ΓΊnico merge com n pontos"
+
+#: builtin/merge-base.c:218
+msgid "list revs not reachable from others"
+msgstr "listar revisΓ΅es nΓ£o alcanΓ§Γ‘veis a partir de outras"
+
+#: builtin/merge-base.c:220
+msgid "is the first one ancestor of the other?"
+msgstr "o primeiro Γ© antecessor do segundo?"
+
+#: builtin/merge-base.c:222
+msgid "find where <commit> forked from reflog of <ref>"
+msgstr ""
+"descobrir aonde foi que o <commit> divergiu usando o reflog da <referΓͺncia>"
+
+#: builtin/merge-file.c:8
+msgid ""
+"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> "
+"<orig-file> <file2>"
+msgstr ""
+"git merge-file [<opΓ§Γ΅es>] [-L <nome1> [-L <orig> [-L <nome2>]]] <ficheiro1> "
+"<ficheiro-orig> <ficheiro2>"
+
+#: builtin/merge-file.c:33
+msgid "send results to standard output"
+msgstr "enviar resultados para a saΓ­da padrΓ£o"
+
+#: builtin/merge-file.c:34
+msgid "use a diff3 based merge"
+msgstr "usar merge baseado em diff3"
+
+#: builtin/merge-file.c:35
+msgid "for conflicts, use our version"
+msgstr "usar a nossa versΓ£o em caso de conflito"
+
+#: builtin/merge-file.c:37
+msgid "for conflicts, use their version"
+msgstr "usar a versΓ£o deles em caso de conflito"
+
+#: builtin/merge-file.c:39
+msgid "for conflicts, use a union version"
+msgstr "usar a uniΓ£o das versΓ΅es em caso de conflito"
+
+#: builtin/merge-file.c:42
+msgid "for conflicts, use this marker size"
+msgstr "usar este comprimento de marcador para os conflitos"
+
+#: builtin/merge-file.c:43
+msgid "do not warn about conflicts"
+msgstr "nΓ£o alertar sobre conflitos"
+
+#: builtin/merge-file.c:45
+msgid "set labels for file1/orig-file/file2"
+msgstr "definir identificares para ficheiro1/ficheiro-orig/ficheiro2"
+
+#: builtin/mktree.c:65
+msgid "git mktree [-z] [--missing] [--batch]"
+msgstr "git mktree [-z] [--missing] [--batch]"
+
+#: builtin/mktree.c:152
+msgid "input is NUL terminated"
+msgstr "a entrada termina com NUL"
+
+#: builtin/mktree.c:153 builtin/write-tree.c:24
+msgid "allow missing objects"
+msgstr "permitir objetos nΓ£o presentes"
+
+#: builtin/mktree.c:154
+msgid "allow creation of more than one tree"
+msgstr "permitir a criaΓ§Γ£o de mais do que uma Γ‘rvore"
+
+#: builtin/mv.c:15
+msgid "git mv [<options>] <source>... <destination>"
+msgstr "git mv [<opΓ§Γ΅es>] <origem>... <destino>"
+
+#: builtin/mv.c:70
+#, fuzzy, c-format
+msgid "Directory %s is in index and no submodule?"
+msgstr "O diretΓ³rio %s estΓ‘ no Γ­ndice mas nΓ£o no submΓ³dulo?"
+
+#: builtin/mv.c:72
+msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr ""
+"Prepare as suas alteraΓ§Γ΅es em .gitmodules ou esconda-as (stash) para "
+"prosseguir"
+
+#: builtin/mv.c:90
+#, c-format
+msgid "%.*s is in index"
+msgstr "%.*s estΓ‘ no Γ­ndice"
#: builtin/mv.c:112
+msgid "force move/rename even if target exists"
+msgstr "forΓ§ar mover/mudar o nome mesmo que o destino exista"
+
+#: builtin/mv.c:113
+msgid "skip move/rename errors"
+msgstr "ignorar erros ao mover/mudar o nome"
+
+#: builtin/mv.c:152
+#, c-format
+msgid "destination '%s' is not a directory"
+msgstr "o destino '%s' nΓ£o Γ© um diretΓ³rio"
+
+#: builtin/mv.c:163
+#, c-format
+msgid "Checking rename of '%s' to '%s'\n"
+msgstr "A verificar a mudanΓ§a de nome de '%s' para '%s'\n"
+
+#: builtin/mv.c:167
msgid "bad source"
-msgstr "fonte invΓ‘lida"
+msgstr "origem incorreta"
-#: builtin/mv.c:115
+#: builtin/mv.c:170
msgid "can not move directory into itself"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel mover um diretΓ³rio para dentro de si prΓ³prio"
-#: builtin/mv.c:118
+#: builtin/mv.c:173
msgid "cannot move directory over file"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel mover um diretΓ³rio para um ficheiro"
-#: builtin/mv.c:128
-#, c-format
-msgid "Huh? %.*s is in index?"
-msgstr ""
-
-#: builtin/mv.c:140
+#: builtin/mv.c:182
msgid "source directory is empty"
-msgstr "o directorio fonte estΓ‘ vazio"
+msgstr "o diretΓ³rio de origem estΓ‘ vazio"
-#: builtin/mv.c:171
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "nΓ£o estΓ‘ no controlo de versΓ΅es"
-#: builtin/mv.c:173
+#: builtin/mv.c:210
msgid "destination exists"
-msgstr "existe destino"
+msgstr "o destino jΓ‘ existe"
-#: builtin/mv.c:181
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
-msgstr "subscrevendo '%s'"
+msgstr "a substituir '%s'"
-#: builtin/mv.c:184
+#: builtin/mv.c:221
msgid "Cannot overwrite"
-msgstr "NΓ£o consegue subscrever"
+msgstr "NΓ£o Γ© possΓ­vel substituir"
-#: builtin/mv.c:187
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
-msgstr "mΓΊltiplas fontes para o mesmo alvo"
+msgstr "mΓΊltiplas origens para o mesmo destino"
+
+#: builtin/mv.c:226
+msgid "destination directory does not exist"
+msgstr "o diretΓ³rio de destino nΓ£o existe"
-#: builtin/mv.c:202
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
-msgstr ""
+msgstr "%s, origem=%s, destino=%s"
-#: builtin/mv.c:212
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
-msgstr "Mudar de nome %s para %s\n"
+msgstr "A mudar de nome de %s para %s\n"
-#: builtin/mv.c:215
-#: builtin/remote.c:731
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
-msgstr "mudar de nome '%s' falhou"
+msgstr "falha ao mudar o nome de '%s'"
-#: builtin/notes.c:139
-#, c-format
-msgid "unable to start 'show' for object '%s'"
+#: builtin/name-rev.c:251
+msgid "git name-rev [<options>] <commit>..."
+msgstr "git name-rev [<opΓ§Γ΅es>] <commit>..."
+
+#: builtin/name-rev.c:252
+msgid "git name-rev [<options>] --all"
+msgstr "git name-rev [<opΓ§Γ΅es>] --all"
+
+#: builtin/name-rev.c:253
+msgid "git name-rev [<options>] --stdin"
+msgstr "git name-rev [<opΓ§Γ΅es>] --stdin"
+
+#: builtin/name-rev.c:305
+msgid "print only names (no SHA-1)"
+msgstr "imprimir apenas nomes (sem SHA-1)"
+
+#: builtin/name-rev.c:306
+msgid "only use tags to name the commits"
+msgstr "usar apenas tags para designar commits"
+
+#: builtin/name-rev.c:308
+msgid "only use refs matching <pattern>"
+msgstr "usar apenas referΓͺncia que correspondam ao <padrΓ£o>"
+
+#: builtin/name-rev.c:310
+msgid "list all commits reachable from all refs"
+msgstr "listar todos os commits alcanΓ§Γ‘veis a partir de todas as referΓͺncias"
+
+#: builtin/name-rev.c:311
+msgid "read from stdin"
+msgstr "ler da entrada padrΓ£o"
+
+#: builtin/name-rev.c:312
+msgid "allow to print `undefined` names (default)"
+msgstr "permitir imprimir nomes 'indefinidos' (predefiniΓ§Γ£o)"
+
+#: builtin/name-rev.c:318
+msgid "dereference tags in the input (internal use)"
+msgstr "desreferenciar tags na entrada (uso interno)"
+
+#: builtin/notes.c:25
+msgid "git notes [--ref <notes-ref>] [list [<object>]]"
+msgstr "git notes [--ref <notes-ref>] [list [<objeto>]]"
+
+#: builtin/notes.c:26
+msgid ""
+"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> "
+"| (-c | -C) <object>] [<object>]"
msgstr ""
+"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F "
+"<ficheiro> | (-c | -C) <objeto>] [<objeto>]"
+
+#: builtin/notes.c:27
+msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
+msgstr "git notes [--ref <notes-ref>] copy [-f] <de-objeto> <para-objeto>"
-#: builtin/notes.c:145
-msgid "can't fdopen 'show' output fd"
+#: builtin/notes.c:28
+msgid ""
+"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | "
+"(-c | -C) <object>] [<object>]"
msgstr ""
+"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F "
+"<ficheiro> | (-c | -C) <objeto>] [<objeto>]"
-#: builtin/notes.c:155
-#, c-format
-msgid "failed to close pipe to 'show' for object '%s'"
+#: builtin/notes.c:29
+msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
+msgstr "git notes [--ref <notes-ref>] edit [--allow-empty] [<objeto>]"
+
+#: builtin/notes.c:30
+msgid "git notes [--ref <notes-ref>] show [<object>]"
+msgstr "git notes [--ref <notes-ref>] show [<objeto>]"
+
+#: builtin/notes.c:31
+msgid ""
+"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"
msgstr ""
+"git notes [--ref <notes-ref>] merge [-v | -q] [-s <estratΓ©gia>] <notes-ref>"
+
+#: builtin/notes.c:32
+msgid "git notes merge --commit [-v | -q]"
+msgstr "git notes merge --commit [-v | -q]"
+
+#: builtin/notes.c:33
+msgid "git notes merge --abort [-v | -q]"
+msgstr "git notes merge --abort [-v | -q]"
+
+#: builtin/notes.c:34
+msgid "git notes [--ref <notes-ref>] remove [<object>...]"
+msgstr "git notes [--ref <notes-ref>] remove [<objeto>...]"
+
+#: builtin/notes.c:35
+msgid "git notes [--ref <notes-ref>] prune [-n | -v]"
+msgstr "git notes [--ref <notes-ref>] prune [-n | -v]"
+
+#: builtin/notes.c:36
+msgid "git notes [--ref <notes-ref>] get-ref"
+msgstr "git notes [--ref <notes-ref>] get-ref"
+
+#: builtin/notes.c:41
+msgid "git notes [list [<object>]]"
+msgstr "git notes [list [<objeto>]]"
+
+#: builtin/notes.c:46
+msgid "git notes add [<options>] [<object>]"
+msgstr "git notes add [<opΓ§Γ΅es>] [<objeto>]"
+
+#: builtin/notes.c:51
+msgid "git notes copy [<options>] <from-object> <to-object>"
+msgstr "git notes copy [<opΓ§Γ΅es>] <de-objeto> <para-objeto>"
+
+#: builtin/notes.c:52
+msgid "git notes copy --stdin [<from-object> <to-object>]..."
+msgstr "git notes copy --stdin [<de-objeto> <para-objeto>]..."
+
+#: builtin/notes.c:57
+msgid "git notes append [<options>] [<object>]"
+msgstr "git notes append [<opΓ§Γ΅es>] [<objeto>]"
+
+#: builtin/notes.c:62
+msgid "git notes edit [<object>]"
+msgstr "git notes edit [<objeto>]"
-#: builtin/notes.c:158
+#: builtin/notes.c:67
+msgid "git notes show [<object>]"
+msgstr "git notes show [<objeto>]"
+
+#: builtin/notes.c:72
+msgid "git notes merge [<options>] <notes-ref>"
+msgstr "git notes merge [<opΓ§Γ΅es>] <notes-ref>"
+
+#: builtin/notes.c:73
+msgid "git notes merge --commit [<options>]"
+msgstr "git notes merge --commit [<opΓ§Γ΅es>]"
+
+#: builtin/notes.c:74
+msgid "git notes merge --abort [<options>]"
+msgstr "git notes merge --abort [<opΓ§Γ΅es>]"
+
+#: builtin/notes.c:79
+msgid "git notes remove [<object>]"
+msgstr "git notes remove [<objeto>]"
+
+#: builtin/notes.c:84
+msgid "git notes prune [<options>]"
+msgstr "git notes prune [<optΓ§Γ΅es>]"
+
+#: builtin/notes.c:89
+msgid "git notes get-ref"
+msgstr "git notes get-ref"
+
+#: builtin/notes.c:147
+#, c-format
+msgid "unable to start 'show' for object '%s'"
+msgstr "nΓ£o foi possΓ­vel iniciar o comando 'show' sobre o objeto '%s'"
+
+#: builtin/notes.c:151
+msgid "could not read 'show' output"
+msgstr "nΓ£o foi possΓ­vel ler a saΓ­da do comando 'show'"
+
+#: builtin/notes.c:159
#, c-format
msgid "failed to finish 'show' for object '%s'"
-msgstr ""
+msgstr "falha ao concluir o comando 'show' sobre o objeto '%s'"
-#: builtin/notes.c:175
-#: builtin/tag.c:347
+#: builtin/notes.c:174 builtin/tag.c:248
#, c-format
msgid "could not create file '%s'"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel criar o ficheiro '%s'"
-#: builtin/notes.c:189
+#: builtin/notes.c:193
msgid "Please supply the note contents using either -m or -F option"
-msgstr ""
-
-#: builtin/notes.c:210
-#: builtin/notes.c:973
-#, c-format
-msgid "Removing note for object %s\n"
-msgstr ""
+msgstr "ForneΓ§a o conteΓΊdo da nota usando a opΓ§Γ£o -m ou -F"
-#: builtin/notes.c:215
+#: builtin/notes.c:202
msgid "unable to write note object"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel escrever o objeto de nota"
-#: builtin/notes.c:217
+#: builtin/notes.c:204
#, c-format
-msgid "The note contents has been left in %s"
-msgstr ""
+msgid "The note contents have been left in %s"
+msgstr "O conteΓΊdo da nota foi guardado em %s"
-#: builtin/notes.c:251
-#: builtin/tag.c:542
+#: builtin/notes.c:232 builtin/tag.c:440
#, c-format
msgid "cannot read '%s'"
-msgstr "nΓ£o consegue ler '%s'"
+msgstr "nΓ£o Γ© possΓ­vel ler '%s'"
-#: builtin/notes.c:253
-#: builtin/tag.c:545
+#: builtin/notes.c:234 builtin/tag.c:443
#, c-format
msgid "could not open or read '%s'"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel abrir ou ler '%s'"
-#: builtin/notes.c:272
-#: builtin/notes.c:445
-#: builtin/notes.c:447
-#: builtin/notes.c:507
-#: builtin/notes.c:561
-#: builtin/notes.c:644
-#: builtin/notes.c:649
-#: builtin/notes.c:724
-#: builtin/notes.c:766
-#: builtin/notes.c:968
-#: builtin/reset.c:293
-#: builtin/tag.c:558
+#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
-msgstr ""
+msgstr "Falha ao resolver '%s' numa referΓͺncia vΓ‘lida."
-#: builtin/notes.c:275
+#: builtin/notes.c:256
#, c-format
msgid "Failed to read object '%s'."
-msgstr ""
+msgstr "Falha ao ler o objeto '%s'."
-#: builtin/notes.c:299
-msgid "Cannot commit uninitialized/unreferenced notes tree"
-msgstr ""
+#: builtin/notes.c:260
+#, c-format
+msgid "Cannot read note data from non-blob object '%s'."
+msgstr "NΓ£o Γ© possΓ­vel ler os dados da nota de um objeto nΓ£o-blob '%s'."
+
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
+msgid "too many parameters"
+msgstr "demasiados parΓ’metros"
-#: builtin/notes.c:340
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
-msgid "Bad notes.rewriteMode value: '%s'"
-msgstr ""
+msgid "No note found for object %s."
+msgstr "A nota do objeto %s nΓ£o foi encontrada."
+
+#: builtin/notes.c:396 builtin/notes.c:559
+msgid "note contents as a string"
+msgstr "conteΓΊdo da nota sob a forma de cadeia de caracteres"
-#: builtin/notes.c:350
+#: builtin/notes.c:399 builtin/notes.c:562
+msgid "note contents in a file"
+msgstr "conteΓΊdo da nota de um ficheiro"
+
+#: builtin/notes.c:402 builtin/notes.c:565
+msgid "reuse and edit specified note object"
+msgstr "reutilizar e editar o objeto de nota especificado"
+
+#: builtin/notes.c:405 builtin/notes.c:568
+msgid "reuse specified note object"
+msgstr "reutilizar o objeto de nota especificado"
+
+#: builtin/notes.c:408 builtin/notes.c:571
+msgid "allow storing empty note"
+msgstr "permitir guardar uma nota vazia"
+
+#: builtin/notes.c:409 builtin/notes.c:480
+msgid "replace existing notes"
+msgstr "substituir notas existentes"
+
+#: builtin/notes.c:434
#, c-format
-msgid "Refusing to rewrite notes in %s (outside of refs/notes/)"
+msgid ""
+"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
+"existing notes"
msgstr ""
+"NΓ£o Γ© possΓ­vel adicionar notas. Notas do objeto %s encontradas. Use '-f' "
+"para substituΓ­-las."
-#. TRANSLATORS: The first %s is the name of the
-#. environment variable, the second %s is its value
-#: builtin/notes.c:377
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
-msgid "Bad %s value: '%s'"
-msgstr "InvΓ‘lido %s valor: '%s'"
+msgid "Overwriting existing notes for object %s\n"
+msgstr "A substituir as notas existentes do objeto %s\n"
-#: builtin/notes.c:441
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
-msgid "Malformed input line: '%s'."
+msgid "Removing note for object %s\n"
+msgstr "A remover a nota do objeto %s\n"
+
+#: builtin/notes.c:481
+msgid "read objects from stdin"
+msgstr "ler objetos da entrada padrΓ£o"
+
+#: builtin/notes.c:483
+msgid "load rewriting config for <command> (implies --stdin)"
+msgstr "carregar configuraΓ§Γ£o de reescrita do <comando> (implica --stdin)"
+
+#: builtin/notes.c:501
+msgid "too few parameters"
+msgstr "parΓ’metros insuficientes"
+
+#: builtin/notes.c:522
+#, c-format
+msgid ""
+"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
+"existing notes"
msgstr ""
+"NΓ£o Γ© possΓ­vel copiar notas. Notas do objeto %s encontradas. Use '-f' para "
+"substituΓ­-las."
-#: builtin/notes.c:456
+#: builtin/notes.c:534
#, c-format
-msgid "Failed to copy notes from '%s' to '%s'"
+msgid "Missing notes on source object %s. Cannot copy."
+msgstr "NΓ£o existem notas no objeto de origem %s. NΓ£o Γ© possΓ­vel copiar."
+
+#: builtin/notes.c:586
+#, c-format
+msgid ""
+"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
+"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
msgstr ""
+"As opΓ§Γ΅es -m/-F/-c/-C sΓ£o obsoletas no subcomando 'edit'.\n"
+"Use 'git notes add -f -m/-F/-c/-C' em seu lugar.\n"
-#: builtin/notes.c:500
-#: builtin/notes.c:554
-#: builtin/notes.c:627
-#: builtin/notes.c:639
-#: builtin/notes.c:712
-#: builtin/notes.c:759
-#: builtin/notes.c:1033
-msgid "too many parameters"
-msgstr "demasiado parametros"
+#: builtin/notes.c:767
+msgid "General options"
+msgstr "OpΓ§Γ΅es gerais"
-#: builtin/notes.c:513
-#: builtin/notes.c:772
+#: builtin/notes.c:769
+msgid "Merge options"
+msgstr "OpΓ§Γ΅es de merge"
+
+#: builtin/notes.c:771
+msgid ""
+"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
+"cat_sort_uniq)"
+msgstr ""
+"resolver conflitos nas notas usando a estratΓ©gia indicada (manual/ours/"
+"theirs/union/cat_sort_uniq)"
+
+#: builtin/notes.c:773
+msgid "Committing unmerged notes"
+msgstr "Efetuar commit de notas nΓ£o integradas"
+
+#: builtin/notes.c:775
+msgid "finalize notes merge by committing unmerged notes"
+msgstr "concluir merge de notas, fazendo commit de notas nΓ£o integradas"
+
+#: builtin/notes.c:777
+msgid "Aborting notes merge resolution"
+msgstr "Abortar resoluΓ§Γ΅es de merge das notas"
+
+#: builtin/notes.c:779
+msgid "abort notes merge"
+msgstr "abortar merge das notas"
+
+#: builtin/notes.c:856
#, c-format
-msgid "No note found for object %s."
-msgstr "Nenhuma nota encontrada para o objecto %s."
+msgid "A notes merge into %s is already in-progress at %s"
+msgstr "Merge das notas em %s jΓ‘ estΓ‘ em curso em %s"
-#: builtin/notes.c:580
+#: builtin/notes.c:883
#, c-format
-msgid "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite existing notes"
-msgstr ""
+msgid "Object %s has no note\n"
+msgstr "O objeto %s nΓ£o tem nenhuma nota\n"
+
+#: builtin/notes.c:895
+msgid "attempt to remove non-existent note is not an error"
+msgstr "nΓ£o considerar como erro a remoΓ§Γ£o de uma nota nΓ£o existente"
+
+#: builtin/notes.c:898
+msgid "read object names from the standard input"
+msgstr "ler nome dos objetos da entrada padrΓ£o"
+
+#: builtin/notes.c:979
+msgid "notes-ref"
+msgstr "notes-ref"
+
+#: builtin/notes.c:980
+msgid "use notes from <notes-ref>"
+msgstr "usar notas de <notes-ref>"
-#: builtin/notes.c:585
-#: builtin/notes.c:662
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
-msgid "Overwriting existing notes for object %s\n"
+msgid "Unknown subcommand: %s"
+msgstr "Subcomando desconhecido: %s"
+
+#: builtin/pack-objects.c:28
+msgid ""
+"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
msgstr ""
+"git pack-objects --stdout [<opΓ§Γ΅es>...] [< <lista-referΓͺncias> | < <lista-"
+"objetos>]"
-#: builtin/notes.c:635
-msgid "too few parameters"
+#: builtin/pack-objects.c:29
+msgid ""
+"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
+"git pack-objects [<opΓ§Γ΅es>...] <nome-base> [< <lista-referΓͺncias> | < <lista-"
+"objetos>]"
-#: builtin/notes.c:656
+#: builtin/pack-objects.c:175 builtin/pack-objects.c:178
#, c-format
-msgid "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite existing notes"
+msgid "deflate error (%d)"
+msgstr "erro ao compactar (%d)"
+
+#: builtin/pack-objects.c:772
+msgid "Writing objects"
+msgstr "A escrever objetos"
+
+#: builtin/pack-objects.c:1012
+msgid "disabling bitmap writing, as some objects are not being packed"
msgstr ""
+"a desativar escrita de mapa de bits, visto que alguns objetos nΓ£o estΓ£o a "
+"ser compactados"
+
+#: builtin/pack-objects.c:2172
+msgid "Compressing objects"
+msgstr "A comprimir objetos"
-#: builtin/notes.c:668
+#: builtin/pack-objects.c:2558
#, c-format
-msgid "Missing notes on source object %s. Cannot copy."
+msgid "unsupported index version %s"
+msgstr "versΓ£o de Γ­ndice %s nΓ£o suportada"
+
+#: builtin/pack-objects.c:2562
+#, c-format
+msgid "bad index version '%s'"
+msgstr "versΓ£o de Γ­ndice '%s' incorreta"
+
+#: builtin/pack-objects.c:2592
+msgid "do not show progress meter"
+msgstr "nΓ£o mostrar medidor de progresso"
+
+#: builtin/pack-objects.c:2594
+msgid "show progress meter"
+msgstr "mostrar medidor de progresso"
+
+#: builtin/pack-objects.c:2596
+msgid "show progress meter during object writing phase"
+msgstr "mostrar medidor de progresso durante a fase de escrita de objetos"
+
+#: builtin/pack-objects.c:2599
+msgid "similar to --all-progress when progress meter is shown"
+msgstr "semelhante a --all-progress quando o medidor de progresso Γ© mostrado"
+
+#: builtin/pack-objects.c:2600
+msgid "version[,offset]"
+msgstr "versΓ£o[,offset]"
+
+#: builtin/pack-objects.c:2601
+msgid "write the pack index file in the specified idx format version"
+msgstr ""
+"escrever o ficheiro de Γ­ndice do pacote na versΓ£o de formato especificada"
+
+#: builtin/pack-objects.c:2604
+msgid "maximum size of each output pack file"
+msgstr "tamanho mΓ‘ximo de cada ficheiro de pacote gerado"
+
+#: builtin/pack-objects.c:2606
+msgid "ignore borrowed objects from alternate object store"
+msgstr "ignorar objetos emprestados do arquivo de objetos alternate"
+
+#: builtin/pack-objects.c:2608
+msgid "ignore packed objects"
+msgstr "ignorar objetos compactados"
+
+#: builtin/pack-objects.c:2610
+msgid "limit pack window by objects"
+msgstr "limitar a janela de compactaΓ§Γ£o por objetos"
+
+#: builtin/pack-objects.c:2612
+msgid "limit pack window by memory in addition to object limit"
msgstr ""
+"limitar a janela de compactaΓ§Γ£o por memΓ³ria em adiΓ§Γ£o ao limite por objetos"
+
+#: builtin/pack-objects.c:2614
+msgid "maximum length of delta chain allowed in the resulting pack"
+msgstr "tamanho mΓ‘ximo de cadeias delta permitidas no pacote resultante"
+
+#: builtin/pack-objects.c:2616
+msgid "reuse existing deltas"
+msgstr "reutilizar deltas existentes"
+
+#: builtin/pack-objects.c:2618
+msgid "reuse existing objects"
+msgstr "reutilizar objetos existentes"
+
+#: builtin/pack-objects.c:2620
+msgid "use OFS_DELTA objects"
+msgstr "usar objetos OFS_DELTA"
+
+#: builtin/pack-objects.c:2622
+msgid "use threads when searching for best delta matches"
+msgstr "usar threads ao procurar pela melhor correspondΓͺncia delta"
+
+#: builtin/pack-objects.c:2624
+msgid "do not create an empty pack output"
+msgstr "nΓ£o criar um pacote vazio"
+
+#: builtin/pack-objects.c:2626
+msgid "read revision arguments from standard input"
+msgstr "ler argumentos de revisΓ£o da entrada padrΓ£o"
+
+#: builtin/pack-objects.c:2628
+msgid "limit the objects to those that are not yet packed"
+msgstr "restringir-se aos objetos que ainda nΓ£o foram compactados"
+
+#: builtin/pack-objects.c:2631
+msgid "include objects reachable from any reference"
+msgstr "incluir objetos alcanΓ§Γ‘veis a partir de qualquer referΓͺncia"
+
+#: builtin/pack-objects.c:2634
+msgid "include objects referred by reflog entries"
+msgstr "incluir objetos referenciados por entradas do reflog"
+
+#: builtin/pack-objects.c:2637
+msgid "include objects referred to by the index"
+msgstr "incluir objetos referenciados pelo Γ­ndice"
+
+#: builtin/pack-objects.c:2640
+msgid "output pack to stdout"
+msgstr "gerar pacote para a saΓ­da padrΓ£o"
+
+#: builtin/pack-objects.c:2642
+msgid "include tag objects that refer to objects to be packed"
+msgstr "incluir objetos tag que refiram objetos a compactar"
+
+#: builtin/pack-objects.c:2644
+msgid "keep unreachable objects"
+msgstr "manter objetos inalcanΓ§Γ‘veis"
+
+#: builtin/pack-objects.c:2645 parse-options.h:142
+msgid "time"
+msgstr "hora"
+
+#: builtin/pack-objects.c:2646
+msgid "unpack unreachable objects newer than <time>"
+msgstr "descompactar objetos inalcanΓ§Γ‘veis mais recentes que <hora>"
+
+#: builtin/pack-objects.c:2649
+msgid "create thin packs"
+msgstr "criar pacotes finos"
+
+#: builtin/pack-objects.c:2651
+msgid "create packs suitable for shallow fetches"
+msgstr "criar pacotes adequados para obter em repositΓ³rios pouco profundos"
+
+#: builtin/pack-objects.c:2653
+msgid "ignore packs that have companion .keep file"
+msgstr "ignorar pacotes que tenham um ficheiro .keep"
+
+#: builtin/pack-objects.c:2655
+msgid "pack compression level"
+msgstr "nΓ­vel de compactaΓ§Γ£o do pacote"
+
+#: builtin/pack-objects.c:2657
+msgid "do not hide commits by grafts"
+msgstr "nΓ£o esconder commits introduzidos por enxertos"
+
+#: builtin/pack-objects.c:2659
+msgid "use a bitmap index if available to speed up counting objects"
+msgstr ""
+"usar um Γ­ndice de mapa de bits se disponΓ­vel, para acelerar a contagem de "
+"objetos"
+
+#: builtin/pack-objects.c:2661
+msgid "write a bitmap index together with the pack index"
+msgstr "escrever um Γ­ndice de mapa de bits juntamente com o Γ­ndice do pacote"
-#: builtin/notes.c:717
+#: builtin/pack-objects.c:2752
+msgid "Counting objects"
+msgstr "A contar objetos"
+
+#: builtin/pack-refs.c:6
+msgid "git pack-refs [<options>]"
+msgstr "git pack-refs [<opΓ§Γ΅es>]"
+
+#: builtin/pack-refs.c:14
+msgid "pack everything"
+msgstr "compactar tudo"
+
+#: builtin/pack-refs.c:15
+msgid "prune loose refs (default)"
+msgstr "eliminar referΓͺncias soltas (predefiniΓ§Γ£o)"
+
+#: builtin/prune-packed.c:7
+msgid "git prune-packed [-n | --dry-run] [-q | --quiet]"
+msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]"
+
+#: builtin/prune-packed.c:40
+msgid "Removing duplicate objects"
+msgstr "A remover objetos duplicados"
+
+#: builtin/prune.c:11
+msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]"
+msgstr "git prune [-n] [-v] [--expire <hora>] [--] [<head>...]"
+
+#: builtin/prune.c:105 builtin/worktree.c:124
+msgid "do not remove, show only"
+msgstr "nΓ£o remover, mostrar apenas"
+
+#: builtin/prune.c:106 builtin/worktree.c:125
+msgid "report pruned objects"
+msgstr "apresentar objetos eliminados"
+
+#: builtin/prune.c:109 builtin/worktree.c:127
+msgid "expire objects older than <time>"
+msgstr "expirar objetos mais antigos que <hora>"
+
+#: builtin/prune.c:123
+msgid "cannot prune in a precious-objects repo"
+msgstr "nΓ£o Γ© possΓ­vel limpar num repositΓ³rio de objetos-preciosos"
+
+#: builtin/pull.c:72
+msgid "git pull [<options>] [<repository> [<refspec>...]]"
+msgstr "git pull [<opΓ§Γ΅es>] [<repositΓ³rio> [<especificador-de-referΓͺncia>...]]"
+
+#: builtin/pull.c:117
+msgid "Options related to merging"
+msgstr "OpΓ§Γ΅es relacionadas com merge"
+
+#: builtin/pull.c:120
+msgid "incorporate changes by rebasing rather than merging"
+msgstr "incorporar alteraΓ§Γ΅es por rebase em vez de merge"
+
+#: builtin/pull.c:144 builtin/revert.c:105
+msgid "allow fast-forward"
+msgstr "permitir avanΓ§o rΓ‘pido"
+
+#: builtin/pull.c:150
+msgid "verify that the named commit has a valid GPG signature"
+msgstr "verificar se o commit tem uma assinatura GPG vΓ‘lida"
+
+#: builtin/pull.c:164
+msgid "Options related to fetching"
+msgstr "OpΓ§Γ΅es relacionadas com obtenΓ§Γ£o de objetos"
+
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "nΓΊmero de submΓ³dulos obtidos em paralelo"
+
+#: builtin/pull.c:275
#, c-format
+msgid "Invalid value for pull.ff: %s"
+msgstr "Valor invΓ‘lido de pull.ff: %s"
+
+#: builtin/pull.c:359
+msgid "Cannot pull with rebase: You have unstaged changes."
+msgstr "NΓ£o Γ© possΓ­vel efetuar pull com rebase: tem alteraΓ§Γ΅es nΓ£o preparadas."
+
+#: builtin/pull.c:365
+msgid "Additionally, your index contains uncommitted changes."
+msgstr "AlΓ©m disso, o Γ­ndice contΓ©m alteraΓ§Γ΅es pendentes para commit."
+
+#: builtin/pull.c:367
+msgid "Cannot pull with rebase: Your index contains uncommitted changes."
+msgstr ""
+"NΓ£o Γ© possΓ­vel efetuar pull com rebase: o Γ­ndice contΓ©m alteraΓ§Γ΅es pendentes "
+"para commit."
+
+#: builtin/pull.c:443
msgid ""
-"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
-"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
+"There is no candidate for rebasing against among the refs that you just "
+"fetched."
msgstr ""
+"NΓ£o hΓ‘ nenhum candidato com o qual realizar rebase de entre as referΓͺncias "
+"que se acabaram de obter."
-#: builtin/notes.c:971
-#, c-format
-msgid "Object %s has no note\n"
+#: builtin/pull.c:445
+msgid ""
+"There are no candidates for merging among the refs that you just fetched."
msgstr ""
+"NΓ£o hΓ‘ nenhum candidato com o qual realizar merge de entre as referΓͺncias "
+"que se acabaram obter."
-#: builtin/notes.c:1103
-#: builtin/remote.c:1598
-#, c-format
-msgid "Unknown subcommand: %s"
+#: builtin/pull.c:446
+msgid ""
+"Generally this means that you provided a wildcard refspec which had no\n"
+"matches on the remote end."
msgstr ""
+"Geralmente, significa que forneceu um especificador de referΓͺncia\n"
+"com um carΓ‘cter universal (wildcard) que nΓ£o corresponde a nenhum remoto."
-#: builtin/pack-objects.c:2315
+#: builtin/pull.c:449
#, c-format
-msgid "unsupported index version %s"
+msgid ""
+"You asked to pull from the remote '%s', but did not specify\n"
+"a branch. Because this is not the default configured remote\n"
+"for your current branch, you must specify a branch on the command line."
msgstr ""
+"Solicitou pull do remoto '%s', mas nΓ£o especificou um ramo.\n"
+"Uma vez que este nΓ£o Γ© o remoto configurado por omissΓ£o,\n"
+"deve especificar um ramo na linha de comandos."
+
+#: builtin/pull.c:454
+msgid "You are not currently on a branch."
+msgstr "NΓ£o se encontra em nenhum ramo de momento."
+
+#: builtin/pull.c:456 builtin/pull.c:471
+msgid "Please specify which branch you want to rebase against."
+msgstr "Especifique o ramo sobre o qual pretende realizar rebase."
+
+#: builtin/pull.c:458 builtin/pull.c:473
+msgid "Please specify which branch you want to merge with."
+msgstr "Especifique o ramo com o qual pretende realizar merge."
+
+#: builtin/pull.c:459 builtin/pull.c:474
+msgid "See git-pull(1) for details."
+msgstr "Consulte git-pull(1) para obter mais detalhes."
+
+#: builtin/pull.c:469
+msgid "There is no tracking information for the current branch."
+msgstr "O ramo atual nΓ£o segue nenhum ramo."
-#: builtin/pack-objects.c:2319
+#: builtin/pull.c:478
#, c-format
-msgid "bad index version '%s'"
+msgid ""
+"If you wish to set tracking information for this branch you can do so with:\n"
+"\n"
+" git branch --set-upstream-to=%s/<branch> %s\n"
msgstr ""
+"Se deseja definir um ramo para este ramo seguir, pode fazΓͺ-lo com:\n"
+"\n"
+" git branch --set-upstream-to=%s/<ramo> %s\n"
-#: builtin/pack-objects.c:2342
+#: builtin/pull.c:483
#, c-format
-msgid "option %s does not accept negative form"
-msgstr "opΓ§Γ£o %s nΓ£o aceita formato negativo"
+msgid ""
+"Your configuration specifies to merge with the ref '%s'\n"
+"from the remote, but no such ref was fetched."
+msgstr ""
+"A configuraΓ§Γ£o indica para efetuar merge com a referΓͺncia '%s'\n"
+"do remoto, mas esta ainda nΓ£o foi obtida."
-#: builtin/pack-objects.c:2346
+#: builtin/pull.c:841
+msgid "Updating an unborn branch with changes added to the index."
+msgstr ""
+"A atualizar um ramo que ainda nΓ£o foi criado e com alteraΓ§Γ΅es adicionadas ao "
+"Γ­ndice."
+
+#: builtin/pull.c:870
#, c-format
-msgid "unable to parse value '%s' for option %s"
+msgid ""
+"fetch updated the current branch head.\n"
+"fast-forwarding your working tree from\n"
+"commit %s."
msgstr ""
+"o fetch atualizou a cabeΓ§a do ramo atual.\n"
+"a avanΓ§ar a Γ‘rvore de trabalho a partir do\n"
+"commit %s."
-#: builtin/push.c:45
+#: builtin/pull.c:875
+#, c-format
+msgid ""
+"Cannot fast-forward your working tree.\n"
+"After making sure that you saved anything precious from\n"
+"$ git diff %s\n"
+"output, run\n"
+"$ git reset --hard\n"
+"to recover."
+msgstr ""
+"NΓ£o Γ© possΓ­vel avanΓ§ar rapidamente a Γ‘rvore de trabalho.\n"
+"Depois de guardar todas as alteraΓ§Γ΅es importantes indicadas por\n"
+"$ git diff %s\n"
+"execute\n"
+"$ git reset --hard\n"
+"para recuperar."
+
+#: builtin/pull.c:890
+msgid "Cannot merge multiple branches into empty head."
+msgstr "NΓ£o Γ© possΓ­vel efetuar merge de mΓΊltiplos ramos numa cabeΓ§a vazia."
+
+#: builtin/pull.c:894
+msgid "Cannot rebase onto multiple branches."
+msgstr "NΓ£o Γ© possΓ­vel efetuar rebase sobre mΓΊltiplos ramos."
+
+#: builtin/push.c:16
+msgid "git push [<options>] [<repository> [<refspec>...]]"
+msgstr "git push [<opΓ§Γ΅es>] [<repositΓ³rio> [<especificador-de-referΓͺncia>...]]"
+
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
-msgstr ""
+msgstr "forma abreviada de tag sem <tag>"
-#: builtin/push.c:64
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
-msgstr "--delete sΓ³ aceita nomes simples para o ref de destino"
+msgstr "--delete sΓ³ aceita nomes simples como referΓͺncias de destino"
-#: builtin/push.c:99
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
msgstr ""
+"\n"
+"Para escolher uma opΓ§Γ£o permanentemente, consulte push.default em 'git help "
+"config'."
-#: builtin/push.c:102
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -3682,8 +9148,17 @@ msgid ""
" git push %s %s\n"
"%s"
msgstr ""
+"O ramo a montante do ramo atual nΓ£o coincide com o nome do ramo atual.\n"
+"Para publicar no ramo a montante no remoto, use\n"
+"\n"
+" git push %s HEAD:%s\n"
+"\n"
+"Para publicar no ramo com o mesmo nome no remoto, use\n"
+"\n"
+" git push %s %s\n"
+"%s"
-#: builtin/push.c:121
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -3692,8 +9167,13 @@ msgid ""
"\n"
" git push %s HEAD:<name-of-remote-branch>\n"
msgstr ""
+"NΓ£o se encontra em nenhum ramo neste momento.\n"
+"Para publicar o histΓ³rico que conduziu ao estado atual (de HEAD\n"
+"destacada), use\n"
+"\n"
+" git push %s HEAD:<name-of-remote-branch>\n"
-#: builtin/push.c:128
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -3701,67 +9181,108 @@ msgid ""
"\n"
" git push --set-upstream %s %s\n"
msgstr ""
+"O ramo atual %s nΓ£o tem nenhum ramo a montante.\n"
+"Para publicar o ramo atual e definir o remoto a montante, use\n"
+"\n"
+" git push --set-upstream %s %s\n"
-#: builtin/push.c:136
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr ""
+"O ramo atual %s tem mΓΊltiplos ramos a montante, recusando-se a publicar."
-#: builtin/push.c:139
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
"your current branch '%s', without telling me what to push\n"
"to update which remote branch."
msgstr ""
+"O remoto '%s', no qual pretende publicar, nΓ£o Γ© o remoto a montante\n"
+"do ramo atual '%s'. Deve indicar o que pretende publicar e que ramo\n"
+"remoto atualizar."
-#: builtin/push.c:174
-msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"."
+#: builtin/push.c:242
+msgid ""
+"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr ""
+"NΓ£o indicou nenhum especificador de referΓͺncia para publicar e o valor de "
+"push.default Γ© \"nothing\"."
-#: builtin/push.c:181
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
-"its remote counterpart. Merge the remote changes (e.g. 'git pull')\n"
-"before pushing again.\n"
+"its remote counterpart. Integrate the remote changes (e.g.\n"
+"'git pull ...') before pushing again.\n"
"See the 'Note about fast-forwards' in 'git push --help' for details."
msgstr ""
+"As atualizaΓ§Γ΅es foram rejeitadas porque a ponta do ramo atual estΓ‘ atrasada\n"
+"em relaΓ§Γ£o ao homΓ³logo remoto. Integre as alteraΓ§Γ΅es remotas (e.g.\n"
+"'git pull ...') antes de publicar de novo.\n"
+"Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes."
-#: builtin/push.c:187
+#: builtin/push.c:255
msgid ""
"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. If you did not intend to push that branch, you may want to\n"
-"specify branches to push or set the 'push.default' configuration\n"
-"variable to 'current' or 'upstream' to push only the current branch."
+"counterpart. Check out this branch and integrate the remote changes\n"
+"(e.g. 'git pull ...') before pushing again.\n"
+"See the 'Note about fast-forwards' in 'git push --help' for details."
msgstr ""
+"As atualizaΓ§Γ΅es foram rejeitadas porque a ponta do ramo atual estΓ‘ atrasada\n"
+"em relaΓ§Γ£o ao homΓ³logo remoto. Extraia o ramo e integre\n"
+"as alteraΓ§Γ΅es remotas (e.g. 'git pull ...') antes de publicar de novo.\n"
+"Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes."
-#: builtin/push.c:193
+#: builtin/push.c:261
msgid ""
-"Updates were rejected because a pushed branch tip is behind its remote\n"
-"counterpart. Check out this branch and merge the remote changes\n"
-"(e.g. 'git pull') before pushing again.\n"
+"Updates were rejected because the remote contains work that you do\n"
+"not have locally. This is usually caused by another repository pushing\n"
+"to the same ref. You may want to first integrate the remote changes\n"
+"(e.g., 'git pull ...') before pushing again.\n"
"See the 'Note about fast-forwards' in 'git push --help' for details."
msgstr ""
+"As atualizaΓ§Γ΅es foram rejeitadas porque o remoto contΓ©m alteraΓ§Γ΅es que\n"
+"nΓ£o tem localmente. Habitualmente, acontece porque outro repositΓ³rio "
+"publicou\n"
+"na mesma referΓͺncia. Pode integrar primeiro as alteraΓ§Γ΅es remotas\n"
+"(e.g., 'git pull ...') antes de publicar de novo.\n"
+"Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes."
+
+#: builtin/push.c:268
+msgid "Updates were rejected because the tag already exists in the remote."
+msgstr "As atualizaΓ§Γ΅es foram rejeitadas porque a tag jΓ‘ existe no remoto."
+
+#: builtin/push.c:271
+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"
+"without using the '--force' option.\n"
+msgstr ""
+"NΓ£o Γ© possΓ­vel atualizar uma referΓͺncia remota que aponte para um\n"
+"objeto nΓ£o commit, ou atualizar uma referΓͺncia remota fazendo-a\n"
+"apontar para um objeto nΓ£o commit, sem usar a opΓ§Γ£o '--force'.\n"
-#: builtin/push.c:233
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
-msgstr "Pushing para %s\n"
+msgstr "A publicar em %s\n"
-#: builtin/push.c:237
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
-msgstr ""
+msgstr "falha ao publicar algumas referΓͺncias em '%s'"
-#: builtin/push.c:269
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
-msgstr "repositorio invΓ‘lido '%s'"
+msgstr "repositΓ³rio '%s' incorreto"
-#: builtin/push.c:270
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
-"Either specify the URL from the command-line or configure a remote repository using\n"
+"Either specify the URL from the command-line or configure a remote "
+"repository using\n"
"\n"
" git remote add <name> <url>\n"
"\n"
@@ -3769,154 +9290,399 @@ msgid ""
"\n"
" git push <name>\n"
msgstr ""
+"Destino de publicaΓ§Γ£o nΓ£o definido.\n"
+"Indique um URL na linha de comandos ou configure um repositΓ³rio remoto "
+"usando\n"
+"\n"
+" git remote add <nome> <url>\n"
+"\n"
+"e publique usando o nome remoto\n"
+"\n"
+" git push <nome>\n"
-#: builtin/push.c:285
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
-msgstr "--all e --tags are sΓ£o incompatΓ­veis"
+msgstr "--all e --tags sΓ£o incompatΓ­veis"
-#: builtin/push.c:286
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
-msgstr ""
+msgstr "--all nΓ£o pode ser combinado com especificadores de referΓͺncias"
-#: builtin/push.c:291
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
-msgstr ""
+msgstr "--mirror e --tags sΓ£o incompatΓ­veis"
-#: builtin/push.c:292
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
-msgstr ""
+msgstr "--mirror nΓ£o pode ser combinado com especificadores de referΓͺncias"
-#: builtin/push.c:297
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
-msgstr ""
+msgstr "--all e --mirror sΓ£o incompatΓ­veis"
+
+#: builtin/push.c:505
+msgid "repository"
+msgstr "repositΓ³rio"
+
+#: builtin/push.c:506 builtin/send-pack.c:161
+msgid "push all refs"
+msgstr "publicar todas as referΓͺncias"
+
+#: builtin/push.c:507 builtin/send-pack.c:163
+msgid "mirror all refs"
+msgstr "replicar todas as referΓͺncias"
+
+#: builtin/push.c:509
+msgid "delete refs"
+msgstr "eliminar referΓͺncias"
+
+#: builtin/push.c:510
+msgid "push tags (can't be used with --all or --mirror)"
+msgstr "publicar tags (nΓ£o pode ser usado com --all ou --mirror)"
+
+#: builtin/push.c:513 builtin/send-pack.c:164
+msgid "force updates"
+msgstr "forΓ§ar atualizaΓ§Γ£o"
+
+#: builtin/push.c:515 builtin/send-pack.c:175
+msgid "refname>:<expect"
+msgstr "nome da referΓͺncia>:<esperado"
+
+#: builtin/push.c:516 builtin/send-pack.c:176
+msgid "require old value of ref to be at this value"
+msgstr "exigir que o antigo valor da referΓͺncia tenha este valor"
+
+#: builtin/push.c:519
+msgid "control recursive pushing of submodules"
+msgstr "controlar a publicaΓ§Γ£o recursiva de submΓ³dulos"
-#: builtin/push.c:385
+#: builtin/push.c:521 builtin/send-pack.c:169
+msgid "use thin pack"
+msgstr "usar pacote fino"
+
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
+#: builtin/send-pack.c:159
+msgid "receive pack program"
+msgstr "programa receive pack"
+
+#: builtin/push.c:524
+msgid "set upstream for git pull/status"
+msgstr "definir o ramo a montante usado com git pull/status"
+
+#: builtin/push.c:527
+msgid "prune locally removed refs"
+msgstr "eliminar referΓͺncias removidas localmente"
+
+#: builtin/push.c:529
+msgid "bypass pre-push hook"
+msgstr "ignorar pre-push hook"
+
+#: builtin/push.c:530
+msgid "push missing but relevant tags"
+msgstr "publicar tags perdidas mas relevantes"
+
+#: builtin/push.c:533 builtin/send-pack.c:166
+msgid "GPG sign the push"
+msgstr "assinar publicaΓ§Γ£o com GPG"
+
+#: builtin/push.c:535 builtin/send-pack.c:170
+msgid "request atomic transaction on remote side"
+msgstr "solicitar transaΓ§Γ£o atΓ³mica no servidor remoto"
+
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
-msgstr ""
+msgstr "--delete Γ© incompatΓ­vel com --all, --mirror e --tags"
-#: builtin/push.c:387
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
+msgstr "--delete nΓ£o faz sentido sem uma referΓͺncia"
+
+#: builtin/read-tree.c:37
+msgid ""
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
+"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--"
+"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefixo>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-"
+"sparse-checkout] [--index-output=<ficheiro>] (--empty | <Γ‘rvore1> [<Γ‘rvore2> "
+"[<Γ‘rvore3>]])"
+
+#: builtin/read-tree.c:110
+msgid "write resulting index to <file>"
+msgstr "escrever o Γ­ndice resultante no <ficheiro>"
-#: builtin/remote.c:98
+#: builtin/read-tree.c:113
+msgid "only empty the index"
+msgstr "apenas esvaziar o Γ­ndice"
+
+#: builtin/read-tree.c:115
+msgid "Merging"
+msgstr "A realizar merge"
+
+#: builtin/read-tree.c:117
+msgid "perform a merge in addition to a read"
+msgstr "realizar um merge em adiΓ§Γ£o a uma leitura"
+
+#: builtin/read-tree.c:119
+msgid "3-way merge if no file level merging required"
+msgstr ""
+"realizar merge com 3 pontos se o merge ao nΓ­vel dos ficheiros nΓ£o for "
+"necessΓ‘rio"
+
+#: builtin/read-tree.c:121
+msgid "3-way merge in presence of adds and removes"
+msgstr "realizar merge com 3 ponto na presenΓ§a de adiΓ§Γ΅es e remoΓ§Γ΅es"
+
+#: builtin/read-tree.c:123
+msgid "same as -m, but discard unmerged entries"
+msgstr "o mesmo que -m, mas descartar entradas nΓ£o integradas"
+
+#: builtin/read-tree.c:124
+msgid "<subdirectory>/"
+msgstr "<subdiretΓ³rio>/"
+
+#: builtin/read-tree.c:125
+msgid "read the tree into the index under <subdirectory>/"
+msgstr "ler a Γ‘rvore em <subdiretΓ³rio>/ para o Γ­ndice"
+
+#: builtin/read-tree.c:128
+msgid "update working tree with merge result"
+msgstr "atualizar a Γ‘rvore de trabalho com os resultados do merge"
+
+#: builtin/read-tree.c:130
+msgid "gitignore"
+msgstr "gitignore"
+
+#: builtin/read-tree.c:131
+msgid "allow explicitly ignored files to be overwritten"
+msgstr "permitir que os ficheiros explicitamente ignorados sejam substituΓ­dos"
+
+#: builtin/read-tree.c:134
+msgid "don't check the working tree after merging"
+msgstr "nΓ£o verificar a Γ‘rvore de trabalho depois de efetuar merge"
+
+#: builtin/read-tree.c:135
+msgid "don't update the index or the work tree"
+msgstr "nΓ£o atualizar o Γ­ndice ou a Γ‘rvore de trabalho"
+
+#: builtin/read-tree.c:137
+msgid "skip applying sparse checkout filter"
+msgstr "ignorar a aplicaΓ§Γ£o do filtro de extraΓ§Γ£o esparsa"
+
+#: builtin/read-tree.c:139
+msgid "debug unpack-trees"
+msgstr "depurar unpack-trees"
+
+#: builtin/reflog.c:423
+#, c-format
+msgid "'%s' for '%s' is not a valid timestamp"
+msgstr "'%s' em '%s' nΓ£o Γ© um carimbo de data/hora vΓ‘lido"
+
+#: builtin/reflog.c:540 builtin/reflog.c:545
+#, c-format
+msgid "'%s' is not a valid timestamp"
+msgstr "'%s' nΓ£o Γ© um carimbo de data/hora vΓ‘lido"
+
+#: builtin/remote.c:12
+msgid "git remote [-v | --verbose]"
+msgstr "git remote [-v | --verbose]"
+
+#: builtin/remote.c:13
+msgid ""
+"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
+"mirror=<fetch|push>] <name> <url>"
+msgstr ""
+"git remote add [-t <ramo>] [-m <master>] [-f] [--tags | --no-tags] [--"
+"mirror=<fetch|push>] <nome> <url>"
+
+#: builtin/remote.c:14 builtin/remote.c:34
+msgid "git remote rename <old> <new>"
+msgstr "git remote rename <antigo> <novo>"
+
+#: builtin/remote.c:15 builtin/remote.c:39
+msgid "git remote remove <name>"
+msgstr "git remote remove <nome>"
+
+#: builtin/remote.c:16 builtin/remote.c:44
+msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)"
+msgstr "git remote set-head <nome> (-a | --auto | -d | --delete | <ramo>)"
+
+#: builtin/remote.c:17
+msgid "git remote [-v | --verbose] show [-n] <name>"
+msgstr "git remote [-v | --verbose] show [-n] <nome>"
+
+#: builtin/remote.c:18
+msgid "git remote prune [-n | --dry-run] <name>"
+msgstr "git remote prune [-n | --dry-run] <nome>"
+
+#: builtin/remote.c:19
+msgid ""
+"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]"
+msgstr ""
+"git remote [-v | --verbose] update [-p | --prune] [(<grupo> | <remoto>)...]"
+
+#: builtin/remote.c:20
+msgid "git remote set-branches [--add] <name> <branch>..."
+msgstr "git remote set-branches [--add] <nome> <ramo>..."
+
+#: builtin/remote.c:21 builtin/remote.c:70
+msgid "git remote get-url [--push] [--all] <name>"
+msgstr "git remote get-url [--push] [--all] <nome>"
+
+#: builtin/remote.c:22 builtin/remote.c:75
+msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]"
+msgstr "git remote set-url [--push] <nome> <novo-url> [<url-antigo>]"
+
+#: builtin/remote.c:23 builtin/remote.c:76
+msgid "git remote set-url --add <name> <newurl>"
+msgstr "git remote set-url --add <nome> <novo-url>"
+
+#: builtin/remote.c:24 builtin/remote.c:77
+msgid "git remote set-url --delete <name> <url>"
+msgstr "git remote set-url --delete <nome> <url>"
+
+#: builtin/remote.c:29
+msgid "git remote add [<options>] <name> <url>"
+msgstr "git remote add [<opΓ§Γ΅es>] <nome> <url>"
+
+#: builtin/remote.c:49
+msgid "git remote set-branches <name> <branch>..."
+msgstr "git remote set-branches <nome> <ramo>..."
+
+#: builtin/remote.c:50
+msgid "git remote set-branches --add <name> <branch>..."
+msgstr "git remote set-branches --add <nome> <ramo>..."
+
+#: builtin/remote.c:55
+msgid "git remote show [<options>] <name>"
+msgstr "git remote show [<opΓ§Γ΅es>] <nome>"
+
+#: builtin/remote.c:60
+msgid "git remote prune [<options>] <name>"
+msgstr "git remote prune [<opΓ§Γ΅es>] <nome>"
+
+#: builtin/remote.c:65
+msgid "git remote update [<options>] [<group> | <remote>]..."
+msgstr "git remote update [<opΓ§Γ΅es>] [<grupo> | <remoto>]..."
+
+#: builtin/remote.c:94
#, c-format
msgid "Updating %s"
-msgstr "Actualizando %s"
+msgstr "A atualizar %s"
-#: builtin/remote.c:130
+#: builtin/remote.c:126
msgid ""
"--mirror is dangerous and deprecated; please\n"
"\t use --mirror=fetch or --mirror=push instead"
msgstr ""
+"--mirror Γ© perigoso e obsoleto;\n"
+"\t use --mirror=fetch ou --mirror=push"
-#: builtin/remote.c:147
+#: builtin/remote.c:143
#, c-format
msgid "unknown mirror argument: %s"
-msgstr "argumento mirror nΓ£o conhecido: %s"
+msgstr "argumento de mirror desconhecido: %s"
+
+#: builtin/remote.c:159
+msgid "fetch the remote branches"
+msgstr "obter os ramos remotos"
+
+#: builtin/remote.c:161
+msgid "import all tags and associated objects when fetching"
+msgstr "importar todas as tags e objetos associados ao obter"
+
+#: builtin/remote.c:164
+msgid "or do not fetch any tag at all (--no-tags)"
+msgstr "ou nΓ£o obter nenhuma tag (--no-tags)"
+
+#: builtin/remote.c:166
+msgid "branch(es) to track"
+msgstr "ramos a seguir"
+
+#: builtin/remote.c:167
+msgid "master branch"
+msgstr "ramo mestre"
+
+#: builtin/remote.c:168
+msgid "push|fetch"
+msgstr "push|fetch"
+
+#: builtin/remote.c:169
+msgid "set up remote as a mirror to push to or fetch from"
+msgstr "configurar o remoto como um espelho para publicar ou obter"
-#: builtin/remote.c:185
+#: builtin/remote.c:181
msgid "specifying a master branch makes no sense with --mirror"
-msgstr ""
+msgstr "especificar um ramo mestre nΓ£o faz sentido com --mirror"
-#: builtin/remote.c:187
+#: builtin/remote.c:183
msgid "specifying branches to track makes sense only with fetch mirrors"
-msgstr ""
+msgstr "especificar ramos para seguir sΓ³ faz sentido com fetch mirrors"
-#: builtin/remote.c:195
-#: builtin/remote.c:646
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
-msgstr "o remoto %s jΓ‘ existe"
+msgstr "o remoto %s jΓ‘ existe."
-#: builtin/remote.c:199
-#: builtin/remote.c:650
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
-msgstr "'%s' nΓ£o Γ© um nombe remoto valido"
+msgstr "'%s' nΓ£o Γ© um nome de remoto vΓ‘lido"
-#: builtin/remote.c:243
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
-msgstr "NΓ£o foi possΓ­vel configurar a rama master '%s'"
+msgstr "NΓ£o foi possΓ­vel configuraΓ§Γ£o o ramo mestre '%s'"
-#: builtin/remote.c:299
-#, c-format
-msgid "more than one %s"
-msgstr ""
-
-#: builtin/remote.c:339
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr ""
+"NΓ£o foi possΓ­vel obter o mapa de fetch do especificador de referΓͺncia %s"
-#: builtin/remote.c:440
-#: builtin/remote.c:448
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
-msgstr ""
+msgstr "(correspondente)"
-#: builtin/remote.c:452
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(eliminado)"
-#: builtin/remote.c:595
-#: builtin/remote.c:601
-#: builtin/remote.c:607
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "NΓ£o foi possΓ­vel adicionar o '%s' para o '%s'"
-
-#: builtin/remote.c:639
-#: builtin/remote.c:792
-#: builtin/remote.c:890
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
-msgstr ""
+msgstr "Remoto inexistente: %s"
-#: builtin/remote.c:656
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
-msgstr "NΓ£o foi possΓ­vel renombrar a secΓ§Γ£o da configuraΓ§Γ£o de '%s' para '%s'"
-
-#: builtin/remote.c:662
-#: builtin/remote.c:799
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "NΓ£o foi possΓ­vel remover a secΓ§Γ£o da configuraΓ§Γ£o '%s'"
+msgstr ""
+"NΓ£o foi possΓ­vel mudar o nome da secΓ§Γ£o de configuraΓ§Γ£o de '%s' para '%s'"
-#: builtin/remote.c:677
+#: builtin/remote.c:663
#, c-format
msgid ""
-"Not updating non-default fetch respec\n"
+"Not updating non-default fetch refspec\n"
"\t%s\n"
"\tPlease update the configuration manually if necessary."
msgstr ""
+"O seguinte especificador de referΓͺncia, nΓ£o-predefinido e usado para obter "
+"objetos, nΓ£o foi atualizado\n"
+"\t%s\n"
+"\tAtualize a configuraΓ§Γ£o manualmente se necessΓ‘rio."
-#: builtin/remote.c:683
-#, c-format
-msgid "Could not append '%s'"
-msgstr "NΓ£o foi possΓ­vel adicionar '%s'"
-
-#: builtin/remote.c:694
-#, c-format
-msgid "Could not set '%s'"
-msgstr "NΓ£o foi possΓ­vel atribuir '%s'"
-
-#: builtin/remote.c:716
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
-msgstr "falhou eliminar '%s'"
+msgstr "falha ao eliminar '%s'"
-#: builtin/remote.c:750
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
-msgstr "falhou a criar '%s'"
+msgstr "falha ao criar '%s'"
-#: builtin/remote.c:764
-#, c-format
-msgid "Could not remove branch %s"
-msgstr "NΓ£o foi possΓ­vel remover rama %s"
-
-#: builtin/remote.c:834
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -3924,1057 +9690,2752 @@ msgid_plural ""
"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n"
"to delete them, use:"
msgstr[0] ""
+"Nota: Um ramo fora da hierarquia refs/remotes/ nΓ£o foi removido;\n"
+"para o remover, use:"
msgstr[1] ""
+"Nota: alguns ramos fora da hierarquia refs/remotes/ nΓ£o foram removidos;\n"
+"para os remover, use:"
+
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "NΓ£o foi possΓ­vel remover a secΓ§Γ£o de configuraΓ§Γ£o '%s'"
-#: builtin/remote.c:943
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
-msgstr ""
+msgstr " novo (os prΓ³xima objetos obtidos serΓ£o guardados em remotes/%s)"
-#: builtin/remote.c:946
+#: builtin/remote.c:914
msgid " tracked"
-msgstr "seguido"
+msgstr " seguido"
-#: builtin/remote.c:948
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
-msgstr ""
+msgstr " obsoleto (use 'git remote prune' para remover)"
-#: builtin/remote.c:950
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:991
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr ""
+"branch.%s.merge invΓ‘lido; nΓ£o Γ© possΓ­vel realizar rebase sobre mais do que "
+"um ramo"
-#: builtin/remote.c:998
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr ""
+msgid "rebases interactively onto remote %s"
+msgstr "realiza rebase interativo sobre %s do remoto"
-#: builtin/remote.c:1001
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
-msgstr "Fundir com servidor remoto %s"
+msgstr " realiza merge com %s do remoto"
-#: builtin/remote.c:1002
+#: builtin/remote.c:972
msgid " and with remote"
-msgstr " e com remoto"
+msgstr " e com o remoto"
-#: builtin/remote.c:1004
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
-msgstr "Fundir com servidor remoto %s"
+msgstr "realiza merge com %s do remoto"
-#: builtin/remote.c:1005
+#: builtin/remote.c:975
msgid " and with remote"
-msgstr " e com remoto"
+msgstr " e com o remoto"
-#: builtin/remote.c:1051
+#: builtin/remote.c:1021
msgid "create"
-msgstr "creado"
+msgstr "criado"
-#: builtin/remote.c:1054
+#: builtin/remote.c:1024
msgid "delete"
msgstr "eliminado"
-#: builtin/remote.c:1058
+#: builtin/remote.c:1028
msgid "up to date"
-msgstr "actualizado"
+msgstr "atualizado"
-#: builtin/remote.c:1061
+#: builtin/remote.c:1031
msgid "fast-forwardable"
-msgstr "fast-forwardable"
+msgstr "pode ser avanΓ§ado rapidamente"
-#: builtin/remote.c:1064
+#: builtin/remote.c:1034
msgid "local out of date"
-msgstr "local desatualizada"
+msgstr "local desatualizado"
-#: builtin/remote.c:1071
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
-msgstr ""
+msgstr " %-*s forΓ§a em %-*s (%s)"
-#: builtin/remote.c:1074
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
-msgstr ""
+msgstr " %-*s publica em %-*s (%s)"
-#: builtin/remote.c:1078
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
-msgstr ""
+msgstr " %-*s forΓ§a em %s"
-#: builtin/remote.c:1081
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
-msgstr ""
+msgstr " %-*s publica em %s"
+
+#: builtin/remote.c:1119
+msgid "do not query remotes"
+msgstr "nΓ£o consultar remotos"
-#: builtin/remote.c:1118
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
-msgstr "* remota %s"
+msgstr "* remoto %s"
-#: builtin/remote.c:1119
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
-msgstr ""
+msgstr " Obter do URL: %s"
-#: builtin/remote.c:1120
-#: builtin/remote.c:1285
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(nenhum URL)"
-#: builtin/remote.c:1129
-#: builtin/remote.c:1131
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
-msgstr ""
+msgstr " Publicar no URL: %s"
-#: builtin/remote.c:1133
-#: builtin/remote.c:1135
-#: builtin/remote.c:1137
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
-msgstr "Rama HEAD: %s"
+msgstr " Ramo HEAD: %s"
-#: builtin/remote.c:1139
+#: builtin/remote.c:1167
#, c-format
-msgid " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
-msgstr ""
+msgid ""
+" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
+msgstr " Ramo HEAD (o remoto HEAD Γ© ambΓ­guo, pode ser um dos seguintes):\n"
-#: builtin/remote.c:1151
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
-msgstr[0] "Rama remota:%s"
-msgstr[1] "Ramas remotas:%s'"
+msgstr[0] " Ramo remoto:%s"
+msgstr[1] " Ramos remotos:%s"
-#: builtin/remote.c:1154
-#: builtin/remote.c:1181
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
-msgstr ""
+msgstr " (estado nΓ£o consultado)"
-#: builtin/remote.c:1163
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] " Ramo local configurado para 'git pull':"
+msgstr[1] " Ramos locais configurados para 'git pull':"
-#: builtin/remote.c:1171
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
-msgstr ""
+msgstr " ReferΓͺncias locais serΓ£o refletidas (mirror) por 'git push'"
-#: builtin/remote.c:1178
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] " ReferΓͺncia local configurada para 'git push'%s:"
+msgstr[1] " ReferΓͺncias locais configuradas para 'git push'%s:"
-#: builtin/remote.c:1216
+#: builtin/remote.c:1227
+msgid "set refs/remotes/<name>/HEAD according to remote"
+msgstr "definir refs/remotes/<nome>/HEAD de acordo com o remoto"
+
+#: builtin/remote.c:1229
+msgid "delete refs/remotes/<name>/HEAD"
+msgstr "eliminar refs/remotes/<nome>/HEAD"
+
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel determinar o remoto HEAD"
-#: builtin/remote.c:1218
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
-msgstr ""
+msgstr "MΓΊltiplos ramos HEAD remotos. Escolha um explicitamente com:"
-#: builtin/remote.c:1228
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
-msgstr "NΓ£o foi possΓ­vel abrir %s"
+msgstr "NΓ£o foi possΓ­vel eliminar %s"
-#: builtin/remote.c:1236
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
-msgstr ""
+msgstr "ReferΓͺncia invΓ‘lida: %s"
-#: builtin/remote.c:1238
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "NΓ£o foi possΓ­vel configurar %s"
-#: builtin/remote.c:1274
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
-msgstr ""
+msgstr " %s ficarΓ‘ suspenso!"
-#: builtin/remote.c:1275
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
-msgstr ""
+msgstr " %s ficou suspenso!"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
-msgstr "Apagando %s"
+msgstr "A eliminar %s"
-#: builtin/remote.c:1282
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: builtin/remote.c:1295
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
-msgstr ""
+msgstr " * [eliminaria] %s"
-#: builtin/remote.c:1298
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
-msgstr ""
+msgstr " * [eliminado] %s"
-#: builtin/remote.c:1387
-#: builtin/remote.c:1461
+#: builtin/remote.c:1360
+msgid "prune remotes after fetching"
+msgstr "eliminar remotos depois de obter"
+
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
-msgstr "NΓ£o existe este remoto '%s'"
+msgstr "Remoto inexistente '%s'"
+
+#: builtin/remote.c:1439
+msgid "add branch"
+msgstr "adicionar ramo"
-#: builtin/remote.c:1414
+#: builtin/remote.c:1446
msgid "no remote specified"
-msgstr "Nenhum remoto especificado"
+msgstr "nenhum remoto especificado"
+
+#: builtin/remote.c:1463
+msgid "query push URLs rather than fetch URLs"
+msgstr "consultar URLs de publicaΓ§Γ£o em vez de URLs utilizados para obter"
-#: builtin/remote.c:1447
+#: builtin/remote.c:1465
+msgid "return all URLs"
+msgstr "retornar todos os URLs"
+
+#: builtin/remote.c:1493
+#, c-format
+msgid "no URLs configured for remote '%s'"
+msgstr "o remoto '%s' nΓ£o tem nenhum URL configurado"
+
+#: builtin/remote.c:1519
+msgid "manipulate push URLs"
+msgstr "manipular URLs de publicaΓ§Γ£o"
+
+#: builtin/remote.c:1521
+msgid "add URL"
+msgstr "adicionar URL"
+
+#: builtin/remote.c:1523
+msgid "delete URLs"
+msgstr "eliminar URLs"
+
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
-msgstr ""
+msgstr "--add --delete nΓ£o faz sentido"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
-msgstr ""
+msgstr "PadrΓ£o de URL antigo invΓ‘lido: %s"
-#: builtin/remote.c:1495
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
-msgstr "Nenhum URL encontrado: %s"
+msgstr "URL nΓ£o encontrado: %s"
-#: builtin/remote.c:1497
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
+msgstr "NΓ£o Γ© possΓ­vel remover todos os URLs de nΓ£o publicaΓ§Γ£o"
+
+#: builtin/remote.c:1595
+msgid "be verbose; must be placed before a subcommand"
+msgstr "ser verboso; deve ser colocado antes de um subcomando"
+
+#: builtin/repack.c:17
+msgid "git repack [<options>]"
+msgstr "git repack [<opΓ§Γ΅es>]"
+
+#: builtin/repack.c:159
+msgid "pack everything in a single pack"
+msgstr "compactar tudo num ΓΊnico pacote"
+
+#: builtin/repack.c:161
+msgid "same as -a, and turn unreachable objects loose"
+msgstr "o mesmo que -a, e soltar objetos inalcanΓ§Γ‘veis"
+
+#: builtin/repack.c:164
+msgid "remove redundant packs, and run git-prune-packed"
+msgstr "remover pacotes redundantes e executar git-prune-packed"
+
+#: builtin/repack.c:166
+msgid "pass --no-reuse-delta to git-pack-objects"
+msgstr "passar --no-reuse-delta ao git-pack-objects"
+
+#: builtin/repack.c:168
+msgid "pass --no-reuse-object to git-pack-objects"
+msgstr "passar --no-reuse-object ao git-pack-objects"
+
+#: builtin/repack.c:170
+msgid "do not run git-update-server-info"
+msgstr "nΓ£o executar git-update-server-info"
+
+#: builtin/repack.c:173
+msgid "pass --local to git-pack-objects"
+msgstr "passar --local ao git-pack-objects"
+
+#: builtin/repack.c:175
+msgid "write bitmap index"
+msgstr "escrever Γ­ndice de mapa de bits"
+
+#: builtin/repack.c:176
+msgid "approxidate"
+msgstr "aproximar"
+
+#: builtin/repack.c:177
+msgid "with -A, do not loosen objects older than this"
+msgstr "com -A, nΓ£o soltar mais objetos alΓ©m destes"
+
+#: builtin/repack.c:179
+msgid "size of the window used for delta compression"
+msgstr "dimensΓ£o da janela usada em compressΓ£o de deltas"
+
+#: builtin/repack.c:180 builtin/repack.c:184
+msgid "bytes"
+msgstr "bytes"
+
+#: builtin/repack.c:181
+msgid "same as the above, but limit memory size instead of entries count"
+msgstr ""
+"o mesmo que o anterior, mas limitar a memΓ³ria usada em vez do nΓΊmero de "
+"entradas"
+
+#: builtin/repack.c:183
+msgid "limits the maximum delta depth"
+msgstr "limitar a profundidade mΓ‘xima de delta"
+
+#: builtin/repack.c:185
+msgid "maximum size of each packfile"
+msgstr "tamanho mΓ‘ximo de cada ficheiro de pacote"
+
+#: builtin/repack.c:187
+msgid "repack objects in packs marked with .keep"
+msgstr "reempacotar objetos em pacotes marcados com .keep"
+
+#: builtin/repack.c:197
+msgid "cannot delete packs in a precious-objects repo"
+msgstr "nΓ£o Γ© possΓ­vel eliminar pacotes num repositΓ³rio de objetos-preciosos"
+
+#: builtin/repack.c:381
+#, c-format
+msgid "removing '%s' failed"
+msgstr "falha ao remover '%s'"
+
+#: builtin/replace.c:19
+msgid "git replace [-f] <object> <replacement>"
+msgstr "git replace [-f] <objeto> <substituiΓ§Γ£o>"
+
+#: builtin/replace.c:20
+msgid "git replace [-f] --edit <object>"
+msgstr "git replace [-f] --edit <objeto>"
+
+#: builtin/replace.c:21
+msgid "git replace [-f] --graft <commit> [<parent>...]"
+msgstr "git replace [-f] --graft <commit> [<pai>...]"
+
+#: builtin/replace.c:22
+msgid "git replace -d <object>..."
+msgstr "git replace -d <objeto>..."
+
+#: builtin/replace.c:23
+msgid "git replace [--format=<format>] [-l [<pattern>]]"
+msgstr "git replace [--format=<formato>] [-l [<padrΓ£o>]]"
+
+#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391
+#, c-format
+msgid "Not a valid object name: '%s'"
+msgstr "Nome de objeto invΓ‘lido: '%s'"
+
+#: builtin/replace.c:355
+#, c-format
+msgid "bad mergetag in commit '%s'"
+msgstr "mergetag incorreta no commit '%s'"
+
+#: builtin/replace.c:357
+#, c-format
+msgid "malformed mergetag in commit '%s'"
+msgstr "mergetag malformada no commit '%s' "
+
+#: builtin/replace.c:368
+#, c-format
+msgid ""
+"original commit '%s' contains mergetag '%s' that is discarded; use --edit "
+"instead of --graft"
+msgstr ""
+"o commit original '%s' contΓ©m a mergetag '%s' que foi excluΓ­da; use --edit "
+"em vez de --graft"
+
+#: builtin/replace.c:401
+#, c-format
+msgid "the original commit '%s' has a gpg signature."
+msgstr "o commit original '%s' tem uma assinatura gpg."
+
+#: builtin/replace.c:402
+msgid "the signature will be removed in the replacement commit!"
+msgstr "a assinatura serΓ‘ removida do commit substituto!"
+
+#: builtin/replace.c:408
+#, c-format
+msgid "could not write replacement commit for: '%s'"
+msgstr "nΓ£o foi possΓ­vel escrever o commit substituto de: '%s'"
+
+#: builtin/replace.c:432
+msgid "list replace refs"
+msgstr "listar referΓͺncias substituΓ­das"
+
+#: builtin/replace.c:433
+msgid "delete replace refs"
+msgstr "eliminar referΓͺncias substituΓ­das"
+
+#: builtin/replace.c:434
+msgid "edit existing object"
+msgstr "editar objeto existente"
+
+#: builtin/replace.c:435
+msgid "change a commit's parents"
+msgstr "mudar os pais de um commit"
+
+#: builtin/replace.c:436
+msgid "replace the ref if it exists"
+msgstr "substituir a referΓͺncia se esta existir"
+
+#: builtin/replace.c:437
+msgid "do not pretty-print contents for --edit"
+msgstr "nΓ£o mostrar o conteΓΊdo de --edit com impressΓ£o bonita"
+
+#: builtin/replace.c:438
+msgid "use this format"
+msgstr "usar este formato"
+
+#: builtin/rerere.c:12
+msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
+msgstr ""
+"git rerere [clear | forget <caminho>... | status | remaining | diff | gc]"
+
+#: builtin/rerere.c:58
+msgid "register clean resolutions in index"
+msgstr "registar resoluΓ§Γ΅es limpas no Γ­ndice"
+
+#: builtin/reset.c:26
+msgid ""
+"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
msgstr ""
+"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"
-#: builtin/reset.c:33
+#: builtin/reset.c:27
+msgid "git reset [-q] <tree-ish> [--] <paths>..."
+msgstr "git reset [-q] <Γ‘rvore> [--] <caminhos>..."
+
+#: builtin/reset.c:28
+msgid "git reset --patch [<tree-ish>] [--] [<paths>...]"
+msgstr "git reset --patch [<Γ‘rvore>] [--] [<caminhos>...]"
+
+#: builtin/reset.c:34
msgid "mixed"
-msgstr "mistura"
+msgstr "misturado"
-#: builtin/reset.c:33
+#: builtin/reset.c:34
msgid "soft"
-msgstr "leve"
+msgstr "suave"
-#: builtin/reset.c:33
+#: builtin/reset.c:34
msgid "hard"
msgstr "forte"
-#: builtin/reset.c:33
+#: builtin/reset.c:34
msgid "merge"
-msgstr "juntar"
+msgstr "merge"
-#: builtin/reset.c:33
+#: builtin/reset.c:34
msgid "keep"
-msgstr "manter"
+msgstr "conservador"
-#: builtin/reset.c:77
+#: builtin/reset.c:74
msgid "You do not have a valid HEAD."
-msgstr "NΓ£o tens a HEAD vΓ‘lida."
+msgstr "HEAD invΓ‘lida."
-#: builtin/reset.c:79
+#: builtin/reset.c:76
msgid "Failed to find tree of HEAD."
-msgstr ""
+msgstr "Falha ao procurar Γ‘rvore de HEAD."
-#: builtin/reset.c:85
+#: builtin/reset.c:82
#, c-format
msgid "Failed to find tree of %s."
-msgstr ""
-
-#: builtin/reset.c:96
-msgid "Could not write new index file."
-msgstr ""
+msgstr "Falha ao procurar Γ‘rvore de %s."
-#: builtin/reset.c:106
+#: builtin/reset.c:100
#, c-format
msgid "HEAD is now at %s"
-msgstr "HEAD Γ© agora em %s"
+msgstr "HEAD estΓ‘ agora em %s"
-#: builtin/reset.c:130
-msgid "Could not read index"
-msgstr ""
+#: builtin/reset.c:183
+#, c-format
+msgid "Cannot do a %s reset in the middle of a merge."
+msgstr "NΓ£o Γ© possΓ­vel repor de modo %s durante um merge."
-#: builtin/reset.c:133
-msgid "Unstaged changes after reset:"
-msgstr ""
+#: builtin/reset.c:276
+msgid "be quiet, only report errors"
+msgstr "silencioso, sΓ³ reportar erros"
+
+#: builtin/reset.c:278
+msgid "reset HEAD and index"
+msgstr "repor HEAD e Γ­ndice"
-#: builtin/reset.c:223
+#: builtin/reset.c:279
+msgid "reset only HEAD"
+msgstr "repor HEAD apenas"
+
+#: builtin/reset.c:281 builtin/reset.c:283
+msgid "reset HEAD, index and working tree"
+msgstr "repor HEAD, Γ­ndice e Γ‘rvore de trabalho"
+
+#: builtin/reset.c:285
+msgid "reset HEAD but keep local changes"
+msgstr "repor HEAD mas conservar alteraΓ§Γ΅es locais"
+
+#: builtin/reset.c:288
+msgid "record only the fact that removed paths will be added later"
+msgstr "registar apenas o facto de que os caminhos removidos serΓ£o adicionados"
+
+#: builtin/reset.c:305
#, c-format
-msgid "Cannot do a %s reset in the middle of a merge."
-msgstr ""
+msgid "Failed to resolve '%s' as a valid revision."
+msgstr "Falha ao resolver '%s' como referΓͺncia vΓ‘lida."
-#: builtin/reset.c:297
+#: builtin/reset.c:313
#, c-format
-msgid "Could not parse object '%s'."
-msgstr "NΓ£o foi possΓ­vel analisar objeto '%s'."
+msgid "Failed to resolve '%s' as a valid tree."
+msgstr "Falha ao resolver '%s' como Γ‘rvore vΓ‘lida."
-#: builtin/reset.c:302
+#: builtin/reset.c:322
msgid "--patch is incompatible with --{hard,mixed,soft}"
-msgstr ""
+msgstr "--patch Γ© incompatΓ­vel com --{hard,mixed,soft}"
-#: builtin/reset.c:311
+#: builtin/reset.c:331
msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
msgstr ""
+"--mixed acompanhado com caminhos Γ© obsoleto; use 'git reset -- <caminhos>'."
-#: builtin/reset.c:313
+#: builtin/reset.c:333
#, c-format
msgid "Cannot do %s reset with paths."
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel repor de modo %s com caminhos."
-#: builtin/reset.c:325
+#: builtin/reset.c:343
#, c-format
msgid "%s reset is not allowed in a bare repository"
-msgstr ""
+msgstr "NΓ£o Γ© permitido repor de modo %s num repositΓ³rio nu"
-#: builtin/reset.c:341
+#: builtin/reset.c:347
+msgid "-N can only be used with --mixed"
+msgstr "-N sΓ³ pode ser usado com --mixed"
+
+#: builtin/reset.c:364
+msgid "Unstaged changes after reset:"
+msgstr "AlteraΓ§Γ΅es nΓ£o preparadas depois de repor:"
+
+#: builtin/reset.c:370
#, c-format
msgid "Could not reset index file to revision '%s'."
+msgstr "NΓ£o foi possΓ­vel repor o ficheiro Γ­ndice para a revisΓ£o '%s'."
+
+#: builtin/reset.c:374
+msgid "Could not write new index file."
+msgstr "NΓ£o foi possΓ­vel escrever novo ficheiro de Γ­ndice."
+
+#: builtin/rev-list.c:350
+msgid "rev-list does not support display of notes"
+msgstr "rev-list nΓ£o suporta apresentaΓ§Γ£o de notas"
+
+#: builtin/rev-parse.c:358
+msgid "git rev-parse --parseopt [<options>] -- [<args>...]"
+msgstr "git rev-parse --parseopt [<opΓ§Γ΅es>] -- [<argumentos>...]"
+
+#: builtin/rev-parse.c:363
+msgid "keep the `--` passed as an arg"
+msgstr "Conservar '--' passado como argumento"
+
+#: builtin/rev-parse.c:365
+msgid "stop parsing after the first non-option argument"
+msgstr "parar de analisar depois do primeiro argumento que nΓ£o seja uma opΓ§Γ£o"
+
+#: builtin/rev-parse.c:368
+msgid "output in stuck long form"
+msgstr "mostrar em formato fixo e longo"
+
+#: builtin/rev-parse.c:499
+msgid ""
+"git rev-parse --parseopt [<options>] -- [<args>...]\n"
+" or: git rev-parse --sq-quote [<arg>...]\n"
+" or: git rev-parse [<options>] [<arg>...]\n"
+"\n"
+"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
msgstr ""
+"git rev-parse --parseopt [<opΓ§Γ΅es>] -- [<argumentos>...]\n"
+" or: git rev-parse --sq-quote [<argumentos>...]\n"
+" or: git rev-parse [<opΓ§Γ΅es>] [<argumentos>...]\n"
+"\n"
+"Execute \"git rev-parse --parseopt -h\" para obter mais informaΓ§Γ£o sobre a "
+"primeira utilizaΓ§Γ£o."
+
+#: builtin/revert.c:22
+msgid "git revert [<options>] <commit-ish>..."
+msgstr "git revert [<opΓ§Γ΅es>] <commit-ish>..."
+
+#: builtin/revert.c:23
+msgid "git revert <subcommand>"
+msgstr "git revert <subcommando>"
-#: builtin/revert.c:70
-#: builtin/revert.c:92
+#: builtin/revert.c:28
+msgid "git cherry-pick [<options>] <commit-ish>..."
+msgstr "git cherry-pick [<opΓ§Γ΅es>] <commit-ish>..."
+
+#: builtin/revert.c:29
+msgid "git cherry-pick <subcommand>"
+msgstr "git cherry-pick <subcommando>"
+
+#: builtin/revert.c:71
#, c-format
msgid "%s: %s cannot be used with %s"
-msgstr ""
+msgstr "%s: %s nΓ£o pode ser usado com %s"
+
+#: builtin/revert.c:80
+msgid "end revert or cherry-pick sequence"
+msgstr "terminar reversΓ£o ou cherry-pick"
+
+#: builtin/revert.c:81
+msgid "resume revert or cherry-pick sequence"
+msgstr "retomar a reversΓ£o ou cherry-pick"
+
+#: builtin/revert.c:82
+msgid "cancel revert or cherry-pick sequence"
+msgstr "cancelar reversΓ£o ou cherry-pick"
+
+#: builtin/revert.c:83
+msgid "don't automatically commit"
+msgstr "nΓ£o efetuar commit automaticamente"
+
+#: builtin/revert.c:84
+msgid "edit the commit message"
+msgstr "editar a mensagem de commit"
+
+#: builtin/revert.c:87
+msgid "parent number"
+msgstr "nΓΊmero de pai"
-#: builtin/revert.c:131
+#: builtin/revert.c:89
+msgid "merge strategy"
+msgstr "estratΓ©gia de merge"
+
+#: builtin/revert.c:90
+msgid "option"
+msgstr "opΓ§Γ£o"
+
+#: builtin/revert.c:91
+msgid "option for merge strategy"
+msgstr "opΓ§Γ£o de estratΓ©gia de merge"
+
+#: builtin/revert.c:104
+msgid "append commit name"
+msgstr "acrescentar nome do commit"
+
+#: builtin/revert.c:106
+msgid "preserve initially empty commits"
+msgstr "preservar commits inicialmente vazios"
+
+#: builtin/revert.c:107
+msgid "allow commits with empty messages"
+msgstr "permitir commits com mensagens vazias"
+
+#: builtin/revert.c:108
+msgid "keep redundant, empty commits"
+msgstr "manter commits redundantes e vazios"
+
+#: builtin/revert.c:112
msgid "program error"
msgstr "erro do programa"
-#: builtin/revert.c:221
+#: builtin/revert.c:197
msgid "revert failed"
-msgstr "falhou o revert"
+msgstr "falha ao reverter"
-#: builtin/revert.c:236
+#: builtin/revert.c:212
msgid "cherry-pick failed"
-msgstr "cherry-pick falhou"
+msgstr "falha ao efetuar cherry-pick"
-#: builtin/rm.c:109
-#, c-format
+#: builtin/rm.c:17
+msgid "git rm [<options>] [--] <file>..."
+msgstr "git rm [<opΓ§Γ΅es>] [--] <ficheiro>..."
+
+#: builtin/rm.c:65
msgid ""
-"'%s' has staged content different from both the file and the HEAD\n"
-"(use -f to force removal)"
+"the following submodule (or one of its nested submodules)\n"
+"uses a .git directory:"
+msgid_plural ""
+"the following submodules (or one of their nested submodules)\n"
+"use a .git directory:"
+msgstr[0] ""
+"o submΓ³dulo seguinte (ou um dos seus submΓ³dulos aninhados)\n"
+"usa um diretΓ³rio .git:"
+msgstr[1] ""
+"os submΓ³dulos seguintes (ou um dos seus submΓ³dulos)\n"
+"usam um diretΓ³rio .git:"
+
+#: builtin/rm.c:71
+msgid ""
+"\n"
+"(use 'rm -rf' if you really want to remove it including all of its history)"
msgstr ""
+"\n"
+"(use 'rm -rf' se quer mesmo removΓͺ-lo, incluindo todo o seu histΓ³rico)"
-#: builtin/rm.c:115
-#, c-format
+#: builtin/rm.c:230
msgid ""
-"'%s' has changes staged in the index\n"
-"(use --cached to keep the file, or -f to force removal)"
+"the following file has staged content different from both the\n"
+"file and the HEAD:"
+msgid_plural ""
+"the following files have staged content different from both the\n"
+"file and the HEAD:"
+msgstr[0] ""
+"o seguinte ficheiro tem conteΓΊdo preparado no Γ­ndice diferente\n"
+"do conteΓΊdo no ficheiro e em HEAD:"
+msgstr[1] ""
+"os seguintes ficheiros tΓͺm conteΓΊdo preparado no Γ­ndice diferente\n"
+"do conteΓΊdo no ficheiro e em HEAD:"
+
+#: builtin/rm.c:235
+msgid ""
+"\n"
+"(use -f to force removal)"
msgstr ""
+"\n"
+"(use -f para forΓ§ar remoΓ§Γ£o)"
-#: builtin/rm.c:119
-#, c-format
+#: builtin/rm.c:239
+msgid "the following file has changes staged in the index:"
+msgid_plural "the following files have changes staged in the index:"
+msgstr[0] "o seguinte ficheiro contΓ©m alteraΓ§Γ΅es preparadas no Γ­ndice:"
+msgstr[1] "os seguintes ficheiros contΓͺm alteraΓ§Γ΅es preparadas no Γ­ndice:"
+
+#: builtin/rm.c:243 builtin/rm.c:254
msgid ""
-"'%s' has local modifications\n"
+"\n"
"(use --cached to keep the file, or -f to force removal)"
msgstr ""
+"\n"
+"(use --cached para manter o ficheiro, ou -f para forΓ§ar remoΓ§Γ£o)"
+
+#: builtin/rm.c:251
+msgid "the following file has local modifications:"
+msgid_plural "the following files have local modifications:"
+msgstr[0] "o seguinte ficheiro contΓ©m alteraΓ§Γ΅es locais:"
+msgstr[1] "os seguintes ficheiros contΓͺm alteraΓ§Γ΅es locais:"
+
+#: builtin/rm.c:269
+msgid "do not list removed files"
+msgstr "nΓ£o listar ficheiros removidos"
+
+#: builtin/rm.c:270
+msgid "only remove from the index"
+msgstr "remover apenas do Γ­ndice"
+
+#: builtin/rm.c:271
+msgid "override the up-to-date check"
+msgstr "ignorar verificaΓ§Γ£o de atualizaΓ§Γ£o"
+
+#: builtin/rm.c:272
+msgid "allow recursive removal"
+msgstr "permitir remoΓ§Γ£o recursiva"
+
+#: builtin/rm.c:274
+msgid "exit with a zero status even if nothing matched"
+msgstr "sair com valor zero mesmo quando nΓ£o hΓ‘ correspondΓͺncia"
-#: builtin/rm.c:194
+#: builtin/rm.c:317
+msgid "Please, stage your changes to .gitmodules or stash them to proceed"
+msgstr ""
+"Prepare as suas alteraΓ§Γ΅es em .gitmodules ou esconda-as (stash) para "
+"prosseguir"
+
+#: builtin/rm.c:335
#, c-format
msgid "not removing '%s' recursively without -r"
-msgstr ""
+msgstr "nΓ£o remover '%s' recursivamente sem -r"
-#: builtin/rm.c:230
+#: builtin/rm.c:374
#, c-format
msgid "git rm: unable to remove %s"
+msgstr "git rm: nΓ£o Γ© possΓ­vel remover %s"
+
+#: builtin/send-pack.c:18
+msgid ""
+"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
+"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> "
+"[<ref>...]\n"
+" --all and explicit <ref> specification are mutually exclusive."
+msgstr ""
+"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-"
+"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<diretΓ³rio> "
+"[<referΓͺncia>...]\n"
+" --all e especificaΓ§Γ£o explicita duma <referΓͺncia> sΓ£o mutuamente "
+"exclusivos."
+
+#: builtin/send-pack.c:160
+msgid "remote name"
+msgstr "nome do remoto"
+
+#: builtin/send-pack.c:171
+msgid "use stateless RPC protocol"
+msgstr "use protocolo RPC sem estado"
+
+#: builtin/send-pack.c:172
+msgid "read refs from stdin"
+msgstr "ler referΓͺncias do stdin"
+
+#: builtin/send-pack.c:173
+msgid "print status from remote helper"
+msgstr "imprimir estado do programa auxiliar remoto"
+
+#: builtin/shortlog.c:13
+msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr ""
+"git shortlog [<opΓ§Γ΅es>] [<intervalo-de-revisΓ΅es>] [[--] [<caminho>...]]"
-#: builtin/shortlog.c:157
+#: builtin/shortlog.c:242
+msgid "sort output according to the number of commits per author"
+msgstr "ordenar saΓ­da de acordo com o nΓΊmero de commits por autor"
+
+#: builtin/shortlog.c:244
+msgid "Suppress commit descriptions, only provides commit count"
+msgstr "suprimir a descriΓ§Γ£o dos commits, fornecer apenas o nΓΊmero de commits"
+
+#: builtin/shortlog.c:246
+msgid "Show the email address of each author"
+msgstr "Mostrar o endereΓ§o de e-mail de cada autor"
+
+#: builtin/shortlog.c:247
+msgid "w[,i1[,i2]]"
+msgstr "w[,i1[,i2]]"
+
+#: builtin/shortlog.c:248
+msgid "Linewrap output"
+msgstr "ajustar linhas"
+
+#: builtin/show-branch.c:10
+msgid ""
+"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
+"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
+"\t\t[--more=<n> | --list | --independent | --merge-base]\n"
+"\t\t[--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+msgstr ""
+"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
+"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n"
+"\t\t[--more=<n> | --list | --independent | --merge-base]\n"
+"\t\t[--no-name | --sha1-name] [--topics] [(<revisΓ£o> | <glob>)...]"
+
+#: builtin/show-branch.c:14
+msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
+msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<referΓͺncia>]"
+
+#: builtin/show-branch.c:640
+msgid "show remote-tracking and local branches"
+msgstr "mostrar os ramos remotos seguidos e os ramos locais"
+
+#: builtin/show-branch.c:642
+msgid "show remote-tracking branches"
+msgstr "mostrar os ramos remotos seguidos"
+
+#: builtin/show-branch.c:644
+msgid "color '*!+-' corresponding to the branch"
+msgstr "colorir '*!+-' correspondendo ao ramo"
+
+#: builtin/show-branch.c:646
+msgid "show <n> more commits after the common ancestor"
+msgstr "mostrar mais <n> commits depois do antecessor comum"
+
+#: builtin/show-branch.c:648
+msgid "synonym to more=-1"
+msgstr "sinΓ³nimo de more=-1"
+
+#: builtin/show-branch.c:649
+msgid "suppress naming strings"
+msgstr "suprimir a cadeias de caracteres de nomes"
+
+#: builtin/show-branch.c:651
+msgid "include the current branch"
+msgstr "incluir o ramo atual"
+
+#: builtin/show-branch.c:653
+msgid "name commits with their object names"
+msgstr "designar commits pelos seus nomes de objeto"
+
+#: builtin/show-branch.c:655
+msgid "show possible merge bases"
+msgstr "mostrar possΓ­veis bases de merge"
+
+#: builtin/show-branch.c:657
+msgid "show refs unreachable from any other ref"
+msgstr "mostrar referΓͺncias inalcanΓ§Γ‘veis a partir de outras referΓͺncias"
+
+#: builtin/show-branch.c:659
+msgid "show commits in topological order"
+msgstr "mostrar commits em ordem topolΓ³gica"
+
+#: builtin/show-branch.c:662
+msgid "show only commits not on the first branch"
+msgstr "mostrar apenas commits nΓ£o presentes no primeiro ramo"
+
+#: builtin/show-branch.c:664
+msgid "show merges reachable from only one tip"
+msgstr "mostrar merges alcanΓ§Γ‘veis a partir duma ΓΊnica ponta"
+
+#: builtin/show-branch.c:666
+msgid "topologically sort, maintaining date order where possible"
+msgstr ""
+"ordenar topologicamente, mantendo a ordenaΓ§Γ£o por data sempre que possΓ­vel"
+
+#: builtin/show-branch.c:669
+msgid "<n>[,<base>]"
+msgstr "<n>[,<base>]"
+
+#: builtin/show-branch.c:670
+msgid "show <n> most recent ref-log entries starting at base"
+msgstr "mostrar as <n> entradas de ref-log mais recente a partir da base"
+
+#: builtin/show-ref.c:10
+msgid ""
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
+"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+msgstr ""
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
+"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<padrΓ£o>...]"
+
+#: builtin/show-ref.c:11
+msgid "git show-ref --exclude-existing[=<pattern>]"
+msgstr "git show-ref --exclude-existing[=<padrΓ£o>]"
+
+#: builtin/show-ref.c:165
+msgid "only show tags (can be combined with heads)"
+msgstr "mostrar apenas tags (pode ser combinado com heads)"
+
+#: builtin/show-ref.c:166
+msgid "only show heads (can be combined with tags)"
+msgstr "mostrar apenas cabeΓ§as (pode ser combinado com tags)"
+
+#: builtin/show-ref.c:167
+msgid "stricter reference checking, requires exact ref path"
+msgstr ""
+"verificaΓ§Γ£o de referΓͺncias mais rigorosa, requer o caminho exato da "
+"referΓͺncia"
+
+#: builtin/show-ref.c:170 builtin/show-ref.c:172
+msgid "show the HEAD reference, even if it would be filtered out"
+msgstr "mostrar a referΓͺncia HEAD, mesmo que fosse filtrada"
+
+#: builtin/show-ref.c:174
+msgid "dereference tags into object IDs"
+msgstr "desreferenciar tags em IDs de objeto"
+
+#: builtin/show-ref.c:176
+msgid "only show SHA1 hash using <n> digits"
+msgstr "mostrar hash SHA1 com <n> digitos"
+
+#: builtin/show-ref.c:180
+msgid "do not print results to stdout (useful with --verify)"
+msgstr "nΓ£o imprimir resultados para o stdout (ΓΊtil com --verify)"
+
+#: builtin/show-ref.c:182
+msgid "show refs from stdin that aren't in local repository"
+msgstr "mostrar referΓͺncias do stdin que nΓ£o estΓ£o no repositΓ³rio local"
+
+#: builtin/stripspace.c:17
+msgid "git stripspace [-s | --strip-comments]"
+msgstr "git stripspace [-s | --strip-comments]"
+
+#: builtin/stripspace.c:18
+msgid "git stripspace [-c | --comment-lines]"
+msgstr "git stripspace [-c | --comment-lines]"
+
+#: builtin/stripspace.c:35
+msgid "skip and remove all lines starting with comment character"
+msgstr ""
+"ignorar e remover todas as linhas comeΓ§adas com um carΓ‘cter de comentΓ‘rio"
+
+#: builtin/stripspace.c:38
+msgid "prepend comment character and space to each line"
+msgstr "preceder cada linha com um carΓ‘cter de comentΓ‘rio e um espaΓ§o"
+
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
+msgid "alternative anchor for relative paths"
+msgstr "Γ’ncora alternativa para caminhos relativos"
+
+#: builtin/submodule--helper.c:78
+msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
+msgstr "git submodule--helper list [--prefix=<caminho>] [<caminho>...]"
+
+#: builtin/submodule--helper.c:108
+msgid "git submodule--helper name <path>"
+msgstr "git submodule--helper name <caminho>"
+
+#: builtin/submodule--helper.c:114
+#, c-format
+msgid "no submodule mapping found in .gitmodules for path '%s'"
+msgstr ""
+"nenhum mapeamento de submΓ³dulo do caminho '%s' encontrado em .gitmodules"
+
+#: builtin/submodule--helper.c:164
+msgid "where the new submodule will be cloned to"
+msgstr "sΓ­tio para aonde o novo submΓ³dulo serΓ‘ clonado"
+
+#: builtin/submodule--helper.c:167
+msgid "name of the new submodule"
+msgstr "nome do novo submΓ³dulo"
+
+#: builtin/submodule--helper.c:170
+msgid "url where to clone the submodule from"
+msgstr "url donde clonar o submΓ³dulos"
+
+#: builtin/submodule--helper.c:176
+msgid "depth for shallow clones"
+msgstr "profundidade de clones rasos"
+
+#: builtin/submodule--helper.c:182
+msgid ""
+"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
+"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
+msgstr ""
+"git submodule--helper clone [--prefix=<caminho>] [--quiet] [--reference "
+"<repositΓ³rio>] [--name <nome>] [--url <url>][--depth <profundidade>] [--] "
+"[<caminho>...]"
+
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
-msgid "Missing author: %s"
-msgstr "Autor em falta: %s"
+msgid "could not create directory '%s'"
+msgstr "nΓ£o foi possΓ­vel criar o diretΓ³rio '%s'"
-#: builtin/tag.c:60
+#: builtin/submodule--helper.c:198
#, c-format
-msgid "malformed object at '%s'"
+msgid "clone of '%s' into submodule path '%s' failed"
+msgstr "falha ao clonar '%s' no caminho do submΓ³dulo '%s'"
+
+#: builtin/submodule--helper.c:221
+#, c-format
+msgid "cannot open file '%s'"
+msgstr "nΓ£o Γ© possΓ­vel abrir o ficheiro '%s'"
+
+#: builtin/submodule--helper.c:226
+#, c-format
+msgid "could not close file %s"
+msgstr "nΓ£o Γ© possΓ­vel fechar o ficheiro %s"
+
+#: builtin/submodule--helper.c:241
+#, c-format
+msgid "could not get submodule directory for '%s'"
+msgstr "nΓ£o foi possΓ­vel obter o o diretΓ³rio do submΓ³dulo de '%s'"
+
+#: builtin/submodule--helper.c:267
+msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr ""
+"fatal: o subcomando submodule--helper deve ser invocado com um subcomando"
-#: builtin/tag.c:207
+#: builtin/submodule--helper.c:274
#, c-format
-msgid "tag name too long: %.*s..."
+msgid "fatal: '%s' is not a valid submodule--helper subcommand"
+msgstr "fatal: '%s' nΓ£o Γ© um subcomando de submodule--helper vΓ‘lido"
+
+#: builtin/symbolic-ref.c:7
+msgid "git symbolic-ref [<options>] <name> [<ref>]"
+msgstr "git symbolic-ref [<opΓ§Γ΅es>] <nome> [<referΓͺncia>]"
+
+#: builtin/symbolic-ref.c:8
+msgid "git symbolic-ref -d [-q] <name>"
+msgstr "git symbolic-ref -d [-q] <nome>"
+
+#: builtin/symbolic-ref.c:40
+msgid "suppress error message for non-symbolic (detached) refs"
+msgstr ""
+"suprimir mensagens de erro sobre referΓͺncias nΓ£o-simbΓ³licas (destacadas)"
+
+#: builtin/symbolic-ref.c:41
+msgid "delete symbolic ref"
+msgstr "eliminar referΓͺncias simbΓ³licas"
+
+#: builtin/symbolic-ref.c:42
+msgid "shorten ref output"
+msgstr "encurtar a apresentaΓ§Γ£o de referΓͺncias"
+
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+msgid "reason"
+msgstr "razΓ£o"
+
+#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362
+msgid "reason of the update"
+msgstr "razΓ£o da atualizaΓ§Γ£o"
+
+#: builtin/tag.c:23
+msgid ""
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> "
+"[<head>]"
msgstr ""
+"git tag [-a | -s | -u <id-chave>] [-f] [-m <msg> | -F <ficheiro>] <nome-da-"
+"tag> [<head>]"
+
+#: builtin/tag.c:24
+msgid "git tag -d <tagname>..."
+msgstr "git tag -d <nome-da-tag>..."
-#: builtin/tag.c:212
+#: builtin/tag.c:25
+msgid ""
+"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]\n"
+"\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]"
+msgstr ""
+"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <objeto>]\n"
+"\t\t[--format=<formato>] [--[no-]merged [<commit>]] [<padrΓ£o>...]"
+
+#: builtin/tag.c:27
+msgid "git tag -v <tagname>..."
+msgstr "git tag -v <nome-da-tag>..."
+
+#: builtin/tag.c:80
+#, c-format
+msgid "tag name too long: %.*s..."
+msgstr "o nome da tag Γ© demasiado longo: %.*s..."
+
+#: builtin/tag.c:85
#, c-format
msgid "tag '%s' not found."
-msgstr "etiqueta '%s' nΓ£o foi encontrada."
+msgstr "tag '%s' nΓ£o encontrada."
-#: builtin/tag.c:227
+#: builtin/tag.c:100
#, c-format
msgid "Deleted tag '%s' (was %s)\n"
-msgstr ""
+msgstr "Tag '%s' eliminada (era %s)\n"
-#: builtin/tag.c:239
+#: builtin/tag.c:112
#, c-format
msgid "could not verify the tag '%s'"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel validar a tag '%s'"
-#: builtin/tag.c:249
+#: builtin/tag.c:122
+#, c-format
msgid ""
"\n"
-"#\n"
-"# Write a tag message\n"
-"# Lines starting with '#' will be ignored.\n"
-"#\n"
+"Write a message for tag:\n"
+" %s\n"
+"Lines starting with '%c' will be ignored.\n"
msgstr ""
+"\n"
+"Escreva a mensagem da tag:\n"
+" %s\n"
+"Linha comeΓ§adas com '%c' serΓ£o ignoradas.\n"
-#: builtin/tag.c:256
+#: builtin/tag.c:126
+#, c-format
msgid ""
"\n"
-"#\n"
-"# Write a tag message\n"
-"# Lines starting with '#' will be kept; you may remove them yourself if you want to.\n"
-"#\n"
+"Write a message for tag:\n"
+" %s\n"
+"Lines starting with '%c' will be kept; you may remove them yourself if you "
+"want to.\n"
msgstr ""
+"\n"
+"Escreva a mensagem da tag:\n"
+" %s\n"
+"Linhas comeΓ§adas com '%c' serΓ£o mantidas; pode removΓͺ-las se o desejar.\n"
-#: builtin/tag.c:298
+#: builtin/tag.c:199
msgid "unable to sign the tag"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel assinar a tag"
-#: builtin/tag.c:300
+#: builtin/tag.c:201
msgid "unable to write tag file"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel escrever o ficheiro da tag"
-#: builtin/tag.c:325
+#: builtin/tag.c:226
msgid "bad object type."
-msgstr ""
+msgstr "tipo de objeto incorreto."
-#: builtin/tag.c:338
+#: builtin/tag.c:239
msgid "tag header too big."
-msgstr ""
+msgstr "cabeΓ§alho da tag demasiado longo."
-#: builtin/tag.c:370
+#: builtin/tag.c:275
msgid "no tag message?"
-msgstr "nenhuma mensaje para a etiqueta?"
+msgstr "sem mensagem de tag?"
-#: builtin/tag.c:376
+#: builtin/tag.c:281
#, c-format
msgid "The tag message has been left in %s\n"
-msgstr ""
+msgstr "A mensagem da tag foi guardada em %s\n"
-#: builtin/tag.c:425
-msgid "switch 'points-at' requires an object"
-msgstr ""
+#: builtin/tag.c:339
+msgid "list tag names"
+msgstr "listar os nomes das tag"
-#: builtin/tag.c:427
-#, c-format
-msgid "malformed object name '%s'"
-msgstr ""
+#: builtin/tag.c:341
+msgid "print <n> lines of each tag message"
+msgstr "imprimir <n> linhas de cada mensagem de tag"
+
+#: builtin/tag.c:343
+msgid "delete tags"
+msgstr "eliminar tags"
+
+#: builtin/tag.c:344
+msgid "verify tags"
+msgstr "verificar tags"
+
+#: builtin/tag.c:346
+msgid "Tag creation options"
+msgstr "OpΓ§Γ΅es de criaΓ§Γ£o de tags"
+
+#: builtin/tag.c:348
+msgid "annotated tag, needs a message"
+msgstr "tag anotada, Γ© necessΓ‘rio uma mensagem"
+
+#: builtin/tag.c:350
+msgid "tag message"
+msgstr "mensagem da tag"
+
+#: builtin/tag.c:352
+msgid "annotated and GPG-signed tag"
+msgstr "tag anotada e assinada com GPG"
+
+#: builtin/tag.c:356
+msgid "use another key to sign the tag"
+msgstr "usar outra chave para assinar a tag"
+
+#: builtin/tag.c:357
+msgid "replace the tag if exists"
+msgstr "substituir a tag se esta existir"
+
+#: builtin/tag.c:358 builtin/update-ref.c:368
+msgid "create a reflog"
+msgstr "criar um reflog"
+
+#: builtin/tag.c:360
+msgid "Tag listing options"
+msgstr "OpΓ§Γ΅es de listagem de tags"
-#: builtin/tag.c:506
+#: builtin/tag.c:361
+msgid "show tag list in columns"
+msgstr "mostrar a lista de tags em colunas"
+
+#: builtin/tag.c:362 builtin/tag.c:363
+msgid "print only tags that contain the commit"
+msgstr "imprimir apenas tags que contenham o commit"
+
+#: builtin/tag.c:364
+msgid "print only tags that are merged"
+msgstr "imprimir apenas as tags que foram incorporadas"
+
+#: builtin/tag.c:365
+msgid "print only tags that are not merged"
+msgstr "imprimir apenas as tags que nΓ£o foram incorporadas"
+
+#: builtin/tag.c:370
+msgid "print only tags of the object"
+msgstr "imprimir apenas as tags do objeto"
+
+#: builtin/tag.c:399
msgid "--column and -n are incompatible"
-msgstr "--column e -n are sΓ£o incompatΓ­veis"
+msgstr "--column e -n sΓ£o incompatΓ­veis"
-#: builtin/tag.c:523
+#: builtin/tag.c:419
msgid "-n option is only allowed with -l."
-msgstr ""
+msgstr "a opΓ§Γ£o -n sΓ³ Γ© permitida com -l."
-#: builtin/tag.c:525
+#: builtin/tag.c:421
msgid "--contains option is only allowed with -l."
-msgstr ""
+msgstr "a opΓ§Γ£o --contains sΓ³ Γ© permitida com -l."
-#: builtin/tag.c:527
+#: builtin/tag.c:423
msgid "--points-at option is only allowed with -l."
-msgstr ""
+msgstr "a opΓ§Γ£o --points-at sΓ³ Γ© permitida com -l."
-#: builtin/tag.c:535
+#: builtin/tag.c:425
+msgid "--merged and --no-merged option are only allowed with -l"
+msgstr "as opΓ§Γ΅es --merged e --no-merged sΓ³ sΓ£o permitidas com -l"
+
+#: builtin/tag.c:433
msgid "only one -F or -m option is allowed."
-msgstr ""
+msgstr "sΓ³ Γ© permitido um opΓ§Γ£o -F ou -m."
-#: builtin/tag.c:555
+#: builtin/tag.c:453
msgid "too many params"
-msgstr "demasiado parametros"
+msgstr "demasiado parΓ’metros"
-#: builtin/tag.c:561
+#: builtin/tag.c:459
#, c-format
msgid "'%s' is not a valid tag name."
-msgstr ""
+msgstr "'%s' nΓ£o Γ© um nome de tag vΓ‘lido."
-#: builtin/tag.c:566
+#: builtin/tag.c:464
#, c-format
msgid "tag '%s' already exists"
-msgstr "etiqueta '%s' jΓ‘ existe"
+msgstr "a tag '%s' jΓ‘ existe"
-#: builtin/tag.c:584
+#: builtin/tag.c:489
#, c-format
-msgid "%s: cannot lock the ref"
-msgstr ""
+msgid "Updated tag '%s' (was %s)\n"
+msgstr "Tag '%s' atualizada (era %s)\n"
+
+#: builtin/unpack-objects.c:490
+msgid "Unpacking objects"
+msgstr "A descompactar objetos"
-#: builtin/tag.c:586
+#: builtin/update-index.c:79
#, c-format
-msgid "%s: cannot update the ref"
-msgstr ""
+msgid "failed to create directory %s"
+msgstr "falha ao criar o diretΓ³rio %s"
-#: builtin/tag.c:588
+#: builtin/update-index.c:85
#, c-format
-msgid "Updated tag '%s' (was %s)\n"
+msgid "failed to stat %s"
+msgstr "falha ao efetuar stat de %s"
+
+#: builtin/update-index.c:95
+#, c-format
+msgid "failed to create file %s"
+msgstr "falha ao criar o ficheiro %s"
+
+#: builtin/update-index.c:103
+#, c-format
+msgid "failed to delete file %s"
+msgstr "falha ao eliminar o ficheiro %s"
+
+#: builtin/update-index.c:110 builtin/update-index.c:212
+#, c-format
+msgid "failed to delete directory %s"
+msgstr "falha ao criar o diretΓ³rio %s"
+
+#: builtin/update-index.c:133
+#, c-format
+msgid "Testing mtime in '%s' "
+msgstr "A testar mtime em '%s' "
+
+#: builtin/update-index.c:145
+msgid "directory stat info does not change after adding a new file"
msgstr ""
+"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de adicionar um novo "
+"ficheiro"
-#: git.c:16
-msgid "See 'git help <command>' for more information on a specific command."
+#: builtin/update-index.c:158
+msgid "directory stat info does not change after adding a new directory"
msgstr ""
+"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de adicionar um novo "
+"diretΓ³rio"
-#: common-cmds.h:8
-msgid "Add file contents to the index"
+#: builtin/update-index.c:171
+msgid "directory stat info changes after updating a file"
+msgstr "a informaΓ§Γ£o de stat mudou depois de atualizar um ficheiro"
+
+#: builtin/update-index.c:182
+msgid "directory stat info changes after adding a file inside subdirectory"
msgstr ""
+"a informaΓ§Γ£o de stat do diretΓ³rio mudou depois de adicionar um ficheiro "
+"dentro dum subdiretΓ³rio"
-#: common-cmds.h:9
-msgid "Find by binary search the change that introduced a bug"
+#: builtin/update-index.c:193
+msgid "directory stat info does not change after deleting a file"
msgstr ""
+"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de eliminar um ficheiro"
-#: common-cmds.h:10
-msgid "List, create, or delete branches"
-msgstr "Listar, criar ou apagar ramas"
+#: builtin/update-index.c:206
+msgid "directory stat info does not change after deleting a directory"
+msgstr ""
+"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de eliminar um diretΓ³rio"
-#: common-cmds.h:11
-msgid "Checkout a branch or paths to the working tree"
+#: builtin/update-index.c:213
+msgid " OK"
+msgstr " OK"
+
+#: builtin/update-index.c:575
+msgid "git update-index [<options>] [--] [<file>...]"
+msgstr "git update-index [<opΓ§Γ΅es>] [--] [<ficheiro>...]"
+
+#: builtin/update-index.c:930
+msgid "continue refresh even when index needs update"
+msgstr "continuar a refrescar mesmo quando o Γ­ndice precise de ser atualizado"
+
+#: builtin/update-index.c:933
+msgid "refresh: ignore submodules"
+msgstr "refrescar: ignorar submΓ³dulos"
+
+#: builtin/update-index.c:936
+msgid "do not ignore new files"
+msgstr "nΓ£o ignorar novos ficheiros"
+
+#: builtin/update-index.c:938
+msgid "let files replace directories and vice-versa"
+msgstr "deixar que os ficheiros substituam os diretΓ³rios e vice-versa"
+
+#: builtin/update-index.c:940
+msgid "notice files missing from worktree"
+msgstr "avisar sobre ficheiros que faltem na Γ‘rvore de trabalho"
+
+#: builtin/update-index.c:942
+msgid "refresh even if index contains unmerged entries"
+msgstr "refrescar mesmo que o Γ­ndice contenha entradas nΓ£o incorporadas"
+
+#: builtin/update-index.c:945
+msgid "refresh stat information"
+msgstr "refrescar informaΓ§Γ£o de stat"
+
+#: builtin/update-index.c:949
+msgid "like --refresh, but ignore assume-unchanged setting"
+msgstr "como --refresh, mas ignorar a definiΓ§Γ£o assume-unchanged"
+
+#: builtin/update-index.c:953
+msgid "<mode>,<object>,<path>"
+msgstr "<modo>,<objeto>,<caminho>"
+
+#: builtin/update-index.c:954
+msgid "add the specified entry to the index"
+msgstr "adicionar o elemento especificado ao Γ­ndice"
+
+#: builtin/update-index.c:958
+msgid "(+/-)x"
+msgstr "(+/-)x"
+
+#: builtin/update-index.c:959
+msgid "override the executable bit of the listed files"
+msgstr "substituir o bit executΓ‘vel dos ficheiros listados"
+
+#: builtin/update-index.c:963
+msgid "mark files as \"not changing\""
+msgstr "marcar ficheiros como \"nΓ£o alterados\""
+
+#: builtin/update-index.c:966
+msgid "clear assumed-unchanged bit"
+msgstr "limpar o bit assumed-unchanged"
+
+#: builtin/update-index.c:969
+msgid "mark files as \"index-only\""
+msgstr "marcar ficheiros como \"ΓΊnicos do Γ­ndice\""
+
+#: builtin/update-index.c:972
+msgid "clear skip-worktree bit"
+msgstr "limpar o bit ignorar-Γ‘rvore-de-trabalho"
+
+#: builtin/update-index.c:975
+msgid "add to index only; do not add content to object database"
msgstr ""
+"sΓ³ adicionar ao Γ­ndice; nΓ£o adicionar o conteΓΊdo Γ  base de dados de objetos"
-#: common-cmds.h:12
-msgid "Clone a repository into a new directory"
+#: builtin/update-index.c:977
+msgid "remove named paths even if present in worktree"
msgstr ""
+"remover os caminhos mencionado mesmo se estiverem presentes na Γ‘rvore de "
+"trabalho"
-#: common-cmds.h:13
-msgid "Record changes to the repository"
-msgstr "Gravar alteraΓ§Γ΅es para o repositΓ³rio"
+#: builtin/update-index.c:979
+msgid "with --stdin: input lines are terminated by null bytes"
+msgstr "com --stdin: as linhas da entrada sΓ£o terminadas com bytes nulos"
-#: common-cmds.h:14
-msgid "Show changes between commits, commit and working tree, etc"
+#: builtin/update-index.c:981
+msgid "read list of paths to be updated from standard input"
+msgstr "ler lista de caminho a atualizar da entrada padrΓ£o"
+
+#: builtin/update-index.c:985
+msgid "add entries from standard input to the index"
+msgstr "adicionar elementos da entrada padrΓ£o ao Γ­ndice"
+
+#: builtin/update-index.c:989
+msgid "repopulate stages #2 and #3 for the listed paths"
+msgstr "repovoar as fases nΒΊ2 e nΒΊ3 dos caminhos listados"
+
+#: builtin/update-index.c:993
+msgid "only update entries that differ from HEAD"
+msgstr "atualizar apenas elementos que difiram de HEAD"
+
+#: builtin/update-index.c:997
+msgid "ignore files missing from worktree"
+msgstr "ignorar ficheiros nΓ£o presentes na Γ‘rvore de trabalho"
+
+#: builtin/update-index.c:1000
+msgid "report actions to standard output"
+msgstr "mostrar aΓ§Γ΅es na saΓ­da padrΓ£o"
+
+#: builtin/update-index.c:1002
+msgid "(for porcelains) forget saved unresolved conflicts"
msgstr ""
+"(para porcelanas) esquecer conflitos guardados que nΓ£o foram resolvidos"
-#: common-cmds.h:15
-msgid "Download objects and refs from another repository"
+#: builtin/update-index.c:1006
+msgid "write index in this format"
+msgstr "escrever o Γ­ndice neste formato"
+
+#: builtin/update-index.c:1008
+msgid "enable or disable split index"
+msgstr "ativar ou desativar a divisΓ£o do Γ­ndice"
+
+#: builtin/update-index.c:1010
+msgid "enable/disable untracked cache"
+msgstr "ativar ou desativar cache nΓ£o controlada"
+
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "testar se o sistema de ficheiros suporta cache nΓ£o controlada"
+
+#: builtin/update-index.c:1014
+msgid "enable untracked cache without testing the filesystem"
+msgstr "ativar cache nΓ£o controlada sem testar o sistema de ficheiros"
+
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "A cache nΓ£o controlada estΓ‘ desativada"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "A cache nΓ£o controlada de '%s' foi ativada."
+
+#: builtin/update-ref.c:9
+msgid "git update-ref [<options>] -d <refname> [<old-val>]"
+msgstr "git update-ref [<opΓ§Γ΅es>] -d <nome-da-referΓͺncia> [<valor-antigo>]"
+
+#: builtin/update-ref.c:10
+msgid "git update-ref [<options>] <refname> <new-val> [<old-val>]"
msgstr ""
+"git update-ref [<opΓ§Γ΅es>] <nome-da-referΓͺncia> <novo-valor> [<valor-"
+"antigo>]"
-#: common-cmds.h:16
-msgid "Print lines matching a pattern"
+#: builtin/update-ref.c:11
+msgid "git update-ref [<options>] --stdin [-z]"
+msgstr "git update-ref [<opΓ§Γ΅es>] --stdin [-z]"
+
+#: builtin/update-ref.c:363
+msgid "delete the reference"
+msgstr "eliminar a referΓͺncia"
+
+#: builtin/update-ref.c:365
+msgid "update <refname> not the one it points to"
msgstr ""
+"atualizar a referΓͺncia <nome-da-referΓͺncia>, e nΓ£o a referΓͺncia aponta por "
+"esta"
-#: common-cmds.h:17
-msgid "Create an empty git repository or reinitialize an existing one"
+#: builtin/update-ref.c:366
+msgid "stdin has NUL-terminated arguments"
+msgstr "os argumentos da entrada padrΓ£o terminam em NUL"
+
+#: builtin/update-ref.c:367
+msgid "read updates from stdin"
+msgstr "ler atualizaΓ§Γ΅es da entrada padrΓ£o"
+
+#: builtin/update-server-info.c:6
+msgid "git update-server-info [--force]"
+msgstr "git update-server-info [--force]"
+
+#: builtin/update-server-info.c:14
+msgid "update the info files from scratch"
+msgstr "atualizar os ficheiros de informaΓ§Γ£o do zero"
+
+#: builtin/verify-commit.c:17
+msgid "git verify-commit [-v | --verbose] <commit>..."
+msgstr "git verify-commit [-v | --verbose] <commit>..."
+
+#: builtin/verify-commit.c:72
+msgid "print commit contents"
+msgstr "imprimir conteΓΊdo do commit"
+
+#: builtin/verify-commit.c:73 builtin/verify-tag.c:84
+msgid "print raw gpg status output"
+msgstr "imprimir informaΓ§Γ£o do gpg em bruto"
+
+#: builtin/verify-pack.c:54
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
+msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
+
+#: builtin/verify-pack.c:64
+msgid "verbose"
+msgstr "verboso"
+
+#: builtin/verify-pack.c:66
+msgid "show statistics only"
+msgstr "mostrar apenas estatΓ­sticas"
+
+#: builtin/verify-tag.c:17
+msgid "git verify-tag [-v | --verbose] <tag>..."
+msgstr "git verify-tag [-v | --verbose] <tag>..."
+
+#: builtin/verify-tag.c:83
+msgid "print tag contents"
+msgstr "imprimir conteΓΊdo da tag"
+
+#: builtin/worktree.c:15
+msgid "git worktree add [<options>] <path> [<branch>]"
+msgstr "git worktree add [<opΓ§Γ΅es>] <caminho> [<ramo>]"
+
+#: builtin/worktree.c:16
+msgid "git worktree prune [<options>]"
+msgstr "git worktree prune [<opΓ§Γ΅es>]"
+
+#: builtin/worktree.c:17
+msgid "git worktree list [<options>]"
+msgstr "git worktree list [<opΓ§Γ΅es>]"
+
+#: builtin/worktree.c:39
+#, c-format
+msgid "Removing worktrees/%s: not a valid directory"
+msgstr "A remover worktrees/%s: diretΓ³rio invΓ‘lido"
+
+#: builtin/worktree.c:45
+#, c-format
+msgid "Removing worktrees/%s: gitdir file does not exist"
+msgstr "A remover worktrees/%s: o ficheiro gitdir nΓ£o existe"
+
+#: builtin/worktree.c:50
+#, c-format
+msgid "Removing worktrees/%s: unable to read gitdir file (%s)"
+msgstr "A remover worktrees/%s: nΓ£o Γ© possΓ­vel ler o ficheiro gitdir (%s)"
+
+#: builtin/worktree.c:61
+#, c-format
+msgid "Removing worktrees/%s: invalid gitdir file"
+msgstr "A remover worktrees/%s: ficheiro gitdir invΓ‘lido"
+
+#: builtin/worktree.c:77
+#, c-format
+msgid "Removing worktrees/%s: gitdir file points to non-existent location"
+msgstr ""
+"A remover worktrees/%s: o ficheiro gitdir aponta para uma localizaΓ§Γ£o "
+"inexistente"
+
+#: builtin/worktree.c:112
+#, c-format
+msgid "failed to remove: %s"
+msgstr "falha ao remover: %s"
+
+#: builtin/worktree.c:201
+#, c-format
+msgid "'%s' already exists"
+msgstr "'%s' jΓ‘ existe"
+
+#: builtin/worktree.c:233
+#, c-format
+msgid "could not create directory of '%s'"
+msgstr "nΓ£o foi possΓ­vel criar o diretΓ³rio de '%s'"
+
+#: builtin/worktree.c:269
+#, c-format
+msgid "Preparing %s (identifier %s)"
+msgstr "A preparar %s (identificador %s)"
+
+#: builtin/worktree.c:317
+msgid "checkout <branch> even if already checked out in other worktree"
+msgstr ""
+"extrair o <ramo> mesmo se jΓ‘ tenha sido extraΓ­do noutra Γ‘rvore de trabalho"
+
+#: builtin/worktree.c:319
+msgid "create a new branch"
+msgstr "criar um novo ramo"
+
+#: builtin/worktree.c:321
+msgid "create or reset a branch"
+msgstr "criar ou repor um ramo"
+
+#: builtin/worktree.c:322
+msgid "detach HEAD at named commit"
+msgstr "destacar HEAD no commit indicado"
+
+#: builtin/worktree.c:329
+msgid "-b, -B, and --detach are mutually exclusive"
+msgstr "-b, -B e --detach sΓ£o mutuamente exclusivos"
+
+#: builtin/write-tree.c:13
+msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]"
+msgstr "git write-tree [--missing-ok] [--prefix=<prefixo>/]"
+
+#: builtin/write-tree.c:26
+msgid "<prefix>/"
+msgstr "<prefixo>/"
+
+#: builtin/write-tree.c:27
+msgid "write tree object for a subdirectory <prefix>"
+msgstr "escrever objeto Γ‘rvore do subdiretΓ³rio <prefixo>"
+
+#: builtin/write-tree.c:30
+msgid "only useful for debugging"
+msgstr "apenas ΓΊtil para depuraΓ§Γ£o"
+
+#: credential-cache--daemon.c:262
+msgid "print debugging messages to stderr"
+msgstr "imprimir mensagens de depuraΓ§Γ£o no stderr"
+
+#: git.c:14
+msgid ""
+"'git help -a' and 'git help -g' list available subcommands and some\n"
+"concept guides. See 'git help <command>' or 'git help <concept>'\n"
+"to read about a specific subcommand or concept."
+msgstr ""
+"'git help -a' e 'git help -g' listam os subcomandos disponΓ­veis e alguns\n"
+"guias de conceitos. Consulte 'git help <comando>' ou 'git help <conceito>'\n"
+"para ler sobre um subcomando ou conceito especΓ­fico."
+
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
msgstr ""
+#: common-cmds.h:9
+msgid "start a working area (see also: git help tutorial)"
+msgstr "iniciar uma Γ‘rea de trabalho (consulte tambΓ©m: git help tutorial)"
+
+#: common-cmds.h:10
+msgid "work on the current change (see also: git help everyday)"
+msgstr "trabalhar na alteraΓ§Γ£o atual (consulte tambΓ©m: git help everyday)"
+
+#: common-cmds.h:11
+msgid "examine the history and state (see also: git help revisions)"
+msgstr "examinar o histΓ³rico e estado (consulte tambΓ©m: git help revisions)"
+
+#: common-cmds.h:12
+msgid "grow, mark and tweak your common history"
+msgstr "aumentar, marcar e ajustar o seu histΓ³rico comum"
+
+#: common-cmds.h:13
+msgid "collaborate (see also: git help workflows)"
+msgstr "colaborar (consulte tambΓ©m: git help workflows)"
+
+#: common-cmds.h:17
+msgid "Add file contents to the index"
+msgstr "Adicionar conteΓΊdos de ficheiros ao Γ­ndice"
+
#: common-cmds.h:18
-msgid "Show commit logs"
-msgstr "Mostrado logs de commits"
+msgid "Use binary search to find the commit that introduced a bug"
+msgstr "Use procura binΓ‘rio para encontrar o commit que introduziu um bug"
#: common-cmds.h:19
-msgid "Join two or more development histories together"
-msgstr ""
+msgid "List, create, or delete branches"
+msgstr "Listar, criar ou eliminar ramos"
#: common-cmds.h:20
-msgid "Move or rename a file, a directory, or a symlink"
-msgstr ""
+msgid "Switch branches or restore working tree files"
+msgstr "Mudar de ramos ou restaurar os ficheiros da Γ‘rvore de trabalho"
#: common-cmds.h:21
-msgid "Fetch from and merge with another repository or a local branch"
-msgstr ""
+msgid "Clone a repository into a new directory"
+msgstr "Clonar um repositΓ³rio num novo diretΓ³rio"
#: common-cmds.h:22
-msgid "Update remote refs along with associated objects"
-msgstr ""
+msgid "Record changes to the repository"
+msgstr "Gravar alteraΓ§Γ΅es no repositΓ³rio"
#: common-cmds.h:23
-msgid "Forward-port local commits to the updated upstream head"
+msgid "Show changes between commits, commit and working tree, etc"
msgstr ""
+"Mostrar alteraΓ§Γ΅es entre commits, entre commit e Γ‘rvore de trabalho, etc"
#: common-cmds.h:24
-msgid "Reset current HEAD to the specified state"
-msgstr ""
+msgid "Download objects and refs from another repository"
+msgstr "Transferir objetos e referΓͺncias doutro repositΓ³rio"
#: common-cmds.h:25
-msgid "Remove files from the working tree and from the index"
-msgstr ""
+msgid "Print lines matching a pattern"
+msgstr "Imprimir linhas que correspondam a um padrΓ£o"
#: common-cmds.h:26
-msgid "Show various types of objects"
-msgstr ""
+msgid "Create an empty Git repository or reinitialize an existing one"
+msgstr "Criar um repositΓ³rio Git vazio ou reinicializar um jΓ‘ existente"
#: common-cmds.h:27
-msgid "Show the working tree status"
-msgstr "Mostrar o estado los ramos das Γ‘rvores de trabalho"
+msgid "Show commit logs"
+msgstr "Mostrado logs de commits"
#: common-cmds.h:28
-msgid "Create, list, delete or verify a tag object signed with GPG"
-msgstr ""
+msgid "Join two or more development histories together"
+msgstr "Juntar duas ou mais histΓ³rias de desenvolvimento numa sΓ³"
-#: git-am.sh:50
-msgid "You need to set your committer info first"
-msgstr "Necessitas primeiro de especificiar os teus dados de committer"
+#: common-cmds.h:29
+msgid "Move or rename a file, a directory, or a symlink"
+msgstr "Mover ou mudar o nome de um ficheiro, diretΓ³rio ou ligaΓ§Γ£o simbΓ³lica"
-#: git-am.sh:137
-msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr ""
+#: common-cmds.h:30
+msgid "Fetch from and integrate with another repository or a local branch"
+msgstr "Obter e integrar com outro repositΓ³rio ou outro ramo local"
-#: git-am.sh:154
-msgid ""
-"Did you hand edit your patch?\n"
-"It does not apply to blobs recorded in its index."
-msgstr ""
-
-#: git-am.sh:163
-msgid "Falling back to patching base and 3-way merge..."
-msgstr ""
-
-#: git-am.sh:275
-msgid "Only one StGIT patch series can be applied at once"
-msgstr ""
+#: common-cmds.h:31
+msgid "Update remote refs along with associated objects"
+msgstr "Atualizar referΓͺncias remotas juntamente com objetos associados"
-#: git-am.sh:362
-#, sh-format
-msgid "Patch format $patch_format is not supported."
-msgstr ""
+#: common-cmds.h:32
+msgid "Reapply commits on top of another base tip"
+msgstr "Reaplicar commits no topo de outra base"
-#: git-am.sh:364
-msgid "Patch format detection failed."
-msgstr "Falhou a detecΓ§Γ£o do formato do patch."
+#: common-cmds.h:33
+msgid "Reset current HEAD to the specified state"
+msgstr "Repor a HEAD atual no estado especificado"
-#: git-am.sh:418
-msgid "-d option is no longer supported. Do not use."
-msgstr ""
+#: common-cmds.h:34
+msgid "Remove files from the working tree and from the index"
+msgstr "Remover ficheiros da Γ‘rvore de trabalho e do Γ­ndice"
-#: git-am.sh:481
-#, sh-format
-msgid "previous rebase directory $dotest still exists but mbox given."
-msgstr ""
+#: common-cmds.h:35
+msgid "Show various types of objects"
+msgstr "Mostrar vΓ‘rios tipos objetos"
-#: git-am.sh:486
-msgid "Please make up your mind. --skip or --abort?"
-msgstr ""
+#: common-cmds.h:36
+msgid "Show the working tree status"
+msgstr "Mostrar o estado da Γ‘rvores de trabalho"
-#: git-am.sh:513
-msgid "Resolve operation not in progress, we are not resuming."
-msgstr ""
+#: common-cmds.h:37
+msgid "Create, list, delete or verify a tag object signed with GPG"
+msgstr "Criar, listar, eliminar ou verificar um objeto tag assinado com GPG"
-#: git-am.sh:579
-#, sh-format
-msgid "Dirty index: cannot apply patches (dirty: $files)"
-msgstr ""
+#: parse-options.h:145
+msgid "expiry-date"
+msgstr "data-de-validade"
-#: git-am.sh:755
-msgid "cannot be interactive without stdin connected to a terminal."
-msgstr ""
+#: parse-options.h:160
+msgid "no-op (backward compatibility)"
+msgstr "sem-aΓ§Γ£o (retrocompatibilidade)"
-#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
-#. in your translation. The program will only accept English
-#. input at this point.
-#: git-am.sh:766
-msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
-msgstr "Aplicar? Sim[y]/[n]Γ£o/[e]ditar/[v]er patch/[a]ceitar todos "
+#: parse-options.h:237
+msgid "be more verbose"
+msgstr "ser mais verboso"
-#: git-am.sh:802
-#, sh-format
-msgid "Applying: $FIRSTLINE"
-msgstr "Aplicando: $FIRSTLINE"
+#: parse-options.h:239
+msgid "be more quiet"
+msgstr "ser mais silencioso"
-#: git-am.sh:847
-msgid "No changes -- Patch already applied."
-msgstr "Nenhuma mudanΓ§a -- JΓ‘ foi aplicado o patch."
+#: parse-options.h:245
+msgid "use <n> digits to display SHA-1s"
+msgstr "usar <n> dΓ­gitos para mostrar SHA-1s"
-#: git-am.sh:873
-msgid "applying to an empty history"
+#: rerere.h:38
+msgid "update the index with reused conflict resolution if possible"
msgstr ""
+"atualizar o Γ­ndice com resoluΓ§Γ΅es de conflitos reutilizadas se possΓ­vel"
+
+#: git-bisect.sh:55
+msgid "You need to start by \"git bisect start\""
+msgstr "Deve comeΓ§ar por executar \"git bisect start\""
#. TRANSLATORS: Make sure to include [Y] and [n] in your
#. translation. The program will only accept English input
#. at this point.
-#: git-bisect.sh:54
+#: git-bisect.sh:61
msgid "Do you want me to do it for you [Y/n]? "
-msgstr "Queres que eu faΓ§a por sΓ­ [Y/n]?"
+msgstr "Quer que o Git o faΓ§a por si [Y/n]? "
-#: git-bisect.sh:95
+#: git-bisect.sh:122
#, sh-format
msgid "unrecognised option: '$arg'"
-msgstr ""
+msgstr "opΓ§Γ£o nΓ£o reconhecida: '$arg'"
-#: git-bisect.sh:99
+#: git-bisect.sh:126
#, sh-format
msgid "'$arg' does not appear to be a valid revision"
-msgstr ""
+msgstr "'$arg' nΓ£o parecer ser uma revisΓ£o vΓ‘lida"
-#: git-bisect.sh:117
+#: git-bisect.sh:155
msgid "Bad HEAD - I need a HEAD"
-msgstr ""
+msgstr "HEAD incorreta - Γ© necessΓ‘rio uma HEAD"
-#: git-bisect.sh:130
+#: git-bisect.sh:168
#, sh-format
-msgid "Checking out '$start_head' failed. Try 'git bisect reset <validbranch>'."
+msgid ""
+"Checking out '$start_head' failed. Try 'git bisect reset <valid-branch>'."
msgstr ""
+"Falha ao extrair '$start_head'. Tente 'git bisect reset <ramo-vΓ‘lido>'."
-#: git-bisect.sh:140
-msgid "won't bisect on seeked tree"
-msgstr ""
+#: git-bisect.sh:178
+msgid "won't bisect on cg-seek'ed tree"
+msgstr "nΓ£o Γ© possΓ­vel bisseccionar numa Γ‘rvore \"cg-seek'ed\""
-#: git-bisect.sh:144
+#: git-bisect.sh:182
msgid "Bad HEAD - strange symbolic ref"
-msgstr ""
+msgstr "HEAD incorreta - referΓͺncia simbΓ³lica desconhecida"
-#: git-bisect.sh:189
+#: git-bisect.sh:234
#, sh-format
msgid "Bad bisect_write argument: $state"
-msgstr ""
+msgstr "Argumento de bisect_write incorreto: $state"
-#: git-bisect.sh:218
+#: git-bisect.sh:263
#, sh-format
msgid "Bad rev input: $arg"
-msgstr ""
+msgstr "RevisΓ£o incorreta na entrada: $arg"
-#: git-bisect.sh:232
+#: git-bisect.sh:278
msgid "Please call 'bisect_state' with at least one argument."
-msgstr ""
+msgstr "Invoque 'bisect_state' com pelo menos um argumento."
-#: git-bisect.sh:244
+#: git-bisect.sh:290
#, sh-format
msgid "Bad rev input: $rev"
-msgstr ""
+msgstr "RevisΓ£o incorreta na entrada: $rev"
-#: git-bisect.sh:250
-msgid "'git bisect bad' can take only one argument."
-msgstr ""
+#: git-bisect.sh:299
+#, sh-format
+msgid "'git bisect $TERM_BAD' can take only one argument."
+msgstr "'git bisect $TERM_BAD' sΓ³ leva um argumento."
+
+#: git-bisect.sh:322
+#, sh-format
+msgid "Warning: bisecting only with a $TERM_BAD commit."
+msgstr "Aviso: a bisseccionar sΓ³ com um commit $TERM_BAD."
#. TRANSLATORS: Make sure to include [Y] and [n] in your
#. translation. The program will only accept English input
#. at this point.
-#: git-bisect.sh:279
+#: git-bisect.sh:328
msgid "Are you sure [Y/n]? "
-msgstr "Tens a certeza [Y/n]? "
+msgstr "Tem a certeza [Y/n]? "
-#: git-bisect.sh:354
+#: git-bisect.sh:340
#, sh-format
-msgid "'$invalid' is not a valid commit"
+msgid ""
+"You need to give me at least one $bad_syn and one $good_syn revision.\n"
+"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
msgstr ""
+"Deve indicar pelo menos uma revisΓ£o $bad_syn e uma revisΓ£o $good_syn.\n"
+"(Pode usar \"git bisect $bad_syn\" e \"git bisect $good_syn\" para esse fim.)"
-#: git-bisect.sh:363
+#: git-bisect.sh:343
+#, sh-format
+msgid ""
+"You need to start by \"git bisect start\".\n"
+"You then need to give me at least one $good_syn and one $bad_syn revision.\n"
+"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)"
+msgstr ""
+"Deve comeΓ§ar por executar \"git bisect start\".\n"
+"Indique pelo menos uma revisΓ£o $good_syn e uma revisΓ£o $bad_syn.\n"
+"(Pode usar \"git bisect $bad_syn\" e \"git bisect $good_syn\" para esse fim.)"
+
+#: git-bisect.sh:414 git-bisect.sh:546
+msgid "We are not bisecting."
+msgstr "NΓ£o estamos a bisseccionar."
+
+#: git-bisect.sh:421
+#, sh-format
+msgid "'$invalid' is not a valid commit"
+msgstr "'$invalid' nΓ£o Γ© um commit vΓ‘lido"
+
+#: git-bisect.sh:430
#, sh-format
msgid ""
"Could not check out original HEAD '$branch'.\n"
"Try 'git bisect reset <commit>'."
msgstr ""
+"NΓ£o foi possΓ­vel extrair a HEAD original de '$branch'.\n"
+"Tente 'git bisect reset <commit>'."
-#: git-bisect.sh:390
+#: git-bisect.sh:458
msgid "No logfile given"
-msgstr "Nenhum ficheiro de log dado"
+msgstr "Nenhum ficheiro de log fornecido"
-#: git-bisect.sh:391
+#: git-bisect.sh:459
#, sh-format
msgid "cannot read $file for replaying"
-msgstr ""
+msgstr "nΓ£o Γ© possΓ­vel ler $file para reproduzir"
-#: git-bisect.sh:408
+#: git-bisect.sh:480
msgid "?? what are you talking about?"
+msgstr "?? do que Γ© que estΓ‘ a falar?"
+
+#: git-bisect.sh:492
+#, sh-format
+msgid "running $command"
+msgstr "a executar $command"
+
+#: git-bisect.sh:499
+#, sh-format
+msgid ""
+"bisect run failed:\n"
+"exit code $res from '$command' is < 0 or >= 128"
msgstr ""
+"falha bisseccionar:\n"
+"cΓ³digo de saΓ­da $res de '$command' Γ© < 0 ou >= 128"
-#: git-bisect.sh:474
-msgid "We are not bisecting."
-msgstr "NΓ£o estamos a bisseccionar."
+#: git-bisect.sh:525
+msgid "bisect run cannot continue any more"
+msgstr "nΓ£o Γ© possΓ­vel continuar a bisseccionar"
-#: git-pull.sh:21
+#: git-bisect.sh:531
+#, sh-format
msgid ""
-"Pull is not possible because you have unmerged files.\n"
-"Please, fix them up in the work tree, and then use 'git add/rm <file>'\n"
-"as appropriate to mark resolution, or use 'git commit -a'."
+"bisect run failed:\n"
+"'bisect_state $state' exited with error code $res"
+msgstr ""
+"falha ao bisseccionar:\n"
+"'bisect_state $state' retornou com o cΓ³digo de erro $res"
+
+#: git-bisect.sh:538
+msgid "bisect run success"
+msgstr "bissecΓ§Γ£o concluΓ­da com sucesso"
+
+#: git-bisect.sh:565
+msgid "please use two different terms"
+msgstr "use dois termos diferentes"
+
+#: git-bisect.sh:575
+#, sh-format
+msgid "'$term' is not a valid term"
+msgstr "'$term' nΓ£o Γ© um termo vΓ‘lido"
+
+#: git-bisect.sh:578
+#, sh-format
+msgid "can't use the builtin command '$term' as a term"
+msgstr "nΓ£o Γ© possΓ­vel usar o comando '$term' como um termo"
+
+#: git-bisect.sh:587 git-bisect.sh:593
+#, sh-format
+msgid "can't change the meaning of term '$term'"
+msgstr "nΓ£o Γ© possΓ­vel alterar o significado do termo '$term'"
+
+#: git-bisect.sh:606
+#, sh-format
+msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect."
msgstr ""
+"Comando invΓ‘lido: bissecΓ§Γ£o em curso usando os termo $TERM_BAD/$TERM_GOOD."
-#: git-pull.sh:25
-msgid "Pull is not possible because you have unmerged files."
+#: git-bisect.sh:636
+msgid "no terms defined"
+msgstr "nenhum termo definido"
+
+#: git-bisect.sh:653
+#, sh-format
+msgid ""
+"invalid argument $arg for 'git bisect terms'.\n"
+"Supported options are: --term-good|--term-old and --term-bad|--term-new."
+msgstr ""
+"argumento invΓ‘lido $arg de 'git bisect terms'.\n"
+"OpΓ§Γ΅es suportadas: --term-good|--term-old e --term-bad|--term-new."
+
+#: git-rebase.sh:57
+msgid ""
+"When you have resolved this problem, run \"git rebase --continue\".\n"
+"If you prefer to skip this patch, run \"git rebase --skip\" instead.\n"
+"To check out the original branch and stop rebasing, run \"git rebase --abort"
+"\"."
+msgstr ""
+"Depois de resolver este problema, execute \"git rebase --continue\".\n"
+"Se prefere ignorar este patch, execute \"git rebase --skip\".\n"
+"Para extrair o ramo original e interromper o rebase, execute \"git rebase --"
+"abort\"."
+
+#: git-rebase.sh:165
+msgid "Applied autostash."
+msgstr "Autostash aplicado."
+
+#: git-rebase.sh:168
+#, sh-format
+msgid "Cannot store $stash_sha1"
+msgstr "NΓ£o Γ© possΓ­vel guardar $stash_sha1"
+
+#: git-rebase.sh:169
+msgid ""
+"Applying autostash resulted in conflicts.\n"
+"Your changes are safe in the stash.\n"
+"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
msgstr ""
+"Surgiram conflitos ao aplicar autostash.\n"
+"As suas alteraΓ§Γ΅es estΓ£o guardadas no stash.\n"
+"Pode executar \"git stash pop\" ou \"git stash drop\" oportunamente.\n"
-#: git-pull.sh:197
-msgid "updating an unborn branch with changes added to the index"
+#: git-rebase.sh:208
+msgid "The pre-rebase hook refused to rebase."
+msgstr "Rebase recusado pelo hook pre-rebase."
+
+#: git-rebase.sh:213
+msgid "It looks like git-am is in progress. Cannot rebase."
+msgstr "Parece que o git-am estΓ‘ em curso. NΓ£o Γ© possΓ­vel efetuar rebase."
+
+#: git-rebase.sh:354
+msgid "The --exec option must be used with the --interactive option"
+msgstr "A opΓ§Γ£o --exec deve ser usada com a opΓ§Γ£o --interactive"
+
+#: git-rebase.sh:359
+msgid "No rebase in progress?"
+msgstr "Rebase nΓ£o estΓ‘ em curso?"
+
+#: git-rebase.sh:370
+msgid "The --edit-todo action can only be used during interactive rebase."
+msgstr "A aΓ§Γ£o --edit-todo sΓ³ pode ser usada durante um rebase interativo."
+
+#: git-rebase.sh:377
+msgid "Cannot read HEAD"
+msgstr "NΓ£o Γ© possΓ­vel ler HEAD"
+
+#: git-rebase.sh:380
+msgid ""
+"You must edit all merge conflicts and then\n"
+"mark them as resolved using git add"
msgstr ""
+"Deve editar todos os conflitos do merge e\n"
+"marcΓ‘-los como resolvidos usando git add"
+
+#: git-rebase.sh:398
+#, sh-format
+msgid "Could not move back to $head_name"
+msgstr "NΓ£o foi possΓ­vel voltar para $head_name"
+
+#: git-rebase.sh:417
+#, sh-format
+msgid ""
+"It seems that there is already a $state_dir_base directory, and\n"
+"I wonder if you are in the middle of another rebase. If that is the\n"
+"case, please try\n"
+"\t$cmd_live_rebase\n"
+"If that is not the case, please\n"
+"\t$cmd_clear_stale_rebase\n"
+"and run me again. I am stopping in case you still have something\n"
+"valuable there."
+msgstr ""
+"Parece que jΓ‘ existe um diretΓ³rio $state_dir_base e\n"
+"Γ© possΓ­vel que outro processo de rebase jΓ‘ esteja em curso.\n"
+"Se for o caso, tente\n"
+"\t$cmd_live_rebase\n"
+"Se nΓ£o for o caso,\n"
+"\t$cmd_clear_stale_rebase\n"
+"e execute o comando de novo. A execuΓ§Γ£o foi interrompida no caso de\n"
+"ainda ter algo importante nesse sΓ­tio."
+
+#: git-rebase.sh:468
+#, sh-format
+msgid "invalid upstream $upstream_name"
+msgstr "$upstream_name a montante invΓ‘lido"
+
+#: git-rebase.sh:492
+#, sh-format
+msgid "$onto_name: there are more than one merge bases"
+msgstr "$onto_name: hΓ‘ mais do que uma base de merge"
+
+#: git-rebase.sh:495 git-rebase.sh:499
+#, sh-format
+msgid "$onto_name: there is no merge base"
+msgstr "$onto_name: nΓ£o hΓ‘ nenhuma base de merge"
+
+#: git-rebase.sh:504
+#, sh-format
+msgid "Does not point to a valid commit: $onto_name"
+msgstr "NΓ£o aponta para um commit vΓ‘lido: $onto_name"
+
+#: git-rebase.sh:527
+#, sh-format
+msgid "fatal: no such branch: $branch_name"
+msgstr "fatal: ramo inexistente: $branch_name"
+
+#: git-rebase.sh:560
+msgid "Cannot autostash"
+msgstr "NΓ£o Γ© possΓ­vel efetuar autostash"
+
+#: git-rebase.sh:565
+#, sh-format
+msgid "Created autostash: $stash_abbrev"
+msgstr "Autostash criado: $stash_abbrev"
+
+#: git-rebase.sh:569
+msgid "Please commit or stash them."
+msgstr "FaΓ§a commit ou stash delas."
-#: git-pull.sh:253
-msgid "Cannot merge multiple branches into empty head"
+#: git-rebase.sh:589
+#, sh-format
+msgid "Current branch $branch_name is up to date."
+msgstr "O ramo atual $branch_name estΓ‘ atualizado."
+
+#: git-rebase.sh:593
+#, sh-format
+msgid "Current branch $branch_name is up to date, rebase forced."
+msgstr "O ramo atual $branch_name estΓ‘ atualizado, rebase forΓ§ado."
+
+#: git-rebase.sh:604
+#, sh-format
+msgid "Changes from $mb to $onto:"
+msgstr "AlteraΓ§Γ΅es de $mb para $onto:"
+
+#: git-rebase.sh:613
+msgid "First, rewinding head to replay your work on top of it..."
msgstr ""
+"Primeiro, a recuar a cabeΓ§a para replicar as suas alteraΓ§Γ΅es no topo desta..."
-#: git-pull.sh:257
-msgid "Cannot rebase onto multiple branches"
-msgstr "NΓ£o Γ© possΓ­vel fazer rebase com vΓ‘rias ramas"
+#: git-rebase.sh:623
+#, sh-format
+msgid "Fast-forwarded $branch_name to $onto_name."
+msgstr "$branch_name avanΓ§ado rapidamente para $onto_name."
#: git-stash.sh:51
msgid "git stash clear with parameters is unimplemented"
-msgstr ""
+msgstr "nΓ£o estΓ‘ implementado git stash clear com parΓ’metros"
#: git-stash.sh:74
msgid "You do not have the initial commit yet"
-msgstr "Tu ainda nΓ£o tens o commit inicial"
+msgstr "O commit inicial ainda nΓ£o existe"
#: git-stash.sh:89
msgid "Cannot save the current index state"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel guardar o estado atual do Γ­ndice"
-#: git-stash.sh:123
-#: git-stash.sh:136
+#: git-stash.sh:124 git-stash.sh:137
msgid "Cannot save the current worktree state"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel guardar o estado atual da Γ‘rvore de trabalho"
-#: git-stash.sh:140
+#: git-stash.sh:141
msgid "No changes selected"
-msgstr "NΓ£o hΓ‘ alteraΓ§Γ΅es seleccionadas"
+msgstr "Nenhuma alteraΓ§Γ£o selecionada"
-#: git-stash.sh:143
+#: git-stash.sh:144
msgid "Cannot remove temporary index (can't happen)"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel remover o Γ­ndice temporΓ‘rio (nΓ£o pode acontecer)"
-#: git-stash.sh:156
+#: git-stash.sh:157
msgid "Cannot record working tree state"
+msgstr "NΓ£o Γ© possΓ­vel gravar o estado da Γ‘rvore de trabalho"
+
+#: git-stash.sh:189
+#, sh-format
+msgid "Cannot update $ref_stash with $w_commit"
+msgstr "NΓ£o Γ© possΓ­vel atualizar $ref_stash com $w_commit"
+
+#. TRANSLATORS: $option is an invalid option, like
+#. `--blah-blah'. The 7 spaces at the beginning of the
+#. second line correspond to "error: ". So you should line
+#. up the second line with however many characters the
+#. translation of "error: " takes in your language. E.g. in
+#. English this is:
+#.
+#. $ git stash save --blah-blah 2>&1 | head -n 2
+#. error: unknown option for 'stash save': --blah-blah
+#. To provide a message, use git stash save -- '--blah-blah'
+#: git-stash.sh:239
+#, sh-format
+msgid ""
+"error: unknown option for 'stash save': $option\n"
+" To provide a message, use git stash save -- '$option'"
msgstr ""
+"erro: opΓ§Γ£o desconhecida de 'stash save': $option\n"
+" Para fornecer uma mensagem, use git stash save -- '$option'"
-#: git-stash.sh:223
+#: git-stash.sh:260
msgid "No local changes to save"
-msgstr "Sem alteraΓ§Γ΅es locais para guardar"
+msgstr "NΓ£o hΓ‘ alteraΓ§Γ΅es locais para guardar"
-#: git-stash.sh:227
+#: git-stash.sh:264
msgid "Cannot initialize stash"
msgstr "NΓ£o Γ© possΓ­vel inicializar o stash"
-#: git-stash.sh:235
+#: git-stash.sh:268
msgid "Cannot save the current status"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel guardar o estado atual"
-#: git-stash.sh:253
+#: git-stash.sh:286
msgid "Cannot remove worktree changes"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel remover as alteraΓ§Γ΅es da Γ‘rvore de trabalho"
+
+#: git-stash.sh:405
+#, sh-format
+msgid "unknown option: $opt"
+msgstr "opΓ§Γ£o desconhecido: $opt"
-#: git-stash.sh:352
+#: git-stash.sh:415
msgid "No stash found."
-msgstr "nenhum stash encontrado."
+msgstr "Nenhum stash encontrado."
-#: git-stash.sh:359
+#: git-stash.sh:422
#, sh-format
msgid "Too many revisions specified: $REV"
-msgstr ""
+msgstr "Demasiadas revisΓ΅es especificadas: $REV"
-#: git-stash.sh:365
+#: git-stash.sh:428
#, sh-format
-msgid "$reference is not valid reference"
-msgstr ""
+msgid "$reference is not a valid reference"
+msgstr "$reference nΓ£o Γ© uma referΓͺncia vΓ‘lida"
-#: git-stash.sh:393
+#: git-stash.sh:456
#, sh-format
msgid "'$args' is not a stash-like commit"
-msgstr ""
+msgstr "'$args' nΓ£o Γ© um commit do tipo stash"
-#: git-stash.sh:404
+#: git-stash.sh:467
#, sh-format
msgid "'$args' is not a stash reference"
-msgstr ""
+msgstr "'$args' nΓ£o Γ© uma referΓͺncia de stash"
-#: git-stash.sh:412
+#: git-stash.sh:475
msgid "unable to refresh index"
-msgstr ""
+msgstr "nΓ£o foi possΓ­vel refrescar o Γ­ndice"
-#: git-stash.sh:416
+#: git-stash.sh:479
msgid "Cannot apply a stash in the middle of a merge"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel aplicar um stash durante um merge"
-#: git-stash.sh:424
+#: git-stash.sh:487
msgid "Conflicts in index. Try without --index."
-msgstr ""
+msgstr "Conflitos no Γ­ndice. Tente sem --index."
-#: git-stash.sh:426
+#: git-stash.sh:489
msgid "Could not save index tree"
-msgstr "NΓ£o foi posivel guardar o index tree"
+msgstr "NΓ£o foi possΓ­vel guardar Γ‘rvore do Γ­ndice"
-#: git-stash.sh:460
+#: git-stash.sh:523
msgid "Cannot unstage modified files"
-msgstr ""
+msgstr "NΓ£o Γ© possΓ­vel retirar os ficheiros modificado do Γ­ndice"
+
+#: git-stash.sh:538
+msgid "Index was not unstashed."
+msgstr "O Γ­ndice nΓ£o foi reposto."
-#: git-stash.sh:491
+#: git-stash.sh:561
#, sh-format
msgid "Dropped ${REV} ($s)"
-msgstr "Deixado cair ${REV} ($s)"
+msgstr "A descartar ${REV} ($s)"
-#: git-stash.sh:492
+#: git-stash.sh:562
#, sh-format
msgid "${REV}: Could not drop stash entry"
-msgstr ""
+msgstr "${REV}: NΓ£o foi possΓ­vel descartar elemento do stash"
-#: git-stash.sh:499
+#: git-stash.sh:570
msgid "No branch name specified"
-msgstr "Nenhum nome para a rama especificado"
+msgstr "Nenhum nome de ramo especificado"
-#: git-stash.sh:570
+#: git-stash.sh:642
msgid "(To restore them type \"git stash apply\")"
-msgstr ""
+msgstr "(Para os restaurar execute \"git stash apply\")"
-#: git-submodule.sh:56
+#: git-submodule.sh:104
#, sh-format
msgid "cannot strip one component off url '$remoteurl'"
+msgstr "nΓ£o Γ© possΓ­vel tirar um componente do URL '$remoteurl'"
+
+#: git-submodule.sh:281
+msgid "Relative path can only be used from the toplevel of the working tree"
msgstr ""
+"Os caminhos relativos sΓ³ podem ser usados a partir do topo da Γ‘rvore de "
+"trabalho"
-#: git-submodule.sh:109
+#: git-submodule.sh:291
#, sh-format
-msgid "No submodule mapping found in .gitmodules for path '$sm_path'"
-msgstr ""
+msgid "repo URL: '$repo' must be absolute or begin with ./|../"
+msgstr "URL do repositΓ³rio: '$repo' deve ser absoluto ou comeΓ§ar com ./|../"
-#: git-submodule.sh:150
+#: git-submodule.sh:308
#, sh-format
-msgid "Clone of '$url' into submodule path '$sm_path' failed"
+msgid "'$sm_path' already exists in the index"
+msgstr "'$sm_path' jΓ‘ existe no Γ­ndice"
+
+#: git-submodule.sh:312
+#, 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 ""
+"O seguinte caminho foi ignorado por um ficheiro .gitignore:\n"
+"$sm_path\n"
+"Use -f se pretende mesmo adicionΓ‘-lo."
+
+#: git-submodule.sh:330
+#, sh-format
+msgid "Adding existing repo at '$sm_path' to the index"
+msgstr "A adicionar repositΓ³rio existente em '$sm_path' ao Γ­ndice"
+
+#: git-submodule.sh:332
+#, sh-format
+msgid "'$sm_path' already exists and is not a valid git repo"
+msgstr "'$sm_path' jΓ‘ existe e nΓ£o Γ© uma repositΓ³rio git vΓ‘lido"
-#: git-submodule.sh:160
+#: git-submodule.sh:340
#, sh-format
-msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa"
+msgid "A git directory for '$sm_name' is found locally with remote(s):"
msgstr ""
+"Um diretΓ³rio git de '$sm_name' foi encontrado localmente com os remotos:"
-#: git-submodule.sh:249
+#: git-submodule.sh:342
#, sh-format
-msgid "repo URL: '$repo' must be absolute or begin with ./|../"
+msgid ""
+"If you want to reuse this local git directory instead of cloning again from"
msgstr ""
+"Se deseja reutilizar este diretΓ³rio git local em vez de clonar de novo de"
-#: git-submodule.sh:266
+#: git-submodule.sh:344
#, sh-format
-msgid "'$sm_path' already exists in the index"
+msgid ""
+"use the '--force' option. If the local git directory is not the correct repo"
msgstr ""
+"use a opΓ§Γ£o '--force'. Se o diretΓ³rio git local nΓ£o Γ© o repositΓ³rio correto"
-#: git-submodule.sh:283
+#: git-submodule.sh:345
#, sh-format
-msgid "'$sm_path' already exists and is not a valid git repo"
+msgid ""
+"or you are unsure what this means choose another name with the '--name' "
+"option."
msgstr ""
+"ou nΓ£o tem a certeza do que isto significa, escolha outro nome com a opΓ§Γ£o "
+"'--name'."
+
+#: git-submodule.sh:347
+#, sh-format
+msgid "Reactivating local git directory for submodule '$sm_name'."
+msgstr "A reativar o diretΓ³rio git local do submΓ³dulo '$sm_name'."
-#: git-submodule.sh:297
+#: git-submodule.sh:359
#, sh-format
msgid "Unable to checkout submodule '$sm_path'"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel extrair o submΓ³dulo '$sm_path'"
-#: git-submodule.sh:302
+#: git-submodule.sh:364
#, sh-format
msgid "Failed to add submodule '$sm_path'"
-msgstr ""
+msgstr "Falha ao adicionar o submΓ³dulo '$sm_path'"
-#: git-submodule.sh:307
+#: git-submodule.sh:373
#, sh-format
msgid "Failed to register submodule '$sm_path'"
+msgstr "Falha ao registar o submΓ³dulo '$sm_path'"
+
+#: git-submodule.sh:417
+#, sh-format
+msgid "Entering '$prefix$displaypath'"
+msgstr "A entrar em '$prefix$displaypath'"
+
+#: git-submodule.sh:437
+#, sh-format
+msgid "Stopping at '$prefix$displaypath'; script returned non-zero status."
msgstr ""
+"Interrompido em '$prefix$displaypath'; o script retornou um valor diferente "
+"de zero."
+
+#: git-submodule.sh:483
+#, sh-format
+msgid "No url found for submodule path '$displaypath' in .gitmodules"
+msgstr "Nenhum URL encontrado no submΓ³dulo '$displaypath' em .gitmodules"
+
+#: git-submodule.sh:492
+#, sh-format
+msgid "Failed to register url for submodule path '$displaypath'"
+msgstr "Falha ao registar o URL do submΓ³dulo '$displaypath'"
-#: git-submodule.sh:349
+#: git-submodule.sh:494
#, sh-format
-msgid "Entering '$prefix$sm_path'"
-msgstr "Entrando '$prefix$sm_path'"
+msgid "Submodule '$name' ($url) registered for path '$displaypath'"
+msgstr "SubmΓ³dulo '$name' ($url) registado em '$displaypath'"
-#: git-submodule.sh:363
+#: git-submodule.sh:511
#, sh-format
-msgid "Stopping at '$sm_path'; script returned non-zero status."
+msgid "Failed to register update mode for submodule path '$displaypath'"
+msgstr "Falha ao registar o modo de atualizaΓ§Γ£o do submΓ³dulo em '$displaypath'"
+
+#: git-submodule.sh:549
+#, sh-format
+msgid "Use '.' if you really want to deinitialize all submodules"
+msgstr "Use '.' se pretende mesmo anular a inicializaΓ§Γ£o todos os submΓ³dulos"
+
+#: git-submodule.sh:566
+#, sh-format
+msgid "Submodule work tree '$displaypath' contains a .git directory"
msgstr ""
+"A Γ‘rvore de trabalho do submΓ³dulo em '$displaypath' contΓ©m um diretΓ³rio .git"
-#: git-submodule.sh:405
+#: git-submodule.sh:567
#, sh-format
-msgid "No url found for submodule path '$sm_path' in .gitmodules"
+msgid ""
+"(use 'rm -rf' if you really want to remove it including all of its history)"
msgstr ""
+"(use 'rm -rf' se pretende mesmo removΓͺ-lo, incluindo todo o seu histΓ³rico)"
-#: git-submodule.sh:414
+#: git-submodule.sh:573
#, sh-format
-msgid "Failed to register url for submodule path '$sm_path'"
+msgid ""
+"Submodule work tree '$displaypath' contains local modifications; use '-f' to "
+"discard them"
msgstr ""
+"A Γ‘rvore de trabalho do submΓ³dulo em '$displaypath' contΓ©m alteraΓ§Γ΅es "
+"locais; use '-f' para as descartar"
-#: git-submodule.sh:422
+#: git-submodule.sh:576
+#, sh-format
+msgid "Cleared directory '$displaypath'"
+msgstr "DiretΓ³rio '$displaypath' limpo"
+
+#: git-submodule.sh:577
#, sh-format
-msgid "Failed to register update mode for submodule path '$sm_path'"
+msgid "Could not remove submodule work tree '$displaypath'"
msgstr ""
+"NΓ£o foi possΓ­vel remover a Γ‘rvore de trabalho do submΓ³dulo em '$displaypath'"
-#: git-submodule.sh:424
+#: git-submodule.sh:580
#, sh-format
-msgid "Submodule '$name' ($url) registered for path '$sm_path'"
+msgid "Could not create empty submodule directory '$displaypath'"
+msgstr "NΓ£o foi possΓ­vel criar o diretΓ³rio vazio do submΓ³dulo '$displaypath'"
+
+#: git-submodule.sh:589
+#, sh-format
+msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
msgstr ""
+"O registo do submΓ³dulo '$name' ($url) foi removido do caminho '$displaypath'"
-#: git-submodule.sh:523
+#: git-submodule.sh:723
#, sh-format
msgid ""
-"Submodule path '$sm_path' not initialized\n"
+"Submodule path '$displaypath' not initialized\n"
"Maybe you want to use 'update --init'?"
msgstr ""
+"SubmΓ³dulo em '$displaypath' nΓ£o inicializado\n"
+"Talvez queira usar 'update --init'?"
-#: git-submodule.sh:536
+#: git-submodule.sh:736
#, sh-format
-msgid "Unable to find current revision in submodule path '$sm_path'"
+msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr ""
+"NΓ£o foi possΓ­vel encontrar a revisΓ£o atual no submΓ³dulo em '$displaypath'"
-#: git-submodule.sh:555
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
-msgstr ""
+msgstr "NΓ£o foi possΓ­vel obter no submΓ³dulo '$sm_path'"
-#: git-submodule.sh:569
+#: git-submodule.sh:768
#, sh-format
-msgid "Unable to rebase '$sha1' in submodule path '$sm_path'"
-msgstr ""
+msgid "Unable to fetch in submodule path '$displaypath'"
+msgstr "NΓ£o Γ© possΓ­vel obter no submΓ³dulo '$displaypath'"
-#: git-submodule.sh:570
+#: git-submodule.sh:788
#, sh-format
-msgid "Submodule path '$sm_path': rebased into '$sha1'"
-msgstr ""
+msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
+msgstr "NΓ£o foi possΓ­vel extrair '$sha1' no submΓ³dulo em '$displaypath'"
-#: git-submodule.sh:575
+#: git-submodule.sh:789
#, sh-format
-msgid "Unable to merge '$sha1' in submodule path '$sm_path'"
-msgstr ""
+msgid "Submodule path '$displaypath': checked out '$sha1'"
+msgstr "SubmΓ³dulo em '$displaypath': '$sha1' extraΓ­do"
-#: git-submodule.sh:576
+#: git-submodule.sh:793
#, sh-format
-msgid "Submodule path '$sm_path': merged in '$sha1'"
+msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr ""
+"NΓ£o foi possΓ­vel efetuar rebase de '$sha1' no submΓ³dulo em '$displaypath'"
-#: git-submodule.sh:581
+#: git-submodule.sh:794
#, sh-format
-msgid "Unable to checkout '$sha1' in submodule path '$sm_path'"
-msgstr ""
+msgid "Submodule path '$displaypath': rebased into '$sha1'"
+msgstr "SubmΓ³dulo em '$displaypath': rebase concluΓ­do em '$sha1'"
-#: git-submodule.sh:582
+#: git-submodule.sh:799
#, sh-format
-msgid "Submodule path '$sm_path': checked out '$sha1'"
-msgstr ""
+msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
+msgstr "NΓ£o Γ© possΓ­vel efetuar merge de '$sha1' no submΓ³dulo em '$displaypath'"
-#: git-submodule.sh:604
-#: git-submodule.sh:927
+#: git-submodule.sh:800
#, sh-format
-msgid "Failed to recurse into submodule path '$sm_path'"
-msgstr ""
+msgid "Submodule path '$displaypath': merged in '$sha1'"
+msgstr "SubmΓ³dulo em '$displaypath': merge em '$sha1' concluΓ­do"
-#: git-submodule.sh:712
-msgid "--"
-msgstr "--"
+#: git-submodule.sh:805
+#, sh-format
+msgid ""
+"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
+msgstr "Falha ao executar '$command $sha1' no submΓ³dulo em '$prefix$sm_path'"
-#: git-submodule.sh:770
+#: git-submodule.sh:806
#, sh-format
-msgid " Warn: $name doesn't contain commit $sha1_src"
-msgstr ""
+msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
+msgstr "SubmΓ³dulo em '$prefix$sm_path': '$command $sha1'"
-#: git-submodule.sh:773
+#: git-submodule.sh:836
#, sh-format
-msgid " Warn: $name doesn't contain commit $sha1_dst"
-msgstr ""
+msgid "Failed to recurse into submodule path '$displaypath'"
+msgstr "Falha ao percorrer o submΓ³dulo em '$displaypath'"
+
+#: git-submodule.sh:944
+msgid "The --cached option cannot be used with the --files option"
+msgstr "A opΓ§Γ£o --cached nΓ£o pode ser usada com a opΓ§Γ£o --files"
-#: git-submodule.sh:776
+#: git-submodule.sh:996
#, sh-format
-msgid " Warn: $name doesn't contain commits $sha1_src and $sha1_dst"
-msgstr ""
+msgid "unexpected mode $mod_dst"
+msgstr "modo inesperado $mod_dst"
+
+#: git-submodule.sh:1016
+#, sh-format
+msgid " Warn: $display_name doesn't contain commit $sha1_src"
+msgstr " Aviso: $display_name nΓ£o contΓ©m o commit $sha1_src"
+
+#: git-submodule.sh:1019
+#, sh-format
+msgid " Warn: $display_name doesn't contain commit $sha1_dst"
+msgstr " Warn: $display_name nΓ£o contΓ©m o commit $sha1_dst"
+
+#: git-submodule.sh:1022
+#, sh-format
+msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
+msgstr " Warn: $display_name contΓ©m os commits $sha1_src e $sha1_dst"
-#: git-submodule.sh:801
+#: git-submodule.sh:1047
msgid "blob"
msgstr "blob"
-#: git-submodule.sh:802
-msgid "submodule"
-msgstr "submΓ³dulos"
+#: git-submodule.sh:1165
+#, sh-format
+msgid "Failed to recurse into submodule path '$sm_path'"
+msgstr "Falha ao percorrer recursivamente o submΓ³dulo em '$sm_path'"
-#: git-submodule.sh:973
+#: git-submodule.sh:1229
#, sh-format
-msgid "Synchronizing submodule url for '$name'"
-msgstr ""
+msgid "Synchronizing submodule url for '$displaypath'"
+msgstr "A sincronizar o URL do submΓ³dulo em '$displaypath'"
+
+#~ msgid "unable to parse format"
+#~ msgstr "nΓ£o foi possΓ­vel analisar o formato"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "formato imprΓ³prio introduzido align:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "NΓ£o foi possΓ­vel definir core.worktree em %s"
+
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "push.default nΓ£o estΓ‘ definido; o seu valor implΓ­cito foi alterado\n"
+#~ "no Git 2.0 de 'matching' para 'simple'. Para suprimir esta mensagem\n"
+#~ "e manter o comportamento tradicional, use:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "Para suprimir esta mensagem e adotar o novo comportamento, use:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "Quando push.default estΓ‘ definido como 'matching', o Git publica\n"
+#~ "os ramos locais nos ramos remotos que jΓ‘ existam com o mesmo nome.\n"
+#~ "\n"
+#~ "Desde a versΓ£o 2.0, o Git assume o comportamento mais conservativo "
+#~ "'simple',\n"
+#~ "publicando sΓ³ o ramo atual no ramo remoto correspondente, que Γ© usado\n"
+#~ "para atualizar o ramo atual com 'git pull'.\n"
+#~ "Consulte 'git help config' e procure por 'push.default' para mais "
+#~ "informaΓ§Γ΅es.\n"
+#~ "(o modo 'simple' foi introduzido no Git 1.7.11. Use o modo semelhante\n"
+#~ "'current' em vez de 'simple' se por vezes usa versΓ΅es anteriores do Git)"
+
+#~ msgid "check|on-demand|no"
+#~ msgstr "check|on-demand|no"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "NΓ£o foi possΓ­vel acrescentar '%s'"
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "NΓ£o foi possΓ­vel definir '%s'"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "Autor em falta: %s"
+
+#~ msgid "Testing "
+#~ msgstr "A testar "
+
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr ""
+#~ "Migrar commits locais para a cabeΓ§a atualizada em relaΓ§Γ£o ao ramo a "
+#~ "montante"
+
+#~ msgid " 0 files changed\n"
+#~ msgstr " 0 ficheros modificados\n"
+
+#~ msgid " %d file changed"
+#~ msgid_plural " %d files changed"
+#~ msgstr[0] " %d ficheiro modificado"
+#~ msgstr[1] " %d ficheiros modificados"
+
+#~ msgid ", %d insertion(+)"
+#~ msgid_plural ", %d insertions(+)"
+#~ msgstr[0] ", %d adiΓ§Γ£o(+)"
+#~ msgstr[1] ", %d adiΓ§Γ΅es(+)"
+
+#~ msgid ", %d deletion(-)"
+#~ msgid_plural ", %d deletions(-)"
+#~ msgstr[0] ", %d eliminado(-)"
+#~ msgstr[1] ", %d eliminados(-)"
+
+#~ msgid "You do not have a valid HEAD"
+#~ msgstr "VocΓͺ nΓ£o tem uma HEAD vΓ‘lida"
+
+#~ msgid "bug"
+#~ msgstr "erro"
+
+#~ msgid "copied: %s -> %s"
+#~ msgstr "copiado: %s -> %s"
+
+#~ msgid "modified: %s"
+#~ msgstr "modificado: %s"
+
+#~ msgid "renamed: %s -> %s"
+#~ msgstr "mudado de nome: %s -> %s"
+
+#~ msgid ", behind "
+#~ msgstr ", atrΓ‘s "
+
+#~ msgid "no files added"
+#~ msgstr "nenhum ficheiros adicionado"
+
+#~ msgid "Could not extract email from committer identity."
+#~ msgstr "NΓ£o foi possΓ­vel extrair a identidade do committer do e-mail."
+
+#~ msgid "option %s does not accept negative form"
+#~ msgstr "opΓ§Γ£o %s nΓ£o aceita formato negativo"
+
+#~ msgid "Applying: $FIRSTLINE"
+#~ msgstr "Aplicando: $FIRSTLINE"
+
+#~ msgid "--"
+#~ msgstr "--"
#~ msgid "cherry-pick"
#~ msgstr "cherry-pick"
#~ msgid "Please enter the commit message for your changes."
#~ msgstr "Por favor insira a mensagem de commit das suas alteraΓ§Γ΅es."
-
-#~ msgid "Too many options specified"
-#~ msgstr "Demasiadas opΓ§Γ΅es especificadas"
diff --git a/po/ru.po b/po/ru.po
index 0de4ff9014..c0a838b33b 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2015
+# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2016
# insolor <insolor@gmail.com>, 2014
# insolor <insolor@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: Git Russian Localization Project\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
-"PO-Revision-Date: 2015-12-25 11:57+0000\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-15 18:54+0000\n"
"Last-Translator: Dimitriy Ryazantcev <DJm00n@mail.ru>\n"
"Language-Team: Russian (http://www.transifex.com/djm00n/git-po-ru/language/ru/)\n"
"MIME-Version: 1.0\n"
@@ -31,7 +31,7 @@ msgid ""
"as appropriate to mark resolution and make a commit."
msgstr "Π˜ΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π·Π°Ρ‚Π΅ΠΌ запуститС Β«git add/rm <Ρ„Π°ΠΉΠ»>Β»,\nΡ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ исправлСниС ΠΈ сдСлайтС ΠΊΠΎΠΌΠΌΠΈΡ‚."
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "Π’Ρ‹ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ слияниС (присутствуСт Ρ„Π°ΠΉΠ» MERGE_HEAD)."
@@ -74,7 +74,7 @@ msgstr "Ρ„ΠΎΡ€ΠΌΠ°Ρ‚"
msgid "archive format"
msgstr "Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π°Ρ€Ρ…ΠΈΠ²Π°"
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "прСфикс"
@@ -82,11 +82,11 @@ msgstr "прСфикс"
msgid "prepend prefix to each pathname in the archive"
msgstr "Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ прСфикс ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° Π² Π°Ρ€Ρ…ΠΈΠ²Π΅"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535
-#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99
-#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395
-#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "Ρ„Π°ΠΉΠ»"
@@ -118,7 +118,7 @@ msgstr "ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅"
msgid "list supported archive formats"
msgstr "ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ²"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
@@ -126,96 +126,109 @@ msgstr "Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
msgid "retrieve the archive from remote repository <repo>"
msgstr "ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² ΠΈΠ· внСшнСго <рСпозитория>"
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
-msgstr "ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π°"
+msgstr "ΠΊΠΎΠΌΠ°Π½Π΄Π°"
#: archive.c:454 builtin/archive.c:93
msgid "path to the remote git-upload-archive command"
msgstr "ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git-upload-archive Π½Π° машинС с внСшним Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
msgstr "ΠžΡ‚Ρ€ΠΈΡ†Π°ΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… git ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.\nΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«\\!Β» для Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ использования символа Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Β«Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊΒ»."
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr "\nПослС исправлСния ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ошибки,\nΠ²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± отслСТиваСмой\nвнСшнСй Π²Π΅Ρ‚ΠΊΠ΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹\nΒ«git branch --set-upstream-to=%s%s%sΒ»."
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "НС ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽ Π²Π΅Ρ‚ΠΊΡƒ %s, Ρ‚Π°ΠΊ Ρ‚Π°ΠΊ ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ."
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт внСшнюю Π²Π΅Ρ‚ΠΊΡƒ %s ΠΈΠ· %s ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ."
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт внСшнюю Π²Π΅Ρ‚ΠΊΡƒ %s ΠΈΠ· %s."
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ %s ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ."
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ %s."
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт внСшнюю ссылку %s ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ."
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт внСшнюю ссылку %s."
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ссылку %s ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ."
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "Π’Π΅Ρ‚ΠΊΠ° %s отслСТиваСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ссылку %s."
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ настройки Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ"
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr "НС отслСТиваСтся: нСоднозначная информация для ссылки %s"
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "Β«%sΒ» Π½Π΅ являСтся Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π΅Ρ‚ΠΊΠΈ."
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "Π’Π΅Ρ‚ΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«%sΒ» ΡƒΠΆΠ΅ сущСствуСт."
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ."
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid ""
"Cannot setup tracking information; starting point '%s' is not a branch."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ отслСТивания; стартовая Ρ‚ΠΎΡ‡ΠΊΠ° Β«%sΒ» Π½Π΅ являСтся Π²Π΅Ρ‚ΠΊΠΎΠΉ."
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Π°Ρ Π²Π΅Ρ‚ΠΊΠ° Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅Π³ΠΎ рСпозитория Β«%sΒ» Π½Π΅ сущСствуСт"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -227,22 +240,22 @@ msgid ""
"\"git push -u\" to set the upstream config as you push."
msgstr "\nЕсли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅, которая ΡƒΠΆΠ΅ сущСствуСт Π²ΠΎ внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Β«git fetchΒ» для Π΅Π΅ получСния.\n\nЕсли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ, Π²ΠΎ внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Β«git push -uΒ» β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ настройку Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅Π³ΠΎ рСпозитория для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ."
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "НСдопустимоС имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: Β«%sΒ»."
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "НСоднозначноС имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: Β«%sΒ»."
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "НСдопустимая Ρ‚ΠΎΡ‡ΠΊΠ° Π²Π΅Ρ‚ΠΊΠΈ: Β«%sΒ»."
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "Β«%sΒ» ΡƒΠΆΠ΅ находится Π½Π° Β«%sΒ»"
@@ -266,10 +279,10 @@ msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ»"
msgid "Repository lacks these prerequisite commits:"
msgstr "Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹:"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "сбой ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΏΠΎ рСдакциям"
@@ -312,7 +325,7 @@ msgstr "критичСская ошибка rev-list"
msgid "ref '%s' is excluded by the rev-list options"
msgstr "ссылка Β«%sΒ» ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² соотвСтствии с опциями rev-list"
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚: %s"
@@ -335,8 +348,8 @@ msgstr "критичСская ошибка index-pack"
msgid "invalid color value: %.*s"
msgstr "нСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°: %.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ %s"
@@ -350,59 +363,64 @@ msgstr "%s %s Π½Π΅ являСтся ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ!"
msgid "memory exhausted"
msgstr "ΠΏΠ°ΠΌΡΡ‚ΡŒ исчСрпана"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "ошибка Π² %d строкС Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² %s"
+msgid "bad config line %d in %s %s"
+msgstr "ошибка Π² %d строкС Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² %s %s"
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«%sΒ» для Β«%sΒ» Π² %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«%sΒ» для Β«%sΒ» Π² %s %s: %s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«%sΒ» для Β«%sΒ»: %s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "сбой разворачивания ΠΏΡƒΡ‚ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: Β«%sΒ»"
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сТатия zlib %d"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "нСдопустимый Ρ€Π΅ΠΆΠΈΠΌ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: %s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки"
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr "ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° нСизвСстная ошибка ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Β«%sΒ» Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки"
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ пСрСмСнная ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Β«%sΒ» Π² Ρ„Π°ΠΉΠ»Π΅ Β«%sΒ» Π½Π° строкС %d"
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Β«%sΒ» Π² Β«%sΒ»"
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Β«git rev-listΒ»"
@@ -534,34 +552,34 @@ msgid ""
"%s"
msgstr "НайдСны ошибки Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«diff.dirstatΒ»:\n%s"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "критичСская ошибка ΠΏΡ€ΠΈ внСшнСм сравнСнии, останов Π½Π° %s"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ спСцификации ΠΏΡƒΡ‚ΠΈ"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
"%s"
msgstr "Π‘Π±ΠΎΠΉ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΠΏΡ†ΠΈΠΈ --dirstat/-X :\n%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "Π‘Π±ΠΎΠΉ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΠΏΡ†ΠΈΠΈ --submodule: Β«%sΒ»"
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ядра ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "Кэш нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ Π½Π° этой систСмС."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "Кэш нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ Π½Π° этой систСмС ΠΈΠ»ΠΈ Π² этом мСстС."
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -600,48 +618,48 @@ msgstr "Β«%sΒ»: %s"
msgid "'%s': short read %s"
msgstr "Β«%sΒ»: слишком ΠΌΠ°Π»ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr "доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git Π² Β«%sΒ»"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr "ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git, доступныС Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах вашСго $PATH"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr "Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ситуациях:"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
"able to execute it. Maybe git-%s is broken?"
msgstr "Β«%sΒ» ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git, Π½ΠΎ Π½Π°ΠΌ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΅Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, git-%s Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?"
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr "Ой-Ρ‘ΠΉ! Π’Π°ΡˆΠ° систСма Π½Π΅ сообщаСт Π½ΠΈ ΠΎ ΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Git Π²ΠΎΠΎΠ±Ρ‰Π΅."
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
"Continuing under the assumption that you meant '%s'"
msgstr "Π’ΠΠ˜ΠœΠΠΠ˜Π•: Π’Ρ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Git Β«%sΒ», Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π½Π΅ сущСствуСт.\nΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ с ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ Β«%sΒ»"
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "Ρ‡Π΅Ρ€Π΅Π· %0.1f сСкунд автоматичСски…"
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr "git: Β«%sΒ» Π½Π΅ являСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Β«git --helpΒ»."
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -653,7 +671,7 @@ msgstr[1] "\nΠ’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· эт
msgstr[2] "\nΠ’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· этого?"
msgstr[3] "\nΠ’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· этого?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s: %s β€” %s"
@@ -662,8 +680,8 @@ msgstr "%s: %s β€” %s"
msgid "failed to read the cache"
msgstr "сбой чтСния кэша"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» индСкса"
@@ -681,218 +699,218 @@ msgstr "сбой addinfo_cache для ΠΏΡƒΡ‚ΠΈ Β«%sΒ»"
msgid "error building trees"
msgstr "ошибка ΠΏΡ€ΠΈ построСнии Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Β«%sΒ»%s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ %s, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто для ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²\n"
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ": Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²/Ρ„Π°ΠΉΠ»ΠΎΠ²?"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "ΠΎΡ‚ΠΊΠ°Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ нСотслСТиваСмого Ρ„Π°ΠΉΠ»Π° Π² Β«%sΒ»"
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ %s Β«%sΒ»"
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "оТидаСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для %s Β«%sΒ»"
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ»"
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ссылку Β«%sΒ»"
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "Π½Π΅ понятно, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с %06o %s Β«%sΒ»"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ слияниС"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ %s Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² Π΄Π΅Ρ€Π΅Π²Π΅"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
"in tree."
msgstr "ΠšΠžΠΠ€Π›Π˜ΠšΠ’ (%s/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅): %s ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² %s ΠΈ %s Π² %s. ВСрсия %s ΠΈΠ· %s оставлСна Π² Π΄Π΅Ρ€Π΅Π²Π΅."
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
"in tree at %s."
msgstr "ΠšΠžΠΠ€Π›Π˜ΠšΠ’ (%s/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅): %s ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² %s ΠΈ %s Π² %s. ВСрсия %s ΠΈΠ· %s оставлСна Π² Π΄Π΅Ρ€Π΅Π²Π΅ Π½Π° %s."
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΎ"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr "%s β€” это ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² %s, добавляСм ΠΊΠ°ΠΊ %s вмСсто этого"
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename "
"\"%s\"->\"%s\" in \"%s\"%s"
msgstr "ΠšΠžΠΠ€Π›Π˜ΠšΠ’ (ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅): ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»β†’Β«%sΒ» Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«%sΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»β†’Β«%sΒ» Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«%sΒ»%s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr " (оставлСно Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr "ΠšΠžΠΠ€Π›Π˜ΠšΠ’ (ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅): ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»β†’Β«%sΒ» Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«%sΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»β†’Β«%sΒ» Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«%sΒ»"
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°ΡŽ %s Π² %s ΠΈ %s Π² %s вмСсто этого"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr "ΠšΠžΠΠ€Π›Π˜ΠšΠ’ (ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅/Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅): ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»β†’Β«%sΒ» Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«%sΒ» ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Β«%sΒ» Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«%sΒ»"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ слитого %s"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ вмСсто этого ΠΊΠ°ΠΊ %s"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«%sΒ»"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ %s Π½Π΅ являСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "содСрТимоС"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "ΠŸΡ€ΠΎΠΏΡƒΡΠΊ %s (слиты ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ измСнСния ΠΊΠ°ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅)"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "АвтослияниС %s"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "ΠšΠžΠΠ€Π›Π˜ΠšΠ’ (%s): ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния Π² %s"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "Ρ„Π°ΠΉΠ»/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³/Ρ„Π°ΠΉΠ»"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid ""
"CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr "ΠšΠžΠΠ€Π›Π˜ΠšΠ’ (%s): Π£ΠΆΠ΅ сущСствуСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«%sΒ» Π² Β«%sΒ». Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Β«%sΒ» ΠΊΠ°ΠΊ Β«%sΒ»"
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ %s"
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ошибка слияния, Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ‚ΡŒΡΡ."
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "Π£ΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ!"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "сбой слияния Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² Β«%sΒ» ΠΈ Β«%sΒ»"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "НСобработанный ΠΏΡƒΡ‚ΡŒ??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "БлияниС:"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
@@ -901,16 +919,16 @@ msgstr[1] "Π½Π°ΠΉΠ΄Π΅Π½ΠΎ %u ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΊΠ°:"
msgstr[2] "Π½Π°ΠΉΠ΄Π΅Π½ΠΎ %u ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΊΠΎΠ²:"
msgstr[3] "Π½Π°ΠΉΠ΄Π΅Π½ΠΎ %u ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΊΠΎΠ²:"
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "слияниС Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ»ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«%sΒ»"
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "НС удаСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ индСкс."
@@ -968,7 +986,7 @@ msgstr "-ΠšΠžΠ›Π˜Π§Π•Π‘Π’Π’Πž"
#: parse-options-cb.c:108
#, c-format
msgid "malformed object name '%s'"
-msgstr "ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½ΠΎΠ΅ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Β«%sΒ»"
+msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Β«%sΒ»"
#: path.c:752
#, c-format
@@ -1024,12 +1042,12 @@ msgstr "БпСцификация ΠΏΡƒΡ‚ΠΈ Β«%sΒ» Π² ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ Β«%.*sΒ»"
msgid "%s: pathspec magic not supported by this command: %s"
msgstr "%s: магичСскиС слова Π² спСцификации ΠΏΡƒΡ‚ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: %s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "спСцификация ΠΏΡƒΡ‚ΠΈ Β«%sΒ» находится Π·Π° символичСской ссылкой"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1057,152 +1075,237 @@ msgid ""
"Using version %i"
msgstr "GIT_INDEX_VERSION ΡƒΠΊΠ°Π·Π°Π½, Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅.\nΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ %i"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ» для записи"
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ссылку %s: %s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ссылки: %s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ссылки %s"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: частица %%(end) использована Π±Π΅Π· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ частицы"
+msgid "expected format: %%(color:<color>)"
+msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: %%(color:<color>)"
-#: ref-filter.c:704
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚: %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²"
+
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ содСрТимоС:lines=%s"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: %%(color:<color>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ %%(contents): %s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ %%(objectname): %s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: %%(align:<width>,<position>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "нСопознанная позиция:%s"
+
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "нСопознанная ΡˆΠΈΡ€ΠΈΠ½Π°:%s"
+
+#: ref-filter.c:157
#, c-format
-msgid "improper format entered align:%s"
-msgstr "ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ align:%s"
+msgid "unrecognized %%(align) argument: %s"
+msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ %%(align): %s"
-#: ref-filter.c:898
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "оТидаСтся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡˆΠΈΡ€ΠΈΠ½Π° с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ частицы %%(align)"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ имя поля: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "нСизвСстноС имя поля: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: частица %%(end) использована Π±Π΅Π· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ частицы"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ строка Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "ссылка Β«%sΒ» Π½Π΅ содСрТит %ld ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "нСизвСстный %.*s Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ %s для %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "сбой ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ parse_object_buffer Π½Π° %s для %s"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
-msgstr "ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«%sΒ»"
+msgstr "ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«%sΒ»"
+
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽ ссылку с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ %s"
-#: ref-filter.c:1561
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ссылку %s"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "format: ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° частица %%(end)"
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
-msgstr "ΠΏΠ»ΠΎΡ…ΠΎΠ΅ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s"
+msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s"
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr "НСльзя ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ %s ΠΈ %s Π² %s"
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ отслСТиваСт %s, Π° Π½Π΅ %s"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s отслСТиваСт ΠΈ %s ΠΈ %s"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "ВнутрСнняя ошибка"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEAD Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ: Β«%sΒ»"
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π°Ρ Π²Π΅Ρ‚ΠΊΠ° Π½Π΅ настроСна для Π²Π΅Ρ‚ΠΊΠΈ Β«%sΒ»"
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr "Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π°Ρ Π²Π΅Ρ‚ΠΊΠ° Β«%sΒ» Π½Π΅ сохранСна ΠΊΠ°ΠΊ отслСТиваСмая Π²Π΅Ρ‚ΠΊΠ°"
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr "Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Β«%sΒ» Π½Π° внСшнСм сСрвСрС Β«%sΒ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ локальной отслСТиваСмой Π²Π΅Ρ‚ΠΊΠΈ"
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "Π²Π΅Ρ‚ΠΊΠ° Β«%sΒ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ внСшнСго сСрвСра для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ"
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr "спСцификации ΠΏΡƒΡ‚ΠΈ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Β«%sΒ» Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Β«%sΒ»"
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ назначСния (push.default выставлСн Π² Β«nothingΒ»)"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Β«simpleΒ» ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π² Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ назначСния"
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° базируСтся Π½Π° Β«%sΒ», Π½ΠΎ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ исчСз.\n"
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr "(для исправлСния запуститС Β«git branch --unset-upstreamΒ»)\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π² соотвСтствии с Β«%sΒ».\n"
-#: remote.c:2094
+#: remote.c:2084
#, 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"
@@ -1211,11 +1314,11 @@ msgstr[1] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.
msgstr[2] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².\n"
msgstr[3] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².\n"
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«git pushΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ваши Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹)\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1225,11 +1328,11 @@ msgstr[1] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° отстаСт ΠΎΡ‚ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
msgstr[2] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° отстаСт ΠΎΡ‚ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚Π°Π½Π° Π²ΠΏΠ΅Ρ€Π΅Π΄.\n"
msgstr[3] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° отстаСт ΠΎΡ‚ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚Π°Π½Π° Π²ΠΏΠ΅Ρ€Π΅Π΄.\n"
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr " (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«git pullΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ)\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1237,33 +1340,33 @@ msgid ""
msgid_plural ""
"Your branch and '%s' have diverged,\n"
"and have %d and %d different commits each, respectively.\n"
-msgstr[0] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
-msgstr[1] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
-msgstr[2] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
-msgstr[3] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
+msgstr[0] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
+msgstr[1] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
+msgstr[2] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
+msgstr[3] "Π’Π°ΡˆΠ° Π²Π΅Ρ‚ΠΊΠ° ΠΈ Β«%sΒ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ\nΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ %d ΠΈ %d Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ соотвСтствСнно.\n"
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr " (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«git pullΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»ΠΈΡ‚ΡŒ внСшнюю Π²Π΅Ρ‚ΠΊΡƒ Π² Π²Π°ΡˆΡƒ)\n"
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "ΠΏΠΎΡ…ΠΎΠΆΠ΅, ваша тСкущая Π²Π΅Ρ‚ΠΊΠ° ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π°"
-#: revision.c:2196
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr "ваша тСкущая Π²Π΅Ρ‚ΠΊΠ° Β«%sΒ» Π΅Ρ‰Π΅ Π½Π΅ содСрТит Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°"
-#: revision.c:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "ΠΎΠΏΡ†ΠΈΡŽ --first-parent нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с --bisect"
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "сбой открытия /dev/null"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "dup2(%d,%d) сбой"
@@ -1286,242 +1389,256 @@ msgstr "Π½Π΅ отправляСм сСртификат для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ,
msgid "the receiving end does not support --atomic push"
msgstr "ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ сторона Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ --atomic"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
msgstr "послС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², ΠΏΠΎΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ исправлСнныС ΠΏΡƒΡ‚ΠΈ\nс ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git add <ΠΏΡƒΡ‚ΠΈ>Β» ΠΈΠ»ΠΈ Β«git rm <ΠΏΡƒΡ‚ΠΈ>Β»"
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
"and commit the result with 'git commit'"
msgstr "послС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², ΠΏΠΎΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ исправлСнныС ΠΏΡƒΡ‚ΠΈ\nс ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git add <ΠΏΡƒΡ‚ΠΈ>Β» ΠΈΠ»ΠΈ Β«git rm <ΠΏΡƒΡ‚ΠΈ>Β»\nΠΈ сдСлайтС ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git commitΒ»"
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² %s"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "Ошибка оборачивания %s"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr "Π’Π°ΡˆΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ пСрСзаписаны ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ."
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "Π’Π°ΡˆΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ пСрСзаписаны Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°."
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr "Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ»ΠΈ ΡΠΏΡ€ΡΡ‡ΡŒΡ‚Π΅ ваши измСнСния для продолТСния."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%s: НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» индСкса"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ HEAD ΠΊΠΎΠΌΠΌΠΈΡ‚\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ кэша\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ %s\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ %s\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "Π’Π°Ρˆ Ρ„Π°ΠΉΠ» индСкса Π½Π΅ слит."
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚ %s β€” это ΠΊΠΎΠΌΠΌΠΈΡ‚-слияниС, Π½ΠΎ опция -m Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°."
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "Π£ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° %s Π½Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΊΠ° %d"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr "Основная Π²Π΅Ρ‚ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π°, Π½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ %s Π½Π΅ являСтся слияниСм."
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%s: Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ для %s"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° для %s"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ %s… %s"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ %s… %s"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ пустой Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %s: сбой чтСния индСкса"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %s: сбой обновлСния индСкса"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ %s Π²ΠΎ врСмя %s"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ строку %d."
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Ρ‹."
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ %s"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ %s."
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "НСпригодная для использования ΠΊΠ°Ρ€Ρ‚Π° с инструкциями: %s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "ΠΠ΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡: %s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ %s: %s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
-msgstr "Π˜ΡΠΏΠΎΡ€Ρ‡Π΅Π½Π½Π°Ρ ΠΊΠ°Ρ€Ρ‚Π° с опциями: %s"
+msgstr "ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½Π½Π°Ρ ΠΊΠ°Ρ€Ρ‚Π° с опциями: %s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "ΠΎΡ‚Π±ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΡƒΠΆΠ΅ выполняСтся"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Β«git cherry-pick (--continue | --quit | --abort)Β»"
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для указатСля слСдования ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² %s"
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "Ошибка оборачивания %s."
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "ΠΎΡ‚Π±ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π΅ выполняСтся"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ HEAD"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "нСльзя ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния с Π²Π΅Ρ‚ΠΊΠΈ, которая Π΅Ρ‰Π΅ Π½Π΅ создана"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ %s: %s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ %s: %s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°"
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr "сохранСнный Ρ„Π°ΠΉΠ» с HEAD ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ Β«%sΒ» ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½"
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ %s."
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%s: Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°Ρ‚ΡŒ %s"
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%s: плохая рСдакция"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "НСльзя Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚"
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
-msgstr "НСльзя ΠΎΡ‚ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π΅ Π² пустой HEAD"
+msgstr "НСльзя ΠΎΡ‚ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π΅ Π² ΠΏΡƒΡΡ‚ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ"
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ %s"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "сдвиг Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½ Ρ„Π°ΠΉΠ» .idx?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "сдвиг Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° индСкса ΠΏΠ°ΠΊΠ΅Ρ‚Π° для %s (ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½ индСкс?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "сдвиг Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ индСкса ΠΏΠ°ΠΊΠ΅Ρ‚Π° для %s (ΠΎΠ±Ρ€Π΅Π·Π°Π½ индСкс?)"
+
+#: sha1_name.c:462
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"
@@ -1534,60 +1651,84 @@ msgid ""
"running \"git config advice.objectNameWarning false\""
msgstr "ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Git Π½Π΅ создаСт ссылки, ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° 40 ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ…\nсимволов, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ просто\nΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ это 40-символьноС ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ число. Π’Π°ΠΊΠΈΠ΅ ссылки\nΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ созданы ΠΏΠΎ ошибкС. НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git checkout -b $br $(git rev-parse …)\n\n, Ссли Β«$brΒ» оказался пустым, Ρ‚ΠΎ ссылка с 40-ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ\nΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌ числом Π±ΡƒΠ΄Π΅Ρ‚ создана. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, просмотритС эти\nссылки ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΈΡ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ это сообщСниС\nзапустив Β«git config advice.objectNameWarning falseΒ»"
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ слитый .gitmodules, сначала Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π΄Π΅Π» Π² .gitmodules, Π³Π΄Π΅ ΠΏΡƒΡ‚ΡŒ Ρ€Π°Π²Π΅Π½ %s"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr " НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ .gitmodules запись %s"
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ запись Π² .gitmodules для %s"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "сбой индСксирования ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ .gitmodules"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ core.worktree Π² %s"
+msgid "running trailer command '%s' failed"
+msgstr "сбой ΠΏΡ€ΠΈ запускС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅Π»Ρ Β«%sΒ»"
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "нСизвСстноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«%sΒ» для ΠΊΠ»ΡŽΡ‡Π° Β«%sΒ»"
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "большС одного %s"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "пустая послСдняя лСксСма Π² Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅Π»Π΅ Β«%.*sΒ»"
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» Β«%sΒ»"
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ stat для %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "Ρ„Π°ΠΉΠ» %s Π½Π΅ являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "Ρ„Π°ΠΉΠ» %s Π½Π΅ доступСн Π½Π° запись ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² %s"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ссылку %s"
@@ -1625,47 +1766,47 @@ msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΡ€Ρ‚Π°"
msgid "invalid '..' path segment"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ Β«..Β»"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ» для чтСния ΠΈ записи"
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ» для записи"
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ» для чтСния"
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "Β«%sΒ» нСдоступно: %s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "Β«%sΒ» нСдоступно"
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³"
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ» для записи"
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² %s"
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ %s"
@@ -1866,8 +2007,8 @@ msgstr "ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹."
#, c-format
msgid "Last command done (%d command done):"
msgid_plural "Last commands done (%d commands done):"
-msgstr[0] "ПослСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ):"
-msgstr[1] "ПослСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ):"
+msgstr[0] "ПослСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°):"
+msgstr[1] "ПослСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ):"
msgstr[2] "ПослСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ):"
msgstr[3] "ПослСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ):"
@@ -2010,11 +2151,11 @@ msgstr "ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² процСссС; Π½Π°Π΄ "
#: wt-status.c:1451
msgid "HEAD detached at "
-msgstr "HEAD ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π½Π° "
+msgstr "HEAD ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½ Π½Π° "
#: wt-status.c:1453
msgid "HEAD detached from "
-msgstr "HEAD ΠΎΡ‚Π΄Π΅Π»Π΅Π½ начиная с "
+msgstr "HEAD ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½ начиная с "
#: wt-status.c:1456
msgid "Not currently on any branch."
@@ -2111,7 +2252,11 @@ msgstr "исчСз"
msgid "behind "
msgstr "ΠΏΠΎΠ·Π°Π΄ΠΈ"
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "сбой отсоСдинСния Β«%sΒ»"
@@ -2138,7 +2283,7 @@ msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Β«%sΒ»\n"
msgid "Unstaged changes after refreshing the index:"
msgstr "НСпроиндСксированныС измСнСния послС обновлСния индСкса:"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ индСкс"
@@ -2173,15 +2318,15 @@ msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Β«%sΒ»"
msgid "The following paths are ignored by one of your .gitignore files:\n"
msgstr "Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² .gitignore:\n"
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ запуск"
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "Π±Ρ‹Ρ‚ΡŒ многословнСС"
@@ -2189,7 +2334,7 @@ msgstr "Π±Ρ‹Ρ‚ΡŒ многословнСС"
msgid "interactive picking"
msgstr "ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π±Π»ΠΎΠΊΠΎΠ²"
@@ -2256,402 +2401,397 @@ msgstr "НичСго Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ.\
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ Β«git add .Β»?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "Ρ„Π°ΠΉΠ» индСкса ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» индСкса"
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ stat для %s"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Β«%sΒ»"
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ сцСнарий авторства"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "Β«%sΒ» Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ applypatch-msg"
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
-msgstr "ΠŸΠ»ΠΎΡ…Π°Ρ строка Π²Π²ΠΎΠ΄Π°: Β«%sΒ»."
+msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ строка Π²Π²ΠΎΠ΄Π°: Β«%sΒ»."
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈΠ· Β«%sΒ» Π² Β«%sΒ»"
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "сбой ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ fseek"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ» для чтСния: %s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ» для записи: %s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ Β«%sΒ»"
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr "Волько сСрия ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ StGIT ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° Π·Π° Ρ€Π°Π·"
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "нСдопустимая ΠΌΠ΅Ρ‚ΠΊΠ° Π΄Π°Ρ‚Ρ‹/Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "нСдопустимая строка Π΄Π°Ρ‚Ρ‹"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "нСдопустимоС смСщСниС часового пояса"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "Π‘Π±ΠΎΠΉ опрСдСлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠ°Ρ‚Ρ‡Π°."
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«%sΒ»"
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ Π½Π° части."
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ индСкс"
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr "Когда Π²Ρ‹ устранитС эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, запуститС Β«%s --continueΒ»."
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот ΠΏΠ°Ρ‚Ρ‡, Ρ‚ΠΎ запуститС Β«%s --skipΒ»."
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr "Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, запуститС Β«%s --abortΒ»."
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "ΠŸΠ°Ρ‚Ρ‡ пуст. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ Π±Ρ‹Π» Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½?"
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ строка ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ: %s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ %s"
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr "Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΊ Ρ‚Ρ€Π΅Ρ…Ρ…ΠΎΠ΄ΠΎΠ²ΠΎΠΌΡƒ слиянию."
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ индСкс для рСконструкции Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ дСрСва…"
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
msgstr "Π’Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ измСняли ΠΏΠ°Ρ‚Ρ‡?\nОн Π½Π΅ накладываСтся Π±Π΅Π· ошибок Π½Π° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, записанныС Π² Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅."
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr "ΠžΡ‚ΠΊΠ°Ρ‚ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ…Ρ…ΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ слияния…"
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ»ΠΈΡ‚ΡŒ измСнСния."
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "git write-tree Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ пустой истории"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "сбой записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°"
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "нСльзя ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ½ΠΈΡ‚ΡŒ: %s Π½Π΅ сущСствуСт "
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π±Π΅Π· stdin ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ."
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "Π’Π΅Π»ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:"
#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
#. in your translation. The program will only accept English
#. input at this point.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr "ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ? [y] - Π΄Π°/[n] - Π½Π΅Ρ‚/[e] - Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/[v] - ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡/[a] - ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всё: "
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "ИндСкс Π½Π΅ пустой: нСльзя ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ (Π² индСксС: %s)"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: %.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "НСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β€” ΠŸΠ°Ρ‚Ρ‡ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½."
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "Ошибка примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° %s %.*s"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "Копию ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π²: %s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
"already introduced the same changes; you might want to skip this patch."
msgstr "НСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Β«git addΒ»?\nЕсли Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ для индСксации, Ρ‚ΠΎ, скорСС всСго, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΡƒΠΆΠ΅ сдСлало Ρ‚Π΅ ΠΆΠ΅ измСнСния; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ слСдуСт ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот ΠΏΠ°Ρ‚Ρ‡."
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
msgstr "Π£ вас всС Π΅Ρ‰Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ слитыС ΠΏΡƒΡ‚ΠΈ Π² индСксС.\nΠ’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Β«git addΒ»?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«%sΒ»."
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ индСкс"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
msgstr "ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ пСрСмСстили HEAD с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй ошибки выполнСния Β«amΒ».\nΠŸΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π½Π° ORIG_HEAD Π½Π΅ выполняСтся"
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для --patch-format: %s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<ΠΎΠΏΡ†ΠΈΠΈ>] [(<mbox>|<Maildir>)…]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<ΠΎΠΏΡ†ΠΈΠΈ>] (--continue | --skip | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "историчСская опция β€” Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚Ρ€Π΅Ρ…Ρ…ΠΎΠ΄ΠΎΠ²ΠΎΠΌΡƒ слиянию, Ссли Π½ΡƒΠΆΠ½ΠΎ"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "Ρ‚ΠΈΡ…ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Signed-off-by ΠΊ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°"
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² utf8 (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ -k Π² git-mailinfo"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ -b Π² git-mailinfo"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ -m Π² git-mailinfo"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ --keep-cr Π² git-mailsplit для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° mbox"
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr "Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ --keep-cr Ρ„Π»Π°Π³ Π² git-mailsplit Π²Π½Π΅ зависимости ΠΎΡ‚ am.keepcr"
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ всС Π΄ΠΎ строки ΠΎΠ±Ρ€Π΅Π·ΠΊΠΈ"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "дСйствиС"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² git-apply"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "ΠΊΠΎΡ€Π΅Π½ΡŒ"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "ΠΏΡƒΡ‚ΡŒ"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
-#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
-#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:244
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "n"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "количСство"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "Ρ„ΠΎΡ€ΠΌΠ°Ρ‚"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находятся ΠΏΠ°Ρ‚Ρ‡ΠΈ"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ сообщСниС ΠΎΠ± ошибкС, Ссли Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ измСнСния"
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ послС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„ΠΈΠ»ΠΈΠΊΡ‚Π°"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
-msgstr "синонимы для --continue"
+msgstr "синоним для --continue"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‡"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr "Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ."
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "ΡΠΎΠ²Ρ€Π°Ρ‚ΡŒ ΠΎ Π΄Π°Ρ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅Ρ€Π°"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя ΠΊΠ°ΠΊ врСмя авторства"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr "key-id"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GPG"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "(Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ использованиС для git-rebase)"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
msgstr "ΠžΠΏΡ†ΠΈΡ -b/--binary ΡƒΠΆΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° с ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсиях Git. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π΅."
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "сбой чтСния индСкса"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr "ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ пСрСмСщСния %s Π΅Ρ‰Π΅ сущСствуСт, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ mbox."
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
"Use \"git am --abort\" to remove it."
msgstr "НайдСн Π·Π°Π±Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ %s.\nΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«git am --abortΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ."
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr "ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π½Π΅ Π² процСссС выполнСния, Π½Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ."
@@ -2996,124 +3136,124 @@ msgstr "Π½Π΅ распознанный Π²Π²ΠΎΠ΄"
msgid "unable to read index file"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» индСкса"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ измСнСния ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ измСнСния ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ <количСство> Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… косых Ρ‡Π΅Ρ€Ρ‚ ΠΈΠ· Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ списка ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ добавлСния, сдСланныС этим ΠΏΠ°Ρ‚Ρ‡Π΅ΠΌ"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr "вмСсто примСнСния ΠΏΠ°Ρ‚Ρ‡Π° вывСсти статистику Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΉ для Π²Π²ΠΎΠ΄Π°"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ количСство Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… строк Π² дСсятичном прСдставлСнии"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr "вмСсто примСнСния ΠΏΠ°Ρ‚Ρ‡Π° вывСсти статистику ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для Π²Π²ΠΎΠ΄Π°"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr "вмСсто примСнСния ΠΏΠ°Ρ‚Ρ‡Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ ΠΎΠ½"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr "ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ‚Ρ‡ примСняСтся ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ индСксу"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡, Π½Π΅ измСняя Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr "ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr "Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ с --stat/--summary/--check)"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr "ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ…Ρ…ΠΎΠ΄ΠΎΠ²ΠΎΠ΅ слияниС, Ссли ΠΏΠ°Ρ‚Ρ‡ Π½Π΅ примСняСтся"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr "ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ индСкс, основанный Π½Π° встроСнной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± индСксС"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
-msgstr "ΠΏΡƒΡ‚ΠΈ, ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΠ£Π›Π•Π’Π«Πœ символом"
+msgstr "ΠΏΡƒΡ‚ΠΈ, ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΠ£Π›Π•Π’Π«Πœ символом"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr "ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ <n> строк контСкста ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr "ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ строки, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ошибки Π² ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символах"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π² ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символах ΠΏΡ€ΠΈ поискС контСкста"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½ΠΎΠΉ строки контСкста"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr "ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… *.rej Ρ„Π°ΠΉΠ»Π°Ρ…"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ пустыС строки Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Π°ΠΉΠ»Π°"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr "Π½Π΅ Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ количСству строк ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π±Π»ΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ <ΠΊΠΎΡ€Π΅Π½ΡŒ> спСрСди ΠΊΠΎ всСм ΠΈΠΌΠ΅Π½Π°ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr "--3way Π²Π½Π΅ рСпозитория"
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr "--index Π²Π½Π΅ рСпозитория"
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr "--cached Π²Π½Π΅ рСпозитория"
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ Β«%sΒ»"
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
@@ -3122,7 +3262,7 @@ msgstr[1] "ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ %d ошибки Π² ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… симво
msgstr[2] "ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ %d ошибок Π² ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символах"
msgstr[3] "ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ %d ошибок Π² ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символах"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3178,103 +3318,111 @@ msgstr "Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Β«git bisect nextΒ»"
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ BISECT_HEAD вмСсто ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<ΠΎΠΏΡ†ΠΈΠΈ>] [<ΠΎΠΏΡ†ΠΈΠΈ-Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ>] [<рСдакция>] [--] <Ρ„Π°ΠΉΠ»>"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<ΠΎΠΏΡ†ΠΈΠΈ-rev-list> Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² git-rev-list(1)"
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² строк"
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ записи авторства постСпСнно, Π² процСссС нахоТдСния"
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr "НС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ SHA-1 для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½Π΅ входящих Π² Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ запроса (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr "НС Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΊΠ°ΠΊ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ статистику расходов Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запроса"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ прогрСсс выполнСния"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ для записСй авторства"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: автоматичСски)"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° строк (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π°"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΌΠ°ΡˆΠΈΠ½ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, с построчной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΈ git-annotate (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ SHA1 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr "НС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Ρƒ Π°Π²Ρ‚ΠΎΡ€Π° вмСсто ΠΈΠΌΠ΅Π½ΠΈ (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ)"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ различия Π² ΠΏΡ€ΠΎΠ±Π΅Π»Π°Ρ…"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr "ΠŸΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, для нахоТдСния Π»ΡƒΡ‡ΡˆΠΈΡ… совпадСний"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ· <Ρ„Π°ΠΉΠ»Π°> вмСсто Π²Ρ‹Π·ΠΎΠ²Π° git-rev-list"
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС <Ρ„Π°ΠΉΠ»Π°> ΠΊΠ°ΠΊ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ снимок"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "ΠΌΠΈΠ½-Π΄Π»ΠΈΠ½Π°"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "Найти ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "Найти пСрСмСщСния строк Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "Π½Π°Ρ‡Π°Π»ΠΎ,ΠΊΠΎΠ½Π΅Ρ†"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr "ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π°Ρ‡Π°Π»ΠΎ,ΠΊΠΎΠ½Π΅Ρ†, начиная с 1"
@@ -3284,7 +3432,7 @@ msgstr "ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "4 Π³ΠΎΠ΄Π° ΠΈ 11 мСсяцСв Π½Π°Π·Π°Π΄"
@@ -3476,200 +3624,200 @@ msgstr "Π’Π΅Ρ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² %s, Π½ΠΎ HEAD Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»
msgid "Branch is renamed, but update of config-file failed"
msgstr "Π’Π΅Ρ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π°, Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой обновлСния Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ шаблон описания Π²Π΅Ρ‚ΠΊΠΈ: %s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹"
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
-msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ…Π΅Ρˆ-сумму ΠΈ Ρ‚Π΅ΠΌΡƒ, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Π²Π°ΠΆΠ΄Ρ‹ для Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ"
+msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΡΡˆ-сумму ΠΈ Ρ‚Π΅ΠΌΡƒ, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Π²Π°ΠΆΠ΄Ρ‹ для Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ сообщСния"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ отслСТивания Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ (см. git-pull(1))"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствия Π½Π° отслСТиваСмых Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π²Π΅Ρ‚ΠΊΠ°Ρ…"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ΠΊΠΎΠΌΠΌΠΈΡ‚"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½Ρ‹Π΅ для git-branch дСйствия:"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список ΠΈ отслСТиваСмых ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠ»ΠΈΡ‚ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ (Π΄Π°ΠΆΠ΅ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ ΡΠ»ΠΈΡ‚ΡƒΡŽ)"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Π΅Π΅ ΠΆΡƒΡ€Π½Π°Π» ссылок"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ, Π΄Π°ΠΆΠ΅ Ссли Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ имя ΡƒΠΆΠ΅ сущСствуСт"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список ΠΈΠΌΠ΅Π½ Π²Π΅Ρ‚ΠΎΠΊ"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» ссылок Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ описаниС Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ созданиС, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ слитых Π²Π΅Ρ‚ΠΎΠΊ"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ слитых Π²Π΅Ρ‚ΠΎΠΊ"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список Π²Π΅Ρ‚ΠΎΠΊ ΠΏΠΎ столбцам"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "ΠΊΠ»ΡŽΡ‡"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "имя поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сортировку"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "ΠΎΠ±ΡŠΠ΅ΠΊΡ‚"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ‚ΠΎΠΊ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ HEAD ΠΊΠ°ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ссылку."
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "HEAD Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² refs/heads!"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "--column ΠΈ --verbose нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ"
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "трСбуСтся имя Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
-msgstr "НСльзя Π΄Π°Ρ‚ΡŒ описаниС ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ HEAD"
+msgstr "НСльзя Π΄Π°Ρ‚ΡŒ описаниС ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ HEAD"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ описаниС Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π·Π° Ρ€Π°Π·"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "Π•Ρ‰Π΅ Π½Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ Β«%sΒ»."
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "НСт Π²Π΅Ρ‚ΠΊΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«%sΒ»."
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‚ΠΎΠΊ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСимСнования"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‚ΠΎΠΊ для указания Π½ΠΎΠ²Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΡ…"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
-msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для HEAD Π½Π° %s, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ."
+msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для HEAD Π½Π° %s, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ."
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Β«%sΒ»"
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "Π²Π΅Ρ‚ΠΊΠ° Β«%sΒ» Π½Π΅ сущСствуСт"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr "слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‚ΠΎΠΊ для убирания Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΡ…"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
-msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для HEAD, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ."
+msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для HEAD, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ."
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "Π’Π΅Ρ‚ΠΊΠ° Β«%sΒ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Β«HEADΒ» Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr "ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ -a ΠΈ -r для Β«git branchΒ» Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ смысла с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using "
"--track or --set-upstream-to\n"
msgstr "Π€Π»Π°Π³ --set-upstream устарСл ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ВмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ --track ΠΈΠ»ΠΈ --set-upstream-to\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3677,12 +3825,12 @@ msgid ""
"\n"
msgstr "\nЕсли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«%sΒ» отслСТивала Β«%sΒ», сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:\n\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr "git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -3774,7 +3922,7 @@ msgstr "вывСсти всС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ установлСнныС для
msgid "use .gitattributes only from the index"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ .gitattributes ΠΈΠ· индСкса"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
@@ -3782,7 +3930,7 @@ msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· стандартного
msgid "terminate input and output records by a NUL character"
msgstr "ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° записСй ΠΏΠΎ ΠΠ£Π›Π•Π’ΠžΠœΠ£ символу"
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ прогрСсс выполнСния"
@@ -3835,49 +3983,53 @@ msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚: %s"
msgid "no contacts specified"
msgstr "Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<ΠΎΠΏΡ†ΠΈΠΈ>] [--] [<Ρ„Π°ΠΉΠ»>…]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "индСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ 1 ΠΈ 3 ΠΈΠ»ΠΈ all"
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° состояниС всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· индСкса"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ прСдупрСТдСния для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈ нСпроиндСксированных Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ статистику доступа Π² Ρ„Π°ΠΉΠ»Π΅ индСкса"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ список ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ содСрТимоС Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "строка"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ спСрСди <строку> ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ индСкса"
@@ -3957,37 +4109,41 @@ msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» ссылок для Β«%s
msgid "HEAD is now at"
msgstr "HEAD сСйчас Π½Π°"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ HEAD"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "Бброс Π²Π΅Ρ‚ΠΊΠΈ Β«%sΒ»\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "Π£ΠΆΠ΅ Π½Π° Β«%sΒ»\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ сброс Π²Π΅Ρ‚ΠΊΠΈ Β«%sΒ»\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Β«%sΒ»\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ Β«%sΒ»\n"
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " … ΠΈ Π΅Ρ‰Π΅ %d.\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4004,7 +4160,7 @@ msgstr[1] "ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π²Ρ‹ оставляСтС ΠΏΠΎΠ·Π°Π΄ΠΈ
msgstr[2] "ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π²Ρ‹ оставляСтС ΠΏΠΎΠ·Π°Π΄ΠΈ %d ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π΅ соСдинСнныС Π½ΠΈ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΡˆΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ:\n\n%s\n"
msgstr[3] "ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π²Ρ‹ оставляСтС ΠΏΠΎΠ·Π°Π΄ΠΈ %d ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π΅ соСдинСнныС Π½ΠΈ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΡˆΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ:\n\n%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4018,167 +4174,167 @@ msgid_plural ""
"\n"
" git branch <new-branch-name> %s\n"
"\n"
-msgstr[0] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n\n"
-msgstr[1] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n\n"
-msgstr[2] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n\n"
-msgstr[3] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n\n"
+msgstr[0] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n"
+msgstr[1] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n"
+msgstr[2] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n"
+msgstr[3] "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ создания Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ сСйчас самоС врСмя\nΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:\n\n git branch <имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ> %s\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "внутрСнняя ошибка ΠΏΡ€ΠΈ Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠΎ рСдакциям"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°Ρ позиция HEAD Π±Ρ‹Π»Π°"
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "Π’Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π΅Ρ‰Π΅ Π½Π΅ созданной Π²Π΅Ρ‚ΠΊΠ΅"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "оТидаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ссылка, Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ %d."
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ссылка: %s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "Π² Π΄Π΅Ρ€Π΅Π²Π΅ Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ссылки: %s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π²Π΅Ρ‚ΠΎΠΊ"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr "нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«%sΒ» ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π²Π΅Ρ‚ΠΎΠΊ"
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "Β«%sΒ» нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Β«%sΒ»"
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr "НСльзя ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«%sΒ»"
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "Π²Π΅Ρ‚ΠΊΠ°"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ/ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» ссылок для Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ HEAD Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅ для Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "новая-Π²Π΅Ρ‚ΠΊΠ°"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "новая Π²Π΅Ρ‚ΠΊΠ° Π±Π΅Π· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½Π°ΡˆΡƒ Π²Π΅Ρ€ΡΠΈΡŽ для Π½Π΅ слитых Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° ΠΈΡ… Π²Π΅Ρ€ΡΠΈΡŽ для Π½Π΅ слитых Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ (отбрасываСт всС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния)"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ…Ρ…ΠΎΠ΄ΠΎΠ²ΠΎΠ΅ слияниС с Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)"
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "ΡΡ‚ΠΈΠ»ΡŒ"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr "ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния (merge ΠΈΠ»ΠΈ diff3)"
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr "Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ спСцификаторы ΠΏΡƒΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ частичными записями"
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "пСрСсмотр Β«git checkout <no-such-branch>Β»"
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr "Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΡƒΠΆΠ΅ содСрТит ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ссылку"
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ прогрСсс"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "-b, -B ΠΈ --orphan нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ"
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "--track Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ имя Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ имя Π²Π΅Ρ‚ΠΊΠΈ; ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ -b"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ спСцификация ΠΏΡƒΡ‚ΠΈ"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
"Did you intend to checkout '%s' which can not be resolved as commit?"
msgstr "НСльзя ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ Β«%sΒ».\nΠ’Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Β«%sΒ», Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚?"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr "git checkout: --detach Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ Β«%sΒ» ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚"
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4214,7 +4370,7 @@ msgstr "Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ %s\n"
msgid "failed to remove %s"
msgstr "сбой удалСния %s"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4222,7 +4378,7 @@ msgid ""
" - (empty) select nothing"
msgstr "Π‘ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΡŽ:\n1 - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт\nfoo - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ элСмСнт с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ прСфиксом\n - (пусто) Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4234,36 +4390,36 @@ msgid ""
" - (empty) finish selecting"
msgstr "Π‘ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΡŽ:\n1 - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ элСмСнт\n3-5 - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ элСмСнтов\n2-3,6-9 - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ нСсколько Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ²\nfoo - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ элСмСнт с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ прСфиксом\n-… - ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… элСмСнтов\n* - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ всС элСмСнты\n - (пусто) Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "Π₯ΠΌ (%s)?"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "Π¨Π°Π±Π»ΠΎΠ½Ρ‹ игнорирования Π²Π²ΠΎΠ΄Π°>> "
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "ΠŸΠ Π•Π”Π£ΠŸΠ Π•Π–Π”Π•ΠΠ˜Π•: НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ элСмСнты ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅: %s"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ элСмСнты для удалСния"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ %s [y - Π΄Π°/N - Π½Π΅Ρ‚]? "
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "Π”ΠΎ свидания."
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4274,15 +4430,15 @@ msgid ""
"? - help for prompt selection"
msgstr "clean - Π½Π°Ρ‡Π°Ρ‚ΡŒ очистку\nfilter by pattern - ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов\nselect by numbers - ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ\nask each - Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта (ΠΊΠ°ΠΊ Β«rm -iΒ»)\nquit - ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ очистку\nhelp - этот экран\n? - справка ΠΏΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΡŽ"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr "*** ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "Π§Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:"
@@ -4290,54 +4446,54 @@ msgstr[1] "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:"
msgstr[2] "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:"
msgstr[3] "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:"
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² для очистки, Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ."
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° удаляСмых Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "интСрактивная очистка"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "шаблон"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ <шаблон> Π² ΠΏΡ€Π°Π²ΠΈΠ»Π° игнорирования"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ -x ΠΈ -X"
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to"
" clean"
msgstr "clean.requireForce установлСн ΠΊΠ°ΠΊ true ΠΈ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΉ -i, -n ΠΈΠ»ΠΈ -f Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°; ΠΎΡ‚ΠΊΠ°Π· очистки"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4347,263 +4503,286 @@ msgstr "clean.requireForce установлСн ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°ΠΊ t
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<ΠΎΠΏΡ†ΠΈΠΈ>] [--] <Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ> [<ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию Π½Π° HEAD"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³ΠΎΠ»Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π΅Ρ€ΠΊΠ°Π»ΠΎ рСпозитория (Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ bare)"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "для клонирования ΠΈΠ· локального рСпозитория"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ТСсткиС ссылки, всСгда ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ общСдоступный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² ΠΊΠ»ΠΎΠ½Π΅"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³-шаблонов"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "ссылаСмый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ --reference Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "имя"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ <имя> вмСсто Β«originΒ» для отслСТивания Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅Π³ΠΎ рСпозитория"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° <Π²Π΅Ρ‚ΠΊΡƒ>, вмСсто HEAD внСшнСго рСпозитория"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "ΠΏΡƒΡ‚ΡŒ ΠΊ git-upload-pack Π½Π° внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654
-#: builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
msgid "depth"
msgstr "Π³Π»ΡƒΠ±ΠΈΠ½Π°"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr "ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ частичный ΠΊΠ»ΠΎΠ½ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ, HEAD ΠΈΠ»ΠΈ --branch"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr "ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³-git"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ git ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "ΠΊΠ»ΡŽΡ‡=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ IPv4 адрСса"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ IPv6 адрСса"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr "Имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ³Π°Π΄Π°Π½ΠΎ.\nΠ£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки"
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
msgstr "ссылаСмый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Β«%sΒ» ΠΊΠ°ΠΊ связанноС состояниС, ΠΏΠΎΠΊΠ° Π½Π΅ поддСрТиваСтся."
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr "ссылаСмый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Β«%sΒ» Π½Π΅ являСтся Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ."
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr "ссылаСмый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Β«%sΒ» являСтся частичным"
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr "ссылаСмый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Β«%sΒ» являСтся сращСнным"
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ stat Β«%sΒ»"
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "%s ΡƒΠΆΠ΅ сущСствуСт ΠΈ Π½Π΅ являСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ stat %s\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ссылку Β«%sΒ»"
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² Β«%sΒ»"
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "Π³ΠΎΡ‚ΠΎΠ²ΠΎ.\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
"and retry the checkout with 'git checkout -f HEAD'\n"
msgstr "ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π½ΠΎ Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка.\nΠ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«git statusΒ» Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹, Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git checkout -f HEADΒ»\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ внСшнюю Π²Π΅Ρ‚ΠΊΡƒ %s для клонирования."
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соСдинСния… "
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ прислал Π½Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹"
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ %s"
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr "внСшний HEAD ссылаСтся Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ссылку, нСльзя ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Ρ‚Π°ΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.\n"
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ для очистки"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "Блишком ΠΌΠ½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²."
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для клонирования."
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "--bare ΠΈ --origin %s нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ."
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "--bare ΠΈ --separate-git-dir нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ."
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Β«%sΒ» Π½Π΅ сущСствуСт"
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "Π³Π»ΡƒΠ±ΠΈΠ½Π° %s Π½Π΅ являСтся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr "Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ Β«%sΒ» ΡƒΠΆΠ΅ сущСствуСт ΠΈ Π½Π΅ являСтся пустым ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ."
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«%sΒ» ΡƒΠΆΠ΅ сущСствуСт."
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ для Β«%sΒ»"
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«%sΒ»"
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π³ΠΎΠ»Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Β«%s»…\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Β«%s»…\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
msgstr "--depth игнорируСтся Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΎΠ½Π°Ρ…; вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ file://."
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr "исходный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ являСтся частичным, --local игнорируСтся"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local игнорируСтся"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "НС знаю ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ %s"
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr "Π’Π½Π΅ΡˆΠ½ΡΡ Π²Π΅Ρ‚ΠΊΠ° %s Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ %s"
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ пустой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ."
@@ -4754,11 +4933,11 @@ msgstr "Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Β«%sΒ» отсутствуСт Π°Π²Ρ‚ΠΎΡ€ Π² Π·Π°Π³ΠΎΠ»
#: builtin/commit.c:582
#, c-format
msgid "commit '%s' has malformed author line"
-msgstr "Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Β«%sΒ» Π°Π²Ρ‚ΠΎΡ€ Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅"
+msgstr "Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Β«%sΒ» строка Π°Π²Ρ‚ΠΎΡ€Π° Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅"
#: builtin/commit.c:601
msgid "malformed --author parameter"
-msgstr "ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --author Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅"
+msgstr "ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --author Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅"
#: builtin/commit.c:609
#, c-format
@@ -4776,7 +4955,7 @@ msgstr "нСльзя Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ символ коммСнтария, ΠΊΠΎΡ‚Π
msgid "could not lookup commit %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ %s"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "(Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°)\n"
@@ -4944,8 +5123,8 @@ msgstr "ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ статус"
msgid "show branch information"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вСрсии"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "ΠΌΠ°ΡˆΠΈΠ½ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄"
@@ -4994,7 +5173,7 @@ msgstr "нСльзя Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ новосозданный ΠΊΠΎΠΌΠΌΠΈΡ‚"
#: builtin/commit.c:1477
msgid "detached HEAD"
-msgstr "ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ HEAD"
+msgstr "ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ HEAD"
#: builtin/commit.c:1480
msgid " (root-commit)"
@@ -5032,8 +5211,8 @@ msgstr "Π΄Π°Ρ‚Π°"
msgid "override date for commit"
msgstr "ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "сообщСниС"
@@ -5066,7 +5245,7 @@ msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ сообщСни
msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr "ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π° ΠΌΠΎΠΈΠΌ авторством (с использованиСм -C/-c/--amend)"
-#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Signed-off-by:"
@@ -5090,7 +5269,7 @@ msgstr "ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ #ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ· сΠ
msgid "include status in commit message template"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ статус Ρ„Π°ΠΉΠ»ΠΎΠ² Π² шаблон сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π°"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GPG"
@@ -5178,139 +5357,143 @@ msgid ""
"not exceeded, and then \"git reset HEAD\" to recover."
msgstr "Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Ρ‹Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½, Π½ΠΎ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» new_index. Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° дискС Π΅ΡΡ‚ΡŒ свободноС мСсто ΠΈ ΠΊΠ²ΠΎΡ‚Π° Π½Π΅ исчСрпана, Π° послС этого запуститС Β«git reset HEADΒ» для восстановлСния."
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<ΠΎΠΏΡ†ΠΈΠΈ>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСмный Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ рСпозитория"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "ΠΈΠ΄Π΅Π½Ρ‚-Π΄Π²ΠΎΠΈΡ‡Π½-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ настройки ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "ДСйствиС"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: имя [шаблон-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС значСния: ΠΊΠ»ΡŽΡ‡ [шаблон-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ]"
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr "ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ значСния ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ: шаблон-ΠΈΠΌΠ΅Π½ [шаблон-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ]"
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr "ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, спСцифичноС для URL: Ρ€Π°Π·Π΄Π΅Π»[.пСрСмСнная] URL"
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr "Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: имя Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ [шаблон-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ]"
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ: имя Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ: имя [шаблон-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅: имя [шаблон-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»: староС-имя Π½ΠΎΠ²ΠΎΠ΅-имя"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»: имя"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь список"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "Π½Π°ΠΉΡ‚ΠΈ настроСнный Ρ†Π²Π΅Ρ‚: Ρ€Π°Π·Π΄Π΅Π» [ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сущСствуСт Π»ΠΈ настроСнный Ρ†Π²Π΅Ρ‚: Ρ€Π°Π·Π΄Π΅Π» [stdout-Π΅ΡΡ‚ΡŒ-tty]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "Π’ΠΈΠΏ"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” это Β«trueΒ» (ΠΏΡ€Π°Π²Π΄Π°) ΠΈΠ»ΠΈ Β«falseΒ» (лоТь)"
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” это дСсятичноС число"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” это --bool ΠΈΠ»ΠΈ --int"
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr "Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” это ΠΏΡƒΡ‚ΡŒ (ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ)"
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr "Π”Ρ€ΡƒΠ³ΠΎΠ΅"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ значСния ΠΠ£Π›Π•Π’Π«Πœ Π±Π°ΠΉΡ‚ΠΎΠΌ"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ include (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ²) ΠΏΡ€ΠΈ запросС"
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ источник настройки (Ρ„Π°ΠΉΠ», стандартный Π²Π²ΠΎΠ΄, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, командная строка)"
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5320,7 +5503,7 @@ msgid ""
"#\temail = %s\n"
msgstr "# Π­Ρ‚ΠΎ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Git.\n[user]\n# ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ раскоммСнтируйтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:\n#\tuser = %s\n#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ %s"
@@ -5564,247 +5747,251 @@ msgstr "git fetch --multiple [<ΠΎΠΏΡ†ΠΈΠΈ>] [(<Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ> | <Π³Ρ€Ρƒ
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<ΠΎΠΏΡ†ΠΈΠΈ>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ со всСх Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊ .git/FETCH_HEAD вмСсто пСрСзаписи"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° машинС с внСшним Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ локальной Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ связанныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "Π½Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ всС ΠΌΠ΅Ρ‚ΠΊΠΈ (--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "количСство ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ скачаны ΠΏΠ°Ρ€Ρ€Π°Π»Π΅Π»ΡŒΠ½ΠΎ"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr "ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ отслСТиваСмыС внСшниС Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ Π½Π΅Ρ‚ Π½Π° внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ"
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСкурсивным ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ссылки HEAD"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr "глубокая история частичного ΠΊΠ»ΠΎΠ½Π°"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr "ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ это спСрСди ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΏΡƒΡ‚Π΅ΠΉ подмодуля"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для рСкурсии"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr "ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ссылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ .git/shallow"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "соотвСтствиС-ссылок"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ соотвСтствиС ссылок ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ"
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ссылку HEAD Π½Π° внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ"
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ %s Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr "! %-*s %-*s β†’ %s (Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ)"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ]"
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " (Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ссылку)"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[новая ΠΌΠ΅Ρ‚ΠΊΠ°]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[новая Π²Π΅Ρ‚ΠΊΠ°]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[новая ссылка]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ссылку"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "(Π±Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΈ Π²ΠΏΠ΅Ρ€Π΅Π΄)"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ %s: %s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr "%s Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\n"
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr "%s ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ частичныС ΠΊΠΎΡ€Π½ΠΈ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ"
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "Из %.*s\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
" 'git remote prune %s' to remove any old, conflicting branches"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ссылки; ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Β«git remote prune %sΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ старыС, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ"
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s Π±ΡƒΠ΄Π΅Ρ‚ висящСй Π²Π΅Ρ‚ΠΊΠΎΠΉ)"
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s стала висящСй Π²Π΅Ρ‚ΠΊΠΎΠΉ)"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[ΡƒΠ΄Π°Π»Π΅Π½ΠΎ]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(Π½Π΅Ρ‚)"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr "ΠžΡ‚ΠΊΠ°Π· получСния Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ %s Π½Π΅ Π³ΠΎΠ»ΠΎΠ³ΠΎ рСпозитория"
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«%2$sΒ» для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«%1$sΒ» для %3$s"
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«%sΒ» игнорируСтся для %s\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "НС знаю ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ с %s"
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· %s\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ %s"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
msgstr "НС ΡƒΠΊΠ°Π·Π°Π½ внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ URL ΠΈΠ»ΠΈ имя внСшнСго рСпозитория ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ."
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΌΠ΅Ρ‚ΠΊΠΈ."
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr "нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ --depth ΠΈ --unshallow"
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
msgstr "--unshallow Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Π½Π° ΠΏΠΎΠ»Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ"
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "fetch --all Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ имя рСпозитория ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr "fetch --all Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ спСцификаций ссылок"
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "НСт Ρ‚Π°ΠΊΠΎΠ³ΠΎ внСшнСго рСпозитория ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹: %s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr "ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ спСцификаций ссылок Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла"
@@ -6020,259 +6207,273 @@ msgstr "Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎ
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<ΠΎΠΏΡ†ΠΈΠΈ>] [-e] <шаблон> [<рСдакция>…] [[--] <ΠΏΡƒΡ‚ΡŒ>…]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grep: сбой создания ΠΏΠΎΡ‚ΠΎΠΊΠ°: %s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "ΡƒΠΊΠ°Π·Π°Π½ΠΎ нСдопустимоС количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (%d) для %s"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ (%s)"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ grep ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° %s"
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«%cΒ» ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ»"
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr "ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² индСксС, Π° Π½Π΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅"
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² содСрТимом Π½Π΅ управляСмым git"
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π² отслСТиваСмых, ΠΈ Π² нСотслСТиваСмых Ρ„Π°ΠΉΠ»Π°Ρ…"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Β«.gitignoreΒ»"
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… строках"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "ΠΈΡΠΊΠ°Ρ‚ΡŒ совпадСния шаблона Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ… слов"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠ°ΠΊ тСкста"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "Π½Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ совпадСния шаблона Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² textconv"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "Π½Π° Π³Π»ΡƒΠ±ΠΈΠ½Π΅ максиму <Π³Π»ΡƒΠ±ΠΈΠ½Π°> ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ рСгулярныС выраТСния POSIX"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ рСгулярныС выраТСния POSIX (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠ°ΠΊ фиксированныС строки"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Perl-совмСстимыС рСгулярныС выраТСния"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "вывСсти Π½ΠΎΠΌΠ΅Ρ€Π° строк"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° рСпозитория"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ строки"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "синоним для --files-with-matches"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΠžΠ›Π¬ послС списка ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ количСство совпадСний, Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ строки"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ совпадСния"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ строку послС совпадСний ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π· Π½Π° нСсколько совпадСний Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅"
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ <n> строк контСкста ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ послС совпадСния"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ <n> строк контСкста ΠΏΠ΅Ρ€Π΅Π΄ совпадСниСм"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ <n> строк контСкста послС совпадСния"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ <ΠΊΠΎΠ»> Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "Ρ‚ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ -C ΠšΠžΠ›Π˜Π§Π•Π‘Π’Π’Πž"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ строку с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ совпадСниСм"
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "поиск соотвСтствий с <шаблоном>"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ -e"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr "Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° совпадСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° Π²Ρ‹Ρ…ΠΎΠ΄Π°"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ совпадСния ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ всС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹"
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π° для выраТСния поиска"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€Π°"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² grep(1) (игнорируСтся Π² этой сборкС)"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "нС задан шаблон."
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (%d)"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr "--open-files-in-pager Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅"
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
msgstr "--cached ΠΈΠ»ΠΈ --untracked нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с --no-index."
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr "--no-index ΠΈΠ»ΠΈ --untracked нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ."
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr "--[no-]exclude-standard Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для отслСТиваСмого содСрТимого."
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ --cached ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ."
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
msgstr "git hash-object [-t <Ρ‚ΠΈΠΏ>] [-w] [--path=<Ρ„Π°ΠΉΠ»> | --no-filters] [--stdin] [--] <Ρ„Π°ΠΉΠ»>…"
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "Ρ‚ΠΈΠΏ"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "запись ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π±Π΅Π· использования Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
-msgstr "Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой мусор ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Git"
+msgstr "Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой мусор ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Git"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Ρ‚Π°ΠΊ, Π±ΡƒΠ΄Ρ‚ΠΎ ΠΎΠ½ находится ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ"
@@ -6323,75 +6524,75 @@ msgstr "вСрсия emacsclient Β«%dΒ» слишком старая (< 22)."
msgid "failed to exec '%s': %s"
msgstr "сбой ΠΏΡ€ΠΈ запускС Β«%sΒ»: %s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
"Please consider using 'man.<tool>.cmd' instead."
msgstr "Β«%sΒ»: ΠΏΡƒΡ‚ΡŒ для Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра man.\nВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«man.<ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°>.cmdΒ»."
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
"Please consider using 'man.<tool>.path' instead."
msgstr "Β«%sΒ»: ΠΊΠΎΠΌΠ°Π½Π΄Π° для Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра man.\nВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«man.<ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°>.pathΒ»."
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "Β«%sΒ»: нСизвСстная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просмотра man."
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просмотра man Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° запрос"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просмотра info Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° запрос"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² для ΠΏΡƒΡ‚Π΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr "ΠŸΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΉ Git с 20 ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚ΠΎΠ³ΠΎ"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "Глоссарий Git"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ свойств ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² для Git"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr "Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Git (для вСрсии 1.5.1 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅)"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "ΠžΠ±Π·ΠΎΡ€ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ выполняСмых дСйствий с Git"
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ руководства Git:\n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "использованиС: %s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "Β«git %sΒ» β€” это сокращСниС для Β«%sΒ»"
@@ -6633,27 +6834,22 @@ msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» индСкса"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "ΠΏΠ»ΠΎΡ…ΠΎΠΉ pack.indexversion=%<PRIu32>"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "Π½Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ %s"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΏΠ°ΠΊΠ΅Ρ‚Π° Β«%sΒ»"
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» индСкса для Β«%sΒ»"
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
@@ -6662,7 +6858,7 @@ msgstr[1] "Π½Π΅ Π΄Π΅Π»ΡŒΡ‚Ρ‹: %d ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°"
msgstr[2] "Π½Π΅ Π΄Π΅Π»ΡŒΡ‚Ρ‹: %d ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
msgstr[3] "Π½Π΅ Π΄Π΅Π»ΡŒΡ‚Ρ‹: %d ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
@@ -6671,26 +6867,26 @@ msgstr[1] "Π΄Π»ΠΈΠ½Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ = %d: %lu ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°"
msgstr[2] "Π΄Π»ΠΈΠ½Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ = %d: %lu ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
msgstr[3] "Π΄Π»ΠΈΠ½Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ = %d: %lu ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "ΠΏΠ»ΠΎΡ…ΠΎΠΉ %s"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "--fix-thin нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· --stdin"
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr "имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° Β«%sΒ» Π½Π΅ оканчиваСтся Π½Π° Β«.packΒ»"
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "--verify Π±Π΅Π· указания ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°"
@@ -6764,7 +6960,7 @@ msgstr "%s%s Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git Π² %s%s\n"
#: builtin/init-db.c:400
msgid "Reinitialized existing"
-msgstr "РСинициализация ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ"
+msgstr "ΠŸΠ΅Ρ€Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ"
#: builtin/init-db.c:400
msgid "Initialized empty"
@@ -6812,22 +7008,30 @@ msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊ
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...]"
-" [<file>...]"
-msgstr "git interpret-trailers [--trim-empty] [(--trailer <лСксСма>[(=|:)<Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>])…] [<Ρ„Π°ΠΉΠ»>…]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
+msgstr "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <ΠΊΠ»ΡŽΡ‡>[(=|:)<Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>])…] [<Ρ„Π°ΠΉΠ»>…]"
+
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° мСстС"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ пустыС Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅Π»ΠΈ"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅Π»ΡŒ"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅Π»ΠΈ для добавлСния"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ, для рСдактирования Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° мСстС"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<ΠΎΠΏΡ†ΠΈΠΈ>] [<Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½-Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ>] [[--] <ΠΏΡƒΡ‚ΡŒ>…]"
@@ -6881,326 +7085,373 @@ msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ %s"
msgid "Unknown type: %d"
msgstr "НСизвСстный Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: %d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "Π² format.headers Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "слишком Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ имя Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°"
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "Ну ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ %s"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "НуТСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½."
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "НС являСтся Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ."
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ письмо Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "ошибка в полС in-reply-to: %s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<ΠΎΠΏΡ†ΠΈΠΈ>] [<начиная-с> | <Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½-Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "Π”Π²Π° Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°?"
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ [PATCH n/m] Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ‚Ρ‡"
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ [PATCH] Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° нСсколько ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ"
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄"
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ письмо"
-#: builtin/log.c:1222
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл для ΠΈΠΌΠ΅Π½ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/log.c:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr "суффикс"
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ суффикс <суффикс> вмСсто Β«.patchΒ»"
-#: builtin/log.c:1226
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr "Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ с <n>, Π° Π½Π΅ с 1"
-#: builtin/log.c:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ ΠΊΠ°ΠΊ ΡΠ½Π½ΡƒΡŽ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ"
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ [<прСфикс>] вмСсто [PATCH]"
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² <ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³>"
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "Π½Π΅ ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ/Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ [PATCH]"
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ различия"
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
-msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ Ρ…Π΅Ρˆ-сумму Π² ΠΏΠΎΠ»Π΅ ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ"
+msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΡƒΡŽ Ρ…ΡΡˆ-сумму Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ From"
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr "Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡, Ссли ΠΊΠΎΠΌΠΌΠΈΡ‚ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅"
-#: builtin/log.c:1245
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΠ°Ρ‚Ρ‡Π°, Π° Π½Π΅ Π² стандартном (ΠΏΠ°Ρ‚Ρ‡ + статистика)"
-#: builtin/log.c:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сообщСний"
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr "Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ"
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ сообщСния"
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "ΠΏΠΎΡ‡Ρ‚Π°"
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ To:"
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Cc:"
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr "ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€"
-#: builtin/log.c:1255
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr "ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ адрСс отправитСля Π½Π° <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€> (ΠΈΠ»ΠΈ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅Ρ€Π°, Ссли отсутствуСт)"
-#: builtin/log.c:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr "ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€-сообщСния"
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ письмо ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π° <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€-сообщСния>"
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅"
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡"
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ Π² тСкст письма"
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΠΈΡΡŒΠΌΠ°Ρ… ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, стили: shallow (Ρ‡Π°ΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ), deep (Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ)"
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr "подпись"
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ подпись"
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ подпись ΠΈΠ· Ρ„Π°ΠΉΠ»Π°"
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ"
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "-n ΠΈ -k нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ"
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "--subject-prefix ΠΈ -k нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ."
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "--name-only Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла"
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "--name-status Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла"
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "--check Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла"
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "стандартный Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³?"
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«%sΒ»"
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» подписи Β«%sΒ»"
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "Π‘Π±ΠΎΠΉ ΠΏΡ€ΠΈ создании Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π°Ρ-Π²Π΅Ρ‚ΠΊΠ°> [<Π³ΠΎΠ»ΠΎΠ²Π°> [<ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅>]]]"
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> "
"manually.\n"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ внСшнюю Π²Π΅Ρ‚ΠΊΡƒ, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ <Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ-Π²Π΅Ρ‚ΠΊΡƒ> Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.\n"
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "НСизвСстный ΠΊΠΎΠΌΠΌΠΈΡ‚ %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<ΠΎΠΏΡ†ΠΈΠΈ>] [<Ρ„Π°ΠΉΠ»>…]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символы Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС для Β«ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ» Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя индСксированного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½Π° Ρƒ Β«Π΄Ρ€ΡƒΠ³ΠΈΡ…Β» ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Ρ‹ строк Ρ„Π°ΠΉΠ»ΠΎΠ²"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ пустыС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ слитыС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π΅"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· <Ρ„Π°ΠΉΠ»>"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Ρ‚Π°Π»ΠΎΠΆΠ½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· <Ρ„Π°ΠΉΠ»>"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ стандартныС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ git"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ <Ρ„Π°ΠΉΠ»> Π½Π΅ Π² индСксС, ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ это ошибкой"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ-Π΄Π΅Ρ€Π΅Π²Π°"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr "ΠΏΡ€ΠΈΡ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹, Ρ‚.ΠΊ. <ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ-Π΄Π΅Ρ€Π΅Π²Π°> Π΅Ρ‰Π΅ сущСствуСт"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<запуск>]\n [-q | --quiet] [--exit-code] [--get-url]\n [--symref] [<Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ> [<ссылки>…]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ URL Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "запуск"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "ΠΏΡƒΡ‚ΡŒ ΠΊ git-upload-pack Π½Π° внСшнСм сСрвСрС"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ указатСлями Π½Π° Π²Π΅Ρ‚ΠΊΠΈ"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ url.<Π±Π°Π·Π°>.insteadOf"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ 2, Ссли ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ссылки Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ссылку Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<ΠΎΠΏΡ†ΠΈΠΈ>] <ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ-Π΄Π΅Ρ€Π΅Π²Π°> [<ΠΏΡƒΡ‚ΡŒ>…]"
@@ -7268,31 +7519,31 @@ msgstr "ДоступныС стратСгии:"
msgid "Available custom strategies are:"
msgstr "ДоступныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ стратСгии:"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ статистику ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ послС окончания слияния"
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "вывСсти статистику ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ послС окончания слияния"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "(синоним для --stat)"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (максимум <n>) записСй ΠΈΠ· ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° Π² сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Ρƒ слияния"
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚, вмСсто выполнСния слияния"
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, Ссли слияниС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСниС ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°"
@@ -7300,28 +7551,28 @@ msgstr "ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСниС ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π
msgid "allow fast-forward (default)"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΡƒ Π²ΠΏΠ΅Ρ€Π΅Π΄ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
-msgstr "ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ слияния, Ссли ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°"
+msgstr "ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ слияния, Ссли ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°"
#: builtin/merge.c:213
msgid "Verify that the named commit has a valid GPG signature"
msgstr "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡŽ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ подпись GPG"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "стратСгия"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ стратСгия слияния"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "опция=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "ΠΎΠΏΡ†ΠΈΠΈ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ стратСгии слияния"
@@ -7359,8 +7610,8 @@ msgstr " (Π½Π΅Ρ‡Π΅Π³ΠΎ ΡƒΠΏΠ»ΠΎΡ‚Π½ΡΡ‚ΡŒ)"
msgid "Squash commit -- not updating HEAD\n"
msgstr "Π£ΠΏΠ»ΠΎΡ‚Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° β€” Π½Π΅ обновляя HEAD\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Β«%sΒ»"
@@ -7378,41 +7629,41 @@ msgstr "Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ SQUASH_MSG"
msgid "No merge message -- not updating HEAD\n"
msgstr "НСт сообщСния слияния β€” Π½Π΅ обновляСм HEAD\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "Β«%sΒ» Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ строка branch.%s.mergeoptions: %s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
-msgstr "НС ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ слияния Π΄Π²ΡƒΡ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹."
+msgstr "НС ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ слияния Π΄Π²ΡƒΡ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π²Π΅Ρ‚ΠΊΠΈ."
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "НСизвСстный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ merge-recursive: -X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ %s"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΈΠ· Β«%sΒ»"
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr "НС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«git commitΒ» для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ слияния.\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7422,157 +7673,157 @@ msgid ""
"the commit.\n"
msgstr "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, для объяснСния, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ\nэто слияниС, особСнно, Ссли это слияниС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ\nΠ²Π΅Ρ‚ΠΊΠΈ Π² Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.\n\nΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с Β«%cΒ» Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π° пустоС\nсообщСниС отмСняСт процСсс ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "ΠŸΡƒΡΡ‚ΠΎΠ΅ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°."
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎ.\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ провСсти автоматичСскоС слияниС; ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈ сдСлайтС ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.\n"
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "Β«%sΒ» Π½Π΅ являСтся ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "НСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ."
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "Π£ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π½Π΅Ρ‚ внСшнСго рСпозитория."
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr "Для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π°Ρ Π²Π΅Ρ‚ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ."
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "НС ΡƒΠΊΠ°Π·Π°Π½Π° внСшняя отслСТиваСмая Π²Π΅Ρ‚ΠΊΠ° для %s Π½Π° %s"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«%sΒ»"
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr "НСт слияния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (отсутствуСт Ρ„Π°ΠΉΠ» MERGE_HEAD)."
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
msgstr "Π’Ρ‹ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ слияниС (присутствуСт Ρ„Π°ΠΉΠ» MERGE_HEAD).\nΠ’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅Π΄ слияниСм."
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
msgstr "Π’Ρ‹ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ ΠΎΡ‚Π±ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ (присутствуСт Ρ„Π°ΠΉΠ» CHERRY_PICK_HEAD).\nΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅Π΄ слияниСм."
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr "Π’Ρ‹ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ ΠΎΡ‚Π±ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ (присутствуСт Ρ„Π°ΠΉΠ» CHERRY_PICK_HEAD)."
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "НСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ --squash ΠΈ --no-ff."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ merge.defaultToUpstream Π½Π΅ установлСн."
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
-msgstr "Π£ΠΏΠ»ΠΎΡ‚Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² пустой HEAD Π΅Ρ‰Π΅ Π½Π΅ поддСрТиваСтся"
+msgstr "Π£ΠΏΠ»ΠΎΡ‚Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² ΠΏΡƒΡΡ‚ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π΅Ρ‰Π΅ Π½Π΅ поддСрТиваСтся"
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
-msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΎΠΉ Π²ΠΏΠ΅Ρ€Π΅Π΄, Π½Π΅Ρ‚ смысла Π΄Π΅Π»Π°Ρ‚ΡŒ Π² пустой HEAD."
+msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΎΠΉ Π²ΠΏΠ΅Ρ€Π΅Π΄, Π½Π΅Ρ‚ смысла Π΄Π΅Π»Π°Ρ‚ΡŒ Π² ΠΏΡƒΡΡ‚ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ."
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s Π½Π΅ являСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΡ‚ΡŒ"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
-msgstr "МоТно ΡΠ»ΠΈΡ‚ΡŒ строго ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² пустой HEAD."
+msgstr "МоТно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² ΠΏΡƒΡΡ‚ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ."
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚ %s содСрТит Π½Π΅ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ GPG подпись, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ %s."
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚ %s содСрТит ΠΏΠ»ΠΎΡ…ΡƒΡŽ GPG подпись, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ %s."
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚ %s Π½Π΅ содСрТит GPG подпись."
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚ %s содСрТит Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ GPG подпись, ΠΎΡ‚ %s.\n"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "ОбновлСниС %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ слияния Π² индСксС…\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "НС Π²Ρ‹ΡˆΠ»ΠΎ.\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
-msgstr "ΠŸΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΠΎΡ‚ΠΌΠ΅Π½Π°."
+msgstr "ΠŸΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΠΎΡ‚ΠΌΠ΅Π½Π°."
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "ΠŸΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π΄Π΅Ρ€Π΅Π²Π° ΠΊ исходному ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽβ€¦\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° слияния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стратСгии %s…\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr "Ни ΠΎΠ΄Π½Π° стратСгия слияния Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° слияниС.\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "Π‘Π±ΠΎΠΉ ΠΏΡ€ΠΈ слиянии с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стратСгии %s.\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ %s для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ².\n"
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr "АвтоматичСскоС слияниС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ; ΠΊΠ°ΠΊ ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈ, остановлСно ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°\n"
@@ -7655,19 +7906,19 @@ msgstr "Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Ρ…"
msgid "set labels for file1/orig-file/file2"
msgstr "ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ для Ρ„Π°ΠΉΠ»1/ΠΎΡ€ΠΈΠ³-Ρ„Π°ΠΉΠ»/Ρ„Π°ΠΉΠ»2"
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
-msgstr "Π²Π²ΠΎΠ΄ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΠ£Π›Π•Π’Π«ΠœΠ˜ символами"
+msgstr "Π²Π²ΠΎΠ΄ ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΠ£Π›Π•Π’Π«ΠœΠ˜ символами"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ отсутствиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ созданиС Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°"
@@ -7675,90 +7926,90 @@ msgstr "Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ созданиС Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<ΠΎΠΏΡ†ΠΈΠΈ>] <источник>… <Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ %s Π² индСксС ΠΈ Π½Π΅ являСтся ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ?"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr "Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, проиндСксируйтС ΠΈΠ»ΠΈ ΡΠΏΡ€ΡΡ‡ΡŒΡ‚Π΅ ваши измСнСния Π² Ρ„Π°ΠΉΠ»Π΅ .gitmodules"
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s в индСсС"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли Ρ†Π΅Π»ΡŒ сущСствуСт"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ошибки ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ Β«%sΒ» Π½Π΅ являСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° пСрСимСнования ΠΈΠ· Β«%sΒ» Π² Β«%sΒ»\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "ΠΏΠ»ΠΎΡ…ΠΎΠΉ источник"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "нСльзя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² самого сСбя"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "нСльзя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Ρ„Π°ΠΉΠ»"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "исходный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ пуст"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "Π½Π΅ ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ ΡƒΠΆΠ΅ сущСствуСт"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ Β«%sΒ»"
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "нСсколько источников для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s, ΠΎΡ‚ΠΊΡƒΠ΄Π°=%s, ΠΊΡƒΠ΄Π°=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ %s Π² %s\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "сбой ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ Β«%sΒ»"
@@ -7951,9 +8202,9 @@ msgid "could not open or read '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Β«%sΒ»"
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Β«%sΒ» ΠΊΠ°ΠΊ ссылку."
@@ -7968,146 +8219,146 @@ msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«%sΒ»."
msgid "Cannot read note data from non-blob object '%s'."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ· Π½Π΅Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Β«%sΒ»."
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "НС Π½Π°ΠΉΠ΄Π΅Π½Π° Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ° для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s."
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "тСкстовоС содСрТимоС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "содСрТимоС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Π² Ρ„Π°ΠΉΠ»Π΅"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ сохранСниС пустой Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
"existing notes"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ. НайдСна ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ° Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«-fΒ» для пСрСзаписи ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ."
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr "Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ настройки пСрСзаписи для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ <ΠΊΠΎΠΌΠ°Π½Π΄Π°> (Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя --stdin)"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ слишком ΠΌΠ°Π»ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite"
" existing notes"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ. НайдСна ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ° Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«-fΒ» для пСрСзаписи ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ."
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "НСт Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ Ρƒ исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s. НСльзя ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ."
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
"Please use 'git notes add -f -m/-F/-c/-C' instead.\n"
msgstr "ΠžΠΏΡ†ΠΈΠΈ -m/-F/-c/-C для ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«editΒ» устарСли.\nΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вмСсто Π½ΠΈΡ… Β«git notes add -f -m/-F/-c/-CΒ».\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "ΠžΠ±Ρ‰ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "ΠžΠΏΡ†ΠΈΠΈ слияния"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy "
"(manual/ours/theirs/union/cat_sort_uniq)"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ стратСгии (manual/ours/theirs/union/cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "ΠšΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ слитых Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr "Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ слияниС Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π½Π΅ слитых Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "ΠžΡ‚ΠΌΠ΅Π½Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ слияния Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ слияниС Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "БлияниС Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ Π² %s ΡƒΠΆΠ΅ выполняСтся Π½Π° %s"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° %s Π½Π΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr "ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° удалСния Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π΅ являСтся ошибкой"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "ссылка-Π½Π°-Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈΠ· <ссылка-Π½Π°-Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ>"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr "НСизвСстная ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π°: %s"
@@ -8127,165 +8378,165 @@ msgstr "git pack-objects [<ΠΎΠΏΡ†ΠΈΠΈ>…] <имя-Π±Π°Π·Ρ‹> [< <список-с
msgid "deflate error (%d)"
msgstr "ошибка сТатия (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "Π—Π°ΠΏΠΈΡΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr "ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ записи Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹"
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "нСподдСрТиваСмая вСрсия индСкса %s"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "плохая вСрсия индСкса Β«%sΒ»"
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ прогрСсс выполнСния"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ прогрСсс выполнСния"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr "ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ прогрСсс выполнСния Π²ΠΎ врСмя записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
msgstr "ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° --all-progress ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ прогрСссС выполнСния"
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "вСрсия[,смСщСниС]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr "Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» индСкса ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ вСрсии Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°"
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, взятыС ΠΈΠ· Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΠΎ количСству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr "Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ количСству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΠΎ памяти"
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr "максимальная Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Π°Ρ Π΄Π»ΠΈΠ½Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π΄Π΅Π»ΡŒΡ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅"
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π»ΡŒΡ‚Ρ‹"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ OFS_DELTA"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ поискС Π»ΡƒΡ‡ΡˆΠΈΡ… совпадСний Π΄Π΅Π»ΡŒΡ‚"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ пустыС Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr "ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹"
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ достиТимы ΠΏΠΎ любой ΠΈΠ· ссылок"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ записи ΠΆΡƒΡ€Π½Π°Π»Π° ссылок"
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылаСтся индСкс"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "вывСсти ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹"
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ссылки Π½Π° нСдоступныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "врСмя"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr "Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ нСдоступныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΠ²Π΅Π΅, Ρ‡Π΅ΠΌ <врСмя>"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ½ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr "ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, подходящиС для частичных ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΉ"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, рядом с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π»Π΅ΠΆΠΈΡ‚ .keep Ρ„Π°ΠΉΠ»"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сТатия ΠΏΠ°ΠΊΠ΅Ρ‚Π°"
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "Π½Π΅ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ сращСниями"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr "ΠΏΠΎ возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСкс Π² Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ…, для ускорСния подсчСта ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr "запись индСкса Π² Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚Π°Ρ… вмСстС с индСксом ΠΏΠ°ΠΊΠ΅Ρ‚Π°"
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
@@ -8329,65 +8580,69 @@ msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ старСС Ρ‡Π΅ΠΌ <Π΄Π°Ρ‚Π°-ΠΎΠΊΠΎΠ½Ρ‡Π°
msgid "cannot prune in a precious-objects repo"
msgstr "нСльзя ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² precious-objects Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<ΠΎΠΏΡ†ΠΈΠΈ>] [<Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ> [<спСцификация-ссылки>…]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "ΠžΠΏΡ†ΠΈΠΈ, связанныС со слияниСм"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "Π·Π°Π±Ρ€Π°Ρ‚ΡŒ измСнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрСбазирования, Π° Π½Π΅ слияния"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΡƒ Π²ΠΏΠ΅Ρ€Π΅Π΄"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡŽ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ подпись GPG"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
-msgstr "ΠžΠΏΡ†ΠΈΠΈ, связанныС с ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ"
+msgstr "ΠžΠΏΡ†ΠΈΠΈ, связанныС с ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ"
+
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "количСство ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΠ°Ρ€Ρ€Π°Π»Π΅Π»ΡŒΠ½ΠΎ"
-#: builtin/pull.c:268
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для pull.ff: %s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ: Π£ вас Π΅ΡΡ‚ΡŒ нСпроиндСксированныС измСнСния."
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr "К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π² вашСм индСксС Π΅ΡΡ‚ΡŒ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ измСнСния."
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ: Π’ вашСм индСксС Π΅ΡΡ‚ΡŒ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ измСнСния."
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
msgstr "НСт ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄Π΅Π½Ρ‚ΠΎΠ² для пСрСмСщСния срСди ссылок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ."
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr "НСт ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄Π΅Π½Ρ‚ΠΎΠ² для слияния срСди ссылок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ."
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
-msgstr "ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ссылки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблона ΠΈ этот шаблон Π½Π΅ совпал Π½ΠΈ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ссылок Π½Π° внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ."
+msgstr "ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ссылки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблона ΠΈ этот шаблон Π½ΠΈ с Ρ‡Π΅ΠΌ Π½Π΅ совпал Π½Π° внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ."
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8395,27 +8650,27 @@ msgid ""
"for your current branch, you must specify a branch on the command line."
msgstr "Π’Ρ‹ попросили ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния со внСшнСго рСпозитория Β«%sΒ», Π½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π²Π΅Ρ‚ΠΊΡƒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ это Π½Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС."
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "Π’Ρ‹ сСйчас Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ."
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π° ΠΊΠ°ΠΊΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ измСнСния."
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ с ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ»ΠΈΡ‚ΡŒ измСнСния."
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
-msgstr "Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ смотритС git-pull(1)."
+msgstr "Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, смотритС git-pull(1)."
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "Π£ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π½Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± отслСТивании."
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8423,26 +8678,26 @@ msgid ""
" git branch --set-upstream-to=%s/<branch> %s\n"
msgstr "Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ отслСТиваСмой Π²Π΅Ρ‚ΠΊΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:\n\n git branch --set-upstream-to=%s/<branch> %s\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
"from the remote, but no such ref was fetched."
msgstr "Π’Π°ΡˆΠ° конфигурация ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ»ΠΈΡ‚ΡŒ измСнСния со ссылкой\nΒ«%sΒ» ΠΈΠ· внСшнСго рСпозитория, Π½ΠΎ такая ссылка Π½Π΅ Π±Ρ‹Π»Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π°."
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr "ОбновлСниС Π΅Ρ‰Π΅ Π½Π΅ Π½Π°Ρ‡Π°Π²ΡˆΠ΅ΠΉΡΡ Π²Π΅Ρ‚ΠΊΠΈ с измСнСниями, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π² индСкс."
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
"fast-forwarding your working tree from\n"
"commit %s."
-msgstr "ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎ Π³ΠΎΠ»ΠΎΠ²Ρƒ вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ.\nΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°\nс ΠΊΠΎΠΌΠΌΠΈΡ‚Π° %s."
+msgstr "ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π²Π°ΡˆΡƒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.\nΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°\nс ΠΊΠΎΠΌΠΌΠΈΡ‚Π° %s."
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8453,11 +8708,11 @@ msgid ""
"to recover."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ измСнСния Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.\nПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сохранили всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΈΠ· Π²Ρ‹Π²ΠΎΠ΄Π°\n$ git diff %s\n, запуститС\n$ git reset --hard\nдля восстановлСния исходного состояния."
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
-msgstr "НСльзя ΡΠ»ΠΈΡ‚ΡŒ нСсколько Π²Π΅Ρ‚ΠΎΠΊ Π² пустой ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚."
+msgstr "НСльзя ΡΠ»ΠΈΡ‚ΡŒ нСсколько Π²Π΅Ρ‚ΠΎΠΊ Π² пустой ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ."
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "НСвозмоТно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π°Π΄ нСсколькими Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ."
@@ -8465,21 +8720,21 @@ msgstr "НСвозмоТно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π°Π΄ нСсколькимΠ
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<ΠΎΠΏΡ†ΠΈΠΈ>] [<Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ> [<спСцификация-ссылки>…]]"
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "ΡƒΠΊΠ°Π·Π°Π½ΠΎ сокращСниС tag, Π½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° сама <ΠΌΠ΅Ρ‚ΠΊΠ°>"
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "опция --delete ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ссылок"
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
msgstr "\nΠ§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΉ Π½Π° постоянной основС, смотритС push.default Π² Β«git help configΒ»."
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -8494,7 +8749,7 @@ msgid ""
"%s"
msgstr "Имя Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:\n\n git push %s HEAD:%s\n\nΠ§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² Π²Π΅Ρ‚ΠΊΡƒ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π° внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:\n\n git push %s %s\n%s"
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -8502,9 +8757,9 @@ msgid ""
"state now, use\n"
"\n"
" git push %s HEAD:<name-of-remote-branch>\n"
-msgstr "Π’Ρ‹ сСйчас Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ.\nΠ§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Π²Π΅Π΄ΡƒΡ‰ΡƒΡŽ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ (ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ HEAD) ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅\n\n git push %s HEAD:<имя-внСшнСй-Π²Π΅Ρ‚ΠΊΠΈ>\n"
+msgstr "Π’Ρ‹ сСйчас Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ.\nΠ§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Π²Π΅Π΄ΡƒΡ‰ΡƒΡŽ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ (ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ HEAD) ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅\n\n git push %s HEAD:<имя-внСшнСй-Π²Π΅Ρ‚ΠΊΠΈ>\n"
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -8513,13 +8768,13 @@ msgid ""
" git push --set-upstream %s %s\n"
msgstr "ВСкущая Π²Π΅Ρ‚ΠΊΠ° %s Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ.\nΠ§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ внСшнюю Π²Π΅Ρ‚ΠΊΡƒ ΠΊΠ°ΠΊ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ для этой Π²Π΅Ρ‚ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅\n\n git push --set-upstream %s %s\n"
-#: builtin/push.c:182
+#: builtin/push.c:183
#, c-format
msgid ""
"The current branch %s has multiple upstream branches, refusing to push."
msgstr "Π’Π°ΡˆΠ° тСкущая Π²Π΅Ρ‚ΠΊΠ° %s ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ, ΠΎΡ‚ΠΊΠ°Π· Π² ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ."
-#: builtin/push.c:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -8527,86 +8782,62 @@ msgid ""
"to update which remote branch."
msgstr "Π’Ρ‹ сСйчас отправляСтС измСнСния Π½Π° внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Β«%sΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ являСтся Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΌ для вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Β«%sΒ», Π±Π΅Π· указания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ Π² ΠΊΠ°ΠΊΡƒΡŽ внСшнюю Π²Π΅Ρ‚ΠΊΡƒ."
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr "push.default Π½Π΅ установлСн; Π΅Π³ΠΎ нСявноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Git вСрсии 2.0 с Β«matchingΒ» Π½Π° Β«simpleΒ». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ этого сообщСния ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ староС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:\n\n git config --global push.default matching\n\nΠ§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ этого сообщСния ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:\n\n git config --global push.default simple\n\nКогда push.default установлСно Π² Β«matchingΒ», git Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСния Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ внСшниС Π²Π΅Ρ‚ΠΊΠΈ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.\n\nНачиная с Git вСрсии 2.0, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ консСрвативноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Β«simpleΒ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отправляСт измСнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ внСшнюю Π²Π΅Ρ‚ΠΊΡƒ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Β«git pullΒ» Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ измСнСния.\n\nΠ‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Β«git help configΒ» ΠΈ ΠΈΡ‰ΠΈΡ‚Π΅ Β«push.defaultΒ» для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.\n(Ρ€Π΅ΠΆΠΈΠΌ Β«simpleΒ» появился Π² Git вСрсии 1.7.11. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ Β«currentΒ» вмСсто Β«simpleΒ», Ссли Π²Ρ‹ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ старыС вСрсии Git)"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr "Π’Ρ‹ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ссылки для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ, Π° push.default ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Β«nothingΒ»."
-#: builtin/push.c:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
"'git pull ...') before pushing again.\n"
"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr "ОбновлСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ° вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ внСшнСй части. Π—Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ слСйтС внСшниС измСнСния \n(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git pull …») ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nДля Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ смотритС Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»."
+msgstr "ОбновлСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ° вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ внСшнСй части. Π—Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ слСйтС внСшниС измСнСния \n(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git pull …») ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nДля Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, смотритС Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»."
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
"(e.g. 'git pull ...') before pushing again.\n"
"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr "ОбновлСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ° отправляСмой Π²Π΅Ρ‚ΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ внСшнСй части. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Π·Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ внСшниС\nизмСнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git pull …») ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ\nΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nДля Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ смотритС Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»."
+msgstr "ОбновлСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ° отправляСмой Π²Π΅Ρ‚ΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ внСшнСй части. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Π·Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ внСшниС\nизмСнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git pull …») ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ\nΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nДля Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, смотритС Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»."
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
"to the same ref. You may want to first integrate the remote changes\n"
"(e.g., 'git pull ...') before pushing again.\n"
"See the 'Note about fast-forwards' in 'git push --help' for details."
-msgstr "ОбновлСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит\nизмСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρƒ вас Π½Π΅Ρ‚ Π² вашСм локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.\nΠžΠ±Ρ‹Ρ‡Π½ΠΎ, это связанно с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» измСнСния Π² \nΡ‚ΠΎ ΠΆΠ΅ мСсто. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ\nΠ·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΈ ΡΠ»ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· внСшнСго рСпозитория сСбС\n(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git pull …»).\nДля Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ смотритС Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»."
+msgstr "ОбновлСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит\nизмСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρƒ вас Π½Π΅Ρ‚ Π² вашСм локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.\nΠžΠ±Ρ‹Ρ‡Π½ΠΎ, это связанно с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» измСнСния Π² \nΡ‚ΠΎ ΠΆΠ΅ мСсто. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ\nΠ·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΈ ΡΠ»ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· внСшнСго рСпозитория сСбС\n(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git pull …»).\nДля Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, смотритС Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»."
-#: builtin/push.c:301
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr "ОбновлСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΊΠ° ΡƒΠΆΠ΅ сущСствуСт Π²ΠΎ внСшнСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ."
-#: builtin/push.c:304
+#: builtin/push.c:271
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"
"without using the '--force' option.\n"
msgstr "Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ внСшнюю ссылку, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ внСшнюю ссылку Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»Π° Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ, Π±Π΅Π· указания ΠΎΠΏΡ†ΠΈΠΈ Β«--forceΒ».\n"
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π² %s\n"
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылки Π² Β«%sΒ»"
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "ΠΏΠ»ΠΎΡ…ΠΎΠΉ рСпозитория Β«%sΒ»"
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote repository using\n"
@@ -8616,106 +8847,102 @@ msgid ""
"and then push using the remote name\n"
"\n"
" git push <name>\n"
-msgstr "НС настроСна Ρ‚ΠΎΡ‡ΠΊΠ° назначСния для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ.\nΠ›ΠΈΠ±ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ URL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π»ΠΈΠ±ΠΎ настройтС внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ\n\n git remote add <имя> <адрСс>\n\nΠ° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ измСнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½ΠΈ внСшнСго рСпозитория\n\n git push <имя>\n"
+msgstr "НС настроСна Ρ‚ΠΎΡ‡ΠΊΠ° назначСния для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ.\nΠ›ΠΈΠ±ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ URL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π»ΠΈΠ±ΠΎ настройтС внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ\n\n git remote add <имя> <адрСс>\n\nΠ° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ измСнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½ΠΈ внСшнСго рСпозитория\n\n git push <имя>\n"
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "--all ΠΈ --tags нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ"
-#: builtin/push.c:414
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr "--all нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС со спСцификациями ссылок"
-#: builtin/push.c:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "--mirror ΠΈ --tags нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ"
-#: builtin/push.c:420
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr "--mirror нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС со спСцификациями ссылок"
-#: builtin/push.c:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "--all ΠΈ --mirror нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ"
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr "Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ всС ссылки"
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π΅Ρ€ΠΊΠ°Π»ΠΎ всСх ссылок"
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ссылки"
-#: builtin/push.c:542
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr "ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ (нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС с --all ΠΈΠ»ΠΈ --mirror)"
-#: builtin/push.c:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅"
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "имя-ссылки>:<оТидаСтся"
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr "Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ староС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ссылки Π±Ρ‹Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ"
-#: builtin/push.c:550
-msgid "check|on-demand|no"
-msgstr "check|on-demand|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСкурсивной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ"
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ½ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹"
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π½Π° сСрвСрС"
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ для git pull/status"
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ локально ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ссылки"
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠ΅Ρ€Π΅Π΄-ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ"
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅, Π½ΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ"
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GPG"
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° внСшнСй сторонС"
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "--delete нСсовмСстимо с --all, --mirror ΠΈ --tags"
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "--delete Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Π±Π΅Π· указания ссылок"
@@ -8790,12 +9017,12 @@ msgstr "ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° частичнΠ
msgid "debug unpack-trees"
msgstr "ΠΎΡ‚Π»Π°Π΄ΠΊΠ° unpack-trees"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "Β«%sΒ» для Β«%sΒ» Π½Π΅ являСтся допустимой ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π΄Π°Ρ‚Ρ‹/Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "Β«%sΒ» Π½Π΅ являСтся допустимой ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π΄Π°Ρ‚Ρ‹/Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ"
@@ -8931,55 +9158,45 @@ msgstr "ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ мастСр Π²Π΅Ρ‚ΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла с
msgid "specifying branches to track makes sense only with fetch mirrors"
msgstr "ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ отслСТиваСмых Π²Π΅Ρ‚ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ смысл Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π·Π΅Ρ€ΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ"
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ %s ΡƒΠΆΠ΅ сущСствуСт"
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "Β«%sΒ» Π½Π΅ являСтся допустимым ΠΈΠΌΠ΅Π½Π΅ΠΌ внСшнСго рСпозитория."
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ мастСр Π²Π΅Ρ‚ΠΊΡƒ Β«%sΒ»"
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ для спСцификации ссылки %s"
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "(ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ)"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(удалСнная)"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Β«%sΒ» ΠΊ Β«%sΒ»"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "НСт Ρ‚Π°ΠΊΠΎΠ³ΠΎ внСшнСго рСпозитория: %s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΅ΠΊΡ†ΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ с Β«%sΒ» Π½Π° Β«%sΒ»"
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΠ΅ΠΊΡ†ΠΈΡŽ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Β«%sΒ»"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -8987,27 +9204,17 @@ msgid ""
"\tPlease update the configuration manually if necessary."
msgstr "НС обновляю Π½Π΅ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ссылки для извлСчСния\n\t%s\n\tΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Ссли трСбуСтся, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ."
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Β«%sΒ»"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Β«%sΒ»"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Β«%sΒ»"
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Β«%sΒ»"
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9019,125 +9226,130 @@ msgstr[1] "ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСкоторыС Π²Π΅Ρ‚ΠΊΠΈ Π²Π½Π΅ ΠΈΠ΅Ρ€Π°Ρ€
msgstr[2] "ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСкоторыС Π²Π΅Ρ‚ΠΊΠΈ Π²Π½Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ refs/remotes/ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹;\nΡ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:"
msgstr[3] "ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСкоторыС Π²Π΅Ρ‚ΠΊΠΈ Π²Π½Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ refs/remotes/ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹;\nΡ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΠ΅ΠΊΡ†ΠΈΡŽ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Β«%sΒ»"
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " новая (ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ сохранит Π΅Π΅ Π² remotes/%s)"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " отслСТиваСтся"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«git remote pruneΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr "Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ branch.%s.merge; Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π°Π΄ 1 Π²Π΅Ρ‚ΠΊΠΎΠΉ"
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Π° Π½Π°Π΄ внСшнСй Π²Π΅Ρ‚ΠΊΠΎΠΉ %s"
+msgid "rebases interactively onto remote %s"
+msgstr "пСрСмСщаСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π°Π΄ внСшнСй Π²Π΅Ρ‚ΠΊΠΎΠΉ %s"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr " Π±ΡƒΠ΄Π΅Ρ‚ слита с внСшнСй Π²Π΅Ρ‚ΠΊΠΎΠΉ %s"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " ΠΈ с внСшнСй Π²Π΅Ρ‚ΠΊΠΎΠΉ"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "Π±ΡƒΠ΄Π΅Ρ‚ слита с внСшнСй Π²Π΅Ρ‚ΠΊΠΎΠΉ %s"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " ΠΈ с внСшнСй Π²Π΅Ρ‚ΠΊΠΎΠΉ"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "создана"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "ΡƒΠ΄Π°Π»Π΅Π½Π°"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "ΡƒΠΆΠ΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π²ΠΏΠ΅Ρ€Π΅Π΄"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "локальная Π²Π΅Ρ‚ΠΊΠ° устарСла"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*s Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² %-*s (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*s Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² %-*s (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*s Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² %s"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*s Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² %s"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "Π½Π΅ ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ внСшниС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " URL для извлСчСния: %s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(Π½Π΅Ρ‚ URL)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " URL для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ: %s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " HEAD Π²Π΅Ρ‚ΠΊΠ°: %s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
msgstr " HEAD Π²Π΅Ρ‚ΠΊΠ° (HEAD внСшнСго рСпозитория Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·):\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
@@ -9146,11 +9358,11 @@ msgstr[1] " Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ:%s"
msgstr[2] " Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ:%s"
msgstr[3] " Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ:%s"
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr " (статус Π½Π΅ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½)"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ°, настроСнная для Β«git pullΒ»:"
@@ -9158,11 +9370,11 @@ msgstr[1] " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ, настроСнныС для Β«git
msgstr[2] " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ, настроСнныС для Β«git pullΒ»:"
msgstr[3] " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ, настроСнныС для Β«git pullΒ»:"
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ссылки, Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«git pushΒ»"
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
@@ -9171,128 +9383,128 @@ msgstr[1] " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ссылки, настроСнныС для Β«gi
msgstr[2] " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ссылки, настроСнныС для Β«git pushΒ»%s:"
msgstr[3] " Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ссылки, настроСнныС для Β«git pushΒ»%s:"
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ refs/remotes/<имя>/HEAD Π² зависимости ΠΎΡ‚ внСшнСго рСпозитория"
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ refs/remotes/<имя>/HEAD"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ внСшний HEAD"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
msgstr "НСсколько Π²Π½Π΅ΡˆΠ½ΠΈΡ… HEAD Π²Π΅Ρ‚ΠΎΠΊ. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ явно ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ…:"
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ %s"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ссылка: %s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ %s"
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s Π±ΡƒΠ΄Π΅Ρ‚ висящСй Π²Π΅Ρ‚ΠΊΠΎΠΉ!"
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s стала висящСй Π²Π΅Ρ‚ΠΊΠΎΠΉ!"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π°] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr " * [ΡƒΠ΄Π°Π»Π΅Π½Π°] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ внСшниС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ послС извлСчСния"
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "НСт Ρ‚Π°ΠΊΠΎΠ³ΠΎ внСшнСго рСпозитория Β«%sΒ»"
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr "Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ URL ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ, вмСсто URL извлСчСния"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всС URL"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "URL Π½Π΅ настроСны для внСшнСго рСпозитория Β«%sΒ»"
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ URL ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ URL"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ URL"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr "--add нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с --delete"
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ шаблон старого URL: %s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "НС Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ совпадСния URL: %s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "НСльзя ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС URL Π½Π΅-ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr "Π±Ρ‹Ρ‚ΡŒ многословнСС; Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ"
@@ -9406,7 +9618,7 @@ msgstr "плохая ΠΌΠ΅Ρ‚ΠΊΠ° слияния Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Β«%sΒ»"
#: builtin/replace.c:357
#, c-format
msgid "malformed mergetag in commit '%s'"
-msgstr "поврСТдСнная ΠΌΠ΅Ρ‚ΠΊΠ° слияния Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Β«%sΒ»"
+msgstr "поврСТдённая ΠΌΠ΅Ρ‚ΠΊΠ° слияния Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Β«%sΒ»"
#: builtin/replace.c:368
#, c-format
@@ -9590,7 +9802,7 @@ msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» индСкса Π½Π° Ρ€Π΅Π΄
msgid "Could not write new index file."
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» индСкса."
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "rev-list Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ"
@@ -9826,28 +10038,23 @@ msgstr "вывСсти статус ΠΎΡ‚ скрипта внСшнСго сСрΠ
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<ΠΎΠΏΡ†ΠΈΠΈ>] [<Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½-Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ>] [[--] [<ΠΏΡƒΡ‚ΡŒ>…]]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ Π°Π²Ρ‚ΠΎΡ€: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎ количСству ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρƒ Π°Π²Ρ‚ΠΎΡ€Π°"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr "НС Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ описания ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ… количСство"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строк Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅"
@@ -9885,7 +10092,7 @@ msgstr "синоним для more=-1"
#: builtin/show-branch.c:649
msgid "suppress naming strings"
-msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹Π΅ строки"
+msgstr "Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ строки"
#: builtin/show-branch.c:651
msgid "include the current branch"
@@ -9909,7 +10116,7 @@ msgstr "вывСсти ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² топологичСском поряд
#: builtin/show-branch.c:662
msgid "show only commits not on the first branch"
-msgstr "вывСсти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΎΡ‚ΡΡƒΡ†Ρ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅"
+msgstr "вывСсти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅"
#: builtin/show-branch.c:664
msgid "show merges reachable from only one tip"
@@ -9982,80 +10189,80 @@ msgid "skip and remove all lines starting with comment character"
msgstr "ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС строки, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с символа коммСтария"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
-msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ спСрСди всС строк символ коммСнтария ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»"
+msgid "prepend comment character and space to each line"
+msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкой символ коммСтария ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»"
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ символ для ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<ΠΏΡƒΡ‚ΡŒ>] [<ΠΏΡƒΡ‚ΡŒ>…]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper name <ΠΏΡƒΡ‚ΡŒ>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr "Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ соотвСтствиС ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² .gitmodules для ΠΏΡƒΡ‚ΠΈ Β«%sΒ»"
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "ΠΊΡƒΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ склонирован Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "имя Π½ΠΎΠ²ΠΎΠ³ΠΎ подмодуля"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "url ΠΎΡ‚ΠΊΡƒΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» склонирован Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "Π³Π»ΡƒΠ±ΠΈΠ½Π° для частичного ΠΊΠ»ΠΎΠ½Π°"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] "
"[<path>...]"
msgstr "git submodule--helper clone [--prefix=<ΠΏΡƒΡ‚ΡŒ>] [--quiet] [--reference <Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ>] [--name <имя>] [--url <url>][--depth <Π³Π»ΡƒΠ±ΠΈΠ½Π°>] [--] [<ΠΏΡƒΡ‚ΡŒ>…]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«%sΒ»"
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Β«%sΒ» Π² ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«%sΒ»"
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Β«%sΒ»"
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» %s"
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для подмодуля Β«%sΒ»"
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr "критичСская ошибка: ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° submodule--helper Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr "критичСская ошибка: Β«%sΒ» Π½Π΅ являСтся ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ submodule--helper"
@@ -10286,188 +10493,201 @@ msgstr "ΠœΠ΅Ρ‚ΠΊΠ° Β«%sΒ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° (Π±Ρ‹Π»Π° %s)\n"
msgid "Unpacking objects"
msgstr "Распаковка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ %s"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ stat %s"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» %s"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» %s"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ %s"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "ВСстированиС"
+msgid "Testing mtime in '%s' "
+msgstr "ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° mtime Π² Β«%sΒ» "
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr "информация статистики ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ измСняСтся послС добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°"
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr "информация статистики ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ измСняСтся послС добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°"
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr "информация статистики ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° измСняСтся послС добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°"
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr "информация статистики ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° измСняСтся послС добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°"
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr "информация статистики ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ измСняСтся послС удалСния Ρ„Π°ΠΉΠ»Π°"
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr "информация статистики ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ измСняСтся послС удалСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°"
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " OK"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<ΠΎΠΏΡ†ΠΈΠΈ>] [--] [<Ρ„Π°ΠΉΠ»>…]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr "ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли индСкс Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ обновлСния"
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "Π½Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли Π² индСксС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ слитыС записи"
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ статусС Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "ΠΊΠ°ΠΊ --refresh, Π½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройку assume-unchanged"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<Ρ€Π΅ΠΆΠΈΠΌ доступа>,<ΠΎΠ±ΡŠΠ΅ΠΊΡ‚>,<ΠΏΡƒΡ‚ΡŒ>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ запись Π² индСкс"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±ΠΈΡ‚ выполнСния Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°ΠΊ Β«Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅Β»"
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΡƒ assumed-unchanged"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°ΠΊ Β«Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² индСксС»"
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΡƒ skip-worktree"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
msgstr "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² индСкс; Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ содСрТимоС Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr "ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅"
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr "с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ --stdin: строки Π½Π° Π²Π²ΠΎΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΠ£Π›Π•Π’Π«Πœ Π±Π°ΠΉΡ‚ΠΎΠΌ"
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr "ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ список обновляСмых ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°"
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
-msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ записи ΠΈΠ· стандатрного Π²Π²ΠΎΠ΄Π° Π² индСкс"
+msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ записи ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π° Π² индСкс"
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr "Π·Π°Π½ΠΎΠ²ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ индСкс #2 ΠΈ #3 для ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ"
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ HEAD"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "вывСсти выполняСмыС дСйствия Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "(для машинной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) Π·Π°Π±Ρ‹Ρ‚ΡŒ сохранСнныС Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ индСкс Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ кэш нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ²"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ файловая систСма ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ кэш нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ²"
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr "Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ кэш нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы"
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "Кэш нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "Кэш нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ для Β«%sΒ»"
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr "git update-ref [<ΠΎΠΏΡ†ΠΈΠΈ>] -d <имя-ссылки> [<староС-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>]"
@@ -10490,7 +10710,7 @@ msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ <имя-ссылки> Π° Π½Π΅ Ρ‚ΠΎ, Π½Π° Ρ‡Ρ‚ΠΎ ΠΎΠ½Π°
#: builtin/update-ref.c:366
msgid "stdin has NUL-terminated arguments"
-msgstr "Π²Π²ΠΎΠ΄ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΠ£Π›Π•Π’Π«ΠœΠ˜ символами"
+msgstr "Π²Π²ΠΎΠ΄ ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΠ£Π›Π•Π’Π«ΠœΠ˜ символами"
#: builtin/update-ref.c:367
msgid "read updates from stdin"
@@ -10583,33 +10803,33 @@ msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ: %s"
msgid "'%s' already exists"
msgstr "Β«%sΒ» ΡƒΠΆΠ΅ сущСствуСт"
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«%sΒ»"
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° %s (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ %s)"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr "ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° <Π²Π΅Ρ‚ΠΊΠ°> Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½Π° ΡƒΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ рабочСсм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅"
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ HEAD Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "-b, -B ΠΈ --detach нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ"
@@ -10629,7 +10849,7 @@ msgstr "вывСсти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π΅Ρ€Π΅Π²Π° для ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ
msgid "only useful for debugging"
msgstr "ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… сообщСний Π½Π° stderr"
@@ -10640,6 +10860,10 @@ msgid ""
"to read about a specific subcommand or concept."
msgstr "Β«git help -Π°Β» ΠΈ Β«git help -gΒ» Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список доступных ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ\nΠ½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ руководства ΠΏΠΎ Ρ‚Π΅ΠΌΠ°ΠΌ. ЗапуститС Β«git help <ΠΊΠΎΠΌΠ°Π½Π΄Π°>Β» ΠΈΠ»ΠΈ\nΒ«git help <Ρ‚Π΅Ρ€ΠΌΠΈΠ½>Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ Ρ‚Π΅ΠΌΠ΅."
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "Public key pinning Π½Π΅ поддСрТиваСтся с cURL < 7.44.0"
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (смотритС Ρ‚Π°ΠΊΠΆΠ΅: git help tutorial)"
@@ -10698,7 +10922,7 @@ msgstr "Π’Ρ‹Π²ΠΎΠ΄ строк, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ"
#: common-cmds.h:26
msgid "Create an empty Git repository or reinitialize an existing one"
-msgstr "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого рСпозитория Git ΠΈΠ»ΠΈ рСинициализация ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ"
+msgstr "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого рСпозитория Git ΠΈΠ»ΠΈ пСрСинициализация ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ"
#: common-cmds.h:27
msgid "Show commit logs"
@@ -10721,8 +10945,8 @@ msgid "Update remote refs along with associated objects"
msgstr "ОбновлСниС Π²Π½Π΅ΡˆΠ½ΠΈΡ… ссылок ΠΈ связанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π°Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ"
+msgid "Reapply commits on top of another base tip"
+msgstr "ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π°Π΄ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -11038,7 +11262,7 @@ msgstr "$onto_name: Π½Π΅Ρ‚ Π±Π°Π·Ρ‹ слияния"
#: git-rebase.sh:504
#, sh-format
msgid "Does not point to a valid commit: $onto_name"
-msgstr "НС ΡƒΠΊΠ°Π·Π°Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚: $onto_name"
+msgstr "НС ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚: $onto_name"
#: git-rebase.sh:527
#, sh-format
@@ -11198,7 +11422,7 @@ msgstr "НСвозмоТно ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· индСкса ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹
#: git-stash.sh:538
msgid "Index was not unstashed."
-msgstr "ИндСкс Π½Π΅ Π±Ρ‹Π» достат ΠΈΠ· спрятанных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ."
+msgstr "ИндСкс Π½Π΅ Π±Ρ‹Π» ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½ ΠΈΠ· спрятанных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ."
#: git-stash.sh:561
#, sh-format
@@ -11372,108 +11596,108 @@ msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎΠ΄ΠΌΠ
msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
msgstr "ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«$nameΒ» ($url) Π±Ρ‹Π» снят с рСгистрации ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»"
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
"Maybe you want to use 'update --init'?"
msgstr "ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ» Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½\nΠ’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«update --initΒ»?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»"
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$sm_pathΒ»"
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»"
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° состояниС Β«$sha1Β» для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»"
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»: Π·Π°Π±Ρ€Π°Π½ΠΎ состояниС Β«$sha1Β»"
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Β«$sha1Β» для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»"
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ Π½Π°Π΄ Β«$sha1Β»"
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ слияниС с Β«$sha1Β» для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»"
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»: слито с Β«$sha1Β»"
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
msgstr "Π‘Π±ΠΎΠΉ выполнСния Β«$command $sha1Β» для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$prefix$sm_pathΒ»"
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$prefix$sm_pathΒ»: Β«$command $sha1Β»"
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ рСкурсивно для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$displaypathΒ»"
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr "ΠžΠΏΡ†ΠΈΡŽ --cached нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ --files"
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "нСизвСстный Ρ€Π΅ΠΆΠΈΠΌ $mod_dst"
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr " ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: $display_name Π½Π΅ содСрТит ΠΊΠΎΠΌΠΌΠΈΡ‚ $sha1_src"
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr " ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: $display_name Π½Π΅ содСрТит ΠΊΠΎΠΌΠΌΠΈΡ‚ $sha1_dst"
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr " ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: $display_name Π½Π΅ содСрТит ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ $sha1_src ΠΈ $sha1_dst"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ рСкурсивно для подмодуля ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Β«$sm_pathΒ»"
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "Бинхронизация url для подмодуля Β«$displaypathΒ»"
diff --git a/po/sv.po b/po/sv.po
index 940c5c57aa..32bcaba6b5 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,14 +1,14 @@
# Swedish translations for Git.
-# Copyright (C) 2010-2015 Peter krefting <peter@softwolves.pp.se>
+# Copyright (C) 2010-2016 Peter krefting <peter@softwolves.pp.se>
# This file is distributed under the same license as the Git package.
-# Peter Krefting <peter@softwolves.pp.se>, 2010, 2011, 2012, 2013, 2014, 2015.
+# Peter Krefting <peter@softwolves.pp.se>, 2010, 2011, 2012, 2013, 2014, 2015, 2016.
#
msgid ""
msgstr ""
-"Project-Id-Version: git 2.6.0\n"
+"Project-Id-Version: git 2.8.0\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
-"PO-Revision-Date: 2015-12-26 12:25+0100\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-15 22:35+0100\n"
"Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -31,7 +31,7 @@ msgstr ""
"RΓ€tta dem i din arbetskatalog och anvΓ€nd sedan \"git add/rm <fil>\"\n"
"som lΓ€mpligt fΓΆr att ange lΓΆsning och checka in."
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "Du har inte avslutat sammanslagningen (MERGE_HEAD finns)."
@@ -75,7 +75,7 @@ msgstr "fmt"
msgid "archive format"
msgstr "arkivformat"
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "prefix"
@@ -83,11 +83,11 @@ msgstr "prefix"
msgid "prepend prefix to each pathname in the archive"
msgstr "lΓ€gg till prefix till varje sΓΆkvΓ€g i arkivet"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535
-#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99
-#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395
-#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "fil"
@@ -119,7 +119,7 @@ msgstr "komprimera bΓ€ttre"
msgid "list supported archive formats"
msgstr "visa understΓΆdda arkivformat"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "arkiv"
@@ -127,7 +127,7 @@ msgstr "arkiv"
msgid "retrieve the archive from remote repository <repo>"
msgstr "hΓ€mta arkivet frΓ₯n fjΓ€rrarkivet <arkiv>"
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr "kommando"
@@ -135,7 +135,7 @@ msgstr "kommando"
msgid "path to the remote git-upload-archive command"
msgstr "sΓΆkvΓ€g till kommandot git-upload-archive pΓ₯ fjΓ€rren"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
@@ -143,83 +143,100 @@ msgstr ""
"Negativa mΓΆnster ignoreras i git-attribut\n"
"AnvΓ€nd '\\!' fΓΆr att inleda med ett utropstecken."
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"NΓ€r du har rΓ€ttat felorsaken kan du fΓΆrsΓΆka rΓ€tta\n"
+"fjΓ€rrspΓ₯rningsinformationen genom att utfΓΆra\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "StΓ€ller inte in grenen %s som sin egen uppstrΓΆmsgren."
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr ""
"Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rrgrenen %s frΓ₯n %s genom ombasering."
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr "Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rrgrenen %s frΓ₯n %s."
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr "Grenen %s stΓ€lldes in att spΓ₯ra den lokala grenen %s genom ombasering."
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "Grenen %s stΓ€lldes in att spΓ₯ra den lokala grenen %s."
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr "Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rreferensen %s genom ombasering."
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rreferensen %s."
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr ""
"Grenen %s stΓ€lldes in att spΓ₯ra den lokala referensen %s genom ombasering."
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "Grenen %s stΓ€lldes in att spΓ₯ra den lokala referensen %s."
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "Kan inte skriva instΓ€llningar fΓΆr uppstrΓΆmsgren"
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr "SpΓ₯rar inte: tvetydig information fΓΆr referensen %s"
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "\"%s\" Γ€r inte ett giltigt grennamn."
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "Det finns redan en gren som heter \"%s\""
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "Kan inte tvinga uppdatering av aktuell gren."
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr "Kan inte stΓ€lla in spΓ₯rning; startpunkten \"%s\" Γ€r inte en gren."
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "den efterfrΓ₯gade uppstrΓΆmsgrenen \"%s\" finns inte"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -239,22 +256,22 @@ msgstr ""
"spΓ₯ra dess fjΓ€rrmotsvarighet kan du anvΓ€nda \"git push -u\"\n"
"fΓΆr att stΓ€lla in uppstrΓΆmskonfigurationen nΓ€r du sΓ€nder in."
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "Objektnamnet Γ€r inte giltigt: \"%s\"."
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "Objektnamnet Γ€r tvetydigt: \"%s\"."
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "Avgreningspunkten Γ€r inte giltig: \"%s\""
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "\"%s\" Γ€r redan utcheckad pΓ₯ \"%s\""
@@ -278,10 +295,10 @@ msgstr "kunde inte ΓΆppna \"%s\""
msgid "Repository lacks these prerequisite commits:"
msgstr "Arkivet saknar dessa nΓΆdvΓ€ndiga incheckningar:"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "misslyckades skapa revisionstraversering"
@@ -320,7 +337,7 @@ msgstr "rev-list dog"
msgid "ref '%s' is excluded by the rev-list options"
msgstr "referensen \"%s\" exkluderas av argumenten till rev-list"
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "okΓ€nt argument: %s"
@@ -343,8 +360,8 @@ msgstr "index-pack dog"
msgid "invalid color value: %.*s"
msgstr "felaktigt fΓ€rgvΓ€rde: %.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "kunde inte tolka %s"
@@ -358,59 +375,64 @@ msgstr "%s %s Γ€r inte en incheckning!"
msgid "memory exhausted"
msgstr "minnet slut"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "felaktig konfigurationsfil rad %d i %s"
+msgid "bad config line %d in %s %s"
+msgstr "felaktig konfigurationsfil rad %d i %s %s"
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "felaktigt numeriskt konfigurationsvΓ€rde \"%s\" fΓΆr \"%s\" i %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "felaktigt numeriskt konfigurationsvΓ€rde \"%s\" fΓΆr \"%s\" i %s %s: %s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "felaktigt numeriskt konfigurationsvΓ€rde \"%s\" fΓΆr \"%s\": %s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "misslyckades expandera anvΓ€ndarkatalog i: \"%s\""
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "felaktigt zlib-komprimeringsgrad %d"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "felaktigt lΓ€ge fΓΆr skapande av objekt: %s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr "kan inte tolka kommandoradskonfiguration"
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr "okΓ€nt fel uppstod vid lΓ€sning av konfigurationsfilerna"
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr "kunde inte tolka vΓ€rdet \"%s\" frΓ₯n kommandoradskonfiguration"
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr "felaktig konfigurationsvariabel \"%s\" i filen \"%s\" pΓ₯ rad %d"
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s har flera vΓ€rden"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "Kunde inte stΓ€lla in \"%s\" till \"%s\""
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "Kunde inte kΓΆra \"git rev-list\""
@@ -526,16 +548,16 @@ msgstr ""
"Hittade fel i konfigurationsvariabeln \"diff.dirstat\":\n"
"%s"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "extern diff dog, stannar vid %s"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow krΓ€ver exakt en sΓΆkvΓ€gsangivelse"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
@@ -544,18 +566,18 @@ msgstr ""
"Misslyckades tolka argument till flaggan --dirstat/-X;\n"
"%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "Misslyckades tolka argument till flaggan --submodule: \"%s\""
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "misslyckades hΓ€mta kΓ€rnans namn och information"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "OspΓ₯rad cache Γ€r inaktiverad pΓ₯ detta system."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "OspΓ₯rad cache Γ€r inaktiverad pΓ₯ systemet eller platsen."
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -594,20 +616,20 @@ msgstr "\"%s\": %s"
msgid "'%s': short read %s"
msgstr "\"%s\": kort lΓ€sning %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr "git-kommandon tillgΓ€ngliga i \"%s\""
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr "git-kommandon frΓ₯n andra platser i din $PATH"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr "Dessa vanliga Git-kommandon anvΓ€nds i olika situationer:"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
@@ -616,11 +638,11 @@ msgstr ""
"\"%s\" verkar vara ett git-kommando, men vi kan inte\n"
"kΓΆra det. Kanske git-%s Γ€r trasigt?"
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr "Oj dΓ₯. Ditt system rapporterar inga Git-kommandon alls."
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -629,17 +651,17 @@ msgstr ""
"VARNING: Du anropade ett Git-kommando vid namn \"%s\", som inte finns.\n"
"FortsΓ€tter under fΓΆrutsΓ€ttningen att du menade \"%s\""
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "automatiskt om %0.1f sekunder..."
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr "git: \"%s\" Γ€r inte ett git-kommando. Se \"git --help\"."
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -653,7 +675,7 @@ msgstr[1] ""
"\n"
"Menade du ett av dessa?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s: %s - %s"
@@ -662,8 +684,8 @@ msgstr "%s: %s - %s"
msgid "failed to read the cache"
msgstr "misslyckades lΓ€sa cachen"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "kunde inte skriva ny indexfil"
@@ -681,64 +703,64 @@ msgstr "addinfo_cache misslyckades fΓΆr sΓΆkvΓ€gen \"%s\""
msgid "error building trees"
msgstr "fel vid byggande av trΓ€d"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "misslyckades skapa sΓΆkvΓ€gen \"%s\"%s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr "Tar bort %s fΓΆr att gΓΆra plats fΓΆr underkatalog\n"
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ": kanske en K/F-konflikt?"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "vΓ€grar fΓΆrlora ospΓ₯rad fil vid \"%s\""
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "kan inte lΓ€sa objektet %s: \"%s\""
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "blob fΓΆrvΓ€ntades fΓΆr %s \"%s\""
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "misslyckades ΓΆppna \"%s\""
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "misslyckades skapa symboliska lΓ€nken \"%s\""
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "vet inte hur %06o %s \"%s\" skall hanteras"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "Misslyckades exekvera intern sammanslagning"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "Kunde inte lΓ€gga till %s till databasen"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "objekttyp som ej stΓΆds upptΓ€cktes i trΓ€det"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -747,7 +769,7 @@ msgstr ""
"KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lΓ€mnad "
"i trΓ€det."
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -756,20 +778,20 @@ msgstr ""
"KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lΓ€mnad "
"i trΓ€det vid %s."
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "namnbyte"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "namnbytt"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr "%s Γ€r en katalog i %s lΓ€gger till som %s istΓ€llet"
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -778,144 +800,144 @@ msgstr ""
"KONFLIKT (namnbyte/namnbyte): Namnbyte \"%s\"->\"%s\" pΓ₯ grenen \"%s\" "
"namnbyte \"%s\"->\"%s\" i \"%s\"%s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr " (lΓ€mnad olΓΆst)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
"KONFLIKT (namnbyte/namnbyte): Namnbyte %s->%s i %s. Namnbyte %s->%s i %s"
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "Byter namn pΓ₯ %s till %s och %s till %s istΓ€llet"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr "KONFLIKT (namnbyte/tillΓ€gg): Namnbyte %s->%s i %s. %s tillagd i %s"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "LΓ€gger till sammanslagen %s"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "LΓ€gger till som %s istΓ€llet"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "kan inte lΓ€sa objektet %s"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "objektet %s Γ€r inte en blob"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "Γ€ndra"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "Γ€ndrad"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "innehΓ₯ll"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "tillΓ€gg/tillΓ€gg"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "Hoppade ΓΆver %s (sammanslagen samma som befintlig)"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "SlΓ₯r ihop %s automatiskt"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "undermodul"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "KONFLIKT (%s): Sammanslagningskonflikt i %s"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "Tar bort %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "fil/katalog"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "katalog/fil"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr ""
"KONFLIKT (%s): Det finns en katalog med namnet %s i %s. LΓ€gger till %s som %s"
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "LΓ€gger till %s"
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "Γ–desdigert sammanslagningsfel, borde inte intrΓ€ffa."
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "Redan Γ  jour!"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "sammanslagning av trΓ€den %s och %s misslyckades"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "Obehandlad sΓΆkvΓ€g??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "SlΓ₯r ihop:"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
msgstr[0] "hittade %u gemensam fΓΆrfader:"
msgstr[1] "hittade %u gemensamma fΓΆrfΓ€der:"
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "sammanslagningen returnerade ingen incheckning"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "Kunde inte tolka objektet \"%s\""
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "Kunde inte skriva indexet."
@@ -1032,12 +1054,12 @@ msgstr "SΓΆkvΓ€gsangivelsen \"%s\" Γ€r i undermodulen \"%.*s\""
msgid "%s: pathspec magic not supported by this command: %s"
msgstr "%s: sΓΆkvΓ€gsuttrycket hanteras inte av det hΓ€r kommandot: %s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "sΓΆkvΓ€gsangivelsen \"%s\" Γ€r pΓ₯ andra sidan av en symbolisk lΓ€nk"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1071,163 +1093,248 @@ msgstr ""
"GIT_INDEX_VERSION satt, men vΓ€rdet Γ€r ogiltigt.\n"
"AnvΓ€nder version %i"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "Kunde inte ΓΆppna \"%s\" fΓΆr skrivning"
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "kunde inte ta bort referensen %s: %s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "kunde inte ta bort referenser: %s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "kunde inte ta bort referensen %s"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "format: atomen %%(end) anvΓ€nd utan motsvarande atom"
+msgid "expected format: %%(color:<color>)"
+msgstr "fΓΆrvΓ€ntat format: %%(color:<color>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "okΓ€nd fΓ€rg: %%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "okΓ€nt format: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) tar inte argument"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) tar inte argument"
-#: ref-filter.c:704
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "positivt vΓ€rde fΓΆrvΓ€ntat contents:lines=%s"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "fΓΆrvΓ€ntat format: %%(color:<color>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "okΓ€nt %%(contents)-argument: %s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "kan inte tolka formatet"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "okΓ€nt %%(objectname)-argument: %s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "fΓΆrvΓ€ntat format: %%(align:<bredd>,<position>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "okΓ€nd position:%s"
+
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "okΓ€nd bredd:%s"
+
+#: ref-filter.c:157
#, c-format
-msgid "improper format entered align:%s"
-msgstr "felaktigt format angivet align:%s"
+msgid "unrecognized %%(align) argument: %s"
+msgstr "okΓ€nt %%(align)-argument: %s"
-#: ref-filter.c:898
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "positiv bredd fΓΆrvΓ€ntad med atomen %%(align)"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "felformat fΓ€ltnamn: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "okΓ€nt fΓ€ltnamn: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "format: atomen %%(end) anvΓ€nd utan motsvarande atom"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "felformad formatstrΓ€ng %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= krΓ€ver ett positivt heltalsargument"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "referensen \"%s\" har inte %ld komponenter fΓΆr :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "okΓ€nt \"%.*s\"-format %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "objektet %s saknas fΓΆr %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer misslyckades pΓ₯ %s fΓΆr %s"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr "felformat objekt vid \"%s\""
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "ignorerar referens med trasigt namn %s"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "ignorerar trasig referens %s"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "format: atomen %%(end) saknas"
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr "felformat objektnamn %s"
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr "Kan inte hΓ€mta bΓ₯de %s och %s till %s"
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s spΓ₯rar vanligtvis %s, inte %s"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s spΓ₯rar bΓ₯de %s och %s"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "Internt fel"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEAD pekar inte pΓ₯ en gren"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "okΓ€nd gren: \"%s\""
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "ingen standarduppstrΓΆm angiven fΓΆr grenen \"%s\""
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr "uppstrΓΆmsgrenen \"%s\" Γ€r inte lagrad som en fjΓ€rrspΓ₯rande gren"
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr "push-mΓ₯let \"%s\" pΓ₯ fjΓ€rren \"%s\" har ingen lokalt spΓ₯rande gren"
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "grenen \"%s\" har ingen fjΓ€rr fΓΆr \"push\""
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr "\"push\"-referensspecifikation fΓΆr \"%s\" innehΓ₯ller inte \"%s\""
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "\"push\" har inget mΓ₯l (push.default Γ€r \"ingenting\")"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr "\"enkel push\" motsvarar flera olika mΓ₯l"
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr "Din gren Γ€r baserad pΓ₯ \"%s\", men den har fΓΆrsvunnit uppstrΓΆms.\n"
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr " (anvΓ€nd \"git branch --unset-upstream\" fΓΆr att rΓ€tta)\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "Din gren Γ€r Γ  jour med \"%s\".\n"
-#: remote.c:2094
+#: remote.c:2084
#, 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] "Din gren ligger fΓΆre \"%s\" med %d incheckning.\n"
msgstr[1] "Din gren ligger fΓΆre \"%s\" med %d incheckningar.\n"
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " (anvΓ€nd \"git push\" fΓΆr att publicera dina lokala incheckningar)\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1237,11 +1344,11 @@ msgstr[0] ""
msgstr[1] ""
"Din gren ligger efter \"%s\" med %d incheckningar, och kan snabbspolas.\n"
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr " (anvΓ€nd \"git pull\" fΓΆr att uppdatera din lokala gren)\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1256,28 +1363,28 @@ msgstr[1] ""
"Din gren och \"%s\" har divergerat,\n"
"och har %d respektive %d olika incheckningar.\n"
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr " (anvΓ€nd \"git pull\" fΓΆr att slΓ₯ ihop fjΓ€rrgrenen med din egen)\n"
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "din nuvarande gren verkar vara trasig"
-#: revision.c:2196
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr "din nuvarande gren \"%s\" innehΓ₯ller Γ€nnu inte nΓ₯gra incheckningar"
-#: revision.c:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "--first-parent Γ€r inkompatibelt med --bisect"
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "misslyckades ΓΆppna /dev/null"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "dup2(%d,%d) misslyckades"
@@ -1302,7 +1409,7 @@ msgstr ""
msgid "the receiving end does not support --atomic push"
msgstr "mottagarsidan stΓΆder inte push med --atomic"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
@@ -1310,7 +1417,7 @@ msgstr ""
"efter att ha lΓΆst konflikterna, markera de rΓ€ttade sΓΆkvΓ€garna\n"
"med \"git add <sΓΆkvΓ€gar>\" eller \"git rm <sΓΆkvΓ€gar>\""
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1320,229 +1427,243 @@ msgstr ""
"med \"git add <sΓΆkvΓ€gar>\" eller \"git rm <sΓΆkvΓ€gar>\"\n"
"och checka in resultatet med \"git commit\""
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "Kunde inte skriva till %s"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "Fel vid ombrytning av %s"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr "Dina lokala Γ€ndringar skulle skrivas ΓΆver av \"cherry-pick\"."
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "Dina lokala Γ€ndringar skulle skrivas ΓΆver av \"revert\"."
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr "Checka in dina Γ€ndringar eller anvΓ€nd \"stash\" fΓΆr att fortsΓ€tta."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%s: Kunde inte skriva ny indexfil"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "Kunde inte bestΓ€mma HEAD:s incheckning\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "Kan inte uppdatera cachetrΓ€d\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "Kunde inte tolka incheckningen %s\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "Kunde inte tolka fΓΆrΓ€ldraincheckningen %s\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "Din indexfil har inte slagits ihop."
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr "Incheckning %s Γ€r en sammanslagning, men flaggan -m angavs inte."
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "Incheckning %s har inte fΓΆrΓ€lder %d"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr "Huvudlinje angavs, men incheckningen %s Γ€r inte en sammanslagning"
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%s: kan inte tolka fΓΆrΓ€ldraincheckningen %s"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "Kan inte hΓ€mta incheckningsmeddelande fΓΆr %s"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "kunde inte Γ₯ngra %s... %s"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "kunde inte tillΓ€mpa %s... %s"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "den angivna uppsΓ€ttningen incheckningar Γ€r tom"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %s: misslyckades lΓ€sa indexet"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %s: misslyckades uppdatera indexet"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "kan inte %s under en %s"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "Kan inte tolka rad %d."
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "Inga incheckningar lΓ€stes."
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "Kunde inte ΓΆppna %s"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "kunde inte lΓ€sa %s."
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "OanvΓ€ndbart manus: %s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "Felaktig nyckel: %s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "Felaktigt vΓ€rde fΓΆr %s: %s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr "Trasigt manus: %s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "en \"cherry-pick\" eller \"revert\" pΓ₯gΓ₯r redan"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "testa \"git cherry-pick (--continue | --quit | --abort)\""
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "Kunde inte skapa \"sequencer\"-katalogen \"%s\""
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "Fel vid ombrytning av %s."
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "ingen \"cherry-pick\" eller \"revert\" pΓ₯gΓ₯r"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "kan inte bestΓ€mma HEAD"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "kan inte avbryta frΓ₯n en gren som Γ€nnu inte Γ€r fΓΆdd"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "kan inte ΓΆppna %s: %s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "kan inte lΓ€sa %s: %s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "ovΓ€ntat filslut"
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr "sparad HEAD-fil frΓ₯n fΓΆre \"cherry-pick\", \"%s\", Γ€r trasig"
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "Kunde inte formatera %s."
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%s: kan inte gΓΆra \"cherry-pick\" pΓ₯ typen \"%s\""
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%s: felaktig revision"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "Kan inte Γ₯ngra som fΓΆrsta incheckning"
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr "Kan inte gΓΆra \"cherry-pick\" i ett tomt huvud"
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "misslyckades lΓ€sa %s"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "offset fΓΆre slutet av packfilen (trasig .idx?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "offset fΓΆre slutet av packindex fΓΆr %s (trasigt index?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "offset borton slutet av packindex fΓΆr %s (trunkerat index?)"
+
+#: sha1_name.c:462
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"
@@ -1564,62 +1685,86 @@ msgstr ""
"UndersΓΆk referenserna och ta kanske bort dem. StΓ€ng av meddelandet\n"
"genom att kΓΆra \"git config advice.objectNameWarning false\""
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
"Kan inte Γ€ndra .gitmodules-fil som inte slagits ihop, lΓΆs "
"sammanslagningskonflikter fΓΆrst"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "Hittade inte nΓ₯gon sektion i .gitmodules dΓ€r sΓΆkvΓ€g=%s"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr "Kunde inte uppdatera .gitmodules-posten %s"
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "Kunde inte ta bort .gitmodules-posten fΓΆr %s"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "misslyckades kΓΆa uppdaterad .gitmodules"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "Kunde inte sΓ€tta core.worktree i %s"
+msgid "running trailer command '%s' failed"
+msgstr "misslyckades utfΓΆra \"trailer\"-kommandot \"%s\""
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "okΓ€nt vΓ€rde \"%s\" fΓΆr nyckeln \"%s\""
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "mer Γ€n en %s"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "tom slΓ€pradssymbol i slΓ€praden \"%.*s\""
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "kunde inte lΓ€sa indatafilen \"%s\""
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "Kunde inte lΓ€sa frΓ₯n standard in"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "kunde inte ta status pΓ₯ %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "filen %s Γ€r inte en normal fil"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "filen %s Γ€r inte skrivbar av anvΓ€ndaren"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "kunde inte ΓΆppna temporΓ€r file"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "kunde inte byta nman pΓ₯ temporΓ€ra file till %s"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "Kunde inte lΓ€sa referensen %s"
@@ -1657,47 +1802,47 @@ msgstr "felaktigt portnummer"
msgid "invalid '..' path segment"
msgstr "felaktigt \"..\"-sΓΆkvΓ€gssegment"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "kunde inte ΓΆppna \"%s\" fΓΆr lΓ€sning och skrivning"
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "kunde inte ΓΆppna \"%s\" fΓΆr skrivning"
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "kunde inte ΓΆppna \"%s\" fΓΆr lΓ€sning"
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "kan inte komma Γ₯t \"%s\": %s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "kan inte komma Γ₯t \"%s\""
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "kan inte hΓ€mta aktuell arbetskatalog"
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "kunde inte ΓΆppna %s fΓΆr skrivning"
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "kunde inte skriva till %s"
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "kunde inte stΓ€nga %s"
@@ -2163,7 +2308,11 @@ msgstr "fΓΆrsvunnen"
msgid "behind "
msgstr "efter "
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "fΓΆre "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "misslyckades ta bort lΓ€nken \"%s\""
@@ -2190,7 +2339,7 @@ msgstr "ta bort \"%s\"\n"
msgid "Unstaged changes after refreshing the index:"
msgstr "OkΓΆade Γ€ndringar efter att ha uppdaterat indexet:"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "Kunde inte lΓ€sa indexet"
@@ -2225,15 +2374,15 @@ msgstr "Kunde inte tillΓ€mpa \"%s\""
msgid "The following paths are ignored by one of your .gitignore files:\n"
msgstr "FΓΆljande sΓΆkvΓ€gar ignoreras av en av dina .gitignore-filer:\n"
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "testkΓΆrning"
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "var pratsam"
@@ -2241,7 +2390,7 @@ msgstr "var pratsam"
msgid "interactive picking"
msgstr "plocka interaktivt"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "vΓ€lj stycken interaktivt"
@@ -2308,138 +2457,133 @@ msgstr "Inget angivet, inget tillagt.\n"
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "Kanske menade du att skriva \"git add .\"?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "indexfilen trasig"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "Kunde inte skriva ny indexfil"
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "kunde inte ta status pΓ₯ %s"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "kunde inte lΓ€sa \"%s\""
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "kunde inte tolka fΓΆrfattarskript"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "\"%s\" togs bort av kroken applypatch-msg"
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr "Felaktig indatarad: \"%s\"."
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "Misslyckades kopiera anteckningar frΓ₯n \"%s\" till \"%s\""
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "\"fseek\" misslyckades"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "kunde inte ΓΆppna \"%s\" fΓΆr lΓ€sning: %s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "Kunde inte ΓΆppna \"%s\" fΓΆr skrivning: %s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "kunde inte tolka patchen \"%s\""
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr "Endast en StGIT-patchserie kan tillΓ€mpas Γ₯t gΓ₯ngen"
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "ogiltig tidsstΓ€mpel"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "ogiltig \"Date\"-rad"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "ogiltig tidszons-offset"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "Misslyckades detektera patchformat."
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "misslyckades skapa katalogen \"%s\""
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "Misslyckades dela patchar."
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "kan inte skriva indexfil"
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr "NΓ€r du har lΓΆst problemet, kΓΆr \"%s --continue\"."
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr "Om du hellre vill hoppa ΓΆver patchen, kΓΆr \"%s --skip\" i stΓ€llet."
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr ""
"FΓΆr att Γ₯tergΓ₯ till ursprunglig gren och sluta patcha, kΓΆr \"%s --abort\"."
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "Patchen Γ€r tom. Delades den upp felaktigt?"
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "ogiltig ident-rad: %s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "kunde inte tolka incheckningen %s"
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr ""
"Arkivet saknar objekt som behΓΆvs fΓΆr att falla tillbaka pΓ₯ 3-"
"vΓ€gssammanslagning."
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr "AnvΓ€nder indexinfo fΓΆr att Γ₯terskapa ett bastrΓ€d..."
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
@@ -2447,39 +2591,39 @@ msgstr ""
"Har du handredigerat din patch?\n"
"Den kan inte tillΓ€mpas pΓ₯ blobbar som antecknats i dess index."
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr ""
"Faller tillbaka pΓ₯ att patcha grundversionen och trevΓ€gssammanslagning..."
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "Misslyckades slΓ₯ ihop Γ€ndringarna."
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "git write-tree misslyckades skriva ett trΓ€d"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "tillΓ€mpar pΓ₯ en tom historik"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "kunde inte skriva incheckningsobjekt"
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "kan inte Γ₯teruppta: %s finns inte."
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr ""
"kan inte vara interaktiv om standard in inte Γ€r ansluten till en terminal."
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "Incheckningskroppen Γ€r:"
@@ -2487,35 +2631,35 @@ msgstr "Incheckningskroppen Γ€r:"
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr "TillΓ€mpa? Y=ja/N=nej/E=redigera/V=visa patch/A=godta alla: "
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "Smutsigt index: kan inte tillΓ€mpa patchar (smutsiga: %s)"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "TillΓ€mpar: %.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "Inga Γ€ndringar -- Patchen har redan tillΓ€mpats."
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "Patch misslyckades pΓ₯ %s %.*s"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "En kopia av patchen som misslyckades finns i: %s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
@@ -2525,7 +2669,7 @@ msgstr ""
"Om det inte Γ€r nΓ₯got kvar att kΓΆa kan det hΓ€nda att nΓ₯got annat redan\n"
"introducerat samma Γ€ndringar; kanske du bΓΆr hoppa ΓΆver patchen."
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
@@ -2533,17 +2677,17 @@ msgstr ""
"Du har fortfarande sΓΆkvΓ€gar som inte slagits samman i ditt index.\n"
"GlΓΆmde du anvΓ€nda \"git add\"?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "Kan inte tolka objektet \"%s\""
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "misslyckades stΓ€da upp indexet"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
@@ -2551,152 +2695,152 @@ msgstr ""
"Du verkar ha flyttat HEAD sedan \"am\" sist misslyckades.\n"
"Γ…terstΓ€ller inte till ORIG_HEAD"
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "Felaktigt vΓ€rde fΓΆr --patch-format: %s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<flaggor>] [(<mbox>|<Maildir>)...]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<flaggor>] (--continue | --skip | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "kΓΆr interaktivt"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "historisk flagga -- no-op"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "tillΓ₯t falla tillbaka pΓ₯ trevΓ€gssammanslagning om nΓΆdvΓ€ndigt"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "var tyst"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr "lΓ€gg till \"Signed-off-by\"-rad i incheckningsmeddelandet"
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "koda om till utf8 (standard)"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "sΓ€nd flaggan -k till git-mailinfo"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "sΓ€nd flaggan -b till git-mailinfo"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "sΓ€nd flaggan -m till git-mailinfo"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr "sΓ€nd flaggan --keep-cr till git-mailsplit fΓΆr mbox-formatet"
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr "sΓ€nd inte flaggan --keep-cr till git-mailsplit oberoende av am.keepcr"
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "ta bort allting fΓΆre en saxlinje"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "Γ₯tgΓ€rd"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "sΓ€nd det genom git-apply"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "rot"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "sΓΆkvΓ€g"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
-#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
-#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:244
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "n"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "antal"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "format"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "format fΓΆr patch(ar)"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr "ΓΆverstyr felmeddelanden nΓ€r patchfel uppstΓ₯r"
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "fortsΓ€tt applicera patchar efter att ha lΓΆst en konflikt"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr "synonymer till --continue"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "hoppa ΓΆver den aktuella grenen"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr "Γ₯terstΓ€ll originalgrenen och avbryt patchningen."
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "ljug om incheckningsdatum"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "anvΓ€nd nuvarande tidsstΓ€mpel fΓΆr fΓΆrfattardatum"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr "nyckel-id"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "GPG-signera incheckningar"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "(anvΓ€nds internt av git-rebase)"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
@@ -2704,16 +2848,16 @@ msgstr ""
"Flaggan -b/--binary har varit utan funktion lΓ€nge, och\n"
"kommer tas bort. Vi ber dig att inte anvΓ€nda den lΓ€ngre."
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "misslyckades lΓ€sa indexet"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr "tidigare rebase-katalog %s finns fortfarande, men mbox angavs."
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
@@ -2722,7 +2866,7 @@ msgstr ""
"Kvarbliven katalog %s hittades.\n"
"AnvΓ€nd \"git am --abort\" fΓΆr att ta bort den."
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr "LΓΆsningsoperation pΓ₯gΓ₯r inte, vi Γ₯terupptar inte."
@@ -3068,131 +3212,131 @@ msgstr "indata kΓ€nns inte igen"
msgid "unable to read index file"
msgstr "kan inte lΓ€sa indexfilen"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "tillΓ€mpa inte Γ€ndringar som motsvarar given sΓΆkvΓ€g"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "tillΓ€mpa Γ€ndringar som motsvarar given sΓΆkvΓ€g"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr "ta bort <antal> inledande snedstreck frΓ₯n traditionella diff-sΓΆkvΓ€gar"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "ignorera tillΓ€gg gjorda av patchen"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr "istΓ€llet fΓΆr att tillΓ€mpa patchen, skriv ut diffstat fΓΆr indata"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr "visa antal tillagda och borttagna rader decimalt"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr "istΓ€llet fΓΆr att tillΓ€mpa patchen, skriv ut en summering av indata"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr "istΓ€llet fΓΆr att tillΓ€mpa patchen, se om patchen kan tillΓ€mpas"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr "se till att patchen kan tillΓ€mpas pΓ₯ aktuellt index"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "tillΓ€mpa en patch utan att rΓΆra arbetskatalogen"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr "godta en patch som rΓΆr filer utanfΓΆr arbetskatalogen"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr "tillΓ€mpa ocksΓ₯ patchen (anvΓ€nd med --stat/--summary/--check)"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr "fΓΆrsΓΆk en trevΓ€gssammanslagning om patchen inte kan tillΓ€mpas"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr "bygg ett temporΓ€rt index baserat pΓ₯ inbyggd indexinformation"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr "sΓΆkvΓ€gar avdelas med NUL-tecken"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr "se till att Γ₯tminstone <n> rader sammanhang Γ€r lika"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr "detektera nya eller Γ€ndrade rader som har fel i blanktecken"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "ignorera Γ€ndringar i blanktecken fΓΆr sammanhang"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "tillΓ€mpa patchen baklΓ€nges"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "fΓΆrvΓ€nta inte minst en rad sammanhang"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr "lΓ€mna refuserade stycken i motsvarande *.rej-filer"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "tillΓ₯t ΓΆverlappande stycken"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr "tolerera felaktigt detekterade saknade nyradstecken vid filslut"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr "lite inte pΓ₯ antalet linjer i styckehuvuden"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "lΓ€gg till <rot> i alla filnamn"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr "--3way utanfΓΆr arkiv"
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr "--index utanfΓΆr arkiv"
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr "--cached utanfΓΆr arkiv"
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "kan inte ΓΆppna patchen \"%s\""
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
msgstr[0] "undertryckte %d fel i blanksteg"
msgstr[1] "undertryckte %d fel i blanksteg"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3246,103 +3390,111 @@ msgstr "utfΓΆr 'git bisect next'"
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr "uppdatera BISECT_HEAD istΓ€llet fΓΆr att checka ut aktuell incheckning"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<flaggor>] [<rev-flaggor>] [<rev>] [--] <fil>"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<rev-flaggor> dokumenteras i git-rev-list(1)"
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "Klandra rader"
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
msgstr "Visa klandringsposter nΓ€r vi hittar dem, interaktivt"
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr "Visa blank SHA-1 fΓΆr grΓ€nsincheckningar (Standard: av)"
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr "Behandla inte rotincheckningar som grΓ€nser (Standard: av)"
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "Visa statistik ΓΆver arbetskostnad"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "Tvinga fΓΆrloppsrapportering"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr "Visa utdatapoΓ€ng fΓΆr klandringsposter"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "Visa originalfilnamn (Standard: auto)"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "Visa ursprungligt radnummer (Standard: av)"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "Visa i ett format avsett fΓΆr maskinkonsumtion"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr "Visa porslinsformat med per-rad-incheckningsinformation"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr "AnvΓ€nd samma utdatalΓ€ge som git-annotate (Standard: av)"
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "Visa rΓ₯ tidsstΓ€mpel (Standard: av)"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "Visa lΓ₯ng inchecknings-SHA1 (Standard: av)"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr "Undertryck fΓΆrfattarnamn och tidsstΓ€mpel (Standard: av)"
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr "Visa fΓΆrfattarens e-post istΓ€llet fΓΆr namn (Standard: av)"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "Ignorera Γ€ndringar i blanksteg"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr "SlΓΆsa extra cykler med att hitta bΓ€ttre trΓ€ff"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr "AnvΓ€nd revisioner frΓ₯n <fil> istΓ€llet fΓΆr att anropa git-rev-list"
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "AnvΓ€nd <fil>s innehΓ₯ll som slutgiltig bild"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "poΓ€ng"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "Hitta kopierade rader inuti och mellan filer"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "Hitta flyttade rader inuti och mellan filer"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "n,m"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr "Behandla endast radintervallet n,m, med bΓΆrjan pΓ₯ 1"
@@ -3352,7 +3504,7 @@ msgstr "Behandla endast radintervallet n,m, med bΓΆrjan pΓ₯ 1"
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "4 Γ₯r, 11 mΓ₯nader sedan"
@@ -3551,197 +3703,197 @@ msgstr "Grenen namnbytt till %s, men HEAD har inte uppdaterats!"
msgid "Branch is renamed, but update of config-file failed"
msgstr "Grenen namnbytt, men misslyckades uppdatera konfigurationsfilen"
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "kunde inte skriva grenbeskrivningsmall: %s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "AllmΓ€nna flaggor"
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr "visa hash och Γ€renderad, ange tvΓ₯ gΓ₯nger fΓΆr uppstrΓΆmsgren"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "undertryck informationsmeddelanden"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "stΓ€ll in spΓ₯rningslΓ€ge (se git-pull(1))"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "Γ€ndra uppstrΓΆmsinformation"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "anvΓ€nd fΓ€rgad utdata"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "arbeta pΓ₯ fjΓ€rrspΓ₯rande grenar"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "visa endast grenar som innehΓ₯ller incheckningen"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "Specifika git-branch-Γ₯tgΓ€rder:"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "visa bΓ₯de fjΓ€rrspΓ₯rande och lokala grenar"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "ta bort helt sammanslagen gren"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "ta bort gren (Γ€ven om inte helt sammanslagen)"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "flytta/ta bort en gren och dess reflogg"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr "flytta/ta bort en gren, Γ€ven om mΓ₯let finns"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "lista namn pΓ₯ grenar"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "skapa grenens reflogg"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "redigera beskrivning fΓΆr grenen"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "tvinga skapande, flytt/namnΓ€ndring, borttagande"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "visa endast sammanslagna grenar"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "visa endast ej sammanslagna grenar"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "visa grenar i spalter"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "nyckel"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "fΓ€ltnamn att sortera pΓ₯"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "objekt"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "visa endast grenar fΓΆr objektet"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "Misslyckades slΓ₯ upp HEAD som giltig referens"
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "HEAD hittades inte under refs/heads!"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "--column och --verbose Γ€r inkompatibla"
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "grennamn krΓ€vs"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr "Kan inte beskriva frΓ₯nkopplad HEAD"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "kan inte redigera beskrivning fΓΆr mer Γ€n en gren"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "Inga incheckningar pΓ₯ grenen \"%s\" Γ€nnu"
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "Ingen gren vid namnet \"%s\"."
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "fΓΆr mΓ₯nga grenar fΓΆr namnbyte"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "fΓΆr mΓ₯nga grenar fΓΆr att byta uppstrΓΆm"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
msgstr ""
"kunde inte sΓ€tta uppstrΓΆm fΓΆr HEAD till %s nΓ€r det inte pekar mot nΓ₯gon gren."
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "okΓ€nd gren \"%s\""
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "grenen \"%s\" finns inte"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr "fΓΆr mΓ₯nga grenar fΓΆr att ta bort uppstrΓΆm"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr ""
"kunde inte ta bort uppstrΓΆm fΓΆr HEAD nΓ€r det inte pekar mot nΓ₯gon gren."
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "Grenen \"%s\" har ingen uppstrΓΆmsinformation"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "kan inte skapa \"HEAD\" manuellt"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr ""
"flaggorna -a och -r pΓ₯ \"git branch\" kan inte anges tillsammans med ett "
"grennamn"
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3750,7 +3902,7 @@ msgstr ""
"Flaggan --set-upstream rekommenderas ej och kommer tas bort. AnvΓ€nd --track "
"eller --set-upstream-to\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3761,12 +3913,12 @@ msgstr ""
"Om du vill gΓΆra sΓ₯ att \"%s\" spΓ₯rar \"%s\" gΓΆr du sΓ₯ hΓ€r:\n"
"\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr " git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -3861,7 +4013,7 @@ msgstr "visa alla attribut som satts pΓ₯ filen"
msgid "use .gitattributes only from the index"
msgstr "anvΓ€nd .gitattributes endast frΓ₯n indexet"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "lΓ€s filnamn frΓ₯n standard in"
@@ -3869,7 +4021,7 @@ msgstr "lΓ€s filnamn frΓ₯n standard in"
msgid "terminate input and output records by a NUL character"
msgstr "avsluta in- och utdataposter med NUL-tecken"
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "undertryck fΓΆrloppsrapportering"
@@ -3922,49 +4074,53 @@ msgstr "kunde inte tolka kontakt: %s"
msgid "no contacts specified"
msgstr "inga kontakter angavs"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<flaggor>] [--] [<fil>...]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "etapp mΓ₯ste vara mellan 1 och 3 eller \"all\""
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "checka ut alla filer i indexet"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "tvinga ΓΆverskrivning av befintliga filer"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr "ingen varning fΓΆr existerande filer och filer ej i indexet"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "checka inte ut nya filer"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "uppdatera stat-information i indexfilen"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "lΓ€s listan ΓΆver sΓΆkvΓ€gar frΓ₯n standard in"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "skriv innehΓ₯ll till temporΓ€ra filer"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "strΓ€ng"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr "nΓ€r filer skapas, lΓ€gg till <strΓ€ng> fΓΆrst"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "kopiera ut filer frΓ₯n namngiven etapp"
@@ -4044,37 +4200,41 @@ msgstr "Kan inte skapa referenslogg fΓΆr \"%s\": %s\n"
msgid "HEAD is now at"
msgstr "HEAD Γ€r nu pΓ₯"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "kan inte uppdatera HEAD"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "Γ…terstΓ€ll gren \"%s\"\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "Redan pΓ₯ \"%s\"\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "VΓ€xlade till och nollstΓ€llde grenen \"%s\"\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "VΓ€xlade till en ny gren \"%s\"\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "VΓ€xlade till grenen \"%s\"\n"
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " ... och %d till.\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4097,7 +4257,7 @@ msgstr[1] ""
"\n"
"%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4124,151 +4284,151 @@ msgstr[1] ""
" git branch <nytt_grennamn> %s\n"
"\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "internt fel vid genomgΓ₯ng av revisioner (revision walk)"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "Tidigare position fΓΆr HEAD var"
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "Du Γ€r pΓ₯ en gren som Γ€nnu inte Γ€r fΓΆdd"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "endast en referens fΓΆrvΓ€ntades, %d gavs."
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "felaktig referens: %s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "referensen Γ€r inte ett trΓ€d: %s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "sΓΆkvΓ€gar kan inte anvΓ€ndas vid byte av gren"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr "\"%s\" kan inte anvΓ€ndas vid byte av gren"
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "\"%s\" kan inte anvΓ€ndas med \"%s\""
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr "Kan inte vΓ€xla gren till icke-incheckningen \"%s\""
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "gren"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "skapa och checka ut en ny gren"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "skapa/nollstΓ€ll och checka ut en gren"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "skapa reflogg fΓΆr ny gren"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "koppla frΓ₯n HEAD vid namngiven incheckning"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "sΓ€tt uppstrΓΆmsinformation fΓΆr ny gren"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "ny-gren"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "ny gren utan fΓΆrΓ€lder"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr "checka ut vΓ₯r version fΓΆr ej sammanslagna filer"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr "checka ut deras version fΓΆr ej sammanslagna filer"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "tvinga utcheckning (kasta bort lokala Γ€ndringar)"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "utfΓΆr en 3-vΓ€gssammanslagning fΓΆr den nya grenen"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "uppdatera ignorerade filer (standard)"
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "stil"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr "konfliktstil (merge eller diff3)"
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr "begrΓ€nsa inte sΓΆkvΓ€gar till endast glesa poster"
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "fΓΆrutspΓ₯ \"git checkout <gren-saknas>\""
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr ""
"kontrollera inte om en annan arbetskatalog hΓ₯ller den angivna referensen"
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "tvinga fΓΆrloppsrapportering"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "-b, -B och --orphan Γ€r ΓΆmsesidigt uteslutande"
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "--track behΓΆver ett namn pΓ₯ en gren"
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "Grennamn saknas; fΓΆrsΓΆk med -b"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "felaktig sΓΆkvΓ€gsangivelse"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4277,12 +4437,12 @@ msgstr ""
"Kan inte uppdatera sΓΆkvΓ€gar och vΓ€xla till grenen \"%s\" samtidigt.\n"
"Ville du checka ut \"%s\" som inte kan lΓΆsas som en utcheckning?"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr "git checkout: --detach tar inte en sΓΆkvΓ€g som argument \"%s\""
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4322,7 +4482,7 @@ msgstr "Skulle hoppa ΓΆver arkivet %s\n"
msgid "failed to remove %s"
msgstr "misslyckades ta bort %s"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4334,7 +4494,7 @@ msgstr ""
"foo - markera post baserad pΓ₯ unikt prefix\n"
" - (tomt) markera ingenting"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4354,36 +4514,36 @@ msgstr ""
"* - vΓ€lj alla poster\n"
" - (tomt) avsluta markering"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "VadΓ₯ (%s)?"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "Ange ignoreringsmΓΆnster>>"
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "VARNING: Hittar inte poster som motsvarar: %s"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "VΓ€lj poster att ta bort"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "Ta bort %s [Y=ja / N=nej]?"
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "Hej dΓ₯."
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4401,62 +4561,62 @@ msgstr ""
"help - denna skΓ€rm\n"
"? - hjΓ€lp fΓΆr kommandoval"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr "*** Kommandon ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "Vad nu"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] "Skulle ta bort fΓΆljande post:"
msgstr[1] "Skulle ta bort fΓΆljande poster:"
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "Inga fler filer att stΓ€da, avslutar."
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "skriv inte ut namn pΓ₯ borttagna filer"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "tvinga"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "stΓ€da interaktivt"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "ta bort hela kataloger"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "mΓΆnster"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "lΓ€gg till <mΓΆnster> till ignoreringsregler"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "ta Γ€ven bort ignorerade filer"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "ta endast bort ignorerade filer"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "-x och -X kan inte anvΓ€ndas samtidigt"
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
@@ -4464,7 +4624,7 @@ msgstr ""
"clean.requireForce satt till true, men varken -i, -n eller -f angavs; vΓ€grar "
"stΓ€da"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4476,146 +4636,162 @@ msgstr ""
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<flaggor>] [--] <arkiv> [<kat>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "skapa inte nΓ₯gon utcheckning"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "skapa ett naket (\"bare\") arkiv"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "skapa ett spegelarkiv (implicerar \"bare\")"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "fΓΆr att klona frΓ₯n ett lokalt arkiv"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "skapa inte lokala hΓ₯rda lΓ€nkar, kopiera alltid"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "skapa som ett delat arkiv"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "initiera undermoduler i klonen"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "mallkatalog"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "katalog att anvΓ€nda mallar frΓ₯n"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "referensarkiv"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "anvΓ€nd --reference endast under kloningen"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "namn"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "anvΓ€nd <namn> istΓ€llet fΓΆr \"origin\" fΓΆr att spΓ₯ra uppstrΓΆms"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "checka ut <gren> istΓ€llet fΓΆr fjΓ€rrens HEAD"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "sΓΆkvΓ€g till git-upload-pack pΓ₯ fjΓ€rren"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654
-#: builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
msgid "depth"
msgstr "djup"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr "skapa en grund klon pΓ₯ detta djup"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "klona endast en gren, HEAD eller --branch"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr "gitkat"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "separera gitkatalogen frΓ₯n arbetskatalogen"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "nyckel=vΓ€rde"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "stΓ€ll in konfiguration i det nya arkivet"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "anvΓ€nd endast IPv4-adresser"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "anvΓ€nd endast IPv6-adresser"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"Kunde inte gissa katalognamn.\n"
+"Ange en katalog pΓ₯ kommandoraden"
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
msgstr "referensarkivet \"%s\" som en lΓ€nkad utcheckning stΓΆds inte Γ€nnu."
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr "referensarkivet \"%s\" Γ€r inte ett lokalt arkiv."
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr "referensarkivet \"%s\" Γ€r grunt"
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr "referensarkivet \"%s\" Γ€r ympat"
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "misslyckades ta status pΓ₯ \"%s\""
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "%s finns och Γ€r ingen katalog"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "misslyckades ta status pΓ₯ %s\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "misslyckades skapa lΓ€nken \"%s\""
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "misslyckades kopiera filen till \"%s\""
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "klart.\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
@@ -4625,120 +4801,129 @@ msgstr ""
"Du kan inspektera det som checkades ut med \"git status\"\n"
"och fΓΆrsΓΆka checka ut igen med \"git checkout -f HEAD\"\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "Kunde inte hitta fjΓ€rrgrenen %s fΓΆr att klona."
# Vague original, not networking-related, but rather related to the actual
# objects downloaded.
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "Kontrollerar om vi fick alla objekt..."
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "fjΓ€rren sΓ€nde inte alla nΓΆdvΓ€ndiga objekt"
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "kan inte uppdatera %s"
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr ""
"HEAD hos fjΓ€rren pekar pΓ₯ en obefintlig referens, kan inte checka ut.\n"
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "kunde inte checka ut arbetskatalogen"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "kunde inte skriva parametrar till konfigurationsfilen"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "kan inte packa om fΓΆr att stΓ€da upp"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "kunde inte ta bort temporΓ€r \"alternates\"-fil"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "FΓΆr mΓ₯nga argument."
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "Du mΓ₯ste ange ett arkiv att klona."
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "flaggorna --bare och --origin %s Γ€r inkompatibla."
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "flaggorna --bare och --separate-git-dir Γ€r inkompatibla."
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "arkivet \"%s\" finns inte"
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "djupet %s Γ€r inte ett positivt tal"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr "destinationssΓΆkvΓ€gen \"%s\" finns redan och Γ€r inte en tom katalog."
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "arbetstrΓ€det \"%s\" finns redan."
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr "kunde inte skapa inledande kataloger fΓΆr \"%s\""
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr "kunde inte skapa arbetskatalogen \"%s\""
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "Klonar till ett naket arkiv \"%s\"...\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "Klonar till \"%s\"...\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
msgstr "--depth ignoreras i lokala kloningar; anvΓ€nd file:// istΓ€llet"
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr "kΓ€llarkivet Γ€r grunt, ignorerar --local"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local ignoreras"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "Vet inte hur man klonar %s"
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr "FjΓ€rrgrenen %s hittades inte i uppstrΓΆmsarkivet %s"
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "Du verkar ha klonat ett tomt arkiv."
@@ -4950,7 +5135,7 @@ msgstr ""
msgid "could not lookup commit %s"
msgstr "kunde inte slΓ₯ upp incheckningen %s"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "(lΓ€ser loggmeddelande frΓ₯n standard in)\n"
@@ -5136,8 +5321,8 @@ msgstr "visa koncis status"
msgid "show branch information"
msgstr "visa information om gren"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "maskinlΓ€sbar utdata"
@@ -5226,8 +5411,8 @@ msgstr "datum"
msgid "override date for commit"
msgstr "ΓΆverstyr datum fΓΆr incheckningen"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "meddelande"
@@ -5263,7 +5448,7 @@ msgstr ""
msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr "jag Γ€r nu fΓΆrfattare av incheckningen (anvΓ€nds med -C/-c/--amend)"
-#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "lΓ€gg till Signed-off-by:"
@@ -5287,7 +5472,7 @@ msgstr "hur blanksteg och #kommentarer skall tas bort frΓ₯n meddelande"
msgid "include status in commit message template"
msgstr "inkludera status i mallen fΓΆr incheckningsmeddelandet"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "GPG-signera incheckning"
@@ -5379,139 +5564,143 @@ msgstr ""
"att kvoten inte har ΓΆverskridits, och kΓΆr sedan\n"
"\"git reset HEAD\" fΓΆr att Γ₯terstΓ€lla."
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<flaggor>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "Konfigurationsfilens plats"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "anvΓ€nd global konfigurationsfil"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "anvΓ€nd systemets konfigurationsfil"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "anvΓ€nd arkivets konfigurationsfil"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "anvΓ€nd angiven konfigurationsfil"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "blob-id"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "lΓ€s konfiguration frΓ₯n givet blob-objekt"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "Γ…tgΓ€rd"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "hΓ€mta vΓ€rde: namn [vΓ€rde-reguttr]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "hΓ€mta alla vΓ€rden: nyckel [vΓ€rde-reguttr]"
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr "hΓ€mta vΓ€rden fΓΆr reguttr: namn-reguttr [vΓ€rde-reguttr]"
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr "hΓ€mta vΓ€rde specifikt URL:en: sektion[.var] URL"
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr "ersΓ€tt alla motsvarande variabler: namn vΓ€rde [vΓ€rde-reguttr]"
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "lΓ€gg till en ny variabel: namn vΓ€rde"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "ta bort en variabel: namn [vΓ€rde-reguttr]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "ta bort alla trΓ€ffar: namn [vΓ€rde-reguttr]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "byt namn pΓ₯ sektion: gammalt-namn nytt-namn"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "ta bort en sektion: namn"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "visa alla"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "ΓΆppna textredigeringsprogram"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "hitta den instΓ€llda fΓ€rgen: slot [default]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "hitta fΓ€rginstΓ€llningen: slot [stdout-is-tty]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "Typ"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "vΓ€rdet Γ€r \"true\" eller \"false\""
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "vΓ€rdet Γ€r ett decimalt tal"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "vΓ€rdet Γ€r --bool eller --int"
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr "vΓ€rdet Γ€r en sΓΆkvΓ€g (fil- eller katalognamn)"
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr "Andra"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "terminera vΓ€rden med NUL-byte"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "visa endast variabelnamn"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "respektera inkluderingsdirektiv vid uppslag"
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr "visa konfigurationskΓ€lla (fil, standard in, blob, kommandorad)"
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr "kan inte tolka standardfΓ€rgvΓ€rde"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5526,7 +5715,7 @@ msgstr ""
"#\tname = %s\n"
"#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "kan inte skapa konfigurationsfilen \"%s\""
@@ -5776,161 +5965,165 @@ msgstr "git fetch --multiple [<flaggor>] [(<arkiv> | <grupp>)...]"
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<flaggor>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "hΓ€mta frΓ₯n alla fjΓ€rrar"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "lΓ€gg till i .git/FETCH_HEAD istΓ€llet fΓΆr att skriva ΓΆver"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "sΓΆkvΓ€g till upload pack pΓ₯ fjΓ€rren"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "tvinga ΓΆverskrivning av lokal gren"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "hΓ€mta frΓ₯n flera fjΓ€rrar"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "hΓ€mta alla taggar och associerade objekt"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "hΓ€mta inte alla taggar (--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "antal undermoduler som hΓ€mtas parallellt"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr "rensa fjΓ€rrspΓ₯rande grenar ej lΓ€ngre pΓ₯ fjΓ€rren"
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "on-demand"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "styr rekursiv hΓ€mtning av undermoduler"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "behΓ₯ll hΓ€mtade paket"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "tillΓ₯t uppdatering av HEAD-referens"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr "fΓΆrdjupa historik fΓΆr grund klon"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "konvertera till komplett arkiv"
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr "kat"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "lΓ€gg till i bΓΆrjan av undermodulens sΓΆkvΓ€gsutdata"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "standardlΓ€ge fΓΆr rekursion"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr "tar emot referenser som uppdaterar .git/shallow"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "referenskarta"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "ange referenskarta fΓΆr \"fetch\""
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "Kunde inte hitta fjΓ€rr-referensen HEAD"
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "objektet %s hittades inte"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[Γ jour]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr "! %-*s %-*s -> %s (kan inte hΓ€mta i aktuell gren)"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[refuserad]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[uppdaterad tagg]"
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " (kunde inte uppdatera lokal ref)"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[ny tagg]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[ny gren]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[ny ref]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "kunde inte uppdatera lokal ref"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "tvingad uppdatering"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "(ej snabbspolad)"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "kan inte ΓΆppna %s: %s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr "%s sΓ€nde inte alla nΓΆdvΓ€ndiga objekt\n"
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr "avvisa %s dΓ₯ grunda rΓΆtter inte kan uppdateras"
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "FrΓ₯n %.*s\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
@@ -5939,55 +6132,55 @@ msgstr ""
"vissa lokala referenser kunde inte uppdateras; testa att kΓΆra\n"
" \"git remote prune %s\" fΓΆr att ta bort gamla grenar som stΓ₯r i konflikt"
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s kommer bli dinglande)"
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s har blivit dinglande)"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[borttagen]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(ingen)"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr "VΓ€grar hΓ€mta till aktuell gren %s i ett icke-naket arkiv"
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr "Flaggan \"%s\" och vΓ€rdet \"%s\" Γ€r inte giltigt fΓΆr %s"
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "Flaggan \"%s\" ignoreras fΓΆr %s\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "Vet inte hur man hΓ€mtar frΓ₯n %s"
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "HΓ€mtar %s\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "Kunde inte hΓ€mta %s"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
@@ -5995,32 +6188,32 @@ msgstr ""
"Inget fjΓ€rrarkiv angavs. Ange antingen en URL eller namnet pΓ₯ ett\n"
"fjΓ€rrarkiv som nya incheckningar skall hΓ€mtas frΓ₯n."
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "Du mΓ₯ste ange namnet pΓ₯ en tagg."
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr "--depth och --unshallow kan inte anvΓ€ndas samtidigt"
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
msgstr "--unshallow kan inte anvΓ€ndas pΓ₯ ett komplett arkiv"
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "fetch --all tar inte namnet pΓ₯ ett arkiv som argument"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr "fetch --all kan inte anges med referensspecifikationer"
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "FjΓ€rren eller fjΓ€rrgruppen finns inte: %s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr "Kan inte hΓ€mta frΓ₯n grupp och ange referensspecifikationer"
@@ -6249,224 +6442,238 @@ msgstr ""
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<flaggor>] [-e] <mΓΆnster> [<rev>...] [[--] <sΓΆkvΓ€g>...]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grep: misslyckades skapa trΓ₯d. %s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "felaktigt antal trΓ₯dar angivet (%d) fΓΆr %s"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "kunde inte lΓ€sa trΓ€d (%s)"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr "Kunde inte \"grep\" frΓ₯n objekt av typen %s"
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "flaggan \"%c\" antar ett numeriskt vΓ€rde"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "kan inte ΓΆppna \"%s\""
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr "sΓΆk i indexet istΓ€llet fΓΆr i arbetskatalogen"
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "sΓΆk i innehΓ₯ll som inte hanteras av git"
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "sΓΆk i bΓ₯de spΓ₯rade och ospΓ₯rade filer"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "ignorera filer angivna i \".gitignore\""
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "visa rader som inte trΓ€ffas"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "skiftlΓ€gesokΓ€nslig sΓΆkning"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "matcha endast mΓΆnster vid ordgrΓ€nser"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "hantera binΓ€rfiler som text"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "trΓ€ffa inte mΓΆnster i binΓ€rfiler"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "hantera binΓ€rfiler med textconv-filter"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "gΓ₯ som mest ned <djup> nivΓ₯er"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "anvΓ€nd utΓΆkade POSIX-reguljΓ€ra uttryck"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "anvΓ€nd grundlΓ€ggande POSIX-reguljΓ€ra uttryck (standard)"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "tolka mΓΆnster som fixerade strΓ€ngar"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "anvΓ€nd Perlkompatibla reguljΓ€ra uttryck"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "visa radnummer"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "visa inte filnamn"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "visa filnamn"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "visa filnamn relativa till toppkatalogen"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "visa endast filnamn istΓ€llet fΓΆr trΓ€ffade rader"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "synonym fΓΆr --files-with-matches"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "visa endast namn pΓ₯ filer utan trΓ€ffar"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "skriv NUL efter filnamn"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "visa antal trΓ€ffar istΓ€llet fΓΆr trΓ€ffade rader"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "ljusmarkera trΓ€ffar"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr "skriv tomma rader mellan trΓ€ffar frΓ₯n olika filer"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr "visa filnamn endast en gΓ₯ng ovanfΓΆr trΓ€ffar frΓ₯n samma fil"
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "visa <n> rader sammanhang fΓΆre och efter trΓ€ffar"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "visa <n> rader sammanhang fΓΆre trΓ€ffar"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "visa <n> rader sammanhang efter trΓ€ffar"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "anvΓ€nd <n> jobbtrΓ₯dar"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "genvΓ€g fΓΆr -C NUM"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr "visa en rad med funktionsnamnet fΓΆre trΓ€ffen"
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "visa den omkringliggande funktionen"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "lΓ€s mΓΆnster frΓ₯n fil"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "trΓ€ffa <mΓΆnster>"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "kombinera mΓΆnster som anges med -e"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr "ange trΓ€ff med slutstatuskod utan utdata"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr "visa endast trΓ€ffar frΓ₯n filer som trΓ€ffar alla mΓΆnster"
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "visa analystrΓ€d fΓΆr grep-uttryck"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "blΓ€ddrare"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "visa trΓ€ffade filer i filblΓ€ddraren"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "tillΓ₯t anropa grep(1) (ignoreras av detta bygge)"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "inget mΓΆnster angavs."
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "felaktigt antal trΓ₯dar angivet (%d)"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr "--open-files-in-pager fungerar endast i arbetskatalogen"
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
msgstr "--cached och --untracked kan inte anvΓ€ndas med --no-index."
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr "--no-index och --untracked kan inte anvΓ€ndas med revisioner."
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr "--[no-]exclude-standard kan inte anvΓ€ndas fΓΆr spΓ₯rat innehΓ₯ll."
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "bΓ₯de --cached och trΓ€d angavs."
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
@@ -6474,37 +6681,37 @@ msgstr ""
"git hash-object [-t <typ>] [-w] [--path=<fil> | --no-filters] [--stdin] [--] "
"<fil>..."
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "typ"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "objekttyp"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "skriv objektet till objektdatabasen"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "lΓ€s objektet frΓ₯n standard in"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "spara filen som den Γ€r utan filer"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr ""
"hasha slumpmΓ€ssigt skrΓ€p fΓΆr att skapa korrupta objekt fΓΆr felsΓΆkning av Git"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "hantera filen som om den kom frΓ₯n sΓΆkvΓ€gen"
@@ -6555,7 +6762,7 @@ msgstr "emacsclient version \"%d\" fΓΆr gammal (< 22)."
msgid "failed to exec '%s': %s"
msgstr "exec misslyckades fΓΆr \"%s\": %s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
@@ -6564,7 +6771,7 @@ msgstr ""
"\"%s\": sΓΆkvΓ€g fΓΆr man-visare som ej stΓΆds.\n"
"AnvΓ€nd \"man.<verktyg>.cmd\" istΓ€llet."
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
@@ -6573,61 +6780,61 @@ msgstr ""
"\"%s\": kommando fΓΆr man-visare som stΓΆds.\n"
"AnvΓ€nd \"man.<verktyg>.path\" istΓ€llet."
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "\"%s\": okΓ€nd man-visare."
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "ingen man-visare hanterade fΓΆrfrΓ₯gan"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "ingen info-visare hanterade fΓΆrfrΓ₯gan"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "Definierar attribut per sΓΆkvΓ€g"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr "Git fΓΆr dagligt bruk i ungefΓ€r 20 kommandon"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "En Git-ordlista"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "Ange avsiktligen ospΓ₯rade filer att ignorera"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "Ange egenskaper fΓΆr undermoduler"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "Ange versioner och intervall i Git"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr "Introduktion till Git (fΓΆr version 1.5.1 och senare)"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "Γ–versikt ΓΆver rekommenderade arbetsflΓΆden med Git"
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "De vanliga Git-vΓ€gledningarna Γ€r:\n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "anvΓ€ndning: %s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "\"git %s\" Γ€r ett alias fΓΆr \"%s\""
@@ -6863,60 +7070,55 @@ msgstr "kan inte spara indexfil"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "felaktig pack.indexversion=%<PRIu32>"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "felaktigt antal trΓ₯dar angivet (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "trΓ₯dstΓΆd saknas, ignorerar %s"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "Kan inte ΓΆppna befintlig paketfil \"%s\""
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr "Kan inte ΓΆppna befintlig paket-idx-fil fΓΆr \"%s\""
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
msgstr[0] "icke-delta: %d objekt"
msgstr[1] "icke-delta: %d objekt"
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] "kedjelΓ€ngd = %d: %lu objekt"
msgstr[1] "kedjelΓ€ngd = %d: %lu objekt"
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "Kan inte gΓ₯ tillbaka till arbetskatalogen (cwd)"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "felaktig %s"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "--fix-thin kan inte anvΓ€ndas med --stdin"
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr "paketfilnamnet \"%s\" slutar inte med \".pack\""
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "--verify angavs utan paketfilnamn"
@@ -7042,24 +7244,32 @@ msgstr "Kan inte komma Γ₯t arbetskatalogen \"%s\""
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer "
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
"<symbol>[(=|:)<vΓ€rde>])...] [<fil>...]"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "redigera filer pΓ₯ plats"
+
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "ta bort tomma slΓ€prader"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "slΓ€prad"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "slΓ€prad(er) att lΓ€gga till"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "ingen indatafil angiven fΓΆr redigering pΓ₯ plats"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<flaggor>] [<versionsintervall>] [[--] <sΓΆkvΓ€g>...]"
@@ -7113,325 +7323,375 @@ msgstr "Kunde inte lΓ€sa objektet %s"
msgid "Unknown type: %d"
msgstr "OkΓ€nd typ: %d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "format.headers utan vΓ€rde"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "namnet pΓ₯ utdatakatalogen Γ€r fΓΆr lΓ₯ngt"
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "Kan inte ΓΆppna patchfilen %s"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "BehΓΆver precis ett intervall."
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "Inte ett intervall."
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "Omslagsbrevet behΓΆver e-postformat"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "tokigt in-reply-to: %s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<flaggor>] [<sedan> | <revisionsintervall>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "TvΓ₯ utdatakataloger?"
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "anvΓ€nd [PATCH n/m] Γ€ven fΓΆr en ensam patch"
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "anvΓ€nd [PATCH] Γ€ven fΓΆr flera patchar"
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "skriv patcharna pΓ₯ standard ut"
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "generera ett fΓΆljebrev"
-#: builtin/log.c:1222
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr "anvΓ€nd enkel nummersekvens fΓΆr utdatafilnamn"
-#: builtin/log.c:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr "sfx"
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "anvΓ€nd <sfx> istΓ€llet fΓΆr \".patch\""
-#: builtin/log.c:1226
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr "bΓΆrja numrera patchar pΓ₯ <n> istΓ€llet fΓΆr 1"
-#: builtin/log.c:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "markera serien som N:te fΓΆrsΓΆk"
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "AnvΓ€nd [<prefix>] istΓ€llet fΓΆr [PATCH]"
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "spara filerna i <katalog>"
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "ta inte bort eller lΓ€gg till [PATCH]"
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "skriv inte binΓ€ra diffar"
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
msgstr "anvΓ€nd hashvΓ€rde med nollor i From-huvud"
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr "ta inte med patchar som motsvarar en uppstrΓΆmsincheckning"
-#: builtin/log.c:1245
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr "visa patchformat istΓ€llet fΓΆr standard (patch + stat)"
-#: builtin/log.c:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "E-post"
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr "huvud"
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr "lΓ€gg till e-posthuvud"
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "epost"
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "LΓ€gg till mottagarhuvud (\"To:\")"
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "LΓ€gg till kopiehuvud (\"Cc:\")"
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr "ident"
-#: builtin/log.c:1255
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr "sΓ€tt FrΓ₯n-adress till <ident> (eller incheckare om ident saknas)"
-#: builtin/log.c:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr "meddelande-id"
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "GΓΆr det fΓΆrsta brevet ett svar till <meddelande-id>"
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "grΓ€ns"
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "bifoga patchen"
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "gΓΆr patchen ett inline-objekt"
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr "aktivera brevtrΓ₯dning, typer: shallow, deep"
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr "signatur"
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "lΓ€gg till signatur"
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "lΓ€gg till signatur frΓ₯n fil"
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "visa inte filnamn fΓΆr patchar"
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "-n och -k kan inte anvΓ€ndas samtidigt."
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "--subject-prefix och -k kan inte anvΓ€ndas samtidigt."
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "kan inte anvΓ€nda --name-only"
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "kan inte anvΓ€nda --name-status"
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "kan inte anvΓ€nda --check"
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "standard ut, eller katalog, vilken skall det vara?"
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "Kunde inte skapa katalogen \"%s\""
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "kunde inte lΓ€sa signaturfil \"%s\""
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "Misslyckades skapa utdatafiler"
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<uppstrΓΆm> [<huvud> [<grΓ€ns>]]]"
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
msgstr "Kunde inte hitta en spΓ₯rad fjΓ€rrgren, ange <uppstrΓΆm> manuellt.\n"
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "OkΓ€nd incheckning %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<flaggor>] [<fil>...]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "identifiera filstatus med taggar"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr "anvΓ€nd smΓ₯ bokstΓ€ver fΓΆr \"anta ofΓΆrΓ€ndrade\"-filer"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr "visa cachade filer i utdata (standard)"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "visa borttagna filer i utdata"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "visa modifierade filer i utdata"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "visa andra filer i utdata"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "visa ignorerade filer i utdata"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr "visa kΓΆat innehΓ₯lls objektnamn i utdata"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr "visa filer i filsystemet som behΓΆver tas bort"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "visa endast namn fΓΆr \"andra\" kataloger"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "visa radslut i filer"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "visa inte tomma kataloger"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "visa ej sammanslagna filer i utdata"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "visa \"resolve-undo\"-information"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "hoppa ΓΆver filer som motsvarar mΓΆnster"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "exkludera mΓΆnster som lΓ€ses frΓ₯n <fil>"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "lΓ€s ytterligare per-katalog-exkluderingsmΓΆnster frΓ₯n <fil>"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "lΓ€gg till git:s standardexkluderingar"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "gΓΆr utdata relativ till projektets toppkatalog"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "om en <fil> inte Γ€r indexet, betrakta det som ett fel"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "trΓ€d-igt"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr "lΓ₯tsas att sΓΆkvΓ€gar borttagna sedan <trΓ€d-igt> fortfarande finns"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "visa felsΓΆkningsutdata"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<arkiv> [<referenser>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "visa inte fjΓ€rr-URL"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "exec"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "sΓΆkvΓ€g till git-upload-pack pΓ₯ fjΓ€rren"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "begrΓ€nsa till taggar"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "begrΓ€nsa till huvuden"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "visa inte avskalade taggar"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "ta hΓ€nsyn till url.<bas>.insteadOf"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "avsluta med felkod 2 om motsvarande referenser inte hittas"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "visa underliggande referens och objektet det pekar pΓ₯"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<flaggor>] <trΓ€d-igt> [<sΓΆkvΓ€g>...]"
@@ -7499,32 +7759,32 @@ msgstr "TillgΓ€ngliga strategier Γ€r:"
msgid "Available custom strategies are:"
msgstr "TillgΓ€ngliga skrΓ€ddarsydda strategier Γ€r:"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr "visa inte en diffstat nΓ€r sammanslagningen Γ€r fΓ€rdig"
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "visa en diffstat nΓ€r sammanslagningen Γ€r fΓ€rdig"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "(synonym till --stat)"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr ""
"lΓ€gg till (som mest <n>) poster frΓ₯n shortlog till incheckningsmeddelandet"
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr "skapa en ensam incheckning istΓ€llet fΓΆr en sammanslagning"
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "utfΓΆr en incheckning om sammanslagningen lyckades (standard)"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "redigera meddelande innan incheckning"
@@ -7532,7 +7792,7 @@ msgstr "redigera meddelande innan incheckning"
msgid "allow fast-forward (default)"
msgstr "tillΓ₯t snabbspolning (standard)"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr "avbryt om snabbspolning inte Γ€r mΓΆjlig"
@@ -7540,20 +7800,20 @@ msgstr "avbryt om snabbspolning inte Γ€r mΓΆjlig"
msgid "Verify that the named commit has a valid GPG signature"
msgstr "BekrΓ€fta att den namngivna incheckningen har en giltig GPG-signatur"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "strategi"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "sammanslagningsstrategi att anvΓ€nda"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "alternativ=vΓ€rde"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "alternativ fΓΆr vald sammanslagningsstrategi"
@@ -7591,8 +7851,8 @@ msgstr " (inget att platta till)"
msgid "Squash commit -- not updating HEAD\n"
msgstr "Tillplattningsincheckning -- uppdaterar inte HEAD\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "Kunde inte skriva till \"%s\""
@@ -7610,43 +7870,43 @@ msgstr "Avslutar SQUASH_MSG"
msgid "No merge message -- not updating HEAD\n"
msgstr "Inget sammanslagningsmeddelande -- uppdaterar inte HEAD\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "\"%s\" verkar inte peka pΓ₯ en incheckning"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "Felaktig branch.%s.mergeoptions-strΓ€ng: %s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
msgstr "Hanterar inte nΓ₯got annat Γ€n en sammanslagning av tvΓ₯ huvuden."
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "Felaktig flagga fΓΆr merge-recursive: -X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "kunde inte skriva %s"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "Kunde inte lΓ€sa frΓ₯n \"%s\""
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr ""
"Checkar inte in sammanslagningen; anvΓ€nd \"git commit\" fΓΆr att slutfΓΆra "
"den.\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7662,53 +7922,53 @@ msgstr ""
"Rader som inleds med \"%c\" kommer ignoreras, och ett tomt meddelande\n"
"avbryter incheckningen.\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "Tomt incheckningsmeddelande."
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "Underbart.\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr ""
"Kunde inte slΓ₯ ihop automatiskt; fixa konflikter och checka in resultatet.\n"
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "\"%s\" Γ€r inte en incheckning"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "Inte pΓ₯ nΓ₯gon gren."
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "Ingen fjΓ€rr fΓΆr aktuell gren."
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr "Ingen standarduppstrΓΆm angiven fΓΆr aktuell gren."
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "Ingen fjΓ€rrspΓ₯rande gren fΓΆr %s frΓ₯n %s"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "kunde inte stΓ€nga \"%s\""
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr "Det finns ingen sammanslagning att avbryta (MERGE_HEAD saknas)."
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7716,7 +7976,7 @@ msgstr ""
"Du har inte avslutat sammanslagningen (MERGE_HEAD finns).\n"
"Checka in dina Γ€ndringar innan du slΓ₯r ihop."
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7724,102 +7984,102 @@ msgstr ""
"Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns).\n"
"Checka in dina Γ€ndringar innan du slΓ₯r ihop."
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr "Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns)."
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "Du kan inte kombinera --squash med --no-ff."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr "Ingen incheckning angiven och merge.defaultToUpstream Γ€r ej satt."
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
msgstr "StΓΆder inte en tillplattningsincheckning pΓ₯ ett tomt huvud Γ€nnu"
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr "Icke-snabbspolad incheckning kan inte anvΓ€ndas med ett tomt huvud"
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s - inte nΓ₯got vi kan slΓ₯ ihop"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
msgstr "Kan endast slΓ₯ ihop en enda incheckning i ett tomt huvud."
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr ""
"Incheckningen %s har en obetrodd GPG-signatur som pΓ₯stΓ₯s vara gjord av %s."
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr ""
"Incheckningen %s har en felaktig GPG-signatur som pΓ₯stΓ₯s vara gjord av %s."
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "Incheckning %s har inte nΓ₯gon GPG-signatur."
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr "Incheckningen %s har en korrekt GPG-signatur av %s\n"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "Uppdaterar %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "FΓΆrsΓΆker riktigt enkel sammanslagning i indexet...\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "Nej.\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr "Kan inte snabbspola, avbryter."
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "Γ…terspolar trΓ€det till orΓΆrt...\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "FΓΆrsΓΆker sammanslagningsstrategin %s...\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr "Ingen sammanslagningsstrategi hanterade sammanslagningen.\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "Sammanslagning med strategin %s misslyckades.\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr "AnvΓ€nder %s fΓΆr att fΓΆrbereda lΓΆsning fΓΆr hand.\n"
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
@@ -7905,19 +8165,19 @@ msgstr "varna inte om konflikter"
msgid "set labels for file1/orig-file/file2"
msgstr "sΓ€tt etiketter fΓΆr fil1/origfil/fil2"
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr "indata Γ€r NUL-terminerad"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "tillΓ₯t saknade objekt"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "tillΓ₯t skapa mer Γ€n ett trΓ€d"
@@ -7925,91 +8185,91 @@ msgstr "tillΓ₯t skapa mer Γ€n ett trΓ€d"
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<flaggor>] <kΓ€lla>... <mΓ₯l>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "Katalogen %s Γ€r i indexet och inte en undermodul?"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr ""
"KΓΆa dina Γ€ndringar i .gitmodules eller anvΓ€nd \"stash\" fΓΆr att fortsΓ€tta"
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s Γ€r i indexet"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "tvinga flytta/Γ€ndra namn Γ€ven om mΓ₯let finns"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "hoppa ΓΆver fel vid flytt/namnΓ€ndring"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "destinationen \"%s\" Γ€r ingen katalog"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "Kontrollerar namnbyte av \"%s\" till \"%s\"\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "felaktig kΓ€lla"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "kan inte flytta katalog till sig sjΓ€lv"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "kan inte flytta katalog ΓΆver fil"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "kΓ€llkatalogen Γ€r tom"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "inte versionshanterad"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "destinationen finns"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "skriver ΓΆver \"%s\""
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "Kan inte skriva ΓΆver"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "flera kΓ€llor fΓΆr samma mΓ₯l"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "destinationskatalogen finns inte"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s, kΓ€lla=%s, mΓ₯l=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Byter namn pΓ₯ %s till %s\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "misslyckades byta namn pΓ₯ \"%s\""
@@ -8209,9 +8469,9 @@ msgid "could not open or read '%s'"
msgstr "kunde inte ΓΆppna eller lΓ€sa \"%s\""
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "Kunde inte slΓ₯ upp \"%s\" som en giltig referens."
@@ -8226,42 +8486,42 @@ msgstr "Kunde inte lΓ€sa objektet \"%s\"."
msgid "Cannot read note data from non-blob object '%s'."
msgstr "kan inte lΓ€sa anteckningsdata frΓ₯n icke-blob-objektet \"%s\"."
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "fΓΆr mΓ₯nga parametrar"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "Inga anteckningar hittades fΓΆr objektet %s."
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "anteckningsinnehΓ₯ll som strΓ€ng"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "anteckningsinnehΓ₯ll i en fil"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "Γ₯teranvΓ€nd och redigera angivet anteckningsobjekt"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "Γ₯teranvΓ€nd angivet anteckningsobjekt"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "tillΓ₯t lagra tom anteckning"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "ersΓ€tt befintliga anteckningar"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8270,29 +8530,29 @@ msgstr ""
"Kan inte lΓ€gga till anteckningar. Hittade befintliga anteckningar fΓΆr "
"objektet %s. AnvΓ€nd \"-f\" fΓΆr att skriva ΓΆver befintliga anteckningar"
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "Skriver ΓΆver befintliga anteckningar fΓΆr objektet %s\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "Tar bort anteckning fΓΆr objektet %s\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "lΓ€s objekt frΓ₯n standard in"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr "lΓ€s omskrivningsinstΓ€llning fΓΆr <kommando> (implicerar --stdin)"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "fΓΆr fΓ₯ parametrar"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8301,12 +8561,12 @@ msgstr ""
"Kan inte kopiera anteckningar. Hittade befintliga anteckningar fΓΆr objektet "
"%s. AnvΓ€nd \"-f\" fΓΆr att skriva ΓΆver befintliga anteckningar"
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "Anteckningar pΓ₯ kΓ€llobjektet %s saknas. Kan inte kopiera."
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8315,15 +8575,15 @@ msgstr ""
"Flaggorna -m/-F/-c/-C rekommenderas inte fΓΆr underkommandot \"edit\".\n"
"AnvΓ€nd \"git notes add -f -m/-F/-c/-C\" istΓ€llet.\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "AllmΓ€nna flaggor"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "Flaggor fΓΆr sammanslagning"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
@@ -8331,51 +8591,51 @@ msgstr ""
"lΓ€s konflikter i anteckningar med angiven strategi (manual/ours/theirs/union/"
"cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "Checkar in ej sammanslagna anteckningar"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr ""
"fΓ€rdigstΓ€ll sammanslagning av anteckningar genom att checka in ej "
"sammanslagna anteckningar"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "Avbryt lΓΆsning av sammanslagning av anteckningar"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "avbryt sammanslagning av anteckningar"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "Sammanslagning av anteckningar till %s Γ€r redan igΓ₯ngsatt pΓ₯ %s"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "Objektet %s har ingen anteckning\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr "fΓΆrsΓΆk att ta bort icke-existerande anteckningar Γ€r inte ett fel"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "lΓ€s objektnamn frΓ₯n standard in"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "anteckningar-ref"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "anvΓ€nd anteckningar frΓ₯n <anteckningsref>"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr "OkΓ€nt underkommando: %s"
@@ -8397,165 +8657,165 @@ msgstr ""
msgid "deflate error (%d)"
msgstr "fel i deflate (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "Skriver objekt"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr "inaktiverar skrivning av bitkarta dΓ₯ nΓ₯gra objekt inte packas"
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "Komprimerar objekt"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "indexversionen %s stΓΆds ej"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "felaktig indexversion \"%s\""
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "visa inte fΓΆrloppsindikator"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "visa fΓΆrloppsindikator"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr "visa fΓΆrloppsindikator under objektskrivningsfasen"
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
-msgstr "som --all-progress nΓ€r fΓΆrloppsmΓ€taren visas"
+msgstr "som --all-progress nΓ€r fΓΆrloppsindikatorn visas"
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "version[,offset]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr "skriv paketindexfilen i angiven indexformatversion"
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "maximal storlek pΓ₯ varje utdatapaketfil"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr "ignorera lΓ₯nade objekt frΓ₯n alternativa objektlager"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "ignorera packade objekt"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "begrΓ€nsa paketfΓΆnster efter objekt"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr "begrΓ€nsa paketfΓΆnster efter minne fΓΆrutom objektgrΓ€ns"
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr "maximal lΓ€ngd pΓ₯ deltakedja tillΓ₯ten i slutligt paket"
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "Γ₯teranvΓ€nd befintliga delta"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "Γ₯teranvΓ€nd befintliga objekt"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "anvΓ€nd OFS_DELTA-objekt"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr "anvΓ€nd trΓ₯dar vid sΓΆkning efter bΓ€sta deltatrΓ€ffar"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "fΓΆrsΓΆk inte skapa tom paketutdata"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr "lΓ€s revisionsargument frΓ₯n standard in"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr "begrΓ€nsa objekt till de som Γ€nnu inte packats"
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "inkludera objekt som kan nΓ₯s frΓ₯n nΓ₯gon referens"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr "inkludera objekt som refereras frΓ₯n referensloggposter"
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "inkludera objekt som refereras frΓ₯n indexet"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "skriv paket pΓ₯ standard ut"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr "inkludera taggobjekt som refererar objekt som skall packas"
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "behΓ₯ll onΓ₯bara objekt"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "tid"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr "packa upp onΓ₯bara objekt nyare Γ€n <tid>"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "skapa tunna paket"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr "skapa packfiler lΓ€mpade fΓΆr grunda hΓ€mtningar"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "ignorera paket som har tillhΓΆrande .keep-fil"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "komprimeringsgrad fΓΆr paket"
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "gΓΆm inte incheckningar med ympningar (\"grafts\")"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr "anvΓ€nd bitkartindex om tillgΓ€ngligt fΓΆr att rΓ€kna objekt snabbare"
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr "anvΓ€nd bitkartindex tillsammans med packindexet"
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "RΓ€knar objekt"
@@ -8599,49 +8859,53 @@ msgstr "lΓ₯t tid gΓ₯ ut fΓΆr objekt Γ€ldre Γ€n <tid>"
msgid "cannot prune in a precious-objects repo"
msgstr "kan inte rensa i ett \"precious-objekt\"-arkiv"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<flaggor>] [<arkiv> [<refspec>...]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "Alternativ gΓ€llande sammanslagning"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "inlemma Γ€ndringar genom ombasering i stΓ€llet fΓΆr sammanslagning"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "tillΓ₯t snabbspolning"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "bekrΓ€fta att den namngivna incheckningen har en giltig GPG-signatur"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr "Alternativ gΓ€llande hΓ€mtningar"
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "antal undermoduler som hΓ€mtas parallellt"
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "Felaktigt vΓ€rde fΓΆr pull.ff: %s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr "Kan inte hΓ€mta med ombasering: Du har okΓΆade Γ€ndringar."
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr "Dessutom innehΓ₯ller dit index Γ€ndringar som inte har checkats in."
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr ""
"Kan inte hΓ€mta med ombasering: Ditt index innehΓ₯ller oincheckade Γ€ndringar."
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
@@ -8649,14 +8913,14 @@ msgstr ""
"Det finns ingen kandidat fΓΆr ombasering bland referenserna du precis har "
"hΓ€mtat."
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr ""
"Det finns ingen kandidat fΓΆr sammanslagning bland referenserna du precis har "
"hΓ€mtat."
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
@@ -8664,7 +8928,7 @@ msgstr ""
"Det betyder vanligtvis att du anvΓ€nt en jokertecken-refspec som inte\n"
"motsvarade nΓ₯got i fjΓ€rrΓ€nden."
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8675,27 +8939,27 @@ msgstr ""
"gren. Eftersom det inte Γ€r den fjΓ€rr som Γ€r konfigurerad som\n"
"standard fΓΆr aktuell gren mΓ₯ste du ange en gren pΓ₯ kommandoraden."
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "Du Γ€r inte pΓ₯ nΓ₯gon gren fΓΆr nΓ€rvarande."
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr "Ange vilken gren du vill ombasera mot."
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "Ange vilken gren du vill slΓ₯ samman med."
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr "Se git-pull(1) fΓΆr detaljer."
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "Det finns ingen spΓ₯rningsinformation fΓΆr aktuell gren."
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8706,7 +8970,7 @@ msgstr ""
"\n"
" git branch --set-upstream-to=%s/<gren> %s\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
@@ -8715,11 +8979,11 @@ msgstr ""
"Dina instΓ€llningar anger sammanslagning med referensen \"%s\"\n"
"frΓ₯n fjΓ€rren, men nΓ₯gon sΓ₯dan referens togs inte emot."
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr "Uppdaterar en ofΓΆdd gren med Γ€ndringar som lagts till i indexet."
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8730,7 +8994,7 @@ msgstr ""
"snabbspolar din arbetskatalog frΓ₯n\n"
"incheckningen %s."
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8747,11 +9011,11 @@ msgstr ""
"$ git reset --hard\n"
"fΓΆr att Γ₯tergΓ₯."
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr "Kan inte slΓ₯ ihop flera grenar i ett tomt huvud."
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "Kan inte ombasera ovanpΓ₯ flera grenar."
@@ -8759,15 +9023,15 @@ msgstr "Kan inte ombasera ovanpΓ₯ flera grenar."
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<flaggor>] [<arkiv> [<refspec>...]]"
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "taggfΓΆrkortning utan <tagg>"
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "--delete godtar endast enkla mΓ₯lreferensnamn"
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
@@ -8776,7 +9040,7 @@ msgstr ""
"FΓΆr att vΓ€lja ett av alternativen permanent, se push.default i \"git help "
"config\"."
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -8801,7 +9065,7 @@ msgstr ""
" git push %s %s\n"
"%s"
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -8816,7 +9080,7 @@ msgstr ""
"\n"
" git push %s HEAD:<namn-pΓ₯-fjΓ€rrgren>\n"
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -8829,12 +9093,12 @@ msgstr ""
"\n"
" git push --set-upstream %s %s\n"
-#: builtin/push.c:182
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr "Den aktuella grenen %s har flera uppstrΓΆmsgrenar, vΓ€grar sΓ€nda."
-#: builtin/push.c:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -8845,62 +9109,14 @@ msgstr ""
"aktuella grenen \"%s\", utan att tala om fΓΆr mig vad som\n"
"skall sΓ€ndas fΓΆr att uppdatera fjΓ€rrgrenen."
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"push.default har inte stΓ€llts in; dess underfΓΆrstΓ₯dda vΓ€rde\n"
-"Γ€ndras i Git 2.0 frΓ₯n \"matching\" till \"simple\". FΓΆr att\n"
-"undertrycka det hΓ€r meddelandet och behΓ₯lla traditionellt beteende\n"
-"skriver du:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"FΓΆr att undertrycka meddelandet och vΓ€lja det nya beteendet nu skriver du:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"NΓ€r push.default Γ€r satt till \"matching\" kommer git att sΓ€nda lokala "
-"grenar\n"
-"till fjΓ€rrgrenar som redan finns och som har samma namn.\n"
-"\n"
-"Git 2.0 kommer som standard vΓ€lja den mer konservativa instΓ€llningen\n"
-"\"simple\", vilket bara sΓ€nder in den aktuella grenen till den motsvarande\n"
-"fjΓ€rrgren \"git pull\" anvΓ€nder fΓΆr att uppdatera den aktuella grenen.\n"
-"\n"
-"Se \"git help config\" och sΓΆk efter \"push.default\" fΓΆr ytterligare \n"
-"information. (LΓ€get \"simple\" introducerades i Git 1.7.11. AnvΓ€nd det\n"
-"liknande lΓ€get \"current\" istΓ€llet fΓΆr \"simple\" om du ibland anvΓ€nder\n"
-"Γ€ldre versioner av Git.)"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr ""
"Du angav inga referensspecifikationer att sΓ€nda, och push.default Γ€r "
"\"nothing\"."
-#: builtin/push.c:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -8912,7 +9128,7 @@ msgstr ""
"\"git pull ....\") innan du sΓ€nder igen.\n"
"Se avsnittet \"Note about fast-forward\" i \"git push --help\" fΓΆr detaljer."
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
@@ -8924,7 +9140,7 @@ msgstr ""
"\"git pull ...\") innan du sΓ€nder igen.\n"
"Se avsnittet \"Note about fast-forward\" i \"git push --help\" fΓΆr detaljer."
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
@@ -8938,11 +9154,11 @@ msgstr ""
"(t.ex. \"git pull ...\") innan du sΓ€nder igen.\n"
"Se avsnittet \"Note about fast-forwards\" i \"git push --help\" fΓΆr detaljer."
-#: builtin/push.c:301
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr "Uppdateringarna avvisades eftersom taggen redan finns pΓ₯ fjΓ€rren."
-#: builtin/push.c:304
+#: builtin/push.c:271
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"
@@ -8953,22 +9169,22 @@ msgstr ""
"pekar pΓ₯ nΓ₯got som inte Γ€r en incheckning, utan att anvΓ€nda flaggan\n"
"\"--force\".\n"
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "SΓ€nder till %s\n"
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "misslyckades sΓ€nda vissa referenser till \"%s\""
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "felaktigt arkiv \"%s\""
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -8989,104 +9205,100 @@ msgstr ""
"\n"
" git push <namn>\n"
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "--all och --tags Γ€r inkompatibla"
-#: builtin/push.c:414
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr "--all kan inte kombineras med referensspecifikationer"
-#: builtin/push.c:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "--mirror och --tags Γ€r inkompatibla"
-#: builtin/push.c:420
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr "--mirror kan inte kombineras med referensspecifikationer"
-#: builtin/push.c:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "--all och --mirror Γ€r inkompatibla"
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr "arkiv"
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "sΓ€nd alla referenser"
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "spegla alla referenser"
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr "ta bort referenser"
-#: builtin/push.c:542
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr "sΓ€nd taggar (kan inte anvΓ€ndas med --all eller --mirror)"
-#: builtin/push.c:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "tvinga uppdateringar"
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "refnamn>:<fΓΆrvΓ€nta"
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr "krΓ€v att ref:s tidigare vΓ€rde Γ€r detta"
-#: builtin/push.c:550
-msgid "check|on-demand|no"
-msgstr "check|on-demand|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "styr rekursiv insΓ€ndning av undermoduler"
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "anvΓ€nd tunna paket"
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "program fΓΆr att ta emot paket"
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "stΓ€ll in uppstrΓΆm fΓΆr git pull/status"
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "ta bort lokalt borttagna referenser"
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "fΓΆrbigΓ₯ pre-push-krok"
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "sΓ€nd in saknade men relevanta taggar"
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "GPG-signera insΓ€ndningen"
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "begΓ€r atomiska transaktioner pΓ₯ fjΓ€rrsidan"
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "--delete Γ€r inkompatibel med --all, --mirror och --tags"
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "--delete kan inte anvΓ€ndas utan referenser"
@@ -9164,12 +9376,12 @@ msgstr "hoppa ΓΆver att applicera filter fΓΆr gles utcheckning"
msgid "debug unpack-trees"
msgstr "felsΓΆk unpack-trees"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "\"%s\" fΓΆr \"%s\" Γ€r inte en giltig tidsstΓ€mpel"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "\"%s\" Γ€r inte en giltig tidsstΓ€mpel"
@@ -9310,55 +9522,45 @@ msgstr "att ange en master-gren ger ingen mening med --mirror"
msgid "specifying branches to track makes sense only with fetch mirrors"
msgstr "att ange grenar att spΓ₯ra ger mening bara med hΓ€mtningsspeglar"
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "fjΓ€rrarkivet %s finns redan."
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "\"%s\" Γ€r inte ett giltigt namn pΓ₯ fjΓ€rrarkiv"
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "Kunde inte skapa master \"%s\""
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr "Kunde inte hΓ€mta mappning fΓΆr referensspecifikation %s"
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "(matchande)"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(ta bort)"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "Kunde inte tillΓ€mpa \"%s\" pΓ₯ \"%s\""
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "Inget sΓ₯dant fjΓ€rrarkiv: %s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr "Kunde inte byta namn pΓ₯ konfigurationssektionen \"%s\" till \"%s\""
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "Kunde inte ta bort konfigurationssektionen \"%s\""
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -9369,27 +9571,17 @@ msgstr ""
"\t%s\n"
"\tUppdatera konfigurationen manuellt om nΓΆdvΓ€ndigt."
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "Kunde inte lΓ€gga till pΓ₯ \"%s\""
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "Kunde inte sΓ€tta \"%s\""
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "misslyckades ta bort \"%s\""
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "misslyckades skapa \"%s\""
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9403,275 +9595,280 @@ msgstr[1] ""
"Observera: NΓ₯gra grenar utanfΓΆr hierarkin refs/remotes/ togs inte bort;\n"
"fΓΆr att ta bort dem, anvΓ€nd:"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "Kunde inte ta bort konfigurationssektionen \"%s\""
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " ny (nΓ€sta hΓ€mtning sparar i remotes/%s)"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " spΓ₯rad"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " fΓΆrlegad (anvΓ€nd \"git remote prune\" fΓΆr att ta bort)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr "ogiltig branch.%s.merge; kan inte ombasera ΓΆver > 1 gren"
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "ombaseras pΓ₯ fjΓ€rren %s"
+msgid "rebases interactively onto remote %s"
+msgstr "ombaseras interaktivt pΓ₯ fjΓ€rren %s"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr " sammanslΓ₯s med fjΓ€rren %s"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " och med fjΓ€rren"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "sammanslΓ₯s med fjΓ€rren %s"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " och med fjΓ€rren"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "skapa"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "ta bort"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "Γ jour"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "kan snabbspolas"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "lokal fΓΆrΓ₯ldrad"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*s tvingar till %-*s (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*s sΓ€nder till %-*s (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*s tvingar till %s"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*s sΓ€nder till %s"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "frΓ₯ga inte fjΓ€rrar"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* fjΓ€rr %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " HΓ€mt-URL: %s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(ingen URL)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " SΓ€nd-URL: %s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " HEAD-gren: %s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
msgstr " HEAD-gren (HEAD pΓ₯ fjΓ€rr Γ€r tvetydig, kan vara en av fΓΆljande):\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
msgstr[0] " FjΓ€rrgren:%s"
msgstr[1] " FjΓ€rrgrenar:%s"
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr " (status inte fΓΆrfrΓ₯gad)"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] " Lokal gren konfigurerad fΓΆr \"git pull\":"
msgstr[1] " Lokala grenar konfigurerade fΓΆr \"git pull\":"
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr " Lokala referenser speglas av \"git push\""
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Lokal referens konfigurerad fΓΆr \"git push\"%s:"
msgstr[1] " Lokala referenser konfigurerade fΓΆr \"git push\"%s:"
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "sΓ€tt refs/remotes/<namn>/HEAD enligt fjΓ€rren"
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "ta bort refs/remotes/<namn>/HEAD"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "Kan inte bestΓ€mma HEAD pΓ₯ fjΓ€rren"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
msgstr "Flera HEAD-grenar pΓ₯ fjΓ€rren. VΓ€lj en explicit med:"
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr "Kunde inte ta bort %s"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "Inte en giltig referens: %s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "Kunde inte stΓ€lla in %s"
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s kommer bli dinglande!"
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s har blivit dinglande!"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "Rensar %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [skulle rensa] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr " * [rensad] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "rensa fjΓ€rrar efter hΓ€mtning"
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "Ingen sΓ₯dan fjΓ€rr \"%s\""
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "lΓ€gg till gren"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "ingen fjΓ€rr angavs"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr "frΓ₯ga sΓ€nd-URL:er istΓ€llet fΓΆr hΓ€mta-URL:er"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "returnera alla URL:er"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "ingen URL:er angivna fΓΆr fjΓ€rren \"%s\""
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "manipulera URL:ar fΓΆr sΓ€ndning"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "lΓ€gg till URL"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "ta bort URL:ar"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr "--add --delete ger ingen mening"
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "Felaktig gammalt URL-mΓΆnster: %s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "Ingen sΓ₯dan URL hittades: %s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "Kommer inte ta bort alla icke-sΓ€nd-URL:er"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr "var pratsam; mΓ₯ste skrivas fΓΆre ett underkommando"
@@ -9973,7 +10170,7 @@ msgstr "Kunde inte Γ₯terstΓ€lla indexfilen till versionen \"%s\"."
msgid "Could not write new index file."
msgstr "Kunde inte skriva ny indexfil."
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "rev-list stΓΆder inte visning av anteckningar"
@@ -10226,28 +10423,23 @@ msgstr "visa status frΓ₯n fjΓ€rrhjΓ€lpare"
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<flaggor>] [<versionsintervall>] [[--] <sΓΆkvΓ€g>...]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "FΓΆrfattare saknas: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "sortera utdata enligt antal incheckningar per fΓΆrfattare"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr "Undertryck beskrivningar, visa bara antal incheckningar"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "Visa e-postadress fΓΆr varje fΓΆrfattare"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "Radbryt utdata"
@@ -10388,43 +10580,43 @@ msgid "skip and remove all lines starting with comment character"
msgstr "hoppa ΓΆver och ta bort alla rader som inleds med kommentarstecken"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
+msgid "prepend comment character and space to each line"
msgstr "lΓ€gg in kommentarstecken och blanksteg fΓΆrst pΓ₯ varje rad"
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "alternativa ankare fΓΆr relativa sΓΆkvΓ€gar"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<sΓΆkvΓ€g>] [<sΓΆkvΓ€g>...]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper name <sΓΆkvΓ€g>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr "hittade ingen undermodulmappning i .gitmodules fΓΆr sΓΆkvΓ€gen \"%s\""
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "var den nya undermodulen skall klonas till"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "namn pΓ₯ den nya undermodulen"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "URL att klona undermodulen frΓ₯n"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "djup fΓΆr grunda kloner"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10432,39 +10624,39 @@ msgstr ""
"git submodule--helper clone [--prefix=<sΓΆkvΓ€g>] [--quiet] [--reference "
"<arkvi>] [--name <namn>] [--url <url>][--depth <djup>] [--] [<sΓΆkvΓ€g>...]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "kunde inte skapa katalogen \"%s\""
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr "misslyckades klona \"%s\" till undermodulsΓΆkvΓ€gen \"%s\""
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "kan inte ΓΆppna filen \"%s\""
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "kunde inte stΓ€nga filen %s"
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr "kunde inte fΓ₯ tag i undermodulkatalog fΓΆr \"%s\""
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr ""
"ΓΆdesdigert: underkommandot submodule--helper mΓ₯ste anropas med ett "
"underkommando"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr ""
@@ -10711,191 +10903,204 @@ msgstr "Uppdaterad tagg \"%s\" (var %s)\n"
msgid "Unpacking objects"
msgstr "Packar upp objekt"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "misslyckades skapa katalogen %s"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "misslyckades ta status pΓ₯ %s"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "misslyckades skapa filen %s"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "misslyckades ta bort filen %s"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "misslyckades ta bort katalogen %s"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "Testar"
+msgid "Testing mtime in '%s' "
+msgstr "Testar mtime i \"%s\""
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr "stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r nya filer lΓ€ggs till"
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr ""
"stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r nya kataloger lΓ€ggs till"
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr "stat-informationen fΓΆr en katalog Γ€ndras nΓ€r filer uppdateras"
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr ""
"stat-informationen fΓΆr en katalog Γ€ndras nΓ€r filer lΓ€ggs till i en "
"underkatalog"
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr "stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r en fil tas bort"
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr "stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r en katalog tas bort"
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " OK"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<flaggor>] [--] [<fil>...]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr "fortsΓ€tt uppdatera Γ€ven nΓ€r index inte Γ€r Γ jour"
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "refresh: ignorera undermoduler"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "ignorera inte nya filer"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "lΓ₯t filer ersΓ€tta kataloger och omvΓ€nt"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "lΓ€gg mΓ€rke till filer som saknas i arbetskatalogen"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr "uppdatera Γ€ven om indexet innehΓ₯ller ej sammanslagna poster"
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "uppdatera statusinformation"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "som --refresh, men ignorera assume-unchanged-instΓ€llning"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<lΓ€ge>,<objekt>,<sΓΆkvΓ€g>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "lΓ€gg till angiven post i indexet"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "ΓΆverstyr exekveringsbiten fΓΆr angivna filer"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "markera filer som \"Γ€ndras inte\""
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "rensa \"assume-unchanged\"-biten"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "markera filer som \"endast index\""
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "tΓΆm \"skip-worktree\"-biten"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
msgstr "lΓ€gg endast till indexet; lΓ€gg inte till innehΓ₯llet i objektdatabasen"
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr "ta bort namngivna sΓΆkvΓ€gar Γ€ven om de finns i arbetskatalogen"
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr "med --stdin: indatarader termineras med null-byte"
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr "lΓ€s lista ΓΆver sΓΆkvΓ€gar att uppdatera frΓ₯n standard in"
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
msgstr "lΓ€gg poster frΓ₯n standard in till indexet"
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr "Γ₯terfyll etapp 2 och 3 frΓ₯n angivna sΓΆkvΓ€gar"
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "uppdatera endast poster som skiljer sig frΓ₯n HEAD"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "ignorera filer som saknas i arbetskatalogen"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "rapportera Γ₯tgΓ€rder pΓ₯ standard ut"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "(fΓΆr porslin) glΓΆm sparade olΓΆsta konflikter"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "skriv index i detta format"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "aktivera eller inaktivera delat index"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr "aktivera/inaktivera ospΓ₯rad cache"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "testa om filsystemet stΓΆder ospΓ₯rad cache"
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr "aktivera ospΓ₯rad cache utan att testa filsystemet"
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "OspΓ₯rad cache Γ€r inaktiverad"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "OspΓ₯rad cache Γ€r aktiverad fΓΆr \"%s\""
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr "git update-ref [<flaggor>] -d <refnamn> [<gammaltvΓ€rde>]"
@@ -11011,34 +11216,34 @@ msgstr "misslyckades ta bort: %s"
msgid "'%s' already exists"
msgstr "\"%s\" finns redan"
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "kunde inte skapa katalogen \"%s\""
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "FΓΆrbereder %s (identifieraren %s)"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr ""
"checka ut <gren> Γ€ven om den redan Γ€r utcheckad i en annan arbetskatalog"
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "skapa en ny gren"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "skapa eller Γ₯terstΓ€ll en gren"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "koppla frΓ₯n HEAD vid namngiven incheckning"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "-b, -B och --detach Γ€r ΓΆmsesidigt uteslutande"
@@ -11058,7 +11263,7 @@ msgstr "visa trΓ€dobjekt fΓΆr underkatalogen <prefix>"
msgid "only useful for debugging"
msgstr "endast anvΓ€ndbart vid felsΓΆkning"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "skriv felsΓΆkningsmeddelanden pΓ₯ standard fel"
@@ -11072,6 +11277,10 @@ msgstr ""
"nΓ₯gra konceptvΓ€gledningar. Se \"git help <kommando>\" eller \"git help\n"
"<koncept>\" fΓΆr att lΓ€sa mer om specifika underkommandon och koncept."
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "FastnΓ₯lning av ΓΆppen nyckel stΓΆds inte av cURL < 7.44.0"
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "starta arbetskatalog (se ocksΓ₯: git help tutorial)"
@@ -11153,8 +11362,8 @@ msgid "Update remote refs along with associated objects"
msgstr "Uppdatera fjΓ€rr-referenser och tillhΓΆrande objekt"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "FramΓ₯tanpassa lokala kommandon pΓ₯ uppdaterat uppstrΓΆmshuvud"
+msgid "Reapply commits on top of another base tip"
+msgstr "Applicera incheckningar pΓ₯ nytt ovanpΓ₯ en annan bastopp"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -11866,7 +12075,7 @@ msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
msgstr ""
"Undermodulen \"$name\" ($url) avregistrerad fΓΆr sΓΆkvΓ€gen \"$displaypath\""
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
@@ -11875,108 +12084,184 @@ msgstr ""
"Undermodulen \"$displaypath\" har inte initierats\n"
"Kanske du vill kΓΆra \"update --init\"?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr "Kan inte hitta aktuell revision i undermodulsΓΆkvΓ€gen \"$displaypath\""
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr "Kan inte hΓ€mta i undermodulsΓΆkvΓ€g \"$sm_path\""
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "Kan inte hΓ€mta i undermodulsΓΆkvΓ€g \"$displaypath\""
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr "Kan inte checka ut \"$sha1\" i undermodulsΓΆkvΓ€gen \"$displaypath\""
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "UndermodulsΓΆkvΓ€gen \"$displaypath\": checkade ut \"$sha1\""
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr "Kan inte ombasera \"$sha1\" i undermodulsΓΆkvΓ€gen \"$displaypath\""
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "UndermodulsΓΆkvΓ€gen \"$displaypath\": ombaserade in i \"$sha1\""
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr "Kan inte slΓ₯ ihop \"$sha1\" i undermodulsΓΆkvΓ€gen \"$displaypath\""
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "UndermodulsΓΆkvΓ€gen \"$displaypath\": sammanslagen i \"$sha1\""
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
msgstr ""
"Misslyckades kΓΆra \"$command $sha1\" i undermodulsΓΆkvΓ€gen \"$prefix$sm_path\""
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "UndermodulsΓΆkvΓ€gen \"$prefix$sm_path\": \"$command $sha1\""
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "Misslyckades rekursera in i undermodulsΓΆkvΓ€gen \"$displaypath\""
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr "Flaggan --cached kan inte anvΓ€ndas med flaggan --files"
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "ovΓ€ntat lΓ€ge $mod_dst"
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr " Varning: $display_name innehΓ₯ller inte incheckningen $sha1_src"
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr " Varning: $display_name innehΓ₯ller inte incheckningen $sha1_dst"
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr ""
" Varning: $display_name innehΓ₯ller inte incheckningarna $sha1_src och "
"$sha1_dst"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "blob"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "Misslyckades rekursera in i undermodulsΓΆkvΓ€gen \"$sm_path\""
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\""
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr "FramΓ₯tanpassa lokala kommandon pΓ₯ uppdaterat uppstrΓΆmshuvud"
+
+#~ msgid "unable to parse format"
+#~ msgstr "kan inte tolka formatet"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "felaktigt format angivet align:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "Kunde inte sΓ€tta core.worktree i %s"
+
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "push.default har inte stΓ€llts in; dess underfΓΆrstΓ₯dda vΓ€rde\n"
+#~ "Γ€ndras i Git 2.0 frΓ₯n \"matching\" till \"simple\". FΓΆr att\n"
+#~ "undertrycka det hΓ€r meddelandet och behΓ₯lla traditionellt beteende\n"
+#~ "skriver du:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "FΓΆr att undertrycka meddelandet och vΓ€lja det nya beteendet nu skriver "
+#~ "du:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "NΓ€r push.default Γ€r satt till \"matching\" kommer git att sΓ€nda lokala "
+#~ "grenar\n"
+#~ "till fjΓ€rrgrenar som redan finns och som har samma namn.\n"
+#~ "\n"
+#~ "Git 2.0 kommer som standard vΓ€lja den mer konservativa instΓ€llningen\n"
+#~ "\"simple\", vilket bara sΓ€nder in den aktuella grenen till den "
+#~ "motsvarande\n"
+#~ "fjΓ€rrgren \"git pull\" anvΓ€nder fΓΆr att uppdatera den aktuella grenen.\n"
+#~ "\n"
+#~ "Se \"git help config\" och sΓΆk efter \"push.default\" fΓΆr ytterligare \n"
+#~ "information. (LΓ€get \"simple\" introducerades i Git 1.7.11. AnvΓ€nd det\n"
+#~ "liknande lΓ€get \"current\" istΓ€llet fΓΆr \"simple\" om du ibland anvΓ€nder\n"
+#~ "Γ€ldre versioner av Git.)"
+
+#~ msgid "check|on-demand|no"
+#~ msgstr "check|on-demand|no"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "Kunde inte lΓ€gga till pΓ₯ \"%s\""
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "Kunde inte sΓ€tta \"%s\""
+
+#~ msgid "Missing author: %s"
+#~ msgstr "FΓΆrfattare saknas: %s"
+
+#~ msgid "Testing "
+#~ msgstr "Testar"
+
#~ msgid "unable to look up current user in the passwd file: %s"
#~ msgstr "kan inte slΓ₯ upp aktuell anvΓ€ndare i passwd-filen: %s"
@@ -12046,9 +12331,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\""
#~ msgid "unable to parse value '%s' for option %s"
#~ msgstr "kunde inte tolka vΓ€rdet \"%s\" fΓΆr flaggan %s"
-#~ msgid "unable to resolve HEAD"
-#~ msgstr "kan inte bestΓ€mma HEAD"
-
#~ msgid "-b and -B are mutually exclusive"
#~ msgstr "-b och -B kan inte anvΓ€ndas samtidigt"
@@ -12118,9 +12400,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\""
#~ msgid "prune .git/worktrees"
#~ msgstr "rensa .git/worktrees"
-#~ msgid "--worktrees does not take extra arguments"
-#~ msgstr "--worktrees tar inte ytterligare argument"
-
#~ msgid "The most commonly used git commands are:"
#~ msgstr "De mest anvΓ€nda git-kommandona Γ€r:"
@@ -12151,9 +12430,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\""
#~ msgid "force creation (when already exists)"
#~ msgstr "tvinga skapande (nΓ€r den redan finns)"
-#~ msgid "Malformed ident string: '%s'"
-#~ msgstr "Felaktig indragningsstrΓ€ng: \"%s\""
-
#~ msgid "slot"
#~ msgstr "plats"
@@ -12211,9 +12487,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\""
#~ msgid "bug"
#~ msgstr "programfel"
-#~ msgid "ahead "
-#~ msgstr "fΓΆre "
-
#~ msgid ", behind "
#~ msgstr ", efter "
@@ -12497,9 +12770,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\""
#~ msgid "# Changed but not updated:"
#~ msgstr "# Γ„ndrade men inte uppdaterade:"
-#~ msgid "path '%s' does not have all 3 versions"
-#~ msgstr "sΓΆkvΓ€gen \"%s\" har inte alla 3 versionerna"
-
#~ msgid "git checkout: we do not like '%s' as a branch name."
#~ msgstr "git checkout: vi tycker inte om \"%s\" som namn pΓ₯ en gren."
diff --git a/po/vi.po b/po/vi.po
index f3fee99640..edd8e29322 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -2,16 +2,16 @@
# BαΊ£n dα»‹ch tiαΊΏng Việt dΓ nh cho GIT-CORE.
# This file is distributed under the same license as the git-core package.
# Nguyα»…n ThΓ‘i Ngọc Duy <pclouds@gmail.com>, 2012.
-# Trần Ngọc QuÒn <vnwildman@gmail.com>, 2012, 2013, 2014, 2015.
+# Trần Ngọc QuÒn <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016.
#
msgid ""
msgstr ""
-"Project-Id-Version: git v2.7.0-rc0\n"
+"Project-Id-Version: git v2.8.0-rc0\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-11 23:36+0800\n"
-"PO-Revision-Date: 2015-12-12 14:31+0700\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-21 07:14+0700\n"
"Last-Translator: Trần Ngọc QuÒn <vnwildman@gmail.com>\n"
-"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
+"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,7 +36,7 @@ msgstr ""
"vΓ  sau Δ‘Γ³ dΓΉng lệnh β€œgit add/rm <tαΊ­p-tin>”\n"
"dΓ nh riΓͺng cho việc Δ‘Γ‘nh dαΊ₯u cαΊ§n giαΊ£i quyαΊΏt vΓ  tαΊ‘o lαΊ§n chuyển giao."
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "BαΊ‘n chΖ°a kαΊΏt thΓΊc việc hΓ²a trα»™n (MERGE_HEAD vαΊ«n tα»“n tαΊ‘i)."
@@ -80,7 +80,7 @@ msgstr "Δ‘α»‹nh_dαΊ‘ng"
msgid "archive format"
msgstr "Δ‘α»‹nh dαΊ‘ng lΖ°u trα»―"
-#: archive.c:430 builtin/log.c:1228
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "tiền_tα»‘"
@@ -88,10 +88,10 @@ msgstr "tiền_tα»‘"
msgid "prepend prefix to each pathname in the archive"
msgstr "nα»‘i thΓͺm tiền tα»‘ vΓ o tα»«ng đường dαΊ«n tαΊ­p tin trong kho lΖ°u"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536
-#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989
-#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446
-#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548
+#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989
+#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459
+#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561
#: builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "tαΊ­p_tin"
@@ -124,7 +124,7 @@ msgstr "nén nhỏ hƑn"
msgid "list supported archive formats"
msgstr "liệt kΓͺ cΓ‘c kiểu nΓ©n được hα»— trợ"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "kho"
@@ -132,7 +132,7 @@ msgstr "kho"
msgid "retrieve the archive from remote repository <repo>"
msgstr "nhαΊ­n kho nΓ©n tα»« kho chα»©a <kho> trΓͺn mΓ‘y chα»§"
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr "lệnh"
@@ -140,7 +140,7 @@ msgstr "lệnh"
msgid "path to the remote git-upload-archive command"
msgstr "đường dαΊ«n Δ‘αΊΏn lệnh git-upload-pack trΓͺn mΓ‘y chα»§"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
@@ -148,84 +148,101 @@ msgstr ""
"CΓ‘c mαΊ«u dαΊ‘ng phα»§ Δ‘α»‹nh bα»‹ cαΊ₯m dΓΉng cho cΓ‘c thuα»™c tΓ­nh cα»§a git\n"
"DΓΉng β€œ\\!” cho cΓ‘c chuα»—i vΔƒn bαΊ£n cΓ³ dαΊ₯u chαΊ₯m than dαΊ«n Δ‘αΊ§u."
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"Sau khi sα»­a nguyΓͺn nhΓ’n lα»—i bαΊ‘n cΓ³ lαΊ» cαΊ§n thα»­ sα»­a\n"
+"thΓ΄ng tin theo dΓ΅i mΓ‘y chα»§ bαΊ±ng cΓ‘ch gọi lệnh\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "ChΖ°a cΓ i Δ‘αΊ·t nhΓ‘nh %s nhΖ° lΓ  thượng nguα»“n cα»§a nΓ³."
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr "NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i nhΓ‘nh mΓ‘y chα»§ %s tα»« %s bαΊ±ng cΓ‘ch rebase."
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr "NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i nhΓ‘nh mΓ‘y chα»§ %s tα»« %s."
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr "NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i nhΓ‘nh nα»™i bα»™ %s bαΊ±ng cΓ‘ch rebase."
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i nhΓ‘nh nα»™i bα»™ %s."
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr "NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i nhΓ‘nh mΓ‘y chα»§ %s bαΊ±ng cΓ‘ch rebase."
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i tham chiαΊΏu mΓ‘y chα»§ %s."
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr ""
"NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i vαΊΏt tham chiαΊΏu nα»™i bα»™ %s bαΊ±ng cΓ‘ch rebase."
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "NhΓ‘nh %s cΓ i Δ‘αΊ·t để theo dΓ΅i tham chiαΊΏu nα»™i bα»™ %s."
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "KhΓ΄ng thể ghi cαΊ₯u hΓ¬nh nhΓ‘nh thượng nguα»“n"
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr "KhΓ΄ng theo dΓ΅i: thΓ΄ng tin chΖ°a rΓ΅ rΓ ng cho tham chiαΊΏu %s"
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "β€œ%s” khΓ΄ng phαΊ£i lΓ  mα»™t tΓͺn nhΓ‘nh hợp lệ."
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "Đã cΓ³ nhΓ‘nh mang tΓͺn β€œ%s”."
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "KhΓ΄ng thể Γ©p buα»™c cαΊ­p nhαΊ­t nhΓ‘nh hiện hΓ nh."
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr ""
"KhΓ΄ng thể cΓ i Δ‘αΊ·t thΓ΄ng tin theo dΓ΅i; Δ‘iểm bαΊ―t Δ‘αΊ§u β€œ%s” khΓ΄ng phαΊ£i lΓ  mα»™t "
"nhΓ‘nh."
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "nhΓ‘nh thượng nguα»“n Δ‘Γ£ yΓͺu cαΊ§u β€œ%s” khΓ΄ng tα»“n tαΊ‘i"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -245,22 +262,22 @@ msgstr ""
"sαΊ½ theo dΓ΅i bαΊ£n Δ‘α»‘i chiαΊΏu mΓ‘y chα»§ cα»§a nΓ³, bαΊ‘n cαΊ§n dΓΉng lệnh\n"
"\"git push -u\" để Δ‘αΊ·t cαΊ₯u hΓ¬nh thượng nguα»“n bαΊ‘n muα»‘n push."
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "KhΓ΄ng phαΊ£i tΓͺn Δ‘α»‘i tượng hợp lệ: β€œ%s”."
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "TΓͺn Δ‘α»‘i tượng chΖ°a rΓ΅ rΓ ng: β€œ%s”."
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "NhΓ‘nh khΓ΄ng hợp lệ: β€œ%s”."
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "β€œ%s” Δ‘Γ£ sαΊ΅n được lαΊ₯y ra tαΊ‘i β€œ%s”"
@@ -284,10 +301,10 @@ msgstr "khΓ΄ng thể mở β€œ%s”"
msgid "Repository lacks these prerequisite commits:"
msgstr "Kho chα»©a thiαΊΏu nhα»―ng lαΊ§n chuyển giao tiΓͺn quyαΊΏt nΓ y:"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1456 builtin/log.c:1689 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "cΓ i Δ‘αΊ·t việc di chuyển qua cΓ‘c Δ‘iểm xΓ©t duyệt gαΊ·p lα»—i"
@@ -324,7 +341,7 @@ msgstr "rev-list Δ‘Γ£ chαΊΏt"
msgid "ref '%s' is excluded by the rev-list options"
msgstr "th.chiαΊΏu β€œ%s” bα»‹ loαΊ‘i trα»« bởi cΓ‘c tΓΉy chọn rev-list"
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1366 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "Δ‘α»‘i sα»‘ khΓ΄ng được thα»«a nhαΊ­n: %s"
@@ -347,8 +364,8 @@ msgstr "mα»₯c lα»₯c gΓ³i Δ‘Γ£ chαΊΏt"
msgid "invalid color value: %.*s"
msgstr "giΓ‘ trα»‹ mΓ u khΓ΄ng hợp lệ: %.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "khΓ΄ng thể phΓ’n tΓ­ch cΓΊ phΓ‘p %s"
@@ -362,59 +379,64 @@ msgstr "%s %s khΓ΄ng phαΊ£i lΓ  mα»™t lαΊ§n chuyển giao!"
msgid "memory exhausted"
msgstr "hαΊΏt bα»™ nhα»›"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "tαΊ­p tin cαΊ₯u hΓ¬nh sai tαΊ‘i dΓ²ng %d trong %s"
+msgid "bad config line %d in %s %s"
+msgstr "tαΊ­p tin cαΊ₯u hΓ¬nh sai tαΊ‘i dΓ²ng %d trong %s %s"
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "sai giΓ‘ trα»‹ bαΊ±ng sα»‘ cα»§a cαΊ₯u hΓ¬nh β€œ%s” cho β€œ%s” trong %s: %s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "sai giΓ‘ trα»‹ bαΊ±ng sα»‘ cα»§a cαΊ₯u hΓ¬nh β€œ%s” cho β€œ%s” trong %s %s: %s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "sai giΓ‘ trα»‹ bαΊ±ng sα»‘ cα»§a cαΊ₯u hΓ¬nh β€œ%s” cho β€œ%s”: %s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "gαΊ·p lα»—i mở rα»™ng thΖ° mα»₯c người dΓΉng trong: β€œ%s”"
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "mα»©c nΓ©n zlib %d lΓ  sai"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "chαΊΏ Δ‘α»™ khΓ΄ng hợp lệ Δ‘α»‘i vα»›i việc tαΊ‘o Δ‘α»‘i tượng: %s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr "khΓ΄ng thể phΓ’n tΓ­ch cαΊ₯u hΓ¬nh dΓ²ng lệnh"
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr "Δ‘Γ£ cΓ³ lα»—i chΖ°a biαΊΏt xαΊ£y ra trong khi đọc cΓ‘c tαΊ­p tin cαΊ₯u hΓ¬nh"
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr "khΓ΄ng thể phΓ’n tΓ­ch β€œ%s” tα»« cαΊ₯u hΓ¬nh dΓ²ng lệnh"
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr "sai biαΊΏn cαΊ₯u hΓ¬nh β€œ%s” trong tαΊ­p tin β€œ%s” tαΊ‘i dΓ²ng %d"
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s cΓ³ Δ‘a giΓ‘ trα»‹"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "KhΓ΄ng thể Δ‘αΊ·t β€œ%s” thΓ nh β€œ%s”"
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "KhΓ΄ng thể chαΊ‘y β€œgit rev-list”"
@@ -521,16 +543,16 @@ msgstr ""
"TΓ¬m thαΊ₯y cΓ‘c lα»—i trong biαΊΏn cαΊ₯u hΓ¬nh β€œdiff.dirstat”:\n"
"%s"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "phαΊ§n mềm diff ở bΓͺn ngoΓ i Δ‘Γ£ chαΊΏt, dα»«ng tαΊ‘i %s"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow cαΊ§n chΓ­nh xΓ‘c mα»™t Δ‘αΊ·c tαΊ£ đường dαΊ«n"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
@@ -539,18 +561,18 @@ msgstr ""
"GαΊ·p lα»—i khi phΓ’n tΓ­ch Δ‘α»‘i sα»‘ tΓΉy chọn --dirstat/-X:\n"
"%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "GαΊ·p lα»—i khi phΓ’n tΓ­ch Δ‘α»‘i sα»‘ tΓΉy chọn --submodule: β€œ%s”"
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "gαΊ·p lα»—i khi lαΊ₯y tΓͺn vΓ  thΓ΄ng tin cα»§a nhΓ’n"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "Bα»™ nhα»› tαΊ‘m khΓ΄ng theo vαΊΏt bα»‹ tαΊ―t trΓͺn hệ thα»‘ng nΓ y."
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "Bα»™ nhα»› tαΊ‘m khΓ΄ng theo vαΊΏt bα»‹ tαΊ―t trΓͺn hệ thα»‘ng hay vα»‹ trΓ­ nΓ y."
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -589,20 +611,20 @@ msgstr "β€œ%s”: %s"
msgid "'%s': short read %s"
msgstr "β€œ%s”: đọc ngαΊ―n %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr "cΓ‘c lệnh git sαΊ΅n cΓ³ trong thΖ° mα»₯c β€œ%s”:"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr "cΓ‘c lệnh git sαΊ΅n cΓ³ tα»« mα»™t nΖ‘i khΓ‘c trong $PATH cα»§a bαΊ‘n"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr "CΓ³ cΓ‘c lệnh Git chung được sα»­ dα»₯ng trong cΓ‘c tΓ¬nh huα»‘ng khΓ‘c nhau:"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
@@ -611,11 +633,11 @@ msgstr ""
"β€œ%s” trΓ΄ng nhΖ° lΓ  mα»™t lệnh git, nhΖ°ng chΓΊng tΓ΄i khΓ΄ng\n"
"thể thα»±c thi nΓ³. CΓ³ lαΊ½ lΓ  lệnh git-%s Δ‘Γ£ bα»‹ hỏng?"
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr "Ối chΓ . Hệ thα»‘ng cα»§a bαΊ‘n bΓ‘o rαΊ±ng chαΊ³ng cΓ³ lệnh Git nΓ o cαΊ£."
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -624,17 +646,17 @@ msgstr ""
"CαΊ’NH BÁO: BαΊ‘n Δ‘Γ£ gọi lệnh Git cΓ³ tΓͺn β€œ%s”, mΓ  nΓ³ lαΊ‘i khΓ΄ng cΓ³ sαΊ΅n.\n"
"TiαΊΏp tα»₯c vΓ  coi rαΊ±ng Γ½ bαΊ‘n lΓ  β€œ%s”"
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "trong %0.1f giΓ’y mα»™t cΓ‘ch tα»± Δ‘α»™ng…"
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr "git: β€œ%s” khΓ΄ng phαΊ£i lΓ  mα»™t lệnh cα»§a git. Xem β€œgit --help”."
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -645,7 +667,7 @@ msgstr[0] ""
"\n"
"CΓ³ phαΊ£i Γ½ bαΊ‘n lΓ  mα»™t trong sα»‘ nhα»―ng cΓ‘i nΓ y khΓ΄ng?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s: %s - %s"
@@ -654,8 +676,8 @@ msgstr "%s: %s - %s"
msgid "failed to read the cache"
msgstr "gαΊ·p lα»—i khi đọc bα»™ nhα»› đệm"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "khΓ΄ng thể ghi tαΊ­p tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»›i"
@@ -673,64 +695,64 @@ msgstr "addinfo_cache gαΊ·p lα»—i Δ‘α»‘i vα»›i đường dαΊ«n β€œ%s”"
msgid "error building trees"
msgstr "gαΊ·p lα»—i khi xΓ’y dα»±ng cΓ’y"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "gαΊ·p lα»—i khi tαΊ‘o đường dαΊ«n β€œ%s”%s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr "Gα»‘ bỏ %s để tαΊ‘o chα»— (room) cho thΖ° mα»₯c con\n"
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr ": cΓ³ lαΊ½ lΓ  mα»™t xung Δ‘α»™t D/F?"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "tα»« chα»‘i Δ‘Γ³ng tαΊ­p tin khΓ΄ng được theo dΓ΅i tαΊ‘i β€œ%s”"
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "khΓ΄ng thể đọc Δ‘α»‘i tượng %s β€œ%s”"
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "Δ‘α»‘i tượng blob được mong đợi cho %s β€œ%s”"
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "gαΊ·p lα»—i khi mở β€œ%s”"
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "gαΊ·p lα»—i khi tαΊ‘o liΓͺn kαΊΏt mềm (symlink) β€œ%s”"
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "khΓ΄ng hiểu phαΊ£i lΓ m gΓ¬ vα»›i %06o %s β€œ%s”"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "GαΊ·p lα»—i khi thα»±c hiện trα»™n nα»™i bα»™"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "KhΓ΄ng thể thΓͺm %s vΓ o cΖ‘ sở dα»― liệu"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "kiểu Δ‘α»‘i tượng khΓ΄ng được hα»— trợ trong cΓ’y (tree)"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -739,7 +761,7 @@ msgstr ""
"XUNG ĐỘT (%s/xΓ³a): %s bα»‹ xΓ³a trong %s vΓ  %s trong %s. PhiΓͺn bαΊ£n %s cα»§a %s "
"cΓ²n lαΊ‘i trong cΓ’y (tree)."
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -748,20 +770,20 @@ msgstr ""
"XUNG ĐỘT (%s/xΓ³a): %s bα»‹ xΓ³a trong %s vΓ  %s trong %s. PhiΓͺn bαΊ£n %s cα»§a %s "
"cΓ²n lαΊ‘i trong cΓ’y (tree) tαΊ‘i %s."
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "Δ‘α»•i tΓͺn"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "Δ‘Γ£ Δ‘α»•i tΓͺn"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr "%s lΓ  mα»™t thΖ° mα»₯c trong %s thay vΓ o Δ‘Γ³ thΓͺm vΓ o nhΖ° lΓ  %s"
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -770,145 +792,145 @@ msgstr ""
"XUNG ĐỘT (Δ‘α»•i-tΓͺn/Δ‘α»•i-tΓͺn): Đổi tΓͺn \"%s\"->\"%s\" trong nhΓ‘nh \"%s\" Δ‘α»•i "
"tΓͺn \"%s\"->\"%s\" trong \"%s\"%s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr " (cαΊ§n giαΊ£i quyαΊΏt)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
"XUNG ĐỘT (Δ‘α»•i-tΓͺn/Δ‘α»•i-tΓͺn): Đổi tΓͺn %s->%s trong %s. Đổi tΓͺn %s->%s trong %s"
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "Đang Δ‘α»•i tΓͺn %s thΓ nh %s thay vΓ¬ %s thΓ nh %s"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr ""
"XUNG ĐỘT (Δ‘α»•i-tΓͺn/thΓͺm): Đổi tΓͺn %s->%s trong %s. %s được thΓͺm vΓ o trong %s"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "ThΓͺm hΓ²a trα»™n %s"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "Thay vΓ o Δ‘Γ³ thΓͺm vΓ o %s"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "khΓ΄ng thể đọc Δ‘α»‘i tượng %s"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "Δ‘α»‘i tượng %s khΓ΄ng phαΊ£i lΓ  mα»™t blob"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "sα»­a Δ‘α»•i"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "Δ‘Γ£ sα»­a"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "nα»™i dung"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "thΓͺm/thΓͺm"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "Đã bỏ qua %s (Δ‘Γ£ cΓ³ sαΊ΅n lαΊ§n hΓ²a trα»™n nΓ y)"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "Tα»±-Δ‘α»™ng-hΓ²a-trα»™n %s"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "mΓ΄-Δ‘un-con"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "XUNG ĐỘT (%s): Xung Δ‘α»™t hΓ²a trα»™n trong %s"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "Đang xóa %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "tαΊ­p-tin/thΖ°-mα»₯c"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "thΖ°-mα»₯c/tαΊ­p-tin"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr ""
"XUNG ĐỘT (%s): Ở Δ‘Γ’y khΓ΄ng cΓ³ thΖ° mα»₯c nΓ o cΓ³ tΓͺn %s trong %s. ThΓͺm %s nhΖ° lΓ  "
"%s"
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "ThΓͺm \"%s\""
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "Việc hΓ²a trα»™n hỏng nghiΓͺm trọng, khΓ΄ng nΓͺn để xαΊ£y ra."
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "Đã cαΊ­p nhαΊ­t rα»“i!"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "hΓ²a trα»™n cΓ‘c cΓ’y %s vΓ  %s gαΊ·p lα»—i"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "Đường dαΊ«n chΖ°a được xα»­ lΓ½??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "Đang trα»™n:"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
msgstr[0] "tΓ¬m thαΊ₯y %u tα»• tiΓͺn chung:"
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "hΓ²a trα»™n khΓ΄ng trαΊ£ về lαΊ§n chuyển giao nΓ o"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "KhΓ΄ng thể phΓ’n tΓ­ch Δ‘α»‘i tượng β€œ%s”"
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "KhΓ΄ng thể ghi bαΊ£ng mα»₯c lα»₯c"
@@ -1027,12 +1049,12 @@ msgstr "Đặc tαΊ£ đường dαΊ«n β€œ%s” thΓ¬ ở trong mΓ΄-Δ‘un-con β€œ%.*s
msgid "%s: pathspec magic not supported by this command: %s"
msgstr "%s: sα»‘ mαΊ§u nhiệm Δ‘αΊ·c tαΊ£ đường dαΊ«n chΖ°a được hα»— trợ bởi lệnh nΓ y: %s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "Δ‘αΊ·c tαΊ£ đường dαΊ«n β€œ%s” vượt ra ngoΓ i liΓͺn kαΊΏt mềm"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1066,164 +1088,249 @@ msgstr ""
"GIT_INDEX_VERSION được Δ‘αΊ·t, nhΖ°ng giΓ‘ trα»‹ cα»§a nΓ³ lαΊ‘i khΓ΄ng hợp lệ.\n"
"DΓΉng phiΓͺn bαΊ£n %i"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "KhΓ΄ng thể mở β€œ%s” để ghi"
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "khΓ΄ng thể xΓ³a bỏ tham chiαΊΏu %s: %s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "khΓ΄ng thể xΓ³a bỏ tham chiαΊΏu: %s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "khΓ΄ng thể gα»‘ bỏ tham chiαΊΏu: %s"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "Δ‘α»‹nh dαΊ‘ng: nguyΓͺn tα»­ %%(end) được dΓΉng mΓ  khΓ΄ng cΓ³ nguyΓͺn tα»­ tΖ°Ζ‘ng α»©ng"
+msgid "expected format: %%(color:<color>)"
+msgstr "cαΊ§n Δ‘α»‹nh dαΊ‘ng: %%(color:<color>)"
+
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "khΓ΄ng nhαΊ­n ra mΓ u: %%(mΓ u:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "khΓ΄ng nhαΊ­n ra Δ‘α»‹nh dαΊ‘ng: %%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) khΓ΄ng nhαΊ­n cΓ‘c Δ‘α»‘i sα»‘"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) khΓ΄ng nhαΊ­n cΓ‘c Δ‘α»‘i sα»‘"
-#: ref-filter.c:704
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "cαΊ§n nα»™i dung mang giΓ‘ trα»‹ dΖ°Ζ‘ng:lines=%s"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "cαΊ§n Δ‘α»‹nh dαΊ‘ng: %%(color:<color>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "Δ‘α»‘i sα»‘ khΓ΄ng được thα»«a nhαΊ­n %%(contents): %s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "khΓ΄ng thể phΓ’n tΓ­ch Δ‘α»‹nh dαΊ‘ng"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "Δ‘α»‘i sα»‘ khΓ΄ng được thα»«a nhαΊ­n %%(objectname): %s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "cαΊ§n Δ‘α»‹nh dαΊ‘ng: %%(align:<width>,<position>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "vα»‹ trΓ­ khΓ΄ng được thα»«a nhαΊ­n:%s"
+
+#: ref-filter.c:151
#, c-format
-msgid "improper format entered align:%s"
-msgstr "Δ‘α»‹nh dαΊ‘ng khΓ΄ng Δ‘ΓΊng chα»— cΔƒn chỉnh:%s"
+msgid "unrecognized width:%s"
+msgstr "chiều rα»™ng khΓ΄ng được thα»«a nhαΊ­n:%s"
-#: ref-filter.c:898
+#: ref-filter.c:157
+#, c-format
+msgid "unrecognized %%(align) argument: %s"
+msgstr "Δ‘α»‘i sα»‘ khΓ΄ng được thα»«a nhαΊ­n %%(align): %s"
+
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "cαΊ§n giΓ‘ trα»‹ Δ‘α»™ rα»™ng dΖ°Ζ‘ng vα»›i nguyΓͺn tα»­ %%(align)"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "tΓͺn trường dα»‹ hΓ¬nh: %.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "khΓ΄ng hiểu tΓͺn trường: %.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "Δ‘α»‹nh dαΊ‘ng: nguyΓͺn tα»­ %%(end) được dΓΉng mΓ  khΓ΄ng cΓ³ nguyΓͺn tα»­ tΖ°Ζ‘ng α»©ng"
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "chuỗi định dẑng dị hình %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= cαΊ§n mα»™t Δ‘α»‘i sα»‘ nguyΓͺn dΖ°Ζ‘ng"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "tham chiαΊΏu β€œ%s” khΓ΄ng cΓ³ %ld thΓ nh phαΊ§n để mΓ  :strip"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "KhΓ΄ng hiểu Δ‘α»‹nh dαΊ‘ng %.*s %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "thiαΊΏu Δ‘α»‘i tượng %s cho %s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer gαΊ·p lα»—i trΓͺn %s cho %s"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr "Δ‘α»‘i tượng dα»‹ hΓ¬nh tαΊ‘i β€œ%s”"
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "Δ‘ang lờ Δ‘i tham chiαΊΏu vα»›i tΓͺn hỏng %s"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "Δ‘ang lờ Δ‘i tham chiαΊΏu hỏng %s"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "Δ‘α»‹nh dαΊ‘ng: thiαΊΏu nguyΓͺn tα»­ %%(end)"
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr "tΓͺn Δ‘α»‘i tượng dα»‹ hΓ¬nh %s"
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr "KhΓ΄ng thể lαΊ₯y về cαΊ£ %s vΓ  %s cho %s"
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s thường theo dái %s, không phải %s"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s theo dΓ΅i cαΊ£ %s vΓ  %s"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "Lα»—i nα»™i bα»™"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEAD khΓ΄ng chỉ Δ‘αΊΏn mα»™t nhΓ‘nh nΓ o cαΊ£"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "khΓ΄ng cΓ³ nhΓ‘nh nΓ o nhΖ° thαΊΏ: β€œ%s”"
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "khΓ΄ng cΓ³ thượng nguα»“n được cαΊ₯u hΓ¬nh cho nhΓ‘nh β€œ%s”"
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr ""
"nhΓ‘nh thượng nguα»“n β€œ%s” khΓ΄ng được lΖ°u lαΊ‘i nhΖ° lΓ  mα»™t nhΓ‘nh theo dΓ΅i mΓ‘y chα»§"
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr "Δ‘αΊ©y lΓͺn Δ‘Γ­ch β€œ%s” trΓͺn mΓ‘y chα»§ β€œ%s” khΓ΄ng cΓ³ nhΓ‘nh theo dΓ΅i nα»™i bα»™"
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "nhΓ‘nh β€œ%s” khΓ΄ng cΓ³ mΓ‘y chα»§ để Δ‘αΊ©y lΓͺn"
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr "Δ‘αΊ©y refspecs cho β€œ%s” khΓ΄ng bao gα»“m β€œ%s”"
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "Δ‘αΊ©y lΓͺn mΓ  khΓ΄ng cΓ³ Δ‘Γ­ch (push.default lΓ  β€œnothing”)"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr "khΓ΄ng thể phΓ’n giαΊ£i Δ‘αΊ©y β€œΔ‘Ζ‘n giαΊ£n” Δ‘αΊΏn mα»™t Δ‘Γ­ch Δ‘Ζ‘n"
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr ""
"NhΓ‘nh cα»§a bαΊ‘n dα»±a trΓͺn cΖ‘ sở lΓ  β€œ%s”, nhΖ°ng trΓͺn thượng nguα»“n khΓ΄ng cΓ²n.\n"
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr " (dΓΉng \" git branch --unset-upstream\" để sα»­a)\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "NhΓ‘nh cα»§a bαΊ‘n Δ‘Γ£ cαΊ­p nhαΊ­t vα»›i β€œ%s”.\n"
-#: remote.c:2094
+#: remote.c:2084
#, 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] "NhΓ‘nh cα»§a bαΊ‘n Δ‘α»©ng trΖ°α»›c β€œ%s” %d lαΊ§n chuyển giao.\n"
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " (dΓΉng \"git push\" để xuαΊ₯t bαΊ£n cΓ‘c lαΊ§n chuyển giao nα»™i bα»™ cα»§a bαΊ‘n)\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1232,11 +1339,11 @@ msgstr[0] ""
"NhΓ‘nh cα»§a bαΊ‘n Δ‘α»©ng Δ‘αΊ±ng sau β€œ%s” %d lαΊ§n chuyển giao, vΓ  cΓ³ thể được chuyển-"
"tiαΊΏp-nhanh.\n"
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr " (dΓΉng \"git pull\" để cαΊ­p nhαΊ­t nhΓ‘nh nα»™i bα»™ cα»§a bαΊ‘n)\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1249,30 +1356,30 @@ msgstr[0] ""
"vΓ  cΓ³ %d vΓ  %d lαΊ§n chuyển giao khΓ‘c nhau cho tα»«ng cΓ‘i,\n"
"tΖ°Ζ‘ng α»©ng vα»›i mα»—i lαΊ§n.\n"
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr ""
" (dΓΉng \"git pull\" để hΓ²a trα»™n nhΓ‘nh trΓͺn mΓ‘y chα»§ vΓ o trong nhΓ‘nh cα»§a "
"bαΊ‘n)\n"
-#: revision.c:2191
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "nhΓ‘nh hiện tαΊ‘i cα»§a bαΊ‘n cΓ³ vαΊ» nhΖ° bα»‹ hỏng"
-#: revision.c:2194
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr "nhΓ‘nh hiện tαΊ‘i cα»§a bαΊ‘n β€œ%s” khΓ΄ng cΓ³ mα»™t lαΊ§n chuyển giao nΓ o cαΊ£"
-#: revision.c:2388
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "--first-parent xung khαΊ―c vα»›i --bisect"
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "gαΊ·p lα»—i khi mở β€œ/dev/null”"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "dup2(%d,%d) gαΊ·p lα»—i"
@@ -1297,7 +1404,7 @@ msgstr ""
msgid "the receiving end does not support --atomic push"
msgstr "kαΊΏt thΓΊc nhαΊ­n khΓ΄ng hα»— trợ Δ‘αΊ©y --atomic"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
@@ -1305,7 +1412,7 @@ msgstr ""
"sau khi giαΊ£i quyαΊΏt cΓ‘c xung Δ‘α»™t, Δ‘Γ‘nh dαΊ₯u đường dαΊ«n Δ‘Γ£ sα»­a\n"
"vα»›i lệnh β€œgit add <đường_dαΊ«n>” hoαΊ·c β€œgit rm <đường_dαΊ«n>”"
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1315,67 +1422,67 @@ msgstr ""
"vα»›i lệnh β€œgit add <đường_dαΊ«n>” hoαΊ·c β€œgit rm <đường_dαΊ«n>”\n"
"vΓ  chuyển giao kαΊΏt quαΊ£ bαΊ±ng lệnh β€œgit commit”"
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "KhΓ΄ng thể ghi vΓ o %s"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "Lα»—i bao bọc %s"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr "CΓ‘c thay Δ‘α»•i nα»™i bα»™ cα»§a bαΊ‘n cΓ³ thể bα»‹ ghi Δ‘Γ¨ bởi lệnh cherry-pick."
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "CΓ‘c thay Δ‘α»•i nα»™i bα»™ cα»§a bαΊ‘n cΓ³ thể bα»‹ ghi Δ‘Γ¨ bởi lệnh hoΓ n nguyΓͺn."
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr "Chuyển giao cΓ‘c thay Δ‘α»•i cα»§a bαΊ‘n hay tαΊ‘m cαΊ₯t (stash) chΓΊng để xα»­ lΓ½."
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%s: KhΓ΄ng thể ghi tαΊ­p tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»›i"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "KhΓ΄ng thể phΓ’n giαΊ£i lαΊ§n chuyển giao HEAD\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "KhΓ΄ng thể cαΊ­p nhαΊ­t cΓ’y bα»™ nhα»› đệm\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "KhΓ΄ng thể phΓ’n tΓ­ch lαΊ§n chuyển giao %s\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "KhΓ΄ng thể phΓ’n tΓ­ch lαΊ§n chuyển giao cha mαΊΉ β€œ%s”\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "TαΊ­p tin lΖ°u mα»₯c lα»₯c cα»§a bαΊ‘n khΓ΄ng được hΓ²a trα»™n."
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr "LαΊ§n chuyển giao %s lΓ  mα»™t lαΊ§n hΓ²a trα»™n nhΖ°ng khΓ΄ng Δ‘Ζ°a ra tΓΉy chọn -m."
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "LαΊ§n chuyển giao %s khΓ΄ng cΓ³ cha mαΊΉ %d"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr ""
@@ -1384,162 +1491,177 @@ msgstr ""
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%s: khΓ΄ng thể phΓ’n tΓ­ch lαΊ§n chuyển giao mαΊΉ cα»§a %s"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "KhΓ΄ng thể lαΊ₯y ghi chΓΊ lαΊ§n chuyển giao cho %s"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "khΓ΄ng thể hoΓ n nguyΓͺn %s… %s"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "khΓ΄ng thể Γ‘p dα»₯ng miαΊΏng vΓ‘ %s… %s"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "lαΊ§n chuyển giao trα»‘ng rα»—ng Δ‘αΊ·t lΓ  hợp quy cΓ‘ch"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %s: gαΊ·p lα»—i đọc bαΊ£ng mα»₯c lα»₯c"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %s: gαΊ·p lα»—i khi lΓ m tΖ°Ζ‘i mα»›i bαΊ£ng mα»₯c lα»₯c"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "KhΓ΄ng thể %s trong khi %s"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "KhΓ΄ng phΓ’n tΓ­ch được dΓ²ng %d."
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "KhΓ΄ng cΓ³ lαΊ§n chuyển giao nΓ o được phΓ’n tΓ­ch."
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "KhΓ΄ng thể mở %s"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "KhΓ΄ng thể đọc %s."
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "BαΊ£ng chỉ thα»‹ khΓ΄ng thể dΓΉng được: %s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "KhΓ³a khΓ΄ng Δ‘ΓΊng: %s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "GiΓ‘ trα»‹ khΓ΄ng hợp lệ %s: %s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr "BαΊ£ng tΓΉy chọn dα»‹ hΓ¬nh: %s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "cΓ³ mα»™t thao tΓ‘c β€œcherry-pick” hoαΊ·c β€œrevert” Δ‘ang được thα»±c hiện"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "hΓ£y thα»­ \"git cherry-pick (--continue | --quit | --abort)\""
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "KhΓ΄ng thể tαΊ‘o thΖ° mα»₯c xαΊΏp dΓ£y %s"
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "Lα»—i bao bọc %s."
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "khΓ΄ng cherry-pick hay hoΓ n nguyΓͺn trong tiαΊΏn trΓ¬nh"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "khΓ΄ng thể phΓ’n giαΊ£i HEAD"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "khΓ΄ng thể hα»§y bỏ tα»« mα»™t nhΓ‘nh mΓ  nΓ³ cΓ²n chΖ°a được tαΊ‘o ra"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "khΓ΄ng thể mở %s: %s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "khΓ΄ng thể đọc %s: %s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "gαΊ·p kαΊΏt thΓΊc tαΊ­p tin Δ‘α»™t xuαΊ₯t"
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr "tαΊ­p tin HEAD β€œpre-cherry-pick” Δ‘Γ£ lΖ°u β€œ%s” bα»‹ hỏng"
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "KhΓ΄ng thể Δ‘α»‹nh dαΊ‘ng β€œ%s”."
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%s: khΓ΄ng thể cherry-pick mα»™t %s"
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%s: Δ‘iểm xΓ©t duyệt sai"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "KhΓ΄ng thể hoΓ n nguyΓͺn mα»™t lαΊ§n chuyển giao khởi tαΊ‘o"
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr "KhΓ΄ng thể cherry-pick vΓ o mα»™t Δ‘αΊ§u (head) trα»‘ng rα»—ng"
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "gαΊ·p lα»—i khi đọc %s"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "vα»‹ trΓ­ tΖ°Ζ‘ng Δ‘α»‘i trΖ°α»›c Δ‘iểm kαΊΏt thΓΊc cα»§a tαΊ­p tin gΓ³i (.idx hỏng Γ ?)"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "vα»‹ trΓ­ tΖ°Ζ‘ng Δ‘α»‘i nαΊ±m trΖ°α»›c chỉ mα»₯c gΓ³i cho %s (mα»₯c lα»₯c bα»‹ hỏng Γ ?)"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr ""
+"vα»‹ trΓ­ tΖ°Ζ‘ng Δ‘α»‘i vượt quΓ‘ cuα»‘i cα»§a chỉ mα»₯c gΓ³i cho %s (mα»₯c lα»₯c bα»‹ cαΊ―t cα»₯t Γ ?)"
+
+#: sha1_name.c:462
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"
@@ -1563,62 +1685,86 @@ msgstr ""
"nΓ y\n"
"bαΊ±ng cΓ‘ch chαΊ‘y lệnh \"git config advice.objectNameWarning false\""
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr ""
"KhΓ΄ng thể thay Δ‘α»•i .gitmodules chΖ°a hΓ²a trα»™n, hΓ£y giαΊ£i quyαΊΏt xung Δ‘α»™t trα»™n "
"trΖ°α»›c"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "KhΓ΄ng thể tΓ¬m thαΊ₯y phαΊ§n trong .gitmodules nΖ‘i mΓ  đường_dαΊ«n=%s"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr "KhΓ΄ng thể cαΊ­p nhαΊ­t mα»₯c .gitmodules %s"
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "KhΓ΄ng thể gα»‘ bỏ mα»₯c .gitmodules dΓ nh cho %s"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "gαΊ·p lα»—i khi tα»• chα»©c .gitmodules Δ‘Γ£ cαΊ­p nhαΊ­t"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "KhΓ΄ng thể Δ‘αΊ·t β€œcore.worktree” trong β€œ%s”."
+msgid "running trailer command '%s' failed"
+msgstr "chαΊ‘y lệnh kΓ©o theo β€œ%s” gαΊ·p lα»—i"
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "khΓ΄ng hiểu giΓ‘ trα»‹ β€œ%s” cho khΓ³a β€œ%s”"
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "nhiều hΖ‘n mα»™t %s"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "thαΊ» thα»«a trα»‘ng rα»—ng trong phαΊ§n thα»«a β€œ%.*s”"
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "khΓ΄ng đọc được tαΊ­p tin Δ‘αΊ§u vΓ o β€œ%s”"
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "khΓ΄ng thể đọc tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "khΓ΄ng thể lαΊ₯y thΓ΄ng tin thα»‘ng kΓͺ về %s"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "\"%s\" không phải là tập tin bình thường"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "tαΊ­p tin %s người dΓΉng khΓ΄ng thể ghi được"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "khΓ΄ng thể tαΊ‘o tαΊ­p tin tαΊ‘m thời"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "khΓ΄ng thể Δ‘α»•i tΓͺn tαΊ­p tin tαΊ‘m thời thΓ nh %s"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "KhΓ΄ng thể đọc tham chiαΊΏu %s"
@@ -1656,56 +1802,47 @@ msgstr "tΓͺn cα»•ng khΓ΄ng hợp lệ"
msgid "invalid '..' path segment"
msgstr "Δ‘oαΊ‘n đường dαΊ«n β€œ..” khΓ΄ng hợp lệ"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "khΓ΄ng thể mở β€œ%s” để đọc vΓ  ghi"
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "khΓ΄ng thể mở β€œ%s” để ghi"
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "khΓ΄ng thể mở β€œ%s” để đọc"
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "khΓ΄ng thể truy cαΊ­p β€œ%s”: %s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "khΓ΄ng thể truy cαΊ­p β€œ%s”"
-#: wrapper.c:611
-#, c-format
-msgid "unable to look up current user in the passwd file: %s"
-msgstr "khΓ΄ng tΓ¬m thαΊ₯y người dΓΉng hiện tαΊ‘i trong tαΊ­p tin passwd: %s"
-
-#: wrapper.c:612
-msgid "no such user"
-msgstr "không có người dùng như vậy"
-
-#: wrapper.c:620
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "KhΓ΄ng thể lαΊ₯y thΖ° mα»₯c lΓ m việc hiện hΓ nh"
-#: wrapper.c:647
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "khΓ΄ng thể mở %s để ghi"
-#: wrapper.c:658 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "khΓ΄ng thể ghi vΓ o %s"
-#: wrapper.c:664
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "khΓ΄ng thể Δ‘Γ³ng %s"
@@ -2188,7 +2325,11 @@ msgstr "Δ‘Γ£ ra Δ‘i"
msgid "behind "
msgstr "Δ‘αΊ±ng sau "
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "phΓ­a trΖ°α»›c "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "gαΊ·p lα»—i khi bỏ liΓͺn kαΊΏt (unlink) β€œ%s”"
@@ -2216,7 +2357,7 @@ msgid "Unstaged changes after refreshing the index:"
msgstr ""
"Đưa ra khỏi bệ phΓ³ng cΓ‘c thay Δ‘α»•i sau khi lΓ m tΖ°Ζ‘i mα»›i lαΊ‘i bαΊ£ng mα»₯c lα»₯c:"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "KhΓ΄ng thể đọc bαΊ£ng mα»₯c lα»₯c"
@@ -2253,15 +2394,15 @@ msgstr ""
"CΓ‘c đường dαΊ«n theo sau Δ‘Γ’y sαΊ½ bα»‹ lờ Δ‘i bởi mα»™t trong cΓ‘c tαΊ­p tin .gitignore "
"cα»§a bαΊ‘n:\n"
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:545
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "chαΊ‘y thα»­"
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1640 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "chi tiαΊΏt"
@@ -2269,7 +2410,7 @@ msgstr "chi tiαΊΏt"
msgid "interactive picking"
msgstr "sα»­a bαΊ±ng cΓ‘ch tΖ°Ζ‘ng tΓ‘c"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "chọn β€œhunks” theo kiểu tΖ°Ζ‘ng tΓ‘c"
@@ -2340,137 +2481,132 @@ msgstr "KhΓ΄ng cΓ³ gΓ¬ được chỉ ra, khΓ΄ng cΓ³ gΓ¬ được thΓͺm vΓ o.\n"
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "CΓ³ lαΊ½ Γ½ bαΊ‘n lΓ  β€œgit add .” phαΊ£i khΓ΄ng?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "tαΊ­p tin ghi bαΊ£ng mα»₯c lα»₯c bα»‹ hỏng"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "KhΓ΄ng thể ghi tαΊ­p tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»›i"
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "khΓ΄ng thể lαΊ₯y thΓ΄ng tin thα»‘ng kΓͺ về %s"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "KhΓ΄ng thể đọc β€œ%s”."
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "khΓ΄ng thể phΓ’n tΓ­ch cΓΊ phΓ‘p vΔƒn lệnh tΓ‘c giαΊ£"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "β€œ%s” bα»‹ xΓ³a bởi mΓ³c applypatch-msg"
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr "DΓ²ng Δ‘αΊ§u vΓ o dα»‹ hΓ¬nh: β€œ%s”."
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "GαΊ·p lα»—i khi sao chΓ©p ghi chΓΊ (note) tα»« β€œ%s” tα»›i β€œ%s”"
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "fseek gαΊ·p lα»—i"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "khΓ΄ng thể mở β€œ%s” để đọc: %s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "KhΓ΄ng thể mở β€œ%s” để ghi: %s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "khΓ΄ng thể phΓ’n tΓ­ch cΓΊ phΓ‘p β€œ%s”"
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr "Chỉ cΓ³ mα»™t sΓͺ-ri miαΊΏng vΓ‘ StGIT được Γ‘p dα»₯ng mα»™t lΓΊc"
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "dαΊ₯u thời gian khΓ΄ng hợp lệ"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "dΓ²ng NgΓ y thΓ‘ng khΓ΄ng hợp lệ"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "Δ‘α»™ lệch mΓΊi giờ khΓ΄ng hợp lệ"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "Dò tìm định dẑng miếng vÑ gặp lỗi."
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "tαΊ‘o thΖ° mα»₯c \"%s\" gαΊ·p lα»—i"
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "GαΊ·p lα»—i khi chia nhỏ cΓ‘c miαΊΏng vΓ‘."
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "khΓ΄ng thể ghi tαΊ­p tin lΖ°u mα»₯c lα»₯c"
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr "Khi bαΊ‘n Δ‘Γ£ phΓ’n giαΊ£i xong trα»₯c trαΊ·c nΓ y, hΓ£y chαΊ‘y \"%s --continue\"."
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr ""
"NαΊΏu bαΊ‘n muα»‘n bỏ qua miαΊΏng vΓ‘ nΓ y, hΓ£y chαΊ‘y lệnh \"%s --skip\" để thay thαΊΏ."
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr "Để phα»₯c hα»“i lαΊ‘i nhΓ‘nh gα»‘c vΓ  dα»«ng vΓ‘, hΓ£y chαΊ‘y \"%s --abort\"."
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "MiαΊΏng vΓ‘ trα»‘ng rα»—ng. QuΓ‘ trΓ¬nh chia nhỏ miαΊΏng vΓ‘ cΓ³ lα»—i?"
-#: builtin/am.c:1417 builtin/log.c:1344
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "dΓ²ng thα»₯t lề khΓ΄ng hợp lệ: %s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "khΓ΄ng thể phΓ’n tΓ­ch lαΊ§n chuyển giao β€œ%s”"
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr "Kho thiαΊΏu Δ‘α»‘i tượng blob cαΊ§n thiαΊΏt để trở về trΓͺn β€œ3-way merge”."
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr ""
"Sα»­ dα»₯ng thΓ΄ng tin trong bαΊ£ng mα»₯c lα»₯c để cαΊ₯u trΓΊc lαΊ‘i mα»™t cΓ’y (tree) cΖ‘ sα»Ÿβ€¦"
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
@@ -2478,38 +2614,38 @@ msgstr ""
"Bẑn đã sửa miếng vÑ của mình bằng cÑch thủ công à?\n"
"NΓ³ khΓ΄ng thể Γ‘p dα»₯ng cΓ‘c blob Δ‘Γ£ được ghi lαΊ‘i trong bαΊ£ng mα»₯c lα»₯c cα»§a nΓ³."
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr "Đang trở lαΊ‘i để vΓ‘ cΖ‘ sở vΓ  β€œhΓ²a trα»™n 3-đường”…"
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "GαΊ·p lα»—i khi trα»™n vΓ o cΓ‘c thay Δ‘α»•i."
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "lệnh git write-tree gαΊ·p lα»—i khi ghi mα»™t cΓ’y"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "Γ‘p dα»₯ng vΓ o mα»™t lα»‹ch sα»­ trα»‘ng rα»—ng"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "gαΊ·p lα»—i khi ghi Δ‘α»‘i tượng chuyển giao"
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "khΓ΄ng thể phα»₯c hα»“i: %s khΓ΄ng tα»“n tαΊ‘i."
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr ""
"khΓ΄ng thể được tΖ°Ζ‘ng tΓ‘c mΓ  khΓ΄ng cΓ³ stdin kαΊΏt nα»‘i vα»›i mα»™t thiαΊΏt bα»‹ cuα»‘i"
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "ThΓ’n cα»§a lαΊ§n chuyển giao lΓ :"
@@ -2517,37 +2653,37 @@ msgstr "ThΓ’n cα»§a lαΊ§n chuyển giao lΓ :"
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr ""
"Áp dα»₯ng? Δ‘α»“ng Γ½ [y]/khΓ΄[n]g/chỉnh sα»­a [e]/hiển thα»‹ miαΊΏng [v]Γ‘/chαΊ₯p nhαΊ­n tαΊ₯t "
"cαΊ£ [a]: "
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "BαΊ£ng mα»₯c lα»₯c bαΊ©n: khΓ΄ng thể Γ‘p dα»₯ng cΓ‘c miαΊΏng vΓ‘ (bαΊ©n: %s)"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "Áp dα»₯ng: %.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "KhΓ΄ng thay Δ‘α»•i gΓ¬ cαΊ£ -- MiαΊΏng vΓ‘ Δ‘Γ£ được Γ‘p dα»₯ng rα»“i."
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "GαΊ·p lα»—i khi vΓ‘ tαΊ‘i %s %.*s"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "BαΊ£n sao chΓ©p cα»§a miαΊΏng vΓ‘ mΓ  nΓ³ gαΊ·p lα»—i thΓ¬ được tΓ¬m thαΊ₯y trong: %s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
@@ -2558,7 +2694,7 @@ msgstr ""
"Δ‘Γ£ sαΊ΅n được Δ‘Ζ°a vΓ o vα»›i cΓΉng nα»™i dung thay Δ‘α»•i; bαΊ‘n cΓ³ lαΊ½ muα»‘n bỏ qua miαΊΏng "
"vΓ‘ nΓ y."
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
@@ -2566,17 +2702,17 @@ msgstr ""
"BαΊ‘n vαΊ«n cΓ³ nhα»―ng đường dαΊ«n chΖ°a được hΓ²a trα»™n trong bαΊ£ng mα»₯c lα»₯c cα»§a mΓ¬nh.\n"
"BαΊ‘n Δ‘Γ£ quΓͺn sα»­ dα»₯ng lệnh β€œgit add” Γ ?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "khΓ΄ng thể phΓ’n tΓ­ch Δ‘α»‘i tượng β€œ%s”."
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "gαΊ·p lα»—i khi dọn bαΊ£ng mα»₯c lα»₯c"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
@@ -2584,153 +2720,153 @@ msgstr ""
"BαΊ‘n cΓ³ lαΊ½ Δ‘Γ£ cΓ³ HEAD Δ‘Γ£ bα»‹ di chuyển Δ‘i kể tα»« lαΊ§n β€œam” thαΊ₯t bαΊ‘i cuα»‘i cΓΉng.\n"
"KhΓ΄ng thể chuyển tα»›i ORIG_HEAD"
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "GiΓ‘ trα»‹ khΓ΄ng hợp lệ cho --patch-format: %s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<cΓ‘c-tΓΉy-chọn>] [(<mbox>|<Maildir>)…]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<cÑc-tùy-chọn>] (--continue | --skip | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "chαΊ‘y kiểu tΖ°Ζ‘ng tΓ‘c"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "tΓΉy chọn lα»‹ch sα»­ -- khΓ΄ng-toΓ‘n-tα»­"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "cho phΓ©p quay trở lαΊ‘i để hΓ²a trα»™n kiểu β€œ3way” nαΊΏu cαΊ§n"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "im lαΊ·ng"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr "ThΓͺm dΓ²ng Signed-off-by cho ghi chΓΊ cα»§a lαΊ§n chuyển giao"
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "chuyển mΓ£ thΓ nh utf8 (mαΊ·c Δ‘α»‹nh)"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "chuyển cờ -k cho git-mailinfo"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "chuyển cờ -b cho git-mailinfo"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "chuyển cờ -m cho git-mailinfo"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr "chuyển cờ --keep-cr cho git-mailsplit vα»›i Δ‘α»‹nh dαΊ‘ng mbox"
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr ""
"Δ‘α»«ng chuyển cờ --keep-cr cho git-mailsplit khΓ΄ng phα»₯ thuα»™c vΓ o am.keepcr"
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "cαΊ―t mọi thα»© trΖ°α»›c dΓ²ng scissors"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "hΓ nh Δ‘α»™ng"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "chuyển nΓ³ qua git-apply"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "gα»‘c"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "đường-dαΊ«n"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185
#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
#: parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "n"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "sα»‘"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "Δ‘α»‹nh dαΊ‘ng"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "Δ‘α»‹nh dαΊ‘ng (cΓ‘c) miαΊΏng vΓ‘ theo"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr "Δ‘Γ¨ lΓͺn cΓ‘c lời nhαΊ―n lα»—i khi xαΊ£y ra lα»—i vΓ‘ nghiΓͺm trọng"
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "tiαΊΏp tα»₯c Γ‘p dα»₯ng cΓ‘c miαΊΏng vΓ‘ sau khi giαΊ£i quyαΊΏt xung Δ‘α»™t"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr "Δ‘α»“ng nghΔ©a vα»›i --continue"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "bỏ qua miαΊΏng vΓ‘ hiện hΓ nh"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr "phα»₯c hα»“i lαΊ‘i nhΓ‘nh gα»‘c vΓ  loαΊ‘i bỏ thao tΓ‘c vΓ‘."
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "nΓ³i dα»‘i về ngΓ y chuyển giao"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "dΓΉng dαΊ₯u thời gian hiện tαΊ‘i cho ngΓ y tΓ‘c giαΊ£"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr "mΓ£-sα»‘-khΓ³a"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "lαΊ§n chuyển giao kΓ½-GPG"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "(dΓΉng nα»™i bα»™ cho git-rebase)"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
@@ -2738,16 +2874,16 @@ msgstr ""
"TΓΉy chọn -b/--binary Δ‘Γ£ khΓ΄ng dΓΉng tα»« lΓ’u rα»“i, vΓ \n"
"nΓ³ sαΊ½ được bỏ Δ‘i. Xin Δ‘α»«ng sα»­ dα»₯ng nΓ³ thΓͺm nα»―a."
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "gαΊ·p lα»—i đọc bαΊ£ng mα»₯c lα»₯c"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr "thΖ° mα»₯c rebase trΖ°α»›c %s khΓ΄ng sαΊ΅n cΓ³ nhΖ°ng mbox lαΊ‘i Δ‘Ζ°a ra."
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
@@ -2756,7 +2892,7 @@ msgstr ""
"TΓ¬m thαΊ₯y thΖ° mα»₯c lαΊ‘c %s.\n"
"DΓΉng \"git am --abort\" để loαΊ‘i bỏ nΓ³ Δ‘i."
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr "Thao tΓ‘c phΓ’n giαΊ£i khΓ΄ng được tiαΊΏn hΓ nh, chΓΊng ta khΓ΄ng phα»₯c hα»“i lαΊ‘i."
@@ -3101,135 +3237,135 @@ msgstr "khΓ΄ng thα»«a nhαΊ­n Δ‘αΊ§u vΓ o"
msgid "unable to read index file"
msgstr "khΓ΄ng thể đọc tαΊ­p tin lΖ°u bαΊ£ng mα»₯c lα»₯c"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "khΓ΄ng Γ‘p dα»₯ng cΓ‘c thay Δ‘α»•i khα»›p vα»›i đường dαΊ«n Δ‘Γ£ cho"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "Γ‘p dα»₯ng cΓ‘c thay Δ‘α»•i khα»›p vα»›i đường dαΊ«n Δ‘Γ£ cho"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr "gα»‘ bỏ <sα»‘> dαΊ₯u gαΊ‘ch chΓ©o dαΊ«n Δ‘αΊ§u tα»« đường dαΊ«n diff cα»• Δ‘iển"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "lờ Δ‘i phαΊ§n bα»• xung được tαΊ‘o ra bởi miαΊΏng vΓ‘"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr ""
"thay vΓ¬ Γ‘p dα»₯ng mα»™t miαΊΏng vΓ‘, kαΊΏt xuαΊ₯t kαΊΏt quαΊ£ tα»« lệnh diffstat cho Δ‘αΊ§u ra"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr ""
"hiển thα»‹ sα»‘ lượng cΓ‘c dΓ²ng được thΓͺm vΓ o vΓ  xΓ³a Δ‘i theo kΓ½ hiệu thαΊ­p phΓ’n"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr "thay vΓ¬ Γ‘p dα»₯ng mα»™t miαΊΏng vΓ‘, kαΊΏt xuαΊ₯t kαΊΏt quαΊ£ cho Δ‘αΊ§u vΓ o"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr "thay vΓ¬ Γ‘p dα»₯ng miαΊΏng vΓ‘, hΓ£y xem xem miαΊΏng vΓ‘ cΓ³ thΓ­ch hợp khΓ΄ng"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr "hΓ£y chαΊ―c chαΊ―n lΓ  miαΊΏng vΓ‘ thΓ­ch hợp vα»›i bαΊ£ng mα»₯c lα»₯c hiện hΓ nh"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "Γ‘p dα»₯ng mα»™t miαΊΏng vΓ‘ mΓ  khΓ΄ng Δ‘α»™ng chαΊ‘m Δ‘αΊΏn cΓ’y lΓ m việc"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr "chαΊ₯p nhαΊ­n mα»™t miαΊΏng vΓ‘ mΓ  khΓ΄ng Δ‘α»™ng chαΊ‘m Δ‘αΊΏn cΓ’y lΓ m việc"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr ""
"Δ‘α»“ng thời Γ‘p dα»₯ng miαΊΏng vΓ‘ (dΓΉng vα»›i tΓΉy chọn --stat/--summary/--check)"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr "thα»­ hΓ²a trα»™n kiểu three-way nαΊΏu việc vΓ‘ khΓ΄ng thể thα»±c hiện được"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr ""
"xΓ’y dα»±ng bαΊ£ng mα»₯c lα»₯c tαΊ‘m thời trΓͺn cΖ‘ sở thΓ΄ng tin bαΊ£ng mα»₯c lα»₯c được nhΓΊng"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr "cΓ‘c đường dαΊ«n bα»‹ ngΔƒn cΓ‘ch bởi kΓ½ tα»± NULL"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr "Δ‘αΊ£m bαΊ£o rαΊ±ng cΓ³ Γ­t nhαΊ₯t <n> dΓ²ng nα»™i dung khα»›p"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr "tΓ¬m thαΊ₯y mα»™t dΓ²ng mα»›i hoαΊ·c bα»‹ sα»­a Δ‘α»•i mΓ  nΓ³ cΓ³ lα»—i do khoαΊ£ng trαΊ―ng"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "lờ Δ‘i sα»± thay Δ‘α»•i do khoαΊ£ng trαΊ―ng gΓ’y ra khi quΓ©t nα»™i dung"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "Γ‘p dα»₯ng miαΊΏng vΓ‘ theo chiều ngược"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "Δ‘α»«ng hy vọng cΓ³ Γ­t nhαΊ₯t mα»™t dΓ²ng nα»™i dung"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr "để lαΊ‘i khα»‘i dα»― liệu bα»‹ tα»« chα»‘i trong cΓ‘c tαΊ­p tin *.rej tΖ°Ζ‘ng α»©ng"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "cho phΓ©p chα»“ng khα»‘i nhα»›"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr ""
"Δ‘Γ£ dΓ² tΓ¬m thαΊ₯y dung sai khΓ΄ng chΓ­nh xΓ‘c thiαΊΏu dΓ²ng mα»›i tαΊ‘i cuα»‘i tαΊ­p tin"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr "khΓ΄ng tin sα»‘ lượng dΓ²ng trong phαΊ§n Δ‘αΊ§u khα»‘i dα»― liệu"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "treo thΓͺm <root> vΓ o tαΊ₯t cαΊ£ cΓ‘c tΓͺn tαΊ­p tin"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr "--3way ở ngoΓ i mα»™t kho chα»©a"
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr "--index ở ngoΓ i mα»™t kho chα»©a"
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr "--cached ở ngoΓ i mα»™t kho chα»©a"
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "khΓ΄ng thể mở miαΊΏng vΓ‘ β€œ%s”"
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
msgstr[0] "Δ‘Γ£ chαΊ₯m dα»©t %d lα»—i khoαΊ£ng trαΊ―ng"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3283,105 +3419,113 @@ msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr ""
"cαΊ­p nhαΊ­t BISECT_HEAD thay vΓ¬ lαΊ₯y ra (checking out) lαΊ§n chuyển giao hiện hΓ nh"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<cÑc-tùy-chọn>] [<rev-opts>] [<rev>] [--] <tập-tin>"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<rev-opts> được mΓ΄ tαΊ£ trong tΓ i liệu git-rev-list(1)"
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "CΓ‘c dΓ²ng blame"
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
msgstr "Hiển thα»‹ cΓ‘c mα»₯c β€œblame” nhΖ° lΓ  chΓΊng ta thαΊ₯y chΓΊng, tΔƒng dαΊ§n"
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr ""
"Hiển thα»‹ SHA-1 trαΊ―ng cho nhα»―ng lαΊ§n chuyển giao biΓͺn giα»›i (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr "KhΓ΄ng coi cΓ‘c lαΊ§n chuyển giao gα»‘c lΓ  giα»›i hαΊ‘n (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "Hiển thα»‹ thα»‘ng kΓͺ cΓ΄ng sα»©c lΓ m việc"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "Γ‰p buα»™c bΓ‘o cΓ‘o tiαΊΏn triển cΓ΄ng việc"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr "Hiển thα»‹ kαΊΏt xuαΊ₯t Δ‘iểm sα»‘ cΓ³ cΓ‘c mα»₯c tin β€œblame”"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "Hiển thα»‹ tΓͺn tαΊ­p tin gα»‘c (MαΊ·c Δ‘α»‹nh: auto)"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "Hiển thα»‹ sα»‘ dΓ²ng gα»‘c (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "Hiển thα»‹ ở Δ‘α»‹nh dαΊ‘ng Δ‘Γ£ thiαΊΏt kαΊΏ cho sα»± tiΓͺu dΓΉng bαΊ±ng mΓ‘y"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr "Hiển thα»‹ Δ‘α»‹nh dαΊ‘ng β€œporcelain” vα»›i thΓ΄ng tin chuyển giao mα»—i dΓ²ng"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr "DΓΉng cΓΉng chαΊΏ Δ‘α»™ xuαΊ₯t ra vα»›i git-annotate (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "Hiển thα»‹ dαΊ₯u vαΊΏt thời gian dαΊ‘ng thΓ΄ (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "Hiển thα»‹ SHA1 cα»§a lαΊ§n chuyển giao dαΊ‘ng dΓ i (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr "KhΓ΄ng hiển thα»‹ tΓͺn tΓ‘c giαΊ£ vΓ  dαΊ₯u vαΊΏt thời gian (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr "Hiển thα»‹ thΖ° Δ‘iện tα»­ cα»§a tΓ‘c giαΊ£ thay vΓ¬ tΓͺn (MαΊ·c Δ‘α»‹nh: off)"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "Bỏ qua cΓ‘c khΓ‘c biệt do khoαΊ£ng trαΊ―ng gΓ’y ra"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr "TiΓͺu thα»₯ thΓͺm nΔƒng tΓ i nguyΓͺn mΓ‘y mΓ³c để tΓ¬m kiαΊΏm tα»‘t hΖ‘n nα»―a"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr ""
"Sα»­ dα»₯ng Δ‘iểm xΓ©t duyệt (revision) tα»« <tαΊ­p tin> thay vΓ¬ gọi β€œgit-rev-list”"
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "Sα»­ dα»₯ng nα»™i dung cα»§a <tαΊ­p tin> nhΖ° lΓ  αΊ£nh cuα»‘i cΓΉng"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "Δ‘iểm sα»‘"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "Tìm cÑc bản sao chép dòng trong và ngang qua tập tin"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "TΓ¬m cΓ‘c di chuyển dΓ²ng trong vΓ  ngang qua tαΊ­p tin"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "n,m"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr "Xα»­ lΓ½ chỉ dΓ²ng vΓΉng n,m, tΓ­nh tα»« 1"
@@ -3391,7 +3535,7 @@ msgstr "Xα»­ lΓ½ chỉ dΓ²ng vΓΉng n,m, tΓ­nh tα»« 1"
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "4 năm, 11 thÑng trước"
@@ -3589,156 +3733,156 @@ msgstr "NhΓ‘nh bα»‹ Δ‘α»•i tΓͺn thΓ nh %s, nhΖ°ng HEAD lαΊ‘i khΓ΄ng được cαΊ
msgid "Branch is renamed, but update of config-file failed"
msgstr "NhΓ‘nh bα»‹ Δ‘α»•i tΓͺn, nhΖ°ng cαΊ­p nhαΊ­t tαΊ­p tin cαΊ₯u hΓ¬nh gαΊ·p lα»—i"
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "khΓ΄ng thể ghi vΓ o mαΊ«u mΓ΄ tαΊ£ nhΓ‘nh: %s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "Tùy chọn chung"
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr "hiển thα»‹ mΓ£ bΔƒm vΓ  chα»§ đề, Δ‘Ζ°a ra hai lαΊ§n cho nhΓ‘nh thượng nguα»“n"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "khΓ΄ng xuαΊ₯t cΓ‘c thΓ΄ng tin"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "cΓ i Δ‘αΊ·t chαΊΏ Δ‘α»™ theo dΓ΅i (xem git-pull(1))"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "thay Δ‘α»•i thΓ΄ng tin thượng nguα»“n"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "tΓ΄ mΓ u kαΊΏt xuαΊ₯t"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "thao tΓ‘c trΓͺn nhΓ‘nh β€œremote-tracking”"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "chỉ hiển thα»‹ nhα»―ng nhΓ‘nh mΓ  nΓ³ chα»©a lαΊ§n chuyển giao"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "HΓ nh Δ‘α»™ng git-branch:"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "liệt kΓͺ cαΊ£ nhΓ‘nh β€œremote-tracking” vΓ  nα»™i bα»™"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "xΓ³a mα»™t toΓ n bα»™ nhΓ‘nh Δ‘Γ£ hΓ²a trα»™n"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "xΓ³a nhΓ‘nh (cho dΓΉ lΓ  chΖ°a được hΓ²a trα»™n)"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "di chuyển hay Δ‘α»•i tΓͺn mα»™t nhΓ‘nh vΓ  reflog cα»§a nΓ³"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr "di chuyển hoαΊ·c Δ‘α»•i tΓͺn mα»™t nhΓ‘nh ngay cαΊ£ khi Δ‘Γ­ch Δ‘Γ£ cΓ³ sαΊ΅n"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "liệt kΓͺ cΓ‘c tΓͺn nhΓ‘nh"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "tαΊ‘o reflog cα»§a nhΓ‘nh"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "sα»­a mΓ΄ tαΊ£ cho nhΓ‘nh"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "buα»™c tαΊ‘o, di chuyển/Δ‘α»•i tΓͺn, xΓ³a"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "chỉ hiển thα»‹ nhα»―ng nhΓ‘nh mΓ  nΓ³ được hΓ²a trα»™n"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "chỉ hiển thα»‹ nhα»―ng nhΓ‘nh mΓ  nΓ³ khΓ΄ng được hΓ²a trα»™n"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "liệt kΓͺ cΓ‘c nhΓ‘nh trong cΓ‘c cα»™t"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "khΓ³a"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "tΓͺn trường cαΊ§n sαΊ―p xαΊΏp"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "Δ‘α»‘i tượng"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "chỉ hiển thα»‹ cΓ‘c nhΓ‘nh cα»§a Δ‘α»‘i tượng"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "GαΊ·p lα»—i khi phΓ’n giαΊ£i HEAD nhΖ° lΓ  mα»™t tham chiαΊΏu hợp lệ."
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "khΓ΄ng tΓ¬m thαΊ₯y HEAD ở dΖ°α»›i refs/heads!"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "tùy chọn --column và --verbose xung khắc nhau"
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "cαΊ§n chỉ ra tΓͺn nhΓ‘nh"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr "KhΓ΄ng thể Δ‘Ζ°a ra mΓ΄ tαΊ£ HEAD Δ‘Γ£ tΓ‘ch rời"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "khΓ΄ng thể sα»­a mΓ΄ tαΊ£ cho nhiều hΖ‘n mα»™t nhΓ‘nh"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "VαΊ«n chΖ°a chuyển giao trΓͺn nhΓ‘nh β€œ%s”."
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "KhΓ΄ng cΓ³ nhΓ‘nh nΓ o cΓ³ tΓͺn β€œ%s”."
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "quΓ‘ nhiều nhΓ‘nh dΓ nh cho thao tΓ‘c Δ‘α»•i tΓͺn"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "quΓ‘ nhiều nhΓ‘nh được Δ‘αΊ·t cho thượng nguα»“n mα»›i"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
@@ -3746,40 +3890,40 @@ msgstr ""
"khΓ΄ng thể Δ‘αΊ·t thượng nguα»“n cα»§a HEAD thΓ nh %s khi mΓ  nΓ³ chαΊ³ng chỉ Δ‘αΊΏn nhΓ‘nh "
"nΓ o cαΊ£."
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "khΓ΄ng cΓ³ nhΓ‘nh nΓ o nhΖ° thαΊΏ β€œ%s”"
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "chΖ°a cΓ³ nhΓ‘nh β€œ%s”"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr "quΓ‘ nhiều nhΓ‘nh để bỏ Δ‘αΊ·t thượng nguα»“n"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr "khΓ΄ng thể bỏ Δ‘αΊ·t thượng nguα»“n cα»§a HEAD khΓ΄ng chỉ Δ‘αΊΏn mα»™t nhΓ‘nh nΓ o cαΊ£."
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "NhΓ‘nh β€œ%s” khΓ΄ng cΓ³ thΓ΄ng tin thượng nguα»“n"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "khΓ΄ng hợp lΓ½ khi tαΊ‘o β€œHEAD” thα»§ cΓ΄ng"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr ""
"hai tΓΉy chọn -a vΓ  -r Γ‘p dα»₯ng cho lệnh β€œgit branch” khΓ΄ng hợp lΓ½ Δ‘α»‘i vα»›i tΓͺn "
"nhΓ‘nh"
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3788,7 +3932,7 @@ msgstr ""
"Cờ --set-upstream Δ‘Γ£ lαΊ‘c hαΊ­u vΓ  sαΊ½ bα»‹ xΓ³a bỏ. NΓͺn dΓΉng --track hoαΊ·c --set-"
"upstream-to\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3799,12 +3943,12 @@ msgstr ""
"NαΊΏu bαΊ‘n muα»‘n β€œ%s” theo dΓ΅i β€œ%s”, thα»±c hiện lệnh sau:\n"
"\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr " git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -3899,7 +4043,7 @@ msgstr "bΓ‘o cΓ‘o tαΊ₯t cαΊ£ cΓ‘c thuα»™c tΓ­nh Δ‘αΊ·t trΓͺn tαΊ­p tin"
msgid "use .gitattributes only from the index"
msgstr "chỉ dΓΉng .gitattributes tα»« bαΊ£ng mα»₯c lα»₯c"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "đọc tΓͺn tαΊ­p tin tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n"
@@ -3907,7 +4051,7 @@ msgstr "đọc tΓͺn tαΊ­p tin tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n"
msgid "terminate input and output records by a NUL character"
msgstr "chαΊ₯m dα»©t cΓ‘c bαΊ£n ghi vΓ o vΓ  ra bαΊ±ng kΓ½ tα»± NULL"
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "chặn cÑc bÑo cÑo tiến trình hoẑt động"
@@ -3960,50 +4104,54 @@ msgstr "khΓ΄ng thể phΓ’n tΓ­ch danh bαΊ‘: β€œ%s”"
msgid "no contacts specified"
msgstr "chΖ°a chỉ ra danh bαΊ‘"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<cΓ‘c-tΓΉy-chọn>] [--] [<tαΊ­p-tin>…]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "stage nΓͺn giα»―a 1 vΓ  3 hay all"
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "lαΊ₯y ra toΓ n bα»™ cΓ‘c tαΊ­p tin trong bαΊ£ng mα»₯c lα»₯c"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "Γ©p buα»™c ghi Δ‘Γ¨ lΓͺn tαΊ­p tin Δ‘Γ£ sαΊ΅n cΓ³ tα»« trΖ°α»›c"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr ""
"khΓ΄ng cαΊ£nh bΓ‘o cho nhα»―ng tαΊ­p tin tα»“n tαΊ‘i vΓ  khΓ΄ng cΓ³ trong bαΊ£ng mα»₯c lα»₯c"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "khΓ΄ng checkout cΓ‘c tαΊ­p tin mα»›i"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "cαΊ­p nhαΊ­t thΓ΄ng tin thα»‘ng kΓͺ trong tαΊ­p tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»›i"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "đọc danh sΓ‘ch đường dαΊ«n tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "ghi nα»™i dung vΓ o tαΊ­p tin tαΊ‘m"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "chuα»—i"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr "khi tαΊ‘o cΓ‘c tαΊ­p tin, nα»‘i thΓͺm <chuα»—i>"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "sao chΓ©p ra cΓ‘c tαΊ­p tin tα»« bệ phΓ³ng cΓ³ tΓͺn"
@@ -4084,37 +4232,41 @@ msgstr "KhΓ΄ng thể thα»±c hiện reflog cho β€œ%s”: %s\n"
msgid "HEAD is now at"
msgstr "HEAD hiện giờ tαΊ‘i"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "khΓ΄ng thể cαΊ­p nhαΊ­t HEAD"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "Đặt lαΊ‘i nhΓ‘nh β€œ%s”\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "Đã sαΊ΅n sΓ ng trΓͺn β€œ%s”\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "Đã chuyển tα»›i vΓ  Δ‘αΊ·t lαΊ‘i nhΓ‘nh β€œ%s”\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "Đã chuyển Δ‘αΊΏn nhΓ‘nh mα»›i β€œ%s”\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "Đã chuyển Δ‘αΊΏn nhΓ‘nh β€œ%s”\n"
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " … vΓ  nhiều hΖ‘n %d.\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4133,7 +4285,7 @@ msgstr[0] ""
"\n"
"%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4154,152 +4306,152 @@ msgstr[0] ""
" git branch <tΓͺn_nhΓ‘nh_mα»›i> %s\n"
"\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "lα»—i nα»™i bα»™ trong khi di chuyển qua cΓ‘c Δ‘iểm xΓ©t duyệt"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "Vα»‹ trΓ­ trΖ°α»›c kia cα»§a HEAD lΓ "
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "BαΊ‘n tαΊ‘i nhΓ‘nh mΓ  nΓ³ chΖ°a hề được sinh ra"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "chỉ cαΊ§n mα»™t tham chiαΊΏu, nhΖ°ng lαΊ‘i Δ‘Ζ°a ra %d."
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "tham chiαΊΏu khΓ΄ng hợp lệ: %s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "tham chiαΊΏu khΓ΄ng phαΊ£i lΓ  mα»™t cΓ’y:%s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "cΓ‘c đường dαΊ«n khΓ΄ng thể dΓΉng cΓΉng vα»›i cΓ‘c nhΓ‘nh chuyển"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr "β€œ%s” khΓ΄ng thể được sα»­ dα»₯ng vα»›i cΓ‘c nhΓ‘nh chuyển"
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "β€œ%s” khΓ΄ng thể được dΓΉng vα»›i β€œ%s”"
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr "KhΓ΄ng thể chuyển nhΓ‘nh Δ‘αΊΏn mα»™t thα»© khΓ΄ng phαΊ£i lΓ  lαΊ§n chuyển giao β€œ%s”"
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "nhΓ‘nh"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "tαΊ‘o vΓ  checkout mα»™t nhΓ‘nh mα»›i"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "tαΊ‘o/Δ‘αΊ·t_lαΊ‘i vΓ  checkout mα»™t nhΓ‘nh"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "tαΊ‘o reflog cho nhΓ‘nh mα»›i"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "rời bỏ HEAD tαΊ‘i lαΊ§n chuyển giao danh nghΔ©a"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "Δ‘αΊ·t thΓ΄ng tin thượng nguα»“n cho nhΓ‘nh mα»›i"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "nhΓ‘nh-mα»›i"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "nhΓ‘nh khΓ΄ng cha mα»›i"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr ""
"lαΊ₯y ra (checkout) phiΓͺn bαΊ£n cα»§a chΓΊng ta cho cΓ‘c tαΊ­p tin chΖ°a được hΓ²a trα»™n"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr ""
"lαΊ₯y ra (checkout) phiΓͺn bαΊ£n cα»§a chΓΊng họ cho cΓ‘c tαΊ­p tin chΖ°a được hΓ²a trα»™n"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "Γ©p buα»™c lαΊ₯y ra (bỏ Δ‘i nhα»―ng thay Δ‘α»•i nα»™i bα»™)"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "thα»±c hiện hΓ²a trα»™n kiểu 3-way vα»›i nhΓ‘nh mα»›i"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "cαΊ­p nhαΊ­t cΓ‘c tαΊ­p tin bα»‹ bỏ qua (mαΊ·c Δ‘α»‹nh)"
-#: builtin/checkout.c:1151 builtin/log.c:1263 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "kiểu"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr "xung Δ‘α»™t kiểu (hΓ²a trα»™n hoαΊ·c diff3)"
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr "khΓ΄ng giα»›i hαΊ‘n Δ‘αΊ·c tαΊ£ đường dαΊ«n thΓ nh chỉ cΓ‘c mα»₯c thΖ°a thα»›t"
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "gợi ý thứ hai \"git checkout <không-nhÑnh-nào-như-vậy>\""
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr "khΓ΄ng kiểm tra nαΊΏu cΓ’y lΓ m việc khΓ‘c Δ‘ang giα»― tham chiαΊΏu Δ‘Γ£ cho"
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:560
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "Γ©p buα»™c bΓ‘o cΓ‘o tiαΊΏn triển cΓ΄ng việc"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "CÑc tùy chọn -b, -B và --orphan loẑi từ lẫn nhau"
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "--track cαΊ§n tΓͺn mα»™t nhΓ‘nh"
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "ThiαΊΏu tΓͺn nhΓ‘nh; hΓ£y thα»­ -b"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "đường dαΊ«n Δ‘Γ£ cho khΓ΄ng hợp lệ"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4309,12 +4461,12 @@ msgstr ""
"BαΊ‘n Δ‘Γ£ cΓ³ Γ½ Δ‘α»‹nh checkout β€œ%s” cΓ‘i mΓ  khΓ΄ng thể được phΓ’n giαΊ£i nhΖ° lΓ  lαΊ§n "
"chuyển giao?"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr "git checkout: --detach khΓ΄ng nhαΊ­n mα»™t Δ‘α»‘i sα»‘ đường dαΊ«n β€œ%s”"
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4353,7 +4505,7 @@ msgstr "NΓͺn bỏ qua kho chα»©a %s\n"
msgid "failed to remove %s"
msgstr "gαΊ·p lα»—i khi gα»‘ bỏ %s"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4365,7 +4517,7 @@ msgstr ""
"foo - chọn mα»₯c trΓͺn cΖ‘ sở tiền tα»‘ duy nhαΊ₯t\n"
" - (để trα»‘ng) khΓ΄ng chọn gΓ¬ cαΊ£"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4385,36 +4537,36 @@ msgstr ""
"* - chọn tαΊ₯t\n"
" - (để trα»‘ng) kαΊΏt thΓΊc việc chọn"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "HαΊ£ (%s)?"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "MαΊ«u để lọc cΓ‘c tαΊ­p tin Δ‘αΊ§u vΓ o cαΊ§n lờ Δ‘i>> "
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "CαΊ’NH BÁO: KhΓ΄ng tΓ¬m thαΊ₯y cΓ‘c mα»₯c được khα»›p bởi: %s"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "Chọn mα»₯c muα»‘n xΓ³a"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "XΓ³a bỏ β€œ%s” [y/N]? "
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "TαΊ‘m biệt."
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4432,61 +4584,61 @@ msgstr ""
"help - hiển thα»‹ chΓ­nh trợ giΓΊp nΓ y\n"
"? - trợ giúp dành cho chọn bằng cÑch nhắc"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr "*** Lệnh ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "Giờ thì sao"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] "CΓ³ muα»‘n gα»‘ bỏ (cΓ‘c) mα»₯c sau Δ‘Γ’y khΓ΄ng:"
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "KhΓ΄ng cΓ²n tαΊ­p-tin nΓ o để dọn dαΊΉp, Δ‘ang thoΓ‘t ra."
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "khΓ΄ng hiển thα»‹ tΓͺn cα»§a cΓ‘c tαΊ­p tin Δ‘Γ£ gα»‘ bỏ"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "Γ©p buα»™c"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "dọn bαΊ±ng kiểu tΖ°Ζ‘ng tΓ‘c"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "gα»‘ bỏ toΓ n bα»™ thΖ° mα»₯c"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "mαΊ«u"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "thΓͺm <mαΊ«u> vΓ o trong qui tαΊ―c bỏ qua"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "Δ‘α»“ng thời gα»‘ bỏ cαΊ£ cΓ‘c tαΊ­p tin bα»‹ bỏ qua"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "chỉ gα»‘ bỏ nhα»―ng tαΊ­p tin bα»‹ bỏ qua"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "-x vΓ  -X khΓ΄ng thể dΓΉng cΓΉng nhau"
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
@@ -4494,7 +4646,7 @@ msgstr ""
"clean.requireForce được Δ‘αΊ·t thΓ nh true vΓ  khΓ΄ng Δ‘Ζ°a ra tΓΉy chọn -i, -n mΓ  "
"cΕ©ng khΓ΄ng -f; tα»« chα»‘i lệnh dọn dαΊΉp (clean)"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4506,145 +4658,161 @@ msgstr ""
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<cΓ‘c-tΓΉy-chọn>] [--] <kho> [<t.mα»₯c>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "khΓ΄ng tαΊ‘o mα»™t checkout"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "tαΊ‘o kho thuαΊ§n"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "tαΊ‘o kho bαΊ£n sao (Γ½ lΓ  kho thuαΊ§n)"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "để nhΓ’n bαΊ£n tα»« kho nα»™i bα»™"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "khΓ΄ng sα»­ dα»₯ng liΓͺn kαΊΏt cα»©ng nα»™i bα»™, luΓ΄n sao chΓ©p"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "cΓ i Δ‘αΊ·t Δ‘Γ’y lΓ  kho chia sαΊ»"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "khởi tαΊ‘o mΓ΄-Δ‘un-con trong bαΊ£n sao"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "thΖ°-mα»₯c-mαΊ«u"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "thΖ° mα»₯c mΓ  tαΊ‘i Δ‘Γ³ cΓ‘c mαΊ«u sαΊ½ được dΓΉng"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "kho tham chiαΊΏu"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "chỉ dΓΉng --reference khi nhΓ’n bαΊ£n"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "tΓͺn"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "dΓΉng <tΓͺn> thay cho β€œorigin” để theo dΓ΅i thượng nguα»“n"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "lαΊ₯y ra <nhΓ‘nh> thay cho HEAD cα»§a mΓ‘y chα»§"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "đường dαΊ«n Δ‘αΊΏn git-upload-pack trΓͺn mΓ‘y chα»§"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193
msgid "depth"
msgstr "Δ‘α»™-sΓ’u"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr "tαΊ‘o bαΊ£n sao khΓ΄ng Δ‘αΊ§y Δ‘α»§ cho mα»©c sΓ’u Δ‘Γ£ cho"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "chỉ nhΓ’n bαΊ£n mα»™t nhΓ‘nh, HEAD hoαΊ·c --branch"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr "gitdir"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "khΓ΄ng dΓΉng chung thΖ° mα»₯c dΓ nh riΓͺng cho git vΓ  thΖ° mα»₯c lΓ m việc"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "khΓ³a=giΓ‘_trα»‹"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "Δ‘αΊ·t cαΊ₯u hΓ¬nh bΓͺn trong mα»™t kho chα»©a mα»›i"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "chỉ dΓΉng Δ‘α»‹a chỉ IPv4"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "chỉ dΓΉng Δ‘α»‹a chỉ IPv6"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"KhΓ΄ng Δ‘oΓ‘n được thΖ° mα»₯c tΓͺn lΓ  gΓ¬.\n"
+"Vui lΓ²ng chỉ Δ‘α»‹nh tΓͺn mα»™t thΖ° mα»₯c trΓͺn dΓ²ng lệnh"
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
msgstr "kho tham chiαΊΏu β€œ%s” nhΖ° lΓ  lαΊ₯y ra liΓͺn kαΊΏt vαΊ«n chΖ°a được hα»— trợ."
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr "kho tham chiαΊΏu β€œ%s” khΓ΄ng phαΊ£i lΓ  mα»™t kho nα»™i bα»™."
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr "kho tham chiαΊΏu β€œ%s” lΓ  nΓ΄ng"
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr "kho tham chiαΊΏu β€œ%s” bα»‹ cαΊ₯y ghΓ©p"
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "gαΊ·p lα»—i khi lαΊ₯y thα»‘ng kΓͺ về β€œ%s”"
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "%s cΓ³ tα»“n tαΊ‘i nhΖ°ng lαΊ‘i khΓ΄ng phαΊ£i lΓ  mα»™t thΖ° mα»₯c"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "gαΊ·p lα»—i khi lαΊ₯y thΓ΄ng tin thα»‘ng kΓͺ về %s\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "gαΊ·p lα»—i khi tαΊ‘o được liΓͺn kαΊΏt mềm %s"
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "gαΊ·p lα»—i khi sao chΓ©p tαΊ­p tin vΓ  β€œ%s”"
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "hoΓ n tαΊ₯t.\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
@@ -4654,117 +4822,126 @@ msgstr ""
"BαΊ‘n kiểm tra kα»Ή xem cΓ‘i gΓ¬ được lαΊ₯y ra bαΊ±ng lệnh β€œgit status”\n"
"vΓ  thα»­ lαΊ₯y ra vα»›i lệnh β€œgit checkout -f HEAD”\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "KhΓ΄ng tΓ¬m thαΊ₯y nhΓ‘nh mΓ‘y chα»§ %s để nhΓ’n bαΊ£n (clone)."
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "Đang kiểm tra kαΊΏt nα»‘i… "
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "mΓ‘y chα»§ Δ‘Γ£ khΓ΄ng gα»­i tαΊ₯t cαΊ£ cΓ‘c Δ‘α»‘i tượng cαΊ§n thiαΊΏt"
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "khΓ΄ng thể cαΊ­p nhαΊ­t %s"
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr "refers HEAD mΓ‘y chα»§ chỉ Δ‘αΊΏn ref khΓ΄ng tα»“n tαΊ‘i, khΓ΄ng thể lαΊ₯y ra.\n"
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "khΓ΄ng thể lαΊ₯y ra (checkout) cΓ’y lΓ m việc"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "khΓ΄ng thể ghi cΓ‘c tham sα»‘ vΓ o tαΊ­p tin cαΊ₯u hΓ¬nh"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "khΓ΄ng thể Δ‘Γ³ng gΓ³i để dọn dαΊΉp"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "khΓ΄ng thể bỏ liΓͺn kαΊΏt tαΊ­p tin thay thαΊΏ tαΊ‘m thời"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "CΓ³ quΓ‘ nhiều Δ‘α»‘i sα»‘."
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "BαΊ‘n phαΊ£i chỉ Δ‘α»‹nh mα»™t kho để mΓ  nhΓ’n bαΊ£n (clone)."
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "tùy chọn --bare và --origin %s xung khắc nhau."
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "tùy chọn --bare và --separate-git-dir xung khắc nhau."
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "kho chα»©a β€œ%s” chΖ°a tα»“n tαΊ‘i"
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "Δ‘α»™ sΓ’u %s khΓ΄ng phαΊ£i lΓ  mα»™t sα»‘ nguyΓͺn dΖ°Ζ‘ng"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr "đường dαΊ«n Δ‘Γ­ch β€œ%s” Δ‘Γ£ cΓ³ tα»« trΖ°α»›c vΓ  khΓ΄ng phαΊ£i lΓ  mα»™t thΖ° mα»₯c rα»—ng."
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "cΓ’y lΓ m việc β€œ%s” Δ‘Γ£ sαΊ΅n tα»“n tαΊ‘i rα»“i."
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr "khΓ΄ng thể tαΊ‘o cΓ‘c thΖ° mα»₯c dαΊ«n Δ‘αΊ§u cα»§a β€œ%s”"
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr "khΓ΄ng thể tαΊ‘o cΓ’y thΖ° mα»₯c lΓ m việc dir β€œ%s”"
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "Đang nhΓ’n bαΊ£n thΓ nh kho chα»©a bare β€œ%s”…\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "Đang nhΓ’n bαΊ£n thΓ nh β€œ%s”…\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
msgstr "--depth bα»‹ lờ Δ‘i khi nhΓ’n bαΊ£n nα»™i bα»™; hΓ£y sα»­ dα»₯ng file:// để thay thαΊΏ."
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr "kho nguα»“n lΓ  nΓ΄ng, nΓͺn bỏ qua --local"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local bα»‹ lờ Δ‘i"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "KhΓ΄ng biαΊΏt lΓ m cΓ‘ch nΓ o để nhΓ’n bαΊ£n (clone) %s"
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr "NhΓ‘nh mΓ‘y chα»§ %s khΓ΄ng tΓ¬m thαΊ₯y trong thượng nguα»“n %s"
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "Bẑn hình như là đã nhÒn bản một kho trống rỗng."
@@ -4989,7 +5166,7 @@ msgstr ""
msgid "could not lookup commit %s"
msgstr "khΓ΄ng thể tΓ¬m kiαΊΏm commit (lαΊ§n chuyển giao) %s"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "(Δ‘ang đọc thΓ΄ng Δ‘iệp nhαΊ­t kΓ½ tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n)\n"
@@ -5186,8 +5363,8 @@ msgstr "hiển thα»‹ trαΊ‘ng thΓ‘i ở dαΊ‘ng sΓΊc tΓ­ch"
msgid "show branch information"
msgstr "hiển thα»‹ thΓ΄ng tin nhΓ‘nh"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:546
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "kαΊΏt xuαΊ₯t dαΊ‘ng mΓ‘y-cΓ³-thể-đọc"
@@ -5279,8 +5456,8 @@ msgstr "ngΓ y thΓ‘ng"
msgid "override date for commit"
msgstr "ghi Δ‘Γ¨ ngΓ y thΓ‘ng cho lαΊ§n chuyển giao"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "chΓΊ thΓ­ch"
@@ -5317,7 +5494,7 @@ msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr ""
"lαΊ§n chuyển giao nhαΊ­n tΓ΄i lΓ  tΓ‘c giαΊ£ (được dΓΉng vα»›i tΓΉy chọn -C/-c/--amend)"
-#: builtin/commit.c:1588 builtin/log.c:1215 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "(nΓͺn dΓΉng) thΓͺm dΓ²ng Signed-off-by:"
@@ -5341,7 +5518,7 @@ msgstr "lΓ m thαΊΏ nΓ o để cαΊ―t bỏ khoαΊ£ng trαΊ―ng vΓ  #ghichΓΊ tα»« mαΊ©
msgid "include status in commit message template"
msgstr "bao gα»“m cΓ‘c trαΊ‘ng thΓ‘i trong mαΊ«u ghi chΓΊ chuyển giao"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "kΓ½ lαΊ§n chuyển giao dΓΉng GPG"
@@ -5435,139 +5612,145 @@ msgstr ""
"cΓ³ bα»‹ Δ‘αΊ§y quΓ‘ hay quota (hαΊ‘n nghαΊ‘ch Δ‘Δ©a cα»©ng) bα»‹ vượt quΓ‘,\n"
"vΓ  sau Δ‘Γ³ \"git reset HEAD\" để khαΊ―c phα»₯c."
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<cÑc-tùy-chọn>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "Vα»‹ trΓ­ tαΊ­p tin cαΊ₯u hΓ¬nh"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "dΓΉng tαΊ­p tin cαΊ₯u hΓ¬nh toΓ n cα»₯c"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "sα»­ dα»₯ng tαΊ­p tin cαΊ₯u hΓ¬nh hệ thα»‘ng"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "dΓΉng tαΊ­p tin cαΊ₯u hΓ¬nh cα»§a kho"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "sα»­ dα»₯ng tαΊ­p tin cαΊ₯u hΓ¬nh Δ‘Γ£ cho"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "blob-id"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "đọc cαΊ₯u hΓ¬nh tα»« Δ‘α»‘i tượng blob Δ‘Γ£ cho"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "HΓ nh Δ‘α»™ng"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "lαΊ₯y giΓ‘-trα»‹: tΓͺn [value-regex]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "lαΊ₯y tαΊ₯t cαΊ£ giΓ‘-trα»‹: khΓ³a [value-regex]"
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr "lαΊ₯y giΓ‘ trα»‹ cho regexp: name-regex [value-regex]"
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr "lαΊ₯y Δ‘αΊ·c tαΊ£ giΓ‘ trα»‹ cho URL: phαΊ§n[.biαΊΏn] URL"
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr "thay thαΊΏ tαΊ₯t cαΊ£ cΓ‘c biαΊΏn khα»›p mαΊ«u: tΓͺn giΓ‘-trα»‹ [value_regex]"
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "thΓͺm biαΊΏn mα»›i: tΓͺn giΓ‘-trα»‹"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "gα»‘ bỏ biαΊΏn: tΓͺn [value-regex]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "gα»‘ bỏ mọi cΓ‘i khα»›p: tΓͺn [value-regex]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "Δ‘α»•i tΓͺn phαΊ§n: tΓͺn-cΕ© tΓͺn-mα»›i"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "gα»‘ bỏ phαΊ§n: tΓͺn"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "liệt kΓͺ tαΊ₯t"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "mở mα»™t trΓ¬nh biΓͺn soαΊ‘n"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "tΓ¬m cαΊ₯u hΓ¬nh mΓ u sαΊ―c: slot [mαΊ·c Δ‘α»‹nh]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "tΓ¬m cΓ‘c cΓ i Δ‘αΊ·t về mΓ u sαΊ―c: slot [stdout-lΓ -tty]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "Kiểu"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "giΓ‘ trα»‹ lΓ  \"true\" hoαΊ·c \"false\""
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "giΓ‘ trα»‹ ở dαΊ‘ng sα»‘ thαΊ­p phΓ’n"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "giΓ‘ trα»‹ lΓ  --bool hoαΊ·c --int"
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr "giΓ‘ trα»‹ lΓ  đường dαΊ«n (tΓͺn tαΊ­p tin hay thΖ° mα»₯c)"
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr "KhΓ‘c"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "chαΊ₯m dα»©t giΓ‘ trα»‹ vα»›i byte NUL"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "chỉ hiển thα»‹ cΓ‘c tΓͺn biαΊΏn"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "tΓ΄n trọng kể cΓ  cΓ‘c hΖ°α»›ng trong tΓ¬m kiαΊΏm"
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr ""
+"hiển thα»‹ nguyΓͺn gα»‘c cα»§a cαΊ₯u hΓ¬nh (tαΊ­p tin, Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n, blob, dΓ²ng "
+"lệnh)"
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr "khΓ΄ng thể phΓ’n tΓ­ch giΓ‘ trα»‹ mΓ u mαΊ·c Δ‘α»‹nh"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5582,7 +5765,7 @@ msgstr ""
"#\tname = %s\n"
"#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "khΓ΄ng thể tαΊ‘o tαΊ­p tin cαΊ₯u hΓ¬nh β€œ%s”"
@@ -5832,163 +6015,167 @@ msgstr "git fetch --multiple [<cΓ‘c-tΓΉy-chọn>] [(<kho> | <nhΓ³m>)…]"
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<cÑc-tùy-chọn>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "lαΊ₯y về tα»« tαΊ₯t cαΊ£ cΓ‘c mΓ‘y chα»§"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "nα»‘i thΓͺm vΓ o .git/FETCH_HEAD thay vΓ¬ ghi Δ‘Γ¨ lΓͺn nΓ³"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "đường dαΊ«n Δ‘αΊΏn gΓ³i tαΊ£i lΓͺn trΓͺn mΓ‘y chα»§ cuα»‘i"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "Γ©p buα»™c ghi Δ‘Γ¨ lΓͺn nhΓ‘nh nα»™i bα»™"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "lαΊ₯y tα»« nhiều mΓ‘y chα»§ cΓΉng lΓΊc"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "lαΊ₯y tαΊ₯t cαΊ£ cΓ‘c thαΊ» cΓΉng vα»›i cΓ‘c Δ‘α»‘i tượng liΓͺn quan Δ‘αΊΏn nΓ³"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "khΓ΄ng lαΊ₯y tαΊ₯t cαΊ£ cΓ‘c thαΊ» (--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "sα»‘ lượng mΓ΄-Δ‘un-con được lαΊ₯y Δ‘α»“ng thời"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr ""
"cαΊ―t cα»₯t (prune) cΓ‘c nhΓ‘nh β€œremote-tracking” khΓ΄ng cΓ²n tα»“n tαΊ‘i trΓͺn mΓ‘y chα»§ "
"nα»―a"
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "khi-cαΊ§n"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "Δ‘iều khiển việc lαΊ₯y về đệ quy trong cΓ‘c mΓ΄-Δ‘un-con"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "giα»― lαΊ‘i gΓ³i Δ‘Γ£ tαΊ£i về"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "cho phΓ©p cαΊ­p nhαΊ­t th.chiαΊΏu HEAD"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr "lΓ m sΓ’u hΖ‘n lα»‹ch sα»­ cα»§a bαΊ£n sao"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "chuyển Δ‘α»•i hoΓ n toΓ n sang kho git"
-#: builtin/fetch.c:118 builtin/log.c:1232
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr "tmα»₯c"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "soαΊ‘n sαΊ΅n cΓ‘i nΓ y cho kαΊΏt xuαΊ₯t đường dαΊ«n mΓ΄-Δ‘un-con"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "chαΊΏ Δ‘α»™ mαΊ·c Δ‘α»‹nh cho đệ qui"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr "chαΊ₯p nhαΊ­n tham chiαΊΏu cαΊ­p nhαΊ­t .git/shallow"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "refmap"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "chỉ ra refmap cαΊ§n lαΊ₯y về"
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "KhΓ΄ng thể tΓ¬m thαΊ₯y mΓ‘y chα»§ cho tham chiαΊΏu HEAD"
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "KhΓ΄ng tΓ¬m thαΊ₯y Δ‘α»‘i tượng %s"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[Δ‘Γ£ cαΊ­p nhαΊ­t]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr "! %-*s %-*s -> %s (khΓ΄ng thể fetch (lαΊ₯y) về nhΓ‘nh hiện hΓ nh)"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[Bα»‹ tα»« chα»‘i]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[cαΊ­p nhαΊ­t thαΊ»]"
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " (khΓ΄ng thể cαΊ­p nhαΊ­t tham chiαΊΏu nα»™i bα»™)"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[thαΊ» mα»›i]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[nhΓ‘nh mα»›i]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[ref (tham chiαΊΏu) mα»›i]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "khΓ΄ng thể cαΊ­p nhαΊ­t tham chiαΊΏu nα»™i bα»™"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "cΖ°α»‘ng bα»©c cαΊ­p nhαΊ­t"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "(khΓ΄ng-chuyển-tiαΊΏp-nhanh)"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "khΓ΄ng thể mở %s: %s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr "%s Δ‘Γ£ khΓ΄ng gα»­i tαΊ₯t cαΊ£ cΓ‘c Δ‘α»‘i tượng cαΊ§n thiαΊΏt\n"
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr "tα»« chα»‘i %s bởi vΓ¬ cΓ‘c gα»‘c nΓ΄ng thΓ¬ khΓ΄ng được phΓ©p cαΊ­p nhαΊ­t"
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "Tα»« %.*s\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
@@ -5997,57 +6184,57 @@ msgstr ""
"mα»™t sα»‘ tham chiαΊΏu nα»™i bα»™ khΓ΄ng thể được cαΊ­p nhαΊ­t; hΓ£y thα»­ chαΊ‘y\n"
" β€œgit remote prune %s” để bỏ Δ‘i nhα»―ng nhΓ‘nh cΕ©, hay bα»‹ xung Δ‘α»™t"
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s sαΊ½ trở thΓ nh khΓ΄ng Δ‘αΊ§u (khΓ΄ng được quαΊ£n lΓ½))"
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s Δ‘Γ£ trở thΓ nh khΓ΄ng Δ‘αΊ§u (khΓ΄ng được quαΊ£n lΓ½))"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[Δ‘Γ£ xΓ³a]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "(khΓ΄ng)"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr ""
"Tα»« chα»‘i việc lαΊ₯y vΓ o trong nhΓ‘nh hiện tαΊ‘i %s cα»§a mα»™t kho chα»©a khΓ΄ng phαΊ£i kho "
"trαΊ§n (bare)"
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr "TΓΉy chọn \"%s\" cΓ³ giΓ‘ trα»‹ \"%s\" lΓ  khΓ΄ng hợp lệ cho %s"
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "TΓΉy chọn \"%s\" bα»‹ bỏ qua vα»›i %s\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "KhΓ΄ng biαΊΏt lΓ m cΓ‘ch nΓ o để lαΊ₯y về tα»« %s"
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "Đang lαΊ₯y β€œ%s” về\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "khΓ΄ng thể β€œ%s” về"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
@@ -6055,32 +6242,32 @@ msgstr ""
"ChΖ°a chỉ ra kho chα»©a mΓ‘y chα»§. Xin hΓ£y chỉ Δ‘α»‹nh hoαΊ·c lΓ  URL hoαΊ·c\n"
"tΓͺn mΓ‘y chα»§ tα»« cΓ‘i mΓ  nhα»―ng Δ‘iểm xΓ©t duyệt mα»›i cΓ³ thể được fetch (lαΊ₯y về)."
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "BαΊ‘n phαΊ£i Δ‘α»‹nh rΓ΅ tΓͺn thαΊ»."
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr "tΓΉy chọn --depth vΓ  --unshallow khΓ΄ng thể sα»­ dα»₯ng cΓΉng vα»›i nhau"
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
msgstr "--unshallow trΓͺn kho hoΓ n chỉnh lΓ  khΓ΄ng hợp lΓ½"
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "lệnh lαΊ₯y về \"fetch --all\" khΓ΄ng lαΊ₯y Δ‘α»‘i sα»‘ kho chα»©a"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr "lệnh lαΊ₯y về \"fetch --all\" khΓ΄ng hợp lΓ½ vα»›i refspecs"
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "khΓ΄ng cΓ³ nhΓ³m mΓ‘y chα»§ hay mΓ‘y chα»§ nhΖ° thαΊΏ: %s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr "Việc lαΊ₯y về cαΊ£ mα»™t nhΓ³m vΓ  chỉ Δ‘α»‹nh refspecs khΓ΄ng hợp lΓ½"
@@ -6308,227 +6495,241 @@ msgstr ""
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<cΓ‘c-tΓΉy-chọn>] [-e] <mαΊ«u> [<rev>…] [[--] <đường-dαΊ«n>…]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grep: gαΊ·p lα»—i tαΊ‘o tuyαΊΏn (thread): %s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "sα»‘ tuyαΊΏn Δ‘Γ£ cho khΓ΄ng hợp lệ (%d) cho %s"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "khΓ΄ng thể đọc cΓ’y (%s)"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr "khΓ΄ng thể thα»±c hiện lệnh grep (lọc tΓ¬m) tα»« Δ‘α»‘i tượng thuα»™c kiểu %s"
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "chuyển Δ‘αΊΏn β€œ%c” cαΊ§n mα»™t giΓ‘ trα»‹ bαΊ±ng sα»‘"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "khΓ΄ng mở được β€œ%s”"
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr "tΓ¬m trong bαΊ£ng mα»₯c lα»₯c thay vΓ¬ trong cΓ’y lΓ m việc"
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "tΓ¬m trong nα»™i dung khΓ΄ng được quαΊ£n lΓ½ bởi git"
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "tΓ¬m kiαΊΏm cΓ‘c tαΊ­p tin được vΓ  chΖ°a được theo dΓ΅i dαΊ₯u vαΊΏt"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "cΓ‘c tαΊ­p tin bα»‹ bỏ qua được chỉ Δ‘α»‹nh thΓ΄ng qua β€œ.gitignore”"
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "hiển thα»‹ nhα»―ng dΓ²ng khΓ΄ng khα»›p vα»›i mαΊ«u"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "phΓ’n biệt HOA/thường"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "chỉ khα»›p mαΊ«u tαΊ‘i đường ranh giα»›i tα»«"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "xα»­ lΓ½ tαΊ­p tin nhα»‹ phΓ’n nhΖ° lΓ  dαΊ‘ng vΔƒn bαΊ£n thường"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "khΓ΄ng khα»›p mαΊ«u trong cΓ‘c tαΊ­p tin nhα»‹ phΓ’n"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "xα»­ lΓ½ tαΊ­p tin nhα»‹ phΓ’n vα»›i cΓ‘c bα»™ lọc β€œtextconv”"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "hαΊ‘ xuα»‘ng Γ­t nhαΊ₯t lΓ  mα»©c <sΓ’u>"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "dΓΉng biểu thα»©c chΓ­nh qui POSIX cΓ³ mở rα»™ng"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "sα»­ dα»₯ng biểu thα»©c chΓ­nh quy kiểu POSIX (mαΊ·c Δ‘α»‹nh)"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "diα»…n dα»‹ch cΓ‘c mαΊ«u nhΖ° lΓ  chuα»—i cα»‘ Δ‘α»‹nh"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "sα»­ dα»₯ng biểu thα»©c chΓ­nh quy tΖ°Ζ‘ng thΓ­ch Perl"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "hiển thα»‹ sα»‘ cα»§a dΓ²ng"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "khΓ΄ng hiển thα»‹ tΓͺn tαΊ­p tin"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "hiển thα»‹ cΓ‘c tΓͺn tαΊ­p tin"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "hiển thα»‹ tΓͺn tαΊ­p tin tΖ°Ζ‘ng Δ‘α»‘i vα»›i thΖ° mα»₯c đỉnh (top)"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "chỉ hiển thα»‹ tΓͺn tαΊ­p tin thay vΓ¬ nhα»―ng dΓ²ng khα»›p vα»›i mαΊ«u"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "Δ‘α»“ng nghΔ©a vα»›i --files-with-matches"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "chỉ hiển thα»‹ tΓͺn cho nhα»―ng tαΊ­p tin khΓ΄ng khα»›p vα»›i mαΊ«u"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "thΓͺm NUL vΓ o sau tΓͺn tαΊ­p tin"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "hiển thα»‹ sα»‘ lượng khα»›p thay vΓ¬ nhα»―ng dΓ²ng khα»›p vα»›i mαΊ«u"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "tΓ΄ sΓ‘ng phαΊ§n khα»›p mαΊ«u"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr "hiển thα»‹ dΓ²ng trα»‘ng giα»―a cΓ‘c lαΊ§n khα»›p tα»« cΓ‘c tαΊ­p tin khΓ‘c biệt"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr ""
"hiển thα»‹ tΓͺn tαΊ­p tin mα»™t lαΊ§n phΓ­a trΓͺn cΓ‘c lαΊ§n khα»›p tα»« cΓΉng mα»™t tαΊ­p tin"
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "hiển thα»‹ <n> dΓ²ng nα»™i dung phΓ­a trΖ°α»›c vΓ  sau cΓ‘c lαΊ§n khα»›p"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "hiển thα»‹ <n> dΓ²ng nα»™i dung trΖ°α»›c khα»›p"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "hiển thα»‹ <n> dΓ²ng nα»™i dung sau khα»›p"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "dΓΉng <n> tuyαΊΏn trΓ¬nh lΓ m việc"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "dẑng viết tắt của -C SỐ"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr "hiển thα»‹ dΓ²ng vΓ³i tΓͺn hΓ m trΖ°α»›c cΓ‘c lαΊ§n khα»›p"
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "hiển thα»‹ hΓ m bao quanh"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "đọc mαΊ«u tα»« tαΊ­p-tin"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "match <mαΊ«u>"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "tα»• hợp mαΊ«u được chỉ ra vα»›i tΓΉy chọn -e"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr "Δ‘Ζ°a ra gợi Γ½ vα»›i trαΊ‘ng thΓ‘i thoΓ‘t mΓ  khΓ΄ng cΓ³ kαΊΏt xuαΊ₯t"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr "chỉ hiển thα»‹ nhα»―ng cΓ‘i khα»›p tα»« tαΊ­p tin mΓ  nΓ³ khα»›p toΓ n bα»™ cΓ‘c mαΊ«u"
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "hiển thα»‹ cΓ’y phΓ’n tΓ­ch cΓΊ phΓ‘p cho biểu thα»©c β€œgrep” (tΓ¬m kiαΊΏm)"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "dΓ n trang"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin khα»›p trong trang giαΊ₯y"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "cho phΓ©p gọi grep(1) (bα»‹ bỏ qua bởi lαΊ§n dα»‹ch nΓ y)"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "chΖ°a chỉ ra mαΊ«u."
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "sα»‘ tuyαΊΏn chỉ ra khΓ΄ng hợp lệ (%d)"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr "--open-files-in-pager chỉ lΓ m việc trΓͺn cΓ’y-lΓ m-việc"
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
msgstr "--cached hay --untracked khΓ΄ng được sα»­ dα»₯ng vα»›i --no-index."
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr ""
"--no-index hay --untracked khΓ΄ng được sα»­ dα»₯ng cΓΉng vα»›i cΓ‘c tΓΉy chọn liΓͺn "
"quan Δ‘αΊΏn revs."
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr "--[no-]exclude-standard khΓ΄ng thể sα»­ dα»₯ng cho nα»™i dung lΖ°u dαΊ₯u vαΊΏt."
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "cαΊ£ hai --cached vΓ  cΓ‘c cΓ’y phαΊ£i được chỉ ra."
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
@@ -6536,36 +6737,36 @@ msgstr ""
"git hash-object [-t <kiểu>] [-w] [--path=<tαΊ­p-tin> | --no-filters] [--stdin] "
"[--] <tαΊ­p-tin>…"
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "kiểu"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "kiểu Δ‘α»‘i tượng"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "ghi Δ‘α»‘i tượng vΓ o dα»― liệu Δ‘α»‘i tượng"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "đọc Δ‘α»‘i tượng tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n stdin"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "lΖ°u cΓ‘c tαΊ­p tin mΓ  nΓ³ khΓ΄ng cΓ³ cΓ‘c bα»™ lọc"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr "chỉ cαΊ§n bΔƒm rΓ‘c ngαΊ«u nhiΓͺn để tαΊ‘o mα»™t Δ‘α»‘i tượng hỏng để mΓ  gα»‘ lα»—i Git"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "xα»­ lΓ½ tαΊ­p tin nhΖ° lΓ  nΓ³ Δ‘ang ở thΖ° mα»₯c nΓ y"
@@ -6616,7 +6817,7 @@ msgstr "phiΓͺn bαΊ£n cα»§a emacsclient β€œ%d” quΓ‘ cΕ© (< 22)."
msgid "failed to exec '%s': %s"
msgstr "gαΊ·p lα»—i khi thα»±c thi β€œ%s”: %s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
@@ -6625,7 +6826,7 @@ msgstr ""
"β€œ%s”: đường dαΊ«n khΓ΄ng hα»— trợ bα»™ trΓ¬nh chiαΊΏu man.\n"
"HΓ£y cΓ’n nhαΊ―c Δ‘αΊΏn việc sα»­ dα»₯ng β€œman.<tool>.cmd” để thay thαΊΏ."
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
@@ -6634,61 +6835,61 @@ msgstr ""
"β€œ%s”: cmd (lệnh) hα»— trợ bα»™ trΓ¬nh chiαΊΏu man.\n"
"HΓ£y cΓ’n nhαΊ―c Δ‘αΊΏn việc sα»­ dα»₯ng β€œman.<tool>.path” để thay thαΊΏ."
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "β€œ%s”: khΓ΄ng rΓ΅ chΖ°Ζ‘ng trΓ¬nh xem man."
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "khΓ΄ng cΓ³ trΓ¬nh xem trợ giΓΊp dαΊ‘ng manpage tiαΊΏp hợp vα»›i yΓͺu cαΊ§u"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "khΓ΄ng cΓ³ trΓ¬nh xem trợ giΓΊp dαΊ‘ng info tiαΊΏp hợp vα»›i yΓͺu cαΊ§u"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "Định nghΔ©a cΓ‘c thuα»™c tΓ­nh cho mα»—i đường dαΊ«n"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr "Mα»—i ngΓ y học 20 lệnh Git hay hΖ‘n"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "ThuαΊ­t ngα»― chuyΓͺn mΓ΄n Git"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "Chỉ Δ‘α»‹nh cΓ‘c tαΊ­p tin khΓ΄ng cαΊ§n theo dΓ΅i"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "Định nghΔ©a thuα»™c tΓ­nh mΓ΄-Δ‘un-con"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "Chỉ Δ‘α»‹nh Δ‘iểm xΓ©t duyệt vΓ  vΓΉng cho Git"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr "HΖ°α»›ng dαΊ«n cΓ‘ch dΓΉng Git ở mα»©c cΖ‘ bαΊ£n (bαΊ£n 1.5.1 hay mα»›i hΖ‘n)"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "Tα»•ng quan về luα»“ng cΓ΄ng việc khuyαΊΏn nghα»‹ nΓͺn dΓΉng vα»›i Git."
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "CΓ‘c chỉ dαΊ«n chung về cΓ‘ch dΓΉng Git lΓ :\n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "cΓ‘ch dΓΉng: %s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "β€œgit %s” được Δ‘αΊ·t bΓ­ danh thΓ nh β€œ%s”"
@@ -6921,58 +7122,53 @@ msgstr "khΓ΄ng thể lΖ°u trα»― tαΊ­p tin ghi mα»₯c lα»₯c"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "sai pack.indexversion=%<PRIu32>"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "sα»‘ tuyαΊΏn chỉ ra khΓ΄ng hợp lệ (%d)"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "khΓ΄ng hα»— trợ Δ‘a tuyαΊΏn, bỏ qua %s"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "KhΓ΄ng thể mở tαΊ­p tin gΓ³i Δ‘Γ£ sαΊ΅n cΓ³ β€œ%s”"
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr "KhΓ΄ng thể mở tαΊ­p tin idx cα»§a gΓ³i cho β€œ%s”"
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
msgstr[0] "khΓ΄ng delta: %d Δ‘α»‘i tượng"
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] "chiều dΓ i xΓ­ch = %d: %lu Δ‘α»‘i tượng"
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "KhΓ΄ng thể quay lαΊ‘i cwd"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "%s sai"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "--fix-thin khΓ΄ng thể được dΓΉng mΓ  khΓ΄ng cΓ³ --stdin"
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr "tΓͺn tαΊ­p tin tαΊ­p tin gΓ³i β€œ%s” khΓ΄ng được kαΊΏt thΓΊc bαΊ±ng Δ‘uΓ΄i β€œ.pack”"
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "dΓΉng tΓΉy chọn --verify mΓ  khΓ΄ng Δ‘Ζ°a ra tΓͺn packfile"
@@ -7098,24 +7294,32 @@ msgstr "khΓ΄ng thể truy cαΊ­p cΓ’y (tree) lΓ m việc β€œ%s”"
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer <thαΊ»>[(=|:)<giΓ‘-trα»‹>])…] "
-"[<tαΊ­p-tin>…]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<thαΊ»>[(=|:)<giΓ‘-trα»‹>])…] [<tαΊ­p-tin>…]"
+
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "sα»­a cΓ‘c tαΊ­p tin tαΊ‘i chα»—"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "bα»™ dΓ² vαΊΏt cαΊ―t bỏ phαΊ§n trα»‘ng rα»—ng"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "bα»™ dΓ² vαΊΏt"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "bα»™ dΓ² vαΊΏt cαΊ§n thΓͺm"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "khΓ΄ng Δ‘Ζ°a ra tαΊ­p tin Δ‘αΊ§u vΓ o để sα»­a tαΊ‘i-chα»—"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<cΓ‘c-tΓΉy-chọn>] [<vΓΉng-xem-xΓ©t>] [[--] <đường-dαΊ«n>…]"
@@ -7169,220 +7373,224 @@ msgstr "KhΓ΄ng thể đọc Δ‘α»‘i tượng %s"
msgid "Unknown type: %d"
msgstr "KhΓ΄ng nhαΊ­n ra kiểu: %d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "format.headers khΓ΄ng cΓ³ giΓ‘ trα»‹ cα»₯ thể"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "tΓͺn cα»§a thΖ° mα»₯c kαΊΏt xuαΊ₯t quΓ‘ dΓ i"
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "KhΓ΄ng thể mở tαΊ­p tin miαΊΏng vΓ‘: %s"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "CαΊ§n chΓ­nh xΓ‘c mα»™t vΓΉng."
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "KhΓ΄ng phαΊ£i lΓ  mα»™t vΓΉng."
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "β€œCover letter” cαΊ§n cho Δ‘α»‹nh dαΊ‘ng thΖ°"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "in-reply-to Δ‘iΓͺn rα»“: %s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<cΓ‘c-tΓΉy-chọn>] [<kể-tα»«> | <vΓΉng-xem-xΓ©t>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "Hai thΖ° mα»₯c kαΊΏt xuαΊ₯t?"
-#: builtin/log.c:1210
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "dΓΉng [PATCH n/m] ngay cαΊ£ vα»›i miαΊΏng vΓ‘ Δ‘Ζ‘n"
-#: builtin/log.c:1213
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "dΓΉng [VÁ] ngay cαΊ£ vα»›i cΓ‘c miαΊΏng vΓ‘ phα»©c tαΊ‘p"
-#: builtin/log.c:1217
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "hiển thα»‹ miαΊΏng vΓ‘ ra Δ‘αΊ§u ra chuαΊ©n"
-#: builtin/log.c:1219
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "tẑo bì thư"
-#: builtin/log.c:1221
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr "sα»­ dα»₯ng chα»—i dΓ£y sα»‘ dαΊ‘ng Δ‘Ζ‘n giαΊ£n cho tΓͺn tαΊ­p-tin xuαΊ₯t ra"
-#: builtin/log.c:1222
+#: builtin/log.c:1226
msgid "sfx"
msgstr "sfx"
-#: builtin/log.c:1223
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "sα»­ dα»₯ng <sfx> thay cho β€œ.patch”"
-#: builtin/log.c:1225
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr "bắt đầu đÑnh số miếng vÑ từ <n> thay vì 1"
-#: builtin/log.c:1227
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "Δ‘Γ‘nh dαΊ₯u chuα»—i nα»‘i tiαΊΏp dαΊ‘ng thα»©-N re-roll"
-#: builtin/log.c:1229
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "DΓΉng [<tiền-tα»‘>] thay cho [VÁ]"
-#: builtin/log.c:1232
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "lΖ°u cΓ‘c tαΊ­p tin kαΊΏt quαΊ£ trong <t.mα»₯c>"
-#: builtin/log.c:1235
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "không strip/add [VÁ]"
-#: builtin/log.c:1238
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "khΓ΄ng kαΊΏt xuαΊ₯t diff (nhα»―ng khΓ‘c biệt) nhα»‹ phΓ’n"
-#: builtin/log.c:1240
+#: builtin/log.c:1244
+msgid "output all-zero hash in From header"
+msgstr "xuαΊ₯t mọi mΓ£ bΔƒm all-zero trong phαΊ§n Δ‘αΊ§u From"
+
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr "khΓ΄ng bao gα»“m miαΊΏng vΓ‘ khα»›p vα»›i mα»™t lαΊ§n chuyển giao thượng nguα»“n"
-#: builtin/log.c:1242
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr "hiển thα»‹ Δ‘α»‹nh dαΊ‘ng miαΊΏng vΓ‘ thay vΓ¬ mαΊ·c Δ‘α»‹nh (miαΊΏng vΓ‘ + thα»‘ng kΓͺ)"
-#: builtin/log.c:1244
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "Lời nhắn"
-#: builtin/log.c:1245
+#: builtin/log.c:1251
msgid "header"
msgstr "Δ‘αΊ§u đề thΖ°"
-#: builtin/log.c:1246
+#: builtin/log.c:1252
msgid "add email header"
msgstr "thΓͺm Δ‘αΊ§u đề thΖ°"
-#: builtin/log.c:1247 builtin/log.c:1249
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "thΖ° Δ‘iện tα»­"
-#: builtin/log.c:1247
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "thΓͺm To: Δ‘αΊ§u đề thΖ°"
-#: builtin/log.c:1249
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "thΓͺm Cc: Δ‘αΊ§u đề thΖ°"
-#: builtin/log.c:1251
+#: builtin/log.c:1257
msgid "ident"
msgstr "thα»₯t lề"
-#: builtin/log.c:1252
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr ""
"Δ‘αΊ·t β€œΔα»‹a chỉ gα»­i” thΓ nh <thα»₯ lề> (hoαΊ·c thα»₯t lề người commit nαΊΏu bỏ quΓͺn)"
-#: builtin/log.c:1254
+#: builtin/log.c:1260
msgid "message-id"
msgstr "message-id"
-#: builtin/log.c:1255
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "dΓΉng thΖ° Δ‘αΊ§u tiΓͺn để trαΊ£ lời <message-id>"
-#: builtin/log.c:1256 builtin/log.c:1259
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "ranh giα»›i"
-#: builtin/log.c:1257
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "đính kèm miếng vÑ"
-#: builtin/log.c:1260
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "dΓΉng miαΊΏng vΓ‘ lΓ m nα»™i dung"
-#: builtin/log.c:1264
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr "cho phΓ©p luα»“ng lời nhαΊ―n, kiểu: β€œshallow”, β€œdeep”"
-#: builtin/log.c:1266
+#: builtin/log.c:1272
msgid "signature"
msgstr "chα»― kΓ½"
-#: builtin/log.c:1267
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "thΓͺm chα»― kΓ½"
-#: builtin/log.c:1269
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "thΓͺm chα»― kΓ½ tα»« mα»™t tαΊ­p tin"
-#: builtin/log.c:1270
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "khΓ΄ng hiển thα»‹ cΓ‘c tΓͺn tαΊ­p tin cα»§a miαΊΏng vΓ‘"
-#: builtin/log.c:1359
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "-n vΓ  -k loαΊ‘i tα»« lαΊ«n nhau."
-#: builtin/log.c:1361
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "--subject-prefix vΓ  -k xung khαΊ―c nhau."
-#: builtin/log.c:1369
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "--name-only không hợp lý"
-#: builtin/log.c:1371
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "--name-status không hợp lý"
-#: builtin/log.c:1373
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "--check không hợp lý"
-#: builtin/log.c:1396
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "Δ‘αΊ§u ra chuαΊ©n, hay thΖ° mα»₯c, chọn cΓ‘i nΓ o?"
-#: builtin/log.c:1398
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "KhΓ΄ng thể tαΊ‘o thΖ° mα»₯c β€œ%s”"
-#: builtin/log.c:1495
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "khΓ΄ng thể đọc tαΊ­p tin chα»― kΓ½ β€œ%s”"
-#: builtin/log.c:1558
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "GαΊ·p lα»—i khi tαΊ‘o cΓ‘c tαΊ­p tin kαΊΏt xuαΊ₯t"
-#: builtin/log.c:1606
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<thượng-nguα»“n> [<Δ‘αΊ§u> [<giα»›i-hαΊ‘n>]]]"
-#: builtin/log.c:1660
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
@@ -7390,106 +7598,156 @@ msgstr ""
"KhΓ΄ng tΓ¬m thαΊ₯y nhΓ‘nh mαΊ‘ng được theo dΓ΅i, hΓ£y chỉ Δ‘α»‹nh <thượng-nguα»“n> mα»™t "
"cΓ‘ch thα»§ cΓ΄ng.\n"
-#: builtin/log.c:1671 builtin/log.c:1673 builtin/log.c:1685
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "KhΓ΄ng hiểu lαΊ§n chuyển giao %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<cΓ‘c-tΓΉy-chọn>] [<tαΊ­p-tin>…]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "nhαΊ­n dαΊ‘ng cΓ‘c trαΊ‘ng thΓ‘i tαΊ­p tin vα»›i thαΊ»"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr ""
"dΓΉng chα»― cΓ‘i viαΊΏt thường cho cΓ‘c tαΊ­p tin β€œassume unchanged” (giαΊ£ Δ‘α»‹nh khΓ΄ng "
"thay Δ‘α»•i)"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin được nhα»› tαΊ‘m vΓ o Δ‘αΊ§u ra (mαΊ·c Δ‘α»‹nh)"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin Δ‘Γ£ xΓ³a trong kαΊΏt xuαΊ₯t"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin Δ‘Γ£ bα»‹ sα»­a Δ‘α»•i ra kαΊΏt xuαΊ₯t"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin khΓ‘c trong kαΊΏt xuαΊ₯t"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin bα»‹ bỏ qua trong kαΊΏt xuαΊ₯t"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr "hiển thα»‹ tΓͺn Δ‘α»‘i tượng cα»§a nα»™i dung được Δ‘αΊ·t lΓͺn bệ phΓ³ng ra kαΊΏt xuαΊ₯t"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin trΓͺn hệ thα»‘ng tαΊ­p tin mΓ  nΓ³ cαΊ§n được gα»‘ bỏ"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "chỉ hiển thα»‹ tΓͺn cα»§a cΓ‘c thΖ° mα»₯c β€œkhΓ‘c”"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "hiển thα»‹ kαΊΏt thΓΊc dΓ²ng cα»§a cΓ‘c tαΊ­p tin"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "khΓ΄ng hiển thα»‹ thΖ° mα»₯c rα»—ng"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "hiển thα»‹ cΓ‘c tαΊ­p tin chΖ°a hΓ²a trα»™n trong kαΊΏt xuαΊ₯t"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "hiển thα»‹ thΓ΄ng tin resolve-undo"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "bỏ qua nhα»―ng tαΊ­p tin khα»›p vα»›i mα»™t mαΊ«u"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "mαΊ«u loαΊ‘i trα»« được đọc tα»« <tαΊ­p tin>"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "đọc thΓͺm cΓ‘c mαΊ«u ngoαΊ‘i trα»« mα»—i thΖ° mα»₯c trong <tαΊ­p tin>"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "thΓͺm loαΊ‘i trα»« tiΓͺu chuαΊ©n kiểu git"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "lΓ m cho kαΊΏt xuαΊ₯t liΓͺn quan Δ‘αΊΏn thΖ° mα»₯c ở mα»©c cao nhαΊ₯t (gα»‘c) cα»§a dα»± Γ‘n"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "nαΊΏu <tαΊ­p tin> bαΊ₯t kα»³ khΓ΄ng ở trong bαΊ£ng mα»₯c lα»₯c, xα»­ lΓ½ nΓ³ nhΖ° mα»™t lα»—i"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "tree-ish"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr ""
"giαΊ£ Δ‘α»‹nh rαΊ±ng cΓ‘c đường dαΊ«n Δ‘Γ£ bα»‹ gα»‘ bỏ kể tα»« <tree-ish> nay vαΊ«n hiện diện"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "hiển thα»‹ dα»― liệu gα»‘ lα»—i"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<kho> [<cΓ‘c tham chiαΊΏu>…]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "khΓ΄ng hiển thα»‹ URL mΓ‘y chα»§"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "thα»±c thi"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "đường dαΊ«n cα»§a git-upload-pack trΓͺn mΓ‘y chα»§"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "giα»›i hαΊ‘n tα»›i cΓ‘c thαΊ»"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "giα»›i hαΊ‘n cho cΓ‘c Δ‘αΊ§u"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "khΓ΄ng hiển thα»‹ thαΊ» bα»‹ peel (gọt bỏ)"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "lαΊ₯y url.<base>.insteadOf vΓ o trong tΓ i khoαΊ£n"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "thoΓ‘t vα»›i mΓ£ lΓ  2 nαΊΏu khΓ΄ng tΓ¬m thαΊ₯y tham chiαΊΏu nΓ o khα»›p"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "hiển thα»‹ tham chiαΊΏu nαΊ±m dΖ°α»›i để thΓͺm vΓ o Δ‘α»‘i tượng được chỉ bởi nΓ³"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<cΓ‘c-tΓΉy-chọn>] <tree-ish> [<đường-dαΊ«n>…]"
@@ -7557,31 +7815,31 @@ msgstr "CÑc chiến lược sạn sàng là:"
msgid "Available custom strategies are:"
msgstr "CΓ‘c chiαΊΏn lược tΓΉy chỉnh sαΊ΅n sΓ ng lΓ :"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr "khΓ΄ng hiển thα»‹ thα»‘ng kΓͺ khΓ‘c biệt tαΊ‘i cuα»‘i cα»§a lαΊ§n hΓ²a trα»™n"
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "hiển thα»‹ thα»‘ng kΓͺ khΓ‘c biệt tαΊ‘i cuα»‘i cα»§a hΓ²a trα»™n"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "(Δ‘α»“ng nghΔ©a vα»›i --stat)"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr "thΓͺm (Γ­t nhαΊ₯t <n>) mα»₯c tα»« shortlog cho ghi chΓΊ chuyển giao hΓ²a trα»™n"
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr "tαΊ‘o mα»™t lαΊ§n chuyển giao Δ‘Ζ°on thay vΓ¬ thα»±c hiện việc hΓ²a trα»™n"
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "thα»±c hiện chuyển giao nαΊΏu hΓ²a trα»™n thΓ nh cΓ΄ng (mαΊ·c Δ‘α»‹nh)"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "sα»­a chΓΊ thΓ­ch trΖ°α»›c khi chuyển giao"
@@ -7589,7 +7847,7 @@ msgstr "sα»­a chΓΊ thΓ­ch trΖ°α»›c khi chuyển giao"
msgid "allow fast-forward (default)"
msgstr "cho phΓ©p chuyển-tiαΊΏp-nhanh (mαΊ·c Δ‘α»‹nh)"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr "bỏ qua nαΊΏu chuyển-tiαΊΏp-nhanh khΓ΄ng thể được"
@@ -7597,20 +7855,20 @@ msgstr "bỏ qua nαΊΏu chuyển-tiαΊΏp-nhanh khΓ΄ng thể được"
msgid "Verify that the named commit has a valid GPG signature"
msgstr "ThαΊ©m tra xem lαΊ§n chuyển giao cΓ³ tΓͺn Δ‘Γ³ cΓ³ chα»― kΓ½ GPG hợp lệ hay khΓ΄ng"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "chiến lược"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "chiαΊΏn lược hΓ²a trα»™n sαΊ½ dΓΉng"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "tΓΉy_chọn=giΓ‘_trα»‹"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "tΓΉy chọn cho chiαΊΏn lược hΓ²a trα»™n Δ‘Γ£ chọn"
@@ -7650,8 +7908,8 @@ msgstr " (khΓ΄ng cΓ³ gΓ¬ để squash)"
msgid "Squash commit -- not updating HEAD\n"
msgstr "Squash commit -- khΓ΄ng cαΊ­p nhαΊ­t HEAD\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "KhΓ΄ng thể ghi vΓ o β€œ%s”"
@@ -7669,43 +7927,43 @@ msgstr "HoΓ n thΓ nh SQUASH_MSG"
msgid "No merge message -- not updating HEAD\n"
msgstr "KhΓ΄ng cΓ³ lời chΓΊ thΓ­ch hΓ²a trα»™n -- nΓͺn khΓ΄ng cαΊ­p nhαΊ­t HEAD\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "β€œ%s” khΓ΄ng chỉ Δ‘αΊΏn mα»™t lαΊ§n chuyển giao nΓ o cαΊ£"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "Chuα»—i branch.%s.mergeoptions sai: %s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
msgstr "Không cầm nắm gì ngoài hai head hòa trộn"
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "KhΓ΄ng hiểu tΓΉy chọn cho merge-recursive: -X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "khΓ΄ng thể ghi %s"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "KhΓ΄ng thể đọc tα»« β€œ%s”"
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr ""
"VαΊ«n chΖ°a hΓ²a trα»™n cΓ‘c lαΊ§n chuyển giao; sα»­ dα»₯ng lệnh β€œgit commit” để hoΓ n tαΊ₯t "
"việc hΓ²a trα»™n.\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7723,55 +7981,55 @@ msgstr ""
"rα»—ng\n"
"sαΊ½ hα»§y bỏ lαΊ§n chuyển giao.\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "ChΓΊ thΓ­ch cα»§a lαΊ§n commit (chuyển giao) bα»‹ trα»‘ng rα»—ng."
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "Tuyệt vời.\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr ""
"Việc tα»± Δ‘α»™ng hΓ²a trα»™n gαΊ·p lα»—i; hΓ£y sα»­a cΓ‘c xung Δ‘α»™t sau Δ‘Γ³ chuyển giao kαΊΏt "
"quαΊ£.\n"
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "%s khΓ΄ng phαΊ£i lΓ  mα»™t lαΊ§n commit (chuyển giao)"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "khΓ΄ng phαΊ£i nhΓ‘nh hiện hΓ nh"
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "KhΓ΄ng cΓ³ mΓ‘y chα»§ cho nhΓ‘nh hiện hΓ nh."
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr "KhΓ΄ng cΓ³ thượng nguα»“n mαΊ·c Δ‘α»‹nh được Δ‘α»‹nh nghΔ©a cho nhΓ‘nh hiện hΓ nh."
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "KhΓ΄ng nhΓ‘nh mαΊ‘ng theo dΓ΅i cho %s tα»« %s"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "khΓ΄ng thể Δ‘Γ³ng β€œ%s”"
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr ""
"Ở Δ‘Γ’y khΓ΄ng cΓ³ lαΊ§n hΓ²a trα»™n nΓ o được hα»§y bỏ giα»―a chα»«ng cαΊ£ (thiαΊΏu MERGE_HEAD)."
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7779,7 +8037,7 @@ msgstr ""
"BαΊ‘n chΖ°a kαΊΏt thΓΊc việc hΓ²a trα»™n (MERGE_HEAD vαΊ«n tα»“n tαΊ‘i).\n"
"HΓ£y chuyển giao cΓ‘c thay Δ‘α»•i trΖ°α»›c khi bαΊ‘n cΓ³ thể hΓ²a trα»™n."
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7787,103 +8045,103 @@ msgstr ""
"BαΊ‘n chΖ°a kαΊΏt thΓΊc việc cherry-pick (CHERRY_PICK_HEAD vαΊ«n tα»“n tαΊ‘i).\n"
"HΓ£y chuyển giao cΓ‘c thay Δ‘α»•i trΖ°α»›c khi bαΊ‘n cΓ³ thể hΓ²a trα»™n."
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr "BαΊ‘n chΖ°a kαΊΏt thΓΊc việc cherry-pick (CHERRY_PICK_HEAD vαΊ«n tα»“n tαΊ‘i)."
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "BαΊ‘n khΓ΄ng thể kαΊΏt hợp --squash vα»›i --no-ff."
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr "KhΓ΄ng chỉ ra lαΊ§n chuyển giao vΓ  merge.defaultToUpstream chΖ°a được Δ‘αΊ·t."
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
msgstr "Squash commit vΓ o mα»™t head trα»‘ng rα»—ng vαΊ«n chΖ°a được hα»— trợ"
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr ""
"Chuyển giao khΓ΄ng-chuyển-tiαΊΏp-nhanh khΓ΄ng hợp lΓ½ ở trong mα»™t head trα»‘ng rα»—ng"
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s - khΓ΄ng phαΊ£i lΓ  mα»™t sα»‘ thα»© chΓΊng tΓ΄i cΓ³ thể hΓ²a trα»™n"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
msgstr ""
"KhΓ΄ng thể hΓ²a trα»™n mα»™t cΓ‘ch Δ‘ΓΊng Δ‘αΊ―n mα»™t lαΊ§n chuyển giao vΓ o mα»™t head rα»—ng"
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr ""
"LαΊ§n chuyển giao %s cΓ³ mα»™t chα»― kΓ½ GPG khΓ΄ng Δ‘Γ‘ng tin, được cho lΓ  bởi %s."
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr "LαΊ§n chuyển giao %s cΓ³ mα»™t chα»― kΓ½ GPG sai, được cho lΓ  bởi %s."
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "LαΊ§n chuyển giao %s khΓ΄ng cΓ³ chα»― kΓ½ GPG."
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr "LαΊ§n chuyển giao %s cΓ³ mα»™t chα»― kΓ½ GPG tα»‘t bởi %s\n"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "Đang cập nhật %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "Đang thα»­ hΓ²a trα»™n kiểu β€œtrivial in-index”…\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "KhΓ΄ng.\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr "Thα»±c hiện lệnh chuyển-tiαΊΏp-nhanh lΓ  khΓ΄ng thể được, Δ‘ang bỏ qua."
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "Đang tua lαΊ‘i cΓ’y thΓ nh thời xa xΖ°a…\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "Đang thα»­ chiαΊΏn lược hΓ²a trα»™n %s…\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr "KhΓ΄ng cΓ³ chiαΊΏn lược hΓ²a trα»™n nΓ o được nαΊ―m giα»― (handle) sα»± hΓ²a trα»™n.\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "HΓ²a trα»™n vα»›i chiαΊΏn lược %s gαΊ·p lα»—i.\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr "Sα»­ dα»₯ng %s để chuαΊ©n bα»‹ giαΊ£i quyαΊΏt bαΊ±ng tay.\n"
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr ""
@@ -7970,19 +8228,19 @@ msgstr "khΓ΄ng cαΊ£nh bΓ‘o về cΓ‘c xung Δ‘α»™t xαΊ£y ra"
msgid "set labels for file1/orig-file/file2"
msgstr "Δ‘αΊ·t nhΓ£n cho tαΊ­p-tin-1/tαΊ­p-tin-gα»‘c/tαΊ­p-tin-2"
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr "Δ‘αΊ§u vΓ o được chαΊ₯m dα»©t bởi NUL"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "cho phΓ©p thiαΊΏu Δ‘α»‘i tượng"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "cho phΓ©p tαΊ‘o nhiều hΖ‘n mα»™t cΓ’y"
@@ -7990,91 +8248,91 @@ msgstr "cho phΓ©p tαΊ‘o nhiều hΖ‘n mα»™t cΓ’y"
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<cΓ‘c-tΓΉy-chọn>] <nguα»“n>… <Δ‘Γ­ch>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "ThΖ° mα»₯c β€œ%s” cΓ³ ở trong chỉ mα»₯c mΓ  khΓ΄ng cΓ³ mΓ΄-Δ‘un con?"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr ""
"HΓ£y Δ‘Ζ°a cΓ‘c thay Δ‘α»•i cα»§a bαΊ‘n vΓ o .gitmodules hay tαΊ‘m cαΊ₯t chΓΊng Δ‘i để xα»­ lΓ½"
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s trong bαΊ£ng mα»₯c lα»₯c"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "Γ©p buα»™c di chuyển hay Δ‘α»•i tΓͺn thαΊ­m chΓ­ cαΊ£ khi Δ‘Γ­ch Δ‘Γ£ tα»“n tαΊ‘i"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "bỏ qua cΓ‘c lα»—i liΓͺn quan Δ‘αΊΏn di chuyển, Δ‘α»•i tΓͺn"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "cΓ³ Δ‘Γ­ch β€œ%s” nhΖ°ng Δ‘Γ’y khΓ΄ng phαΊ£i lΓ  mα»™t thΖ° mα»₯c"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "Đang kiểm tra việc Δ‘α»•i tΓͺn cα»§a β€œ%s” thΓ nh β€œ%s”\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "nguα»“n sai"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "khΓ΄ng thể di chuyển mα»™t thΖ° mα»₯c vΓ o trong chΓ­nh nΓ³ được"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "khΓ΄ng di chuyển được thΖ° mα»₯c thΓ΄ng qua tαΊ­p tin"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "thΖ° mα»₯c nguα»“n lΓ  trα»‘ng rα»—ng"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "khΓ΄ng nαΊ±m dΖ°α»›i sα»± quαΊ£n lΓ½ mΓ£ nguα»“n"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "Δ‘Γ­ch Δ‘Γ£ tα»“n tαΊ‘i sαΊ΅n rα»“i"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "Δ‘ang ghi Δ‘Γ¨ lΓͺn β€œ%s”"
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "KhΓ΄ng thể ghi Δ‘Γ¨"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "Nhiều nguα»“n cho cΓΉng mα»™t Δ‘Γ­ch"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "thΖ° mα»₯c Δ‘Γ­ch khΓ΄ng tα»“n tαΊ‘i"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s, nguα»“n=%s, Δ‘Γ­ch=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Đổi tΓͺn %s thΓ nh %s\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "gαΊ·p lα»—i khi Δ‘α»•i tΓͺn β€œ%s”"
@@ -8274,9 +8532,9 @@ msgid "could not open or read '%s'"
msgstr "khΓ΄ng thể mở hay đọc β€œ%s”"
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "GαΊ·p lα»—i khi phΓ’n giαΊ£i β€œ%s” nhΖ° lΓ  mα»™t tham chiαΊΏu hợp lệ."
@@ -8291,42 +8549,42 @@ msgstr "GαΊ·p lα»—i khi đọc Δ‘α»‘i tượng β€œ%s”."
msgid "Cannot read note data from non-blob object '%s'."
msgstr "khΓ΄ng thể đọc dα»― liệu ghi chΓΊ tα»« Δ‘α»‘i tượng khΓ΄ng-blob β€œ%s”."
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "quΓ‘ nhiều Δ‘α»‘i sα»‘"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "khΓ΄ng tΓ¬m thαΊ₯y ghi chΓΊ cho Δ‘α»‘i tượng %s."
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "nα»™i dung ghi chΓΊ (note) nαΊ±m trong mα»™t chuα»—i"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "nα»™i dung ghi chΓΊ (note) nαΊ±m trong mα»™t tαΊ­p tin"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "dΓΉng lαΊ‘i nhΖ°ng cΓ³ sα»­a chα»―a Δ‘α»‘i tượng note Δ‘Γ£ chỉ ra"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "dΓΉng lαΊ‘i Δ‘α»‘i tượng ghi chΓΊ (note) Δ‘Γ£ chỉ ra"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "cho lΖ°u trα»― ghi chΓΊ trα»‘ng rα»—ng"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "thay thαΊΏ ghi chΓΊ trΖ°α»›c"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8335,29 +8593,29 @@ msgstr ""
"KhΓ΄ng thể thΓͺm cΓ‘c ghi chΓΊ. Đã tΓ¬m thαΊ₯y cΓ‘c ghi chΓΊ Δ‘Γ£ cΓ³ sαΊ΅n cho Δ‘α»‘i tượng "
"%s. Sα»­ dα»₯ng tΓΉy chọn β€œ-f” để ghi Δ‘Γ¨ lΓͺn cΓ‘c ghi chΓΊ cΕ©"
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "Đang ghi Δ‘Γ¨ lΓͺn ghi chΓΊ cΕ© cho Δ‘α»‘i tượng %s\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "Đang gα»‘ bỏ ghi chΓΊ (note) cho Δ‘α»‘i tượng %s\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "đọc cΓ‘c Δ‘α»‘i tượng tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr "tαΊ£i cαΊ₯u hΓ¬nh chΓ©p lαΊ‘i cho <lệnh> (ngαΊ§m Δ‘α»‹nh lΓ  --stdin)"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "quΓ‘ Γ­t Δ‘α»‘i sα»‘"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
@@ -8366,12 +8624,12 @@ msgstr ""
"KhΓ΄ng thể sao chΓ©p cΓ‘c ghi chΓΊ. Đã tΓ¬m thαΊ₯y cΓ‘c ghi chΓΊ Δ‘Γ£ cΓ³ sαΊ΅n cho Δ‘α»‘i "
"tượng %s. Sα»­ dα»₯ng tΓΉy chọn β€œ-f” để ghi Δ‘Γ¨ lΓͺn cΓ‘c ghi chΓΊ cΕ©"
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "ThiαΊΏu ghi chΓΊ trΓͺn Δ‘α»‘i tượng nguα»“n %s. KhΓ΄ng thể sao chΓ©p."
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8380,15 +8638,15 @@ msgstr ""
"CΓ‘c tΓΉy chọn -m/-F/-c/-C Δ‘Γ£ cα»• khΓ΄ng cΓ²n dΓΉng nα»―a cho lệnh con β€œedit”.\n"
"Xin hΓ£y sα»­ dα»₯ng lệnh sau để thay thαΊΏ: β€œgit notes add -f -m/-F/-c/-C”.\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "Tùy chọn chung"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "TΓΉy chọn về hΓ²a trα»™n"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
@@ -8396,51 +8654,51 @@ msgstr ""
"phΓ’n giαΊ£i cΓ‘c xung Δ‘α»™t β€œnotes” sα»­ dα»₯ng chiαΊΏn lược Δ‘Γ£ Δ‘Ζ°a ra (manual/ours/"
"theirs/union/cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "Chuyển giao cΓ‘c note chΖ°a được hΓ²a trα»™n"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr ""
"cΓ‘c note cuα»‘i cΓΉng được hΓ²a trα»™n bởi cΓ‘c note chΖ°a hΓ²a trα»™n cα»§a lαΊ§n chuyển "
"giao"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "Hα»§y bỏ phΓ’n giαΊ£i ghi chΓΊ (note) hΓ²a trα»™n"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "bỏ qua hΓ²a trα»™n cΓ‘c ghi chΓΊ (note)"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "CÑc ghi chú hòa trộn vào %s đã sạn trong quÑ trình xử lý tẑi %s"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "Đối tượng %s khΓ΄ng cΓ³ ghi chΓΊ (note)\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr "cα»‘ gαΊ―ng gα»‘ bỏ mα»™t note chΖ°a tα»«ng tα»“n tαΊ‘i khΓ΄ng phαΊ£i lΓ  mα»™t lα»—i"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "đọc tΓͺn Δ‘α»‘i tượng tα»« thiαΊΏt bα»‹ nhαΊ­p chuαΊ©n"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "notes-ref"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "dΓΉng β€œnotes” tα»« <notes-ref>"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr "KhΓ΄ng hiểu cΓ’u lệnh con: %s"
@@ -8464,166 +8722,166 @@ msgstr ""
msgid "deflate error (%d)"
msgstr "lα»—i giαΊ£i nΓ©n (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "Đang ghi lαΊ‘i cΓ‘c Δ‘α»‘i tượng"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr "tαΊ―t ghi bitmap, nhΖ° vαΊ­y mα»™t sα»‘ Δ‘α»‘i tượng sαΊ½ khΓ΄ng được Δ‘Γ³ng gΓ³i"
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "Đang nΓ©n cΓ‘c Δ‘α»‘i tượng"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "phiΓͺn bαΊ£n mα»₯c lα»₯c khΓ΄ng được hα»— trợ %s"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "phiΓͺn bαΊ£n mα»₯c lα»₯c sai β€œ%s”"
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "khΓ΄ng hiển thα»‹ bα»™ Δ‘o tiαΊΏn trΓ¬nh"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "hiển thα»‹ bα»™ Δ‘o tiαΊΏn trΓ¬nh"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr "hiển thα»‹ bα»™ Δ‘o tiαΊΏn triển trong suα»‘t pha ghi Δ‘α»‘i tượng"
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
msgstr "tΖ°Ζ‘ng tα»± --all-progress khi bα»™ Δ‘o tiαΊΏn trΓ¬nh được xuαΊ₯t hiện"
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "phiΓͺn bαΊ£n[,offset]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr "ghi tαΊ­p tin bαΊ£ng mα»₯c lα»₯c gΓ³i (pack) ở phiΓͺn bαΊ£n Δ‘α»‹nh dαΊ‘ng idx Δ‘Γ£ cho"
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "kcΓ­h thΖ°α»›c tα»‘i Δ‘a cho tαΊ­p tin gΓ³i được tαΊ‘o"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr "bỏ qua cΓ‘c Δ‘α»‘i tượng vay mượn tα»« kho Δ‘α»‘i tượng thay thαΊΏ"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "bỏ qua cΓ‘c Δ‘α»‘i tượng Δ‘Γ³ng gΓ³i"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "giα»›i hαΊ‘n cα»­a sα»• Δ‘Γ³ng gΓ³i theo Δ‘α»‘i tượng"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr "giα»›i hαΊ‘n cα»­a sα»• Δ‘Γ³ng gΓ³i theo bα»™ nhα»› cα»™ng thΓͺm vα»›i giα»›i hαΊ‘n Δ‘α»‘i tượng"
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr "Δ‘α»™ dΓ i tα»‘i Δ‘a cα»§a chuα»—i mΓ³c xΓ­ch β€œdelta” được phΓ©p trong gΓ³i kαΊΏt quαΊ£"
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "dΓΉng lαΊ‘i cΓ‘c delta sαΊ΅n cΓ³"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "dΓΉng lαΊ‘i cΓ‘c Δ‘α»‘i tượng sαΊ΅n cΓ³"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "dΓΉng cΓ‘c Δ‘α»‘i tượng OFS_DELTA"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr "sα»­ dα»₯ng cΓ‘c tuyαΊΏn trΓ¬nh khi tΓ¬m kiαΊΏm cho cΓ‘c mαΊ«u khα»›p delta tα»‘t nhαΊ₯t"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "khΓ΄ng thể tαΊ‘o kαΊΏt xuαΊ₯t gΓ³i trα»‘ng rα»—ng"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr " đọc tham sα»‘ β€œrevision” tα»« thiαΊΏt bα»‹ nhαΊ­p chuαΊ©n"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr "giα»›i hαΊ‘n cΓ‘c Δ‘α»‘i tượng thΓ nh nhα»―ng cΓ‘i mΓ  chΓΊng vαΊ«n chΖ°a được Δ‘Γ³ng gΓ³i"
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "bao gα»“m cΓ‘c Δ‘α»‘i tượng cΓ³ thể đọc được tα»« bαΊ₯t kα»³ tham chiαΊΏu nΓ o"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr "bao gα»“m cΓ‘c Δ‘α»‘i tượng được tham chiαΊΏu bởi cΓ‘c mα»₯c reflog"
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "bao gα»“m cΓ‘c Δ‘α»‘i tượng được tham chiαΊΏu bởi mα»₯c lα»₯c"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "xuαΊ₯t gΓ³i ra Δ‘αΊ§u ra tiΓͺu chuαΊ©n"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr "bao gα»“m cΓ‘c Δ‘α»‘i tượng tham chiαΊΏu Δ‘αΊΏn cΓ‘c Δ‘α»‘i tượng được Δ‘Γ³ng gΓ³i"
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "giα»― lαΊ‘i cΓ‘c Δ‘α»‘i tượng khΓ΄ng thể đọc được"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "thời-gian"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr ""
"xαΊ£ nΓ©n (gα»‘ khỏi gΓ³i) cΓ‘c Δ‘α»‘i tượng khΓ΄ng thể đọc được mα»›i hΖ‘n <thời-gian>"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "tαΊ‘o gΓ³i nhαΊΉ"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr "tαΊ‘o gΓ³i để phΓΉ hợp cho lαΊ₯y về nΓ΄ng (shallow)"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "bỏ qua cΓ‘c gΓ³i mΓ  nΓ³ cΓ³ tαΊ­p tin .keep Δ‘i kΓ¨m"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "mα»©c nΓ©n gΓ³i"
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "khΓ΄ng αΊ©n cΓ‘c lαΊ§n chuyển giao bởi β€œgrafts”"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr "dΓΉng mα»₯c lα»₯c Γ‘nh xαΊ‘ nαΊΏu cΓ³ thể được để nΓ’ng cao tα»‘c Δ‘α»™ Δ‘αΊΏm Δ‘α»‘i tượng"
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr "ghi mα»™t mα»₯c lα»₯c Γ‘nh xαΊ‘ cΓΉng vα»›i mα»₯c lα»₯c gΓ³i"
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "Đang Δ‘αΊΏm cΓ‘c Δ‘α»‘i tượng"
@@ -8667,50 +8925,54 @@ msgstr "cΓ‘c Δ‘α»‘i tượng hαΊΏt hαΊ‘n cΕ© hΖ‘n khoαΊ£ng <thời gian>"
msgid "cannot prune in a precious-objects repo"
msgstr "khΓ΄ng thể tỉa bα»›t trong mα»™t kho Δ‘α»‘i_tượng_vΔ©_Δ‘αΊ‘i"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<cΓ‘c-tΓΉy-chọn>] [<kho-chα»©a> [<refspec>…]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "CΓ‘c tΓΉy chọn liΓͺn quan Δ‘αΊΏn hΓ²a trα»™n"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "cΓ‘c thay Δ‘α»•i hợp nhαΊ₯t bαΊ±ng cαΊ£i tα»• thay vΓ¬ hΓ²a trα»™n"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "cho phΓ©p chuyển-tiαΊΏp-nhanh"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "thαΊ©m tra xem lαΊ§n chuyển giao cΓ³ tΓͺn Δ‘Γ³ cΓ³ chα»― kΓ½ GPG hợp lệ hay khΓ΄ng"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr "CΓ‘c tΓΉy chọn liΓͺn quan Δ‘αΊΏn lệnh lαΊ₯y về"
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "sα»‘ lượng mΓ΄-Δ‘un-con được Δ‘αΊ©y lΓͺn Δ‘α»“ng thời"
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "GiΓ‘ trα»‹ khΓ΄ng hợp lệ cho pull.ff: %s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr ""
"KhΓ΄ng thể pull vα»›i cαΊ£i tα»•: BαΊ‘n cΓ³ cΓ‘c thay Δ‘α»•i chΖ°a được Δ‘Ζ°a lΓͺn bệ phΓ³ng."
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr ""
"ThΓͺm vΓ o Δ‘Γ³, bαΊ£ng mα»₯c lα»₯c cα»§a bαΊ‘n cΓ³ chα»©a cΓ‘c thay Δ‘α»•i chΖ°a được chuyển giao."
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr "KhΓ΄ng thể pull vα»›i cαΊ£i tα»•: BαΊ‘n cΓ³ cΓ‘c thay Δ‘α»•i chΖ°a được chuyển giao."
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
@@ -8718,14 +8980,14 @@ msgstr ""
"Ở Δ‘Γ’y khΓ΄ng cΓ³ α»©ng cα»­ nΓ o để cαΊ£i tα»• lαΊ‘i trong sα»‘ cΓ‘c tham chiαΊΏu mΓ  bαΊ‘n vα»«a "
"lαΊ₯y về."
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr ""
"Ở Δ‘Γ’y khΓ΄ng cΓ³ α»©ng cα»­ nΓ o để hΓ²a trα»™n trong sα»‘ cΓ‘c tham chiαΊΏu mΓ  bαΊ‘n vα»«a lαΊ₯y "
"về."
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
@@ -8734,7 +8996,7 @@ msgstr ""
"tα»±\n"
"Δ‘αΊ‘i diện mΓ  nΓ³ lαΊ‘i khΓ΄ng khα»›p trΓͺn Δ‘iểm cuα»‘i mΓ‘y phα»₯c vα»₯."
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8746,27 +9008,27 @@ msgstr ""
"theo mαΊ·c Δ‘α»‹nh cho nhΓ‘nh hiện tαΊ‘i cα»§a bαΊ‘n, bαΊ‘n phαΊ£i chỉ Δ‘α»‹nh\n"
"mα»™t nhΓ‘nh trΓͺn dΓ²ng lệnh."
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "Hiện tαΊ‘i bαΊ‘n chαΊ³ng ở nhΓ‘nh nΓ o cαΊ£."
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr "Vui lΓ²ng chỉ Δ‘α»‹nh nhΓ‘nh nΓ o bαΊ‘n muα»‘n cαΊ£i tα»• lαΊ‘i."
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "Vui lΓ²ng chỉ Δ‘α»‹nh nhΓ‘nh nΓ o bαΊ‘n muα»‘n hΓ²a trα»™n vΓ o."
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr "Xem git-pull(1) để biαΊΏt thΓͺm chi tiαΊΏt."
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "Ở Δ‘Γ’y khΓ΄ng cΓ³ thΓ΄ng tin theo dΓ΅i cho nhΓ‘nh hiện hΓ nh."
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8779,7 +9041,7 @@ msgstr ""
" git branch --set-upstream-to=%s/<nhΓ‘nh> %s\n"
"\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
@@ -8788,13 +9050,13 @@ msgstr ""
"CΓ‘c Δ‘αΊ·c tαΊ£ cαΊ₯u hΓ¬nh cα»§a bαΊ‘n để hΓ²a trα»™n vα»›i tham chiαΊΏu β€œ%s”\n"
"tα»« mΓ‘y dα»‹ch vα»₯, nhΖ°ng khΓ΄ng cΓ³ nhΓ‘nh nΓ o nhΖ° thαΊΏ được lαΊ₯y về."
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr ""
"Đang cαΊ­p nhαΊ­t mα»™t nhΓ‘nh chΖ°a được sinh ra vα»›i cΓ‘c thay Δ‘α»•i được thΓͺm vΓ o "
"bαΊ£ng mα»₯c lα»₯c."
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8805,7 +9067,7 @@ msgstr ""
"Δ‘ang chuyển-tiαΊΏp-nhanh cΓ’y lΓ m việc cα»§a bαΊ‘n tα»«\n"
"lαΊ§n chuyển giaot %s."
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8823,27 +9085,27 @@ msgstr ""
"$ git reset --hard\n"
"để khΓ΄i phα»₯c lαΊ‘i."
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr "KhΓ΄ng thể hΓ²a trα»™n nhiều nhΓ‘nh vΓ o trong mα»™t head trα»‘ng rα»—ng."
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "KhΓ΄ng thể thα»±c hiện lệnh rebase (cαΊ£i tα»•) trΓͺn nhiều nhΓ‘nh."
-#: builtin/push.c:15
+#: builtin/push.c:16
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<cΓ‘c-tΓΉy-chọn>] [<kho-chα»©a> [<refspec>…]]"
-#: builtin/push.c:86
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "dΓΉng tα»‘c kΓ½ thαΊ» khΓ΄ng cΓ³ <thαΊ»>"
-#: builtin/push.c:96
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "--delete chỉ chαΊ₯p nhαΊ­n cΓ‘c tΓͺn tham chiαΊΏu dαΊ‘ng thường"
-#: builtin/push.c:140
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
@@ -8852,7 +9114,7 @@ msgstr ""
"Để chọn mα»—i tΓΉy chọn mα»™t cΓ‘ch cα»‘ Δ‘α»‹nh, xem push.default trong β€œgit help "
"config”."
-#: builtin/push.c:143
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -8877,7 +9139,7 @@ msgstr ""
" git push %s %s\n"
"%s"
-#: builtin/push.c:158
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -8892,7 +9154,7 @@ msgstr ""
"\n"
" git push %s HEAD:<tΓͺn-cα»§a-nhΓ‘nh-mΓ‘y-chα»§>\n"
-#: builtin/push.c:172
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -8906,12 +9168,12 @@ msgstr ""
"\n"
" git push --set-upstream %s %s\n"
-#: builtin/push.c:180
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr "NhΓ‘nh hiện tαΊ‘i %s cΓ³ nhiều nhΓ‘nh thượng nguα»“n, tα»« chα»‘i push."
-#: builtin/push.c:183
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -8923,60 +9185,14 @@ msgstr ""
"nhΓ‘nh hiện tαΊ‘i β€œ%s” cα»§a bαΊ‘n, mΓ  khΓ΄ng bΓ‘o cho tΓ΄i biαΊΏt lΓ  cΓ‘i gΓ¬ được push\n"
"để cαΊ­p nhαΊ­t nhΓ‘nh mΓ‘y chα»§ nΓ o."
-#: builtin/push.c:206
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"biαΊΏn push.default chΖ°a được Δ‘αΊ·t; giΓ‘ trα»‹ ngαΊ§m Δ‘α»‹nh cα»§a nΓ³\n"
-"Δ‘Γ£ được thay Δ‘α»•i trong Git 2.0 tα»« β€œmatching” thΓ nh β€œsimple”.\n"
-"Để khΓ΄ng hiển thα»‹ nhαΊ―c nhở nΓ y vΓ  duy trΓ¬ cΓ‘ch xα»­ lΓ½ cΕ©, hΓ£y chαΊ‘y lệnh:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"Để khΓ΄ng hiển thα»‹ nhαΊ―c nhở nΓ y vΓ  Γ‘p dα»₯ng cΓ‘ch α»©ng xα»­ mα»›i, hΓ£y chαΊ‘y lệnh:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"Khi push.default được Δ‘αΊ·t thΓ nh β€œmatching”, git sαΊ½ Δ‘αΊ©y cΓ‘c nhΓ‘nh nα»™i bα»™\n"
-"lΓͺn cΓ‘c nhΓ‘nh trΓͺn mΓ‘y chα»§, cΓ‘i mΓ  Δ‘Γ£ sαΊ΅n cΓ³ vΓ  cΓΉng tΓͺn.\n"
-"\n"
-"Trong 2.0, Git sαΊ½ mαΊ·c Δ‘α»‹nh duy trΓ¬ cΓ‘c α»©ng xα»­ β€œsimple”,\n"
-"cΓ‘i nΓ y chỉ Δ‘αΊ©y nhα»―ng nhΓ‘nh hiện hΓ nh lΓͺn cΓ‘c nhΓ‘nh tΖ°Ζ‘ng α»©ng\n"
-"trΓͺn mΓ‘y chα»§ cΓ‘i mΓ  lệnh β€œgit pull” dΓΉng để cαΊ­p nhαΊ­t nhΓ‘nh hiện tαΊ‘i.\n"
-"\n"
-"Xem β€œgit help config” vΓ  tΓ¬m Δ‘αΊΏn β€œpush.default” để cΓ³ thΓͺm thΓ΄ng tin.\n"
-"(chαΊΏ Δ‘α»™ β€œsimple” được bαΊ―t Δ‘αΊ§u sα»­ dα»₯ng tα»« Git 1.7.11. Sα»­ dα»₯ng chαΊΏ Δ‘α»™ tΖ°Ζ‘ng "
-"tα»±\n"
-"β€œcurrent” thay vΓ¬ β€œsimple” nαΊΏu bαΊ‘n thỉnh thoαΊ£ng phαΊ£i sα»­ dα»₯ng bαΊ£n Git cΕ©)"
-
-#: builtin/push.c:273
+#: builtin/push.c:242
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr ""
"BαΊ‘n Δ‘Γ£ khΓ΄ng chỉ ra mα»™t refspecs nΓ o để Δ‘αΊ©y lΓͺn, vΓ  push.default lΓ  \"khΓ΄ng "
"là gì cả\"."
-#: builtin/push.c:280
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -8989,7 +9205,7 @@ msgstr ""
"Xem β€œNote about fast-forwards” trong β€œgit push --help” để cΓ³ thΓ΄ng tin chi "
"tiαΊΏt."
-#: builtin/push.c:286
+#: builtin/push.c:255
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"
@@ -9003,7 +9219,7 @@ msgstr ""
"Xem β€œNote about fast-forwards” trong β€œgit push --help” để cΓ³ thΓ΄ng tin chi "
"tiαΊΏt."
-#: builtin/push.c:292
+#: builtin/push.c:261
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"
@@ -9018,11 +9234,11 @@ msgstr ""
"Xem β€œNote about fast-forwards” trong β€œgit push --help” để cΓ³ thΓ΄ng tin chi "
"tiαΊΏt."
-#: builtin/push.c:299
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr "Việc cαΊ­p nhαΊ­t bα»‹ tα»« chα»‘i bởi vΓ¬ thαΊ» Δ‘Γ£ sαΊ΅n cΓ³ tα»« trΖ°α»›c trΓͺn mΓ‘y chα»§."
-#: builtin/push.c:302
+#: builtin/push.c:271
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"
@@ -9034,22 +9250,22 @@ msgstr ""
"Δ‘α»‘i tượng\n"
"khΓ΄ng phαΊ£i chuyển giao, mΓ  khΓ΄ng sα»­ dα»₯ng tΓΉy chọn β€œ--force”.\n"
-#: builtin/push.c:361
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "Đang Δ‘αΊ©y lΓͺn %s\n"
-#: builtin/push.c:365
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "gαΊ·p lα»—i khi Δ‘αΊ©y tα»›i mα»™t sα»‘ tham chiαΊΏu Δ‘αΊΏn β€œ%s”"
-#: builtin/push.c:395
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "repository (kho) sai β€œ%s”"
-#: builtin/push.c:396
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -9070,100 +9286,100 @@ msgstr ""
"\n"
" git push <tΓͺn>\n"
-#: builtin/push.c:411
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "--all vΓ  --tags xung khαΊ―c nhau"
-#: builtin/push.c:412
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr "--all khΓ΄ng thể được tα»• hợp cΓΉng vα»›i Δ‘αΊ·c tαΊ£ đường dαΊ«n"
-#: builtin/push.c:417
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "--mirror vΓ  --tags xung khαΊ―c nhau"
-#: builtin/push.c:418
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr "--mirror khΓ΄ng thể được tα»• hợp cΓΉng vα»›i Δ‘αΊ·c tαΊ£ đường dαΊ«n"
-#: builtin/push.c:423
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "--all vΓ  --mirror xung khαΊ―c nhau"
-#: builtin/push.c:539
+#: builtin/push.c:505
msgid "repository"
msgstr "kho"
-#: builtin/push.c:540 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "Δ‘αΊ©y tαΊ₯t cαΊ£ cΓ‘c tham chiαΊΏu"
-#: builtin/push.c:541 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "mirror tαΊ₯t cαΊ£ cΓ‘c tham chiαΊΏu"
-#: builtin/push.c:543
+#: builtin/push.c:509
msgid "delete refs"
msgstr "xΓ³a cΓ‘c tham chiαΊΏu"
-#: builtin/push.c:544
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr "Δ‘αΊ©y cΓ‘c thαΊ» (khΓ΄ng dΓΉng cΓΉng vα»›i --all hay --mirror)"
-#: builtin/push.c:547 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "Γ©p buα»™c cαΊ­p nhαΊ­t"
-#: builtin/push.c:549 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "tΓͺn-tham-chiαΊΏu>:<cαΊ§n"
-#: builtin/push.c:550 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr "yΓͺu cαΊ§u giΓ‘-trα»‹ cΕ© cα»§a tham chiαΊΏu thΓ¬ lΓ  giΓ‘-trα»‹ nΓ y"
-#: builtin/push.c:553
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "Δ‘iều khiển việc Δ‘αΊ©y lΓͺn (push) đệ qui cα»§a mΓ΄-Δ‘un-con"
-#: builtin/push.c:555 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "tαΊ‘o gΓ³i nhαΊΉ"
-#: builtin/push.c:556 builtin/push.c:557 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "chưƑng trình nhận gói"
-#: builtin/push.c:558
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "Δ‘αΊ·t thượng nguα»“n cho git pull/status"
-#: builtin/push.c:561
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "xΓ©n tỉa nhα»―ng tham chiαΊΏu bα»‹ gα»‘ bỏ"
-#: builtin/push.c:563
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "vΓ²ng qua mΓ³c tiền-Δ‘αΊ©y (pre-push)"
-#: builtin/push.c:564
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "push phαΊ§n bα»‹ thiαΊΏu nhΖ°ng cΓ‘c thαΊ» lαΊ‘i thΓ­ch hợp"
-#: builtin/push.c:567 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "kΓ½ lαΊ§n Δ‘αΊ©y dΓΉng GPG"
-#: builtin/push.c:569 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "yΓͺu cαΊ§u giao dα»‹ch hαΊ‘t nhΓ’n bΓͺn phΓ­a mΓ‘y chα»§"
-#: builtin/push.c:579
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "--delete lΓ  xung khαΊ―c vα»›i cΓ‘c tΓΉy chọn --all, --mirror vΓ  --tags"
-#: builtin/push.c:581
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "--delete khΓ΄ng hợp lΓ½ nαΊΏu khΓ΄ng cΓ³ bαΊ₯t kα»³ tham chiαΊΏu nΓ o"
@@ -9243,12 +9459,12 @@ msgstr "bỏ qua Γ‘p dα»₯ng bα»™ lọc lαΊ₯y ra (checkout) thΖ°a thα»›t"
msgid "debug unpack-trees"
msgstr "gα»‘ lα»—i β€œunpack-trees”"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "β€œ%s” dΓ nh cho β€œ%s” khΓ΄ng phαΊ£i lΓ  dαΊ₯u vαΊΏt thời gian hợp lệ"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "β€œ%s” khΓ΄ng phαΊ£i lΓ  dαΊ₯u thời gian hợp lệ"
@@ -9389,55 +9605,45 @@ msgstr "Δ‘ang chỉ Δ‘α»‹nh mα»™t nhΓ‘nh master khΓ΄ng hợp lΓ½ vα»›i tΓΉy chα»
msgid "specifying branches to track makes sense only with fetch mirrors"
msgstr "chỉ Δ‘α»‹nh nhα»―ng nhΓ‘nh để theo dΓ΅i chỉ hợp lΓ½ vα»›i cΓ‘c β€œfetch mirror”"
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "mΓ‘y chα»§ %s Δ‘Γ£ tα»“n tαΊ‘i rα»“i."
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "β€œ%s” khΓ΄ng phαΊ£i tΓͺn mΓ‘y chα»§ hợp lệ"
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "KhΓ΄ng thể cΓ i Δ‘αΊ·t nhΓ‘nh master β€œ%s”"
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr "KhΓ΄ng thể lαΊ₯y Γ‘nh xαΊ‘ (map) fetch cho Δ‘αΊ·c tαΊ£ tham chiαΊΏu %s"
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "(khα»›p)"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "(xΓ³a)"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "KhΓ΄ng thể nα»‘i thΓͺm β€œ%s” vΓ o β€œ%s”"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "KhΓ΄ng cΓ³ mΓ‘y chα»§ nΓ o nhΖ° thαΊΏ: %s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr "KhΓ΄ng thể Δ‘α»•i tΓͺn phαΊ§n cα»§a cαΊ₯u hΓ¬nh tα»« β€œ%s” thΓ nh β€œ%s”"
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "KhΓ΄ng thể gα»‘ bỏ phαΊ§n cαΊ₯u hΓ¬nh β€œ%s”"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -9448,27 +9654,17 @@ msgstr ""
"\t%s\n"
"\tXin hΓ£y cαΊ­p nhαΊ­t phαΊ§n cαΊ₯u hΓ¬nh mα»™t cΓ‘ch thα»§ cΓ΄ng nαΊΏu thαΊ₯y cαΊ§n thiαΊΏt."
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "KhΓ΄ng thể nα»‘i thΓͺm β€œ%s”"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "KhΓ΄ng thể Δ‘αΊ·t β€œ%s”"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "gαΊ·p lα»—i khi xΓ³a β€œ%s”"
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "gαΊ·p lα»—i khi tαΊ‘o β€œ%s”"
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9480,272 +9676,277 @@ msgstr[0] ""
"Δ‘i;\n"
"để xΓ³a Δ‘i, sα»­ dα»₯ng:"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "KhΓ΄ng thể gα»‘ bỏ phαΊ§n cαΊ₯u hΓ¬nh β€œ%s”"
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " mα»›i (lαΊ§n lαΊ₯y về tiαΊΏp theo sαΊ½ lΖ°u trong remotes/%s)"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " được theo dΓ΅i"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " cΕ© rΓ­ch (dΓΉng β€œgit remote prune” để gα»‘ bỏ)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr "branch.%s.merge khΓ΄ng hợp lệ; khΓ΄ng thể cαΊ£i tα»• về phΓ­a > 1 nhΓ‘nh"
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "thα»±c hiện rebase trΓͺn mΓ‘y chα»§ %s"
+msgid "rebases interactively onto remote %s"
+msgstr "thα»±c hiện rebase mα»™t cΓ‘ch tΖ°Ζ‘ng tΓ‘c trΓͺn mΓ‘y chα»§ %s"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr " hΓ²a trα»™n vα»›i mΓ‘y chα»§ %s"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " vΓ  vα»›i mΓ‘y chα»§"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "hΓ²a trα»™n vα»›i mΓ‘y chα»§ %s"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " vΓ  vα»›i mΓ‘y chα»§"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "tαΊ‘o"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "xΓ³a"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "Δ‘Γ£ cαΊ­p nhαΊ­t"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "cΓ³-thể-chuyển-tiαΊΏp-nhanh"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "dα»― liệu nα»™i bα»™ Δ‘Γ£ cΕ©"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*s Γ©p buα»™c thΓ nh %-*s (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*s Δ‘αΊ©y lΓͺn thΓ nh %-*s (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*s Γ©p buα»™c thΓ nh %s"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*s Δ‘αΊ©y lΓͺn thΓ nh %s"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "khΓ΄ng truy vαΊ₯n cΓ‘c mΓ‘y chα»§"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* mΓ‘y chα»§ %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " URL để lαΊ₯y về: %s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(khΓ΄ng cΓ³ URL)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " URL để Δ‘αΊ©y lΓͺn: %s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " NhΓ‘nh HEAD: %s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
msgstr " nhΓ‘nh HEAD (HEAD mΓ‘y chα»§ chΖ°a rΓ΅ rΓ ng, cΓ³ lαΊ½ lΓ  mα»™t trong sα»‘ sau):\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
msgstr[0] " Nhα»―ng nhΓ‘nh trΓͺn mΓ‘y chα»§:%s"
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr " (trαΊ‘ng thΓ‘i khΓ΄ng được yΓͺu cαΊ§u)"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] " Nhα»―ng nhΓ‘nh nα»™i bα»™ Δ‘Γ£ được cαΊ₯u hΓ¬nh cho lệnh β€œgit pull”:"
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr " refs nα»™i bα»™ sαΊ½ được phαΊ£n chiαΊΏu bởi lệnh β€œgit push”"
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Nhα»―ng tham chiαΊΏu nα»™i bα»™ được cαΊ₯u hΓ¬nh cho lệnh β€œgit push”%s:"
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "Δ‘αΊ·t refs/remotes/<tΓͺn>/HEAD cho phΓΉ hợp vα»›i mΓ‘y chα»§"
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "xΓ³a refs/remotes/<tΓͺn>/HEAD"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "KhΓ΄ng thể xΓ‘c Δ‘α»‹nh được HEAD mΓ‘y chα»§"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
msgstr "Nhiều nhΓ‘nh HEAD mΓ‘y chα»§. HΓ£y chọn rΓ΅ rΓ ng mα»™t:"
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr "KhΓ΄ng thể xΓ³a bỏ %s"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "KhΓ΄ng phαΊ£i lΓ  tham chiαΊΏu hợp lệ: %s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "KhΓ΄ng thể cΓ i Δ‘αΊ·t %s"
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s sαΊ½ trở thΓ nh khΓ΄ng Δ‘αΊ§u (khΓ΄ng được quαΊ£n lΓ½)!"
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s Δ‘Γ£ trở thΓ nh khΓ΄ng Δ‘αΊ§u (khΓ΄ng được quαΊ£n lΓ½)!"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "Đang xΓ©n bα»›t %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL: %s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [nΓͺn xΓ©n bα»›t] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr " * [Δ‘Γ£ bα»‹ xΓ©n] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "cαΊ―t mΓ‘y chα»§ sau khi lαΊ₯y về"
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "KhΓ΄ng cΓ³ mΓ‘y chα»§ nΓ o cΓ³ tΓͺn β€œ%s”"
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "thΓͺm nhΓ‘nh"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "chΖ°a chỉ ra mΓ‘y chα»§ nΓ o"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr "truy vαΊ₯n Δ‘αΊ©y URL thay vΓ¬ lαΊ₯y"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "trả về mọi URL"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "khΓ΄ng cΓ³ URL nΓ o được cαΊ₯u hΓ¬nh cho nhΓ‘nh β€œ%s”"
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "Δ‘αΊ©y cΓ‘c β€œURL” bαΊ±ng tay"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "thΓͺm URL"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "xΓ³a URLs"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr "--add --delete không hợp lý"
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "Kiểu mαΊ«u URL cΕ© khΓ΄ng hợp lệ: %s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "KhΓ΄ng tΓ¬m thαΊ₯y URL nhΖ° vαΊ­y: %s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "SαΊ½ khΓ΄ng xΓ³a nhα»―ng Δ‘α»‹a chỉ URL khΓ΄ng-push"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr "chi tiαΊΏt; phαΊ£i được Δ‘αΊ·t trΖ°α»›c mα»™t lệnh-con"
@@ -10049,7 +10250,7 @@ msgstr "KhΓ΄ng thể Δ‘αΊ·t lαΊ‘i (reset) bαΊ£ng mα»₯c lα»₯c thΓ nh Δ‘iểm xΓ©t
msgid "Could not write new index file."
msgstr "KhΓ΄ng thể ghi tαΊ­p tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»›i."
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "rev-list khΓ΄ng hα»— trợ hiển thα»‹ cΓ‘c ghi chΓΊ"
@@ -10297,28 +10498,23 @@ msgstr "in cΓ‘c trαΊ‘ng thΓ‘i tα»« phαΊ§n hΖ°α»›ng dαΊ«n trΓͺn mΓ‘y dα»‹ch vα»₯"
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<cΓ‘c-tΓΉy-chọn>] [<vΓΉng-xΓ©t-duyệt>] [[--] [<đường-dαΊ«n>…]]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "ThiαΊΏu tΓͺn tΓ‘c giαΊ£: %s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "sαΊ―p xαΊΏp kαΊΏt xuαΊ₯t tuΓ’n theo sα»‘ lượng chuyển giao trΓͺn mα»—i tΓ‘c giαΊ£"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr "ChαΊ·n mọi mΓ΄ tαΊ£ lαΊ§n chuyển giao, chỉ Δ‘Ζ°a ra sα»‘ lượng lαΊ§n chuyển giao"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "Hiển thα»‹ thΖ° Δ‘iện tα»­ cho tα»«ng tΓ‘c giαΊ£"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "NgαΊ―t dΓ²ng khi quΓ‘ dΓ i"
@@ -10463,45 +10659,45 @@ msgid "skip and remove all lines starting with comment character"
msgstr "giα»― vΓ  xΓ³a bỏ mọi dΓ²ng bαΊ―t Δ‘αΊ§u bαΊ±ng kΓ½ tα»± ghi chΓΊ"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
-msgstr "treo trΖ°α»›c kΓ½ tα»± ghi chΓΊ vΓ  để trαΊ―ng cho tα»«ng dΓ²ng"
+msgid "prepend comment character and space to each line"
+msgstr "treo trΖ°α»›c kΓ½ tα»± ghi chΓΊ vΓ  kΓ½ tα»± khoαΊ£ng trαΊ―ng cho tα»«ng dΓ²ng"
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "Δ‘iểm neo thay thαΊΏ cho cΓ‘c đường dαΊ«n tΖ°Ζ‘ng Δ‘α»‘i"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<đường/dαΊ«n>] [<đường/dαΊ«n>…]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper name <đường/dαΊ«n>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr ""
"KhΓ΄ng tΓ¬m thαΊ₯y Γ‘nh xαΊ‘ (mapping) mΓ΄-Δ‘un-con trong .gitmodules cho đường dαΊ«n "
"β€œ%s”"
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "nhΓ’n bαΊ£n mΓ΄-Δ‘un-con mα»›i vΓ o chα»— nΓ o"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "tΓͺn cα»§a mΓ΄-Δ‘un-con mα»›i"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "url nΖ‘i mΓ  nhΓ’n bαΊ£n mΓ΄-Δ‘un-con tα»« Δ‘Γ³"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "chiều sΓ’u lα»‹ch sα»­ khi tαΊ‘o bαΊ£n sao"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10509,38 +10705,38 @@ msgstr ""
"git submodule--helper clone [--prefix=<đường/dαΊ«n>] [--quiet] [--reference "
"<kho>] [--name <tΓͺn>] [--url <url>][--depth <đường/dαΊ«n>] [--] [<đường/dαΊ«n>…]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "khΓ΄ng thể tαΊ‘o thΖ° mα»₯c β€œ%s”"
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr "NhΓ’n bαΊ£n β€œ%s” vΓ o đường dαΊ«n mΓ΄-Δ‘un-con β€œ%s” gαΊ·p lα»—i"
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "khΓ΄ng thể mở tαΊ­p tin β€œ%s”"
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "khΓ΄ng thể Δ‘Γ³ng tαΊ­p tin %s"
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr "khΓ΄ng thể lαΊ₯y thΖ° mα»₯c mΓ΄-Δ‘un-con cho β€œ%s”"
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr ""
"lα»—i nghiΓͺm trọng: lệnh con submodule--helper phαΊ£i được gΓ³i vα»›i mα»™t lệnh con"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr "lα»—i nghiΓͺm trọng: β€œ%s” khΓ΄ng phαΊ£i lΓ  lệnh con submodule--helper hợp lệ"
@@ -10786,194 +10982,207 @@ msgstr "Đã cαΊ­p nhαΊ­t thαΊ» β€œ%s” (trΖ°α»›c lΓ  %s)\n"
msgid "Unpacking objects"
msgstr "Đang giαΊ£i nΓ©n cΓ‘c Δ‘α»‘i tượng"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "tαΊ‘o thΖ° mα»₯c \"%s\" gαΊ·p lα»—i"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "gαΊ·p lα»—i khi lαΊ₯y thΓ΄ng tin thα»‘ng kΓͺ về %s"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "gαΊ·p lα»—i khi tαΊ‘o tαΊ­p tin %s"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "gαΊ·p lα»—i khi xΓ³a tαΊ­p tin %s"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "gαΊ·p lα»—i khi xΓ³a thΖ° mα»₯c %s"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "Đang thử"
+msgid "Testing mtime in '%s' "
+msgstr "Đang kiểm thα»­ mtime trong β€œ%s”"
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr "thΓ΄ng tin thα»‘ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δ‘α»•i sau khi thΓͺm tαΊ­p tin mα»›i"
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr "thΓ΄ng tin thα»‘ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δ‘α»•i sau khi thΓͺm thΖ° mα»₯c mα»›i"
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr "thΓ΄ng tin thα»‘ng kΓͺ thΖ° mα»₯c thay Δ‘α»•i sau khi cαΊ­p nhαΊ­t tαΊ­p tin"
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr ""
"thΓ΄ng tin thα»‘ng kΓͺ thΖ° mα»₯c thay Δ‘α»•i sau khi thΓͺm tαΊ­p tin mα»›i vΓ o trong thΖ° "
"mα»₯c con"
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr "thΓ΄ng tin thα»‘ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δ‘α»•i sau khi xΓ³a tαΊ­p tin"
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr "thΓ΄ng tin thα»‘ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δ‘α»•i sau khi xΓ³a thΖ° mα»₯c"
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " Đồng Γ½"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<cΓ‘c-tΓΉy-chọn>] [--] [<tαΊ­p-tin>…]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr "tiαΊΏp tα»₯c lΓ m mα»›i ngay cαΊ£ khi bαΊ£ng mα»₯c lα»₯c cαΊ§n được cαΊ­p nhαΊ­t"
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "refresh: lờ Δ‘i mΓ΄-Δ‘un-con"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "khΓ΄ng bỏ qua cΓ‘c tαΊ­p tin mα»›i tαΊ‘o"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "để cΓ‘c tαΊ­p tin thay thαΊΏ cΓ‘c thΖ° mα»₯c vΓ  β€œvice-versa”"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "thΓ΄ng bΓ‘o cΓ‘c tαΊ­p-tin thiαΊΏu trong thΖ°-mα»₯c lΓ m việc"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr ""
"lΓ m tΖ°Ζ‘i mα»›i thαΊ­m chΓ­ khi bαΊ£ng mα»₯c lα»₯c chα»©a cΓ‘c mα»₯c tin chΖ°a được hΓ²a trα»™n"
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "lαΊ₯y lαΊ‘i thΓ΄ng tin thα»‘ng kΓͺ"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "giα»‘ng --refresh, nhΖ°ng bỏ qua cΓ‘c cΓ i Δ‘αΊ·t β€œassume-unchanged”"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<chαΊΏ_Δ‘α»™>,<Δ‘α»‘i_tượng>,<đường_dαΊ«n>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "thΓͺm cΓ‘c tαΊ­p tin Δ‘Γ£ chỉ ra vΓ o bαΊ£ng mα»₯c lα»₯c"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "ghi Δ‘Γ¨ lΓͺn bΓ­t thi hΓ nh cα»§a cΓ‘c tαΊ­p tin được liệt kΓͺ"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "ĐÑnh dαΊ₯u cΓ‘c tαΊ­p tin lΓ  \"khΓ΄ng thay Δ‘α»•i\""
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "xΓ³a bΓ­t assumed-unchanged (giαΊ£ Δ‘α»‹nh lΓ  khΓ΄ng thay Δ‘α»•i)"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "Δ‘Γ‘nh dαΊ₯u cΓ‘c tαΊ­p tin lΓ  β€œchỉ-đọc”"
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "xΓ³a bΓ­t skip-worktree"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
msgstr ""
"chỉ thΓͺm vΓ o bαΊ£ng mα»₯c lα»₯c; khΓ΄ng thΓͺm nα»™i dung vΓ o cΖ‘ sở dα»― liệu Δ‘α»‘i tượng"
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr ""
"gα»‘ bỏ cΓ‘c đường dαΊ«n được Δ‘αΊ·t tΓͺn thαΊ­m chΓ­ cαΊ£ khi nΓ³ hiện diện trong thΖ° mα»₯c "
"lΓ m việc"
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr "vα»›i tΓΉy chọn --stdin: cΓ‘c dΓ²ng Δ‘αΊ§u vΓ o được chαΊ₯m dα»©t bởi kΓ½ tα»± null"
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr "đọc danh sΓ‘ch đường dαΊ«n cαΊ§n cαΊ­p nhαΊ­t tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n"
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
msgstr "khΓ΄ng thể đọc cΓ‘c mα»₯c tα»« Δ‘αΊ§u vΓ o tiΓͺu chuαΊ©n vΓ o bαΊ£ng mα»₯c lα»₯c"
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr "phα»₯c hα»“i cΓ‘c trαΊ‘ng thΓ‘i #2 vΓ  #3 cho cΓ‘c đường dαΊ«n được liệt kΓͺ"
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "chỉ cαΊ­p nhαΊ­t cΓ‘c mα»₯c tin mΓ  nΓ³ khΓ‘c biệt so vα»›i HEAD"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "bỏ qua cΓ‘c tαΊ­p-tin thiαΊΏu trong thΖ°-mα»₯c lΓ m việc"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "bΓ‘o cΓ‘o cΓ‘c thao tΓ‘c ra thiαΊΏt bα»‹ xuαΊ₯t chuαΊ©n"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "(cho β€œporcelains”) quΓͺn cΓ‘c xung Δ‘α»™t chΖ°a được giαΊ£i quyαΊΏt Δ‘Γ£ ghi"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "ghi mα»₯c lα»₯c ở Δ‘α»‹nh dαΊ‘ng nΓ y"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "bαΊ­t/tαΊ―t chia cαΊ―t bαΊ£ng mα»₯c lα»₯c"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr "bαΊ­t/tαΊ―t bα»™ đệm khΓ΄ng theo vαΊΏt"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "kiểm tra xem hệ thα»‘ng tαΊ­p tin cΓ³ hα»— trợ đệm khΓ΄ng theo dΓ΅i hay khΓ΄ng"
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr "bαΊ­t bα»™ đệm khΓ΄ng theo vαΊΏt mΓ  khΓ΄ng kiểm tra hệ thα»‘ng tαΊ­p tin"
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "Nhα»› đệm khΓ΄ng theo vαΊΏt bα»‹ tαΊ―t"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "Nhα»› đệm khΓ΄ng theo vαΊΏt được bαΊ­t cho β€œ%s”"
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr "git update-ref [<cÑc-tùy-chọn>] -d <refname> [<biến-cũ>]"
@@ -11089,33 +11298,33 @@ msgstr "gαΊ·p lα»—i khi gα»‘ bỏ: %s"
msgid "'%s' already exists"
msgstr "β€œ%s” Δ‘Γ£ cΓ³ tα»« trΖ°α»›c rα»“i"
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "khΓ΄ng thể tαΊ‘o thΖ° mα»₯c cα»§a β€œ%s”"
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "Đang chuαΊ©n bα»‹ %s (Δ‘α»‹nh danh %s)"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr "lαΊ₯y ra <nhΓ‘nh> ngay cαΊ£ khi nΓ³ Δ‘Γ£ được lαΊ₯y ra ở cΓ’y lΓ m việc khΓ‘c"
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "tαΊ‘o nhΓ‘nh mα»›i"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "tαΊ‘o hay Δ‘αΊ·t lαΊ‘i mα»™t nhΓ‘nh"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "rời bỏ HEAD tαΊ‘i lαΊ§n chuyển giao theo tΓͺn"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "CÑc tùy chọn -b, -B, và --detach loẑi từ lẫn nhau"
@@ -11135,7 +11344,7 @@ msgstr "ghi Δ‘α»‘i tượng cΓ’y (tree) cho <tiền tα»‘> thΖ° mα»₯c con"
msgid "only useful for debugging"
msgstr "chỉ hα»―u Γ­ch khi cαΊ§n gα»‘ lα»—i"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "in thΓ΄ng tin gα»‘ lα»—i ra Δ‘αΊ§u ra lα»—i tiΓͺu chuαΊ©n"
@@ -11149,6 +11358,10 @@ msgstr ""
"hΖ°α»›ng dαΊ«n về khΓ‘i niệm. Xem β€œgit help <lệnh>” hay β€œgit help <khΓ‘i-niệm>”\n"
"để xem cΓ‘c Δ‘αΊ·c tαΊ£ cho lệnh hay khΓ‘i niệm cα»₯ thể."
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "Chα»‘t khΓ³a cΓ΄ng khΓ΄ng được hα»— trợ vα»›i cURL < 7.44.0"
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "bαΊ―t Δ‘αΊ§u mα»™t vΓΉng lΓ m việc (xem thΓͺm: git help tutorial)"
@@ -11232,9 +11445,8 @@ msgid "Update remote refs along with associated objects"
msgstr "CαΊ­p nhαΊ­t th.chiαΊΏu mΓ‘y chα»§ cΓΉng vα»›i cΓ‘c Δ‘α»‘i tượng liΓͺn quan Δ‘αΊΏn nΓ³"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr ""
-"Chuyển tiαΊΏp nhα»―ng lαΊ§n chuyển giao nα»™i bα»™ tα»›i head thượng nguα»“n Δ‘Γ£ cαΊ­p nhαΊ­t"
+msgid "Reapply commits on top of another base tip"
+msgstr "Thu hoαΊ‘ch cΓ‘c lαΊ§n chuyển giao trΓͺn đỉnh cα»§a Δ‘αΊ§u mΓΊt cΖ‘ sở khΓ‘c"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -11950,7 +12162,7 @@ msgstr "KhΓ΄ng thể tαΊ‘o thΖ° mα»₯c mΓ΄-Δ‘un-con rα»—ng β€œ$displaypath”"
msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
msgstr "MΓ΄-Δ‘un-con β€œ$name” ($url) được bỏ Δ‘Δƒng kΓ½ cho đường dαΊ«n β€œ$displaypath”"
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
@@ -11959,55 +12171,55 @@ msgstr ""
"Đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath” chΖ°a được khởi tαΊ‘o.\n"
"CΓ³ lαΊ½ bαΊ‘n muα»‘n sα»­ dα»₯ng lệnh β€œupdate --init”?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr ""
"KhΓ΄ng tΓ¬m thαΊ₯y Δ‘iểm xΓ©t duyệt hiện hΓ nh trong đường dαΊ«n mΓ΄-Δ‘un-con "
"β€œ$displaypath”"
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr "KhΓ΄ng thể lαΊ₯y về trong đường dαΊ«n mΓ΄-Δ‘un-con β€œ$sm_path”"
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "KhΓ΄ng thể lαΊ₯y về trong đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”"
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr "KhΓ΄ng thể lαΊ₯y ra β€œ$sha1” trong đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”"
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "Đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”: Δ‘Γ£ checkout β€œ$sha1”"
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr "KhΓ΄ng thể cαΊ£i tα»• β€œ$sha1” trong đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”"
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "Đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”: được rebase vΓ o trong β€œ$sha1”"
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr ""
"KhΓ΄ng thể hΓ²a trα»™n (merge) β€œ$sha1” trong đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”"
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "Đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”: được hΓ²a trα»™n vΓ o β€œ$sha1”"
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
@@ -12015,56 +12227,133 @@ msgstr ""
"Thα»±c hiện khΓ΄ng thΓ nh cΓ΄ng lệnh β€œ$command $sha1” trong đường dαΊ«n mΓ΄-Δ‘un-con "
"β€œ$prefix$sm_path”"
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "Đường dαΊ«n mΓ΄-Δ‘un-con β€œ$prefix$sm_path”: β€œ$command $sha1”"
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "GαΊ·p lα»—i khi đệ quy vΓ o trong đường dαΊ«n mΓ΄-Δ‘un-con β€œ$displaypath”"
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr "TΓΉy chọn --cached khΓ΄ng thể dΓΉng cΓΉng vα»›i tΓΉy chọn --files"
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "chαΊΏ Δ‘α»™ khΓ΄ng nhΖ° mong chờ $mod_dst"
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr " CαΊ£nh bΓ‘o: $display_name khΓ΄ng chα»©a lαΊ§n chuyển giao $sha1_src"
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr " CαΊ£nh bΓ‘o: $display_name khΓ΄ng chα»©a lαΊ§n chuyển giao $sha1_dst"
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr ""
" CαΊ£nh bΓ‘o: $display_name khΓ΄ng chα»©a nhα»―ng lαΊ§n chuyển giao $sha1_src vΓ  "
"$sha1_dst"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "blob"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "GαΊ·p lα»—i khi đệ quy vΓ o trong đường dαΊ«n mΓ΄-Δ‘un-con β€œ$sm_path”"
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "Url MΓ΄-Δ‘un-con Δ‘α»“ng bα»™ hΓ³a cho β€œ$displaypath”"
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr ""
+#~ "Chuyển tiαΊΏp nhα»―ng lαΊ§n chuyển giao nα»™i bα»™ tα»›i head thượng nguα»“n Δ‘Γ£ cαΊ­p nhαΊ­t"
+
+#~ msgid "unable to parse format"
+#~ msgstr "khΓ΄ng thể phΓ’n tΓ­ch Δ‘α»‹nh dαΊ‘ng"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "Δ‘α»‹nh dαΊ‘ng khΓ΄ng Δ‘ΓΊng chα»— cΔƒn chỉnh:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "KhΓ΄ng thể Δ‘αΊ·t β€œcore.worktree” trong β€œ%s”."
+
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "biαΊΏn push.default chΖ°a được Δ‘αΊ·t; giΓ‘ trα»‹ ngαΊ§m Δ‘α»‹nh cα»§a nΓ³\n"
+#~ "Δ‘Γ£ được thay Δ‘α»•i trong Git 2.0 tα»« β€œmatching” thΓ nh β€œsimple”.\n"
+#~ "Để khΓ΄ng hiển thα»‹ nhαΊ―c nhở nΓ y vΓ  duy trΓ¬ cΓ‘ch xα»­ lΓ½ cΕ©, hΓ£y chαΊ‘y lệnh:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "Để khΓ΄ng hiển thα»‹ nhαΊ―c nhở nΓ y vΓ  Γ‘p dα»₯ng cΓ‘ch α»©ng xα»­ mα»›i, hΓ£y chαΊ‘y "
+#~ "lệnh:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "Khi push.default được Δ‘αΊ·t thΓ nh β€œmatching”, git sαΊ½ Δ‘αΊ©y cΓ‘c nhΓ‘nh nα»™i bα»™\n"
+#~ "lΓͺn cΓ‘c nhΓ‘nh trΓͺn mΓ‘y chα»§, cΓ‘i mΓ  Δ‘Γ£ sαΊ΅n cΓ³ vΓ  cΓΉng tΓͺn.\n"
+#~ "\n"
+#~ "Trong 2.0, Git sαΊ½ mαΊ·c Δ‘α»‹nh duy trΓ¬ cΓ‘c α»©ng xα»­ β€œsimple”,\n"
+#~ "cΓ‘i nΓ y chỉ Δ‘αΊ©y nhα»―ng nhΓ‘nh hiện hΓ nh lΓͺn cΓ‘c nhΓ‘nh tΖ°Ζ‘ng α»©ng\n"
+#~ "trΓͺn mΓ‘y chα»§ cΓ‘i mΓ  lệnh β€œgit pull” dΓΉng để cαΊ­p nhαΊ­t nhΓ‘nh hiện tαΊ‘i.\n"
+#~ "\n"
+#~ "Xem β€œgit help config” vΓ  tΓ¬m Δ‘αΊΏn β€œpush.default” để cΓ³ thΓͺm thΓ΄ng tin.\n"
+#~ "(chαΊΏ Δ‘α»™ β€œsimple” được bαΊ―t Δ‘αΊ§u sα»­ dα»₯ng tα»« Git 1.7.11. Sα»­ dα»₯ng chαΊΏ Δ‘α»™ tΖ°Ζ‘ng "
+#~ "tα»±\n"
+#~ "β€œcurrent” thay vΓ¬ β€œsimple” nαΊΏu bαΊ‘n thỉnh thoαΊ£ng phαΊ£i sα»­ dα»₯ng bαΊ£n Git cΕ©)"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "KhΓ΄ng thể nα»‘i thΓͺm β€œ%s”"
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "KhΓ΄ng thể Δ‘αΊ·t β€œ%s”"
+
+#~ msgid "unable to look up current user in the passwd file: %s"
+#~ msgstr "khΓ΄ng tΓ¬m thαΊ₯y người dΓΉng hiện tαΊ‘i trong tαΊ­p tin passwd: %s"
+
+#~ msgid "no such user"
+#~ msgstr "không có người dùng như vậy"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "ThiαΊΏu tΓͺn tΓ‘c giαΊ£: %s"
+
+#~ msgid "Testing "
+#~ msgstr "Đang thử"
+
#~ msgid "branch '%s' does not point at a commit"
#~ msgstr "nhΓ‘nh β€œ%s” khΓ΄ng chỉ Δ‘αΊΏn mα»™t lαΊ§n chuyển giao nΓ o cαΊ£"
@@ -12129,9 +12418,6 @@ msgstr "Url MΓ΄-Δ‘un-con Δ‘α»“ng bα»™ hΓ³a cho β€œ$displaypath”"
#~ msgid "unable to parse value '%s' for option %s"
#~ msgstr "khΓ΄ng thể phΓ’n tΓ­ch giΓ‘ trα»‹ β€œ%s” cho tΓΉy chọn %s"
-#~ msgid "unable to resolve HEAD"
-#~ msgstr "khΓ΄ng thể phΓ’n giαΊ£i HEAD"
-
#~ msgid "-b and -B are mutually exclusive"
#~ msgstr "-b vΓ  -B loαΊ‘i tα»« lαΊ«n nhau."
@@ -12201,9 +12487,6 @@ msgstr "Url MΓ΄-Δ‘un-con Δ‘α»“ng bα»™ hΓ³a cho β€œ$displaypath”"
#~ msgid "prune .git/worktrees"
#~ msgstr "xΓ©n .git/worktrees"
-#~ msgid "--worktrees does not take extra arguments"
-#~ msgstr "--worktrees khΓ΄ng nhαΊ­n cΓ‘c Δ‘α»‘i sα»‘ thΓͺm"
-
#~ msgid "The most commonly used git commands are:"
#~ msgstr "Nhα»―ng lệnh git hay được dΓΉng nhαΊ₯t lΓ :"
@@ -12234,9 +12517,6 @@ msgstr "Url MΓ΄-Δ‘un-con Δ‘α»“ng bα»™ hΓ³a cho β€œ$displaypath”"
#~ msgid "force creation (when already exists)"
#~ msgstr "Γ©p buα»™c tαΊ‘o (khi Δ‘Γ£ cΓ³ nhΓ‘nh cΓΉng tΓͺn)"
-#~ msgid "Malformed ident string: '%s'"
-#~ msgstr "Chuα»—i thα»₯t lề Δ‘αΊ§u dΓ²ng dα»‹ hΓ¬nh: β€œ%s”"
-
#~ msgid "slot"
#~ msgstr "khe"
@@ -12285,9 +12565,6 @@ msgstr "Url MΓ΄-Δ‘un-con Δ‘α»“ng bα»™ hΓ³a cho β€œ$displaypath”"
#~ msgid "bug"
#~ msgstr "lα»—i"
-#~ msgid "ahead "
-#~ msgstr "phΓ­a trΖ°α»›c "
-
#~ msgid ", behind "
#~ msgstr ", Δ‘αΊ±ng sau "
diff --git a/po/zh_CN.po b/po/zh_CN.po
index c7fed4628b..a6b06f9d39 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -135,8 +135,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2015-12-22 22:50+0800\n"
-"PO-Revision-Date: 2015-12-22 23:06+0800\n"
+"POT-Creation-Date: 2016-03-16 00:16+0800\n"
+"PO-Revision-Date: 2016-03-16 00:18+0800\n"
"Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
"Language-Team: GitHub <https://github.com/jiangxin/git/>\n"
"Language: zh_CN\n"
@@ -158,7 +158,7 @@ msgstr ""
"请在ε·₯δ½œεŒΊζ”Ήζ­£ζ–‡δ»ΆοΌŒη„ΆεŽι…Œζƒ…δ½Ώη”¨ 'git add/rm <ζ–‡δ»Ά>' 命什标θ°\n"
"θ§£ε†³ζ–Ήζ‘ˆεΉΆζδΊ€γ€‚"
-#: advice.c:101 builtin/merge.c:1225
+#: advice.c:101 builtin/merge.c:1226
msgid "You have not concluded your merge (MERGE_HEAD exists)."
msgstr "ζ‚¨ε°šζœͺη»“ζŸζ‚¨ηš„εˆεΉΆοΌˆε­˜εœ¨ MERGE_HEAD)。"
@@ -201,7 +201,7 @@ msgstr "格式"
msgid "archive format"
msgstr "归摣格式"
-#: archive.c:430 builtin/log.c:1229
+#: archive.c:430 builtin/log.c:1232
msgid "prefix"
msgstr "前缀"
@@ -209,11 +209,11 @@ msgstr "前缀"
msgid "prepend prefix to each pathname in the archive"
msgstr "为归摣中每δΈͺθ·―εΎ„εεŠ δΈŠε‰ηΌ€"
-#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535
-#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987
-#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99
-#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395
-#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153
+#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547
+#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987
+#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100
+#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398
+#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153
msgid "file"
msgstr "ζ–‡δ»Ά"
@@ -245,7 +245,7 @@ msgstr "εŽ‹ηΌ©ζ•ˆζžœζ›΄ε₯½"
msgid "list supported archive formats"
msgstr "εˆ—ε‡Ίζ”―ζŒηš„ε½’ζ‘£ζ ΌεΌ"
-#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77
+#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78
msgid "repo"
msgstr "δ»“εΊ“"
@@ -253,7 +253,7 @@ msgstr "δ»“εΊ“"
msgid "retrieve the archive from remote repository <repo>"
msgstr "δ»ŽθΏœη¨‹δ»“εΊ“οΌˆ<δ»“εΊ“>)提取归摣文仢"
-#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479
+#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482
msgid "command"
msgstr "命什"
@@ -261,7 +261,7 @@ msgstr "命什"
msgid "path to the remote git-upload-archive command"
msgstr "θΏœη¨‹ git-upload-archive ε‘½δ»€ηš„θ·―εΎ„"
-#: attr.c:265
+#: attr.c:263
msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
@@ -269,81 +269,97 @@ msgstr ""
"θ΄Ÿε€Όζ¨‘η‰ˆεœ¨ git attributes δΈ­θ’«εΏ½η•₯\n"
"当字符串η‘εžθ¦δ»₯ζ„ŸεΉε·εΌ€ε§‹ζ—ΆοΌŒδ½Ώη”¨ '\\!'。"
-#: branch.c:61
+#: branch.c:53
+#, c-format
+msgid ""
+"\n"
+"After fixing the error cause you may try to fix up\n"
+"the remote tracking information by invoking\n"
+"\"git branch --set-upstream-to=%s%s%s\"."
+msgstr ""
+"\n"
+"在δΏε€ι”™θ――εŽοΌŒζ‚¨ε―δ»₯尝试δΏζ”ΉθΏœη¨‹θ·ŸθΈͺεˆ†ζ”―οΌŒι€šθΏ‡ζ‰§θ‘Œε‘½δ»€\n"
+"\"git branch --set-upstream-to=%s%s%s\" 。"
+
+#: branch.c:67
#, c-format
msgid "Not setting branch %s as its own upstream."
msgstr "ζœͺθΎη½εˆ†ζ”― %s 作为εƒθ‡ͺε·±ηš„δΈŠζΈΈγ€‚"
-#: branch.c:84
+#: branch.c:93
#, c-format
msgid "Branch %s set up to track remote branch %s from %s by rebasing."
msgstr "εˆ†ζ”― %1$s θΎη½δΈΊδ½Ώη”¨ε˜εŸΊζ₯跟θΈͺζ₯θ‡ͺ %3$s ηš„θΏœη¨‹εˆ†ζ”― %2$s。"
-#: branch.c:85
+#: branch.c:94
#, c-format
msgid "Branch %s set up to track remote branch %s from %s."
msgstr "εˆ†ζ”― %1$s θΎη½δΈΊθ·ŸθΈͺζ₯θ‡ͺ %3$s ηš„θΏœη¨‹εˆ†ζ”― %2$s。"
-#: branch.c:89
+#: branch.c:98
#, c-format
msgid "Branch %s set up to track local branch %s by rebasing."
msgstr "εˆ†ζ”― %s θΎη½δΈΊδ½Ώη”¨ε˜εŸΊζ₯跟θΈͺζœ¬εœ°εˆ†ζ”― %s。"
-#: branch.c:90
+#: branch.c:99
#, c-format
msgid "Branch %s set up to track local branch %s."
msgstr "εˆ†ζ”― %s θΎη½δΈΊθ·ŸθΈͺζœ¬εœ°εˆ†ζ”― %s。"
-#: branch.c:95
+#: branch.c:104
#, c-format
msgid "Branch %s set up to track remote ref %s by rebasing."
msgstr "εˆ†ζ”― %s θΎη½δΈΊδ½Ώη”¨ε˜εŸΊζ₯跟θΈͺθΏœη¨‹εΌ•η”¨ %s。"
-#: branch.c:96
+#: branch.c:105
#, c-format
msgid "Branch %s set up to track remote ref %s."
msgstr "εˆ†ζ”― %s θΎη½δΈΊθ·ŸθΈͺθΏœη¨‹εΌ•η”¨ %s。"
-#: branch.c:100
+#: branch.c:109
#, c-format
msgid "Branch %s set up to track local ref %s by rebasing."
msgstr "εˆ†ζ”― %s θΎη½δΈΊδ½Ώη”¨ε˜εŸΊζ₯跟θΈͺζœ¬εœ°εΌ•η”¨ %s。"
-#: branch.c:101
+#: branch.c:110
#, c-format
msgid "Branch %s set up to track local ref %s."
msgstr "εˆ†ζ”― %s θΎη½δΈΊθ·ŸθΈͺζœ¬εœ°εΌ•η”¨ %s。"
-#: branch.c:134
+#: branch.c:119
+msgid "Unable to write upstream branch configuration"
+msgstr "无法写ε…₯δΈŠζΈΈεˆ†ζ”―ι…η½"
+
+#: branch.c:156
#, c-format
msgid "Not tracking: ambiguous information for ref %s"
msgstr "ζœͺ跟θΈͺοΌšεΌ•η”¨ %s ζœ‰ζ­§δΉ‰"
-#: branch.c:163
+#: branch.c:185
#, c-format
msgid "'%s' is not a valid branch name."
msgstr "'%s' δΈζ˜―δΈ€δΈͺζœ‰ζ•ˆηš„εˆ†ζ”―εη§°γ€‚"
-#: branch.c:168
+#: branch.c:190
#, c-format
msgid "A branch named '%s' already exists."
msgstr "δΈ€δΈͺεˆ†ζ”―ε '%s' ε·²η»ε­˜εœ¨γ€‚"
-#: branch.c:176
+#: branch.c:198
msgid "Cannot force update the current branch."
msgstr "ζ— ζ³•εΌΊεˆΆζ›΄ζ–°ε½“ε‰εˆ†ζ”―γ€‚"
-#: branch.c:196
+#: branch.c:218
#, c-format
msgid "Cannot setup tracking information; starting point '%s' is not a branch."
msgstr "无法θΎη½θ·ŸθΈͺ俑息;衷始点 '%s' δΈζ˜―δΈ€δΈͺεˆ†ζ”―γ€‚"
-#: branch.c:198
+#: branch.c:220
#, c-format
msgid "the requested upstream branch '%s' does not exist"
msgstr "θ―·ζ±‚ηš„δΈŠζΈΈεˆ†ζ”― '%s' 不存在"
-#: branch.c:200
+#: branch.c:222
msgid ""
"\n"
"If you are planning on basing your work on an upstream\n"
@@ -361,22 +377,22 @@ msgstr ""
"ε¦‚ζžœζ‚¨ζ­£θ‘εˆ’ζŽ¨ι€δΈ€δΈͺθƒ½δΈŽε―ΉεΊ”θΏœη¨‹εˆ†ζ”―ε»Ίη«‹θ·ŸθΈͺηš„ζ–°ηš„ζœ¬εœ°εˆ†ζ”―οΌŒ\n"
"ζ‚¨ε―θƒ½ιœ€θ¦δ½Ώη”¨ \"git push -u\" ζŽ¨ι€εˆ†ζ”―εΉΆι…η½ε’ŒδΈŠζΈΈηš„关联。"
-#: branch.c:244
+#: branch.c:266
#, c-format
msgid "Not a valid object name: '%s'."
msgstr "δΈζ˜―δΈ€δΈͺζœ‰ζ•ˆηš„ε―Ήθ±‘εοΌš'%s'。"
-#: branch.c:264
+#: branch.c:286
#, c-format
msgid "Ambiguous object name: '%s'."
msgstr "ζ­§δΉ‰ηš„ε―Ήθ±‘εοΌš'%s'。"
-#: branch.c:269
+#: branch.c:291
#, c-format
msgid "Not a valid branch point: '%s'."
msgstr "ζ— ζ•ˆηš„εˆ†ζ”―η‚ΉοΌš'%s'。"
-#: branch.c:322
+#: branch.c:344
#, c-format
msgid "'%s' is already checked out at '%s'"
msgstr "'%s' ε·²η»ζ£€ε‡Ίεˆ° '%s'"
@@ -400,10 +416,10 @@ msgstr "不能打开 '%s'"
msgid "Repository lacks these prerequisite commits:"
msgstr "δ»“εΊ“δΈ­ηΌΊε°‘θΏ™δΊ›εΏ…ε€‡ηš„ζδΊ€οΌš"
-#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083
-#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334
-#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358
-#: builtin/shortlog.c:158
+#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074
+#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334
+#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358
+#: builtin/shortlog.c:170
msgid "revision walk setup failed"
msgstr "η‰ˆζœ¬ιεŽ†θΎη½ε€±θ΄₯"
@@ -442,7 +458,7 @@ msgstr "rev-list 终歒"
msgid "ref '%s' is excluded by the rev-list options"
msgstr "引用 '%s' θ’« rev-list ι€‰ι‘ΉζŽ’ι™€"
-#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261
+#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273
#, c-format
msgid "unrecognized argument: %s"
msgstr "ζœͺθƒ½θ―†εˆ«ηš„ε‚ζ•°οΌš%s"
@@ -465,8 +481,8 @@ msgstr "index-pack 终歒"
msgid "invalid color value: %.*s"
msgstr "ζ— ζ•ˆηš„ι’œθ‰²ε€ΌοΌš%.*s"
-#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520
-#: builtin/am.c:2149
+#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505
+#: builtin/am.c:2135
#, c-format
msgid "could not parse %s"
msgstr "δΈθƒ½θ§£ζž %s"
@@ -480,59 +496,64 @@ msgstr "%s %s δΈζ˜―δΈ€δΈͺ提亀!"
msgid "memory exhausted"
msgstr "ε†…ε­˜θ€—ε°½"
-#: config.c:474 config.c:476
+#: config.c:475 config.c:477
#, c-format
-msgid "bad config file line %d in %s"
-msgstr "配η½ζ–‡δ»Ά %2$s ε‡Ίι”™δΊŽη¬¬ %1$d 葌"
+msgid "bad config line %d in %s %s"
+msgstr "%2$s %3$s ε‡Ίι”™δΊŽη¬¬ %1$d 葌"
-#: config.c:592
+#: config.c:593
#, c-format
-msgid "bad numeric config value '%s' for '%s' in %s: %s"
-msgstr "ζ–‡δ»Ά %3$s 中配η½ε˜ι‡ '%2$s' ηš„ζ•°ε­—ε–ε€Ό '%1$s' θΎη½ι”™θ――: %4$s"
+msgid "bad numeric config value '%s' for '%s' in %s %s: %s"
+msgstr "%3$s %4$s 中配η½ε˜ι‡ '%2$s' ηš„ζ•°ε­—ε–ε€Ό '%1$s' θΎη½ι”™θ――: %5$s"
-#: config.c:594
+#: config.c:595
#, c-format
msgid "bad numeric config value '%s' for '%s': %s"
msgstr "配η½ε˜ι‡ '%2$s' ηš„ζ•°ε­—ε–ε€Ό '%1$s' θΎη½ι”™θ――: %3$s"
-#: config.c:679
+#: config.c:680
#, c-format
msgid "failed to expand user dir in: '%s'"
msgstr "无法扩展 '%s' δΈ­ηš„η”¨ζˆ·η›ε½•"
-#: config.c:757 config.c:768
+#: config.c:758 config.c:769
#, c-format
msgid "bad zlib compression level %d"
msgstr "ι”™θ――ηš„ zlib εŽ‹ηΌ©ηΊ§εˆ« %d"
-#: config.c:890
+#: config.c:891
#, c-format
msgid "invalid mode for object creation: %s"
msgstr "ζ— ζ•ˆηš„ε―Ήθ±‘εˆ›ε»Ίζ¨‘εΌοΌš%s"
-#: config.c:1216
+#: config.c:1220
msgid "unable to parse command-line config"
msgstr "ζ— ζ³•θ§£ζžε‘½δ»€θ‘ŒδΈ­ηš„ι…η½"
-#: config.c:1277
+#: config.c:1281
msgid "unknown error occured while reading the configuration files"
msgstr "εœ¨θ―»ε–ι…η½ζ–‡δ»Άζ—Άι‡εˆ°ζœͺηŸ₯ι”™θ――"
-#: config.c:1601
+#: config.c:1629
#, c-format
msgid "unable to parse '%s' from command-line config"
msgstr "ζ— ζ³•θ§£ζžε‘½δ»€θ‘Œι…η½δΈ­ηš„ '%s'"
-#: config.c:1603
+#: config.c:1631
#, c-format
msgid "bad config variable '%s' in file '%s' at line %d"
msgstr "εœ¨ζ–‡δ»Ά '%2$s' ηš„η¬¬ %3$d θ‘Œε‘ηŽ°ι”™θ――ηš„ι…η½ε˜ι‡ '%1$s'"
-#: config.c:1662
+#: config.c:1690
#, c-format
msgid "%s has multiple values"
msgstr "%s ζœ‰ε€šδΈͺ取值"
+#: config.c:2226
+#, c-format
+msgid "Could not set '%s' to '%s'"
+msgstr "不能θΎη½ '%s' δΈΊ '%s'"
+
#: connected.c:69
msgid "Could not run 'git rev-list'"
msgstr "δΈθƒ½ζ‰§θ‘Œ 'git rev-list'"
@@ -650,16 +671,16 @@ msgstr ""
"ε‘ηŽ°ι…η½ε˜ι‡ 'diff.dirstat' δΈ­ηš„ι”™θ――οΌš\n"
"%s"
-#: diff.c:3000
+#: diff.c:2997
#, c-format
msgid "external diff died, stopping at %s"
msgstr "倖部 diff ι€€ε‡ΊοΌŒεœζ­’εœ¨ %s"
-#: diff.c:3396
+#: diff.c:3393
msgid "--follow requires exactly one pathspec"
msgstr "--follow ε‚ζ•°εŽεͺθ·ŸδΈ€δΈͺ pathspec"
-#: diff.c:3559
+#: diff.c:3556
#, c-format
msgid ""
"Failed to parse --dirstat/-X option parameter:\n"
@@ -668,18 +689,18 @@ msgstr ""
"ζ— ζ³•θ§£ζž --dirstat/-X ι€‰ι‘Ήηš„ε‚ζ•°οΌš\n"
"%s"
-#: diff.c:3573
+#: diff.c:3570
#, c-format
msgid "Failed to parse --submodule option parameter: '%s'"
msgstr "ζ— ζ³•θ§£ζž --submodule ι€‰ι‘Ήηš„ε‚ζ•°οΌš'%s'"
-#: dir.c:1915
+#: dir.c:2004
msgid "failed to get kernel name and information"
msgstr "ζ— ζ³•θŽ·εΎ—ε†…ζ Έεη§°ε’ŒδΏ‘ζ―"
-#: dir.c:1998
-msgid "Untracked cache is disabled on this system."
-msgstr "ηΌ“ε­˜ζœͺ跟θΈͺζ–‡δ»Άεœ¨ζœ¬η³»η»Ÿθ’«η¦η”¨"
+#: dir.c:2123
+msgid "Untracked cache is disabled on this system or location."
+msgstr "ηΌ“ε­˜ζœͺ跟θΈͺζ–‡δ»Άεœ¨ζœ¬η³»η»Ÿζˆ–δ½η½δΈ­θ’«η¦η”¨γ€‚"
#: gpg-interface.c:166 gpg-interface.c:237
msgid "could not run gpg."
@@ -718,20 +739,20 @@ msgstr "'%s':%s"
msgid "'%s': short read %s"
msgstr "'%s'οΌšθ―»ε–δΈεŒζ•΄ %s"
-#: help.c:207
+#: help.c:205
#, c-format
msgid "available git commands in '%s'"
msgstr "在 '%s' δΈ‹ε―η”¨ηš„ git 命什"
-#: help.c:214
+#: help.c:212
msgid "git commands available from elsewhere on your $PATH"
msgstr "在 $PATH θ·―εΎ„δΈ­ηš„ε…Άδ»–εœ°ζ–Ήε―η”¨ηš„ git 命什"
-#: help.c:246
+#: help.c:244
msgid "These are common Git commands used in various situations:"
msgstr "θΏ™δΊ›ζ˜―ε„η§εœΊεˆεΈΈθ§ηš„ Git ε‘½δ»€οΌš"
-#: help.c:311
+#: help.c:309
#, c-format
msgid ""
"'%s' appears to be a git command, but we were not\n"
@@ -740,11 +761,11 @@ msgstr ""
"'%s' εƒζ˜―δΈ€δΈͺ git ε‘½δ»€οΌŒδ½†ε΄ζ— ζ³•θΏθ‘Œγ€‚\n"
"ε―θƒ½ζ˜― git-%s ε—ζŸοΌŸ"
-#: help.c:368
+#: help.c:366
msgid "Uh oh. Your system reports no Git commands at all."
msgstr "ε”‰ε‘€οΌŒζ‚¨ηš„η³»η»ŸδΈ­ζœͺε‘ηŽ° Git 命什。"
-#: help.c:390
+#: help.c:388
#, c-format
msgid ""
"WARNING: You called a Git command named '%s', which does not exist.\n"
@@ -753,17 +774,17 @@ msgstr ""
"θ­¦ε‘ŠοΌšζ‚¨θΏθ‘ŒδΈ€δΈͺδΈε­˜εœ¨ηš„ Git 命什 '%s'γ€‚η»§η»­ζ‰§θ‘Œε‡εšζ‚¨θ¦θ¦θΏθ‘Œηš„\n"
"是 '%s'"
-#: help.c:395
+#: help.c:393
#, c-format
msgid "in %0.1f seconds automatically..."
msgstr "在 %0.1f η§’ι’ŸεŽθ‡ͺ动运葌..."
-#: help.c:402
+#: help.c:400
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
msgstr "git:'%s' δΈζ˜―δΈ€δΈͺ git 命什。参见 'git --help'。"
-#: help.c:406 help.c:466
+#: help.c:404 help.c:464
msgid ""
"\n"
"Did you mean this?"
@@ -777,7 +798,7 @@ msgstr[1] ""
"\n"
"ζ‚¨ζŒ‡ηš„ζ˜―θΏ™ε…ΆδΈ­ηš„ζŸδΈ€δΈͺ么?"
-#: help.c:462
+#: help.c:460
#, c-format
msgid "%s: %s - %s"
msgstr "%s:%s - %s"
@@ -786,8 +807,8 @@ msgstr "%s:%s - %s"
msgid "failed to read the cache"
msgstr "ζ— ζ³•θ―»ε–ηΌ“ε­˜"
-#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376
-#: builtin/checkout.c:587 builtin/clone.c:722
+#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376
+#: builtin/checkout.c:587 builtin/clone.c:730
msgid "unable to write new index file"
msgstr "ζ— ζ³•ε†™ζ–°ηš„η΄’εΌ•ζ–‡δ»Ά"
@@ -805,64 +826,64 @@ msgstr "δΈΊθ·―εΎ„ '%s' addinfo_cache ε€±θ΄₯"
msgid "error building trees"
msgstr "ζ— ζ³•εˆ›ε»Ίζ ‘"
-#: merge-recursive.c:686
+#: merge-recursive.c:689
#, c-format
msgid "failed to create path '%s'%s"
msgstr "ζ— ζ³•εˆ›ε»Ίθ·―εΎ„ '%s'%s"
-#: merge-recursive.c:697
+#: merge-recursive.c:700
#, c-format
msgid "Removing %s to make room for subdirectory\n"
msgstr "εˆ ι™€ %s δ»₯便为子η›ε½•η•™ε‡Ίη©Ίι—΄\n"
-#: merge-recursive.c:711 merge-recursive.c:732
+#: merge-recursive.c:714 merge-recursive.c:735
msgid ": perhaps a D/F conflict?"
msgstr "οΌšε―θƒ½ζ˜―δΈ€δΈͺη›ε½•/文仢冲ηͺοΌŸ"
-#: merge-recursive.c:722
+#: merge-recursive.c:725
#, c-format
msgid "refusing to lose untracked file at '%s'"
msgstr "拒绝丒弃 '%s' δΈ­ηš„ζœͺ跟θΈͺζ–‡δ»Ά"
-#: merge-recursive.c:762
+#: merge-recursive.c:765
#, c-format
msgid "cannot read object %s '%s'"
msgstr "不能读取对豑 %s '%s'"
-#: merge-recursive.c:764
+#: merge-recursive.c:767
#, c-format
msgid "blob expected for %s '%s'"
msgstr "%s '%s' εΊ”δΈΊζ•°ζε―Ήθ±‘"
-#: merge-recursive.c:787 builtin/clone.c:369
+#: merge-recursive.c:790 builtin/clone.c:374
#, c-format
msgid "failed to open '%s'"
msgstr "无法打开 '%s'"
-#: merge-recursive.c:795
+#: merge-recursive.c:798
#, c-format
msgid "failed to symlink '%s'"
msgstr "ζ— ζ³•εˆ›ε»Ίη¬¦ε·ι“ΎζŽ₯ '%s'"
-#: merge-recursive.c:798
+#: merge-recursive.c:801
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr "不ηŸ₯道如何倄理 %06o %s '%s'"
-#: merge-recursive.c:936
+#: merge-recursive.c:939
msgid "Failed to execute internal merge"
msgstr "ζ— ζ³•ζ‰§θ‘Œε†…ιƒ¨εˆεΉΆ"
-#: merge-recursive.c:940
+#: merge-recursive.c:943
#, c-format
msgid "Unable to add %s to database"
msgstr "δΈθƒ½ζ·»εŠ  %s 至对豑库"
-#: merge-recursive.c:956
+#: merge-recursive.c:959
msgid "unsupported object type in the tree"
msgstr "εœ¨ζ ‘δΈ­ζœ‰δΈζ”―ζŒηš„ε―Ήθ±‘η±»εž‹"
-#: merge-recursive.c:1031 merge-recursive.c:1045
+#: merge-recursive.c:1034 merge-recursive.c:1048
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -871,7 +892,7 @@ msgstr ""
"冲ηͺοΌˆ%1$s/εˆ ι™€οΌ‰οΌš%2$s 在 %3$s δΈ­θ’«εˆ ι™€οΌŒεœ¨ %5$s δΈ­θ’« %4$s。%7$s 在 %6$s δΈ­"
"ηš„η‰ˆζœ¬θ’«δΏη•™γ€‚"
-#: merge-recursive.c:1037 merge-recursive.c:1050
+#: merge-recursive.c:1040 merge-recursive.c:1053
#, c-format
msgid ""
"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left "
@@ -880,20 +901,20 @@ msgstr ""
"冲ηͺοΌˆ%1$s/εˆ ι™€οΌ‰οΌš%2$s 在 %3$s δΈ­θ’«εˆ ι™€οΌŒεœ¨ %5$s δΈ­θ’« %4$s。%7$s 在 %6$s δΈ­"
"ηš„η‰ˆζœ¬δΏη•™δΊŽ %8$s 中。"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "rename"
msgstr "重命名"
-#: merge-recursive.c:1091
+#: merge-recursive.c:1094
msgid "renamed"
msgstr "重命名"
-#: merge-recursive.c:1147
+#: merge-recursive.c:1150
#, c-format
msgid "%s is a directory in %s adding as %s instead"
msgstr "%s 是 %s δΈ­ηš„δΈ€δΈͺη›ε½•θ€Œδ»₯ %s 为名蒫添加"
-#: merge-recursive.c:1169
+#: merge-recursive.c:1172
#, c-format
msgid ""
"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
@@ -902,144 +923,144 @@ msgstr ""
"冲ηͺοΌˆι‡ε‘½ε/ι‡ε‘½εοΌ‰οΌšεœ¨εˆ†ζ”― \"%3$s\" 中重命名 \"%1$s\"->\"%2$s\"οΌŒεœ¨εˆ†ζ”― "
"\"%6$s\" 中重命名 \"%4$s\"->\"%5$s\"%7$s"
-#: merge-recursive.c:1174
+#: merge-recursive.c:1177
msgid " (left unresolved)"
msgstr "οΌˆη•™δΈ‹ζœͺ解决)"
-#: merge-recursive.c:1228
+#: merge-recursive.c:1231
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
"冲ηͺοΌˆι‡ε‘½ε/ι‡ε‘½εοΌ‰οΌšεœ¨ %3$s 中重命名 %1$s->%2$s,在 %6$s 中重命名 %4$s->"
"%5$s"
-#: merge-recursive.c:1258
+#: merge-recursive.c:1261
#, c-format
msgid "Renaming %s to %s and %s to %s instead"
msgstr "θ€Œζ˜―ι‡ε‘½ε %s 至 %s,δ»₯及 %s 至 %s"
-#: merge-recursive.c:1457
+#: merge-recursive.c:1460
#, c-format
msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s"
msgstr "冲ηͺοΌˆι‡ε‘½ε/ζ·»εŠ οΌ‰οΌšεœ¨ %3$s 中重命名 %1$s->%2$sγ€‚εœ¨ %5$s 中添加 %4$s"
-#: merge-recursive.c:1467
+#: merge-recursive.c:1470
#, c-format
msgid "Adding merged %s"
msgstr "ζ·»εŠ εˆεΉΆεŽηš„ %s"
-#: merge-recursive.c:1472 merge-recursive.c:1674
+#: merge-recursive.c:1475 merge-recursive.c:1677
#, c-format
msgid "Adding as %s instead"
msgstr "θ€Œζ˜―δ»₯ %s 为名添加"
-#: merge-recursive.c:1523
+#: merge-recursive.c:1526
#, c-format
msgid "cannot read object %s"
msgstr "不能读取对豑 %s"
-#: merge-recursive.c:1526
+#: merge-recursive.c:1529
#, c-format
msgid "object %s is not a blob"
msgstr "对豑 %s δΈζ˜―δΈ€δΈͺζ•°ζε―Ήθ±‘"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modify"
msgstr "δΏζ”Ή"
-#: merge-recursive.c:1578
+#: merge-recursive.c:1581
msgid "modified"
msgstr "δΏζ”Ή"
-#: merge-recursive.c:1588
+#: merge-recursive.c:1591
msgid "content"
msgstr "ε†…εΉ"
-#: merge-recursive.c:1595
+#: merge-recursive.c:1598
msgid "add/add"
msgstr "添加/添加"
-#: merge-recursive.c:1629
+#: merge-recursive.c:1632
#, c-format
msgid "Skipped %s (merged same as existing)"
msgstr "η•₯θΏ‡ %sοΌˆε·²η»εšθΏ‡η›ΈεŒεˆεΉΆοΌ‰"
-#: merge-recursive.c:1643
+#: merge-recursive.c:1646
#, c-format
msgid "Auto-merging %s"
msgstr "θ‡ͺ动合幢 %s"
-#: merge-recursive.c:1647 git-submodule.sh:1025
+#: merge-recursive.c:1650 git-submodule.sh:1048
msgid "submodule"
msgstr "子樑组"
-#: merge-recursive.c:1648
+#: merge-recursive.c:1651
#, c-format
msgid "CONFLICT (%s): Merge conflict in %s"
msgstr "冲ηͺοΌˆ%sοΌ‰οΌšεˆεΉΆε†²ηͺδΊŽ %s"
-#: merge-recursive.c:1734
+#: merge-recursive.c:1737
#, c-format
msgid "Removing %s"
msgstr "εˆ ι™€ %s"
-#: merge-recursive.c:1759
+#: merge-recursive.c:1762
msgid "file/directory"
msgstr "ζ–‡δ»Ά/η›ε½•"
-#: merge-recursive.c:1765
+#: merge-recursive.c:1768
msgid "directory/file"
msgstr "η›ε½•/ζ–‡δ»Ά"
-#: merge-recursive.c:1770
+#: merge-recursive.c:1773
#, c-format
msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s"
msgstr "冲ηͺοΌˆ%1$sοΌ‰οΌšεœ¨ %3$s δΈ­ζœ‰δΈ€δΈͺ名为 %2$s ηš„η›ε½•。δ»₯ %5$s 为名添加 %4$s"
-#: merge-recursive.c:1780
+#: merge-recursive.c:1783
#, c-format
msgid "Adding %s"
msgstr "添加 %s"
-#: merge-recursive.c:1797
+#: merge-recursive.c:1800
msgid "Fatal merge failure, shouldn't happen."
msgstr "δΈ₯ι‡ηš„εˆεΉΆι”™θ――οΌŒδΈεΊ”ε‘η”Ÿγ€‚"
-#: merge-recursive.c:1816
+#: merge-recursive.c:1819
msgid "Already up-to-date!"
msgstr "ε·²η»ζ˜―ζœ€ζ–°ηš„οΌ"
-#: merge-recursive.c:1825
+#: merge-recursive.c:1828
#, c-format
msgid "merging of trees %s and %s failed"
msgstr "ζ— ζ³•εˆεΉΆζ ‘ %s ε’Œ %s"
-#: merge-recursive.c:1855
+#: merge-recursive.c:1858
#, c-format
msgid "Unprocessed path??? %s"
msgstr "ζœͺε€„η†ηš„θ·―εΎ„??? %s"
-#: merge-recursive.c:1903
+#: merge-recursive.c:1906
msgid "Merging:"
msgstr "合幢:"
-#: merge-recursive.c:1916
+#: merge-recursive.c:1919
#, c-format
msgid "found %u common ancestor:"
msgid_plural "found %u common ancestors:"
msgstr[0] "ε‘ηŽ° %u δΈͺε…±εŒη₯–ε…ˆοΌš"
msgstr[1] "ε‘ηŽ° %u δΈͺε…±εŒη₯–ε…ˆοΌš"
-#: merge-recursive.c:1953
+#: merge-recursive.c:1956
msgid "merge returned no commit"
msgstr "合幢ζœͺθΏ”ε›žζδΊ€"
-#: merge-recursive.c:2010
+#: merge-recursive.c:2013
#, c-format
msgid "Could not parse object '%s'"
msgstr "δΈθƒ½θ§£ζžε―Ήθ±‘ '%s'"
-#: merge-recursive.c:2021 builtin/merge.c:645
+#: merge-recursive.c:2024 builtin/merge.c:646
msgid "Unable to write index."
msgstr "不能写ε…₯紒引。"
@@ -1154,12 +1175,12 @@ msgstr "θ·―εΎ„θ§„ζ Ό '%s' εœ¨ε­ζ¨‘η»„ '%.*s' δΈ­"
msgid "%s: pathspec magic not supported by this command: %s"
msgstr "%sοΌšθ·―εΎ„θ§„ζ Όη₯žε₯‡ε‰ηΌ€δΈθ’«ζ­€ε‘½δ»€ζ”―持:%s"
-#: pathspec.c:432
+#: pathspec.c:433
#, c-format
msgid "pathspec '%s' is beyond a symbolic link"
msgstr "θ·―εΎ„θ§„ζ Ό '%s' δ½δΊŽη¬¦ε·ι“ΎζŽ₯δΈ­"
-#: pathspec.c:441
+#: pathspec.c:442
msgid ""
"There is nothing to exclude from by :(exclude) patterns.\n"
"Perhaps you forgot to add either ':/' or '.' ?"
@@ -1193,163 +1214,248 @@ msgstr ""
"θΎη½δΊ† GIT_INDEX_VERSIONοΌŒδ½†ζ˜―ε–ε€Όζ— ζ•ˆγ€‚\n"
"δ½Ώη”¨η‰ˆζœ¬ %i"
-#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973
-#: builtin/merge.c:983
+#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974
+#: builtin/merge.c:984
#, c-format
msgid "Could not open '%s' for writing"
msgstr "无法打开 '%s' θΏ›θ‘Œε†™ε…₯"
-#: refs/files-backend.c:2359
+#: refs/files-backend.c:2374
#, c-format
msgid "could not delete reference %s: %s"
msgstr "ζ— ζ³•εˆ ι™€εΌ•η”¨ %s:%s"
-#: refs/files-backend.c:2362
+#: refs/files-backend.c:2377
#, c-format
msgid "could not delete references: %s"
msgstr "ζ— ζ³•εˆ ι™€εΌ•η”¨οΌš%s"
-#: refs/files-backend.c:2371
+#: refs/files-backend.c:2386
#, c-format
msgid "could not remove reference %s"
msgstr "ζ— ζ³•εˆ ι™€εΌ•η”¨ %s"
-#: ref-filter.c:245
+#: ref-filter.c:55
#, c-format
-msgid "format: %%(end) atom used without corresponding atom"
-msgstr "ζ ΌεΌοΌšδ½Ώη”¨δΊ† %%(end) ε…ƒη΄ ε΄ζ²‘ζœ‰εƒηš„ε―ΉεΊ”ε…ƒη΄ "
+msgid "expected format: %%(color:<color>)"
+msgstr "ζœŸζœ›ηš„ζ ΌεΌοΌš%%(color:<color>)"
-#: ref-filter.c:704
+#: ref-filter.c:57
+#, c-format
+msgid "unrecognized color: %%(color:%s)"
+msgstr "ζœͺθƒ½θ―†εˆ«ηš„ι’œθ‰²οΌš%%(color:%s)"
+
+#: ref-filter.c:71
+#, c-format
+msgid "unrecognized format: %%(%s)"
+msgstr "ζœͺθƒ½θ―†εˆ«ηš„ζ ΌεΌοΌš%%(%s)"
+
+#: ref-filter.c:77
+#, c-format
+msgid "%%(body) does not take arguments"
+msgstr "%%(body) 不带参数"
+
+#: ref-filter.c:84
+#, c-format
+msgid "%%(subject) does not take arguments"
+msgstr "%%(subject) 不带参数"
+
+#: ref-filter.c:101
#, c-format
msgid "positive value expected contents:lines=%s"
msgstr "要为 contents:lines=%s 提供一δΈͺζ­£ζ•°"
-#: ref-filter.c:833
+#: ref-filter.c:103
#, c-format
-msgid "expected format: %%(color:<color>)"
-msgstr "ζœŸζœ›ηš„ζ ΌεΌοΌš%%(color:<color>)"
+msgid "unrecognized %%(contents) argument: %s"
+msgstr "ζœͺθƒ½θ―†εˆ«ηš„ %%(contents) ε‚ζ•°οΌš%s"
-#: ref-filter.c:835
-msgid "unable to parse format"
-msgstr "δΈθƒ½θ§£ζžζ ΌεΌ"
+#: ref-filter.c:113
+#, c-format
+msgid "unrecognized %%(objectname) argument: %s"
+msgstr "ζœͺθƒ½θ―†εˆ«ηš„ %%(objectname) ε‚ζ•°οΌš%s"
-#: ref-filter.c:870
+#: ref-filter.c:135
#, c-format
msgid "expected format: %%(align:<width>,<position>)"
msgstr "ζœŸζœ›ηš„ζ ΌεΌοΌš%%(align:<width>,<position>)"
-#: ref-filter.c:893
+#: ref-filter.c:147
+#, c-format
+msgid "unrecognized position:%s"
+msgstr "ζœͺθƒ½θ―†εˆ«ηš„δ½η½οΌš%s"
+
+#: ref-filter.c:151
+#, c-format
+msgid "unrecognized width:%s"
+msgstr "ζœͺθƒ½θ―†εˆ«ηš„ε½εΊ¦οΌš%s"
+
+#: ref-filter.c:157
#, c-format
-msgid "improper format entered align:%s"
-msgstr "θΎ“ε…₯了不正η‘ηš„ζ ΌεΌ align:%s"
+msgid "unrecognized %%(align) argument: %s"
+msgstr "ζœͺθƒ½θ―†εˆ«ηš„ %%(align) ε‚ζ•°οΌš%s"
-#: ref-filter.c:898
+#: ref-filter.c:161
#, c-format
msgid "positive width expected with the %%(align) atom"
msgstr "ε…ƒη΄  %%(align) ιœ€θ¦δΈ€δΈͺζ­£ζ•°ηš„ε½εΊ¦"
-#: ref-filter.c:1219
+#: ref-filter.c:244
+#, c-format
+msgid "malformed field name: %.*s"
+msgstr "ιžζ³•ηš„ε­—ζ΅εοΌš%.*s"
+
+#: ref-filter.c:270
+#, c-format
+msgid "unknown field name: %.*s"
+msgstr "ζœͺηŸ₯ηš„ε­—ζ΅εοΌš%.*s"
+
+#: ref-filter.c:372
+#, c-format
+msgid "format: %%(end) atom used without corresponding atom"
+msgstr "ζ ΌεΌοΌšδ½Ώη”¨δΊ† %%(end) ε…ƒη΄ ε΄ζ²‘ζœ‰εƒηš„ε―ΉεΊ”ε…ƒη΄ "
+
+#: ref-filter.c:424
+#, c-format
+msgid "malformed format string %s"
+msgstr "ιžζ³•ηš„ζ ΌεΌεŒ–ε­—η¬¦δΈ² %s"
+
+#: ref-filter.c:878
+msgid ":strip= requires a positive integer argument"
+msgstr ":strip= ιœ€θ¦δΈ€δΈͺζ­£ζ•΄εž‹ε‚ζ•°"
+
+#: ref-filter.c:883
+#, c-format
+msgid "ref '%s' does not have %ld components to :strip"
+msgstr "引用 '%s' ζœͺζδΎ›η”¨δΊŽ :strip ηš„ %ld δΈͺη»„δ»Ά"
+
+#: ref-filter.c:1046
+#, c-format
+msgid "unknown %.*s format %s"
+msgstr "ζœͺηŸ₯ηš„ %.*s 格式 %s"
+
+#: ref-filter.c:1066 ref-filter.c:1097
+#, c-format
+msgid "missing object %s for %s"
+msgstr "ηΌΊε€± %2$s ηš„ε―Ήθ±‘ %1$s"
+
+#: ref-filter.c:1069 ref-filter.c:1100
+#, c-format
+msgid "parse_object_buffer failed on %s for %s"
+msgstr "parse_object_buffer ε€±θ΄₯于 %2$s ηš„ %1$s"
+
+#: ref-filter.c:1311
#, c-format
msgid "malformed object at '%s'"
msgstr "ιžζ³•ηš„ε―Ήθ±‘δΊŽ '%s'"
-#: ref-filter.c:1561
+#: ref-filter.c:1373
+#, c-format
+msgid "ignoring ref with broken name %s"
+msgstr "εΏ½η•₯εΈ¦ζœ‰ι”™θ――εη§° %s ηš„εΌ•η”¨"
+
+#: ref-filter.c:1378
+#, c-format
+msgid "ignoring broken ref %s"
+msgstr "εΏ½η•₯ζŸεηš„εΌ•η”¨ %s"
+
+#: ref-filter.c:1651
#, c-format
msgid "format: %%(end) atom missing"
msgstr "ζ ΌεΌοΌšηΌΊε°‘ %%(end) ε…ƒη΄ "
-#: ref-filter.c:1615
+#: ref-filter.c:1705
#, c-format
msgid "malformed object name %s"
msgstr "ιžζ³•ηš„ε―Ήθ±‘ε %s"
-#: remote.c:756
+#: remote.c:745
#, c-format
msgid "Cannot fetch both %s and %s to %s"
msgstr "δΈθƒ½εŒζ—ΆθŽ·ε– %s ε’Œ %s 至 %s"
-#: remote.c:760
+#: remote.c:749
#, c-format
msgid "%s usually tracks %s, not %s"
msgstr "%s ι€šεΈΈθ·ŸθΈͺ %sοΌŒθ€Œιž %s"
-#: remote.c:764
+#: remote.c:753
#, c-format
msgid "%s tracks both %s and %s"
msgstr "%s εŒζ—Άθ·ŸθΈͺ %s ε’Œ %s"
-#: remote.c:772
+#: remote.c:761
msgid "Internal error"
msgstr "内部错误"
-#: remote.c:1687 remote.c:1730
+#: remote.c:1677 remote.c:1720
msgid "HEAD does not point to a branch"
msgstr "HEAD ζ²‘ζœ‰ζŒ‡ε‘δΈ€δΈͺεˆ†ζ”―"
-#: remote.c:1696
+#: remote.c:1686
#, c-format
msgid "no such branch: '%s'"
msgstr "ζ²‘ζœ‰ζ­€εˆ†ζ”―οΌš'%s'"
-#: remote.c:1699
+#: remote.c:1689
#, c-format
msgid "no upstream configured for branch '%s'"
msgstr "尚ζœͺη»™εˆ†ζ”― '%s' θΎη½δΈŠζΈΈ"
-#: remote.c:1705
+#: remote.c:1695
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
msgstr "δΈŠζΈΈεˆ†ζ”― '%s' ζ²‘ζœ‰ε­˜ε‚¨δΈΊδΈ€δΈͺθΏœη¨‹θ·ŸθΈͺεˆ†ζ”―"
-#: remote.c:1720
+#: remote.c:1710
#, c-format
msgid "push destination '%s' on remote '%s' has no local tracking branch"
msgstr "ζŽ¨ι€η›ζ ‡ '%s' θ‡³θΏœη¨‹ '%s' ζ²‘ζœ‰ζœ¬εœ°θ·ŸθΈͺεˆ†ζ”―"
-#: remote.c:1735
+#: remote.c:1725
#, c-format
msgid "branch '%s' has no remote for pushing"
msgstr "εˆ†ζ”― '%s' ζ²‘ζœ‰θΎη½θ¦ζŽ¨ι€ηš„θΏœη¨‹ζœεŠ‘器"
-#: remote.c:1746
+#: remote.c:1736
#, c-format
msgid "push refspecs for '%s' do not include '%s'"
msgstr "向 '%s' ζŽ¨ι€εΌ•η”¨θ§„ζ ΌζœͺεŒ…ε« '%s'"
-#: remote.c:1759
+#: remote.c:1749
msgid "push has no destination (push.default is 'nothing')"
msgstr "ζŽ¨ι€ζ— η›ζ ‡οΌˆpush.default 是 'nothing'οΌ‰"
-#: remote.c:1781
+#: remote.c:1771
msgid "cannot resolve 'simple' push to a single destination"
msgstr "ζ— ζ³•θ§£ζž 'simple' ζŽ¨ι€θ‡³δΈ€δΈͺε•η‹¬ηš„η›ζ ‡"
-#: remote.c:2083
+#: remote.c:2073
#, c-format
msgid "Your branch is based on '%s', but the upstream is gone.\n"
msgstr "ζ‚¨ηš„εˆ†ζ”―εŸΊδΊŽ '%s'οΌŒδ½†ζ­€δΈŠζΈΈεˆ†ζ”―ε·²η»δΈε­˜εœ¨γ€‚\n"
-#: remote.c:2087
+#: remote.c:2077
msgid " (use \"git branch --unset-upstream\" to fixup)\n"
msgstr " οΌˆδ½Ώη”¨ \"git branch --unset-upstream\" ζ₯δΏε€οΌ‰\n"
-#: remote.c:2090
+#: remote.c:2080
#, c-format
msgid "Your branch is up-to-date with '%s'.\n"
msgstr "ζ‚¨ηš„εˆ†ζ”―δΈŽδΈŠζΈΈεˆ†ζ”― '%s' 一致。\n"
-#: remote.c:2094
+#: remote.c:2084
#, c-format
msgid "Your branch is ahead of '%s' by %d commit.\n"
msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
msgstr[0] "ζ‚¨ηš„εˆ†ζ”―ι’†ε…ˆ '%s' ε…± %d δΈͺ提亀。\n"
msgstr[1] "ζ‚¨ηš„εˆ†ζ”―ι’†ε…ˆ '%s' ε…± %d δΈͺ提亀。\n"
-#: remote.c:2100
+#: remote.c:2090
msgid " (use \"git push\" to publish your local commits)\n"
msgstr " οΌˆδ½Ώη”¨ \"git push\" ζ₯ε‘εΈƒζ‚¨ηš„ζœ¬εœ°ζδΊ€οΌ‰\n"
-#: remote.c:2103
+#: remote.c:2093
#, c-format
msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n"
msgid_plural ""
@@ -1358,11 +1464,11 @@ msgstr[0] "ζ‚¨ηš„εˆ†ζ”―θ½εŽ '%s' ε…± %d δΈͺζδΊ€οΌŒεΉΆδΈ”ε―δ»₯快进。\n"
msgstr[1] "ζ‚¨ηš„εˆ†ζ”―θ½εŽ '%s' ε…± %d δΈͺζδΊ€οΌŒεΉΆδΈ”ε―δ»₯快进。\n"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: remote.c:2111
+#: remote.c:2101
msgid " (use \"git pull\" to update your local branch)\n"
msgstr " οΌˆδ½Ώη”¨ \"git pull\" ζ₯ζ›΄ζ–°ζ‚¨ηš„ζœ¬εœ°εˆ†ζ”―οΌ‰\n"
-#: remote.c:2114
+#: remote.c:2104
#, c-format
msgid ""
"Your branch and '%s' have diverged,\n"
@@ -1378,28 +1484,28 @@ msgstr[1] ""
"εΉΆδΈ”εˆ†εˆ«ζœ‰ %d ε’Œ %d ε€„δΈεŒηš„ζδΊ€γ€‚\n"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: remote.c:2124
+#: remote.c:2114
msgid " (use \"git pull\" to merge the remote branch into yours)\n"
msgstr " οΌˆδ½Ώη”¨ \"git pull\" ζ₯εˆεΉΆθΏœη¨‹εˆ†ζ”―οΌ‰\n"
-#: revision.c:2193
+#: revision.c:2131
msgid "your current branch appears to be broken"
msgstr "ζ‚¨ηš„ε½“ε‰εˆ†ζ”―ε₯½εƒθ’«ζŸε"
-#: revision.c:2196
+#: revision.c:2134
#, c-format
msgid "your current branch '%s' does not have any commits yet"
msgstr "ζ‚¨ηš„ε½“ε‰εˆ†ζ”― '%s' ε°šζ— δ»»δ½•ζδΊ€"
-#: revision.c:2390
+#: revision.c:2328
msgid "--first-parent is incompatible with --bisect"
msgstr "--first-parent 与 --bisect 不兼εΉ"
-#: run-command.c:90
+#: run-command.c:92
msgid "open /dev/null failed"
msgstr "不能打开 /dev/null"
-#: run-command.c:92
+#: run-command.c:94
#, c-format
msgid "dup2(%d,%d) failed"
msgstr "不能调用 dup2(%d,%d)"
@@ -1422,7 +1528,7 @@ msgstr "ζœͺε‘ι€ζŽ¨ι€θ―δΉ¦οΌŒε› δΈΊζŽ₯ζ”Άη«―δΈζ”―ζŒη­ΎεζŽ¨ι€"
msgid "the receiving end does not support --atomic push"
msgstr "ζŽ₯ζ”Άη«―δΈζ”―ζŒεŽŸε­ζŽ¨ι€"
-#: sequencer.c:183
+#: sequencer.c:174
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'"
@@ -1430,7 +1536,7 @@ msgstr ""
"冲ηͺθ§£ε†³εŒζ―•εŽοΌŒη”¨ 'git add <θ·―εΎ„>' ζˆ– 'git rm <θ·―εΎ„>'\n"
"命什标θ°δΏζ­£εŽηš„ζ–‡δ»Ά"
-#: sequencer.c:186
+#: sequencer.c:177
msgid ""
"after resolving the conflicts, mark the corrected paths\n"
"with 'git add <paths>' or 'git rm <paths>'\n"
@@ -1439,229 +1545,243 @@ msgstr ""
"冲ηͺθ§£ε†³εŒζ―•εŽοΌŒη”¨ 'git add <θ·―εΎ„>' ζˆ– 'git rm <θ·―εΎ„>'\n"
"ε―ΉδΏζ­£εŽηš„ζ–‡δ»Άεšζ ‡θ°οΌŒη„ΆεŽη”¨ 'git commit' 提亀"
-#: sequencer.c:199 sequencer.c:842 sequencer.c:922
+#: sequencer.c:190 sequencer.c:833 sequencer.c:913
#, c-format
msgid "Could not write to %s"
msgstr "不能写ε…₯ %s"
-#: sequencer.c:202
+#: sequencer.c:193
#, c-format
msgid "Error wrapping up %s"
msgstr "ι”™θ――ζ”Άε°Ύ %s"
-#: sequencer.c:217
+#: sequencer.c:208
msgid "Your local changes would be overwritten by cherry-pick."
msgstr "ζ‚¨ηš„ζœ¬εœ°δΏζ”Ήε°†θ’«ζ‹£ι€‰ζ“δ½œθ¦†η›–。"
-#: sequencer.c:219
+#: sequencer.c:210
msgid "Your local changes would be overwritten by revert."
msgstr "ζ‚¨ηš„ζœ¬εœ°δΏζ”Ήε°†θ’«θΏ˜εŽŸζ“δ½œθ¦†η›–γ€‚"
-#: sequencer.c:222
+#: sequencer.c:213
msgid "Commit your changes or stash them to proceed."
msgstr "ζδΊ€ζ‚¨ηš„δΏζ”Ήζˆ–δΏε­˜θΏ›εΊ¦εŽε†η»§η»­γ€‚"
#. TRANSLATORS: %s will be "revert" or "cherry-pick"
-#: sequencer.c:309
+#: sequencer.c:300
#, c-format
msgid "%s: Unable to write new index file"
msgstr "%sοΌšζ— ζ³•ε†™ε…₯ζ–°η΄’εΌ•ζ–‡δ»Ά"
-#: sequencer.c:327
+#: sequencer.c:318
msgid "Could not resolve HEAD commit\n"
msgstr "δΈθƒ½θ§£ζž HEAD 提亀\n"
-#: sequencer.c:347
+#: sequencer.c:338
msgid "Unable to update cache tree\n"
msgstr "δΈθƒ½ζ›΄ζ–°ηΌ“ε­˜\n"
-#: sequencer.c:399
+#: sequencer.c:390
#, c-format
msgid "Could not parse commit %s\n"
msgstr "δΈθƒ½θ§£ζžζδΊ€ %s\n"
-#: sequencer.c:404
+#: sequencer.c:395
#, c-format
msgid "Could not parse parent commit %s\n"
msgstr "δΈθƒ½θ§£ζžηˆΆζδΊ€ %s\n"
-#: sequencer.c:469
+#: sequencer.c:460
msgid "Your index file is unmerged."
msgstr "ζ‚¨ηš„η΄’εΌ•ζ–‡δ»ΆζœͺεŒζˆεˆεΉΆγ€‚"
-#: sequencer.c:488
+#: sequencer.c:479
#, c-format
msgid "Commit %s is a merge but no -m option was given."
msgstr "提亀 %s ζ˜―δΈ€δΈͺεˆεΉΆζδΊ€δ½†ζœͺ提供 -m 选鑹。"
-#: sequencer.c:496
+#: sequencer.c:487
#, c-format
msgid "Commit %s does not have parent %d"
msgstr "提亀 %s ζ²‘ζœ‰ηˆΆζδΊ€ %d"
-#: sequencer.c:500
+#: sequencer.c:491
#, c-format
msgid "Mainline was specified but commit %s is not a merge."
msgstr "ζŒ‡εšδΊ†δΈ»ηΊΏδ½†ζδΊ€ %s δΈζ˜―δΈ€δΈͺεˆεΉΆγ€‚"
#. TRANSLATORS: The first %s will be "revert" or
#. "cherry-pick", the second %s a SHA1
-#: sequencer.c:513
+#: sequencer.c:504
#, c-format
msgid "%s: cannot parse parent commit %s"
msgstr "%sοΌšδΈθƒ½θ§£ζžηˆΆζδΊ€ %s"
-#: sequencer.c:517
+#: sequencer.c:508
#, c-format
msgid "Cannot get commit message for %s"
msgstr "δΈθƒ½εΎ—εˆ° %s ηš„ζδΊ€θ―΄ζ˜Ž"
-#: sequencer.c:603
+#: sequencer.c:594
#, c-format
msgid "could not revert %s... %s"
msgstr "δΈθƒ½θΏ˜εŽŸ %s... %s"
-#: sequencer.c:604
+#: sequencer.c:595
#, c-format
msgid "could not apply %s... %s"
msgstr "不能应用 %s... %s"
-#: sequencer.c:639
+#: sequencer.c:630
msgid "empty commit set passed"
msgstr "ζδΎ›δΊ†η©Ίηš„ζδΊ€ι›†"
-#: sequencer.c:647
+#: sequencer.c:638
#, c-format
msgid "git %s: failed to read the index"
msgstr "git %sοΌšζ— ζ³•θ―»ε–η΄’εΌ•"
-#: sequencer.c:651
+#: sequencer.c:642
#, c-format
msgid "git %s: failed to refresh the index"
msgstr "git %sοΌšζ— ζ³•εˆ·ζ–°η΄’εΌ•"
-#: sequencer.c:711
+#: sequencer.c:702
#, c-format
msgid "Cannot %s during a %s"
msgstr "无法 %s εœ¨δΈ€δΈͺ %s 过程中"
-#: sequencer.c:733
+#: sequencer.c:724
#, c-format
msgid "Could not parse line %d."
msgstr "δΈθƒ½θ§£ζžη¬¬ %d θ‘Œγ€‚"
-#: sequencer.c:738
+#: sequencer.c:729
msgid "No commits parsed."
msgstr "ζ²‘ζœ‰ζδΊ€θ’«θ§£ζžγ€‚"
-#: sequencer.c:750
+#: sequencer.c:741
#, c-format
msgid "Could not open %s"
msgstr "不能打开 %s"
-#: sequencer.c:754
+#: sequencer.c:745
#, c-format
msgid "Could not read %s."
msgstr "不能读取 %s。"
-#: sequencer.c:761
+#: sequencer.c:752
#, c-format
msgid "Unusable instruction sheet: %s"
msgstr "ζ— η”¨ηš„ζŒ‡δ»€θ‘¨ε•οΌš%s"
-#: sequencer.c:791
+#: sequencer.c:782
#, c-format
msgid "Invalid key: %s"
msgstr "ζ— ζ•ˆι”εοΌš%s"
-#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49
+#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52
#, c-format
msgid "Invalid value for %s: %s"
msgstr "%s ηš„ε€Όζ— ζ•ˆοΌš%s"
-#: sequencer.c:804
+#: sequencer.c:795
#, c-format
msgid "Malformed options sheet: %s"
msgstr "ιžζ³•ηš„ι€‰ι‘Ήθ‘¨ε•οΌš%s"
-#: sequencer.c:823
+#: sequencer.c:814
msgid "a cherry-pick or revert is already in progress"
msgstr "δΈ€δΈͺζ‹£ι€‰ζˆ–θΏ˜εŽŸζ“δ½œε·²εœ¨θΏ›θ‘Œ"
-#: sequencer.c:824
+#: sequencer.c:815
msgid "try \"git cherry-pick (--continue | --quit | --abort)\""
msgstr "尝试 \"git cherry-pick (--continue | --quit | --abort)\""
-#: sequencer.c:828
+#: sequencer.c:819
#, c-format
msgid "Could not create sequencer directory %s"
msgstr "δΈθƒ½εˆ›ε»ΊεΊεˆ—η›ε½• %s"
-#: sequencer.c:844 sequencer.c:926
+#: sequencer.c:835 sequencer.c:917
#, c-format
msgid "Error wrapping up %s."
msgstr "ι”™θ――ζ”Άε°Ύ %s。"
-#: sequencer.c:863 sequencer.c:996
+#: sequencer.c:854 sequencer.c:987
msgid "no cherry-pick or revert in progress"
msgstr "ζ‹£ι€‰ζˆ–θΏ˜εŽŸζ“δ½œεΉΆζœͺθΏ›θ‘Œ"
-#: sequencer.c:865
+#: sequencer.c:856
msgid "cannot resolve HEAD"
msgstr "δΈθƒ½θ§£ζž HEAD"
-#: sequencer.c:867
+#: sequencer.c:858
msgid "cannot abort from a branch yet to be born"
msgstr "δΈθƒ½δ»Žε°šζœͺε»Ίη«‹ηš„εˆ†ζ”―η»ˆζ­’"
-#: sequencer.c:887 builtin/apply.c:4287
+#: sequencer.c:878 builtin/apply.c:4287
#, c-format
msgid "cannot open %s: %s"
msgstr "不能打开 %s:%s"
-#: sequencer.c:890
+#: sequencer.c:881
#, c-format
msgid "cannot read %s: %s"
msgstr "不能读取 %s:%s"
-#: sequencer.c:891
+#: sequencer.c:882
msgid "unexpected end of file"
msgstr "ζ„ε€–ηš„ζ–‡δ»Άη»“ζŸ"
-#: sequencer.c:897
+#: sequencer.c:888
#, c-format
msgid "stored pre-cherry-pick HEAD file '%s' is corrupt"
msgstr "δΏε­˜ζ‹£ι€‰ζδΊ€ε‰ηš„ HEAD ζ–‡δ»Ά '%s' 损坏"
-#: sequencer.c:919
+#: sequencer.c:910
#, c-format
msgid "Could not format %s."
msgstr "δΈθƒ½ζ ΌεΌεŒ– %s。"
-#: sequencer.c:1064
+#: sequencer.c:1055
#, c-format
msgid "%s: can't cherry-pick a %s"
msgstr "%sοΌšδΈθƒ½ζ‹£ι€‰δΈ€δΈͺ%s"
-#: sequencer.c:1067
+#: sequencer.c:1058
#, c-format
msgid "%s: bad revision"
msgstr "%sοΌšι”™θ――ηš„η‰ˆζœ¬"
-#: sequencer.c:1101
+#: sequencer.c:1092
msgid "Can't revert as initial commit"
msgstr "δΈθƒ½δ½œδΈΊεˆε§‹ζδΊ€θΏ˜εŽŸ"
-#: sequencer.c:1102
+#: sequencer.c:1093
msgid "Can't cherry-pick into empty head"
msgstr "δΈθƒ½ζ‹£ι€‰εˆ°η©Ίεˆ†ζ”―"
-#: setup.c:248
+#: setup.c:246
#, c-format
msgid "failed to read %s"
msgstr "无法读取 %s"
-#: sha1_name.c:463
+#: sha1_file.c:1080
+msgid "offset before end of packfile (broken .idx?)"
+msgstr "εη§»ι‡εœ¨εŒ…ζ–‡δ»Άη»“ζŸδΉ‹ε‰οΌˆζŸεηš„ .idxοΌŸοΌ‰"
+
+#: sha1_file.c:2459
+#, c-format
+msgid "offset before start of pack index for %s (corrupt index?)"
+msgstr "εη§»ι‡εœ¨ %s ηš„εŒ…η΄’εΌ•εΌ€ε§‹δΉ‹ε‰οΌˆζŸεηš„η΄’εΌ•οΌŸοΌ‰"
+
+#: sha1_file.c:2463
+#, c-format
+msgid "offset beyond end of pack index for %s (truncated index?)"
+msgstr "εη§»ι‡θΆŠθΏ‡δΊ† %s ηš„εŒ…η΄’εΌ•ηš„η»“ε°ΎοΌˆθ’«ζˆͺζ–­ηš„η΄’εΌ•οΌŸοΌ‰"
+
+#: sha1_name.c:462
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"
@@ -1682,60 +1802,84 @@ msgstr ""
"ε―θƒ½ιœ€θ¦εˆ ι™€εƒδ»¬γ€‚用 \"git config advice.objectNameWarning false\"\n"
"ε‘½δ»€ε…³ι—­ζœ¬ζΆˆζ―ι€šηŸ₯。"
-#: submodule.c:61 submodule.c:95
+#: submodule.c:62 submodule.c:96
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
msgstr "无法δΏζ”ΉζœͺεˆεΉΆηš„ .gitmodulesοΌŒε…ˆθ§£ε†³εˆεΉΆε†²ηͺ"
-#: submodule.c:65 submodule.c:99
+#: submodule.c:66 submodule.c:100
#, c-format
msgid "Could not find section in .gitmodules where path=%s"
msgstr "ζ— ζ³•εœ¨ .gitmodules δΈ­ζ‰Ύεˆ° path=%s ηš„ε°θŠ‚"
-#: submodule.c:73
+#: submodule.c:74
#, c-format
msgid "Could not update .gitmodules entry %s"
msgstr "不能更新 .gitmodules ζ‘η› %s"
-#: submodule.c:106
+#: submodule.c:107
#, c-format
msgid "Could not remove .gitmodules entry for %s"
msgstr "无法移陀 %s ηš„ .gitmodules 村η›"
-#: submodule.c:117
+#: submodule.c:118
msgid "staging updated .gitmodules failed"
msgstr "ε°†ζ›΄ζ–°εŽ .gitmodules ζ·»εŠ ζš‚ε­˜εŒΊε€±θ΄₯"
-#: submodule.c:1040
+#: trailer.c:237
#, c-format
-msgid "Could not set core.worktree in %s"
-msgstr "δΈθƒ½εœ¨ %s δΈ­θΎη½ core.worktree"
+msgid "running trailer command '%s' failed"
+msgstr "ζ‰§θ‘Œ trailer 命什 '%s' ε€±θ΄₯"
-#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557
-#: trailer.c:561
+#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
+#: trailer.c:562
#, c-format
msgid "unknown value '%s' for key '%s'"
msgstr "ι” '%2$s' ηš„ζœͺηŸ₯取值 '%1$s'"
-#: trailer.c:543 trailer.c:548 builtin/remote.c:296
+#: trailer.c:544 trailer.c:549 builtin/remote.c:289
#, c-format
msgid "more than one %s"
msgstr "ε€šδΊŽδΈ€δΈͺ %s"
-#: trailer.c:581
+#: trailer.c:582
#, c-format
msgid "empty trailer token in trailer '%.*s'"
msgstr "签名 '%.*s' ηš„ι”δΈΊη©Ί"
-#: trailer.c:701
+#: trailer.c:702
#, c-format
msgid "could not read input file '%s'"
msgstr "不能读取输ε…₯ζ–‡δ»Ά '%s'"
-#: trailer.c:704
+#: trailer.c:705
msgid "could not read from stdin"
msgstr "不能θ‡ͺ标准输ε…₯读取"
-#: transport-helper.c:1025
+#: trailer.c:857 builtin/am.c:42
+#, c-format
+msgid "could not stat %s"
+msgstr "δΈθƒ½θŽ·ε– %s ηš„ζ–‡δ»ΆηŠΆζ€"
+
+#: trailer.c:859
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "ζ–‡δ»Ά %s δΈζ˜―δΈ€δΈͺζ­£θ§„ζ–‡δ»Ά"
+
+#: trailer.c:861
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "ζ–‡δ»Ά %s η”¨ζˆ·δΈε―ε†™"
+
+#: trailer.c:873
+msgid "could not open temporary file"
+msgstr "不能打开临既文仢"
+
+#: trailer.c:912
+#, c-format
+msgid "could not rename temporary file to %s"
+msgstr "不能重命名临既文仢为 %s"
+
+#: transport-helper.c:1041
#, c-format
msgid "Could not read ref %s"
msgstr "不能读取引用 %s"
@@ -1773,47 +1917,47 @@ msgstr "ζ— ζ•ˆηš„η«―ε£ε·"
msgid "invalid '..' path segment"
msgstr "ζ— ζ•ˆηš„ '..' 路径片ζ΅"
-#: wrapper.c:219 wrapper.c:362
+#: wrapper.c:222 wrapper.c:381
#, c-format
msgid "could not open '%s' for reading and writing"
msgstr "无法打开 '%s' θΏ›θ‘Œθ―»ε†™"
-#: wrapper.c:221 wrapper.c:364
+#: wrapper.c:224 wrapper.c:383
#, c-format
msgid "could not open '%s' for writing"
msgstr "无法打开 '%s' θΏ›θ‘Œε†™ε…₯"
-#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691
-#: builtin/merge.c:1074 builtin/pull.c:380
+#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691
+#: builtin/merge.c:1075 builtin/pull.c:387
#, c-format
msgid "could not open '%s' for reading"
msgstr "无法打开 '%s' θΏ›θ‘Œθ―»ε–"
-#: wrapper.c:579
+#: wrapper.c:611
#, c-format
msgid "unable to access '%s': %s"
msgstr "不能θΏι— '%s':%s"
-#: wrapper.c:600
+#: wrapper.c:632
#, c-format
msgid "unable to access '%s'"
msgstr "不能θΏι— '%s'"
-#: wrapper.c:608
+#: wrapper.c:640
msgid "unable to get current working directory"
msgstr "δΈθƒ½θŽ·ε–ε½“ε‰ε·₯作η›ε½•"
-#: wrapper.c:635
+#: wrapper.c:667
#, c-format
msgid "could not open %s for writing"
msgstr "不能写ε…₯ %s"
-#: wrapper.c:646 builtin/am.c:425
+#: wrapper.c:678 builtin/am.c:410
#, c-format
msgid "could not write to %s"
msgstr "不能写ε…₯ %s"
-#: wrapper.c:652
+#: wrapper.c:684
#, c-format
msgid "could not close %s"
msgstr "不能关闭 %s"
@@ -2298,7 +2442,11 @@ msgstr "δΈ’ε€±"
msgid "behind "
msgstr "落后 "
-#: compat/precompose_utf8.c:56 builtin/clone.c:408
+#: wt-status.c:1680 wt-status.c:1683
+msgid "ahead "
+msgstr "ι’†ε…ˆ "
+
+#: compat/precompose_utf8.c:57 builtin/clone.c:413
#, c-format
msgid "failed to unlink '%s'"
msgstr "ζ— ζ³•εˆ ι™€ '%s'"
@@ -2325,7 +2473,7 @@ msgstr "εˆ ι™€ '%s'\n"
msgid "Unstaged changes after refreshing the index:"
msgstr "εˆ·ζ–°η΄’εΌ•δΉ‹εŽε°šζœͺθ’«ζš‚ε­˜ηš„ε˜ζ›΄οΌš"
-#: builtin/add.c:194 builtin/rev-parse.c:796
+#: builtin/add.c:194 builtin/rev-parse.c:797
msgid "Could not read the index"
msgstr "不能读取紒引"
@@ -2360,15 +2508,15 @@ msgstr "不能应用 '%s'"
msgid "The following paths are ignored by one of your .gitignore files:\n"
msgstr "δΈ‹εˆ—θ·―εΎ„ζ Ήζζ‚¨ηš„δΈ€δΈͺ .gitignore ζ–‡δ»Άθ€Œθ’«εΏ½η•₯:\n"
-#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110
-#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543
-#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162
+#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111
+#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511
+#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162
msgid "dry run"
msgstr "ζΌ”δΉ "
-#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19
+#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19
#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558
-#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114
+#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114
msgid "be verbose"
msgstr "ε†—ι•ΏθΎ“ε‡Ί"
@@ -2376,7 +2524,7 @@ msgstr "ε†—ι•ΏθΎ“ε‡Ί"
msgid "interactive picking"
msgstr "亀互式拣选"
-#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286
+#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286
msgid "select hunks interactively"
msgstr "δΊ€δΊ’εΌζŒ‘ι€‰ζ•°ζε—"
@@ -2443,135 +2591,130 @@ msgstr "ζ²‘ζœ‰ζŒ‡εšζ–‡δ»ΆοΌŒδΉŸζ²‘ζœ‰ζ–‡δ»Άθ’«ζ·»εŠ γ€‚\n"
msgid "Maybe you wanted to say 'git add .'?\n"
msgstr "也θΈζ‚¨ζƒ³θ¦ζ‰§θ‘Œ 'git add .'?\n"
-#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938
-#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298
-#: builtin/submodule--helper.c:40
+#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914
+#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298
+#: builtin/submodule--helper.c:35
msgid "index file corrupt"
msgstr "η΄’εΌ•ζ–‡δ»ΆζŸε"
-#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430
+#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430
msgid "Unable to write new index file"
msgstr "无法写ε…₯ζ–°η΄’εΌ•ζ–‡δ»Ά"
-#: builtin/am.c:42
-#, c-format
-msgid "could not stat %s"
-msgstr "δΈθƒ½θŽ·ε– %s ηš„ζ–‡δ»ΆηŠΆζ€"
-
-#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077
+#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078
#, c-format
msgid "could not read '%s'"
msgstr "不能读取 '%s'"
-#: builtin/am.c:445
+#: builtin/am.c:430
msgid "could not parse author script"
msgstr "δΈθƒ½θ§£ζžδ½œθ€…θ„šζœ¬"
-#: builtin/am.c:522
+#: builtin/am.c:507
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
msgstr "'%s' θ’« applypatch-msg ι’©ε­εˆ ι™€"
-#: builtin/am.c:563 builtin/notes.c:300
+#: builtin/am.c:548 builtin/notes.c:300
#, c-format
msgid "Malformed input line: '%s'."
msgstr "ιžζ³•ηš„θΎ“ε…₯葌:'%s'。"
-#: builtin/am.c:600 builtin/notes.c:315
+#: builtin/am.c:585 builtin/notes.c:315
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
msgstr "从 '%s' ζ‹·θ΄ζ³¨θ§£εˆ° '%s' ζ—Άε€±θ΄₯"
-#: builtin/am.c:626
+#: builtin/am.c:611
msgid "fseek failed"
msgstr "fseek ε€±θ΄₯"
-#: builtin/am.c:787 builtin/am.c:875
+#: builtin/am.c:772 builtin/am.c:860
#, c-format
msgid "could not open '%s' for reading: %s"
msgstr "无法打开 '%s' θΏ›θ‘Œθ―»ε–οΌš%s"
-#: builtin/am.c:794
+#: builtin/am.c:779
#, c-format
msgid "could not open '%s' for writing: %s"
msgstr "无法打开 '%s' θΏ›θ‘Œε†™ε…₯:%s"
-#: builtin/am.c:803
+#: builtin/am.c:788
#, c-format
msgid "could not parse patch '%s'"
msgstr "ζ— ζ³•θ§£ζžθ‘₯丁 '%s'"
-#: builtin/am.c:868
+#: builtin/am.c:853
msgid "Only one StGIT patch series can be applied at once"
msgstr "一欑εͺθƒ½ζœ‰δΈ€δΈͺ StGIT θ‘₯δΈι˜Ÿεˆ—θ’«εΊ”η”¨"
-#: builtin/am.c:916
+#: builtin/am.c:901
msgid "invalid timestamp"
msgstr "ζ— ζ•ˆηš„ζ—Άι—΄ζˆ³"
-#: builtin/am.c:919 builtin/am.c:927
+#: builtin/am.c:904 builtin/am.c:912
msgid "invalid Date line"
msgstr "ζ— ζ•ˆηš„ζ—₯期葌"
-#: builtin/am.c:924
+#: builtin/am.c:909
msgid "invalid timezone offset"
msgstr "ζ— ζ•ˆηš„ζ—ΆεŒΊεη§»ε€Ό"
-#: builtin/am.c:1011
+#: builtin/am.c:996
msgid "Patch format detection failed."
msgstr "θ‘₯丁格式检桋倱θ΄₯。"
-#: builtin/am.c:1016 builtin/clone.c:373
+#: builtin/am.c:1001 builtin/clone.c:378
#, c-format
msgid "failed to create directory '%s'"
msgstr "ζ— ζ³•εˆ›ε»Ίη›ε½• '%s'"
-#: builtin/am.c:1020
+#: builtin/am.c:1005
msgid "Failed to split patches."
msgstr "ζ— ζ³•ζ‹†εˆ†θ‘₯丁。"
-#: builtin/am.c:1152 builtin/commit.c:363
+#: builtin/am.c:1137 builtin/commit.c:363
msgid "unable to write index file"
msgstr "无法写ε…₯η΄’εΌ•ζ–‡δ»Ά"
-#: builtin/am.c:1203
+#: builtin/am.c:1188
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
msgstr "当您解决这一ι—ι’˜οΌŒζ‰§θ‘Œ \"%s --continue\"。"
-#: builtin/am.c:1204
+#: builtin/am.c:1189
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
msgstr "ε¦‚ζžœζ‚¨ζƒ³θ¦θ·³θΏ‡θΏ™δΈ€θ‘₯δΈοΌŒεˆ™ζ‰§θ‘Œ \"%s --skip\"。"
-#: builtin/am.c:1205
+#: builtin/am.c:1190
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr "θ‹₯θ¦ε€εŽŸθ‡³εŽŸε§‹εˆ†ζ”―εΉΆεœζ­’θ‘₯δΈζ“δ½œοΌŒζ‰§θ‘Œ \"%s --abort\"。"
-#: builtin/am.c:1343
+#: builtin/am.c:1328
msgid "Patch is empty. Was it split wrong?"
msgstr "θ‘₯δΈδΈΊη©Ίγ€‚ζ˜―δΈζ˜―εˆ‡εˆ†ι”™θ――οΌŸ"
-#: builtin/am.c:1417 builtin/log.c:1347
+#: builtin/am.c:1402 builtin/log.c:1350
#, c-format
msgid "invalid ident line: %s"
msgstr "εŒ…ε«ζ— ζ•ˆηš„θΊ«δ»½ζ ‡θ―†οΌš%s"
-#: builtin/am.c:1444
+#: builtin/am.c:1429
#, c-format
msgid "unable to parse commit %s"
msgstr "δΈθƒ½θ§£ζžζδΊ€ %s"
-#: builtin/am.c:1646
+#: builtin/am.c:1631
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
msgstr "δ»“εΊ“ηΌΊδΉεΏ…θ¦ηš„ζ•°ζε―Ήθ±‘δ»₯θΏ›θ‘ŒδΈ‰ζ–ΉεˆεΉΆγ€‚"
-#: builtin/am.c:1648
+#: builtin/am.c:1633
msgid "Using index info to reconstruct a base tree..."
msgstr "使用紒引ζ₯重建一δΈͺοΌˆδΈ‰ζ–ΉεˆεΉΆηš„οΌ‰εŸΊη‘€η›ε½•ζ ‘..."
-#: builtin/am.c:1667
+#: builtin/am.c:1652
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
@@ -2579,37 +2722,37 @@ msgstr ""
"ζ‚¨ζ˜―ε¦ζ›Ύζ‰‹εŠ¨ηΌ–θΎ‘θΏ‡ζ‚¨ηš„θ‘₯丁?\n"
"无法应用θ‘₯δΈεˆ°η΄’εΌ•δΈ­ηš„ζ•°ζε―Ήθ±‘δΈŠγ€‚"
-#: builtin/am.c:1673
+#: builtin/am.c:1658
msgid "Falling back to patching base and 3-way merge..."
msgstr "ε›žθ½εˆ°εŸΊη‘€η‰ˆζœ¬δΈŠζ‰“θ‘₯δΈεŠθΏ›θ‘ŒδΈ‰ζ–ΉεˆεΉΆ..."
-#: builtin/am.c:1688
+#: builtin/am.c:1673
msgid "Failed to merge in the changes."
msgstr "ζ— ζ³•εˆεΉΆε˜ζ›΄γ€‚"
-#: builtin/am.c:1712 builtin/merge.c:632
+#: builtin/am.c:1697 builtin/merge.c:633
msgid "git write-tree failed to write a tree"
msgstr "git write-tree 无法写ε…₯一树对豑"
-#: builtin/am.c:1719
+#: builtin/am.c:1704
msgid "applying to an empty history"
msgstr "ζ­£εΊ”η”¨εˆ°δΈ€δΈͺη©ΊεŽ†ε²δΈŠ"
-#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829
-#: builtin/merge.c:854
+#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830
+#: builtin/merge.c:855
msgid "failed to write commit object"
msgstr "无法写提亀对豑"
-#: builtin/am.c:1764 builtin/am.c:1768
+#: builtin/am.c:1749 builtin/am.c:1753
#, c-format
msgid "cannot resume: %s does not exist."
msgstr "ζ— ζ³•η»§η»­οΌš%s δΈε­˜εœ¨γ€‚"
-#: builtin/am.c:1784
+#: builtin/am.c:1769
msgid "cannot be interactive without stdin connected to a terminal."
msgstr "标准输ε…₯ζ²‘ζœ‰ε’Œη»ˆη«―ε…³θ”οΌŒδΈθƒ½θΏ›θ‘ŒδΊ€δΊ’εΌζ“δ½œγ€‚"
-#: builtin/am.c:1789
+#: builtin/am.c:1774
msgid "Commit Body is:"
msgstr "提亀内εΉδΈΊοΌš"
@@ -2618,35 +2761,35 @@ msgstr "提亀内εΉδΈΊοΌš"
#. in your translation. The program will only accept English
#. input at this point.
#.
-#: builtin/am.c:1799
+#: builtin/am.c:1784
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
msgstr "εΊ”η”¨οΌŸζ˜―[y]/否[n]/ηΌ–θΎ‘[e]/ζŸ₯ηœ‹θ‘₯丁[v]/εΊ”η”¨ζ‰€ζœ‰[a]:"
-#: builtin/am.c:1849
+#: builtin/am.c:1834
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
msgstr "θ„η΄’εΌ•οΌšδΈθƒ½εΊ”η”¨θ‘₯δΈοΌˆθ„ζ–‡δ»ΆοΌš%sοΌ‰"
-#: builtin/am.c:1884 builtin/am.c:1955
+#: builtin/am.c:1869 builtin/am.c:1941
#, c-format
msgid "Applying: %.*s"
msgstr "εΊ”η”¨οΌš%.*s"
-#: builtin/am.c:1900
+#: builtin/am.c:1885
msgid "No changes -- Patch already applied."
msgstr "ζ²‘ζœ‰ε˜ζ›΄ β€”β€” θ‘₯丁已经应用过。"
-#: builtin/am.c:1908
+#: builtin/am.c:1893
#, c-format
msgid "Patch failed at %s %.*s"
msgstr "打θ‘₯丁倱θ΄₯于 %s %.*s"
-#: builtin/am.c:1914
+#: builtin/am.c:1899
#, c-format
msgid "The copy of the patch that failed is found in: %s"
msgstr "ε€±θ΄₯ηš„θ‘₯δΈζ–‡δ»Άε‰―ζœ¬δ½δΊŽοΌš%s"
-#: builtin/am.c:1958
+#: builtin/am.c:1944
msgid ""
"No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that something else\n"
@@ -2656,7 +2799,7 @@ msgstr ""
"ε¦‚ζžœζ²‘ζœ‰δ»€δΉˆθ¦ζ·»εŠ εˆ°ζš‚ε­˜εŒΊηš„οΌŒεˆ™εΎˆε―θƒ½ζ˜―ε…ΆεƒζδΊ€ε·²η»εΌ•ε…₯δΊ†η›ΈεŒηš„ε˜ζ›΄γ€‚\n"
"ζ‚¨δΉŸθΈζƒ³θ¦θ·³θΏ‡θΏ™δΈͺθ‘₯丁。"
-#: builtin/am.c:1965
+#: builtin/am.c:1951
msgid ""
"You still have unmerged paths in your index.\n"
"Did you forget to use 'git add'?"
@@ -2664,168 +2807,168 @@ msgstr ""
"ζ‚¨ηš„η΄’εΌ•δΈ­δ»ζœ‰ζœͺεˆεΉΆηš„θ·―εΎ„γ€‚\n"
"ζ‚¨ζ˜―ε¦εΏ˜δΊ†ζ‰§θ‘Œ 'git add'?"
-#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308
+#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308
#: builtin/reset.c:316
#, c-format
msgid "Could not parse object '%s'."
msgstr "δΈθƒ½θ§£ζžε―Ήθ±‘ '%s'。"
-#: builtin/am.c:2125
+#: builtin/am.c:2111
msgid "failed to clean index"
msgstr "无法清空紒引"
-#: builtin/am.c:2159
+#: builtin/am.c:2145
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
msgstr "您ε₯½εƒεœ¨δΈŠδΈ€ζ¬‘ 'am' ε€±θ΄₯εŽη§»εŠ¨δΊ† HEAD。ζœͺε›žι€€θ‡³ ORIG_HEAD"
-#: builtin/am.c:2220
+#: builtin/am.c:2206
#, c-format
msgid "Invalid value for --patch-format: %s"
msgstr "ζ— ζ•ˆηš„ --patch-format ε€ΌοΌš%s"
-#: builtin/am.c:2253
+#: builtin/am.c:2239
msgid "git am [<options>] [(<mbox>|<Maildir>)...]"
msgstr "git am [<选鑹>] [(<mbox>|<Maildir>)...]"
-#: builtin/am.c:2254
+#: builtin/am.c:2240
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [<选鑹>] (--continue | --skip | --abort)"
-#: builtin/am.c:2260
+#: builtin/am.c:2246
msgid "run interactively"
msgstr "δ»₯δΊ€δΊ’εΌζ–ΉεΌθΏθ‘Œ"
-#: builtin/am.c:2262
+#: builtin/am.c:2248
msgid "historical option -- no-op"
msgstr "θ€ηš„ε‚ζ•° β€”β€” ζ— δ½œη”¨"
-#: builtin/am.c:2264
+#: builtin/am.c:2250
msgid "allow fall back on 3way merging if needed"
msgstr "ε¦‚ζžœεΏ…θ¦οΌŒε…θΈδ½Ώη”¨δΈ‰ζ–ΉεˆεΉΆγ€‚"
-#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57
+#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57
#: builtin/repack.c:171
msgid "be quiet"
msgstr "ι™ι»˜ζ¨‘εΌ"
-#: builtin/am.c:2267
+#: builtin/am.c:2253
msgid "add a Signed-off-by line to the commit message"
msgstr "εœ¨ζδΊ€θ―΄ζ˜ŽδΈ­ζ·»εŠ δΈ€δΈͺ Signed-off-by 签名"
-#: builtin/am.c:2270
+#: builtin/am.c:2256
msgid "recode into utf8 (default)"
msgstr "使用 utf8 ε­—η¬¦ι›†οΌˆι»˜θ€οΌ‰"
-#: builtin/am.c:2272
+#: builtin/am.c:2258
msgid "pass -k flag to git-mailinfo"
msgstr "向 git-mailinfo δΌ ι€’ -k 参数"
-#: builtin/am.c:2274
+#: builtin/am.c:2260
msgid "pass -b flag to git-mailinfo"
msgstr "向 git-mailinfo δΌ ι€’ -b 参数"
-#: builtin/am.c:2276
+#: builtin/am.c:2262
msgid "pass -m flag to git-mailinfo"
msgstr "向 git-mailinfo δΌ ι€’ -m 参数"
-#: builtin/am.c:2278
+#: builtin/am.c:2264
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
msgstr "ι’ˆε―Ή mbox ζ ΌεΌοΌŒε‘ git-mailsplit δΌ ι€’ --keep-cr 参数"
-#: builtin/am.c:2281
+#: builtin/am.c:2267
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
msgstr "不向 git-mailsplit δΌ ι€’ --keep-cr ε‚ζ•°οΌŒθ¦†η›– am.keepcr ηš„θΎη½"
-#: builtin/am.c:2284
+#: builtin/am.c:2270
msgid "strip everything before a scissors line"
msgstr "δΈ’εΌƒθ£εˆ‡ηΊΏε‰ηš„ζ‰€ζœ‰ε†…εΉ"
-#: builtin/am.c:2285 builtin/apply.c:4554
+#: builtin/am.c:2271 builtin/apply.c:4544
msgid "action"
msgstr "动作"
-#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295
-#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307
-#: builtin/am.c:2313
+#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281
+#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293
+#: builtin/am.c:2299
msgid "pass it through git-apply"
msgstr "δΌ ι€’η»™ git-apply"
-#: builtin/am.c:2294 builtin/apply.c:4578
+#: builtin/am.c:2280 builtin/apply.c:4568
msgid "root"
msgstr "ζ Ήη›ε½•"
-#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516
-#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93
-#: builtin/pull.c:167 builtin/submodule--helper.c:78
-#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
+#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506
+#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95
+#: builtin/pull.c:171 builtin/submodule--helper.c:72
+#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163
msgid "path"
msgstr "θ·―εΎ„"
-#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
-#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127
-#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645
-#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132
-#: parse-options.h:134 parse-options.h:244
+#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669
+#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131
+#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182
+#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340
+#: parse-options.h:132 parse-options.h:134 parse-options.h:244
msgid "n"
msgstr "n"
-#: builtin/am.c:2306 builtin/apply.c:4522
+#: builtin/am.c:2292 builtin/apply.c:4512
msgid "num"
msgstr "ζ•°ε­—"
-#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438
+#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438
#: builtin/tag.c:372
msgid "format"
msgstr "格式"
-#: builtin/am.c:2310
+#: builtin/am.c:2296
msgid "format the patch(es) are in"
msgstr "θ‘₯δΈηš„ζ ΌεΌ"
-#: builtin/am.c:2316
+#: builtin/am.c:2302
msgid "override error message when patch failure occurs"
msgstr "打θ‘₯丁倱θ΄₯ζ—Άζ˜Ύη€Ίηš„ι”™θ――δΏ‘ζ―"
-#: builtin/am.c:2318
+#: builtin/am.c:2304
msgid "continue applying patches after resolving a conflict"
msgstr "冲ηͺθ§£ε†³εŽη»§η»­εΊ”用θ‘₯丁"
-#: builtin/am.c:2321
+#: builtin/am.c:2307
msgid "synonyms for --continue"
msgstr "ε’Œ --continue εŒδΉ‰"
-#: builtin/am.c:2324
+#: builtin/am.c:2310
msgid "skip the current patch"
msgstr "跳过当前θ‘₯丁"
-#: builtin/am.c:2327
+#: builtin/am.c:2313
msgid "restore the original branch and abort the patching operation."
msgstr "ζ’ε€εŽŸε§‹εˆ†ζ”―εΉΆη»ˆζ­’ζ‰“θ‘₯δΈζ“δ½œγ€‚"
-#: builtin/am.c:2331
+#: builtin/am.c:2317
msgid "lie about committer date"
msgstr "ε°†δ½œθ€…ζ—₯期作为提亀ζ—₯期"
-#: builtin/am.c:2333
+#: builtin/am.c:2319
msgid "use current timestamp for author date"
msgstr "η”¨ε½“ε‰ζ—Άι—΄δ½œδΈΊδ½œθ€…ζ—₯期"
-#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225
-#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355
+#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225
+#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355
msgid "key-id"
msgstr "key-id"
-#: builtin/am.c:2336
+#: builtin/am.c:2322
msgid "GPG-sign commits"
msgstr "使用 GPG 签名提亀"
-#: builtin/am.c:2339
+#: builtin/am.c:2325
msgid "(internal use for git-rebase)"
msgstr "οΌˆε†…ιƒ¨δ½Ώη”¨οΌŒη”¨δΊŽ git-rebaseοΌ‰"
-#: builtin/am.c:2354
+#: builtin/am.c:2340
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."
@@ -2833,16 +2976,16 @@ msgstr ""
"参数 -b/--binary ε·²η»εΎˆι•Ώζ—Άι—΄δΈεšδ»»δ½•εžθ΄¨ζ“δ½œδΊ†οΌŒεΉΆδΈ”将蒫移陀。\n"
"请不要再使用εƒδΊ†γ€‚"
-#: builtin/am.c:2361
+#: builtin/am.c:2347
msgid "failed to read the index"
msgstr "无法读取紒引"
-#: builtin/am.c:2376
+#: builtin/am.c:2362
#, c-format
msgid "previous rebase directory %s still exists but mbox given."
msgstr "δΉ‹ε‰ηš„ε˜εŸΊη›ε½• %s δ»η„Άε­˜εœ¨οΌŒδ½†ε΄ζδΎ›δΊ† mbox。"
-#: builtin/am.c:2400
+#: builtin/am.c:2386
#, c-format
msgid ""
"Stray %s directory found.\n"
@@ -2851,7 +2994,7 @@ msgstr ""
"ε‘ηŽ°δΊ†ι”™θ――ηš„ %s η›ε½•。\n"
"使用 \"git am --abort\" εˆ ι™€εƒγ€‚"
-#: builtin/am.c:2406
+#: builtin/am.c:2392
msgid "Resolve operation not in progress, we are not resuming."
msgstr "θ§£ε†³ζ“δ½œζœͺθΏ›θ‘ŒοΌŒζˆ‘δ»¬δΈδΌšη»§η»­γ€‚"
@@ -3192,131 +3335,131 @@ msgstr "ζœͺθƒ½θ―†εˆ«ηš„θΎ“ε…₯"
msgid "unable to read index file"
msgstr "无法读取紒引文仢"
-#: builtin/apply.c:4517
+#: builtin/apply.c:4507
msgid "don't apply changes matching the given path"
msgstr "δΈθ¦εΊ”η”¨δΈŽη»™ε‡Ίθ·―εΎ„ε‘εŒΉι…ηš„ε˜ζ›΄"
-#: builtin/apply.c:4520
+#: builtin/apply.c:4510
msgid "apply changes matching the given path"
msgstr "εΊ”η”¨δΈŽη»™ε‡Ίθ·―εΎ„ε‘εŒΉι…ηš„ε˜ζ›΄"
-#: builtin/apply.c:4523
+#: builtin/apply.c:4513
msgid "remove <num> leading slashes from traditional diff paths"
msgstr "δ»ŽδΌ η»Ÿηš„ diff θ·―εΎ„δΈ­η§»ι™€ζŒ‡εšζ•°ι‡ηš„ε‰ε―Όζ–œηΊΏ"
-#: builtin/apply.c:4526
+#: builtin/apply.c:4516
msgid "ignore additions made by the patch"
msgstr "εΏ½η•₯θ‘₯δΈδΈ­ηš„ζ·»εŠ ηš„ζ–‡δ»Ά"
-#: builtin/apply.c:4528
+#: builtin/apply.c:4518
msgid "instead of applying the patch, output diffstat for the input"
msgstr "不应用θ‘₯δΈοΌŒθ€Œζ˜―ζ˜Ύη€ΊθΎ“ε…₯ηš„ε·εΌ‚η»Ÿθ‘(diffstatοΌ‰"
-#: builtin/apply.c:4532
+#: builtin/apply.c:4522
msgid "show number of added and deleted lines in decimal notation"
msgstr "δ»₯εθΏ›εˆΆζ•°ζ˜Ύη€Ίζ·»εŠ ε’Œεˆ ι™€ηš„θ‘Œζ•°"
-#: builtin/apply.c:4534
+#: builtin/apply.c:4524
msgid "instead of applying the patch, output a summary for the input"
msgstr "不应用θ‘₯δΈοΌŒθ€Œζ˜―ζ˜Ύη€ΊθΎ“ε…₯ηš„ζ¦‚θ¦"
-#: builtin/apply.c:4536
+#: builtin/apply.c:4526
msgid "instead of applying the patch, see if the patch is applicable"
msgstr "不应用θ‘₯δΈοΌŒθ€Œζ˜―ζŸ₯ηœ‹θ‘₯δΈζ˜―ε¦ε―εΊ”η”¨"
-#: builtin/apply.c:4538
+#: builtin/apply.c:4528
msgid "make sure the patch is applicable to the current index"
msgstr "η‘θ€θ‘₯丁可δ»₯εΊ”η”¨εˆ°ε½“ε‰η΄’εΌ•"
-#: builtin/apply.c:4540
+#: builtin/apply.c:4530
msgid "apply a patch without touching the working tree"
msgstr "应用θ‘₯δΈθ€ŒδΈδΏζ”Ήε·₯作区"
-#: builtin/apply.c:4542
+#: builtin/apply.c:4532
msgid "accept a patch that touches outside the working area"
msgstr "ζŽ₯受δΏζ”Ήε·₯δ½œεŒΊδΉ‹ε€–ζ–‡δ»Άηš„θ‘₯丁"
-#: builtin/apply.c:4544
+#: builtin/apply.c:4534
msgid "also apply the patch (use with --stat/--summary/--check)"
msgstr "θΏ˜εΊ”η”¨ζ­€θ‘₯丁(与 --stat/--summary/--check ι€‰ι‘ΉεŒζ—Άδ½Ώη”¨οΌ‰"
-#: builtin/apply.c:4546
+#: builtin/apply.c:4536
msgid "attempt three-way merge if a patch does not apply"
msgstr "ε¦‚ζžœδΈ€δΈͺθ‘₯δΈδΈθƒ½εΊ”η”¨εˆ™ε°θ―•δΈ‰ζ–ΉεˆεΉΆ"
-#: builtin/apply.c:4548
+#: builtin/apply.c:4538
msgid "build a temporary index based on embedded index information"
msgstr "εˆ›ε»ΊδΈ€δΈͺδΈ΄ζ—Άη΄’εΌ•εŸΊδΊŽε΅Œε…₯ηš„η΄’εΌ•δΏ‘ζ―"
-#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412
+#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425
msgid "paths are separated with NUL character"
msgstr "θ·―εΎ„δ»₯ NUL ε­—η¬¦εˆ†ιš”"
-#: builtin/apply.c:4553
+#: builtin/apply.c:4543
msgid "ensure at least <n> lines of context match"
msgstr "η‘δΏθ‡³ε°‘εŒΉι… <n> θ‘ŒδΈŠδΈ‹ζ–‡"
-#: builtin/apply.c:4555
+#: builtin/apply.c:4545
msgid "detect new or modified lines that have whitespace errors"
msgstr "ζ£€ζŸ₯ζ–°ε’žε’ŒδΏζ”Ήηš„θ‘ŒδΈ­ι—΄ηš„η©Ίη™½ε­—η¬¦ζ»₯用"
-#: builtin/apply.c:4558 builtin/apply.c:4561
+#: builtin/apply.c:4548 builtin/apply.c:4551
msgid "ignore changes in whitespace when finding context"
msgstr "ζŸ₯ζ‰ΎδΈŠδΈ‹ζ–‡ζ—ΆεΏ½η•₯η©Ίη™½ε­—η¬¦ηš„ε˜ζ›΄"
-#: builtin/apply.c:4564
+#: builtin/apply.c:4554
msgid "apply the patch in reverse"
msgstr "反向应用θ‘₯丁"
-#: builtin/apply.c:4566
+#: builtin/apply.c:4556
msgid "don't expect at least one line of context"
msgstr "ζ— ιœ€θ‡³ε°‘δΈ€θ‘ŒδΈŠδΈ‹ζ–‡"
-#: builtin/apply.c:4568
+#: builtin/apply.c:4558
msgid "leave the rejected hunks in corresponding *.rej files"
msgstr "ε°†ζ‹’η»ηš„θ‘₯丁片ζ΅δΏε­˜εœ¨ε―ΉεΊ”ηš„ *.rej ζ–‡δ»ΆδΈ­"
-#: builtin/apply.c:4570
+#: builtin/apply.c:4560
msgid "allow overlapping hunks"
msgstr "允θΈι‡ε ηš„θ‘₯丁片ζ΅"
-#: builtin/apply.c:4573
+#: builtin/apply.c:4563
msgid "tolerate incorrectly detected missing new-line at the end of file"
msgstr "允θΈδΈζ­£η‘ηš„ζ–‡δ»Άζœ«ε°Ύζ’θ‘Œη¬¦"
-#: builtin/apply.c:4576
+#: builtin/apply.c:4566
msgid "do not trust the line counts in the hunk headers"
msgstr "不俑任θ‘₯丁片ζ΅ηš„ε€΄δΏ‘ζ―δΈ­ηš„θ‘Œε·"
-#: builtin/apply.c:4579
+#: builtin/apply.c:4569
msgid "prepend <root> to all filenames"
msgstr "δΈΊζ‰€ζœ‰ζ–‡δ»Άεε‰ζ·»εŠ  <ζ Ήη›ε½•>"
-#: builtin/apply.c:4601
+#: builtin/apply.c:4591
msgid "--3way outside a repository"
msgstr "--3way εœ¨δΈ€δΈͺδ»“εΊ“δΉ‹ε€–"
-#: builtin/apply.c:4609
+#: builtin/apply.c:4599
msgid "--index outside a repository"
msgstr "--index εœ¨δΈ€δΈͺδ»“εΊ“δΉ‹ε€–"
-#: builtin/apply.c:4612
+#: builtin/apply.c:4602
msgid "--cached outside a repository"
msgstr "--cached εœ¨δΈ€δΈͺδ»“εΊ“δΉ‹ε€–"
-#: builtin/apply.c:4631
+#: builtin/apply.c:4621
#, c-format
msgid "can't open patch '%s'"
msgstr "不能打开θ‘₯丁 '%s'"
-#: builtin/apply.c:4645
+#: builtin/apply.c:4635
#, c-format
msgid "squelched %d whitespace error"
msgid_plural "squelched %d whitespace errors"
msgstr[0] "ζŠ‘εˆΆδΈ‹δ»ζœ‰ %d δΈͺ空白字符误用"
msgstr[1] "ζŠ‘εˆΆδΈ‹δ»ζœ‰ %d δΈͺ空白字符误用"
-#: builtin/apply.c:4651 builtin/apply.c:4661
+#: builtin/apply.c:4641 builtin/apply.c:4651
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
@@ -3370,103 +3513,111 @@ msgstr "ζ‰§θ‘Œ 'git bisect next'"
msgid "update BISECT_HEAD instead of checking out the current commit"
msgstr "ζ›΄ζ–° BISECT_HEAD θ€Œιžζ£€ε‡Ίε½“ε‰ζδΊ€"
-#: builtin/blame.c:32
+#: builtin/blame.c:33
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<选鑹>] [<η‰ˆζœ¬ι€‰ι‘Ή>] [<η‰ˆζœ¬>] [--] <ζ–‡δ»Ά>"
-#: builtin/blame.c:37
+#: builtin/blame.c:38
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<η‰ˆζœ¬ι€‰ι‘Ή> ηš„ζ–‡ζ‘£θ°ε½•εœ¨ git-rev-list(1) δΈ­"
-#: builtin/blame.c:2519
+#: builtin/blame.c:1782
+msgid "Blaming lines"
+msgstr "θΏ½θΈͺ代码葌"
+
+#: builtin/blame.c:2530
msgid "Show blame entries as we find them, incrementally"
msgstr "ε’žι‡εΌεœ°ζ˜Ύη€Ίε‘ηŽ°ηš„ blame 村η›"
-#: builtin/blame.c:2520
+#: builtin/blame.c:2531
msgid "Show blank SHA-1 for boundary commits (Default: off)"
msgstr "θΎΉη•ŒζδΊ€ζ˜Ύη€Ίη©Ίηš„ SHA-1(默θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2521
+#: builtin/blame.c:2532
msgid "Do not treat root commits as boundaries (Default: off)"
msgstr "δΈζŠŠζ ΉζδΊ€δ½œδΈΊθΎΉη•ŒοΌˆι»˜θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2522
+#: builtin/blame.c:2533
msgid "Show work cost statistics"
msgstr "ζ˜Ύη€Ίε‘½δ»€ζΆˆθ€—η»Ÿθ‘"
-#: builtin/blame.c:2523
+#: builtin/blame.c:2534
+msgid "Force progress reporting"
+msgstr "εΌΊεˆΆθΏ›εΊ¦ζ˜Ύη€Ί"
+
+#: builtin/blame.c:2535
msgid "Show output score for blame entries"
msgstr "ζ˜Ύη€Ίεˆ€ζ–­ blame 村η›δ½η§»ηš„εΎ—εˆ†θ―Šζ–­δΏ‘息"
-#: builtin/blame.c:2524
+#: builtin/blame.c:2536
msgid "Show original filename (Default: auto)"
msgstr "ζ˜Ύη€ΊεŽŸε§‹ζ–‡δ»ΆεοΌˆι»˜θ€οΌšθ‡ͺεŠ¨οΌ‰"
-#: builtin/blame.c:2525
+#: builtin/blame.c:2537
msgid "Show original linenumber (Default: off)"
msgstr "ζ˜Ύη€ΊεŽŸε§‹ηš„θ‘Œε·οΌˆι»˜θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2526
+#: builtin/blame.c:2538
msgid "Show in a format designed for machine consumption"
msgstr "ζ˜Ύη€ΊδΈΊδΈ€δΈͺι€‚εˆζœΊε™¨θ―»ε–ηš„ζ ΌεΌ"
-#: builtin/blame.c:2527
+#: builtin/blame.c:2539
msgid "Show porcelain format with per-line commit information"
msgstr "δΈΊζ―δΈ€θ‘Œζ˜Ύη€ΊζœΊε™¨ι€‚η”¨ηš„ζδΊ€δΏ‘ζ―"
-#: builtin/blame.c:2528
+#: builtin/blame.c:2540
msgid "Use the same output mode as git-annotate (Default: off)"
msgstr "δ½Ώη”¨ε’Œ git-annotate η›ΈεŒηš„θΎ“ε‡Ίζ¨‘εΌοΌˆι»˜θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2529
+#: builtin/blame.c:2541
msgid "Show raw timestamp (Default: off)"
msgstr "ζ˜Ύη€ΊεŽŸε§‹ζ—Άι—΄ζˆ³οΌˆι»˜θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2530
+#: builtin/blame.c:2542
msgid "Show long commit SHA1 (Default: off)"
msgstr "ζ˜Ύη€Ίι•Ώηš„ SHA1 提亀号(默θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2531
+#: builtin/blame.c:2543
msgid "Suppress author name and timestamp (Default: off)"
msgstr "ιšθ—δ½œθ€…εε­—ε’Œζ—Άι—΄ζˆ³οΌˆι»˜θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2532
+#: builtin/blame.c:2544
msgid "Show author email instead of name (Default: off)"
msgstr "ζ˜Ύη€Ίδ½œθ€…ηš„ι‚η±θ€ŒδΈζ˜―εε­—οΌˆι»˜θ€οΌšε…³ι—­οΌ‰"
-#: builtin/blame.c:2533
+#: builtin/blame.c:2545
msgid "Ignore whitespace differences"
msgstr "εΏ½η•₯η©Ίη™½ε·εΌ‚"
-#: builtin/blame.c:2534
+#: builtin/blame.c:2546
msgid "Spend extra cycles to find better match"
msgstr "θŠ±θ΄Ήι’ε€–ηš„εΎͺ环ζ₯ζ‰Ύεˆ°ζ›΄ε₯½ηš„εŒΉι…"
-#: builtin/blame.c:2535
+#: builtin/blame.c:2547
msgid "Use revisions from <file> instead of calling git-rev-list"
msgstr "使用ζ₯θ‡ͺ <ζ–‡δ»Ά> ηš„δΏθ’ι›†θ€ŒδΈζ˜―θ°ƒη”¨ git-rev-list"
-#: builtin/blame.c:2536
+#: builtin/blame.c:2548
msgid "Use <file>'s contents as the final image"
msgstr "使用 <ζ–‡δ»Ά> ηš„ε†…εΉδ½œδΈΊζœ€η»ˆηš„图片"
-#: builtin/blame.c:2537 builtin/blame.c:2538
+#: builtin/blame.c:2549 builtin/blame.c:2550
msgid "score"
msgstr "εΎ—εˆ†"
-#: builtin/blame.c:2537
+#: builtin/blame.c:2549
msgid "Find line copies within and across files"
msgstr "ζ‰Ύεˆ°ζ–‡δ»Άε†…εŠθ·¨ζ–‡δ»Άηš„θ‘Œζ‹·θ΄"
-#: builtin/blame.c:2538
+#: builtin/blame.c:2550
msgid "Find line movements within and across files"
msgstr "ζ‰Ύεˆ°ζ–‡δ»Άε†…εŠθ·¨ζ–‡δ»Άηš„θ‘Œη§»εŠ¨"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "n,m"
msgstr "n,m"
-#: builtin/blame.c:2539
+#: builtin/blame.c:2551
msgid "Process only line range n,m, counting from 1"
msgstr "εͺε€„η†θ‘ŒθŒƒε›΄εœ¨ n ε’Œ m δΉ‹ι—΄ηš„οΌŒδ»Ž 1 εΌ€ε§‹"
@@ -3476,7 +3627,7 @@ msgstr "εͺε€„η†θ‘ŒθŒƒε›΄εœ¨ n ε’Œ m δΉ‹ι—΄ηš„οΌŒδ»Ž 1 εΌ€ε§‹"
#. takes 22 places, is the longest among various forms of
#. relative timestamps, but your language may need more or
#. fewer display columns.
-#: builtin/blame.c:2620
+#: builtin/blame.c:2640
msgid "4 years, 11 months ago"
msgstr "4 εΉ΄ 11 δΈͺζœˆε‰"
@@ -3676,193 +3827,193 @@ msgstr "εˆ†ζ”―ι‡ε‘½εδΈΊ %sοΌŒδ½† HEAD ζ²‘ζœ‰ζ›΄ζ–°οΌ"
msgid "Branch is renamed, but update of config-file failed"
msgstr "εˆ†ζ”―θ’«ι‡ε‘½εοΌŒδ½†ζ›΄ζ–° config ζ–‡δ»Άε€±θ΄₯"
-#: builtin/branch.c:587
+#: builtin/branch.c:586
#, c-format
msgid "could not write branch description template: %s"
msgstr "δΈθƒ½ε†™εˆ†ζ”―ζθΏ°ζ¨‘η‰ˆοΌš%s"
-#: builtin/branch.c:616
+#: builtin/branch.c:615
msgid "Generic options"
msgstr "ι€šη”¨ι€‰ι‘Ή"
-#: builtin/branch.c:618
+#: builtin/branch.c:617
msgid "show hash and subject, give twice for upstream branch"
msgstr "ζ˜Ύη€Ίε“ˆεΈŒε€Όε’ŒδΈ»ι’˜οΌŒθ‹₯ε‚ζ•°ε‡ΊηŽ°δΈ€ζ¬‘εˆ™ζ˜Ύη€ΊδΈŠζΈΈεˆ†ζ”―"
-#: builtin/branch.c:619
+#: builtin/branch.c:618
msgid "suppress informational messages"
msgstr "不显瀺俑息"
-#: builtin/branch.c:620
+#: builtin/branch.c:619
msgid "set up tracking mode (see git-pull(1))"
msgstr "θΎη½θ·ŸθΈͺζ¨‘εΌοΌˆε‚θ§ git-pull(1)οΌ‰"
-#: builtin/branch.c:622
+#: builtin/branch.c:621
msgid "change upstream info"
msgstr "ζ”Ήε˜δΈŠζΈΈδΏ‘ζ―"
-#: builtin/branch.c:626
+#: builtin/branch.c:625
msgid "use colored output"
msgstr "使用彩色输出"
-#: builtin/branch.c:627
+#: builtin/branch.c:626
msgid "act on remote-tracking branches"
msgstr "δ½œη”¨δΊŽθΏœη¨‹θ·ŸθΈͺεˆ†ζ”―"
-#: builtin/branch.c:629 builtin/branch.c:630
+#: builtin/branch.c:628 builtin/branch.c:629
msgid "print only branches that contain the commit"
msgstr "εͺζ‰“ε°εŒ…ε«θ―₯ζδΊ€ηš„εˆ†ζ”―"
-#: builtin/branch.c:633
+#: builtin/branch.c:632
msgid "Specific git-branch actions:"
msgstr "ε…·δ½“ηš„ git-branch 动作:"
-#: builtin/branch.c:634
+#: builtin/branch.c:633
msgid "list both remote-tracking and local branches"
msgstr "εˆ—ε‡ΊθΏœη¨‹θ·ŸθΈͺεŠζœ¬εœ°εˆ†ζ”―"
-#: builtin/branch.c:636
+#: builtin/branch.c:635
msgid "delete fully merged branch"
msgstr "εˆ ι™€εŒε…¨εˆεΉΆηš„εˆ†ζ”―"
-#: builtin/branch.c:637
+#: builtin/branch.c:636
msgid "delete branch (even if not merged)"
msgstr "εˆ ι™€εˆ†ζ”―οΌˆε³δ½Ώζ²‘ζœ‰εˆεΉΆοΌ‰"
-#: builtin/branch.c:638
+#: builtin/branch.c:637
msgid "move/rename a branch and its reflog"
msgstr "移动/重命名一δΈͺεˆ†ζ”―οΌŒδ»₯及εƒηš„引用ζ—₯εΏ—"
-#: builtin/branch.c:639
+#: builtin/branch.c:638
msgid "move/rename a branch, even if target exists"
msgstr "移动/重命名一δΈͺεˆ†ζ”―οΌŒε³δ½Ώη›ζ ‡ε·²ε­˜εœ¨"
-#: builtin/branch.c:640
+#: builtin/branch.c:639
msgid "list branch names"
msgstr "εˆ—ε‡Ίεˆ†ζ”―ε"
-#: builtin/branch.c:641
+#: builtin/branch.c:640
msgid "create the branch's reflog"
msgstr "εˆ›ε»Ίεˆ†ζ”―ηš„εΌ•η”¨ζ—₯εΏ—"
-#: builtin/branch.c:643
+#: builtin/branch.c:642
msgid "edit the description for the branch"
msgstr "ζ ‡θ°εˆ†ζ”―ηš„ζθΏ°"
-#: builtin/branch.c:644
+#: builtin/branch.c:643
msgid "force creation, move/rename, deletion"
msgstr "εΌΊεˆΆεˆ›ε»Ίγ€η§»εŠ¨/ι‡ε‘½εγ€εˆ ι™€"
-#: builtin/branch.c:645
+#: builtin/branch.c:644
msgid "print only branches that are merged"
msgstr "εͺζ‰“ε°ε·²η»εˆεΉΆηš„εˆ†ζ”―"
-#: builtin/branch.c:646
+#: builtin/branch.c:645
msgid "print only branches that are not merged"
msgstr "εͺζ‰“ε°ε°šζœͺεˆεΉΆηš„εˆ†ζ”―"
-#: builtin/branch.c:647
+#: builtin/branch.c:646
msgid "list branches in columns"
msgstr "δ»₯εˆ—ηš„ζ–ΉεΌζ˜Ύη€Ίεˆ†ζ”―"
-#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366
+#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366
msgid "key"
msgstr "key"
-#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367
+#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367
msgid "field name to sort on"
msgstr "ζŽ’εΊηš„ε­—ζ΅ε"
-#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398
-#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564
+#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401
+#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567
#: builtin/tag.c:369
msgid "object"
msgstr "对豑"
-#: builtin/branch.c:652
+#: builtin/branch.c:651
msgid "print only branches of the object"
msgstr "εͺζ‰“ε°ζŒ‡ε‘θ―₯ε―Ήθ±‘ηš„εˆ†ζ”―"
-#: builtin/branch.c:670
+#: builtin/branch.c:669
msgid "Failed to resolve HEAD as a valid ref."
msgstr "无法将 HEAD θ§£ζžδΈΊζœ‰ζ•ˆεΌ•η”¨γ€‚"
-#: builtin/branch.c:674 builtin/clone.c:697
+#: builtin/branch.c:673 builtin/clone.c:705
msgid "HEAD not found below refs/heads!"
msgstr "HEAD ζ²‘ζœ‰δ½δΊŽ /refs/heads 之下!"
-#: builtin/branch.c:694
+#: builtin/branch.c:693
msgid "--column and --verbose are incompatible"
msgstr "--column ε’Œ --verbose 不兼εΉ"
-#: builtin/branch.c:705 builtin/branch.c:747
+#: builtin/branch.c:704 builtin/branch.c:746
msgid "branch name required"
msgstr "εΏ…ι‘»ζδΎ›εˆ†ζ”―ε"
-#: builtin/branch.c:723
+#: builtin/branch.c:722
msgid "Cannot give description to detached HEAD"
msgstr "δΈθƒ½ε‘εˆ†η¦»ε€΄ζŒ‡ι’ˆζδΎ›ζθΏ°"
-#: builtin/branch.c:728
+#: builtin/branch.c:727
msgid "cannot edit description of more than one branch"
msgstr "不能为一δΈͺδ»₯δΈŠηš„εˆ†ζ”―ηΌ–θΎ‘ζθΏ°"
-#: builtin/branch.c:735
+#: builtin/branch.c:734
#, c-format
msgid "No commit on branch '%s' yet."
msgstr "εˆ†ζ”― '%s' ε°šζ— ζδΊ€γ€‚"
-#: builtin/branch.c:738
+#: builtin/branch.c:737
#, c-format
msgid "No branch named '%s'."
msgstr "ζ²‘ζœ‰εˆ†ζ”― '%s'。"
-#: builtin/branch.c:753
+#: builtin/branch.c:752
msgid "too many branches for a rename operation"
msgstr "δΈΊι‡ε‘½εζ“δ½œζδΎ›δΊ†ε€ͺε€šηš„εˆ†ζ”―ε"
-#: builtin/branch.c:758
+#: builtin/branch.c:757
msgid "too many branches to set new upstream"
msgstr "δΈΊθΎη½ζ–°δΈŠζΈΈζδΎ›δΊ†ε€ͺε€šηš„εˆ†ζ”―ε"
-#: builtin/branch.c:762
+#: builtin/branch.c:761
#, c-format
msgid ""
"could not set upstream of HEAD to %s when it does not point to any branch."
msgstr "无法θΎη½ HEAD ηš„δΈŠζΈΈδΈΊ %sοΌŒε› δΈΊ HEAD ζ²‘ζœ‰ζŒ‡ε‘δ»»δ½•εˆ†ζ”―γ€‚"
-#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808
+#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807
#, c-format
msgid "no such branch '%s'"
msgstr "ζ²‘ζœ‰ζ­€εˆ†ζ”― '%s'"
-#: builtin/branch.c:769
+#: builtin/branch.c:768
#, c-format
msgid "branch '%s' does not exist"
msgstr "εˆ†ζ”― '%s' 不存在"
-#: builtin/branch.c:781
+#: builtin/branch.c:780
msgid "too many branches to unset upstream"
msgstr "δΈΊε–ζΆˆδΈŠζΈΈθΎη½ζ“δ½œζδΎ›δΊ†ε€ͺε€šηš„εˆ†ζ”―ε"
-#: builtin/branch.c:785
+#: builtin/branch.c:784
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr "ζ— ζ³•ε–ζΆˆ HEAD ηš„δΈŠζΈΈθΎη½ε› δΈΊεƒζ²‘ζœ‰ζŒ‡ε‘δΈ€δΈͺεˆ†ζ”―"
-#: builtin/branch.c:791
+#: builtin/branch.c:790
#, c-format
msgid "Branch '%s' has no upstream information"
msgstr "εˆ†ζ”― '%s' ζ²‘ζœ‰δΈŠζΈΈδΏ‘ζ―"
-#: builtin/branch.c:805
+#: builtin/branch.c:804
msgid "it does not make sense to create 'HEAD' manually"
msgstr "手ε·₯εˆ›ε»Ί 'HEAD' ζ²‘ζœ‰ζ„δΉ‰"
-#: builtin/branch.c:811
+#: builtin/branch.c:810
msgid "-a and -r options to 'git branch' do not make sense with a branch name"
msgstr "'git branch' ηš„ -a ε’Œ -r 选鑹带一δΈͺεˆ†ζ”―εε‚ζ•°ζ²‘ζœ‰ζ„δΉ‰"
-#: builtin/branch.c:814
+#: builtin/branch.c:813
#, c-format
msgid ""
"The --set-upstream flag is deprecated and will be removed. Consider using --"
@@ -3870,7 +4021,7 @@ msgid ""
msgstr ""
"选鑹 --set-upstream 已弃用幢将蒫移陀。考虑使用 --track ζˆ– --set-upstream-to\n"
-#: builtin/branch.c:831
+#: builtin/branch.c:830
#, c-format
msgid ""
"\n"
@@ -3881,12 +4032,12 @@ msgstr ""
"ε¦‚ζžœδ½ ζƒ³η”¨ '%s' 跟θΈͺ '%s', θΏ™δΉˆεšοΌš\n"
"\n"
-#: builtin/branch.c:832
+#: builtin/branch.c:831
#, c-format
msgid " git branch -d %s\n"
msgstr " git branch -d %s\n"
-#: builtin/branch.c:833
+#: builtin/branch.c:832
#, c-format
msgid " git branch --set-upstream-to %s\n"
msgstr " git branch --set-upstream-to %s\n"
@@ -3980,7 +4131,7 @@ msgstr "ζŠ₯ε‘ŠθΎη½εœ¨ζ–‡δ»ΆδΈŠηš„ζ‰€ζœ‰ε±žζ€§"
msgid "use .gitattributes only from the index"
msgstr "εͺδ½Ώη”¨η΄’εΌ•δΈ­ηš„ .gitattributes"
-#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96
+#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97
msgid "read file names from stdin"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯读出文仢名"
@@ -3988,7 +4139,7 @@ msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯读出文仢名"
msgid "terminate input and output records by a NUL character"
msgstr "θΎ“ε…₯ε’ŒθΎ“ε‡Ίηš„θ°ε½•使用 NUL ε­—η¬¦η»ˆη»“"
-#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325
+#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325
msgid "suppress progress reporting"
msgstr "δΈζ˜Ύη€ΊθΏ›εΊ¦ζŠ₯ε‘Š"
@@ -4041,49 +4192,53 @@ msgstr "δΈθƒ½θ§£ζžθ”η³»εœ°ε€οΌš%s"
msgid "no contacts specified"
msgstr "ζœͺζŒ‡εšθ”η³»εœ°ε€"
-#: builtin/checkout-index.c:126
+#: builtin/checkout-index.c:127
msgid "git checkout-index [<options>] [--] [<file>...]"
msgstr "git checkout-index [<选鑹>] [--] [<ζ–‡δ»Ά>...]"
-#: builtin/checkout-index.c:188
+#: builtin/checkout-index.c:144
+msgid "stage should be between 1 and 3 or all"
+msgstr "η΄’εΌ•ε€ΌεΊ”θ―₯取值 1 到 3 ζˆ–θ€… all"
+
+#: builtin/checkout-index.c:160
msgid "check out all files in the index"
msgstr "ζ£€ε‡Ίη΄’εΌ•εŒΊηš„ζ‰€ζœ‰ζ–‡δ»Ά"
-#: builtin/checkout-index.c:189
+#: builtin/checkout-index.c:161
msgid "force overwrite of existing files"
msgstr "εΌΊεˆΆθ¦†η›–ηŽ°ζœ‰ηš„ζ–‡δ»Ά"
-#: builtin/checkout-index.c:191
+#: builtin/checkout-index.c:163
msgid "no warning for existing files and files not in index"
msgstr "ε­˜εœ¨ζˆ–δΈεœ¨η΄’εΌ•δΈ­ηš„ζ–‡δ»Άιƒ½ζ²‘ζœ‰θ­¦ε‘Š"
-#: builtin/checkout-index.c:193
+#: builtin/checkout-index.c:165
msgid "don't checkout new files"
msgstr "不检出新文仢"
-#: builtin/checkout-index.c:195
+#: builtin/checkout-index.c:167
msgid "update stat information in the index file"
msgstr "ζ›΄ζ–°η΄’εΌ•δΈ­ζ–‡δ»Άηš„ηŠΆζ€δΏ‘ζ―"
-#: builtin/checkout-index.c:201
+#: builtin/checkout-index.c:171
msgid "read list of paths from the standard input"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯θ―»ε–θ·―εΎ„εˆ—θ‘¨"
-#: builtin/checkout-index.c:203
+#: builtin/checkout-index.c:173
msgid "write the content to temporary files"
msgstr "ε°†ε†…εΉε†™ε…₯δΈ΄ζ—Άζ–‡δ»Ά"
-#: builtin/checkout-index.c:204 builtin/column.c:30
+#: builtin/checkout-index.c:174 builtin/column.c:30
+#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169
#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175
-#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181
msgid "string"
msgstr "字符串"
-#: builtin/checkout-index.c:205
+#: builtin/checkout-index.c:175
msgid "when creating files, prepend <string>"
msgstr "εœ¨εˆ›ε»Ίζ–‡δ»Άζ—ΆοΌŒεœ¨ε‰ι’εŠ δΈŠ <字符串>"
-#: builtin/checkout-index.c:208
+#: builtin/checkout-index.c:177
msgid "copy out the files from named stage"
msgstr "δ»ŽζŒ‡εšζš‚ε­˜εŒΊδΈ­ζ‹·ε‡Ίζ–‡δ»Ά"
@@ -4163,38 +4318,42 @@ msgstr "不能对 '%s' ζ‰§θ‘Œ reflog ζ“δ½œοΌš%s\n"
msgid "HEAD is now at"
msgstr "HEAD η›ε‰δ½δΊŽ"
-#: builtin/checkout.c:668
+#: builtin/checkout.c:665 builtin/clone.c:659
+msgid "unable to update HEAD"
+msgstr "不能更新 HEAD"
+
+#: builtin/checkout.c:669
#, c-format
msgid "Reset branch '%s'\n"
msgstr "重η½εˆ†ζ”― '%s'\n"
-#: builtin/checkout.c:671
+#: builtin/checkout.c:672
#, c-format
msgid "Already on '%s'\n"
msgstr "已经位于 '%s'\n"
-#: builtin/checkout.c:675
+#: builtin/checkout.c:676
#, c-format
msgid "Switched to and reset branch '%s'\n"
msgstr "εˆ‡ζ’εΉΆι‡η½εˆ†ζ”― '%s'\n"
-#: builtin/checkout.c:677 builtin/checkout.c:1066
+#: builtin/checkout.c:678 builtin/checkout.c:1068
#, c-format
msgid "Switched to a new branch '%s'\n"
msgstr "εˆ‡ζ’εˆ°δΈ€δΈͺζ–°εˆ†ζ”― '%s'\n"
-#: builtin/checkout.c:679
+#: builtin/checkout.c:680
#, c-format
msgid "Switched to branch '%s'\n"
msgstr "εˆ‡ζ’εˆ°εˆ†ζ”― '%s'\n"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: builtin/checkout.c:731
+#: builtin/checkout.c:732
#, c-format
msgid " ... and %d more.\n"
msgstr " ... εŠε…Άεƒ %d δΈͺ。\n"
-#: builtin/checkout.c:737
+#: builtin/checkout.c:738
#, c-format
msgid ""
"Warning: you are leaving %d commit behind, not connected to\n"
@@ -4215,7 +4374,7 @@ msgstr[1] ""
"\n"
"%s\n"
-#: builtin/checkout.c:756
+#: builtin/checkout.c:757
#, c-format
msgid ""
"If you want to keep it by creating a new branch, this may be a good time\n"
@@ -4242,150 +4401,150 @@ msgstr[1] ""
" git branch <ζ–°εˆ†ζ”―ε> %s\n"
"\n"
-#: builtin/checkout.c:792
+#: builtin/checkout.c:793
msgid "internal error in revision walk"
msgstr "εœ¨η‰ˆζœ¬ιεŽ†ζ—Άι‡εˆ°ε†…ιƒ¨ι”™θ――"
-#: builtin/checkout.c:796
+#: builtin/checkout.c:797
msgid "Previous HEAD position was"
msgstr "δΉ‹ε‰ηš„ HEAD 位η½ζ˜―"
-#: builtin/checkout.c:823 builtin/checkout.c:1061
+#: builtin/checkout.c:824 builtin/checkout.c:1063
msgid "You are on a branch yet to be born"
msgstr "ζ‚¨δ½δΊŽδΈ€δΈͺ尚ζœͺεˆε§‹εŒ–ηš„εˆ†ζ”―"
-#: builtin/checkout.c:968
+#: builtin/checkout.c:969
#, c-format
msgid "only one reference expected, %d given."
msgstr "εͺ要一δΈͺεΌ•η”¨οΌŒε΄η»™ε‡ΊδΊ† %d δΈͺ"
-#: builtin/checkout.c:1007 builtin/worktree.c:213
+#: builtin/checkout.c:1009 builtin/worktree.c:211
#, c-format
msgid "invalid reference: %s"
msgstr "ζ— ζ•ˆεΌ•η”¨οΌš%s"
-#: builtin/checkout.c:1036
+#: builtin/checkout.c:1038
#, c-format
msgid "reference is not a tree: %s"
msgstr "εΌ•η”¨δΈζ˜―δΈ€δΈͺζ ‘οΌš%s"
-#: builtin/checkout.c:1075
+#: builtin/checkout.c:1077
msgid "paths cannot be used with switching branches"
msgstr "θ·―εΎ„δΈθƒ½ε’Œεˆ‡ζ’εˆ†ζ”―εŒζ—Άδ½Ώη”¨"
-#: builtin/checkout.c:1078 builtin/checkout.c:1082
+#: builtin/checkout.c:1080 builtin/checkout.c:1084
#, c-format
msgid "'%s' cannot be used with switching branches"
msgstr "'%s' δΈθƒ½ε’Œεˆ‡ζ’εˆ†ζ”―εŒζ—Άδ½Ώη”¨"
-#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094
-#: builtin/checkout.c:1097
+#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096
+#: builtin/checkout.c:1099
#, c-format
msgid "'%s' cannot be used with '%s'"
msgstr "'%s' δΈθƒ½ε’Œ '%s' εŒζ—Άδ½Ώη”¨"
-#: builtin/checkout.c:1102
+#: builtin/checkout.c:1104
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
msgstr "δΈθƒ½εˆ‡ζ’εˆ†ζ”―εˆ°δΈ€δΈͺ非提亀 '%s'"
-#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83
-#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320
-#: builtin/worktree.c:322
+#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84
+#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318
+#: builtin/worktree.c:320
msgid "branch"
msgstr "εˆ†ζ”―"
-#: builtin/checkout.c:1136
+#: builtin/checkout.c:1138
msgid "create and checkout a new branch"
msgstr "εˆ›ε»ΊεΉΆζ£€ε‡ΊδΈ€δΈͺζ–°ηš„εˆ†ζ”―"
-#: builtin/checkout.c:1138
+#: builtin/checkout.c:1140
msgid "create/reset and checkout a branch"
msgstr "εˆ›ε»Ί/重η½εΉΆζ£€ε‡ΊδΈ€δΈͺεˆ†ζ”―"
-#: builtin/checkout.c:1139
+#: builtin/checkout.c:1141
msgid "create reflog for new branch"
msgstr "δΈΊζ–°ηš„εˆ†ζ”―εˆ›ε»ΊεΌ•η”¨ζ—₯εΏ—"
-#: builtin/checkout.c:1140
+#: builtin/checkout.c:1142
msgid "detach the HEAD at named commit"
msgstr "ζˆδΈΊζŒ‡ε‘θ―₯ζδΊ€ηš„εˆ†η¦»ε€΄ζŒ‡ι’ˆ"
-#: builtin/checkout.c:1141
+#: builtin/checkout.c:1143
msgid "set upstream info for new branch"
msgstr "δΈΊζ–°ηš„εˆ†ζ”―θΎη½δΈŠζΈΈδΏ‘息"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new-branch"
msgstr "ζ–°εˆ†ζ”―"
-#: builtin/checkout.c:1143
+#: builtin/checkout.c:1145
msgid "new unparented branch"
msgstr "ζ–°ηš„ζ²‘ζœ‰ηˆΆζδΊ€ηš„εˆ†ζ”―"
-#: builtin/checkout.c:1144
+#: builtin/checkout.c:1146
msgid "checkout our version for unmerged files"
msgstr "对尚ζœͺεˆεΉΆηš„ζ–‡δ»Άζ£€ε‡Ίζˆ‘δ»¬ηš„η‰ˆζœ¬"
-#: builtin/checkout.c:1146
+#: builtin/checkout.c:1148
msgid "checkout their version for unmerged files"
msgstr "对尚ζœͺεˆεΉΆηš„ζ–‡δ»Άζ£€ε‡Ίδ»–δ»¬ηš„η‰ˆζœ¬"
-#: builtin/checkout.c:1148
+#: builtin/checkout.c:1150
msgid "force checkout (throw away local modifications)"
msgstr "εΌΊεˆΆζ£€ε‡ΊοΌˆδΈ’εΌƒζœ¬εœ°δΏζ”ΉοΌ‰"
-#: builtin/checkout.c:1149
+#: builtin/checkout.c:1151
msgid "perform a 3-way merge with the new branch"
msgstr "ε’Œζ–°ηš„εˆ†ζ”―ζ‰§θ‘ŒδΈ‰ζ–ΉεˆεΉΆ"
-#: builtin/checkout.c:1150 builtin/merge.c:227
+#: builtin/checkout.c:1152 builtin/merge.c:227
msgid "update ignored files (default)"
msgstr "ζ›΄ζ–°εΏ½η•₯ηš„ζ–‡δ»ΆοΌˆι»˜θ€οΌ‰"
-#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250
+#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250
msgid "style"
msgstr "风格"
-#: builtin/checkout.c:1152
+#: builtin/checkout.c:1154
msgid "conflict style (merge or diff3)"
msgstr "冲ηͺθΎ“ε‡Ίι£Žζ ΌοΌˆmerge ζˆ– diff3οΌ‰"
-#: builtin/checkout.c:1155
+#: builtin/checkout.c:1157
msgid "do not limit pathspecs to sparse entries only"
msgstr "ε―Ήθ·―εΎ„δΈεšη¨€η–ζ£€ε‡Ίηš„ι™εˆΆ"
-#: builtin/checkout.c:1157
+#: builtin/checkout.c:1159
msgid "second guess 'git checkout <no-such-branch>'"
msgstr "δΊŒζ¬‘ηŒœζ΅‹'git checkout <ζ— ζ­€εˆ†ζ”―>'"
-#: builtin/checkout.c:1159
+#: builtin/checkout.c:1161
msgid "do not check if another worktree is holding the given ref"
msgstr "不检ζŸ₯ζŒ‡εšηš„εΌ•η”¨ζ˜―否蒫兢他ε·₯δ½œεŒΊζ‰€ε η”¨"
-#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112
-#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558
+#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116
+#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526
#: builtin/send-pack.c:168
msgid "force progress reporting"
msgstr "εΌΊεˆΆζ˜Ύη€ΊθΏ›εΊ¦ζŠ₯ε‘Š"
-#: builtin/checkout.c:1191
+#: builtin/checkout.c:1193
msgid "-b, -B and --orphan are mutually exclusive"
msgstr "-b、-B ε’Œ --orphan ζ˜―δΊ’ζ–₯ηš„"
-#: builtin/checkout.c:1208
+#: builtin/checkout.c:1210
msgid "--track needs a branch name"
msgstr "--track ιœ€θ¦δΈ€δΈͺεˆ†ζ”―ε"
-#: builtin/checkout.c:1213
+#: builtin/checkout.c:1215
msgid "Missing branch name; try -b"
msgstr "ηΌΊε°‘εˆ†ζ”―εοΌ›ε°θ―• -b"
-#: builtin/checkout.c:1249
+#: builtin/checkout.c:1251
msgid "invalid path specification"
msgstr "ζ— ζ•ˆηš„θ·―εΎ„θ§„ζ Ό"
-#: builtin/checkout.c:1256
+#: builtin/checkout.c:1258
#, c-format
msgid ""
"Cannot update paths and switch to branch '%s' at the same time.\n"
@@ -4394,12 +4553,12 @@ msgstr ""
"δΈθƒ½εŒζ—Άζ›΄ζ–°θ·―εΎ„εΉΆεˆ‡ζ’εˆ°εˆ†ζ”―'%s'。\n"
"ζ‚¨ζ˜―ζƒ³θ¦ζ£€ε‡Ί '%s' 但兢ζœͺθƒ½θ§£ζžδΈΊζδΊ€δΉˆοΌŸ"
-#: builtin/checkout.c:1261
+#: builtin/checkout.c:1263
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
msgstr "git checkout:--detach 不能ζŽ₯攢路径参数 '%s'"
-#: builtin/checkout.c:1265
+#: builtin/checkout.c:1267
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
"checking out of the index."
@@ -4437,7 +4596,7 @@ msgstr "ε°†εΏ½η•₯δ»“εΊ“ %s\n"
msgid "failed to remove %s"
msgstr "ζ— ζ³•εˆ ι™€ %s"
-#: builtin/clean.c:315
+#: builtin/clean.c:291
msgid ""
"Prompt help:\n"
"1 - select a numbered item\n"
@@ -4449,7 +4608,7 @@ msgstr ""
"foo - ι€šθΏ‡ζ ‡ι’˜ι€‰ζ‹©δΈ€δΈͺ选鑹\n"
" - οΌˆη©ΊοΌ‰δ»€δΉˆδΉŸδΈι€‰ζ‹©"
-#: builtin/clean.c:319
+#: builtin/clean.c:295
msgid ""
"Prompt help:\n"
"1 - select a single item\n"
@@ -4469,36 +4628,36 @@ msgstr ""
"* - ι€‰ζ‹©ζ‰€ζœ‰ι€‰ι‘Ή\n"
" - οΌˆη©ΊοΌ‰η»“ζŸι€‰ζ‹©"
-#: builtin/clean.c:535
+#: builtin/clean.c:511
#, c-format
msgid "Huh (%s)?"
msgstr "ε—―οΌˆ%sοΌ‰οΌŸ"
-#: builtin/clean.c:677
+#: builtin/clean.c:653
#, c-format
msgid "Input ignore patterns>> "
msgstr "θΎ“ε…₯ζ¨‘η‰ˆδ»₯ζŽ’ι™€ζ‘η›>> "
-#: builtin/clean.c:714
+#: builtin/clean.c:690
#, c-format
msgid "WARNING: Cannot find items matched by: %s"
msgstr "θ­¦ε‘ŠοΌšζ— ζ³•ζ‰Ύεˆ°ε’Œ %s εŒΉι…ηš„ζ‘η›"
-#: builtin/clean.c:735
+#: builtin/clean.c:711
msgid "Select items to delete"
msgstr "ι€‰ζ‹©θ¦εˆ ι™€ηš„ζ‘η›"
#. TRANSLATORS: Make sure to keep [y/N] as is
-#: builtin/clean.c:776
+#: builtin/clean.c:752
#, c-format
msgid "Remove %s [y/N]? "
msgstr "εˆ ι™€ %s [y/N]?"
-#: builtin/clean.c:801
+#: builtin/clean.c:777
msgid "Bye."
msgstr "再见。"
-#: builtin/clean.c:809
+#: builtin/clean.c:785
msgid ""
"clean - start cleaning\n"
"filter by pattern - exclude items from deletion\n"
@@ -4516,69 +4675,69 @@ msgstr ""
"help - 显瀺本εΈεŠ©\n"
"? - ζ˜Ύη€Ίε¦‚δ½•εœ¨ζη€Ίη¬¦δΈ‹ι€‰ζ‹©ηš„εΈεŠ©"
-#: builtin/clean.c:836
+#: builtin/clean.c:812
msgid "*** Commands ***"
msgstr "*** 命什 ***"
-#: builtin/clean.c:837
+#: builtin/clean.c:813
msgid "What now"
msgstr "请选择"
-#: builtin/clean.c:845
+#: builtin/clean.c:821
msgid "Would remove the following item:"
msgid_plural "Would remove the following items:"
msgstr[0] "ε°†εˆ ι™€ε¦‚δΈ‹ζ‘η›οΌš"
msgstr[1] "ε°†εˆ ι™€ε¦‚δΈ‹ζ‘η›οΌš"
-#: builtin/clean.c:862
+#: builtin/clean.c:838
msgid "No more files to clean, exiting."
msgstr "ζ²‘ζœ‰θ¦ζΈ…η†ηš„ζ–‡δ»ΆοΌŒι€€ε‡Ίγ€‚"
-#: builtin/clean.c:893
+#: builtin/clean.c:869
msgid "do not print names of files removed"
msgstr "δΈζ‰“ε°εˆ ι™€ζ–‡δ»Άηš„εη§°"
-#: builtin/clean.c:895
+#: builtin/clean.c:871
msgid "force"
msgstr "强刢"
-#: builtin/clean.c:896
+#: builtin/clean.c:872
msgid "interactive cleaning"
msgstr "亀互式清陀"
-#: builtin/clean.c:898
+#: builtin/clean.c:874
msgid "remove whole directories"
msgstr "εˆ ι™€ζ•΄δΈͺη›ε½•"
-#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709
-#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182
+#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722
+#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182
msgid "pattern"
msgstr "樑式"
-#: builtin/clean.c:900
+#: builtin/clean.c:876
msgid "add <pattern> to ignore rules"
msgstr "添加 <樑式> 到忽η•₯θ§„εˆ™"
-#: builtin/clean.c:901
+#: builtin/clean.c:877
msgid "remove ignored files, too"
msgstr "δΉŸεˆ ι™€εΏ½η•₯ηš„ζ–‡δ»Ά"
-#: builtin/clean.c:903
+#: builtin/clean.c:879
msgid "remove only ignored files"
msgstr "εͺεˆ ι™€εΏ½η•₯ηš„ζ–‡δ»Ά"
-#: builtin/clean.c:921
+#: builtin/clean.c:897
msgid "-x and -X cannot be used together"
msgstr "-x ε’Œ -X δΈθƒ½εŒζ—Άδ½Ώη”¨"
-#: builtin/clean.c:925
+#: builtin/clean.c:901
msgid ""
"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to "
"clean"
msgstr ""
"clean.requireForce θΎη½δΈΊ true δΈ”ζœͺ提供 -i、-n ζˆ– -f ι€‰ι‘ΉοΌŒζ‹’η»ζ‰§θ‘ŒζΈ…η†εŠ¨δ½œ"
-#: builtin/clean.c:928
+#: builtin/clean.c:904
msgid ""
"clean.requireForce defaults to true and neither -i, -n, nor -f given; "
"refusing to clean"
@@ -4589,146 +4748,162 @@ msgstr ""
msgid "git clone [<options>] [--] <repo> [<dir>]"
msgstr "git clone [<选鑹>] [--] <δ»“εΊ“> [<θ·―εΎ„>]"
-#: builtin/clone.c:59
+#: builtin/clone.c:60
msgid "don't create a checkout"
msgstr "δΈεˆ›ε»ΊδΈ€δΈͺζ£€ε‡Ί"
-#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469
+#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469
msgid "create a bare repository"
msgstr "εˆ›ε»ΊδΈ€δΈͺηΊ―δ»“εΊ“"
-#: builtin/clone.c:64
+#: builtin/clone.c:65
msgid "create a mirror repository (implies bare)"
msgstr "εˆ›ε»ΊδΈ€δΈͺι•œεƒδ»“εΊ“οΌˆδΉŸζ˜―ηΊ―δ»“εΊ“οΌ‰"
-#: builtin/clone.c:66
+#: builtin/clone.c:67
msgid "to clone from a local repository"
msgstr "δ»Žζœ¬εœ°δ»“εΊ“ε…‹ιš†"
-#: builtin/clone.c:68
+#: builtin/clone.c:69
msgid "don't use local hardlinks, always copy"
msgstr "δΈδ½Ώη”¨ζœ¬εœ°η‘¬ι“ΎζŽ₯οΌŒε§‹η»ˆε€εˆΆ"
-#: builtin/clone.c:70
+#: builtin/clone.c:71
msgid "setup as shared repository"
msgstr "θΎη½δΈΊε…±δΊ«δ»“εΊ“"
-#: builtin/clone.c:72 builtin/clone.c:74
+#: builtin/clone.c:73 builtin/clone.c:75
msgid "initialize submodules in the clone"
msgstr "εœ¨ε…‹ιš†ζ—Άεˆε§‹εŒ–ε­ζ¨‘η»„"
-#: builtin/clone.c:75 builtin/init-db.c:466
+#: builtin/clone.c:76 builtin/init-db.c:466
msgid "template-directory"
msgstr "樑板η›ε½•"
-#: builtin/clone.c:76 builtin/init-db.c:467
+#: builtin/clone.c:77 builtin/init-db.c:467
msgid "directory from which templates will be used"
msgstr "樑板η›ε½•将蒫使用"
-#: builtin/clone.c:78 builtin/submodule--helper.c:179
+#: builtin/clone.c:79 builtin/submodule--helper.c:173
msgid "reference repository"
msgstr "参考仓库"
-#: builtin/clone.c:80
+#: builtin/clone.c:81
msgid "use --reference only while cloning"
msgstr "δ»…εœ¨ε…‹ιš†ζ—Άε‚θ€ƒ --reference ζŒ‡ε‘ηš„ζœ¬εœ°δ»“εΊ“"
-#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44
+#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44
msgid "name"
msgstr "名称"
-#: builtin/clone.c:82
+#: builtin/clone.c:83
msgid "use <name> instead of 'origin' to track upstream"
msgstr "使用 <名称> θ€ŒδΈζ˜― 'origin' 去跟θΈͺ上游"
-#: builtin/clone.c:84
+#: builtin/clone.c:85
msgid "checkout <branch> instead of the remote's HEAD"
msgstr "ζ£€ε‡Ί <εˆ†ζ”―> θ€ŒδΈζ˜―θΏœη¨‹ HEAD"
-#: builtin/clone.c:86
+#: builtin/clone.c:87
msgid "path to git-upload-pack on the remote"
msgstr "θΏœη¨‹ git-upload-pack θ·―εΎ„"
-#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654
-#: builtin/pull.c:186
+#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665
+#: builtin/pull.c:193
msgid "depth"
msgstr "ζ·±εΊ¦"
-#: builtin/clone.c:88
+#: builtin/clone.c:89
msgid "create a shallow clone of that depth"
msgstr "εˆ›ε»ΊδΈ€δΈͺζŒ‡εšζ·±εΊ¦ηš„ζ΅…ε…‹ιš†"
-#: builtin/clone.c:90
+#: builtin/clone.c:91
msgid "clone only one branch, HEAD or --branch"
msgstr "εͺε…‹ιš†δΈ€δΈͺεˆ†ζ”―γ€HEAD ζˆ– --branch"
-#: builtin/clone.c:91 builtin/init-db.c:475
+#: builtin/clone.c:92 builtin/init-db.c:475
msgid "gitdir"
msgstr "gitη›ε½•"
-#: builtin/clone.c:92 builtin/init-db.c:476
+#: builtin/clone.c:93 builtin/init-db.c:476
msgid "separate git dir from working tree"
msgstr "gitη›ε½•ε’Œε·₯δ½œεŒΊεˆ†η¦»"
-#: builtin/clone.c:93
+#: builtin/clone.c:94
msgid "key=value"
msgstr "key=value"
-#: builtin/clone.c:94
+#: builtin/clone.c:95
msgid "set config inside the new repository"
msgstr "εœ¨ζ–°δ»“εΊ“δΈ­θΎη½ι…η½δΏ‘息"
-#: builtin/clone.c:300
+#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536
+msgid "use IPv4 addresses only"
+msgstr "εͺ使用 IPv4 εœ°ε€"
+
+#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538
+msgid "use IPv6 addresses only"
+msgstr "εͺ使用 IPv6 εœ°ε€"
+
+#: builtin/clone.c:239
+msgid ""
+"No directory name could be guessed.\n"
+"Please specify a directory on the command line"
+msgstr ""
+"ζ— ζ³•ηŒœεˆ°η›ε½•名。\n"
+"θ―·εœ¨ε‘½δ»€θ‘ŒζŒ‡εšδΈ€δΈͺη›ε½•"
+
+#: builtin/clone.c:305
#, c-format
msgid "reference repository '%s' as a linked checkout is not supported yet."
msgstr "ε°šδΈζ”―ζŒε°†ε‚θ€ƒδ»“εΊ“ '%s' δ½œδΈΊδΈ€δΈͺι“ΎζŽ₯检出。"
-#: builtin/clone.c:302
+#: builtin/clone.c:307
#, c-format
msgid "reference repository '%s' is not a local repository."
msgstr "参考仓库 '%s' δΈζ˜―δΈ€δΈͺζœ¬εœ°δ»“εΊ“γ€‚"
-#: builtin/clone.c:307
+#: builtin/clone.c:312
#, c-format
msgid "reference repository '%s' is shallow"
msgstr "参考仓库 '%s' ζ˜―δΈ€δΈͺζ΅…ε…‹ιš†"
-#: builtin/clone.c:310
+#: builtin/clone.c:315
#, c-format
msgid "reference repository '%s' is grafted"
msgstr "参考仓库 '%s' 已蒫嫁ζŽ₯"
-#: builtin/clone.c:375 builtin/diff.c:84
+#: builtin/clone.c:380 builtin/diff.c:84
#, c-format
msgid "failed to stat '%s'"
msgstr "ζ— ζ³•ζžšδΈΎ '%s' ηŠΆζ€"
-#: builtin/clone.c:377
+#: builtin/clone.c:382
#, c-format
msgid "%s exists and is not a directory"
msgstr "%s ε­˜εœ¨δΈ”δΈζ˜―δΈ€δΈͺη›ε½•"
-#: builtin/clone.c:391
+#: builtin/clone.c:396
#, c-format
msgid "failed to stat %s\n"
msgstr "ζ— ζ³•ζžšδΈΎ %s ηŠΆζ€\n"
-#: builtin/clone.c:413
+#: builtin/clone.c:418
#, c-format
msgid "failed to create link '%s'"
msgstr "ζ— ζ³•εˆ›ε»Ίι“ΎζŽ₯ '%s'"
-#: builtin/clone.c:417
+#: builtin/clone.c:422
#, c-format
msgid "failed to copy file to '%s'"
msgstr "无法拷贝文仢至 '%s'"
-#: builtin/clone.c:442 builtin/clone.c:626
+#: builtin/clone.c:447 builtin/clone.c:631
#, c-format
msgid "done.\n"
msgstr "εŒζˆγ€‚\n"
-#: builtin/clone.c:454
+#: builtin/clone.c:459
msgid ""
"Clone succeeded, but checkout failed.\n"
"You can inspect what was checked out with 'git status'\n"
@@ -4738,117 +4913,126 @@ msgstr ""
"您可δ»₯ι€šθΏ‡ 'git status' ζ£€ζŸ₯ε“ͺδΊ›ε·²θ’«ζ£€ε‡ΊοΌŒη„ΆεŽδ½Ώη”¨ε‘½δ»€\n"
"'git checkout -f HEAD' 重试\n"
-#: builtin/clone.c:531
+#: builtin/clone.c:536
#, c-format
msgid "Could not find remote branch %s to clone."
msgstr "δΈθƒ½ε‘ηŽ°θ¦ε…‹ιš†ηš„θΏœη¨‹εˆ†ζ”― %s。"
-#: builtin/clone.c:621
+#: builtin/clone.c:626
#, c-format
msgid "Checking connectivity... "
msgstr "ζ£€ζŸ₯连ζŽ₯... "
-#: builtin/clone.c:624
+#: builtin/clone.c:629
msgid "remote did not send all necessary objects"
msgstr "θΏœη¨‹ζ²‘ζœ‰ε‘ι€ζ‰€ζœ‰εΏ…ι‘»ηš„ε―Ήθ±‘"
-#: builtin/clone.c:688
+#: builtin/clone.c:647
+#, c-format
+msgid "unable to update %s"
+msgstr "不能更新 %s"
+
+#: builtin/clone.c:696
msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n"
msgstr "θΏœη¨‹ HEAD ζŒ‡ε‘δΈ€δΈͺδΈε­˜εœ¨ηš„εΌ•η”¨οΌŒζ— ζ³•ζ£€ε‡Ίγ€‚\n"
-#: builtin/clone.c:719
+#: builtin/clone.c:727
msgid "unable to checkout working tree"
msgstr "不能检出ε·₯作区"
-#: builtin/clone.c:808
+#: builtin/clone.c:753
+msgid "unable to write parameters to config file"
+msgstr "无法将参数写ε…₯配η½ζ–‡δ»Ά"
+
+#: builtin/clone.c:816
msgid "cannot repack to clean up"
msgstr "ζ— ζ³•ζ‰§θ‘Œ repack ζ₯清理"
-#: builtin/clone.c:810
+#: builtin/clone.c:818
msgid "cannot unlink temporary alternates file"
msgstr "ζ— ζ³•εˆ ι™€δΈ΄ζ—Άηš„ alternates ζ–‡δ»Ά"
-#: builtin/clone.c:842
+#: builtin/clone.c:850
msgid "Too many arguments."
msgstr "ε€ͺε€šε‚ζ•°γ€‚"
-#: builtin/clone.c:846
+#: builtin/clone.c:854
msgid "You must specify a repository to clone."
msgstr "ζ‚¨εΏ…ι‘»ζŒ‡εšδΈ€δΈͺδ»“εΊ“ζ₯ε…‹ιš†γ€‚"
-#: builtin/clone.c:857
+#: builtin/clone.c:865
#, c-format
msgid "--bare and --origin %s options are incompatible."
msgstr "--bare ε’Œ --origin %s 选鑹不兼εΉγ€‚"
-#: builtin/clone.c:860
+#: builtin/clone.c:868
msgid "--bare and --separate-git-dir are incompatible."
msgstr "--bare ε’Œ --separate-git-dir 选鑹不兼εΉγ€‚"
-#: builtin/clone.c:873
+#: builtin/clone.c:881
#, c-format
msgid "repository '%s' does not exist"
msgstr "δ»“εΊ“ '%s' 不存在"
-#: builtin/clone.c:879 builtin/fetch.c:1166
+#: builtin/clone.c:887 builtin/fetch.c:1174
#, c-format
msgid "depth %s is not a positive number"
msgstr "ζ·±εΊ¦ %s δΈζ˜―δΈ€δΈͺζ­£ζ•°"
-#: builtin/clone.c:889
+#: builtin/clone.c:897
#, c-format
msgid "destination path '%s' already exists and is not an empty directory."
msgstr "η›ζ ‡θ·―εΎ„ '%s' ε·²η»ε­˜εœ¨οΌŒεΉΆδΈ”δΈζ˜―δΈ€δΈͺη©Ίη›ε½•。"
-#: builtin/clone.c:899
+#: builtin/clone.c:907
#, c-format
msgid "working tree '%s' already exists."
msgstr "ε·₯作区 '%s' ε·²η»ε­˜εœ¨γ€‚"
-#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224
-#: builtin/worktree.c:221 builtin/worktree.c:248
+#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218
+#: builtin/worktree.c:219 builtin/worktree.c:246
#, c-format
msgid "could not create leading directories of '%s'"
msgstr "不能为 '%s' εˆ›ε»Ίε…ˆε―Όη›ε½•"
-#: builtin/clone.c:917
+#: builtin/clone.c:925
#, c-format
msgid "could not create work tree dir '%s'"
msgstr "δΈθƒ½εˆ›ε»Ίε·₯作区η›ε½• '%s'"
-#: builtin/clone.c:935
+#: builtin/clone.c:943
#, c-format
msgid "Cloning into bare repository '%s'...\n"
msgstr "ε…‹ιš†εˆ°ηΊ―δ»“εΊ“ '%s'...\n"
-#: builtin/clone.c:937
+#: builtin/clone.c:945
#, c-format
msgid "Cloning into '%s'...\n"
msgstr "ζ­£ε…‹ιš†εˆ° '%s'...\n"
-#: builtin/clone.c:975
+#: builtin/clone.c:984
msgid "--depth is ignored in local clones; use file:// instead."
msgstr "--depth εœ¨ζœ¬εœ°ε…‹ιš†θ’«εΏ½η•₯οΌŒζ”ΉδΈΊ file:// 协θ试试。"
-#: builtin/clone.c:978
+#: builtin/clone.c:987
msgid "source repository is shallow, ignoring --local"
msgstr "ζΊδ»“εΊ“ζ˜―ζ΅…ε…‹ιš†οΌŒεΏ½η•₯ --local"
-#: builtin/clone.c:983
+#: builtin/clone.c:992
msgid "--local is ignored"
msgstr "--local θ’«εΏ½η•₯"
-#: builtin/clone.c:987
+#: builtin/clone.c:996
#, c-format
msgid "Don't know how to clone %s"
msgstr "不ηŸ₯ι“ε¦‚δ½•ε…‹ιš† %s"
-#: builtin/clone.c:1036 builtin/clone.c:1044
+#: builtin/clone.c:1045 builtin/clone.c:1053
#, c-format
msgid "Remote branch %s not found in upstream %s"
msgstr "θΏœη¨‹εˆ†ζ”― %s 在上游 %s ζœͺε‘ηŽ°"
-#: builtin/clone.c:1047
+#: builtin/clone.c:1056
msgid "You appear to have cloned an empty repository."
msgstr "ζ‚¨δΌΌδΉŽε…‹ιš†δΊ†δΈ€δΈͺ空仓库。"
@@ -5052,7 +5236,7 @@ msgstr "无法选择一δΈͺζœͺθ’«ε½“ε‰ζδΊ€θ―΄ζ˜Žδ½Ώη”¨ηš„ζ³¨ι‡Šε­—η¬¦"
msgid "could not lookup commit %s"
msgstr "不能ζŸ₯诒提亀 %s"
-#: builtin/commit.c:702 builtin/shortlog.c:273
+#: builtin/commit.c:702 builtin/shortlog.c:285
#, c-format
msgid "(reading log message from standard input)\n"
msgstr "οΌˆζ­£δ»Žζ ‡ε‡†θΎ“ε…₯中读取ζ—₯志俑息)\n"
@@ -5235,8 +5419,8 @@ msgstr "δ»₯η€ζ΄ηš„ζ ΌεΌζ˜Ύη€ΊηŠΆζ€"
msgid "show branch information"
msgstr "ζ˜Ύη€Ίεˆ†ζ”―δΏ‘ζ―"
-#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544
-#: builtin/worktree.c:423
+#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512
+#: builtin/worktree.c:430
msgid "machine-readable output"
msgstr "ζœΊε™¨ε―θ―»ηš„θΎ“ε‡Ί"
@@ -5325,8 +5509,8 @@ msgstr "ζ—₯期"
msgid "override date for commit"
msgstr "提亀既覆盖ζ—₯期"
-#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392
-#: builtin/notes.c:555 builtin/tag.c:349
+#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395
+#: builtin/notes.c:558 builtin/tag.c:349
msgid "message"
msgstr "说明"
@@ -5359,7 +5543,7 @@ msgstr "使用 autosquash ζ ΌεΌηš„ζδΊ€θ―΄ζ˜Žη”¨δ»₯εŽ‹ηΌ©θ‡³ζŒ‡εšηš„提亀"
msgid "the commit is authored by me now (used with -C/-c/--amend)"
msgstr "ηŽ°εœ¨ε°†θ―₯ζδΊ€ηš„δ½œθ€…ζ”ΉδΈΊζˆ‘οΌˆε’Œ -C/-c/--amend 参数共用)"
-#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86
+#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86
msgid "add Signed-off-by:"
msgstr "添加 Signed-off-by: 签名"
@@ -5384,7 +5568,7 @@ msgstr "θΎη½ε¦‚δ½•εˆ ι™€ζδΊ€θ―΄ζ˜Žι‡Œηš„η©Ίζ Όε’Œ#ζ³¨ι‡Š"
msgid "include status in commit message template"
msgstr "εœ¨ζδΊ€θ―΄ζ˜Žζ¨‘ζΏι‡ŒεŒ…ε«ηŠΆζ€δΏ‘ζ―"
-#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156
+#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160
#: builtin/revert.c:93
msgid "GPG sign commit"
msgstr "GPG 提亀签名"
@@ -5474,139 +5658,143 @@ msgstr ""
"δ»“εΊ“ε·²ζ›΄ζ–°οΌŒδ½†ζ— ζ³•ε†™ new_index 文仢。检ζŸ₯ζ˜―ε¦η£η›˜ε·²ζ»‘\n"
"ζˆ–η£η›˜ι…ι’ε·²θ€—ε°½οΌŒη„ΆεŽζ‰§θ‘Œ \"git reset HEAD\" 恒倍。"
-#: builtin/config.c:8
+#: builtin/config.c:9
msgid "git config [<options>]"
msgstr "git config [<选鑹>]"
-#: builtin/config.c:54
+#: builtin/config.c:56
msgid "Config file location"
msgstr "配η½ζ–‡δ»Άδ½η½"
-#: builtin/config.c:55
+#: builtin/config.c:57
msgid "use global config file"
msgstr "使用全局配η½ζ–‡δ»Ά"
-#: builtin/config.c:56
+#: builtin/config.c:58
msgid "use system config file"
msgstr "δ½Ώη”¨η³»η»ŸηΊ§ι…η½ζ–‡δ»Ά"
-#: builtin/config.c:57
+#: builtin/config.c:59
msgid "use repository config file"
msgstr "使用仓库级配η½ζ–‡δ»Ά"
-#: builtin/config.c:58
+#: builtin/config.c:60
msgid "use given config file"
msgstr "δ½Ώη”¨ζŒ‡εšηš„配η½ζ–‡δ»Ά"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "blob-id"
msgstr "ζ•°ζε―Ήθ±‘ ID"
-#: builtin/config.c:59
+#: builtin/config.c:61
msgid "read config from given blob object"
msgstr "δ»Žη»™εšηš„ζ•°ζε―Ήθ±‘读取配η½"
-#: builtin/config.c:60
+#: builtin/config.c:62
msgid "Action"
msgstr "ζ“δ½œ"
-#: builtin/config.c:61
+#: builtin/config.c:63
msgid "get value: name [value-regex]"
msgstr "θŽ·ε–ε€ΌοΌšname [value-regex]"
-#: builtin/config.c:62
+#: builtin/config.c:64
msgid "get all values: key [value-regex]"
msgstr "θŽ·εΎ—ζ‰€ζœ‰ηš„ε€ΌοΌškey [value-regex]"
-#: builtin/config.c:63
+#: builtin/config.c:65
msgid "get values for regexp: name-regex [value-regex]"
msgstr "ζ Ήζζ­£εˆ™θ‘¨θΎΎεΌθŽ·εΎ—ε€ΌοΌšname-regex [value-regex]"
-#: builtin/config.c:64
+#: builtin/config.c:66
msgid "get value specific for the URL: section[.var] URL"
msgstr "θŽ·εΎ— URL ε–ε€ΌοΌšsection[.var] URL"
-#: builtin/config.c:65
+#: builtin/config.c:67
msgid "replace all matching variables: name value [value_regex]"
msgstr "ζ›Ώζ’ζ‰€ζœ‰εŒΉι…ηš„ε˜ι‡οΌšname value [value_regex]"
-#: builtin/config.c:66
+#: builtin/config.c:68
msgid "add a new variable: name value"
msgstr "ζ·»εŠ δΈ€δΈͺζ–°ηš„ε˜ι‡οΌšname value"
-#: builtin/config.c:67
+#: builtin/config.c:69
msgid "remove a variable: name [value-regex]"
msgstr "εˆ ι™€δΈ€δΈͺε˜ι‡οΌšname [value-regex]"
-#: builtin/config.c:68
+#: builtin/config.c:70
msgid "remove all matches: name [value-regex]"
msgstr "εˆ ι™€ζ‰€ζœ‰εŒΉι…ι‘ΉοΌšname [value-regex]"
-#: builtin/config.c:69
+#: builtin/config.c:71
msgid "rename section: old-name new-name"
msgstr "ι‡ε‘½εε°θŠ‚οΌšold-name new-name"
-#: builtin/config.c:70
+#: builtin/config.c:72
msgid "remove a section: name"
msgstr "εˆ ι™€δΈ€δΈͺε°θŠ‚οΌšname"
-#: builtin/config.c:71
+#: builtin/config.c:73
msgid "list all"
msgstr "εˆ—ε‡Ίζ‰€ζœ‰"
-#: builtin/config.c:72
+#: builtin/config.c:74
msgid "open an editor"
msgstr "打开一δΈͺ编辑器"
-#: builtin/config.c:73
+#: builtin/config.c:75
msgid "find the color configured: slot [default]"
msgstr "θŽ·εΎ—ι…η½ηš„ι’œθ‰²οΌšι…η½ [默θ€]"
-#: builtin/config.c:74
+#: builtin/config.c:76
msgid "find the color setting: slot [stdout-is-tty]"
msgstr "θŽ·εΎ—ι’œθ‰²θΎη½οΌšι…η½ [stdout-is-tty]"
-#: builtin/config.c:75
+#: builtin/config.c:77
msgid "Type"
msgstr "η±»εž‹"
-#: builtin/config.c:76
+#: builtin/config.c:78
msgid "value is \"true\" or \"false\""
msgstr "ε€Όζ˜― \"true\" ζˆ– \"false\""
-#: builtin/config.c:77
+#: builtin/config.c:79
msgid "value is decimal number"
msgstr "ε€Όζ˜―εθΏ›εˆΆζ•°"
-#: builtin/config.c:78
+#: builtin/config.c:80
msgid "value is --bool or --int"
msgstr "ε€Όζ˜― --bool or --int"
-#: builtin/config.c:79
+#: builtin/config.c:81
msgid "value is a path (file or directory name)"
msgstr "ε€Όζ˜―δΈ€δΈͺθ·―εΎ„οΌˆζ–‡δ»Άζˆ–η›ε½•名)"
-#: builtin/config.c:80
+#: builtin/config.c:82
msgid "Other"
msgstr "ε…Άεƒ"
-#: builtin/config.c:81
+#: builtin/config.c:83
msgid "terminate values with NUL byte"
msgstr "η»ˆζ­’ε€Όζ˜― NUL ε­—θŠ‚"
-#: builtin/config.c:82
+#: builtin/config.c:84
msgid "show variable names only"
msgstr "εͺζ˜Ύη€Ίε˜ι‡ε"
-#: builtin/config.c:83
+#: builtin/config.c:85
msgid "respect include directives on lookup"
msgstr "ζŸ₯诒既参照 include ζŒ‡δ»€ι€’ε½’ζŸ₯ζ‰Ύ"
-#: builtin/config.c:303
+#: builtin/config.c:86
+msgid "show origin of config (file, standard input, blob, command line)"
+msgstr "ζ˜Ύη€Ίι…η½ηš„ζ₯ζΊοΌˆζ–‡δ»Άγ€ζ ‡ε‡†θΎ“ε…₯、数ζε―Ήθ±‘οΌŒζˆ–ε‘½δ»€θ‘ŒοΌ‰"
+
+#: builtin/config.c:328
msgid "unable to parse default color value"
msgstr "δΈθƒ½θ§£ζžι»˜θ€ι’œθ‰²ε€Ό"
-#: builtin/config.c:441
+#: builtin/config.c:469
#, c-format
msgid ""
"# This is Git's per-user configuration file.\n"
@@ -5621,7 +5809,7 @@ msgstr ""
"#\tname = %s\n"
"#\temail = %s\n"
-#: builtin/config.c:575
+#: builtin/config.c:611
#, c-format
msgid "cannot create configuration file %s"
msgstr "δΈθƒ½εˆ›ε»Ίι…η½ζ–‡δ»Ά %s"
@@ -5871,163 +6059,167 @@ msgstr "git fetch --multiple [<选鑹>] [(<δ»“εΊ“> | <η»„>)...]"
msgid "git fetch --all [<options>]"
msgstr "git fetch --all [<选鑹>]"
-#: builtin/fetch.c:90 builtin/pull.c:162
+#: builtin/fetch.c:92 builtin/pull.c:166
msgid "fetch from all remotes"
msgstr "δ»Žζ‰€ζœ‰ηš„θΏœη¨‹ζŠ“ε–"
-#: builtin/fetch.c:92 builtin/pull.c:165
+#: builtin/fetch.c:94 builtin/pull.c:169
msgid "append to .git/FETCH_HEAD instead of overwriting"
msgstr "追加到 .git/FETCH_HEAD θ€ŒδΈζ˜―θ¦†η›–εƒ"
-#: builtin/fetch.c:94 builtin/pull.c:168
+#: builtin/fetch.c:96 builtin/pull.c:172
msgid "path to upload pack on remote end"
msgstr "δΈŠδΌ εŒ…εˆ°θΏœη¨‹ηš„θ·―εΎ„"
-#: builtin/fetch.c:95 builtin/pull.c:170
+#: builtin/fetch.c:97 builtin/pull.c:174
msgid "force overwrite of local branch"
msgstr "εΌΊεˆΆθ¦†η›–ζœ¬εœ°εˆ†ζ”―"
-#: builtin/fetch.c:97
+#: builtin/fetch.c:99
msgid "fetch from multiple remotes"
msgstr "从倚δΈͺθΏœη¨‹ζŠ“ε–"
-#: builtin/fetch.c:99 builtin/pull.c:172
+#: builtin/fetch.c:101 builtin/pull.c:176
msgid "fetch all tags and associated objects"
msgstr "ζŠ“ε–ζ‰€ζœ‰ηš„ζ ‡η­Ύε’Œε…³θ”ε―Ήθ±‘"
-#: builtin/fetch.c:101
+#: builtin/fetch.c:103
msgid "do not fetch all tags (--no-tags)"
msgstr "δΈζŠ“ε–δ»»δ½•ζ ‡η­Ύ(--no-tags)"
-#: builtin/fetch.c:103 builtin/pull.c:175
+#: builtin/fetch.c:105
+msgid "number of submodules fetched in parallel"
+msgstr "ε­ζ¨‘η»„θŽ·ε–ηš„εΉΆε‘ζ•°"
+
+#: builtin/fetch.c:107 builtin/pull.c:179
msgid "prune remote-tracking branches no longer on remote"
msgstr "ζΈ…ι™€θΏœη¨‹ε·²η»δΈε­˜εœ¨ηš„εˆ†ζ”―ηš„θ·ŸθΈͺεˆ†ζ”―"
# θ―‘θ€…οΌšε―ι€‰ε€ΌοΌŒδΈθƒ½ηΏ»θ―‘
-#: builtin/fetch.c:104 builtin/pull.c:178
+#: builtin/fetch.c:108 builtin/pull.c:182
msgid "on-demand"
msgstr "on-demand"
-#: builtin/fetch.c:105 builtin/pull.c:179
+#: builtin/fetch.c:109 builtin/pull.c:183
msgid "control recursive fetching of submodules"
msgstr "ζŽ§εˆΆε­ζ¨‘η»„ηš„ι€’ε½’ζŠ“ε–"
-#: builtin/fetch.c:109 builtin/pull.c:184
+#: builtin/fetch.c:113 builtin/pull.c:191
msgid "keep downloaded pack"
msgstr "δΏζŒδΈ‹θ½½εŒ…"
-#: builtin/fetch.c:111
+#: builtin/fetch.c:115
msgid "allow updating of HEAD ref"
msgstr "允θΈζ›΄ζ–° HEAD 引用"
-#: builtin/fetch.c:114 builtin/pull.c:187
+#: builtin/fetch.c:118 builtin/pull.c:194
msgid "deepen history of shallow clone"
msgstr "ζ·±εŒ–ζ΅…ε…‹ιš†ηš„εŽ†ε²"
-#: builtin/fetch.c:116 builtin/pull.c:190
+#: builtin/fetch.c:120 builtin/pull.c:197
msgid "convert to a complete repository"
msgstr "转捒为一δΈͺεŒζ•΄ηš„δ»“εΊ“"
-#: builtin/fetch.c:118 builtin/log.c:1233
+#: builtin/fetch.c:122 builtin/log.c:1236
msgid "dir"
msgstr "η›ε½•"
-#: builtin/fetch.c:119
+#: builtin/fetch.c:123
msgid "prepend this to submodule path output"
msgstr "εœ¨ε­ζ¨‘η»„θ·―εΎ„θΎ“ε‡Ίηš„ε‰ι’εŠ δΈŠζ­€η›ε½•"
-#: builtin/fetch.c:122
+#: builtin/fetch.c:126
msgid "default mode for recursion"
msgstr "ι€’ε½’ηš„ι»˜θ€ζ¨‘式"
-#: builtin/fetch.c:124 builtin/pull.c:193
+#: builtin/fetch.c:128 builtin/pull.c:200
msgid "accept refs that update .git/shallow"
msgstr "ζŽ₯受更新 .git/shallow ηš„εΌ•η”¨"
-#: builtin/fetch.c:125 builtin/pull.c:195
+#: builtin/fetch.c:129 builtin/pull.c:202
msgid "refmap"
msgstr "εΌ•η”¨ζ˜ ε°„"
-#: builtin/fetch.c:126 builtin/pull.c:196
+#: builtin/fetch.c:130 builtin/pull.c:203
msgid "specify fetch refmap"
msgstr "ζŒ‡εšθŽ·ε–ζ“δ½œηš„εΌ•η”¨ζ˜ ε°„"
-#: builtin/fetch.c:378
+#: builtin/fetch.c:386
msgid "Couldn't find remote ref HEAD"
msgstr "ζ— ζ³•ε‘ηŽ°θΏœη¨‹ HEAD 引用"
-#: builtin/fetch.c:458
+#: builtin/fetch.c:466
#, c-format
msgid "object %s not found"
msgstr "对豑 %s ζœͺε‘ηŽ°"
-#: builtin/fetch.c:463
+#: builtin/fetch.c:471
msgid "[up to date]"
msgstr "[ζœ€ζ–°]"
-#: builtin/fetch.c:477
+#: builtin/fetch.c:485
#, c-format
msgid "! %-*s %-*s -> %s (can't fetch in current branch)"
msgstr "! %-*s %-*s -> %s οΌˆεœ¨ε½“ε‰εˆ†ζ”―δΈ‹δΈθƒ½θŽ·ε–οΌ‰"
-#: builtin/fetch.c:478 builtin/fetch.c:566
+#: builtin/fetch.c:486 builtin/fetch.c:574
msgid "[rejected]"
msgstr "[已拒绝]"
-#: builtin/fetch.c:489
+#: builtin/fetch.c:497
msgid "[tag update]"
msgstr "[ζ ‡η­Ύζ›΄ζ–°]"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544
+#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552
msgid " (unable to update local ref)"
msgstr " οΌˆδΈθƒ½ζ›΄ζ–°ζœ¬εœ°εΌ•η”¨οΌ‰"
-#: builtin/fetch.c:509
+#: builtin/fetch.c:517
msgid "[new tag]"
msgstr "[ζ–°ζ ‡η­Ύ]"
-#: builtin/fetch.c:512
+#: builtin/fetch.c:520
msgid "[new branch]"
msgstr "[ζ–°εˆ†ζ”―]"
-#: builtin/fetch.c:515
+#: builtin/fetch.c:523
msgid "[new ref]"
msgstr "[新引用]"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "unable to update local ref"
msgstr "δΈθƒ½ζ›΄ζ–°ζœ¬εœ°εΌ•η”¨"
-#: builtin/fetch.c:561
+#: builtin/fetch.c:569
msgid "forced update"
msgstr "εΌΊεˆΆζ›΄ζ–°"
-#: builtin/fetch.c:568
+#: builtin/fetch.c:576
msgid "(non-fast-forward)"
msgstr "οΌˆιžεΏ«θΏ›εΌοΌ‰"
-#: builtin/fetch.c:602 builtin/fetch.c:843
+#: builtin/fetch.c:610 builtin/fetch.c:851
#, c-format
msgid "cannot open %s: %s\n"
msgstr "无法打开 %s:%s\n"
-#: builtin/fetch.c:611
+#: builtin/fetch.c:619
#, c-format
msgid "%s did not send all necessary objects\n"
msgstr "%s ζœͺε‘ι€ζ‰€ζœ‰εΏ…ι‘»ηš„ε―Ήθ±‘\n"
-#: builtin/fetch.c:629
+#: builtin/fetch.c:637
#, c-format
msgid "reject %s because shallow roots are not allowed to be updated"
msgstr "拒绝 %s ε› δΈΊζ΅…ε…‹ιš†δΈε…θΈθ’«ζ›΄ζ–°"
-#: builtin/fetch.c:716 builtin/fetch.c:808
+#: builtin/fetch.c:724 builtin/fetch.c:816
#, c-format
msgid "From %.*s\n"
msgstr "ζ₯θ‡ͺ %.*s\n"
-#: builtin/fetch.c:727
+#: builtin/fetch.c:735
#, c-format
msgid ""
"some local refs could not be updated; try running\n"
@@ -6037,87 +6229,87 @@ msgstr ""
" 'git remote prune %s' ζ₯εˆ ι™€ζ—§ηš„γ€ζœ‰ε†²ηͺηš„εˆ†ζ”―"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: builtin/fetch.c:779
+#: builtin/fetch.c:787
#, c-format
msgid " (%s will become dangling)"
msgstr " (%s ε°†ζˆδΈΊζ‘‡ζ‘†ηŠΆζ€οΌ‰"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: builtin/fetch.c:780
+#: builtin/fetch.c:788
#, c-format
msgid " (%s has become dangling)"
msgstr " (%s ε·²ζˆδΈΊζ‘‡ζ‘†ηŠΆζ€οΌ‰"
-#: builtin/fetch.c:812
+#: builtin/fetch.c:820
msgid "[deleted]"
msgstr "[ε·²εˆ ι™€]"
-#: builtin/fetch.c:813 builtin/remote.c:1040
+#: builtin/fetch.c:821 builtin/remote.c:1025
msgid "(none)"
msgstr "οΌˆζ— οΌ‰"
-#: builtin/fetch.c:833
+#: builtin/fetch.c:841
#, c-format
msgid "Refusing to fetch into current branch %s of non-bare repository"
msgstr "ζ‹’η»θŽ·ε–εˆ°ιžηΊ―δ»“εΊ“ηš„ε½“ε‰εˆ†ζ”― %s"
-#: builtin/fetch.c:852
+#: builtin/fetch.c:860
#, c-format
msgid "Option \"%s\" value \"%s\" is not valid for %s"
msgstr "选鑹 \"%s\" ηš„ε€Ό \"%s\" 对于 %s ζ˜―ζ— ζ•ˆηš„"
-#: builtin/fetch.c:855
+#: builtin/fetch.c:863
#, c-format
msgid "Option \"%s\" is ignored for %s\n"
msgstr "选鑹 \"%s\" δΈΊ %s 所忽η•₯\n"
-#: builtin/fetch.c:911
+#: builtin/fetch.c:920
#, c-format
msgid "Don't know how to fetch from %s"
msgstr "不ηŸ₯ι“ε¦‚δ½•δ»Ž %s θŽ·ε–"
-#: builtin/fetch.c:1072
+#: builtin/fetch.c:1080
#, c-format
msgid "Fetching %s\n"
msgstr "ζ­£εœ¨θŽ·ε– %s\n"
-#: builtin/fetch.c:1074 builtin/remote.c:96
+#: builtin/fetch.c:1082 builtin/remote.c:96
#, c-format
msgid "Could not fetch %s"
msgstr "δΈθƒ½θŽ·ε– %s"
-#: builtin/fetch.c:1092
+#: builtin/fetch.c:1100
msgid ""
"No remote repository specified. Please, specify either a URL or a\n"
"remote name from which new revisions should be fetched."
msgstr "ζœͺζŒ‡εšθΏœη¨‹δ»“εΊ“γ€‚θ―·ι€šθΏ‡δΈ€δΈͺ URL ζˆ–θΏœη¨‹δ»“εΊ“εζŒ‡εšοΌŒη”¨δ»₯θŽ·ε–ζ–°ζδΊ€γ€‚"
-#: builtin/fetch.c:1115
+#: builtin/fetch.c:1123
msgid "You need to specify a tag name."
msgstr "ζ‚¨ιœ€θ¦ζŒ‡εšδΈ€δΈͺ标签名称。"
-#: builtin/fetch.c:1157
+#: builtin/fetch.c:1165
msgid "--depth and --unshallow cannot be used together"
msgstr "--depth ε’Œ --unshallow δΈθƒ½εŒζ—Άδ½Ώη”¨"
-#: builtin/fetch.c:1159
+#: builtin/fetch.c:1167
msgid "--unshallow on a complete repository does not make sense"
msgstr "ε―ΉδΊŽδΈ€δΈͺεŒζ•΄ηš„δ»“εΊ“οΌŒε‚ζ•° --unshallow ζ²‘ζœ‰ζ„δΉ‰"
-#: builtin/fetch.c:1179
+#: builtin/fetch.c:1187
msgid "fetch --all does not take a repository argument"
msgstr "fetch --all 不能带一δΈͺ仓库参数"
-#: builtin/fetch.c:1181
+#: builtin/fetch.c:1189
msgid "fetch --all does not make sense with refspecs"
msgstr "fetch --all εΈ¦εΌ•η”¨θ§„ζ Όζ²‘ζœ‰δ»»δ½•ζ„δΉ‰"
-#: builtin/fetch.c:1192
+#: builtin/fetch.c:1200
#, c-format
msgid "No such remote or remote group: %s"
msgstr "ζ²‘ζœ‰θΏ™ζ ·ηš„θΏœη¨‹ζˆ–θΏœη¨‹η»„οΌš%s"
-#: builtin/fetch.c:1200
+#: builtin/fetch.c:1208
msgid "Fetching a group and specifying refspecs does not make sense"
msgstr "θŽ·ε–η»„εΉΆζŒ‡εšεΌ•η”¨θ§„ζ Όζ²‘ζœ‰ζ„δΉ‰"
@@ -6337,225 +6529,239 @@ msgstr "ζœ‰ε€ͺε€šδΈε―θΎΎηš„ζΎζ•£ε―Ήθ±‘οΌŒθΏθ‘Œ 'git prune' εˆ ι™€εƒδ»¬γ€‚"
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<选鑹>] [-e] <樑式> [<η‰ˆζœ¬>...] [[--] <θ·―εΎ„>...]"
-#: builtin/grep.c:218
+#: builtin/grep.c:219
#, c-format
msgid "grep: failed to create thread: %s"
msgstr "grepοΌšζ— ζ³•εˆ›ε»ΊηΊΏη¨‹οΌš%s"
-#: builtin/grep.c:441 builtin/grep.c:476
+#: builtin/grep.c:277
+#, c-format
+msgid "invalid number of threads specified (%d) for %s"
+msgstr "δΈΊ %2$s θΎεšηš„线程数 (%1$d) ζ— ζ•ˆ"
+
+#: builtin/grep.c:452 builtin/grep.c:487
#, c-format
msgid "unable to read tree (%s)"
msgstr "ζ— ζ³•θ―»ε–ζ ‘οΌˆ%sοΌ‰"
-#: builtin/grep.c:491
+#: builtin/grep.c:502
#, c-format
msgid "unable to grep from object of type %s"
msgstr "ζ— ζ³•ζŠ“ε–ζ₯θ‡ͺ于 %s η±»εž‹ηš„ε―Ήθ±‘"
-#: builtin/grep.c:547
+#: builtin/grep.c:558
#, c-format
msgid "switch `%c' expects a numerical value"
msgstr "εΌ€ε…³ `%c' ζœŸζœ›δΈ€δΈͺζ•°ε­—ε€Ό"
-#: builtin/grep.c:564
+#: builtin/grep.c:575
#, c-format
msgid "cannot open '%s'"
msgstr "不能打开 '%s'"
-#: builtin/grep.c:633
+#: builtin/grep.c:644
msgid "search in index instead of in the work tree"
msgstr "εœ¨η΄’εΌ•εŒΊζœη΄’θ€ŒδΈζ˜―εœ¨ε·₯作区"
-#: builtin/grep.c:635
+#: builtin/grep.c:646
msgid "find in contents not managed by git"
msgstr "在ζœͺθ’« git η‘η†ηš„ε†…εΉδΈ­ζŸ₯ζ‰Ύ"
# θ―‘θ€…οΌšδΈ­ζ–‡ε­—η¬¦δΈ²ζ‹ΌζŽ₯οΌŒε―εˆ ι™€ε‰ε―Όη©Ίζ Ό
-#: builtin/grep.c:637
+#: builtin/grep.c:648
msgid "search in both tracked and untracked files"
msgstr "在跟θΈͺε’Œζœͺ跟θΈͺηš„ζ–‡δ»ΆδΈ­ζœη΄’"
-#: builtin/grep.c:639
+#: builtin/grep.c:650
msgid "ignore files specified via '.gitignore'"
msgstr "εΏ½η•₯ '.gitignore' εŒ…ε«ηš„ζ–‡δ»Ά"
-#: builtin/grep.c:642
+#: builtin/grep.c:653
msgid "show non-matching lines"
msgstr "显瀺ζœͺεŒΉι…ηš„θ‘Œ"
-#: builtin/grep.c:644
+#: builtin/grep.c:655
msgid "case insensitive matching"
msgstr "δΈεŒΊεˆ†ε€§ε°ε†™εŒΉι…"
-#: builtin/grep.c:646
+#: builtin/grep.c:657
msgid "match patterns only at word boundaries"
msgstr "εͺεœ¨ε•θ―θΎΉη•ŒεŒΉι…ζ¨‘εΌ"
-#: builtin/grep.c:648
+#: builtin/grep.c:659
msgid "process binary files as text"
msgstr "ζŠŠδΊŒθΏ›εˆΆζ–‡δ»Άε½“εšζ–‡ζœ¬ε€„η†"
-#: builtin/grep.c:650
+#: builtin/grep.c:661
msgid "don't match patterns in binary files"
msgstr "δΈεœ¨δΊŒθΏ›εˆΆζ–‡δ»ΆδΈ­εŒΉι…ζ¨‘εΌ"
-#: builtin/grep.c:653
+#: builtin/grep.c:664
msgid "process binary files with textconv filters"
msgstr "用 textconv θΏ‡ζ»€ε™¨ε€„η†δΊŒθΏ›εˆΆζ–‡δ»Ά"
-#: builtin/grep.c:655
+#: builtin/grep.c:666
msgid "descend at most <depth> levels"
msgstr "ζœ€ε€šδ»₯ζŒ‡εšηš„深度向下寻找"
-#: builtin/grep.c:659
+#: builtin/grep.c:670
msgid "use extended POSIX regular expressions"
msgstr "δ½Ώη”¨ζ‰©ε±•ηš„ POSIX ζ­£εˆ™θ‘¨θΎΎεΌ"
-#: builtin/grep.c:662
+#: builtin/grep.c:673
msgid "use basic POSIX regular expressions (default)"
msgstr "δ½Ώη”¨εŸΊζœ¬ηš„ POSIX ζ­£εˆ™θ‘¨θΎΎεΌοΌˆι»˜θ€οΌ‰"
-#: builtin/grep.c:665
+#: builtin/grep.c:676
msgid "interpret patterns as fixed strings"
msgstr "ζŠŠζ¨‘εΌθ§£ζžδΈΊε›Ίεšηš„字符串"
-#: builtin/grep.c:668
+#: builtin/grep.c:679
msgid "use Perl-compatible regular expressions"
msgstr "使用 Perl ε…ΌεΉηš„ζ­£εˆ™θ‘¨θΎΎεΌ"
-#: builtin/grep.c:671
+#: builtin/grep.c:682
msgid "show line numbers"
msgstr "显瀺葌号"
-#: builtin/grep.c:672
+#: builtin/grep.c:683
msgid "don't show filenames"
msgstr "δΈζ˜Ύη€Ίζ–‡δ»Άε"
-#: builtin/grep.c:673
+#: builtin/grep.c:684
msgid "show filenames"
msgstr "ζ˜Ύη€Ίζ–‡δ»Άε"
-#: builtin/grep.c:675
+#: builtin/grep.c:686
msgid "show filenames relative to top directory"
msgstr "ζ˜Ύη€Ίη›Έε―ΉδΊŽι‘ΆηΊ§η›ε½•ηš„ζ–‡δ»Άε"
-#: builtin/grep.c:677
+#: builtin/grep.c:688
msgid "show only filenames instead of matching lines"
msgstr "εͺζ˜Ύη€Ίζ–‡δ»Άεθ€ŒδΈζ˜Ύη€ΊεŒΉι…ηš„θ‘Œ"
-#: builtin/grep.c:679
+#: builtin/grep.c:690
msgid "synonym for --files-with-matches"
msgstr "ε’Œ --files-with-matches εŒδΉ‰"
-#: builtin/grep.c:682
+#: builtin/grep.c:693
msgid "show only the names of files without match"
msgstr "εͺ显瀺ζœͺεŒΉι…ηš„ζ–‡δ»Άε"
-#: builtin/grep.c:684
+#: builtin/grep.c:695
msgid "print NUL after filenames"
msgstr "εœ¨ζ–‡δ»ΆεεŽθΎ“ε‡Ί NUL 字符"
-#: builtin/grep.c:686
+#: builtin/grep.c:697
msgid "show the number of matches instead of matching lines"
msgstr "ζ˜Ύη€Ίζ€»εŒΉι…θ‘Œζ•°οΌŒθ€ŒδΈζ˜Ύη€ΊεŒΉι…ηš„θ‘Œ"
-#: builtin/grep.c:687
+#: builtin/grep.c:698
msgid "highlight matches"
msgstr "高δΊζ˜Ύη€ΊεŒΉι…ι‘Ή"
-#: builtin/grep.c:689
+#: builtin/grep.c:700
msgid "print empty line between matches from different files"
msgstr "εœ¨δΈεŒζ–‡δ»Άηš„εŒΉι…ι‘ΉδΉ‹ι—΄ζ‰“ε°η©Ίθ‘Œ"
-#: builtin/grep.c:691
+#: builtin/grep.c:702
msgid "show filename only once above matches from same file"
msgstr "εͺεœ¨εŒδΈ€ζ–‡δ»Άηš„εŒΉι…ι‘Ήηš„δΈŠι’ζ˜Ύη€ΊδΈ€ζ¬‘ζ–‡δ»Άε"
-#: builtin/grep.c:694
+#: builtin/grep.c:705
msgid "show <n> context lines before and after matches"
msgstr "ζ˜Ύη€ΊεŒΉι…ι‘Ήε‰εŽηš„ <n> θ‘ŒδΈŠδΈ‹ζ–‡"
-#: builtin/grep.c:697
+#: builtin/grep.c:708
msgid "show <n> context lines before matches"
msgstr "ζ˜Ύη€ΊεŒΉι…ι‘Ήε‰ <n> θ‘ŒδΈŠδΈ‹ζ–‡"
-#: builtin/grep.c:699
+#: builtin/grep.c:710
msgid "show <n> context lines after matches"
msgstr "ζ˜Ύη€ΊεŒΉι…ι‘ΉεŽ <n> θ‘ŒδΈŠδΈ‹ζ–‡"
-#: builtin/grep.c:700
+#: builtin/grep.c:712
+msgid "use <n> worker threads"
+msgstr "使用 <n> δΈͺε·₯δ½œηΊΏη¨‹"
+
+#: builtin/grep.c:713
msgid "shortcut for -C NUM"
msgstr "εΏ«ζ·ι” -C ζ•°ε­—"
-#: builtin/grep.c:703
+#: builtin/grep.c:716
msgid "show a line with the function name before matches"
msgstr "εœ¨εŒΉι…ηš„ε‰ι’ζ˜Ύη€ΊδΈ€θ‘Œε‡½ζ•°ε"
-#: builtin/grep.c:705
+#: builtin/grep.c:718
msgid "show the surrounding function"
msgstr "ζ˜Ύη€Ίζ‰€εœ¨ε‡½ζ•°ηš„ε‰εŽε†…εΉ"
-#: builtin/grep.c:708
+#: builtin/grep.c:721
msgid "read patterns from file"
msgstr "δ»Žζ–‡δ»Άθ―»ε–ζ¨‘εΌ"
-#: builtin/grep.c:710
+#: builtin/grep.c:723
msgid "match <pattern>"
msgstr "εŒΉι… <樑式>"
-#: builtin/grep.c:712
+#: builtin/grep.c:725
msgid "combine patterns specified with -e"
msgstr "η»„εˆη”¨ -e 参数θΎεšηš„樑式"
-#: builtin/grep.c:724
+#: builtin/grep.c:737
msgid "indicate hit with exit status without output"
msgstr "δΈθΎ“ε‡ΊοΌŒθ€Œη”¨ι€€ε‡Ίη ζ ‡θ―†ε‘½δΈ­ηŠΆζ€"
-#: builtin/grep.c:726
+#: builtin/grep.c:739
msgid "show only matches from files that match all patterns"
msgstr "εͺζ˜Ύη€ΊεŒΉι…ζ‰€ζœ‰ζ¨‘εΌηš„ζ–‡δ»ΆδΈ­ηš„εŒΉι…"
-#: builtin/grep.c:728
+#: builtin/grep.c:741
msgid "show parse tree for grep expression"
msgstr "显瀺 grep θ‘¨θΎΎεΌηš„θ§£ζžζ ‘"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "pager"
msgstr "εˆ†ι‘΅"
-#: builtin/grep.c:732
+#: builtin/grep.c:745
msgid "show matching files in the pager"
msgstr "εˆ†ι‘΅ζ˜Ύη€ΊεŒΉι…ηš„ζ–‡δ»Ά"
-#: builtin/grep.c:735
+#: builtin/grep.c:748
msgid "allow calling of grep(1) (ignored by this build)"
msgstr "允θΈθ°ƒη”¨ grep(1)οΌˆζœ¬ζ¬‘ζž„ε»ΊεΏ½η•₯οΌ‰"
-#: builtin/grep.c:793
+#: builtin/grep.c:811
msgid "no pattern given."
msgstr "ζœͺζδΎ›ζ¨‘εΌεŒΉι…γ€‚"
-#: builtin/grep.c:851
+#: builtin/grep.c:843 builtin/index-pack.c:1475
+#, c-format
+msgid "invalid number of threads specified (%d)"
+msgstr "ζŒ‡εšηš„ηΊΏη¨‹ζ•°ζ— ζ•ˆοΌˆ%dοΌ‰"
+
+#: builtin/grep.c:873
msgid "--open-files-in-pager only works on the worktree"
msgstr "--open-files-in-pager δ»…η”¨δΊŽε·₯作区"
-#: builtin/grep.c:877
+#: builtin/grep.c:899
msgid "--cached or --untracked cannot be used with --no-index."
msgstr "--cached ζˆ– --untracked δΈθƒ½δΈŽ --no-index εŒζ—Άδ½Ώη”¨γ€‚"
-#: builtin/grep.c:882
+#: builtin/grep.c:904
msgid "--no-index or --untracked cannot be used with revs."
msgstr "--no-index ζˆ– --untracked δΈθƒ½ε’Œη‰ˆζœ¬εŒζ—Άδ½Ώη”¨γ€‚"
-#: builtin/grep.c:885
+#: builtin/grep.c:907
msgid "--[no-]exclude-standard cannot be used for tracked contents."
msgstr "--[no-]exclude-standard δΈθƒ½η”¨δΊŽε·²θ·ŸθΈͺε†…εΉγ€‚"
-#: builtin/grep.c:893
+#: builtin/grep.c:915
msgid "both --cached and trees are given."
msgstr "εŒζ—Άη»™ε‡ΊδΊ† --cached ε’Œζ ‘ε―Ήθ±‘γ€‚"
-#: builtin/hash-object.c:80
+#: builtin/hash-object.c:81
msgid ""
"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
"[--] <file>..."
@@ -6563,36 +6769,36 @@ msgstr ""
"git hash-object [-t <η±»εž‹>] [-w] [--path=<ζ–‡δ»Ά> | --no-filters] [--stdin] "
"[--] <ζ–‡δ»Ά>..."
-#: builtin/hash-object.c:81
+#: builtin/hash-object.c:82
msgid "git hash-object --stdin-paths"
msgstr "git hash-object --stdin-paths"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "type"
msgstr "η±»εž‹"
-#: builtin/hash-object.c:92
+#: builtin/hash-object.c:93
msgid "object type"
msgstr "ε―Ήθ±‘η±»εž‹"
-#: builtin/hash-object.c:93
+#: builtin/hash-object.c:94
msgid "write the object into the object database"
msgstr "将对豑写ε…₯对豑数ζεΊ“"
-#: builtin/hash-object.c:95
+#: builtin/hash-object.c:96
msgid "read the object from stdin"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯读取对豑"
-#: builtin/hash-object.c:97
+#: builtin/hash-object.c:98
msgid "store file as is without filters"
msgstr "εŽŸζ ·ε­˜ε‚¨ζ–‡δ»ΆδΈδ½Ώη”¨θΏ‡ζ»€ε™¨"
-#: builtin/hash-object.c:98
+#: builtin/hash-object.c:99
msgid ""
"just hash any random garbage to create corrupt objects for debugging Git"
msgstr "允θΈε―Ήδ»»ζ„ιšζœΊεžƒεœΎζ•°ζεšζ•£εˆ—ζ₯εˆ›ε»ΊζŸεηš„ε―Ήθ±‘δ»₯δΎΏθ°ƒθ―• Git"
-#: builtin/hash-object.c:99
+#: builtin/hash-object.c:100
msgid "process file as it were from this path"
msgstr "倄理文仢幢假θΎε…Άζ₯θ‡ͺδΊŽζ­€θ·―εΎ„"
@@ -6643,7 +6849,7 @@ msgstr "emacsclient η‰ˆζœ¬ '%d' ε€ͺθ€οΌˆ< 22)。"
msgid "failed to exec '%s': %s"
msgstr "ζ— ζ³•ζ‰§θ‘Œ '%s':%s"
-#: builtin/help.c:208
+#: builtin/help.c:205
#, c-format
msgid ""
"'%s': path for unsupported man viewer.\n"
@@ -6652,7 +6858,7 @@ msgstr ""
"'%s'οΌšδΈζ”―ζŒηš„ man ζ‰‹ε†ŒζŸ₯ηœ‹ε™¨ηš„θ·―εΎ„γ€‚\n"
"请使用 'man.<ε·₯ε…·>.cmd'。"
-#: builtin/help.c:220
+#: builtin/help.c:217
#, c-format
msgid ""
"'%s': cmd for supported man viewer.\n"
@@ -6661,61 +6867,61 @@ msgstr ""
"'%s': ζ”―ζŒηš„ man ζ‰‹ε†ŒζŸ₯ηœ‹ε™¨ε‘½δ»€γ€‚\n"
"请使用 'man.<ε·₯ε…·>.path'。"
-#: builtin/help.c:337
+#: builtin/help.c:334
#, c-format
msgid "'%s': unknown man viewer."
msgstr "'%s':ζœͺηŸ₯ηš„ man ζŸ₯ηœ‹ε™¨γ€‚"
-#: builtin/help.c:354
+#: builtin/help.c:351
msgid "no man viewer handled the request"
msgstr "ζ²‘ζœ‰ man ζŸ₯ηœ‹ε™¨ε€„η†ζ­€θ―·ζ±‚"
-#: builtin/help.c:362
+#: builtin/help.c:359
msgid "no info viewer handled the request"
msgstr "ζ²‘ζœ‰ info ζŸ₯ηœ‹ε™¨ε€„η†ζ­€θ―·ζ±‚"
-#: builtin/help.c:411
+#: builtin/help.c:408
msgid "Defining attributes per path"
msgstr "εšδΉ‰θ·―εΎ„ηš„ε±žζ€§"
-#: builtin/help.c:412
+#: builtin/help.c:409
msgid "Everyday Git With 20 Commands Or So"
msgstr "每一倩 Git εΈΈη”¨ηš„ηΊ¦ 20 村命什"
-#: builtin/help.c:413
+#: builtin/help.c:410
msgid "A Git glossary"
msgstr "Git 词汇葨"
-#: builtin/help.c:414
+#: builtin/help.c:411
msgid "Specifies intentionally untracked files to ignore"
msgstr "εΏ½η•₯ζŒ‡εšηš„ζœͺ跟θΈͺζ–‡δ»Ά"
-#: builtin/help.c:415
+#: builtin/help.c:412
msgid "Defining submodule properties"
msgstr "εšδΉ‰ε­ζ¨‘η»„ε±žζ€§"
-#: builtin/help.c:416
+#: builtin/help.c:413
msgid "Specifying revisions and ranges for Git"
msgstr "ζŒ‡εš Git ηš„η‰ˆζœ¬ε’Œη‰ˆζœ¬θŒƒε›΄"
-#: builtin/help.c:417
+#: builtin/help.c:414
msgid "A tutorial introduction to Git (for version 1.5.1 or newer)"
msgstr "δΈ€δΈͺ Git ζ•™η¨‹οΌˆι’ˆε―Ή 1.5.1 ζˆ–ζ›΄ζ–°η‰ˆζœ¬οΌ‰"
-#: builtin/help.c:418
+#: builtin/help.c:415
msgid "An overview of recommended workflows with Git"
msgstr "Git ζŽ¨θηš„ε·₯δ½œζ΅ζ¦‚θ§ˆ"
-#: builtin/help.c:430
+#: builtin/help.c:427
msgid "The common Git guides are:\n"
msgstr "ζœ€εΈΈη”¨ηš„ Git ε‘ε―Όζœ‰οΌš\n"
-#: builtin/help.c:451 builtin/help.c:468
+#: builtin/help.c:448 builtin/help.c:465
#, c-format
msgid "usage: %s%s"
msgstr "η”¨ζ³•οΌš%s%s"
-#: builtin/help.c:484
+#: builtin/help.c:481
#, c-format
msgid "`git %s' is aliased to `%s'"
msgstr "`git %s' 是 `%s' ηš„εˆ«ε"
@@ -6951,60 +7157,55 @@ msgstr "ζ— ζ³•ε­˜ε‚¨η΄’εΌ•ζ–‡δ»Ά"
msgid "bad pack.indexversion=%<PRIu32>"
msgstr "εηš„ pack.indexversion=%<PRIu32>"
-#: builtin/index-pack.c:1475
-#, c-format
-msgid "invalid number of threads specified (%d)"
-msgstr "ζŒ‡εšηš„ηΊΏη¨‹ζ•°ζ— ζ•ˆοΌˆ%dοΌ‰"
-
-#: builtin/index-pack.c:1479 builtin/index-pack.c:1663
+#: builtin/index-pack.c:1479 builtin/index-pack.c:1664
#, c-format
msgid "no threads support, ignoring %s"
msgstr "ζ²‘ζœ‰ηΊΏη¨‹ζ”―ζŒοΌŒεΏ½η•₯ %s"
-#: builtin/index-pack.c:1537
+#: builtin/index-pack.c:1538
#, c-format
msgid "Cannot open existing pack file '%s'"
msgstr "ζ— ζ³•ζ‰“εΌ€ηŽ°ε­˜εŒ…ζ–‡δ»Ά '%s'"
-#: builtin/index-pack.c:1539
+#: builtin/index-pack.c:1540
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
msgstr "无法为 %s ζ‰“εΌ€εŒ…η΄’εΌ•ζ–‡δ»Ά"
-#: builtin/index-pack.c:1586
+#: builtin/index-pack.c:1587
#, c-format
msgid "non delta: %d object"
msgid_plural "non delta: %d objects"
msgstr[0] "非 delta:%d δΈͺ对豑"
msgstr[1] "非 delta:%d δΈͺ对豑"
-#: builtin/index-pack.c:1593
+#: builtin/index-pack.c:1594
#, c-format
msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] "ι“Ύι•Ώ = %d: %lu 对豑"
msgstr[1] "ι“Ύι•Ώ = %d: %lu 对豑"
-#: builtin/index-pack.c:1623
+#: builtin/index-pack.c:1624
msgid "Cannot come back to cwd"
msgstr "ζ— ζ³•θΏ”ε›žε½“ε‰ε·₯作η›ε½•"
-#: builtin/index-pack.c:1675 builtin/index-pack.c:1678
-#: builtin/index-pack.c:1690 builtin/index-pack.c:1694
+#: builtin/index-pack.c:1676 builtin/index-pack.c:1679
+#: builtin/index-pack.c:1691 builtin/index-pack.c:1695
#, c-format
msgid "bad %s"
msgstr "错误选鑹 %s"
-#: builtin/index-pack.c:1708
+#: builtin/index-pack.c:1709
msgid "--fix-thin cannot be used without --stdin"
msgstr "--fix-thin δΈθƒ½ε’Œ --stdin εŒζ—Άδ½Ώη”¨"
-#: builtin/index-pack.c:1712 builtin/index-pack.c:1721
+#: builtin/index-pack.c:1713 builtin/index-pack.c:1722
#, c-format
msgid "packfile name '%s' does not end with '.pack'"
msgstr "εŒ…ζ–‡δ»Άε '%s' ζ²‘ζœ‰δ»₯ '.pack' η»“ε°Ύ"
-#: builtin/index-pack.c:1729
+#: builtin/index-pack.c:1730
msgid "--verify with no packfile name given"
msgstr "--verify ζ²‘ζœ‰ζδΎ›εŒ…ζ–‡δ»Άεε‚ζ•°"
@@ -7129,24 +7330,32 @@ msgstr "不能θΏι—ε·₯作区 '%s'"
#: builtin/interpret-trailers.c:15
msgid ""
-"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] "
-"[<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
+"<token>[(=|:)<value>])...] [<file>...]"
msgstr ""
-"git interpret-trailers [--trim-empty] [(--trailer <ι”>[(=|:)<ε€Ό>])...] [<ζ–‡δ»Ά"
-">...]"
+"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <ι”>[(=|:)<ε€Ό"
+">])...] [<ζ–‡δ»Ά>...]"
+
+#: builtin/interpret-trailers.c:26
+msgid "edit files in place"
+msgstr "εœ¨εŽŸδ½ηΌ–θΎ‘ζ–‡δ»Ά"
-#: builtin/interpret-trailers.c:25
+#: builtin/interpret-trailers.c:27
msgid "trim empty trailers"
msgstr "εˆ ι™€η©Ίη­Ύε"
-#: builtin/interpret-trailers.c:26
+#: builtin/interpret-trailers.c:28
msgid "trailer"
msgstr "签名"
-#: builtin/interpret-trailers.c:27
+#: builtin/interpret-trailers.c:29
msgid "trailer(s) to add"
msgstr "θ¦ζ·»εŠ ηš„η­Ύε"
+#: builtin/interpret-trailers.c:42
+msgid "no input file given for in-place editing"
+msgstr "ζ²‘ζœ‰η»™ε‡Ίθ¦εŽŸδ½ηΌ–θΎ‘ηš„ζ–‡δ»Ά"
+
#: builtin/log.c:43
msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
msgstr "git log [<选鑹>] [<η‰ˆζœ¬θŒƒε›΄>] [[--] <θ·―εΎ„>...]"
@@ -7200,325 +7409,375 @@ msgstr "不能读取对豑 %s"
msgid "Unknown type: %d"
msgstr "ζœͺηŸ₯η±»εž‹οΌš%d"
-#: builtin/log.c:714
+#: builtin/log.c:715
msgid "format.headers without value"
msgstr "format.headers ζ²‘ζœ‰ε€Ό"
-#: builtin/log.c:798
+#: builtin/log.c:801
msgid "name of output directory is too long"
msgstr "θΎ“ε‡Ίη›ε½•名ε€ͺι•Ώ"
-#: builtin/log.c:813
+#: builtin/log.c:816
#, c-format
msgid "Cannot open patch file %s"
msgstr "无法打开θ‘₯丁文仢 %s"
-#: builtin/log.c:827
+#: builtin/log.c:830
msgid "Need exactly one range."
msgstr "εͺιœ€θ¦δΈ€δΈͺθŒƒε›΄γ€‚"
-#: builtin/log.c:837
+#: builtin/log.c:840
msgid "Not a range."
msgstr "δΈζ˜―δΈ€δΈͺθŒƒε›΄γ€‚"
-#: builtin/log.c:943
+#: builtin/log.c:946
msgid "Cover letter needs email format"
msgstr "δΏ‘ε°ιœ€θ¦ι‚δ»Άεœ°ε€ζ ΌεΌ"
-#: builtin/log.c:1022
+#: builtin/log.c:1025
#, c-format
msgid "insane in-reply-to: %s"
msgstr "δΈζ­£εΈΈηš„ in-reply-to:%s"
-#: builtin/log.c:1050
+#: builtin/log.c:1053
msgid "git format-patch [<options>] [<since> | <revision-range>]"
msgstr "git format-patch [<选鑹>] [<从> | <η‰ˆζœ¬θŒƒε›΄>]"
-#: builtin/log.c:1095
+#: builtin/log.c:1098
msgid "Two output directories?"
msgstr "δΈ€δΈͺθΎ“ε‡Ίη›ε½•οΌŸ"
-#: builtin/log.c:1211
+#: builtin/log.c:1214
msgid "use [PATCH n/m] even with a single patch"
msgstr "使用 [PATCH n/m],即使εͺζœ‰δΈ€δΈͺθ‘₯丁"
-#: builtin/log.c:1214
+#: builtin/log.c:1217
msgid "use [PATCH] even with multiple patches"
msgstr "使用 [PATCH]οΌŒε³δ½Ώζœ‰ε€šδΈͺθ‘₯丁"
-#: builtin/log.c:1218
+#: builtin/log.c:1221
msgid "print patches to standard out"
msgstr "打印θ‘₯δΈεˆ°ζ ‡ε‡†θΎ“ε‡Ί"
-#: builtin/log.c:1220
+#: builtin/log.c:1223
msgid "generate a cover letter"
msgstr "η”ŸζˆδΈ€ε°ι™„δΏ‘"
-#: builtin/log.c:1222
+#: builtin/log.c:1225
msgid "use simple number sequence for output file names"
msgstr "使用η€ε•ηš„ζ•°ε­—εΊεˆ—δ½œδΈΊθΎ“ε‡Ίζ–‡δ»Άε"
-#: builtin/log.c:1223
+#: builtin/log.c:1226
msgid "sfx"
msgstr "εŽηΌ€"
-#: builtin/log.c:1224
+#: builtin/log.c:1227
msgid "use <sfx> instead of '.patch'"
msgstr "使用 <εŽηΌ€> 代替 '.patch'"
-#: builtin/log.c:1226
+#: builtin/log.c:1229
msgid "start numbering patches at <n> instead of 1"
msgstr "θ‘₯丁δ»₯ <n> εΌ€ε§‹ηΌ–ε·οΌŒθ€ŒδΈζ˜―1"
-#: builtin/log.c:1228
+#: builtin/log.c:1231
msgid "mark the series as Nth re-roll"
msgstr "ζ ‡θ°θ‘₯δΈη³»εˆ—ζ˜―η¬¬ε‡ ζ¬‘ι‡εˆΆ"
-#: builtin/log.c:1230
+#: builtin/log.c:1233
msgid "Use [<prefix>] instead of [PATCH]"
msgstr "使用 [<前缀>] 代替 [PATCH]"
-#: builtin/log.c:1233
+#: builtin/log.c:1236
msgid "store resulting files in <dir>"
msgstr "ζŠŠη»“ζžœζ–‡δ»Άε­˜ε‚¨εœ¨ <η›ε½•>"
-#: builtin/log.c:1236
+#: builtin/log.c:1239
msgid "don't strip/add [PATCH]"
msgstr "δΈεˆ ι™€/添加 [PATCH]"
-#: builtin/log.c:1239
+#: builtin/log.c:1242
msgid "don't output binary diffs"
msgstr "δΈθΎ“ε‡ΊδΊŒθΏ›εˆΆε·εΌ‚"
-#: builtin/log.c:1241
+#: builtin/log.c:1244
msgid "output all-zero hash in From header"
msgstr "在 From ε€΄δΏ‘ζ―δΈ­θΎ“ε‡Ίε…¨δΈΊι›Άηš„ε“ˆεΈŒε€Ό"
-#: builtin/log.c:1243
+#: builtin/log.c:1246
msgid "don't include a patch matching a commit upstream"
msgstr "δΈεŒ…ε«ε·²εœ¨δΈŠζΈΈζδΊ€δΈ­ηš„θ‘₯丁"
-#: builtin/log.c:1245
+#: builtin/log.c:1248
msgid "show patch format instead of default (patch + stat)"
msgstr "显瀺纯θ‘₯δΈζ ΌεΌθ€Œιžι»˜θ€ηš„οΌˆθ‘₯丁+ηŠΆζ€οΌ‰"
-#: builtin/log.c:1247
+#: builtin/log.c:1250
msgid "Messaging"
msgstr "ι‚仢发送"
-#: builtin/log.c:1248
+#: builtin/log.c:1251
msgid "header"
msgstr "header"
-#: builtin/log.c:1249
+#: builtin/log.c:1252
msgid "add email header"
msgstr "添加ι‚仢倴"
-#: builtin/log.c:1250 builtin/log.c:1252
+#: builtin/log.c:1253 builtin/log.c:1255
msgid "email"
msgstr "ι‚δ»Άεœ°ε€"
-#: builtin/log.c:1250
+#: builtin/log.c:1253
msgid "add To: header"
msgstr "ζ·»εŠ ζ”Άδ»ΆδΊΊ"
-#: builtin/log.c:1252
+#: builtin/log.c:1255
msgid "add Cc: header"
msgstr "ζ·»εŠ ζŠ„ι€"
-#: builtin/log.c:1254
+#: builtin/log.c:1257
msgid "ident"
msgstr "ζ ‡θ―†"
-#: builtin/log.c:1255
+#: builtin/log.c:1258
msgid "set From address to <ident> (or committer ident if absent)"
msgstr "ε°† From εœ°ε€θΎη½δΈΊ <ζ ‡θ―†>οΌˆε¦‚θ‹₯δΈζδΎ›οΌŒεˆ™η”¨ζδΊ€θ€… ID εšδΈΊεœ°ε€οΌ‰"
-#: builtin/log.c:1257
+#: builtin/log.c:1260
msgid "message-id"
msgstr "ι‚δ»Άζ ‡θ―†"
-#: builtin/log.c:1258
+#: builtin/log.c:1261
msgid "make first mail a reply to <message-id>"
msgstr "使第一封ι‚δ»Άδ½œδΈΊε―Ή <ι‚δ»Άζ ‡θ―†> ηš„ε›žε€"
-#: builtin/log.c:1259 builtin/log.c:1262
+#: builtin/log.c:1262 builtin/log.c:1265
msgid "boundary"
msgstr "θΎΉη•Œ"
-#: builtin/log.c:1260
+#: builtin/log.c:1263
msgid "attach the patch"
msgstr "ι™„δ»Άζ–ΉεΌζ·»εŠ θ‘₯丁"
-#: builtin/log.c:1263
+#: builtin/log.c:1266
msgid "inline the patch"
msgstr "ε†…θ”ζ˜Ύη€Ίθ‘₯丁"
-#: builtin/log.c:1267
+#: builtin/log.c:1270
msgid "enable message threading, styles: shallow, deep"
msgstr "启用ι‚δ»ΆηΊΏη΄’οΌŒι£Žζ ΌοΌšζ΅…οΌŒζ·±"
-#: builtin/log.c:1269
+#: builtin/log.c:1272
msgid "signature"
msgstr "签名"
-#: builtin/log.c:1270
+#: builtin/log.c:1273
msgid "add a signature"
msgstr "ζ·»εŠ δΈ€δΈͺ签名"
-#: builtin/log.c:1272
+#: builtin/log.c:1275
msgid "add a signature from a file"
msgstr "δ»Žζ–‡δ»Άζ·»εŠ δΈ€δΈͺ签名"
-#: builtin/log.c:1273
+#: builtin/log.c:1276
msgid "don't print the patch filenames"
msgstr "不要打印θ‘₯丁文仢名"
-#: builtin/log.c:1362
+#: builtin/log.c:1365
msgid "-n and -k are mutually exclusive."
msgstr "-n ε’Œ -k δΊ’ζ–₯。"
-#: builtin/log.c:1364
+#: builtin/log.c:1367
msgid "--subject-prefix and -k are mutually exclusive."
msgstr "--subject-prefix ε’Œ -k δΊ’ζ–₯。"
-#: builtin/log.c:1372
+#: builtin/log.c:1375
msgid "--name-only does not make sense"
msgstr "--name-only 无意义"
-#: builtin/log.c:1374
+#: builtin/log.c:1377
msgid "--name-status does not make sense"
msgstr "--name-status 无意义"
-#: builtin/log.c:1376
+#: builtin/log.c:1379
msgid "--check does not make sense"
msgstr "--check 无意义"
-#: builtin/log.c:1401
+#: builtin/log.c:1407
msgid "standard output, or directory, which one?"
msgstr "ζ ‡ε‡†θΎ“ε‡Ίζˆ–η›ε½•οΌŒε“ͺδΈ€δΈͺ?"
-#: builtin/log.c:1403
+#: builtin/log.c:1409
#, c-format
msgid "Could not create directory '%s'"
msgstr "δΈθƒ½εˆ›ε»Ίη›ε½• '%s'"
-#: builtin/log.c:1500
+#: builtin/log.c:1506
#, c-format
msgid "unable to read signature file '%s'"
msgstr "无法读取签名文仢 '%s'"
-#: builtin/log.c:1563
+#: builtin/log.c:1569
msgid "Failed to create output files"
msgstr "ζ— ζ³•εˆ›ε»ΊθΎ“ε‡Ίζ–‡δ»Ά"
-#: builtin/log.c:1611
+#: builtin/log.c:1617
msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]"
msgstr "git cherry [-v] [<上游> [<倴> [<ι™εˆΆ>]]]"
-#: builtin/log.c:1665
+#: builtin/log.c:1671
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
msgstr "δΈθƒ½ζ‰Ύεˆ°θ·ŸθΈͺηš„θΏœη¨‹εˆ†ζ”―οΌŒθ―·ζ‰‹ε·₯ζŒ‡εš <上游>。\n"
-#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690
+#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696
#, c-format
msgid "Unknown commit %s"
msgstr "ζœͺηŸ₯提亀 %s"
-#: builtin/ls-files.c:358
+#: builtin/ls-files.c:378
msgid "git ls-files [<options>] [<file>...]"
msgstr "git ls-files [<选鑹>] [<ζ–‡δ»Ά>...]"
-#: builtin/ls-files.c:415
+#: builtin/ls-files.c:427
msgid "identify the file status with tags"
msgstr "η”¨ζ ‡η­Ύζ ‡θ―†ζ–‡δ»Άηš„ηŠΆζ€"
-#: builtin/ls-files.c:417
+#: builtin/ls-files.c:429
msgid "use lowercase letters for 'assume unchanged' files"
msgstr "使用小写字母葨瀺 '假θΎζœͺζ”Ήε˜ηš„' ζ–‡δ»Ά"
-#: builtin/ls-files.c:419
+#: builtin/ls-files.c:431
msgid "show cached files in the output (default)"
msgstr "ζ˜Ύη€ΊηΌ“ε­˜ηš„ζ–‡δ»ΆοΌˆι»˜θ€οΌ‰"
-#: builtin/ls-files.c:421
+#: builtin/ls-files.c:433
msgid "show deleted files in the output"
msgstr "ζ˜Ύη€Ίε·²εˆ ι™€ηš„ζ–‡δ»Ά"
-#: builtin/ls-files.c:423
+#: builtin/ls-files.c:435
msgid "show modified files in the output"
msgstr "显瀺已δΏζ”Ήηš„ζ–‡δ»Ά"
-#: builtin/ls-files.c:425
+#: builtin/ls-files.c:437
msgid "show other files in the output"
msgstr "ζ˜Ύη€Ίε…Άεƒζ–‡δ»Ά"
-#: builtin/ls-files.c:427
+#: builtin/ls-files.c:439
msgid "show ignored files in the output"
msgstr "显瀺忽η•₯ηš„ζ–‡δ»Ά"
-#: builtin/ls-files.c:430
+#: builtin/ls-files.c:442
msgid "show staged contents' object name in the output"
msgstr "ζ˜Ύη€Ίζš‚ε­˜εŒΊε†…εΉηš„对豑名称"
-#: builtin/ls-files.c:432
+#: builtin/ls-files.c:444
msgid "show files on the filesystem that need to be removed"
msgstr "ζ˜Ύη€Ίζ–‡δ»Άη³»η»Ÿιœ€θ¦εˆ ι™€ηš„ζ–‡δ»Ά"
-#: builtin/ls-files.c:434
+#: builtin/ls-files.c:446
msgid "show 'other' directories' names only"
msgstr "εͺζ˜Ύη€Ίβ€œε…Άδ»–β€η›ε½•ηš„εη§°"
-#: builtin/ls-files.c:437
+#: builtin/ls-files.c:448
+msgid "show line endings of files"
+msgstr "ζ˜Ύη€Ίζ–‡δ»Άζ’θ‘Œη¬¦ζ ΌεΌ"
+
+#: builtin/ls-files.c:450
msgid "don't show empty directories"
msgstr "不显瀺空η›ε½•"
-#: builtin/ls-files.c:440
+#: builtin/ls-files.c:453
msgid "show unmerged files in the output"
msgstr "显瀺ζœͺεˆεΉΆηš„ζ–‡δ»Ά"
-#: builtin/ls-files.c:442
+#: builtin/ls-files.c:455
msgid "show resolve-undo information"
msgstr "显瀺 resolve-undo 俑息"
-#: builtin/ls-files.c:444
+#: builtin/ls-files.c:457
msgid "skip files matching pattern"
msgstr "εŒΉι…ζŽ’ι™€ζ–‡δ»Άηš„ζ¨‘εΌ"
-#: builtin/ls-files.c:447
+#: builtin/ls-files.c:460
msgid "exclude patterns are read from <file>"
msgstr "从 <ζ–‡δ»Ά> δΈ­θ―»ε–ζŽ’ι™€ζ¨‘εΌ"
-#: builtin/ls-files.c:450
+#: builtin/ls-files.c:463
msgid "read additional per-directory exclude patterns in <file>"
msgstr "从 <ζ–‡δ»Ά> θ―»ε–ι’ε€–ηš„ζ―δΈͺη›ε½•ηš„ζŽ’ι™€ζ¨‘式"
-#: builtin/ls-files.c:452
+#: builtin/ls-files.c:465
msgid "add the standard git exclusions"
msgstr "ζ·»εŠ ζ ‡ε‡†ηš„ git ζŽ’ι™€"
-#: builtin/ls-files.c:455
+#: builtin/ls-files.c:468
msgid "make the output relative to the project top directory"
msgstr "ζ˜Ύη€Ίη›Έε―ΉδΊŽι‘ΆηΊ§η›ε½•ηš„ζ–‡δ»Άε"
-#: builtin/ls-files.c:458
+#: builtin/ls-files.c:471
msgid "if any <file> is not in the index, treat this as an error"
msgstr "ε¦‚ζžœδ»»δ½• <ζ–‡δ»Ά> ιƒ½δΈεœ¨η΄’εΌ•εŒΊοΌŒθ§†δΈΊι”™θ――"
-#: builtin/ls-files.c:459
+#: builtin/ls-files.c:472
msgid "tree-ish"
msgstr "ζ ‘ζˆ–ζδΊ€"
-#: builtin/ls-files.c:460
+#: builtin/ls-files.c:473
msgid "pretend that paths removed since <tree-ish> are still present"
msgstr "假装θ‡ͺ从 <ζ ‘ζˆ–ζδΊ€> δΉ‹εŽεˆ ι™€ηš„θ·―εΎ„δ»η„Άε­˜εœ¨"
-#: builtin/ls-files.c:462
+#: builtin/ls-files.c:475
msgid "show debugging data"
msgstr "ζ˜Ύη€Ίθ°ƒθ―•ζ•°ζ"
+#: builtin/ls-remote.c:7
+msgid ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<repository> [<refs>...]]"
+msgstr ""
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
+" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [--symref] [<δ»“εΊ“> [<引用>...]]"
+
+#: builtin/ls-remote.c:50
+msgid "do not print remote URL"
+msgstr "δΈζ‰“ε°θΏœη¨‹ URL"
+
+#: builtin/ls-remote.c:51 builtin/ls-remote.c:53
+msgid "exec"
+msgstr "exec"
+
+#: builtin/ls-remote.c:52 builtin/ls-remote.c:54
+msgid "path of git-upload-pack on the remote host"
+msgstr "θΏœη¨‹δΈ»ζœΊδΈŠηš„ git-upload-pack θ·―εΎ„"
+
+#: builtin/ls-remote.c:56
+msgid "limit to tags"
+msgstr "δ»…ι™δΊŽζ ‡η­Ύ"
+
+#: builtin/ls-remote.c:57
+msgid "limit to heads"
+msgstr "δ»…ι™δΊŽεˆ†ζ”―"
+
+#: builtin/ls-remote.c:58
+msgid "do not show peeled tags"
+msgstr "δΈζ˜Ύη€Ίε·²θ§£ζžηš„ζ ‡η­Ύ"
+
+#: builtin/ls-remote.c:60
+msgid "take url.<base>.insteadOf into account"
+msgstr "参考 url.<base>.insteadOf θΎη½"
+
+#: builtin/ls-remote.c:62
+msgid "exit with exit code 2 if no matching refs are found"
+msgstr "θ‹₯ζœͺζ‰Ύεˆ°εŒΉι…ηš„εΌ•η”¨εˆ™δ»₯退出码2ι€€ε‡Ί"
+
+#: builtin/ls-remote.c:64
+msgid "show underlying ref in addition to the object pointed by it"
+msgstr "ι™€δΊ†ζ˜Ύη€ΊζŒ‡ε‘ηš„ε―Ήθ±‘ε€–οΌŒζ˜Ύη€ΊζŒ‡ε‘ηš„εΌ•η”¨ε"
+
#: builtin/ls-tree.c:28
msgid "git ls-tree [<options>] <tree-ish> [<path>...]"
msgstr "git ls-tree [<选鑹>] <ζ ‘ζˆ–ζδΊ€> [<θ·―εΎ„>...]"
@@ -7586,31 +7845,31 @@ msgstr "ε―η”¨ηš„η­–η•₯ζœ‰οΌš"
msgid "Available custom strategies are:"
msgstr "ε―η”¨ηš„θ‡ͺεšδΉ‰η­–η•₯ζœ‰οΌš"
-#: builtin/merge.c:193 builtin/pull.c:119
+#: builtin/merge.c:193 builtin/pull.c:123
msgid "do not show a diffstat at the end of the merge"
msgstr "εœ¨εˆεΉΆηš„ζœ€εŽδΈζ˜Ύη€Ίε·εΌ‚η»Ÿθ‘"
-#: builtin/merge.c:196 builtin/pull.c:122
+#: builtin/merge.c:196 builtin/pull.c:126
msgid "show a diffstat at the end of the merge"
msgstr "εœ¨εˆεΉΆηš„ζœ€εŽζ˜Ύη€Ίε·εΌ‚η»Ÿθ‘"
-#: builtin/merge.c:197 builtin/pull.c:125
+#: builtin/merge.c:197 builtin/pull.c:129
msgid "(synonym to --stat)"
msgstr "οΌˆε’Œ --stat εŒδΉ‰οΌ‰"
-#: builtin/merge.c:199 builtin/pull.c:128
+#: builtin/merge.c:199 builtin/pull.c:132
msgid "add (at most <n>) entries from shortlog to merge commit message"
msgstr "εœ¨εˆεΉΆζδΊ€δΏ‘ζ―δΈ­ζ·»εŠ οΌˆζœ€ε€š <n> 村)精η€ζδΊ€θ°ε½•"
-#: builtin/merge.c:202 builtin/pull.c:131
+#: builtin/merge.c:202 builtin/pull.c:135
msgid "create a single commit instead of doing a merge"
msgstr "εˆ›ε»ΊδΈ€δΈͺε•η‹¬ηš„ζδΊ€θ€ŒδΈζ˜―εšδΈ€ζ¬‘εˆεΉΆ"
-#: builtin/merge.c:204 builtin/pull.c:134
+#: builtin/merge.c:204 builtin/pull.c:138
msgid "perform a commit if the merge succeeds (default)"
msgstr "ε¦‚ζžœεˆεΉΆζˆεŠŸοΌŒζ‰§θ‘ŒδΈ€ζ¬‘ζδΊ€οΌˆι»˜θ€οΌ‰"
-#: builtin/merge.c:206 builtin/pull.c:137
+#: builtin/merge.c:206 builtin/pull.c:141
msgid "edit message before committing"
msgstr "εœ¨ζδΊ€ε‰ηΌ–θΎ‘ζδΊ€θ―΄ζ˜Ž"
@@ -7618,7 +7877,7 @@ msgstr "εœ¨ζδΊ€ε‰ηΌ–θΎ‘ζδΊ€θ―΄ζ˜Ž"
msgid "allow fast-forward (default)"
msgstr "允θΈεΏ«θΏ›οΌˆι»˜θ€οΌ‰"
-#: builtin/merge.c:209 builtin/pull.c:143
+#: builtin/merge.c:209 builtin/pull.c:147
msgid "abort if fast-forward is not possible"
msgstr "ε¦‚ζžœδΈθƒ½εΏ«θΏ›ε°±ζ”ΎεΌƒεˆεΉΆ"
@@ -7626,20 +7885,20 @@ msgstr "ε¦‚ζžœδΈθƒ½εΏ«θΏ›ε°±ζ”ΎεΌƒεˆεΉΆ"
msgid "Verify that the named commit has a valid GPG signature"
msgstr "ιͺŒθ―ζŒ‡εšηš„ζδΊ€ζ˜―ε¦εŒ…ε«δΈ€δΈͺζœ‰ζ•ˆηš„ GPG 签名"
-#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148
+#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152
#: builtin/revert.c:89
msgid "strategy"
msgstr "η­–η•₯"
-#: builtin/merge.c:215 builtin/pull.c:149
+#: builtin/merge.c:215 builtin/pull.c:153
msgid "merge strategy to use"
msgstr "θ¦δ½Ώη”¨ηš„εˆεΉΆη­–η•₯"
-#: builtin/merge.c:216 builtin/pull.c:152
+#: builtin/merge.c:216 builtin/pull.c:156
msgid "option=value"
msgstr "option=value"
-#: builtin/merge.c:217 builtin/pull.c:153
+#: builtin/merge.c:217 builtin/pull.c:157
msgid "option for selected merge strategy"
msgstr "ζ‰€ι€‰ηš„εˆεΉΆη­–η•₯ηš„ι€‰ι‘Ή"
@@ -7678,8 +7937,8 @@ msgstr " οΌˆζ— ε―εŽ‹ηΌ©οΌ‰"
msgid "Squash commit -- not updating HEAD\n"
msgstr "εŽ‹ηΌ©ζδΊ€ -- ζœͺζ›΄ζ–° HEAD\n"
-#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975
-#: builtin/merge.c:988
+#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976
+#: builtin/merge.c:989
#, c-format
msgid "Could not write to '%s'"
msgstr "不能写ε…₯ '%s'"
@@ -7697,41 +7956,41 @@ msgstr "εŒζˆ SQUASH_MSG"
msgid "No merge message -- not updating HEAD\n"
msgstr "ζ— εˆεΉΆδΏ‘ζ― -- ζœͺζ›΄ζ–° HEAD\n"
-#: builtin/merge.c:447
+#: builtin/merge.c:448
#, c-format
msgid "'%s' does not point to a commit"
msgstr "'%s' ζ²‘ζœ‰ζŒ‡ε‘δΈ€δΈͺ提亀"
-#: builtin/merge.c:537
+#: builtin/merge.c:538
#, c-format
msgid "Bad branch.%s.mergeoptions string: %s"
msgstr "εηš„ branch.%s.mergeoptions ε­—η¬¦δΈ²οΌš%s"
-#: builtin/merge.c:656
+#: builtin/merge.c:657
msgid "Not handling anything other than two heads merge."
msgstr "不能倄理一δΈͺε€΄εˆεΉΆδΉ‹ε€–ηš„δ»»δ½•ζ“δ½œγ€‚"
-#: builtin/merge.c:670
+#: builtin/merge.c:671
#, c-format
msgid "Unknown option for merge-recursive: -X%s"
msgstr "merge-recursive ηš„ζœͺηŸ₯ι€‰ι‘ΉοΌš-X%s"
-#: builtin/merge.c:683
+#: builtin/merge.c:684
#, c-format
msgid "unable to write %s"
msgstr "不能写 %s"
-#: builtin/merge.c:772
+#: builtin/merge.c:773
#, c-format
msgid "Could not read from '%s'"
msgstr "δΈθƒ½δ»Ž '%s' 读取"
-#: builtin/merge.c:781
+#: builtin/merge.c:782
#, c-format
msgid "Not committing merge; use 'git commit' to complete the merge.\n"
msgstr "ζœͺζδΊ€εˆεΉΆοΌŒδ½Ώη”¨ 'git commit' εŒζˆζ­€ζ¬‘εˆεΉΆγ€‚\n"
-#: builtin/merge.c:787
+#: builtin/merge.c:788
#, c-format
msgid ""
"Please enter a commit message to explain why this merge is necessary,\n"
@@ -7745,52 +8004,52 @@ msgstr ""
"\n"
"δ»₯ '%c' εΌ€ε€΄ηš„θ‘Œε°†θ’«εΏ½η•₯οΌŒθ€ŒδΈ”η©ΊζδΊ€θ―΄ζ˜Žε°†δΌšη»ˆζ­’ζδΊ€γ€‚\n"
-#: builtin/merge.c:811
+#: builtin/merge.c:812
msgid "Empty commit message."
msgstr "空提亀俑息。"
-#: builtin/merge.c:823
+#: builtin/merge.c:824
#, c-format
msgid "Wonderful.\n"
msgstr "ε€ͺ棒了。\n"
-#: builtin/merge.c:878
+#: builtin/merge.c:879
#, c-format
msgid "Automatic merge failed; fix conflicts and then commit the result.\n"
msgstr "θ‡ͺ动合幢倱θ΄₯,δΏζ­£ε†²ηͺη„ΆεŽζδΊ€δΏζ­£ηš„η»“ζžœγ€‚\n"
-#: builtin/merge.c:894
+#: builtin/merge.c:895
#, c-format
msgid "'%s' is not a commit"
msgstr "'%s' δΈζ˜―δΈ€δΈͺ提亀"
-#: builtin/merge.c:935
+#: builtin/merge.c:936
msgid "No current branch."
msgstr "ζ²‘ζœ‰ε½“ε‰εˆ†ζ”―γ€‚"
-#: builtin/merge.c:937
+#: builtin/merge.c:938
msgid "No remote for the current branch."
msgstr "ε½“ε‰εˆ†ζ”―ζ²‘ζœ‰ε―ΉεΊ”ηš„θΏœη¨‹δ»“εΊ“γ€‚"
-#: builtin/merge.c:939
+#: builtin/merge.c:940
msgid "No default upstream defined for the current branch."
msgstr "ε½“ε‰εˆ†ζ”―ζ²‘ζœ‰εšδΉ‰ι»˜θ€ηš„δΈŠζΈΈεˆ†ζ”―。"
-#: builtin/merge.c:944
+#: builtin/merge.c:945
#, c-format
msgid "No remote-tracking branch for %s from %s"
msgstr "对于 %s ζ²‘ζœ‰ζ₯θ‡ͺ %s ηš„θΏœη¨‹θ·ŸθΈͺεˆ†ζ”―"
-#: builtin/merge.c:1079
+#: builtin/merge.c:1080
#, c-format
msgid "could not close '%s'"
msgstr "不能关闭 '%s'"
-#: builtin/merge.c:1206
+#: builtin/merge.c:1207
msgid "There is no merge to abort (MERGE_HEAD missing)."
msgstr "ζ²‘ζœ‰θ¦η»ˆζ­’ηš„εˆεΉΆοΌˆMERGE_HEAD 丒倱)。"
-#: builtin/merge.c:1222
+#: builtin/merge.c:1223
msgid ""
"You have not concluded your merge (MERGE_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7798,7 +8057,7 @@ msgstr ""
"ζ‚¨ε°šζœͺη»“ζŸζ‚¨ηš„εˆεΉΆοΌˆε­˜εœ¨ MERGE_HEAD)。\n"
"θ―·εœ¨εˆεΉΆε‰ε…ˆζδΊ€ζ‚¨ηš„δΏζ”Ήγ€‚"
-#: builtin/merge.c:1229
+#: builtin/merge.c:1230
msgid ""
"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n"
"Please, commit your changes before you merge."
@@ -7806,100 +8065,100 @@ msgstr ""
"ζ‚¨ε°šζœͺη»“ζŸζ‚¨ηš„ζ‹£ι€‰οΌˆε­˜εœ¨ CHERRY_PICK_HEAD)。\n"
"θ―·εœ¨εˆεΉΆε‰ε…ˆζδΊ€ζ‚¨ηš„δΏζ”Ήγ€‚"
-#: builtin/merge.c:1232
+#: builtin/merge.c:1233
msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."
msgstr "ζ‚¨ε°šζœͺη»“ζŸζ‚¨ηš„ζ‹£ι€‰οΌˆε­˜εœ¨ CHERRY_PICK_HEAD)。"
-#: builtin/merge.c:1241
+#: builtin/merge.c:1242
msgid "You cannot combine --squash with --no-ff."
msgstr "您不能将 --squash 与 --no-ff εŒζ—Άδ½Ώη”¨γ€‚"
-#: builtin/merge.c:1249
+#: builtin/merge.c:1250
msgid "No commit specified and merge.defaultToUpstream not set."
msgstr "ζœͺζŒ‡εšζδΊ€εΉΆδΈ” merge.defaultToUpstream ζœͺθΎη½γ€‚"
-#: builtin/merge.c:1266
+#: builtin/merge.c:1267
msgid "Squash commit into empty head not supported yet"
msgstr "ε°šδΈζ”―ζŒεˆ°η©Ίεˆ†ζ”―ηš„εŽ‹ηΌ©ζδΊ€"
-#: builtin/merge.c:1268
+#: builtin/merge.c:1269
msgid "Non-fast-forward commit does not make sense into an empty head"
msgstr "εˆ°η©Ίεˆ†ζ”―ηš„ιžεΏ«θΏ›εΌζδΊ€ζ²‘ζœ‰ζ„δΉ‰"
-#: builtin/merge.c:1274
+#: builtin/merge.c:1275
#, c-format
msgid "%s - not something we can merge"
msgstr "%s - δΈθƒ½θ’«εˆεΉΆ"
-#: builtin/merge.c:1276
+#: builtin/merge.c:1277
msgid "Can merge only exactly one commit into empty head"
msgstr "εͺ能将一δΈͺζδΊ€εˆεΉΆεˆ°η©Ίεˆ†ζ”―δΈŠ"
-#: builtin/merge.c:1331
+#: builtin/merge.c:1332
#, c-format
msgid "Commit %s has an untrusted GPG signature, allegedly by %s."
msgstr "提亀 %s ζœ‰δΈ€δΈͺιžε―δΏ‘ηš„ε£°η§°ζ₯θ‡ͺ %s ηš„ GPG 签名。"
-#: builtin/merge.c:1334
+#: builtin/merge.c:1335
#, c-format
msgid "Commit %s has a bad GPG signature allegedly by %s."
msgstr "提亀 %s ζœ‰δΈ€δΈͺι”™θ――ηš„ε£°η§°ζ₯θ‡ͺ %s ηš„ GPG 签名。"
-#: builtin/merge.c:1337
+#: builtin/merge.c:1338
#, c-format
msgid "Commit %s does not have a GPG signature."
msgstr "提亀 %s ζ²‘ζœ‰δΈ€δΈͺ GPG 签名。"
-#: builtin/merge.c:1340
+#: builtin/merge.c:1341
#, c-format
msgid "Commit %s has a good GPG signature by %s\n"
msgstr "提亀 %s ζœ‰δΈ€δΈͺζ₯θ‡ͺ %s ηš„ε₯½ηš„ GPG 签名。\n"
-#: builtin/merge.c:1423
+#: builtin/merge.c:1424
#, c-format
msgid "Updating %s..%s\n"
msgstr "ζ›΄ζ–° %s..%s\n"
-#: builtin/merge.c:1460
+#: builtin/merge.c:1461
#, c-format
msgid "Trying really trivial in-index merge...\n"
msgstr "ε°θ―•ιžεΈΈε°ηš„η΄’εΌ•ε†…εˆεΉΆ...\n"
-#: builtin/merge.c:1467
+#: builtin/merge.c:1468
#, c-format
msgid "Nope.\n"
msgstr "无。\n"
-#: builtin/merge.c:1499
+#: builtin/merge.c:1500
msgid "Not possible to fast-forward, aborting."
msgstr "ζ— ζ³•εΏ«θΏ›οΌŒη»ˆζ­’γ€‚"
-#: builtin/merge.c:1522 builtin/merge.c:1601
+#: builtin/merge.c:1523 builtin/merge.c:1602
#, c-format
msgid "Rewinding the tree to pristine...\n"
msgstr "ε°†ζ ‘ε›žζ»šθ‡³εŽŸε§‹ηŠΆζ€...\n"
-#: builtin/merge.c:1526
+#: builtin/merge.c:1527
#, c-format
msgid "Trying merge strategy %s...\n"
msgstr "ε°θ―•εˆεΉΆη­–η•₯ %s...\n"
-#: builtin/merge.c:1592
+#: builtin/merge.c:1593
#, c-format
msgid "No merge strategy handled the merge.\n"
msgstr "ζ²‘ζœ‰εˆεΉΆη­–η•₯ε€„η†ζ­€εˆεΉΆγ€‚\n"
-#: builtin/merge.c:1594
+#: builtin/merge.c:1595
#, c-format
msgid "Merge with strategy %s failed.\n"
msgstr "使用策η•₯ %s 合幢倱θ΄₯。\n"
-#: builtin/merge.c:1603
+#: builtin/merge.c:1604
#, c-format
msgid "Using the %s to prepare resolving by hand.\n"
msgstr "使用 %s δ»₯准倇手ε·₯解决。\n"
-#: builtin/merge.c:1615
+#: builtin/merge.c:1616
#, c-format
msgid "Automatic merge went well; stopped before committing as requested\n"
msgstr "θ‡ͺεŠ¨εˆεΉΆθΏ›ε±•ι‘Ίεˆ©οΌŒζŒ‰θ¦ζ±‚εœ¨ζδΊ€ε‰εœζ­’\n"
@@ -7984,19 +8243,19 @@ msgstr "δΈθ¦θ­¦ε‘Šε†²ηͺ"
msgid "set labels for file1/orig-file/file2"
msgstr "δΈΊ ζ–‡δ»Ά1/εˆε§‹ζ–‡δ»Ά/ζ–‡δ»Ά2 θΎη½ζ ‡η­Ύ"
-#: builtin/mktree.c:64
+#: builtin/mktree.c:65
msgid "git mktree [-z] [--missing] [--batch]"
msgstr "git mktree [-z] [--missing] [--batch]"
-#: builtin/mktree.c:150
+#: builtin/mktree.c:152
msgid "input is NUL terminated"
msgstr "θΎ“ε…₯δ»₯ NUL ε­—η¬¦η»ˆζ­’"
-#: builtin/mktree.c:151 builtin/write-tree.c:24
+#: builtin/mktree.c:153 builtin/write-tree.c:24
msgid "allow missing objects"
msgstr "允θΈδΈ’ε€±ηš„ε―Ήθ±‘"
-#: builtin/mktree.c:152
+#: builtin/mktree.c:154
msgid "allow creation of more than one tree"
msgstr "允θΈεˆ›ε»ΊδΈ€δΈͺδ»₯δΈŠηš„ζ ‘"
@@ -8004,90 +8263,90 @@ msgstr "允θΈεˆ›ε»ΊδΈ€δΈͺδ»₯δΈŠηš„ζ ‘"
msgid "git mv [<options>] <source>... <destination>"
msgstr "git mv [<选鑹>] <源>... <η›ζ ‡>"
-#: builtin/mv.c:69
+#: builtin/mv.c:70
#, c-format
msgid "Directory %s is in index and no submodule?"
msgstr "η›ε½• %s εœ¨η΄’εΌ•δΈ­εΉΆδΈ”δΈζ˜―ε­ζ¨‘η»„οΌŸ"
-#: builtin/mv.c:71
+#: builtin/mv.c:72
msgid "Please stage your changes to .gitmodules or stash them to proceed"
msgstr "θ―·ε°†ζ‚¨ηš„δΏζ”Ήζš‚ε­˜εˆ° .gitmodules δΈ­ζˆ–δΏε­˜θΏ›εΊ¦εŽε†η»§η»­"
-#: builtin/mv.c:89
+#: builtin/mv.c:90
#, c-format
msgid "%.*s is in index"
msgstr "%.*s εœ¨η΄’εΌ•δΈ­"
-#: builtin/mv.c:111
+#: builtin/mv.c:112
msgid "force move/rename even if target exists"
msgstr "强刢移动/ι‡ε‘½δ»€οΌŒε³δ½Ώη›ζ ‡ε­˜εœ¨"
-#: builtin/mv.c:112
+#: builtin/mv.c:113
msgid "skip move/rename errors"
msgstr "θ·³θΏ‡η§»εŠ¨/重命名错误"
-#: builtin/mv.c:151
+#: builtin/mv.c:152
#, c-format
msgid "destination '%s' is not a directory"
msgstr "η›ζ ‡ '%s' δΈζ˜―δΈ€δΈͺη›ε½•"
-#: builtin/mv.c:162
+#: builtin/mv.c:163
#, c-format
msgid "Checking rename of '%s' to '%s'\n"
msgstr "ζ£€ζŸ₯ '%s' 到 '%s' ηš„ι‡ε‘½ε\n"
-#: builtin/mv.c:166
+#: builtin/mv.c:167
msgid "bad source"
msgstr "εηš„ζΊ"
-#: builtin/mv.c:169
+#: builtin/mv.c:170
msgid "can not move directory into itself"
msgstr "不能将η›ε½•η§»εŠ¨εˆ°θ‡ͺθΊ«"
-#: builtin/mv.c:172
+#: builtin/mv.c:173
msgid "cannot move directory over file"
msgstr "不能将η›ε½•η§»εŠ¨εˆ°ζ–‡δ»Ά"
-#: builtin/mv.c:181
+#: builtin/mv.c:182
msgid "source directory is empty"
msgstr "源η›ε½•δΈΊη©Ί"
-#: builtin/mv.c:206
+#: builtin/mv.c:207
msgid "not under version control"
msgstr "δΈεœ¨η‰ˆζœ¬ζŽ§εˆΆδΉ‹δΈ‹"
-#: builtin/mv.c:209
+#: builtin/mv.c:210
msgid "destination exists"
msgstr "η›ζ ‡ε·²ε­˜εœ¨"
-#: builtin/mv.c:217
+#: builtin/mv.c:218
#, c-format
msgid "overwriting '%s'"
msgstr "覆盖 '%s'"
-#: builtin/mv.c:220
+#: builtin/mv.c:221
msgid "Cannot overwrite"
msgstr "不能覆盖"
-#: builtin/mv.c:223
+#: builtin/mv.c:224
msgid "multiple sources for the same target"
msgstr "εŒδΈ€η›ζ ‡ε…·ζœ‰ε€šδΈͺ源"
-#: builtin/mv.c:225
+#: builtin/mv.c:226
msgid "destination directory does not exist"
msgstr "η›ζ ‡η›ε½•δΈε­˜εœ¨"
-#: builtin/mv.c:232
+#: builtin/mv.c:233
#, c-format
msgid "%s, source=%s, destination=%s"
msgstr "%s,源=%s,η›ζ ‡=%s"
-#: builtin/mv.c:253
+#: builtin/mv.c:254
#, c-format
msgid "Renaming %s to %s\n"
msgstr "重命名 %s 至 %s\n"
-#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365
+#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365
#, c-format
msgid "renaming '%s' failed"
msgstr "重命名 '%s' ε€±θ΄₯"
@@ -8284,9 +8543,9 @@ msgid "could not open or read '%s'"
msgstr "δΈθƒ½ζ‰“εΌ€ζˆ–θ―»ε– '%s'"
#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306
-#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507
-#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653
-#: builtin/notes.c:877 builtin/tag.c:456
+#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510
+#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656
+#: builtin/notes.c:880 builtin/tag.c:456
#, c-format
msgid "Failed to resolve '%s' as a valid ref."
msgstr "ζ— ζ³•θ§£ζž '%s' δΈΊδΈ€δΈͺζœ‰ζ•ˆεΌ•η”¨γ€‚"
@@ -8301,83 +8560,83 @@ msgstr "无法读取对豑 '%s'。"
msgid "Cannot read note data from non-blob object '%s'."
msgstr "δΈθƒ½δ»Žιžζ•°ζε―Ήθ±‘ '%s' 中读取注解数ζ"
-#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490
-#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646
-#: builtin/notes.c:942
+#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493
+#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649
+#: builtin/notes.c:945
msgid "too many parameters"
msgstr "参数ε€ͺ倚"
-#: builtin/notes.c:372 builtin/notes.c:659
+#: builtin/notes.c:375 builtin/notes.c:662
#, c-format
msgid "No note found for object %s."
msgstr "ζœͺε‘ηŽ°ε―Ήθ±‘ %s ηš„ζ³¨θ§£γ€‚"
-#: builtin/notes.c:393 builtin/notes.c:556
+#: builtin/notes.c:396 builtin/notes.c:559
msgid "note contents as a string"
msgstr "注解内εΉδ½œδΈΊδΈ€δΈͺ字符串"
-#: builtin/notes.c:396 builtin/notes.c:559
+#: builtin/notes.c:399 builtin/notes.c:562
msgid "note contents in a file"
msgstr "注解内εΉεˆ°δΈ€δΈͺζ–‡δ»ΆδΈ­"
-#: builtin/notes.c:399 builtin/notes.c:562
+#: builtin/notes.c:402 builtin/notes.c:565
msgid "reuse and edit specified note object"
msgstr "ι‡η”¨ε’ŒηΌ–θΎ‘ζŒ‡εšηš„注解对豑"
-#: builtin/notes.c:402 builtin/notes.c:565
+#: builtin/notes.c:405 builtin/notes.c:568
msgid "reuse specified note object"
msgstr "ι‡η”¨ζŒ‡εšηš„注解对豑"
-#: builtin/notes.c:405 builtin/notes.c:568
+#: builtin/notes.c:408 builtin/notes.c:571
msgid "allow storing empty note"
msgstr "允θΈδΏε­˜η©Ίη™½ζ³¨ι‡Š"
-#: builtin/notes.c:406 builtin/notes.c:477
+#: builtin/notes.c:409 builtin/notes.c:480
msgid "replace existing notes"
msgstr "ζ›Ώζ’ε·²ε­˜εœ¨ηš„ζ³¨θ§£"
-#: builtin/notes.c:431
+#: builtin/notes.c:434
#, c-format
msgid ""
"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite "
"existing notes"
msgstr "δΈθƒ½ζ·»εŠ ζ³¨θ§£γ€‚ε‘ηŽ°ε―Ήθ±‘ %s ε·²ε­˜εœ¨ζ³¨θ§£γ€‚δ½Ώη”¨ '-f' θ¦†η›–ηŽ°ε­˜ζ³¨θ§£"
-#: builtin/notes.c:446 builtin/notes.c:525
+#: builtin/notes.c:449 builtin/notes.c:528
#, c-format
msgid "Overwriting existing notes for object %s\n"
msgstr "覆盖对豑 %s 现存注解\n"
-#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882
+#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885
#, c-format
msgid "Removing note for object %s\n"
msgstr "εˆ ι™€ε―Ήθ±‘ %s ηš„ζ³¨θ§£\n"
-#: builtin/notes.c:478
+#: builtin/notes.c:481
msgid "read objects from stdin"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯读取对豑"
-#: builtin/notes.c:480
+#: builtin/notes.c:483
msgid "load rewriting config for <command> (implies --stdin)"
msgstr "ι‡ζ–°εŠ θ½½ <命什> ηš„ι…η½οΌˆιšε« --stdinοΌ‰"
-#: builtin/notes.c:498
+#: builtin/notes.c:501
msgid "too few parameters"
msgstr "参数ε€ͺε°‘"
-#: builtin/notes.c:519
+#: builtin/notes.c:522
#, c-format
msgid ""
"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite "
"existing notes"
msgstr "δΈθƒ½ζ‹·θ΄ζ³¨θ§£γ€‚ε‘ηŽ°ε―Ήθ±‘ %s ε·²ε­˜εœ¨ζ³¨θ§£γ€‚δ½Ώη”¨ '-f' θ¦†η›–ηŽ°ε­˜ζ³¨θ§£"
-#: builtin/notes.c:531
+#: builtin/notes.c:534
#, c-format
msgid "Missing notes on source object %s. Cannot copy."
msgstr "源对豑 %s 缺少注解。不能拷贝。"
-#: builtin/notes.c:583
+#: builtin/notes.c:586
#, c-format
msgid ""
"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n"
@@ -8386,63 +8645,63 @@ msgstr ""
"子命什 'edit' ηš„ι€‰ι‘Ή -m/-F/-c/-C 已弃用。\n"
"请捒用 'git notes add -f -m/-F/-c/-C'。\n"
-#: builtin/notes.c:764
+#: builtin/notes.c:767
msgid "General options"
msgstr "ι€šη”¨ι€‰ι‘Ή"
-#: builtin/notes.c:766
+#: builtin/notes.c:769
msgid "Merge options"
msgstr "εˆεΉΆι€‰ι‘Ή"
-#: builtin/notes.c:768
+#: builtin/notes.c:771
msgid ""
"resolve notes conflicts using the given strategy (manual/ours/theirs/union/"
"cat_sort_uniq)"
msgstr "δ½Ώη”¨ζŒ‡εšηš„η­–η•₯解决注解冲ηͺ (manual/ours/theirs/union/cat_sort_uniq)"
-#: builtin/notes.c:770
+#: builtin/notes.c:773
msgid "Committing unmerged notes"
msgstr "提亀ζœͺεˆεΉΆηš„ζ³¨θ§£"
-#: builtin/notes.c:772
+#: builtin/notes.c:775
msgid "finalize notes merge by committing unmerged notes"
msgstr "ι€šθΏ‡ζδΊ€ζœͺεˆεΉΆηš„ζ³¨θ§£ζ₯εŒζˆζ³¨θ§£εˆεΉΆ"
-#: builtin/notes.c:774
+#: builtin/notes.c:777
msgid "Aborting notes merge resolution"
msgstr "δΈ­ζ­’ζ³¨θ§£εˆεΉΆηš„ζ–Ήζ‘ˆ"
-#: builtin/notes.c:776
+#: builtin/notes.c:779
msgid "abort notes merge"
msgstr "中歒注解合幢"
-#: builtin/notes.c:853
+#: builtin/notes.c:856
#, c-format
msgid "A notes merge into %s is already in-progress at %s"
msgstr "δΈ€δΈͺ到 %s ηš„ζ³¨θ§£εˆεΉΆε·²η»εœ¨ %s ζ‰§θ‘ŒδΈ­"
-#: builtin/notes.c:880
+#: builtin/notes.c:883
#, c-format
msgid "Object %s has no note\n"
msgstr "对豑 %s ζ²‘ζœ‰ζ³¨θ§£\n"
-#: builtin/notes.c:892
+#: builtin/notes.c:895
msgid "attempt to remove non-existent note is not an error"
msgstr "ε°θ―•εˆ ι™€δΈε­˜εœ¨ηš„ζ³¨θ§£δΈζ˜―δΈ€δΈͺι”™θ――"
-#: builtin/notes.c:895
+#: builtin/notes.c:898
msgid "read object names from the standard input"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯读取对豑名称"
-#: builtin/notes.c:976
+#: builtin/notes.c:979
msgid "notes-ref"
msgstr "注解引用"
-#: builtin/notes.c:977
+#: builtin/notes.c:980
msgid "use notes from <notes-ref>"
msgstr "从 <注解引用> 使用注解"
-#: builtin/notes.c:1012 builtin/remote.c:1647
+#: builtin/notes.c:1015 builtin/remote.c:1626
#, c-format
msgid "Unknown subcommand: %s"
msgstr "ζœͺηŸ₯ε­ε‘½δ»€οΌš%s"
@@ -8462,165 +8721,165 @@ msgstr "git pack-objects [<选鑹>...] <base-name> [< <εΌ•η”¨εˆ—θ‘¨> | < <对豑
msgid "deflate error (%d)"
msgstr "εŽ‹ηΌ©ι”™θ―― (%d)"
-#: builtin/pack-objects.c:771
+#: builtin/pack-objects.c:772
msgid "Writing objects"
msgstr "写ε…₯对豑中"
-#: builtin/pack-objects.c:1011
+#: builtin/pack-objects.c:1012
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr "禁用 bitmap 写ε…₯οΌŒε› δΈΊδΈ€δΊ›ε―Ήθ±‘ε°†δΈδΌšθ’«ζ‰“εŒ…"
-#: builtin/pack-objects.c:2171
+#: builtin/pack-objects.c:2172
msgid "Compressing objects"
msgstr "εŽ‹ηΌ©ε―Ήθ±‘δΈ­"
-#: builtin/pack-objects.c:2568
+#: builtin/pack-objects.c:2558
#, c-format
msgid "unsupported index version %s"
msgstr "δΈζ”―ζŒηš„η΄’εΌ•η‰ˆζœ¬ %s"
-#: builtin/pack-objects.c:2572
+#: builtin/pack-objects.c:2562
#, c-format
msgid "bad index version '%s'"
msgstr "εηš„η΄’εΌ•η‰ˆζœ¬ '%s'"
-#: builtin/pack-objects.c:2602
+#: builtin/pack-objects.c:2592
msgid "do not show progress meter"
msgstr "δΈζ˜Ύη€ΊθΏ›εΊ¦θ‘¨"
-#: builtin/pack-objects.c:2604
+#: builtin/pack-objects.c:2594
msgid "show progress meter"
msgstr "ζ˜Ύη€ΊθΏ›εΊ¦θ‘¨"
-#: builtin/pack-objects.c:2606
+#: builtin/pack-objects.c:2596
msgid "show progress meter during object writing phase"
msgstr "εœ¨ε―Ήθ±‘ε†™ε…₯阢ζ΅ζ˜Ύη€ΊθΏ›εΊ¦θ‘¨"
-#: builtin/pack-objects.c:2609
+#: builtin/pack-objects.c:2599
msgid "similar to --all-progress when progress meter is shown"
msgstr "ε½“θΏ›εΊ¦θ‘¨ζ˜Ύη€Ίζ—Άη±»δΌΌδΊŽ --all-progress"
-#: builtin/pack-objects.c:2610
+#: builtin/pack-objects.c:2600
msgid "version[,offset]"
msgstr "η‰ˆζœ¬[,偏移]"
-#: builtin/pack-objects.c:2611
+#: builtin/pack-objects.c:2601
msgid "write the pack index file in the specified idx format version"
msgstr "η”¨ζŒ‡εšηš„ idx ζ ΌεΌη‰ˆζœ¬ζ₯ε†™εŒ…η΄’εΌ•ζ–‡δ»Ά"
-#: builtin/pack-objects.c:2614
+#: builtin/pack-objects.c:2604
msgid "maximum size of each output pack file"
msgstr "每δΈͺθΎ“ε‡ΊεŒ…ηš„ζœ€ε€§ε°Ίε―Έ"
-#: builtin/pack-objects.c:2616
+#: builtin/pack-objects.c:2606
msgid "ignore borrowed objects from alternate object store"
msgstr "εΏ½η•₯δ»Žε€‡η”¨ε―Ήθ±‘ε­˜ε‚¨ι‡Œε€Ÿη”¨ε―Ήθ±‘"
-#: builtin/pack-objects.c:2618
+#: builtin/pack-objects.c:2608
msgid "ignore packed objects"
msgstr "εΏ½η•₯εŒ…ε―Ήθ±‘"
-#: builtin/pack-objects.c:2620
+#: builtin/pack-objects.c:2610
msgid "limit pack window by objects"
msgstr "ι™εˆΆζ‰“εŒ…ηͺ—ε£ηš„ε―Ήθ±‘ζ•°"
-#: builtin/pack-objects.c:2622
+#: builtin/pack-objects.c:2612
msgid "limit pack window by memory in addition to object limit"
msgstr "ι™€ε―Ήθ±‘ζ•°ι‡ι™εˆΆε€–θΎη½ζ‰“εŒ…ηͺ—ε£ηš„ε†…ε­˜ι™εˆΆ"
-#: builtin/pack-objects.c:2624
+#: builtin/pack-objects.c:2614
msgid "maximum length of delta chain allowed in the resulting pack"
msgstr "ζ‰“εŒ…ε…θΈηš„ delta ι“Ύηš„ζœ€ε€§ι•ΏεΊ¦"
-#: builtin/pack-objects.c:2626
+#: builtin/pack-objects.c:2616
msgid "reuse existing deltas"
msgstr "ι‡η”¨ε·²ε­˜εœ¨ηš„ deltas"
-#: builtin/pack-objects.c:2628
+#: builtin/pack-objects.c:2618
msgid "reuse existing objects"
msgstr "ι‡η”¨ε·²ε­˜εœ¨ηš„ε―Ήθ±‘"
-#: builtin/pack-objects.c:2630
+#: builtin/pack-objects.c:2620
msgid "use OFS_DELTA objects"
msgstr "使用 OFS_DELTA 对豑"
-#: builtin/pack-objects.c:2632
+#: builtin/pack-objects.c:2622
msgid "use threads when searching for best delta matches"
msgstr "使用线程ζŸ₯θ―’ζœ€δ½³ delta εŒΉι…"
-#: builtin/pack-objects.c:2634
+#: builtin/pack-objects.c:2624
msgid "do not create an empty pack output"
msgstr "δΈεˆ›ε»Ίη©Ίηš„εŒ…θΎ“ε‡Ί"
-#: builtin/pack-objects.c:2636
+#: builtin/pack-objects.c:2626
msgid "read revision arguments from standard input"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯θ―»ε–η‰ˆζœ¬ε·ε‚ζ•°"
-#: builtin/pack-objects.c:2638
+#: builtin/pack-objects.c:2628
msgid "limit the objects to those that are not yet packed"
msgstr "ι™εˆΆι‚£δΊ›ε°šζœͺζ‰“εŒ…ηš„ε―Ήθ±‘"
-#: builtin/pack-objects.c:2641
+#: builtin/pack-objects.c:2631
msgid "include objects reachable from any reference"
msgstr "εŒ…ζ‹¬ε―δ»₯δ»Žδ»»δ½•εΌ•η”¨θΏι—εˆ°ηš„ε―Ήθ±‘"
-#: builtin/pack-objects.c:2644
+#: builtin/pack-objects.c:2634
msgid "include objects referred by reflog entries"
msgstr "εŒ…ζ‹¬θ’«εΌ•η”¨ζ—₯εΏ—εΌ•η”¨εˆ°ηš„ε―Ήθ±‘"
-#: builtin/pack-objects.c:2647
+#: builtin/pack-objects.c:2637
msgid "include objects referred to by the index"
msgstr "εŒ…ζ‹¬θ’«η΄’εΌ•εΌ•η”¨εˆ°ηš„ε―Ήθ±‘"
-#: builtin/pack-objects.c:2650
+#: builtin/pack-objects.c:2640
msgid "output pack to stdout"
msgstr "θΎ“ε‡ΊεŒ…εˆ°ζ ‡ε‡†θΎ“ε‡Ί"
-#: builtin/pack-objects.c:2652
+#: builtin/pack-objects.c:2642
msgid "include tag objects that refer to objects to be packed"
msgstr "εŒ…ζ‹¬ι‚£δΊ›εΌ•η”¨δΊ†εΎ…ζ‰“εŒ…ε―Ήθ±‘ηš„ζ ‡η­Ύε―Ήθ±‘"
-#: builtin/pack-objects.c:2654
+#: builtin/pack-objects.c:2644
msgid "keep unreachable objects"
msgstr "η»΄ζŒδΈε―θΎΎηš„ε―Ήθ±‘"
-#: builtin/pack-objects.c:2655 parse-options.h:142
+#: builtin/pack-objects.c:2645 parse-options.h:142
msgid "time"
msgstr "ζ—Άι—΄"
-#: builtin/pack-objects.c:2656
+#: builtin/pack-objects.c:2646
msgid "unpack unreachable objects newer than <time>"
msgstr "ε°†ζ―”η»™εš <ζ—Άι—΄> ζ–°ηš„ζ— ζ³•θΏι—ηš„ε―Ήθ±‘θ§£εŒ…"
-#: builtin/pack-objects.c:2659
+#: builtin/pack-objects.c:2649
msgid "create thin packs"
msgstr "εˆ›ε»Ίη²Ύη€εŒ…"
-#: builtin/pack-objects.c:2661
+#: builtin/pack-objects.c:2651
msgid "create packs suitable for shallow fetches"
msgstr "εˆ›ε»Ίι€‚εˆζ΅…ε…‹ιš†δ»“εΊ“θŽ·ε–ηš„εŒ…"
-#: builtin/pack-objects.c:2663
+#: builtin/pack-objects.c:2653
msgid "ignore packs that have companion .keep file"
msgstr "εΏ½η•₯ι…ζœ‰ .keep ζ–‡δ»Άηš„εŒ…"
-#: builtin/pack-objects.c:2665
+#: builtin/pack-objects.c:2655
msgid "pack compression level"
msgstr "ζ‰“εŒ…εŽ‹ηΌ©ηΊ§εˆ«"
-#: builtin/pack-objects.c:2667
+#: builtin/pack-objects.c:2657
msgid "do not hide commits by grafts"
msgstr "显瀺蒫嫁ζŽ₯ιšθ—ηš„ζδΊ€"
-#: builtin/pack-objects.c:2669
+#: builtin/pack-objects.c:2659
msgid "use a bitmap index if available to speed up counting objects"
msgstr "使用 bitmap η΄’εΌ•οΌˆε¦‚ζžœζœ‰ηš„θ―οΌ‰δ»₯提高对豑θ‘ζ•°ζ—Άηš„ι€ŸεΊ¦"
-#: builtin/pack-objects.c:2671
+#: builtin/pack-objects.c:2661
msgid "write a bitmap index together with the pack index"
msgstr "εœ¨ε»Ίη«‹εŒ…η΄’εΌ•ηš„εŒζ—Άεˆ›ε»Ί bitmap η΄’εΌ•"
-#: builtin/pack-objects.c:2762
+#: builtin/pack-objects.c:2752
msgid "Counting objects"
msgstr "对豑θ‘ζ•°δΈ­"
@@ -8664,65 +8923,69 @@ msgstr "δ½Ώζ—©δΊŽη»™εšζ—Άι—΄ηš„ε―Ήθ±‘θΏ‡ζœŸ"
msgid "cannot prune in a precious-objects repo"
msgstr "δΈθƒ½εœ¨ηε“δ»“εΊ“δΈ­ζ‰§θ‘ŒζΈ…η†ζ“δ½œ"
-#: builtin/pull.c:69
+#: builtin/pull.c:72
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<选鑹>] [<δ»“εΊ“> [<引用规格>...]]"
-#: builtin/pull.c:113
+#: builtin/pull.c:117
msgid "Options related to merging"
msgstr "ε’ŒεˆεΉΆη›Έε…³ηš„ι€‰ι‘Ή"
-#: builtin/pull.c:116
+#: builtin/pull.c:120
msgid "incorporate changes by rebasing rather than merging"
msgstr "δ½Ώη”¨ε˜εŸΊζ“δ½œε–δ»£εˆεΉΆζ“δ½œδ»₯合ε…₯δΏζ”Ή"
-#: builtin/pull.c:140 builtin/revert.c:105
+#: builtin/pull.c:144 builtin/revert.c:105
msgid "allow fast-forward"
msgstr "允θΈεΏ«θΏ›εΌ"
-#: builtin/pull.c:146
+#: builtin/pull.c:150
msgid "verify that the named commit has a valid GPG signature"
msgstr "ιͺŒθ―ζŒ‡εšηš„ζδΊ€ζ˜―ε¦εŒ…ε«δΈ€δΈͺζœ‰ζ•ˆηš„ GPG 签名"
-#: builtin/pull.c:160
+#: builtin/pull.c:164
msgid "Options related to fetching"
msgstr "ε’ŒθŽ·ε–η›Έε…³ηš„ε‚ζ•°"
-#: builtin/pull.c:268
+#: builtin/pull.c:186
+msgid "number of submodules pulled in parallel"
+msgstr "εΉΆε‘ζ‹‰ε–ηš„ε­ζ¨‘η»„ηš„ζ•°ι‡"
+
+#: builtin/pull.c:275
#, c-format
msgid "Invalid value for pull.ff: %s"
msgstr "pull.ff ηš„ε–ε€Όζ— ζ•ˆοΌš%s"
-#: builtin/pull.c:352
+#: builtin/pull.c:359
msgid "Cannot pull with rebase: You have unstaged changes."
msgstr "ζ— ζ³•ι€šθΏ‡ε˜εŸΊζ–ΉεΌζ‹‰ε–οΌšζ‚¨ζœ‰ζœͺζš‚ε­˜ηš„ε˜ζ›΄γ€‚"
-#: builtin/pull.c:358
+#: builtin/pull.c:365
msgid "Additionally, your index contains uncommitted changes."
msgstr "θ€ŒδΈ”ζ‚¨ηš„η΄’εΌ•δΈ­εŒ…ε«ζœͺζδΊ€ηš„ε˜ζ›΄γ€‚"
-#: builtin/pull.c:360
+#: builtin/pull.c:367
msgid "Cannot pull with rebase: Your index contains uncommitted changes."
msgstr "ζ— ζ³•ι€šθΏ‡ε˜εŸΊζ–ΉεΌζ‹‰ε–οΌšζ‚¨ηš„η΄’εΌ•δΈ­εŒ…ε«ζœͺζδΊ€ηš„ε˜ζ›΄γ€‚"
-#: builtin/pull.c:436
+#: builtin/pull.c:443
msgid ""
"There is no candidate for rebasing against among the refs that you just "
"fetched."
msgstr "εœ¨ζ‚¨εˆšεˆšθŽ·ε–εˆ°ηš„εΌ•η”¨δΈ­ζ²‘ζœ‰ε˜εŸΊζ“δ½œηš„ε€™ι€‰γ€‚"
-#: builtin/pull.c:438
+#: builtin/pull.c:445
msgid ""
"There are no candidates for merging among the refs that you just fetched."
msgstr "εœ¨ζ‚¨εˆšεˆšθŽ·ε–εˆ°ηš„εΌ•η”¨δΈ­ζ²‘ζœ‰εˆεΉΆζ“δ½œηš„ε€™ι€‰γ€‚"
-#: builtin/pull.c:439
+#: builtin/pull.c:446
msgid ""
"Generally this means that you provided a wildcard refspec which had no\n"
"matches on the remote end."
msgstr "ι€šεΈΈθΏ™ζ„ε‘³η€ζ‚¨ζδΎ›δΊ†δΈ€δΈͺι€šι…η¬¦εΌ•η”¨θ§„ζ Όδ½†ζœͺθƒ½ε’ŒθΏœη«―εŒΉι…γ€‚"
-#: builtin/pull.c:442
+#: builtin/pull.c:449
#, c-format
msgid ""
"You asked to pull from the remote '%s', but did not specify\n"
@@ -8732,27 +8995,27 @@ msgstr ""
"ζ‚¨θ¦ζ±‚δ»ŽθΏœη¨‹ '%s' ζ‹‰ε–οΌŒδ½†ζ˜―ζœͺζŒ‡εšδΈ€δΈͺεˆ†ζ”―γ€‚ε› δΈΊθΏ™δΈζ˜―ε½“ε‰\n"
"εˆ†ζ”―ι»˜θ€ηš„θΏœη¨‹δ»“εΊ“οΌŒζ‚¨εΏ…ι‘»εœ¨ε‘½δ»€θ‘ŒδΈ­ζŒ‡εšδΈ€δΈͺεˆ†ζ”―εγ€‚"
-#: builtin/pull.c:447
+#: builtin/pull.c:454
msgid "You are not currently on a branch."
msgstr "ζ‚¨ε½“ε‰δΈεœ¨δΈ€δΈͺεˆ†ζ”―δΈŠγ€‚"
-#: builtin/pull.c:449 builtin/pull.c:464
+#: builtin/pull.c:456 builtin/pull.c:471
msgid "Please specify which branch you want to rebase against."
msgstr "θ―·ζŒ‡εšζ‚¨θ¦ε˜εŸΊεˆ°ε“ͺδΈ€δΈͺεˆ†ζ”―γ€‚"
-#: builtin/pull.c:451 builtin/pull.c:466
+#: builtin/pull.c:458 builtin/pull.c:473
msgid "Please specify which branch you want to merge with."
msgstr "θ―·ζŒ‡εšζ‚¨θ¦εˆεΉΆε“ͺδΈ€δΈͺεˆ†ζ”―γ€‚"
-#: builtin/pull.c:452 builtin/pull.c:467
+#: builtin/pull.c:459 builtin/pull.c:474
msgid "See git-pull(1) for details."
msgstr "详见 git-pull(1)。"
-#: builtin/pull.c:462
+#: builtin/pull.c:469
msgid "There is no tracking information for the current branch."
msgstr "ε½“ε‰εˆ†ζ”―ζ²‘ζœ‰θ·ŸθΈͺ俑息。"
-#: builtin/pull.c:471
+#: builtin/pull.c:478
#, c-format
msgid ""
"If you wish to set tracking information for this branch you can do so with:\n"
@@ -8763,7 +9026,7 @@ msgstr ""
"\n"
" git branch --set-upstream-to=%s/<branch> %s\n"
-#: builtin/pull.c:476
+#: builtin/pull.c:483
#, c-format
msgid ""
"Your configuration specifies to merge with the ref '%s'\n"
@@ -8772,11 +9035,11 @@ msgstr ""
"ζ‚¨ηš„ι…η½δΈ­ζŒ‡εšθ¦εˆεΉΆθΏœη¨‹ηš„引用 '%s',\n"
"δ½†ζ˜―ζ²‘ζœ‰θŽ·ε–εˆ°θΏ™δΈͺ引用。"
-#: builtin/pull.c:830
+#: builtin/pull.c:841
msgid "Updating an unborn branch with changes added to the index."
msgstr "ζ›΄ζ–°ε°šζœͺθ―žη”Ÿηš„εˆ†ζ”―οΌŒε˜ζ›΄ζ·»εŠ θ‡³η΄’εΌ•γ€‚"
-#: builtin/pull.c:859
+#: builtin/pull.c:870
#, c-format
msgid ""
"fetch updated the current branch head.\n"
@@ -8786,7 +9049,7 @@ msgstr ""
"fetch ζ›΄ζ–°δΊ†ε½“ε‰ηš„εˆ†ζ”―γ€‚εΏ«θΏ›ζ‚¨ηš„ε·₯作区\n"
"至提亀 %s。"
-#: builtin/pull.c:864
+#: builtin/pull.c:875
#, c-format
msgid ""
"Cannot fast-forward your working tree.\n"
@@ -8803,11 +9066,11 @@ msgstr ""
"$ git reset --hard\n"
"ζ’ε€δΉ‹ε‰ηš„ηŠΆζ€γ€‚"
-#: builtin/pull.c:879
+#: builtin/pull.c:890
msgid "Cannot merge multiple branches into empty head."
msgstr "ζ— ζ³•ε°†ε€šδΈͺεˆ†ζ”―εˆεΉΆεˆ°η©Ίεˆ†ζ”―γ€‚"
-#: builtin/pull.c:883
+#: builtin/pull.c:894
msgid "Cannot rebase onto multiple branches."
msgstr "ζ— ζ³•ε˜εŸΊεˆ°ε€šδΈͺεˆ†ζ”―γ€‚"
@@ -8815,15 +9078,15 @@ msgstr "ζ— ζ³•ε˜εŸΊεˆ°ε€šδΈͺεˆ†ζ”―γ€‚"
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<选鑹>] [<δ»“εΊ“> [<引用规格>...]]"
-#: builtin/push.c:88
+#: builtin/push.c:89
msgid "tag shorthand without <tag>"
msgstr "ζ ‡η­ΎεŽι’ζœͺ提供 <ζ ‡η­Ύ> 参数"
-#: builtin/push.c:98
+#: builtin/push.c:99
msgid "--delete only accepts plain target ref names"
msgstr "--delete εͺζŽ₯受η€ε•ηš„η›ζ ‡εΌ•用名"
-#: builtin/push.c:142
+#: builtin/push.c:143
msgid ""
"\n"
"To choose either option permanently, see push.default in 'git help config'."
@@ -8831,7 +9094,7 @@ msgstr ""
"\n"
"δΈΊδΊ†ζ°ΈδΉ…εœ°ι€‰ζ‹©δ»»δΈ€ι€‰ι‘ΉοΌŒε‚θ§ 'git help config' δΈ­ηš„ push.default。"
-#: builtin/push.c:145
+#: builtin/push.c:146
#, c-format
msgid ""
"The upstream branch of your current branch does not match\n"
@@ -8855,7 +9118,7 @@ msgstr ""
" git push %s %s\n"
"%s"
-#: builtin/push.c:160
+#: builtin/push.c:161
#, c-format
msgid ""
"You are not currently on a branch.\n"
@@ -8869,7 +9132,7 @@ msgstr ""
"\n"
" git push %s HEAD:<θΏœη¨‹εˆ†ζ”―εε­—>\n"
-#: builtin/push.c:174
+#: builtin/push.c:175
#, c-format
msgid ""
"The current branch %s has no upstream branch.\n"
@@ -8882,12 +9145,12 @@ msgstr ""
"\n"
" git push --set-upstream %s %s\n"
-#: builtin/push.c:182
+#: builtin/push.c:183
#, c-format
msgid "The current branch %s has multiple upstream branches, refusing to push."
msgstr "ε½“ε‰εˆ†ζ”― %s ζœ‰ε€šδΈͺδΈŠζΈΈεˆ†ζ”―οΌŒζ‹’η»ζŽ¨ι€γ€‚"
-#: builtin/push.c:185
+#: builtin/push.c:186
#, c-format
msgid ""
"You are pushing to remote '%s', which is not the upstream of\n"
@@ -8897,56 +9160,12 @@ msgstr ""
"ζ‚¨ζ­£ζŽ¨ι€θ‡³θΏœη¨‹ '%s'οΌˆε…ΆεΉΆιžε½“ε‰εˆ†ζ”― '%s' ηš„δΈŠζΈΈοΌ‰οΌŒ\n"
"θ€Œζ²‘ζœ‰ε‘Šθ―‰ζˆ‘θ¦ζŽ¨ι€δ»€δΉˆγ€ζ›΄ζ–°ε“ͺδΈͺθΏœη¨‹εˆ†ζ”―γ€‚"
-# θ―‘θ€…οΌšε­—η¬¦δΈ²ι¦–θ‘Œθ‘Œι¦–θ¦ζ·»εŠ β€œwarning: β€ε­—δΈ²οΌŒζ•…ζ­€ι¦–θ‘Œθ¦θΎƒε…Άδ½™θ‘ŒηŸ­
-#: builtin/push.c:208
-msgid ""
-"push.default is unset; its implicit value has changed in\n"
-"Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
-"and maintain the traditional behavior, use:\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"To squelch this message and adopt the new behavior now, use:\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"When push.default is set to 'matching', git will push local branches\n"
-"to the remote branches that already exist with the same name.\n"
-"\n"
-"Since Git 2.0, Git defaults to the more conservative 'simple'\n"
-"behavior, which only pushes the current branch to the corresponding\n"
-"remote branch that 'git pull' uses to update the current branch.\n"
-"\n"
-"See 'git help config' and search for 'push.default' for further "
-"information.\n"
-"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
-"'current' instead of 'simple' if you sometimes use older versions of Git)"
-msgstr ""
-"push.default 尚ζœͺθΎη½οΌŒεƒηš„ι»˜θ€ε€Όεœ¨ Git 2.0 已从 'matching'\n"
-"ε˜ζ›΄δΈΊ 'simple'。θ‹₯θ¦δΈε†ζ˜Ύη€Ίζœ¬δΏ‘ζ―εΉΆδΏζŒδΌ η»ŸδΉ ζƒ―οΌŒθΏ›θ‘Œε¦‚δΈ‹θΎη½οΌš\n"
-"\n"
-" git config --global push.default matching\n"
-"\n"
-"θ‹₯θ¦δΈε†ζ˜Ύη€Ίζœ¬δΏ‘ζ―εΉΆδ»ŽηŽ°εœ¨εΌ€ε§‹ι‡‡η”¨ζ–°ηš„δ½Ώη”¨δΉ ζƒ―οΌŒθΎη½οΌš\n"
-"\n"
-" git config --global push.default simple\n"
-"\n"
-"当 push.default θΎη½δΈΊ 'matching' 后,git ε°†ζŽ¨ι€ε’ŒθΏœη¨‹εŒεηš„ζ‰€ζœ‰\n"
-"ζœ¬εœ°εˆ†ζ”―γ€‚\n"
-"\n"
-"从 Git 2.0 εΌ€ε§‹οΌŒGit 默θ€ι‡‡η”¨ζ›΄δΈΊδΏεˆηš„ 'simple' 樑式,εͺζŽ¨ι€ε½“ε‰\n"
-"εˆ†ζ”―εˆ°θΏœη¨‹ε…³θ”ηš„εŒεεˆ†ζ”―οΌŒε³ 'git push' ζŽ¨ι€ε½“ε‰εˆ†ζ”―γ€‚\n"
-"\n"
-"参见 'git help config' εΉΆζŸ₯ζ‰Ύ 'push.default' δ»₯θŽ·ε–ζ›΄ε€šδΏ‘ζ―γ€‚\n"
-"('simple' 樑式由 Git 1.7.11 η‰ˆζœ¬εΌ•ε…₯γ€‚ε¦‚ζžœζ‚¨ζœ‰ζ—Άθ¦δ½Ώη”¨θ€η‰ˆζœ¬ηš„ Git,\n"
-"δΈΊδΏζŒε…ΌεΉοΌŒθ―·η”¨ 'current' 代替 'simple'οΌ‰"
-
-#: builtin/push.c:275
+#: builtin/push.c:242
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr "ζ‚¨ζ²‘ζœ‰δΈΊζŽ¨ι€ζŒ‡εšδ»»δ½•εΌ•η”¨θ§„ζ ΌοΌŒεΉΆδΈ” push.default δΈΊ \"nothing\"。"
-#: builtin/push.c:282
+#: builtin/push.c:249
msgid ""
"Updates were rejected because the tip of your current branch is behind\n"
"its remote counterpart. Integrate the remote changes (e.g.\n"
@@ -8957,7 +9176,7 @@ msgstr ""
"ε†ζ¬‘ζŽ¨ι€ε‰οΌŒε…ˆδΈŽθΏœη¨‹ε˜ζ›΄εˆεΉΆοΌˆε¦‚ 'git pull ...')。详见\n"
"'git push --help' δΈ­ηš„ 'Note about fast-forwards' ε°θŠ‚γ€‚"
-#: builtin/push.c:288
+#: builtin/push.c:255
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"
@@ -8968,7 +9187,7 @@ msgstr ""
"ζ£€ε‡Ίθ―₯εˆ†ζ”―εΉΆζ•΄εˆθΏœη¨‹ε˜ζ›΄οΌˆε¦‚ 'git pull ...'οΌ‰οΌŒη„ΆεŽε†ζŽ¨ι€γ€‚θ―¦θ§\n"
"'git push --help' δΈ­ηš„ 'Note about fast-forwards' ε°θŠ‚γ€‚"
-#: builtin/push.c:294
+#: builtin/push.c:261
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"
@@ -8981,11 +9200,11 @@ msgstr ""
"οΌˆε¦‚ 'git pull ...')。\n"
"详见 'git push --help' δΈ­ηš„ 'Note about fast-forwards' ε°θŠ‚γ€‚"
-#: builtin/push.c:301
+#: builtin/push.c:268
msgid "Updates were rejected because the tag already exists in the remote."
msgstr "ζ›΄ζ–°θ’«ζ‹’η»οΌŒε› δΈΊθ―₯ζ ‡η­Ύεœ¨θΏœη¨‹ε·²η»ε­˜εœ¨γ€‚"
-#: builtin/push.c:304
+#: builtin/push.c:271
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"
@@ -8994,22 +9213,22 @@ msgstr ""
"ε¦‚ζžœδΈδ½Ώη”¨ '--force' ε‚ζ•°οΌŒζ‚¨δΈθƒ½ζ›΄ζ–°δΈ€δΈͺζŒ‡ε‘ιžζδΊ€ε―Ήθ±‘ηš„θΏœη¨‹εΌ•η”¨οΌŒ\n"
"δΉŸδΈθƒ½ζ›΄ζ–°θΏœη¨‹εΌ•η”¨θ©ε…ΆζŒ‡ε‘δΈ€δΈͺιžζδΊ€ε―Ήθ±‘γ€‚\n"
-#: builtin/push.c:363
+#: builtin/push.c:331
#, c-format
msgid "Pushing to %s\n"
msgstr "ζŽ¨ι€εˆ° %s\n"
-#: builtin/push.c:367
+#: builtin/push.c:335
#, c-format
msgid "failed to push some refs to '%s'"
msgstr "ζ— ζ³•ζŽ¨ι€δΈ€δΊ›εΌ•η”¨εˆ° '%s'"
-#: builtin/push.c:397
+#: builtin/push.c:365
#, c-format
msgid "bad repository '%s'"
msgstr "εηš„δ»“εΊ“ '%s'"
-#: builtin/push.c:398
+#: builtin/push.c:366
msgid ""
"No configured push destination.\n"
"Either specify the URL from the command-line or configure a remote "
@@ -9030,105 +9249,100 @@ msgstr ""
"\n"
" git push <名称>\n"
-#: builtin/push.c:413
+#: builtin/push.c:381
msgid "--all and --tags are incompatible"
msgstr "--all ε’Œ --tags 不兼εΉ"
-#: builtin/push.c:414
+#: builtin/push.c:382
msgid "--all can't be combined with refspecs"
msgstr "--all δΈθƒ½ε’ŒεΌ•η”¨θ§„ζ ΌεŒζ—Άδ½Ώη”¨"
-#: builtin/push.c:419
+#: builtin/push.c:387
msgid "--mirror and --tags are incompatible"
msgstr "--mirror ε’Œ --tags 不兼εΉ"
-#: builtin/push.c:420
+#: builtin/push.c:388
msgid "--mirror can't be combined with refspecs"
msgstr "--mirror δΈθƒ½ε’ŒεΌ•η”¨θ§„ζ ΌεŒζ—Άδ½Ώη”¨"
-#: builtin/push.c:425
+#: builtin/push.c:393
msgid "--all and --mirror are incompatible"
msgstr "--all ε’Œ --mirror 不兼εΉ"
-#: builtin/push.c:537
+#: builtin/push.c:505
msgid "repository"
msgstr "δ»“εΊ“"
-#: builtin/push.c:538 builtin/send-pack.c:161
+#: builtin/push.c:506 builtin/send-pack.c:161
msgid "push all refs"
msgstr "ζŽ¨ι€ζ‰€ζœ‰εΌ•η”¨"
-#: builtin/push.c:539 builtin/send-pack.c:163
+#: builtin/push.c:507 builtin/send-pack.c:163
msgid "mirror all refs"
msgstr "ι•œεƒζ‰€ζœ‰εΌ•η”¨"
-#: builtin/push.c:541
+#: builtin/push.c:509
msgid "delete refs"
msgstr "εˆ ι™€εΌ•η”¨"
-#: builtin/push.c:542
+#: builtin/push.c:510
msgid "push tags (can't be used with --all or --mirror)"
msgstr "ζŽ¨ι€ζ ‡η­ΎοΌˆδΈθƒ½δ½Ώη”¨ --all or --mirrorοΌ‰"
-#: builtin/push.c:545 builtin/send-pack.c:164
+#: builtin/push.c:513 builtin/send-pack.c:164
msgid "force updates"
msgstr "εΌΊεˆΆζ›΄ζ–°"
-#: builtin/push.c:547 builtin/send-pack.c:175
+#: builtin/push.c:515 builtin/send-pack.c:175
msgid "refname>:<expect"
msgstr "引用名>:<ζœŸζœ›ε€Ό"
-#: builtin/push.c:548 builtin/send-pack.c:176
+#: builtin/push.c:516 builtin/send-pack.c:176
msgid "require old value of ref to be at this value"
msgstr "θ¦ζ±‚εΌ•η”¨ζ—§ηš„ε–ε€ΌδΈΊθΎεšε€Ό"
-# θ―‘θ€…οΌšε―ι€‰ε€ΌοΌŒδΈθƒ½ηΏ»θ―‘
-#: builtin/push.c:550
-msgid "check|on-demand|no"
-msgstr "check|on-demand|no"
-
-#: builtin/push.c:551
+#: builtin/push.c:519
msgid "control recursive pushing of submodules"
msgstr "ζŽ§εˆΆε­ζ¨‘η»„ηš„ι€’ε½’ζŽ¨ι€"
-#: builtin/push.c:553 builtin/send-pack.c:169
+#: builtin/push.c:521 builtin/send-pack.c:169
msgid "use thin pack"
msgstr "使用精η€ζ‰“εŒ…"
-#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158
+#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158
#: builtin/send-pack.c:159
msgid "receive pack program"
msgstr "ζŽ₯ζ”ΆεŒ…η¨‹εΊ"
-#: builtin/push.c:556
+#: builtin/push.c:524
msgid "set upstream for git pull/status"
msgstr "θΎη½ git pull/status ηš„δΈŠζΈΈ"
-#: builtin/push.c:559
+#: builtin/push.c:527
msgid "prune locally removed refs"
msgstr "ζΈ…ι™€ζœ¬εœ°εˆ ι™€ηš„εΌ•η”¨"
-#: builtin/push.c:561
+#: builtin/push.c:529
msgid "bypass pre-push hook"
msgstr "η»•θΏ‡ pre-push 钩子"
-#: builtin/push.c:562
+#: builtin/push.c:530
msgid "push missing but relevant tags"
msgstr "ζŽ¨ι€ηΌΊε€±δ½†ζœ‰ε…³ηš„ζ ‡η­Ύ"
-#: builtin/push.c:565 builtin/send-pack.c:166
+#: builtin/push.c:533 builtin/send-pack.c:166
msgid "GPG sign the push"
msgstr "用 GPG δΈΊζŽ¨ι€η­Ύε"
-#: builtin/push.c:567 builtin/send-pack.c:170
+#: builtin/push.c:535 builtin/send-pack.c:170
msgid "request atomic transaction on remote side"
msgstr "ιœ€θ¦θΏœη«―ζ”―ζŒεŽŸε­δΊ‹εŠ‘"
-#: builtin/push.c:577
+#: builtin/push.c:549
msgid "--delete is incompatible with --all, --mirror and --tags"
msgstr "--delete 与 --all、--mirror 及 --tags 不兼εΉ"
-#: builtin/push.c:579
+#: builtin/push.c:551
msgid "--delete doesn't make sense without any refs"
msgstr "--delete ζœͺζŽ₯δ»»δ½•εΌ•η”¨ζ²‘ζœ‰ζ„δΉ‰"
@@ -9206,12 +9420,12 @@ msgstr "跳过应用稀疏检出过滀器"
msgid "debug unpack-trees"
msgstr "θ°ƒθ―• unpack-trees"
-#: builtin/reflog.c:428
+#: builtin/reflog.c:423
#, c-format
msgid "'%s' for '%s' is not a valid timestamp"
msgstr "'%2$s' ηš„ε€Ό '%1$s' δΈζ˜―δΈ€δΈͺζœ‰ζ•ˆηš„ζ—Άι—΄ζˆ³"
-#: builtin/reflog.c:545 builtin/reflog.c:550
+#: builtin/reflog.c:540 builtin/reflog.c:545
#, c-format
msgid "'%s' is not a valid timestamp"
msgstr "'%s' δΈζ˜―δΈ€δΈͺζœ‰ζ•ˆηš„ζ—Άι—΄ζˆ³"
@@ -9351,55 +9565,45 @@ msgstr "ζŒ‡εšδΈ€δΈͺ master εˆ†ζ”―εΉΆδ½Ώη”¨ --mirror ι€‰ι‘Ήζ²‘ζœ‰ζ„δΉ‰"
msgid "specifying branches to track makes sense only with fetch mirrors"
msgstr "ζŒ‡εšθ¦θ·ŸθΈͺηš„εˆ†ζ”―εͺεœ¨δΈŽθŽ·ε–ι•œεƒεŒζ—Άδ½Ώη”¨ζ‰ζœ‰ζ„δΉ‰"
-#: builtin/remote.c:193 builtin/remote.c:643
+#: builtin/remote.c:190 builtin/remote.c:633
#, c-format
msgid "remote %s already exists."
msgstr "θΏœη¨‹ %s ε·²η»ε­˜εœ¨γ€‚"
-#: builtin/remote.c:197 builtin/remote.c:647
+#: builtin/remote.c:194 builtin/remote.c:637
#, c-format
msgid "'%s' is not a valid remote name"
msgstr "'%s' δΈζ˜―δΈ€δΈͺζœ‰ζ•ˆηš„θΏœη¨‹εη§°"
-#: builtin/remote.c:241
+#: builtin/remote.c:234
#, c-format
msgid "Could not setup master '%s'"
msgstr "无法θΎη½ master '%s'"
-#: builtin/remote.c:341
+#: builtin/remote.c:336
#, c-format
msgid "Could not get fetch map for refspec %s"
msgstr "ζ— ζ³•εΎ—εˆ°εΌ•η”¨θ§„ζ Ό %s ηš„θŽ·ε–εˆ—θ‘¨"
-#: builtin/remote.c:442 builtin/remote.c:450
+#: builtin/remote.c:437 builtin/remote.c:445
msgid "(matching)"
msgstr "οΌˆεŒΉι…οΌ‰"
-#: builtin/remote.c:454
+#: builtin/remote.c:449
msgid "(delete)"
msgstr "οΌˆεˆ ι™€οΌ‰"
-#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606
-#, c-format
-msgid "Could not append '%s' to '%s'"
-msgstr "δΈθƒ½ζ·»εŠ  '%s' 至 '%s'"
-
-#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875
+#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858
#, c-format
msgid "No such remote: %s"
msgstr "ζ²‘ζœ‰θΏ™ζ ·ηš„θΏœη¨‹οΌš%s"
-#: builtin/remote.c:653
+#: builtin/remote.c:643
#, c-format
msgid "Could not rename config section '%s' to '%s'"
msgstr "不能重命名配η½ε°θŠ‚ '%s' 到 '%s'"
-#: builtin/remote.c:659 builtin/remote.c:827
-#, c-format
-msgid "Could not remove config section '%s'"
-msgstr "不能移陀配η½ε°θŠ‚ '%s'"
-
-#: builtin/remote.c:674
+#: builtin/remote.c:663
#, c-format
msgid ""
"Not updating non-default fetch refspec\n"
@@ -9410,27 +9614,17 @@ msgstr ""
"\t%s\n"
"\tε¦‚ζžœεΏ…θ¦θ―·ζ‰‹εŠ¨ζ›΄ζ–°ι…η½γ€‚"
-#: builtin/remote.c:680
-#, c-format
-msgid "Could not append '%s'"
-msgstr "δΈθƒ½θΏ½εŠ  '%s'"
-
-#: builtin/remote.c:691
-#, c-format
-msgid "Could not set '%s'"
-msgstr "不能θΎη½ '%s'"
-
-#: builtin/remote.c:713
+#: builtin/remote.c:699
#, c-format
msgid "deleting '%s' failed"
msgstr "εˆ ι™€ '%s' ε€±θ΄₯"
-#: builtin/remote.c:747
+#: builtin/remote.c:733
#, c-format
msgid "creating '%s' failed"
msgstr "εˆ›ε»Ί '%s' ε€±θ΄₯"
-#: builtin/remote.c:813
+#: builtin/remote.c:796
msgid ""
"Note: A branch outside the refs/remotes/ hierarchy was not removed;\n"
"to delete it, use:"
@@ -9440,126 +9634,131 @@ msgid_plural ""
msgstr[0] "ζ³¨ζ„οΌšref/remotes ε±‚ηΊ§δΉ‹ε€–ηš„δΈ€δΈͺεˆ†ζ”―ζœͺθ’«η§»ι™€γ€‚θ¦εˆ ι™€εƒοΌŒδ½Ώη”¨οΌš"
msgstr[1] "ζ³¨ζ„οΌšref/remotes ε±‚ηΊ§δΉ‹ε€–ηš„δΈ€δΊ›εˆ†ζ”―ζœͺθ’«η§»ι™€γ€‚θ¦εˆ ι™€εƒδ»¬οΌŒδ½Ώη”¨οΌš"
-#: builtin/remote.c:928
+#: builtin/remote.c:810
+#, c-format
+msgid "Could not remove config section '%s'"
+msgstr "不能移陀配η½ε°θŠ‚ '%s'"
+
+#: builtin/remote.c:911
#, c-format
msgid " new (next fetch will store in remotes/%s)"
msgstr " ζ–°ηš„οΌˆδΈ‹δΈ€ζ¬‘θŽ·ε–ε°†ε­˜ε‚¨δΊŽ remotes/%sοΌ‰"
-#: builtin/remote.c:931
+#: builtin/remote.c:914
msgid " tracked"
msgstr " 已跟θΈͺ"
-#: builtin/remote.c:933
+#: builtin/remote.c:916
msgid " stale (use 'git remote prune' to remove)"
msgstr " θΏ‡ζ—ΆοΌˆδ½Ώη”¨ 'git remote prune' ζ₯移陀)"
-#: builtin/remote.c:935
+#: builtin/remote.c:918
msgid " ???"
msgstr " ???"
-#: builtin/remote.c:976
+#: builtin/remote.c:959
#, c-format
msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch"
msgstr "ζ— ζ•ˆηš„ branch.%s.mergeοΌŒδΈθƒ½ε˜εŸΊεˆ°δΈ€δΈͺδ»₯δΈŠηš„εˆ†ζ”―"
-#: builtin/remote.c:983
+#: builtin/remote.c:967
#, c-format
-msgid "rebases onto remote %s"
-msgstr "ε˜εŸΊεˆ°θΏœη¨‹ %s"
+msgid "rebases interactively onto remote %s"
+msgstr "δΊ€δΊ’εΌε˜εŸΊεˆ°θΏœη¨‹ %s"
-#: builtin/remote.c:986
+#: builtin/remote.c:971
#, c-format
msgid " merges with remote %s"
msgstr " δΈŽθΏœη¨‹ %s 合幢"
-#: builtin/remote.c:987
+#: builtin/remote.c:972
msgid " and with remote"
msgstr " δΈ”ζœ‰θΏœη¨‹"
-#: builtin/remote.c:989
+#: builtin/remote.c:974
#, c-format
msgid "merges with remote %s"
msgstr "δΈŽθΏœη¨‹ %s 合幢"
-#: builtin/remote.c:990
+#: builtin/remote.c:975
msgid " and with remote"
msgstr " δΈ”ζœ‰θΏœη¨‹"
-#: builtin/remote.c:1036
+#: builtin/remote.c:1021
msgid "create"
msgstr "εˆ›ε»Ί"
-#: builtin/remote.c:1039
+#: builtin/remote.c:1024
msgid "delete"
msgstr "εˆ ι™€"
-#: builtin/remote.c:1043
+#: builtin/remote.c:1028
msgid "up to date"
msgstr "ζœ€ζ–°"
-#: builtin/remote.c:1046
+#: builtin/remote.c:1031
msgid "fast-forwardable"
msgstr "可快进"
-#: builtin/remote.c:1049
+#: builtin/remote.c:1034
msgid "local out of date"
msgstr "ζœ¬εœ°ε·²θΏ‡ζ—Ά"
-#: builtin/remote.c:1056
+#: builtin/remote.c:1041
#, c-format
msgid " %-*s forces to %-*s (%s)"
msgstr " %-*s εΌΊεˆΆζŽ¨ι€θ‡³ %-*s (%s)"
-#: builtin/remote.c:1059
+#: builtin/remote.c:1044
#, c-format
msgid " %-*s pushes to %-*s (%s)"
msgstr " %-*s ζŽ¨ι€θ‡³ %-*s (%s)"
-#: builtin/remote.c:1063
+#: builtin/remote.c:1048
#, c-format
msgid " %-*s forces to %s"
msgstr " %-*s εΌΊεˆΆζŽ¨ι€θ‡³ %s"
-#: builtin/remote.c:1066
+#: builtin/remote.c:1051
#, c-format
msgid " %-*s pushes to %s"
msgstr " %-*s ζŽ¨ι€θ‡³ %s"
-#: builtin/remote.c:1134
+#: builtin/remote.c:1119
msgid "do not query remotes"
msgstr "不ζŸ₯θ―’θΏœη¨‹"
-#: builtin/remote.c:1161
+#: builtin/remote.c:1146
#, c-format
msgid "* remote %s"
msgstr "* θΏœη¨‹ %s"
-#: builtin/remote.c:1162
+#: builtin/remote.c:1147
#, c-format
msgid " Fetch URL: %s"
msgstr " θŽ·ε–εœ°ε€οΌš%s"
-#: builtin/remote.c:1163 builtin/remote.c:1314
+#: builtin/remote.c:1148 builtin/remote.c:1299
msgid "(no URL)"
msgstr "(ζ—  URL)"
-#: builtin/remote.c:1172 builtin/remote.c:1174
+#: builtin/remote.c:1157 builtin/remote.c:1159
#, c-format
msgid " Push URL: %s"
msgstr " ζŽ¨ι€εœ°ε€οΌš%s"
-#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180
+#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165
#, c-format
msgid " HEAD branch: %s"
msgstr " HEAD εˆ†ζ”―οΌš%s"
-#: builtin/remote.c:1182
+#: builtin/remote.c:1167
#, c-format
msgid ""
" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n"
msgstr " HEAD εˆ†ζ”―οΌˆθΏœη¨‹ HEAD ζ¨‘η³ŠοΌŒε―θƒ½ζ˜―δΈ‹εˆ—δΈ­ηš„δΈ€δΈͺοΌ‰οΌš\n"
-#: builtin/remote.c:1194
+#: builtin/remote.c:1179
#, c-format
msgid " Remote branch:%s"
msgid_plural " Remote branches:%s"
@@ -9567,151 +9766,151 @@ msgstr[0] " θΏœη¨‹εˆ†ζ”―οΌš%s"
msgstr[1] " θΏœη¨‹εˆ†ζ”―οΌš%s"
# θ―‘θ€…οΌšδΈ­ζ–‡ε­—η¬¦δΈ²ζ‹ΌζŽ₯οΌŒε―εˆ ι™€ε‰ε―Όη©Ίζ Ό
-#: builtin/remote.c:1197 builtin/remote.c:1224
+#: builtin/remote.c:1182 builtin/remote.c:1209
msgid " (status not queried)"
msgstr "οΌˆηŠΆζ€ζœͺζŸ₯θ―’οΌ‰"
-#: builtin/remote.c:1206
+#: builtin/remote.c:1191
msgid " Local branch configured for 'git pull':"
msgid_plural " Local branches configured for 'git pull':"
msgstr[0] " δΈΊ 'git pull' 配η½ηš„ζœ¬εœ°εˆ†ζ”―:"
msgstr[1] " δΈΊ 'git pull' 配η½ηš„ζœ¬εœ°εˆ†ζ”―:"
-#: builtin/remote.c:1214
+#: builtin/remote.c:1199
msgid " Local refs will be mirrored by 'git push'"
msgstr " ζœ¬εœ°εΌ•η”¨ε°†εœ¨ 'git push' ζ—Άθ’«ι•œεƒ"
-#: builtin/remote.c:1221
+#: builtin/remote.c:1206
#, c-format
msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " δΈΊ 'git push' 配η½ηš„ζœ¬εœ°εΌ•η”¨%s:"
msgstr[1] " δΈΊ 'git push' 配η½ηš„ζœ¬εœ°εΌ•η”¨%s:"
-#: builtin/remote.c:1242
+#: builtin/remote.c:1227
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "ζ ΉζθΏœη¨‹θΎη½ refs/remotes/<名称>/HEAD"
-#: builtin/remote.c:1244
+#: builtin/remote.c:1229
msgid "delete refs/remotes/<name>/HEAD"
msgstr "εˆ ι™€ refs/remotes/<名称>/HEAD"
-#: builtin/remote.c:1259
+#: builtin/remote.c:1244
msgid "Cannot determine remote HEAD"
msgstr "无法η‘εšθΏœη¨‹ HEAD"
-#: builtin/remote.c:1261
+#: builtin/remote.c:1246
msgid "Multiple remote HEAD branches. Please choose one explicitly with:"
msgstr "倚δΈͺθΏœη¨‹ HEAD εˆ†ζ”―γ€‚θ―·ζ˜Žη‘εœ°ι€‰ζ‹©δΈ€δΈͺη”¨ε‘½δ»€οΌš"
-#: builtin/remote.c:1271
+#: builtin/remote.c:1256
#, c-format
msgid "Could not delete %s"
msgstr "ζ— ζ³•εˆ ι™€ %s"
-#: builtin/remote.c:1279
+#: builtin/remote.c:1264
#, c-format
msgid "Not a valid ref: %s"
msgstr "δΈζ˜―δΈ€δΈͺζœ‰ζ•ˆεΌ•η”¨οΌš%s"
-#: builtin/remote.c:1281
+#: builtin/remote.c:1266
#, c-format
msgid "Could not setup %s"
msgstr "不能θΎη½ %s"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: builtin/remote.c:1299
+#: builtin/remote.c:1284
#, c-format
msgid " %s will become dangling!"
msgstr " %s ε°†ζˆδΈΊζ‘‡ζ‘†ηŠΆζ€οΌ"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: builtin/remote.c:1300
+#: builtin/remote.c:1285
#, c-format
msgid " %s has become dangling!"
msgstr " %s ε·²ζˆδΈΊζ‘‡ζ‘†ηŠΆζ€οΌ"
-#: builtin/remote.c:1310
+#: builtin/remote.c:1295
#, c-format
msgid "Pruning %s"
msgstr "δΏε‰ͺ %s"
-#: builtin/remote.c:1311
+#: builtin/remote.c:1296
#, c-format
msgid "URL: %s"
msgstr "URL:%s"
-#: builtin/remote.c:1327
+#: builtin/remote.c:1312
#, c-format
msgid " * [would prune] %s"
msgstr " * [ε°†εˆ ι™€] %s"
-#: builtin/remote.c:1330
+#: builtin/remote.c:1315
#, c-format
msgid " * [pruned] %s"
msgstr " * [ε·²εˆ ι™€] %s"
-#: builtin/remote.c:1375
+#: builtin/remote.c:1360
msgid "prune remotes after fetching"
msgstr "ζŠ“ε–εŽζΈ…ι™€θΏœη¨‹"
-#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566
+#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545
#, c-format
msgid "No such remote '%s'"
msgstr "ζ²‘ζœ‰ζ­€θΏœη¨‹ '%s'"
-#: builtin/remote.c:1461
+#: builtin/remote.c:1439
msgid "add branch"
msgstr "ζ·»εŠ εˆ†ζ”―"
-#: builtin/remote.c:1468
+#: builtin/remote.c:1446
msgid "no remote specified"
msgstr "ζœͺζŒ‡εšθΏœη¨‹"
-#: builtin/remote.c:1485
+#: builtin/remote.c:1463
msgid "query push URLs rather than fetch URLs"
msgstr "ζŸ₯θ―’ζŽ¨ι€ URL εœ°ε€οΌŒθ€ŒιžθŽ·ε– URL εœ°ε€"
-#: builtin/remote.c:1487
+#: builtin/remote.c:1465
msgid "return all URLs"
msgstr "θΏ”ε›žζ‰€ζœ‰ URL εœ°ε€"
-#: builtin/remote.c:1515
+#: builtin/remote.c:1493
#, c-format
msgid "no URLs configured for remote '%s'"
msgstr "ζ²‘ζœ‰η»™θΏœη¨‹δ»“εΊ“ '%s' θΎεš URL"
-#: builtin/remote.c:1541
+#: builtin/remote.c:1519
msgid "manipulate push URLs"
msgstr "ζ“δ½œζŽ¨ι€ URLS"
-#: builtin/remote.c:1543
+#: builtin/remote.c:1521
msgid "add URL"
msgstr "添加 URL"
-#: builtin/remote.c:1545
+#: builtin/remote.c:1523
msgid "delete URLs"
msgstr "εˆ ι™€ URLS"
-#: builtin/remote.c:1552
+#: builtin/remote.c:1530
msgid "--add --delete doesn't make sense"
msgstr "--add --delete 无意义"
-#: builtin/remote.c:1592
+#: builtin/remote.c:1571
#, c-format
msgid "Invalid old URL pattern: %s"
msgstr "ζ— ζ•ˆηš„ζ—§ URL εŒΉι…ζ¨‘η‰ˆοΌš%s"
-#: builtin/remote.c:1600
+#: builtin/remote.c:1579
#, c-format
msgid "No such URL found: %s"
msgstr "ζœͺζ‰Ύεˆ°ζ­€ URL:%s"
-#: builtin/remote.c:1602
+#: builtin/remote.c:1581
msgid "Will not delete all non-push URLs"
msgstr "ε°†δΈδΌšεˆ ι™€ζ‰€ζœ‰ιžζŽ¨ι€ URL εœ°ε€"
-#: builtin/remote.c:1616
+#: builtin/remote.c:1595
msgid "be verbose; must be placed before a subcommand"
msgstr "ε†—ι•ΏθΎ“ε‡ΊοΌ›εΏ…ι‘»η½δΊŽε­ε‘½δ»€δΉ‹ε‰"
@@ -10012,7 +10211,7 @@ msgstr "不能重η½η΄’εΌ•ζ–‡δ»Άθ‡³η‰ˆζœ¬ '%s'。"
msgid "Could not write new index file."
msgstr "不能写ε…₯ζ–°ηš„η΄’εΌ•ζ–‡δ»Άγ€‚"
-#: builtin/rev-list.c:354
+#: builtin/rev-list.c:350
msgid "rev-list does not support display of notes"
msgstr "rev-list δΈζ”―ζŒζ˜Ύη€Ίζ³¨θ§£"
@@ -10256,28 +10455,23 @@ msgstr "打印ζ₯θ‡ͺθΏœη¨‹ helper ηš„ηŠΆζ€"
msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]"
msgstr "git shortlog [<选鑹>] [<η‰ˆζœ¬θŒƒε›΄>] [[--] [<θ·―εΎ„>...]]"
-#: builtin/shortlog.c:131
-#, c-format
-msgid "Missing author: %s"
-msgstr "ηΌΊε°‘δ½œθ€…οΌš%s"
-
-#: builtin/shortlog.c:230
+#: builtin/shortlog.c:242
msgid "sort output according to the number of commits per author"
msgstr "ζ Ήζζ―δΈͺδ½œθ€…ηš„ζδΊ€ζ•°ι‡ζŽ’εΊ"
-#: builtin/shortlog.c:232
+#: builtin/shortlog.c:244
msgid "Suppress commit descriptions, only provides commit count"
msgstr "ιšθ—ζδΊ€θ―΄ζ˜ŽοΌŒεͺ提供提亀数量"
-#: builtin/shortlog.c:234
+#: builtin/shortlog.c:246
msgid "Show the email address of each author"
msgstr "显瀺每δΈͺδ½œθ€…ηš„η”΅ε­ι‚δ»Άεœ°ε€"
-#: builtin/shortlog.c:235
+#: builtin/shortlog.c:247
msgid "w[,i1[,i2]]"
msgstr "w[,i1[,i2]]"
-#: builtin/shortlog.c:236
+#: builtin/shortlog.c:248
msgid "Linewrap output"
msgstr "ζŠ˜θ‘ŒθΎ“ε‡Ί"
@@ -10418,43 +10612,43 @@ msgid "skip and remove all lines starting with comment character"
msgstr "θ·³θΏ‡ε’Œη§»ι™€ζ‰€ζœ‰ηš„ζ³¨ι‡Šθ‘Œ"
#: builtin/stripspace.c:38
-msgid "prepend comment character and blank to each line"
+msgid "prepend comment character and space to each line"
msgstr "δΈΊζ―δΈ€θ‘Œηš„θ‘Œι¦–ζ·»εŠ ζ³¨ι‡Šη¬¦ε’Œη©Ίζ Ό"
-#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167
+#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161
msgid "alternative anchor for relative paths"
msgstr "η›Έε―Ήθ·―εΎ„ηš„ζ›Ώδ»£ι”šθ°οΌˆanchorοΌ‰"
-#: builtin/submodule--helper.c:84
+#: builtin/submodule--helper.c:78
msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
msgstr "git submodule--helper list [--prefix=<θ·―εΎ„>] [<θ·―εΎ„>...]"
-#: builtin/submodule--helper.c:114
+#: builtin/submodule--helper.c:108
msgid "git submodule--helper name <path>"
msgstr "git submodule--helper name <θ·―εΎ„>"
-#: builtin/submodule--helper.c:120
+#: builtin/submodule--helper.c:114
#, c-format
msgid "no submodule mapping found in .gitmodules for path '%s'"
msgstr "在 .gitmodules δΈ­ζ²‘ζœ‰ε‘ηŽ°θ·―εΎ„ '%s' ηš„ε­ζ¨‘η»„ζ˜ ε°„"
-#: builtin/submodule--helper.c:170
+#: builtin/submodule--helper.c:164
msgid "where the new submodule will be cloned to"
msgstr "ζ–°ηš„ε­ζ¨‘η»„ε°†θ¦ε…‹ιš†ηš„θ·―εΎ„"
-#: builtin/submodule--helper.c:173
+#: builtin/submodule--helper.c:167
msgid "name of the new submodule"
msgstr "ζ–°ε­ζ¨‘η»„ηš„εη§°"
-#: builtin/submodule--helper.c:176
+#: builtin/submodule--helper.c:170
msgid "url where to clone the submodule from"
msgstr "ε…‹ιš†ε­ζ¨‘η»„ηš„ url εœ°ε€"
-#: builtin/submodule--helper.c:182
+#: builtin/submodule--helper.c:176
msgid "depth for shallow clones"
msgstr "ζ΅…ε…‹ιš†ηš„ζ·±εΊ¦"
-#: builtin/submodule--helper.c:188
+#: builtin/submodule--helper.c:182
msgid ""
"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]"
@@ -10462,37 +10656,37 @@ msgstr ""
"git submodule--helper clone [--prefix=<θ·―εΎ„>] [--quiet] [--reference <δ»“εΊ“>] "
"[--name <名字>] [--url <εœ°ε€>][--depth <ζ·±εΊ¦>] [--] [<θ·―εΎ„>...]"
-#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208
-#: builtin/submodule--helper.c:216
+#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202
+#: builtin/submodule--helper.c:210
#, c-format
msgid "could not create directory '%s'"
msgstr "δΈθƒ½εˆ›ε»Ίη›ε½• '%s'"
-#: builtin/submodule--helper.c:204
+#: builtin/submodule--helper.c:198
#, c-format
msgid "clone of '%s' into submodule path '%s' failed"
msgstr "ζ— ζ³•ε…‹ιš† '%s' εˆ°ε­ζ¨‘η»„θ·―εΎ„ '%s'"
-#: builtin/submodule--helper.c:227
+#: builtin/submodule--helper.c:221
#, c-format
msgid "cannot open file '%s'"
msgstr "无法打开文仢 '%s'"
-#: builtin/submodule--helper.c:232
+#: builtin/submodule--helper.c:226
#, c-format
msgid "could not close file %s"
msgstr "无法关闭文仢 %s"
-#: builtin/submodule--helper.c:247
+#: builtin/submodule--helper.c:241
#, c-format
msgid "could not get submodule directory for '%s'"
msgstr "ζ— ζ³•εΎ—εˆ° '%s' ηš„ε­ζ¨‘η»„η›ε½•"
-#: builtin/submodule--helper.c:273
+#: builtin/submodule--helper.c:267
msgid "fatal: submodule--helper subcommand must be called with a subcommand"
msgstr "δΈ₯ι‡ι”™θ――οΌšsubmodule-helper ε­ε‘½δ»€εΏ…ι‘»η”±ε¦ε€–ηš„ε­ε‘½δ»€θ°ƒη”¨"
-#: builtin/submodule--helper.c:280
+#: builtin/submodule--helper.c:274
#, c-format
msgid "fatal: '%s' is not a valid submodule--helper subcommand"
msgstr "δΈ₯ι‡ι”™θ――οΌš'%s' δΈζ˜―δΈ€δΈͺζœ‰ζ•ˆηš„ submodule--helper 子命什"
@@ -10735,188 +10929,201 @@ msgstr "ε·²ζ›΄ζ–°ζ ‡η­Ύ '%s'οΌˆζ›ΎδΈΊ %sοΌ‰\n"
msgid "Unpacking objects"
msgstr "展开对豑中"
-#: builtin/update-index.c:70
+#: builtin/update-index.c:79
#, c-format
msgid "failed to create directory %s"
msgstr "ζ— ζ³•εˆ›ε»Ίη›ε½• %s"
-#: builtin/update-index.c:76
+#: builtin/update-index.c:85
#, c-format
msgid "failed to stat %s"
msgstr "ζ— ζ³•ζžšδΈΎ %s ηŠΆζ€"
-#: builtin/update-index.c:86
+#: builtin/update-index.c:95
#, c-format
msgid "failed to create file %s"
msgstr "ζ— ζ³•εˆ›ε»Ίζ–‡δ»Ά %s"
-#: builtin/update-index.c:94
+#: builtin/update-index.c:103
#, c-format
msgid "failed to delete file %s"
msgstr "ζ— ζ³•εˆ ι™€ζ–‡δ»Ά %s"
-#: builtin/update-index.c:101 builtin/update-index.c:203
+#: builtin/update-index.c:110 builtin/update-index.c:212
#, c-format
msgid "failed to delete directory %s"
msgstr "ζ— ζ³•εˆ ι™€η›ε½• %s"
-#: builtin/update-index.c:124
+#: builtin/update-index.c:133
#, c-format
-msgid "Testing "
-msgstr "ζ­£εœ¨ζ΅‹θ―• "
+msgid "Testing mtime in '%s' "
+msgstr "在 '%s' δΈ­ζ΅‹θ―• mtime "
-#: builtin/update-index.c:136
+#: builtin/update-index.c:145
msgid "directory stat info does not change after adding a new file"
msgstr "ζ·»εŠ δΈ€δΈͺζ–°ζ–‡δ»ΆεŽοΌŒη›ε½•ηš„ηŠΆζ€δΏ‘息ζœͺζ”Ήε˜"
-#: builtin/update-index.c:149
+#: builtin/update-index.c:158
msgid "directory stat info does not change after adding a new directory"
msgstr "ζ·»εŠ δΈ€δΈͺζ–°η›ε½•εŽοΌŒη›ε½•ηš„ηŠΆζ€δΏ‘息ζœͺζ”Ήε˜"
-#: builtin/update-index.c:162
+#: builtin/update-index.c:171
msgid "directory stat info changes after updating a file"
msgstr "ζ›΄ζ–°δΈ€δΈͺζ–‡δ»ΆεŽοΌŒη›ε½•ηš„ηŠΆζ€δΏ‘息蒫δΏζ”Ή"
-#: builtin/update-index.c:173
+#: builtin/update-index.c:182
msgid "directory stat info changes after adding a file inside subdirectory"
msgstr "在子η›ε½•δΈ­ζ·»εŠ ζ–‡δ»ΆεŽοΌŒη›ε½•ηš„ηŠΆζ€δΏ‘息蒫δΏζ”Ή"
-#: builtin/update-index.c:184
+#: builtin/update-index.c:193
msgid "directory stat info does not change after deleting a file"
msgstr "εˆ ι™€δΈ€δΈͺζ–‡δ»ΆεŽοΌŒη›ε½•ηš„ηŠΆζ€δΏ‘息ζœͺζ”Ήε˜"
-#: builtin/update-index.c:197
+#: builtin/update-index.c:206
msgid "directory stat info does not change after deleting a directory"
msgstr "εˆ ι™€δΈ€δΈͺη›ε½•εŽοΌŒη›ε½•ηš„ηŠΆζ€δΏ‘息ζœͺζ”Ήε˜"
-#: builtin/update-index.c:204
+#: builtin/update-index.c:213
msgid " OK"
msgstr " OK"
-#: builtin/update-index.c:564
+#: builtin/update-index.c:575
msgid "git update-index [<options>] [--] [<file>...]"
msgstr "git update-index [<选鑹>] [--] [<ζ–‡δ»Ά>...]"
-#: builtin/update-index.c:918
+#: builtin/update-index.c:930
msgid "continue refresh even when index needs update"
msgstr "ε½“η΄’εΌ•ιœ€θ¦ζ›΄ζ–°ζ—Άη»§η»­εˆ·ζ–°"
-#: builtin/update-index.c:921
+#: builtin/update-index.c:933
msgid "refresh: ignore submodules"
msgstr "εˆ·ζ–°οΌšεΏ½η•₯子樑组"
-#: builtin/update-index.c:924
+#: builtin/update-index.c:936
msgid "do not ignore new files"
msgstr "不忽η•₯ζ–°ηš„ζ–‡δ»Ά"
-#: builtin/update-index.c:926
+#: builtin/update-index.c:938
msgid "let files replace directories and vice-versa"
msgstr "θ©ζ–‡δ»Άζ›Ώζ’η›ε½•οΌˆεδΉ‹δΊ¦η„ΆοΌ‰"
-#: builtin/update-index.c:928
+#: builtin/update-index.c:940
msgid "notice files missing from worktree"
msgstr "ι€šηŸ₯ζ–‡δ»Άδ»Žε·₯作区丒倱"
-#: builtin/update-index.c:930
+#: builtin/update-index.c:942
msgid "refresh even if index contains unmerged entries"
msgstr "ε³δ½Ώη΄’εΌ•εŒΊεŒ…ε«ζœͺεˆεΉΆηš„ζ‘η›δΉŸζ‰§θ‘Œεˆ·ζ–°"
-#: builtin/update-index.c:933
+#: builtin/update-index.c:945
msgid "refresh stat information"
msgstr "εˆ·ζ–°η»Ÿθ‘俑息"
-#: builtin/update-index.c:937
+#: builtin/update-index.c:949
msgid "like --refresh, but ignore assume-unchanged setting"
msgstr "类似于 --refreshοΌŒδ½†ζ˜―εΏ½η•₯ assume-unchanged θΎη½"
-#: builtin/update-index.c:941
+#: builtin/update-index.c:953
msgid "<mode>,<object>,<path>"
msgstr "<ε­˜ε–ζ¨‘εΌ>,<对豑>,<θ·―εΎ„>"
-#: builtin/update-index.c:942
+#: builtin/update-index.c:954
msgid "add the specified entry to the index"
msgstr "ζ·»εŠ ζŒ‡εšηš„村η›εˆ°η΄’εΌ•εŒΊ"
-#: builtin/update-index.c:946
+#: builtin/update-index.c:958
msgid "(+/-)x"
msgstr "(+/-)x"
-#: builtin/update-index.c:947
+#: builtin/update-index.c:959
msgid "override the executable bit of the listed files"
msgstr "θ¦†η›–εˆ—θ‘¨ι‡Œζ–‡δ»Άηš„ε―ζ‰§θ‘Œδ½"
-#: builtin/update-index.c:951
+#: builtin/update-index.c:963
msgid "mark files as \"not changing\""
msgstr "ζŠŠζ–‡δ»Άζ ‡θ°δΈΊ \"ζ²‘ζœ‰ε˜ζ›΄\""
-#: builtin/update-index.c:954
+#: builtin/update-index.c:966
msgid "clear assumed-unchanged bit"
msgstr "清陀 assumed-unchanged 位"
-#: builtin/update-index.c:957
+#: builtin/update-index.c:969
msgid "mark files as \"index-only\""
msgstr "ζŠŠζ–‡δ»Άζ ‡θ°δΈΊ \"δ»…η΄’εΌ•\""
-#: builtin/update-index.c:960
+#: builtin/update-index.c:972
msgid "clear skip-worktree bit"
msgstr "清陀 skip-worktree 位"
-#: builtin/update-index.c:963
+#: builtin/update-index.c:975
msgid "add to index only; do not add content to object database"
msgstr "εͺζ·»εŠ εˆ°η΄’εΌ•εŒΊοΌ›δΈζ·»εŠ ε―Ήθ±‘εˆ°ε―Ήθ±‘εΊ“"
-#: builtin/update-index.c:965
+#: builtin/update-index.c:977
msgid "remove named paths even if present in worktree"
msgstr "即使存在ε·₯δ½œεŒΊι‡ŒοΌŒδΉŸεˆ ι™€θ·―εΎ„"
-#: builtin/update-index.c:967
+#: builtin/update-index.c:979
msgid "with --stdin: input lines are terminated by null bytes"
msgstr "携带 --stdinοΌšθΎ“ε…₯ηš„θ‘Œδ»₯ null ε­—η¬¦η»ˆζ­’"
-#: builtin/update-index.c:969
+#: builtin/update-index.c:981
msgid "read list of paths to be updated from standard input"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯δΈ­θ―»ε–ιœ€θ¦ζ›΄ζ–°ηš„θ·―εΎ„εˆ—θ‘¨"
-#: builtin/update-index.c:973
+#: builtin/update-index.c:985
msgid "add entries from standard input to the index"
msgstr "δ»Žζ ‡ε‡†θΎ“ε…₯添加村η›εˆ°η΄’εΌ•εŒΊ"
-#: builtin/update-index.c:977
+#: builtin/update-index.c:989
msgid "repopulate stages #2 and #3 for the listed paths"
msgstr "δΈΊζŒ‡εšζ–‡δ»Άι‡ζ–°η”Ÿζˆη¬¬2ε’Œη¬¬3ζš‚ε­˜εŒΊ"
-#: builtin/update-index.c:981
+#: builtin/update-index.c:993
msgid "only update entries that differ from HEAD"
msgstr "εͺζ›΄ζ–°δΈŽ HEAD δΈεŒηš„ζ‘η›"
-#: builtin/update-index.c:985
+#: builtin/update-index.c:997
msgid "ignore files missing from worktree"
msgstr "εΏ½η•₯ε·₯δ½œεŒΊδΈ’ε€±ηš„ζ–‡δ»Ά"
-#: builtin/update-index.c:988
+#: builtin/update-index.c:1000
msgid "report actions to standard output"
msgstr "εœ¨ζ ‡ε‡†θΎ“ε‡Ίζ˜Ύη€Ίζ“δ½œ"
-#: builtin/update-index.c:990
+#: builtin/update-index.c:1002
msgid "(for porcelains) forget saved unresolved conflicts"
msgstr "(for porcelains) 忘θ°δΏε­˜ηš„ζœͺθ§£ε†³ηš„ε†²ηͺ"
-#: builtin/update-index.c:994
+#: builtin/update-index.c:1006
msgid "write index in this format"
msgstr "δ»₯这种格式写ε…₯η΄’εΌ•εŒΊ"
-#: builtin/update-index.c:996
+#: builtin/update-index.c:1008
msgid "enable or disable split index"
msgstr "ε―η”¨ζˆ–η¦η”¨η΄’εΌ•ζ‹†εˆ†"
-#: builtin/update-index.c:998
+#: builtin/update-index.c:1010
msgid "enable/disable untracked cache"
msgstr "启用/禁用对ζœͺ跟θΈͺζ–‡δ»Άηš„ηΌ“ε­˜"
-#: builtin/update-index.c:1000
+#: builtin/update-index.c:1012
+msgid "test if the filesystem supports untracked cache"
+msgstr "ζ΅‹θ―•ζ–‡δ»Άη³»η»Ÿζ˜―ε¦ζ”―ζŒζœͺ跟θΈͺζ–‡δ»ΆηΌ“ε­˜"
+
+#: builtin/update-index.c:1014
msgid "enable untracked cache without testing the filesystem"
msgstr "ζ— ιœ€ζ£€ζ΅‹ζ–‡δ»Άη³»η»ŸοΌŒε―η”¨ε―Ήζœͺ跟θΈͺζ–‡δ»Άηš„ηΌ“ε­˜"
+#: builtin/update-index.c:1134
+msgid "Untracked cache disabled"
+msgstr "ηΌ“ε­˜ζœͺ跟θΈͺ文仢蒫禁用"
+
+#: builtin/update-index.c:1146
+#, c-format
+msgid "Untracked cache enabled for '%s'"
+msgstr "ηΌ“ε­˜ζœͺ跟θΈͺζ–‡δ»Άεœ¨ '%s' 启用"
+
#: builtin/update-ref.c:9
msgid "git update-ref [<options>] -d <refname> [<old-val>]"
msgstr "git update-ref [<选鑹>] -d <引用名> [<ζ—§ε€Ό>]"
@@ -11032,33 +11239,33 @@ msgstr "ζ— ζ³•εˆ ι™€οΌš%s"
msgid "'%s' already exists"
msgstr "'%s' 已经存在"
-#: builtin/worktree.c:235
+#: builtin/worktree.c:233
#, c-format
msgid "could not create directory of '%s'"
msgstr "δΈθƒ½εˆ›ε»Ίη›ε½• '%s'"
-#: builtin/worktree.c:271
+#: builtin/worktree.c:269
#, c-format
msgid "Preparing %s (identifier %s)"
msgstr "准倇 %s οΌˆζ ‡θ―†η¬¦ %sοΌ‰"
-#: builtin/worktree.c:319
+#: builtin/worktree.c:317
msgid "checkout <branch> even if already checked out in other worktree"
msgstr "ζ£€ε‡Ίεˆ†ζ”― <branch> ε³δ½Ώε·²η»θ’«ζ£€ε‡Ίεˆ°ε…Άεƒε·₯作区"
-#: builtin/worktree.c:321
+#: builtin/worktree.c:319
msgid "create a new branch"
msgstr "εˆ›ε»ΊδΈ€δΈͺζ–°εˆ†ζ”―"
-#: builtin/worktree.c:323
+#: builtin/worktree.c:321
msgid "create or reset a branch"
msgstr "εˆ›ε»Ίζˆ–ι‡η½δΈ€δΈͺεˆ†ζ”―"
-#: builtin/worktree.c:324
+#: builtin/worktree.c:322
msgid "detach HEAD at named commit"
msgstr "HEAD δ»ŽζŒ‡εšηš„ζδΊ€εˆ†η¦»"
-#: builtin/worktree.c:331
+#: builtin/worktree.c:329
msgid "-b, -B, and --detach are mutually exclusive"
msgstr "-b、-B ε’Œ --detach ζ˜―δΊ’ζ–₯ηš„"
@@ -11078,7 +11285,7 @@ msgstr "ε°† <前缀> 子η›ε½•ε†…εΉε†™εˆ°δΈ€δΈͺ树对豑"
msgid "only useful for debugging"
msgstr "εͺε―Ήθ°ƒθ―•ζœ‰η”¨"
-#: credential-cache--daemon.c:255
+#: credential-cache--daemon.c:262
msgid "print debugging messages to stderr"
msgstr "θ°ƒθ―•δΏ‘ζ―θΎ“ε‡Ίεˆ°ζ ‡ε‡†ι”™θ――"
@@ -11092,6 +11299,10 @@ msgstr ""
"ζŸ₯ηœ‹ 'git help <命什>' ζˆ– 'git help <概忡>' δ»₯θŽ·ε–η»™εšε­ε‘½δ»€ζˆ–ζ¦‚εΏ΅ηš„\n"
"εΈεŠ©γ€‚"
+#: http.c:321
+msgid "Public key pinning not supported with cURL < 7.44.0"
+msgstr "δΈζ”―ζŒε…¬ι’₯文仢锁εšοΌŒε› δΈΊ cURL < 7.44.0"
+
#: common-cmds.h:9
msgid "start a working area (see also: git help tutorial)"
msgstr "εΌ€ε§‹δΈ€δΈͺε·₯δ½œεŒΊοΌˆε‚θ§οΌšgit help tutorialοΌ‰"
@@ -11173,8 +11384,8 @@ msgid "Update remote refs along with associated objects"
msgstr "ζ›΄ζ–°θΏœη¨‹εΌ•η”¨ε’Œη›Έε…³ηš„ε―Ήθ±‘"
#: common-cmds.h:32
-msgid "Forward-port local commits to the updated upstream head"
-msgstr "ζœ¬εœ°ζδΊ€θ½¬η§»θ‡³ζ›΄ζ–°εŽηš„δΈŠζΈΈεˆ†ζ”―δΈ­"
+msgid "Reapply commits on top of another base tip"
+msgstr "εœ¨ε¦δΈ€δΈͺεˆ†ζ”―δΈŠι‡ζ–°εΊ”η”¨ζδΊ€"
#: common-cmds.h:33
msgid "Reset current HEAD to the specified state"
@@ -11860,7 +12071,7 @@ msgstr "δΈθƒ½εˆ›ε»Ίη©Ίηš„ε­ζ¨‘η»„η›ε½• '$displaypath'"
msgid "Submodule '$name' ($url) unregistered for path '$displaypath'"
msgstr "子樑组 '$name' ($url) ζœͺε―Ήθ·―εΎ„ '$displaypath' ζ³¨ε†Œ"
-#: git-submodule.sh:705
+#: git-submodule.sh:723
#, sh-format
msgid ""
"Submodule path '$displaypath' not initialized\n"
@@ -11869,108 +12080,179 @@ msgstr ""
"子樑组路径 '$displaypath' ζ²‘ζœ‰εˆε§‹εŒ–\n"
"也θΈζ‚¨ζƒ³η”¨ 'update --init'?"
-#: git-submodule.sh:718
+#: git-submodule.sh:736
#, sh-format
msgid "Unable to find current revision in submodule path '$displaypath'"
msgstr "ζ— ζ³•εœ¨ε­ζ¨‘η»„θ·―εΎ„ '$displaypath' δΈ­ζ‰Ύεˆ°ε½“ε‰η‰ˆζœ¬"
-#: git-submodule.sh:727
+#: git-submodule.sh:745
#, sh-format
msgid "Unable to fetch in submodule path '$sm_path'"
msgstr "ζ— ζ³•εœ¨ε­ζ¨‘η»„θ·―εΎ„ '$sm_path' δΈ­θŽ·ε–"
-#: git-submodule.sh:751
+#: git-submodule.sh:768
#, sh-format
msgid "Unable to fetch in submodule path '$displaypath'"
msgstr "ζ— ζ³•εœ¨ε­ζ¨‘η»„θ·―εΎ„ '$displaypath' δΈ­θŽ·ε–"
-#: git-submodule.sh:765
+#: git-submodule.sh:788
#, sh-format
msgid "Unable to checkout '$sha1' in submodule path '$displaypath'"
msgstr "ζ— ζ³•εœ¨ε­ζ¨‘η»„θ·―εΎ„ '$displaypath' δΈ­ζ£€ε‡Ί '$sha1'"
-#: git-submodule.sh:766
+#: git-submodule.sh:789
#, sh-format
msgid "Submodule path '$displaypath': checked out '$sha1'"
msgstr "子樑组路径 '$displaypath'οΌšζ£€ε‡Ί '$sha1'"
-#: git-submodule.sh:770
+#: git-submodule.sh:793
#, sh-format
msgid "Unable to rebase '$sha1' in submodule path '$displaypath'"
msgstr "ζ— ζ³•εœ¨ε­ζ¨‘η»„θ·―εΎ„ '$displaypath' 中变基 '$sha1'"
-#: git-submodule.sh:771
+#: git-submodule.sh:794
#, sh-format
msgid "Submodule path '$displaypath': rebased into '$sha1'"
msgstr "子樑组路径 '$displaypath'οΌšε˜εŸΊθ‡³ '$sha1'"
-#: git-submodule.sh:776
+#: git-submodule.sh:799
#, sh-format
msgid "Unable to merge '$sha1' in submodule path '$displaypath'"
msgstr "ζ— ζ³•εˆεΉΆ '$sha1' εˆ°ε­ζ¨‘η»„θ·―εΎ„ '$displaypath' δΈ­"
-#: git-submodule.sh:777
+#: git-submodule.sh:800
#, sh-format
msgid "Submodule path '$displaypath': merged in '$sha1'"
msgstr "子樑组路径 '$displaypath':已合幢ε…₯ '$sha1'"
-#: git-submodule.sh:782
+#: git-submodule.sh:805
#, sh-format
msgid ""
"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'"
msgstr "εœ¨ε­ζ¨‘η»„θ·―εΎ„ '$prefix$sm_path' δΈ­ζ‰§θ‘Œ '$command $sha1' ε€±θ΄₯"
-#: git-submodule.sh:783
+#: git-submodule.sh:806
#, sh-format
msgid "Submodule path '$prefix$sm_path': '$command $sha1'"
msgstr "子樑组路径 '$prefix$sm_path': '$command $sha1'"
-#: git-submodule.sh:813
+#: git-submodule.sh:836
#, sh-format
msgid "Failed to recurse into submodule path '$displaypath'"
msgstr "无法递归进子樑组路径 '$displaypath'"
-#: git-submodule.sh:921
+#: git-submodule.sh:944
msgid "The --cached option cannot be used with the --files option"
msgstr "选鑹 --cached δΈθƒ½ε’Œι€‰ι‘Ή --files εŒζ—Άδ½Ώη”¨"
-#: git-submodule.sh:973
+#: git-submodule.sh:996
#, sh-format
msgid "unexpected mode $mod_dst"
msgstr "ζ„ε€–ηš„ζ¨‘εΌ $mod_dst"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: git-submodule.sh:993
+#: git-submodule.sh:1016
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_src"
msgstr " θ­¦ε‘ŠοΌš$display_name ζœͺεŒ…ε«ζδΊ€ $sha1_src"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: git-submodule.sh:996
+#: git-submodule.sh:1019
#, sh-format
msgid " Warn: $display_name doesn't contain commit $sha1_dst"
msgstr " θ­¦ε‘ŠοΌš$display_name ζœͺεŒ…ε«ζδΊ€ $sha1_dst"
# θ―‘θ€…οΌšζ³¨ζ„δΏζŒε‰ε―Όη©Ίζ Ό
-#: git-submodule.sh:999
+#: git-submodule.sh:1022
#, sh-format
msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst"
msgstr " θ­¦ε‘ŠοΌš$display_name ζœͺεŒ…ε«ζδΊ€ $sha1_src ε’Œ $sha1_dst"
-#: git-submodule.sh:1024
+#: git-submodule.sh:1047
msgid "blob"
msgstr "ζ•°ζε―Ήθ±‘"
-#: git-submodule.sh:1142
+#: git-submodule.sh:1165
#, sh-format
msgid "Failed to recurse into submodule path '$sm_path'"
msgstr "无法递归进子樑组路径 '$sm_path'"
-#: git-submodule.sh:1206
+#: git-submodule.sh:1229
#, sh-format
msgid "Synchronizing submodule url for '$displaypath'"
msgstr "δΈΊ '$displaypath' 同ζ­₯子樑组 url"
+#~ msgid "Forward-port local commits to the updated upstream head"
+#~ msgstr "ζœ¬εœ°ζδΊ€θ½¬η§»θ‡³ζ›΄ζ–°εŽηš„δΈŠζΈΈεˆ†ζ”―δΈ­"
+
+#~ msgid "unable to parse format"
+#~ msgstr "δΈθƒ½θ§£ζžζ ΌεΌ"
+
+#~ msgid "improper format entered align:%s"
+#~ msgstr "θΎ“ε…₯了不正η‘ηš„ζ ΌεΌ align:%s"
+
+#~ msgid "Could not set core.worktree in %s"
+#~ msgstr "δΈθƒ½εœ¨ %s δΈ­θΎη½ core.worktree"
+
+# θ―‘θ€…οΌšε­—η¬¦δΈ²ι¦–θ‘Œθ‘Œι¦–θ¦ζ·»εŠ β€œwarning: β€ε­—δΈ²οΌŒζ•…ζ­€ι¦–θ‘Œθ¦θΎƒε…Άδ½™θ‘ŒηŸ­
+#~ msgid ""
+#~ "push.default is unset; its implicit value has changed in\n"
+#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n"
+#~ "and maintain the traditional behavior, use:\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "To squelch this message and adopt the new behavior now, use:\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "When push.default is set to 'matching', git will push local branches\n"
+#~ "to the remote branches that already exist with the same name.\n"
+#~ "\n"
+#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n"
+#~ "behavior, which only pushes the current branch to the corresponding\n"
+#~ "remote branch that 'git pull' uses to update the current branch.\n"
+#~ "\n"
+#~ "See 'git help config' and search for 'push.default' for further "
+#~ "information.\n"
+#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n"
+#~ "'current' instead of 'simple' if you sometimes use older versions of Git)"
+#~ msgstr ""
+#~ "push.default 尚ζœͺθΎη½οΌŒεƒηš„ι»˜θ€ε€Όεœ¨ Git 2.0 已从 'matching'\n"
+#~ "ε˜ζ›΄δΈΊ 'simple'。θ‹₯θ¦δΈε†ζ˜Ύη€Ίζœ¬δΏ‘ζ―εΉΆδΏζŒδΌ η»ŸδΉ ζƒ―οΌŒθΏ›θ‘Œε¦‚δΈ‹θΎη½οΌš\n"
+#~ "\n"
+#~ " git config --global push.default matching\n"
+#~ "\n"
+#~ "θ‹₯θ¦δΈε†ζ˜Ύη€Ίζœ¬δΏ‘ζ―εΉΆδ»ŽηŽ°εœ¨εΌ€ε§‹ι‡‡η”¨ζ–°ηš„δ½Ώη”¨δΉ ζƒ―οΌŒθΎη½οΌš\n"
+#~ "\n"
+#~ " git config --global push.default simple\n"
+#~ "\n"
+#~ "当 push.default θΎη½δΈΊ 'matching' 后,git ε°†ζŽ¨ι€ε’ŒθΏœη¨‹εŒεηš„ζ‰€ζœ‰\n"
+#~ "ζœ¬εœ°εˆ†ζ”―γ€‚\n"
+#~ "\n"
+#~ "从 Git 2.0 εΌ€ε§‹οΌŒGit 默θ€ι‡‡η”¨ζ›΄δΈΊδΏεˆηš„ 'simple' 樑式,εͺζŽ¨ι€ε½“ε‰\n"
+#~ "εˆ†ζ”―εˆ°θΏœη¨‹ε…³θ”ηš„εŒεεˆ†ζ”―οΌŒε³ 'git push' ζŽ¨ι€ε½“ε‰εˆ†ζ”―γ€‚\n"
+#~ "\n"
+#~ "参见 'git help config' εΉΆζŸ₯ζ‰Ύ 'push.default' δ»₯θŽ·ε–ζ›΄ε€šδΏ‘ζ―γ€‚\n"
+#~ "('simple' 樑式由 Git 1.7.11 η‰ˆζœ¬εΌ•ε…₯γ€‚ε¦‚ζžœζ‚¨ζœ‰ζ—Άθ¦δ½Ώη”¨θ€η‰ˆζœ¬ηš„ Git,\n"
+#~ "δΈΊδΏζŒε…ΌεΉοΌŒθ―·η”¨ 'current' 代替 'simple'οΌ‰"
+
+#~ msgid "Could not append '%s'"
+#~ msgstr "δΈθƒ½θΏ½εŠ  '%s'"
+
+#~ msgid "Could not set '%s'"
+#~ msgstr "不能θΎη½ '%s'"
+
+# θ―‘θ€…οΌšε―ι€‰ε€ΌοΌŒδΈθƒ½ηΏ»θ―‘
+#~ msgid "check|on-demand|no"
+#~ msgstr "check|on-demand|no"
+
+#~ msgid "Missing author: %s"
+#~ msgstr "ηΌΊε°‘δ½œθ€…οΌš%s"
+
+#~ msgid "Testing "
+#~ msgstr "ζ­£εœ¨ζ΅‹θ―• "
+
#~ msgid "unable to look up current user in the passwd file: %s"
#~ msgstr "ζ— ζ³•εœ¨ε£δ»€ζ–‡δ»ΆδΈ­ζŸ₯θ―’εˆ°ε½“ε‰η”¨ζˆ·οΌš%s"
@@ -12037,9 +12319,6 @@ msgstr "δΈΊ '$displaypath' 同ζ­₯子樑组 url"
#~ msgid "unable to parse value '%s' for option %s"
#~ msgstr "δΈθƒ½θ§£ζžι€‰ι‘Ή %1$s ηš„ε€Ό '%2$s'"
-#~ msgid "unable to resolve HEAD"
-#~ msgstr "δΈθƒ½θ§£ζž HEAD"
-
#~ msgid "-b and -B are mutually exclusive"
#~ msgstr "-b ε’Œ -B δΊ’ζ–₯"
diff --git a/pretty.c b/pretty.c
index 92b2870a7e..87c44971a1 100644
--- a/pretty.c
+++ b/pretty.c
@@ -16,6 +16,7 @@ static struct cmt_fmt_map {
const char *name;
enum cmit_fmt format;
int is_tformat;
+ int expand_tabs_in_log;
int is_alias;
const char *user_format;
} *commit_formats;
@@ -87,13 +88,13 @@ static int git_pretty_formats_config(const char *var, const char *value, void *c
static void setup_commit_formats(void)
{
struct cmt_fmt_map builtin_formats[] = {
- { "raw", CMIT_FMT_RAW, 0 },
- { "medium", CMIT_FMT_MEDIUM, 0 },
- { "short", CMIT_FMT_SHORT, 0 },
- { "email", CMIT_FMT_EMAIL, 0 },
- { "fuller", CMIT_FMT_FULLER, 0 },
- { "full", CMIT_FMT_FULL, 0 },
- { "oneline", CMIT_FMT_ONELINE, 1 }
+ { "raw", CMIT_FMT_RAW, 0, 0 },
+ { "medium", CMIT_FMT_MEDIUM, 0, 8 },
+ { "short", CMIT_FMT_SHORT, 0, 0 },
+ { "email", CMIT_FMT_EMAIL, 0, 0 },
+ { "fuller", CMIT_FMT_FULLER, 0, 8 },
+ { "full", CMIT_FMT_FULL, 0, 8 },
+ { "oneline", CMIT_FMT_ONELINE, 1, 0 }
};
commit_formats_len = ARRAY_SIZE(builtin_formats);
builtin_formats_len = commit_formats_len;
@@ -172,6 +173,7 @@ void get_commit_format(const char *arg, struct rev_info *rev)
rev->commit_format = commit_format->format;
rev->use_terminator = commit_format->is_tformat;
+ rev->expand_tabs_in_log_default = commit_format->expand_tabs_in_log;
if (commit_format->format == CMIT_FMT_USERFORMAT) {
save_user_format(rev, commit_format->user_format,
commit_format->is_tformat);
@@ -1629,6 +1631,72 @@ void pp_title_line(struct pretty_print_context *pp,
strbuf_release(&title);
}
+static int pp_utf8_width(const char *start, const char *end)
+{
+ int width = 0;
+ size_t remain = end - start;
+
+ while (remain) {
+ int n = utf8_width(&start, &remain);
+ if (n < 0 || !start)
+ return -1;
+ width += n;
+ }
+ return width;
+}
+
+static void strbuf_add_tabexpand(struct strbuf *sb, int tabwidth,
+ const char *line, int linelen)
+{
+ const char *tab;
+
+ while ((tab = memchr(line, '\t', linelen)) != NULL) {
+ int width = pp_utf8_width(line, tab);
+
+ /*
+ * If it wasn't well-formed utf8, or it
+ * had characters with badly defined
+ * width (control characters etc), just
+ * give up on trying to align things.
+ */
+ if (width < 0)
+ break;
+
+ /* Output the data .. */
+ strbuf_add(sb, line, tab - line);
+
+ /* .. and the de-tabified tab */
+ strbuf_addchars(sb, ' ', tabwidth - (width % tabwidth));
+
+ /* Skip over the printed part .. */
+ linelen -= tab + 1 - line;
+ line = tab + 1;
+ }
+
+ /*
+ * Print out everything after the last tab without
+ * worrying about width - there's nothing more to
+ * align.
+ */
+ strbuf_add(sb, line, linelen);
+}
+
+/*
+ * pp_handle_indent() prints out the intendation, and
+ * the whole line (without the final newline), after
+ * de-tabifying.
+ */
+static void pp_handle_indent(struct pretty_print_context *pp,
+ struct strbuf *sb, int indent,
+ const char *line, int linelen)
+{
+ strbuf_addchars(sb, ' ', indent);
+ if (pp->expand_tabs_in_log)
+ strbuf_add_tabexpand(sb, pp->expand_tabs_in_log, line, linelen);
+ else
+ strbuf_add(sb, line, linelen);
+}
+
void pp_remainder(struct pretty_print_context *pp,
const char **msg_p,
struct strbuf *sb,
@@ -1653,8 +1721,12 @@ void pp_remainder(struct pretty_print_context *pp,
strbuf_grow(sb, linelen + indent + 20);
if (indent)
- strbuf_addchars(sb, ' ', indent);
- strbuf_add(sb, line, linelen);
+ pp_handle_indent(pp, sb, indent, line, linelen);
+ else if (pp->expand_tabs_in_log)
+ strbuf_add_tabexpand(sb, pp->expand_tabs_in_log,
+ line, linelen);
+ else
+ strbuf_add(sb, line, linelen);
strbuf_addch(sb, '\n');
}
}
diff --git a/progress.c b/progress.c
index 353bd37416..76a88c573f 100644
--- a/progress.c
+++ b/progress.c
@@ -247,7 +247,7 @@ void stop_progress_msg(struct progress **p_progress, const char *msg)
size_t len = strlen(msg) + 5;
struct throughput *tp = progress->throughput;
- bufp = (len < sizeof(buf)) ? buf : xmalloc(len + 1);
+ bufp = (len < sizeof(buf)) ? buf : xmallocz(len);
if (tp) {
unsigned int rate = !tp->avg_misecs ? 0 :
tp->avg_bytes / tp->avg_misecs;
diff --git a/ref-filter.c b/ref-filter.c
index f097176ed9..bc551a752c 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -16,14 +16,162 @@
typedef enum { FIELD_STR, FIELD_ULONG, FIELD_TIME } cmp_type;
+struct align {
+ align_type position;
+ unsigned int width;
+};
+
+/*
+ * An atom is a valid field atom listed below, possibly prefixed with
+ * a "*" to denote deref_tag().
+ *
+ * We parse given format string and sort specifiers, and make a list
+ * of properties that we need to extract out of objects. ref_array_item
+ * structure will hold an array of values extracted that can be
+ * indexed with the "atom number", which is an index into this
+ * array.
+ */
+static struct used_atom {
+ const char *name;
+ cmp_type type;
+ union {
+ char color[COLOR_MAXLEN];
+ struct align align;
+ enum { RR_NORMAL, RR_SHORTEN, RR_TRACK, RR_TRACKSHORT }
+ remote_ref;
+ struct {
+ enum { C_BARE, C_BODY, C_BODY_DEP, C_LINES, C_SIG, C_SUB } option;
+ unsigned int nlines;
+ } contents;
+ enum { O_FULL, O_SHORT } objectname;
+ } u;
+} *used_atom;
+static int used_atom_cnt, need_tagged, need_symref;
+static int need_color_reset_at_eol;
+
+static void color_atom_parser(struct used_atom *atom, const char *color_value)
+{
+ if (!color_value)
+ die(_("expected format: %%(color:<color>)"));
+ if (color_parse(color_value, atom->u.color) < 0)
+ die(_("unrecognized color: %%(color:%s)"), color_value);
+}
+
+static void remote_ref_atom_parser(struct used_atom *atom, const char *arg)
+{
+ if (!arg)
+ atom->u.remote_ref = RR_NORMAL;
+ else if (!strcmp(arg, "short"))
+ atom->u.remote_ref = RR_SHORTEN;
+ else if (!strcmp(arg, "track"))
+ atom->u.remote_ref = RR_TRACK;
+ else if (!strcmp(arg, "trackshort"))
+ atom->u.remote_ref = RR_TRACKSHORT;
+ else
+ die(_("unrecognized format: %%(%s)"), atom->name);
+}
+
+static void body_atom_parser(struct used_atom *atom, const char *arg)
+{
+ if (arg)
+ die(_("%%(body) does not take arguments"));
+ atom->u.contents.option = C_BODY_DEP;
+}
+
+static void subject_atom_parser(struct used_atom *atom, const char *arg)
+{
+ if (arg)
+ die(_("%%(subject) does not take arguments"));
+ atom->u.contents.option = C_SUB;
+}
+
+static void contents_atom_parser(struct used_atom *atom, const char *arg)
+{
+ if (!arg)
+ atom->u.contents.option = C_BARE;
+ else if (!strcmp(arg, "body"))
+ atom->u.contents.option = C_BODY;
+ else if (!strcmp(arg, "signature"))
+ atom->u.contents.option = C_SIG;
+ else if (!strcmp(arg, "subject"))
+ atom->u.contents.option = C_SUB;
+ else if (skip_prefix(arg, "lines=", &arg)) {
+ atom->u.contents.option = C_LINES;
+ if (strtoul_ui(arg, 10, &atom->u.contents.nlines))
+ die(_("positive value expected contents:lines=%s"), arg);
+ } else
+ die(_("unrecognized %%(contents) argument: %s"), arg);
+}
+
+static void objectname_atom_parser(struct used_atom *atom, const char *arg)
+{
+ if (!arg)
+ atom->u.objectname = O_FULL;
+ else if (!strcmp(arg, "short"))
+ atom->u.objectname = O_SHORT;
+ else
+ die(_("unrecognized %%(objectname) argument: %s"), arg);
+}
+
+static align_type parse_align_position(const char *s)
+{
+ if (!strcmp(s, "right"))
+ return ALIGN_RIGHT;
+ else if (!strcmp(s, "middle"))
+ return ALIGN_MIDDLE;
+ else if (!strcmp(s, "left"))
+ return ALIGN_LEFT;
+ return -1;
+}
+
+static void align_atom_parser(struct used_atom *atom, const char *arg)
+{
+ struct align *align = &atom->u.align;
+ struct string_list params = STRING_LIST_INIT_DUP;
+ int i;
+ unsigned int width = ~0U;
+
+ if (!arg)
+ die(_("expected format: %%(align:<width>,<position>)"));
+
+ align->position = ALIGN_LEFT;
+
+ string_list_split(&params, arg, ',', -1);
+ for (i = 0; i < params.nr; i++) {
+ const char *s = params.items[i].string;
+ int position;
+
+ if (skip_prefix(s, "position=", &s)) {
+ position = parse_align_position(s);
+ if (position < 0)
+ die(_("unrecognized position:%s"), s);
+ align->position = position;
+ } else if (skip_prefix(s, "width=", &s)) {
+ if (strtoul_ui(s, 10, &width))
+ die(_("unrecognized width:%s"), s);
+ } else if (!strtoul_ui(s, 10, &width))
+ ;
+ else if ((position = parse_align_position(s)) >= 0)
+ align->position = position;
+ else
+ die(_("unrecognized %%(align) argument: %s"), s);
+ }
+
+ if (width == ~0U)
+ die(_("positive width expected with the %%(align) atom"));
+ align->width = width;
+ string_list_clear(&params, 0);
+}
+
static struct {
const char *name;
cmp_type cmp_type;
+ void (*parser)(struct used_atom *atom, const char *arg);
} valid_atom[] = {
{ "refname" },
{ "objecttype" },
{ "objectsize", FIELD_ULONG },
- { "objectname" },
+ { "objectname", FIELD_STR, objectname_atom_parser },
{ "tree" },
{ "parent" },
{ "numparent", FIELD_ULONG },
@@ -44,31 +192,21 @@ static struct {
{ "taggerdate", FIELD_TIME },
{ "creator" },
{ "creatordate", FIELD_TIME },
- { "subject" },
- { "body" },
- { "contents" },
- { "upstream" },
- { "push" },
+ { "subject", FIELD_STR, subject_atom_parser },
+ { "body", FIELD_STR, body_atom_parser },
+ { "contents", FIELD_STR, contents_atom_parser },
+ { "upstream", FIELD_STR, remote_ref_atom_parser },
+ { "push", FIELD_STR, remote_ref_atom_parser },
{ "symref" },
{ "flag" },
{ "HEAD" },
- { "color" },
- { "align" },
+ { "color", FIELD_STR, color_atom_parser },
+ { "align", FIELD_STR, align_atom_parser },
{ "end" },
};
#define REF_FORMATTING_STATE_INIT { 0, NULL }
-struct align {
- align_type position;
- unsigned int width;
-};
-
-struct contents {
- unsigned int lines;
- struct object_id oid;
-};
-
struct ref_formatting_stack {
struct ref_formatting_stack *prev;
struct strbuf output;
@@ -85,77 +223,66 @@ struct atom_value {
const char *s;
union {
struct align align;
- struct contents contents;
} u;
void (*handler)(struct atom_value *atomv, struct ref_formatting_state *state);
unsigned long ul; /* used for sorting when not FIELD_STR */
};
/*
- * An atom is a valid field atom listed above, possibly prefixed with
- * a "*" to denote deref_tag().
- *
- * We parse given format string and sort specifiers, and make a list
- * of properties that we need to extract out of objects. ref_array_item
- * structure will hold an array of values extracted that can be
- * indexed with the "atom number", which is an index into this
- * array.
- */
-static const char **used_atom;
-static cmp_type *used_atom_type;
-static int used_atom_cnt, need_tagged, need_symref;
-static int need_color_reset_at_eol;
-
-/*
* Used to parse format string and sort specifiers
*/
int parse_ref_filter_atom(const char *atom, const char *ep)
{
const char *sp;
+ const char *arg;
int i, at;
sp = atom;
if (*sp == '*' && sp < ep)
sp++; /* deref */
if (ep <= sp)
- die("malformed field name: %.*s", (int)(ep-atom), atom);
+ die(_("malformed field name: %.*s"), (int)(ep-atom), atom);
/* Do we have the atom already used elsewhere? */
for (i = 0; i < used_atom_cnt; i++) {
- int len = strlen(used_atom[i]);
- if (len == ep - atom && !memcmp(used_atom[i], atom, len))
+ int len = strlen(used_atom[i].name);
+ if (len == ep - atom && !memcmp(used_atom[i].name, atom, len))
return i;
}
/* Is the atom a valid one? */
for (i = 0; i < ARRAY_SIZE(valid_atom); i++) {
int len = strlen(valid_atom[i].name);
+
/*
* If the atom name has a colon, strip it and everything after
* it off - it specifies the format for this entry, and
* shouldn't be used for checking against the valid_atom
* table.
*/
- const char *formatp = strchr(sp, ':');
- if (!formatp || ep < formatp)
- formatp = ep;
- if (len == formatp - sp && !memcmp(valid_atom[i].name, sp, len))
+ arg = memchr(sp, ':', ep - sp);
+ if (len == (arg ? arg : ep) - sp &&
+ !memcmp(valid_atom[i].name, sp, len))
break;
}
if (ARRAY_SIZE(valid_atom) <= i)
- die("unknown field name: %.*s", (int)(ep-atom), atom);
+ die(_("unknown field name: %.*s"), (int)(ep-atom), atom);
/* Add it in, including the deref prefix */
at = used_atom_cnt;
used_atom_cnt++;
REALLOC_ARRAY(used_atom, used_atom_cnt);
- REALLOC_ARRAY(used_atom_type, used_atom_cnt);
- used_atom[at] = xmemdupz(atom, ep - atom);
- used_atom_type[at] = valid_atom[i].cmp_type;
+ used_atom[at].name = xmemdupz(atom, ep - atom);
+ used_atom[at].type = valid_atom[i].cmp_type;
+ if (arg)
+ arg = used_atom[at].name + (arg - atom) + 1;
+ memset(&used_atom[at].u, 0, sizeof(used_atom[at].u));
+ if (valid_atom[i].parser)
+ valid_atom[i].parser(&used_atom[at], arg);
if (*atom == '*')
need_tagged = 1;
- if (!strcmp(used_atom[at], "symref"))
+ if (!strcmp(used_atom[at].name, "symref"))
need_symref = 1;
return at;
}
@@ -258,22 +385,6 @@ static void end_atom_handler(struct atom_value *atomv, struct ref_formatting_sta
pop_stack_element(&state->stack);
}
-static int match_atom_name(const char *name, const char *atom_name, const char **val)
-{
- const char *body;
-
- if (!skip_prefix(name, atom_name, &body))
- return 0; /* doesn't even begin with "atom_name" */
- if (!body[0]) {
- *val = NULL; /* %(atom_name) and no customization */
- return 1;
- }
- if (body[0] != ':')
- return 0; /* "atom_namefoo" is not "atom_name" or "atom_name:..." */
- *val = body + 1; /* "atom_name:val" */
- return 1;
-}
-
/*
* In a format string, find the next occurrence of %(atom).
*/
@@ -310,12 +421,12 @@ int verify_ref_format(const char *format)
int at;
if (!ep)
- return error("malformed format string %s", sp);
+ return error(_("malformed format string %s"), sp);
/* sp points at "%(" and ep points at the closing ")" */
at = parse_ref_filter_atom(sp + 2, ep);
cp = ep + 1;
- if (skip_prefix(used_atom[at], "color:", &color))
+ if (skip_prefix(used_atom[at].name, "color:", &color))
need_color_reset_at_eol = !!strcmp(color, "reset");
}
return 0;
@@ -340,15 +451,17 @@ static void *get_obj(const unsigned char *sha1, struct object **obj, unsigned lo
}
static int grab_objectname(const char *name, const unsigned char *sha1,
- struct atom_value *v)
+ struct atom_value *v, struct used_atom *atom)
{
- if (!strcmp(name, "objectname")) {
- v->s = xstrdup(sha1_to_hex(sha1));
- return 1;
- }
- if (!strcmp(name, "objectname:short")) {
- v->s = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
- return 1;
+ if (starts_with(name, "objectname")) {
+ if (atom->u.objectname == O_SHORT) {
+ v->s = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
+ return 1;
+ } else if (atom->u.objectname == O_FULL) {
+ v->s = xstrdup(sha1_to_hex(sha1));
+ return 1;
+ } else
+ die("BUG: unknown %%(objectname) option");
}
return 0;
}
@@ -359,7 +472,7 @@ static void grab_common_values(struct atom_value *val, int deref, struct object
int i;
for (i = 0; i < used_atom_cnt; i++) {
- const char *name = used_atom[i];
+ const char *name = used_atom[i].name;
struct atom_value *v = &val[i];
if (!!deref != (*name == '*'))
continue;
@@ -372,7 +485,7 @@ static void grab_common_values(struct atom_value *val, int deref, struct object
v->s = xstrfmt("%lu", sz);
}
else if (deref)
- grab_objectname(name, obj->oid.hash, v);
+ grab_objectname(name, obj->oid.hash, v, &used_atom[i]);
}
}
@@ -383,7 +496,7 @@ static void grab_tag_values(struct atom_value *val, int deref, struct object *ob
struct tag *tag = (struct tag *) obj;
for (i = 0; i < used_atom_cnt; i++) {
- const char *name = used_atom[i];
+ const char *name = used_atom[i].name;
struct atom_value *v = &val[i];
if (!!deref != (*name == '*'))
continue;
@@ -405,7 +518,7 @@ static void grab_commit_values(struct atom_value *val, int deref, struct object
struct commit *commit = (struct commit *) obj;
for (i = 0; i < used_atom_cnt; i++) {
- const char *name = used_atom[i];
+ const char *name = used_atom[i].name;
struct atom_value *v = &val[i];
if (!!deref != (*name == '*'))
continue;
@@ -535,7 +648,7 @@ static void grab_person(const char *who, struct atom_value *val, int deref, stru
const char *wholine = NULL;
for (i = 0; i < used_atom_cnt; i++) {
- const char *name = used_atom[i];
+ const char *name = used_atom[i].name;
struct atom_value *v = &val[i];
if (!!deref != (*name == '*'))
continue;
@@ -573,7 +686,7 @@ static void grab_person(const char *who, struct atom_value *val, int deref, stru
if (!wholine)
return;
for (i = 0; i < used_atom_cnt; i++) {
- const char *name = used_atom[i];
+ const char *name = used_atom[i].name;
struct atom_value *v = &val[i];
if (!!deref != (*name == '*'))
continue;
@@ -663,20 +776,16 @@ static void grab_sub_body_contents(struct atom_value *val, int deref, struct obj
unsigned long sublen = 0, bodylen = 0, nonsiglen = 0, siglen = 0;
for (i = 0; i < used_atom_cnt; i++) {
- const char *name = used_atom[i];
+ struct used_atom *atom = &used_atom[i];
+ const char *name = atom->name;
struct atom_value *v = &val[i];
- const char *valp = NULL;
if (!!deref != (*name == '*'))
continue;
if (deref)
name++;
if (strcmp(name, "subject") &&
strcmp(name, "body") &&
- strcmp(name, "contents") &&
- strcmp(name, "contents:subject") &&
- strcmp(name, "contents:body") &&
- strcmp(name, "contents:signature") &&
- !starts_with(name, "contents:lines="))
+ !starts_with(name, "contents"))
continue;
if (!subpos)
find_subpos(buf, sz,
@@ -684,28 +793,23 @@ static void grab_sub_body_contents(struct atom_value *val, int deref, struct obj
&bodypos, &bodylen, &nonsiglen,
&sigpos, &siglen);
- if (!strcmp(name, "subject"))
- v->s = copy_subject(subpos, sublen);
- else if (!strcmp(name, "contents:subject"))
+ if (atom->u.contents.option == C_SUB)
v->s = copy_subject(subpos, sublen);
- else if (!strcmp(name, "body"))
+ else if (atom->u.contents.option == C_BODY_DEP)
v->s = xmemdupz(bodypos, bodylen);
- else if (!strcmp(name, "contents:body"))
+ else if (atom->u.contents.option == C_BODY)
v->s = xmemdupz(bodypos, nonsiglen);
- else if (!strcmp(name, "contents:signature"))
+ else if (atom->u.contents.option == C_SIG)
v->s = xmemdupz(sigpos, siglen);
- else if (!strcmp(name, "contents"))
- v->s = xstrdup(subpos);
- else if (skip_prefix(name, "contents:lines=", &valp)) {
+ else if (atom->u.contents.option == C_LINES) {
struct strbuf s = STRBUF_INIT;
const char *contents_end = bodylen + bodypos - siglen;
- if (strtoul_ui(valp, 10, &v->u.contents.lines))
- die(_("positive value expected contents:lines=%s"), valp);
/* Size is the length of the message after removing the signature */
- append_lines(&s, subpos, contents_end - subpos, v->u.contents.lines);
+ append_lines(&s, subpos, contents_end - subpos, atom->u.contents.nlines);
v->s = strbuf_detach(&s, NULL);
- }
+ } else if (atom->u.contents.option == C_BARE)
+ v->s = xstrdup(subpos);
}
}
@@ -771,12 +875,12 @@ static const char *strip_ref_components(const char *refname, const char *nr_arg)
const char *start = refname;
if (nr < 1 || *end != '\0')
- die(":strip= requires a positive integer argument");
+ die(_(":strip= requires a positive integer argument"));
while (remaining) {
switch (*start++) {
case '\0':
- die("ref '%s' does not have %ld components to :strip",
+ die(_("ref '%s' does not have %ld components to :strip"),
refname, nr);
case '/':
remaining--;
@@ -786,6 +890,43 @@ static const char *strip_ref_components(const char *refname, const char *nr_arg)
return start;
}
+static void fill_remote_ref_details(struct used_atom *atom, const char *refname,
+ struct branch *branch, const char **s)
+{
+ int num_ours, num_theirs;
+ if (atom->u.remote_ref == RR_SHORTEN)
+ *s = shorten_unambiguous_ref(refname, warn_ambiguous_refs);
+ else if (atom->u.remote_ref == RR_TRACK) {
+ if (stat_tracking_info(branch, &num_ours,
+ &num_theirs, NULL))
+ return;
+
+ if (!num_ours && !num_theirs)
+ *s = "";
+ else if (!num_ours)
+ *s = xstrfmt("[behind %d]", num_theirs);
+ else if (!num_theirs)
+ *s = xstrfmt("[ahead %d]", num_ours);
+ else
+ *s = xstrfmt("[ahead %d, behind %d]",
+ num_ours, num_theirs);
+ } else if (atom->u.remote_ref == RR_TRACKSHORT) {
+ if (stat_tracking_info(branch, &num_ours,
+ &num_theirs, NULL))
+ return;
+
+ if (!num_ours && !num_theirs)
+ *s = "=";
+ else if (!num_ours)
+ *s = "<";
+ else if (!num_theirs)
+ *s = ">";
+ else
+ *s = "<>";
+ } else /* RR_NORMAL */
+ *s = refname;
+}
+
/*
* Parse the object referred by ref, and grab needed value.
*/
@@ -809,12 +950,12 @@ static void populate_value(struct ref_array_item *ref)
/* Fill in specials first */
for (i = 0; i < used_atom_cnt; i++) {
- const char *name = used_atom[i];
+ struct used_atom *atom = &used_atom[i];
+ const char *name = used_atom[i].name;
struct atom_value *v = &ref->value[i];
int deref = 0;
const char *refname;
const char *formatp;
- const char *valp;
struct branch *branch = NULL;
v->handler = append_atom;
@@ -837,8 +978,9 @@ static void populate_value(struct ref_array_item *ref)
branch = branch_get(branch_name);
refname = branch_get_upstream(branch, NULL);
- if (!refname)
- continue;
+ if (refname)
+ fill_remote_ref_details(atom, refname, branch, &v->s);
+ continue;
} else if (starts_with(name, "push")) {
const char *branch_name;
if (!skip_prefix(ref->refname, "refs/heads/",
@@ -849,14 +991,10 @@ static void populate_value(struct ref_array_item *ref)
refname = branch_get_push(branch, NULL);
if (!refname)
continue;
- } else if (match_atom_name(name, "color", &valp)) {
- char color[COLOR_MAXLEN] = "";
-
- if (!valp)
- die(_("expected format: %%(color:<color>)"));
- if (color_parse(valp, color) < 0)
- die(_("unable to parse format"));
- v->s = xstrdup(color);
+ fill_remote_ref_details(atom, refname, branch, &v->s);
+ continue;
+ } else if (starts_with(name, "color:")) {
+ v->s = atom->u.color;
continue;
} else if (!strcmp(name, "flag")) {
char buf[256], *cp = buf;
@@ -871,7 +1009,7 @@ static void populate_value(struct ref_array_item *ref)
v->s = xstrdup(buf + 1);
}
continue;
- } else if (!deref && grab_objectname(name, ref->objectname, v)) {
+ } else if (!deref && grab_objectname(name, ref->objectname, v, atom)) {
continue;
} else if (!strcmp(name, "HEAD")) {
const char *head;
@@ -884,43 +1022,8 @@ static void populate_value(struct ref_array_item *ref)
else
v->s = " ";
continue;
- } else if (match_atom_name(name, "align", &valp)) {
- struct align *align = &v->u.align;
- struct strbuf **s, **to_free;
- int width = -1;
-
- if (!valp)
- die(_("expected format: %%(align:<width>,<position>)"));
-
- /*
- * TODO: Implement a function similar to strbuf_split_str()
- * which would omit the separator from the end of each value.
- */
- s = to_free = strbuf_split_str(valp, ',', 0);
-
- align->position = ALIGN_LEFT;
-
- while (*s) {
- /* Strip trailing comma */
- if (s[1])
- strbuf_setlen(s[0], s[0]->len - 1);
- if (!strtoul_ui(s[0]->buf, 10, (unsigned int *)&width))
- ;
- else if (!strcmp(s[0]->buf, "left"))
- align->position = ALIGN_LEFT;
- else if (!strcmp(s[0]->buf, "right"))
- align->position = ALIGN_RIGHT;
- else if (!strcmp(s[0]->buf, "middle"))
- align->position = ALIGN_MIDDLE;
- else
- die(_("improper format entered align:%s"), s[0]->buf);
- s++;
- }
-
- if (width < 0)
- die(_("positive width expected with the %%(align) atom"));
- align->width = width;
- strbuf_list_free(to_free);
+ } else if (starts_with(name, "align")) {
+ v->u.align = atom->u.align;
v->handler = align_atom_handler;
continue;
} else if (!strcmp(name, "end")) {
@@ -931,7 +1034,6 @@ static void populate_value(struct ref_array_item *ref)
formatp = strchr(name, ':');
if (formatp) {
- int num_ours, num_theirs;
const char *arg;
formatp++;
@@ -940,44 +1042,8 @@ static void populate_value(struct ref_array_item *ref)
warn_ambiguous_refs);
else if (skip_prefix(formatp, "strip=", &arg))
refname = strip_ref_components(refname, arg);
- else if (!strcmp(formatp, "track") &&
- (starts_with(name, "upstream") ||
- starts_with(name, "push"))) {
-
- if (stat_tracking_info(branch, &num_ours,
- &num_theirs, NULL))
- continue;
-
- if (!num_ours && !num_theirs)
- v->s = "";
- else if (!num_ours)
- v->s = xstrfmt("[behind %d]", num_theirs);
- else if (!num_theirs)
- v->s = xstrfmt("[ahead %d]", num_ours);
- else
- v->s = xstrfmt("[ahead %d, behind %d]",
- num_ours, num_theirs);
- continue;
- } else if (!strcmp(formatp, "trackshort") &&
- (starts_with(name, "upstream") ||
- starts_with(name, "push"))) {
- assert(branch);
-
- if (stat_tracking_info(branch, &num_ours,
- &num_theirs, NULL))
- continue;
-
- if (!num_ours && !num_theirs)
- v->s = "=";
- else if (!num_ours)
- v->s = "<";
- else if (!num_theirs)
- v->s = ">";
- else
- v->s = "<>";
- continue;
- } else
- die("unknown %.*s format %s",
+ else
+ die(_("unknown %.*s format %s"),
(int)(formatp - name), name, formatp);
}
@@ -997,10 +1063,10 @@ static void populate_value(struct ref_array_item *ref)
need_obj:
buf = get_obj(ref->objectname, &obj, &size, &eaten);
if (!buf)
- die("missing object %s for %s",
+ die(_("missing object %s for %s"),
sha1_to_hex(ref->objectname), ref->refname);
if (!obj)
- die("parse_object_buffer failed on %s for %s",
+ die(_("parse_object_buffer failed on %s for %s"),
sha1_to_hex(ref->objectname), ref->refname);
grab_values(ref->value, 0, obj, buf, size);
@@ -1028,10 +1094,10 @@ static void populate_value(struct ref_array_item *ref)
*/
buf = get_obj(tagged, &obj, &size, &eaten);
if (!buf)
- die("missing object %s for %s",
+ die(_("missing object %s for %s"),
sha1_to_hex(tagged), ref->refname);
if (!obj)
- die("parse_object_buffer failed on %s for %s",
+ die(_("parse_object_buffer failed on %s for %s"),
sha1_to_hex(tagged), ref->refname);
grab_values(ref->value, 1, obj, buf, size);
if (!eaten)
@@ -1255,10 +1321,8 @@ static struct ref_array_item *new_ref_array_item(const char *refname,
const unsigned char *objectname,
int flag)
{
- size_t len = strlen(refname);
- struct ref_array_item *ref = xcalloc(1, sizeof(struct ref_array_item) + len + 1);
- memcpy(ref->refname, refname, len);
- ref->refname[len] = '\0';
+ struct ref_array_item *ref;
+ FLEX_ALLOC_STR(ref, refname, refname);
hashcpy(ref->objectname, objectname);
ref->flag = flag;
@@ -1306,12 +1370,12 @@ static int ref_filter_handler(const char *refname, const struct object_id *oid,
unsigned int kind;
if (flag & REF_BAD_NAME) {
- warning("ignoring ref with broken name %s", refname);
+ warning(_("ignoring ref with broken name %s"), refname);
return 0;
}
if (flag & REF_ISBROKEN) {
- warning("ignoring broken ref %s", refname);
+ warning(_("ignoring broken ref %s"), refname);
return 0;
}
@@ -1471,7 +1535,7 @@ static int cmp_ref_sorting(struct ref_sorting *s, struct ref_array_item *a, stru
{
struct atom_value *va, *vb;
int cmp;
- cmp_type cmp_type = used_atom_type[s->atom];
+ cmp_type cmp_type = used_atom[s->atom].type;
get_ref_atom_value(a, s->atom, &va);
get_ref_atom_value(b, s->atom, &vb);
diff --git a/refs.c b/refs.c
index e2d34b253e..87dc82f1d8 100644
--- a/refs.c
+++ b/refs.c
@@ -124,7 +124,7 @@ int refname_is_safe(const char *refname)
char *buf;
int result;
- buf = xmalloc(strlen(refname) + 1);
+ buf = xmallocz(strlen(refname));
/*
* Does the refname try to escape refs/?
* For example: refs/foo/../bar is safe but refs/foo/../../bar
@@ -761,10 +761,8 @@ void ref_transaction_free(struct ref_transaction *transaction)
static struct ref_update *add_update(struct ref_transaction *transaction,
const char *refname)
{
- size_t len = strlen(refname) + 1;
- struct ref_update *update = xcalloc(1, sizeof(*update) + len);
-
- memcpy((char *)update->refname, refname, len); /* includes NUL */
+ struct ref_update *update;
+ FLEX_ALLOC_STR(update, refname, refname);
ALLOC_GROW(transaction->updates, transaction->nr + 1, transaction->alloc);
transaction->updates[transaction->nr++] = update;
return update;
@@ -908,7 +906,7 @@ char *shorten_unambiguous_ref(const char *refname, int strict)
/* -2 for strlen("%.*s") - strlen("%s"); +1 for NUL */
total_len += strlen(ref_rev_parse_rules[nr_rules]) - 2 + 1;
- scanf_fmts = xmalloc(nr_rules * sizeof(char *) + total_len);
+ scanf_fmts = xmalloc(st_add(st_mult(nr_rules, sizeof(char *)), total_len));
offset = 0;
for (i = 0; i < nr_rules; i++) {
@@ -1082,3 +1080,152 @@ int rename_ref_available(const char *oldname, const char *newname)
strbuf_release(&err);
return ret;
}
+
+int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
+{
+ struct object_id oid;
+ int flag;
+
+ if (submodule) {
+ if (resolve_gitlink_ref(submodule, "HEAD", oid.hash) == 0)
+ return fn("HEAD", &oid, 0, cb_data);
+
+ return 0;
+ }
+
+ if (!read_ref_full("HEAD", RESOLVE_REF_READING, oid.hash, &flag))
+ return fn("HEAD", &oid, flag, cb_data);
+
+ return 0;
+}
+
+int head_ref(each_ref_fn fn, void *cb_data)
+{
+ return head_ref_submodule(NULL, fn, cb_data);
+}
+
+int for_each_ref(each_ref_fn fn, void *cb_data)
+{
+ return do_for_each_ref(NULL, "", fn, 0, 0, cb_data);
+}
+
+int for_each_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
+{
+ return do_for_each_ref(submodule, "", fn, 0, 0, cb_data);
+}
+
+int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data)
+{
+ return do_for_each_ref(NULL, prefix, fn, strlen(prefix), 0, cb_data);
+}
+
+int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, unsigned int broken)
+{
+ unsigned int flag = 0;
+
+ if (broken)
+ flag = DO_FOR_EACH_INCLUDE_BROKEN;
+ return do_for_each_ref(NULL, prefix, fn, 0, flag, cb_data);
+}
+
+int for_each_ref_in_submodule(const char *submodule, const char *prefix,
+ each_ref_fn fn, void *cb_data)
+{
+ return do_for_each_ref(submodule, prefix, fn, strlen(prefix), 0, cb_data);
+}
+
+int for_each_replace_ref(each_ref_fn fn, void *cb_data)
+{
+ return do_for_each_ref(NULL, git_replace_ref_base, fn,
+ strlen(git_replace_ref_base), 0, cb_data);
+}
+
+int for_each_namespaced_ref(each_ref_fn fn, void *cb_data)
+{
+ struct strbuf buf = STRBUF_INIT;
+ int ret;
+ strbuf_addf(&buf, "%srefs/", get_git_namespace());
+ ret = do_for_each_ref(NULL, buf.buf, fn, 0, 0, cb_data);
+ strbuf_release(&buf);
+ return ret;
+}
+
+int for_each_rawref(each_ref_fn fn, void *cb_data)
+{
+ return do_for_each_ref(NULL, "", fn, 0,
+ DO_FOR_EACH_INCLUDE_BROKEN, cb_data);
+}
+
+/* This function needs to return a meaningful errno on failure */
+const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
+ unsigned char *sha1, int *flags)
+{
+ static struct strbuf sb_refname = STRBUF_INIT;
+ int unused_flags;
+ int symref_count;
+
+ if (!flags)
+ flags = &unused_flags;
+
+ *flags = 0;
+
+ if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) {
+ if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) ||
+ !refname_is_safe(refname)) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ /*
+ * dwim_ref() uses REF_ISBROKEN to distinguish between
+ * missing refs and refs that were present but invalid,
+ * to complain about the latter to stderr.
+ *
+ * We don't know whether the ref exists, so don't set
+ * REF_ISBROKEN yet.
+ */
+ *flags |= REF_BAD_NAME;
+ }
+
+ for (symref_count = 0; symref_count < SYMREF_MAXDEPTH; symref_count++) {
+ unsigned int read_flags = 0;
+
+ if (read_raw_ref(refname, sha1, &sb_refname, &read_flags)) {
+ *flags |= read_flags;
+ if (errno != ENOENT || (resolve_flags & RESOLVE_REF_READING))
+ return NULL;
+ hashclr(sha1);
+ if (*flags & REF_BAD_NAME)
+ *flags |= REF_ISBROKEN;
+ return refname;
+ }
+
+ *flags |= read_flags;
+
+ if (!(read_flags & REF_ISSYMREF)) {
+ if (*flags & REF_BAD_NAME) {
+ hashclr(sha1);
+ *flags |= REF_ISBROKEN;
+ }
+ return refname;
+ }
+
+ refname = sb_refname.buf;
+ if (resolve_flags & RESOLVE_REF_NO_RECURSE) {
+ hashclr(sha1);
+ return refname;
+ }
+ if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) {
+ if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) ||
+ !refname_is_safe(refname)) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ *flags |= REF_ISBROKEN | REF_BAD_NAME;
+ }
+ }
+
+ errno = ELOOP;
+ return NULL;
+}
diff --git a/refs.h b/refs.h
index 3c3da29bf0..9230d47142 100644
--- a/refs.h
+++ b/refs.h
@@ -109,6 +109,11 @@ extern int dwim_log(const char *str, int len, unsigned char *sha1, char **ref);
* If this succeeds, the ref updates will have taken place and
* the transaction cannot be rolled back.
*
+ * - Instead of `ref_transaction_commit`, use
+ * `initial_ref_transaction_commit()` if the ref database is known
+ * to be empty (e.g. during clone). This is likely to be much
+ * faster.
+ *
* - At any time call `ref_transaction_free()` to discard the
* transaction and free associated resources. In particular,
* this rolls back the transaction if it has not been
@@ -124,6 +129,13 @@ extern int dwim_log(const char *str, int len, unsigned char *sha1, char **ref);
*
* The message is appended to err without first clearing err.
* err will not be '\n' terminated.
+ *
+ * Caveats
+ * -------
+ *
+ * Note that no locks are taken, and no refs are read, until
+ * `ref_transaction_commit` is called. So `ref_transaction_verify`
+ * won't report a verification failure until the commit is attempted.
*/
struct ref_transaction;
@@ -294,6 +306,15 @@ extern int rename_ref(const char *oldref, const char *newref, const char *logmsg
extern int create_symref(const char *refname, const char *target, const char *logmsg);
+/*
+ * Update HEAD of the specified gitdir.
+ * Similar to create_symref("relative-git-dir/HEAD", target, NULL), but
+ * this can update the main working tree's HEAD regardless of where
+ * $GIT_DIR points to.
+ * Return 0 if successful, non-zero otherwise.
+ * */
+extern int set_worktree_head_symref(const char *gitdir, const char *target);
+
enum action_on_err {
UPDATE_REFS_MSG_ON_ERR,
UPDATE_REFS_DIE_ON_ERR,
diff --git a/refs/files-backend.c b/refs/files-backend.c
index b569762888..1f38076411 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -199,17 +199,14 @@ static struct ref_entry *create_ref_entry(const char *refname,
const unsigned char *sha1, int flag,
int check_name)
{
- int len;
struct ref_entry *ref;
if (check_name &&
check_refname_format(refname, REFNAME_ALLOW_ONELEVEL))
die("Reference has invalid format: '%s'", refname);
- len = strlen(refname) + 1;
- ref = xmalloc(sizeof(struct ref_entry) + len);
+ FLEX_ALLOC_STR(ref, name, refname);
hashcpy(ref->u.value.oid.hash, sha1);
oidclr(&ref->u.value.peeled);
- memcpy(ref->name, refname, len);
ref->flag = flag;
return ref;
}
@@ -268,9 +265,7 @@ static struct ref_entry *create_dir_entry(struct ref_cache *ref_cache,
int incomplete)
{
struct ref_entry *direntry;
- direntry = xcalloc(1, sizeof(struct ref_entry) + len + 1);
- memcpy(direntry->name, dirname, len);
- direntry->name[len] = '\0';
+ FLEX_ALLOC_MEM(direntry, name, dirname, len);
direntry->u.subdir.ref_cache = ref_cache;
direntry->flag = REF_DIR | (incomplete ? REF_INCOMPLETE : 0);
return direntry;
@@ -518,9 +513,6 @@ static void sort_ref_dir(struct ref_dir *dir)
dir->sorted = dir->nr = i;
}
-/* Include broken references in a do_for_each_ref*() iteration: */
-#define DO_FOR_EACH_INCLUDE_BROKEN 0x01
-
/*
* Return true iff the reference described by entry can be resolved to
* an object in the database. Emit a warning if the referred-to
@@ -939,13 +931,10 @@ static void clear_loose_ref_cache(struct ref_cache *refs)
*/
static struct ref_cache *create_ref_cache(const char *submodule)
{
- int len;
struct ref_cache *refs;
if (!submodule)
submodule = "";
- len = strlen(submodule) + 1;
- refs = xcalloc(1, sizeof(struct ref_cache) + len);
- memcpy(refs->name, submodule, len);
+ FLEX_ALLOC_STR(refs, name, submodule);
refs->next = submodule_ref_caches;
submodule_ref_caches = refs;
return refs;
@@ -1280,8 +1269,6 @@ static struct ref_dir *get_loose_refs(struct ref_cache *refs)
return get_ref_dir(refs->loose);
}
-/* We allow "recursive" symbolic refs. Only within reason, though */
-#define MAXDEPTH 5
#define MAXREFLEN (1024)
/*
@@ -1311,7 +1298,7 @@ static int resolve_gitlink_ref_recursive(struct ref_cache *refs,
char buffer[128], *p;
char *path;
- if (recursion > MAXDEPTH || strlen(refname) > MAXREFLEN)
+ if (recursion > SYMREF_MAXDEPTH || strlen(refname) > MAXREFLEN)
return -1;
path = *refs->name
? git_pathdup_submodule(refs->name, "%s", refname)
@@ -1379,13 +1366,11 @@ static struct ref_entry *get_packed_ref(const char *refname)
}
/*
- * A loose ref file doesn't exist; check for a packed ref. The
- * options are forwarded from resolve_safe_unsafe().
+ * A loose ref file doesn't exist; check for a packed ref.
*/
static int resolve_missing_loose_ref(const char *refname,
- int resolve_flags,
unsigned char *sha1,
- int *flags)
+ unsigned int *flags)
{
struct ref_entry *entry;
@@ -1396,205 +1381,158 @@ static int resolve_missing_loose_ref(const char *refname,
entry = get_packed_ref(refname);
if (entry) {
hashcpy(sha1, entry->u.value.oid.hash);
- if (flags)
- *flags |= REF_ISPACKED;
- return 0;
- }
- /* The reference is not a packed reference, either. */
- if (resolve_flags & RESOLVE_REF_READING) {
- errno = ENOENT;
- return -1;
- } else {
- hashclr(sha1);
+ *flags |= REF_ISPACKED;
return 0;
}
+ /* refname is not a packed reference. */
+ return -1;
}
-/* This function needs to return a meaningful errno on failure */
-static const char *resolve_ref_1(const char *refname,
- int resolve_flags,
- unsigned char *sha1,
- int *flags,
- struct strbuf *sb_refname,
- struct strbuf *sb_path,
- struct strbuf *sb_contents)
+/*
+ * Read a raw ref from the filesystem or packed refs file.
+ *
+ * If the ref is a sha1, fill in sha1 and return 0.
+ *
+ * If the ref is symbolic, fill in *symref with the referrent
+ * (e.g. "refs/heads/master") and return 0. The caller is responsible
+ * for validating the referrent. Set REF_ISSYMREF in flags.
+ *
+ * If the ref doesn't exist, set errno to ENOENT and return -1.
+ *
+ * If the ref exists but is neither a symbolic ref nor a sha1, it is
+ * broken. Set REF_ISBROKEN in flags, set errno to EINVAL, and return
+ * -1.
+ *
+ * If there is another error reading the ref, set errno appropriately and
+ * return -1.
+ *
+ * Backend-specific flags might be set in flags as well, regardless of
+ * outcome.
+ *
+ * sb_path is workspace: the caller should allocate and free it.
+ *
+ * It is OK for refname to point into symref. In this case:
+ * - if the function succeeds with REF_ISSYMREF, symref will be
+ * overwritten and the memory pointed to by refname might be changed
+ * or even freed.
+ * - in all other cases, symref will be untouched, and therefore
+ * refname will still be valid and unchanged.
+ */
+int read_raw_ref(const char *refname, unsigned char *sha1,
+ struct strbuf *symref, unsigned int *flags)
{
- int depth = MAXDEPTH;
- int bad_name = 0;
+ struct strbuf sb_contents = STRBUF_INIT;
+ struct strbuf sb_path = STRBUF_INIT;
+ const char *path;
+ const char *buf;
+ struct stat st;
+ int fd;
+ int ret = -1;
+ int save_errno;
- if (flags)
- *flags = 0;
+ strbuf_reset(&sb_path);
+ strbuf_git_path(&sb_path, "%s", refname);
+ path = sb_path.buf;
- if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) {
- if (flags)
- *flags |= REF_BAD_NAME;
+stat_ref:
+ /*
+ * We might have to loop back here to avoid a race
+ * condition: first we lstat() the file, then we try
+ * to read it as a link or as a file. But if somebody
+ * changes the type of the file (file <-> directory
+ * <-> symlink) between the lstat() and reading, then
+ * we don't want to report that as an error but rather
+ * try again starting with the lstat().
+ */
- if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) ||
- !refname_is_safe(refname)) {
- errno = EINVAL;
- return NULL;
+ if (lstat(path, &st) < 0) {
+ if (errno != ENOENT)
+ goto out;
+ if (resolve_missing_loose_ref(refname, sha1, flags)) {
+ errno = ENOENT;
+ goto out;
}
- /*
- * dwim_ref() uses REF_ISBROKEN to distinguish between
- * missing refs and refs that were present but invalid,
- * to complain about the latter to stderr.
- *
- * We don't know whether the ref exists, so don't set
- * REF_ISBROKEN yet.
- */
- bad_name = 1;
+ ret = 0;
+ goto out;
}
- for (;;) {
- const char *path;
- struct stat st;
- char *buf;
- int fd;
-
- if (--depth < 0) {
- errno = ELOOP;
- return NULL;
- }
-
- strbuf_reset(sb_path);
- strbuf_git_path(sb_path, "%s", refname);
- path = sb_path->buf;
- /*
- * We might have to loop back here to avoid a race
- * condition: first we lstat() the file, then we try
- * to read it as a link or as a file. But if somebody
- * changes the type of the file (file <-> directory
- * <-> symlink) between the lstat() and reading, then
- * we don't want to report that as an error but rather
- * try again starting with the lstat().
- */
- stat_ref:
- if (lstat(path, &st) < 0) {
- if (errno != ENOENT)
- return NULL;
- if (resolve_missing_loose_ref(refname, resolve_flags,
- sha1, flags))
- return NULL;
- if (bad_name) {
- hashclr(sha1);
- if (flags)
- *flags |= REF_ISBROKEN;
- }
- return refname;
- }
-
- /* Follow "normalized" - ie "refs/.." symlinks by hand */
- if (S_ISLNK(st.st_mode)) {
- strbuf_reset(sb_contents);
- if (strbuf_readlink(sb_contents, path, 0) < 0) {
- if (errno == ENOENT || errno == EINVAL)
- /* inconsistent with lstat; retry */
- goto stat_ref;
- else
- return NULL;
- }
- if (starts_with(sb_contents->buf, "refs/") &&
- !check_refname_format(sb_contents->buf, 0)) {
- strbuf_swap(sb_refname, sb_contents);
- refname = sb_refname->buf;
- if (flags)
- *flags |= REF_ISSYMREF;
- if (resolve_flags & RESOLVE_REF_NO_RECURSE) {
- hashclr(sha1);
- return refname;
- }
- continue;
- }
- }
-
- /* Is it a directory? */
- if (S_ISDIR(st.st_mode)) {
- errno = EISDIR;
- return NULL;
- }
-
- /*
- * Anything else, just open it and try to use it as
- * a ref
- */
- fd = open(path, O_RDONLY);
- if (fd < 0) {
- if (errno == ENOENT)
+ /* Follow "normalized" - ie "refs/.." symlinks by hand */
+ if (S_ISLNK(st.st_mode)) {
+ strbuf_reset(&sb_contents);
+ if (strbuf_readlink(&sb_contents, path, 0) < 0) {
+ if (errno == ENOENT || errno == EINVAL)
/* inconsistent with lstat; retry */
goto stat_ref;
else
- return NULL;
+ goto out;
}
- strbuf_reset(sb_contents);
- if (strbuf_read(sb_contents, fd, 256) < 0) {
- int save_errno = errno;
- close(fd);
- errno = save_errno;
- return NULL;
+ if (starts_with(sb_contents.buf, "refs/") &&
+ !check_refname_format(sb_contents.buf, 0)) {
+ strbuf_swap(&sb_contents, symref);
+ *flags |= REF_ISSYMREF;
+ ret = 0;
+ goto out;
}
- close(fd);
- strbuf_rtrim(sb_contents);
+ }
- /*
- * Is it a symbolic ref?
- */
- if (!starts_with(sb_contents->buf, "ref:")) {
- /*
- * Please note that FETCH_HEAD has a second
- * line containing other data.
- */
- if (get_sha1_hex(sb_contents->buf, sha1) ||
- (sb_contents->buf[40] != '\0' && !isspace(sb_contents->buf[40]))) {
- if (flags)
- *flags |= REF_ISBROKEN;
- errno = EINVAL;
- return NULL;
- }
- if (bad_name) {
- hashclr(sha1);
- if (flags)
- *flags |= REF_ISBROKEN;
- }
- return refname;
- }
- if (flags)
- *flags |= REF_ISSYMREF;
- buf = sb_contents->buf + 4;
+ /* Is it a directory? */
+ if (S_ISDIR(st.st_mode)) {
+ errno = EISDIR;
+ goto out;
+ }
+
+ /*
+ * Anything else, just open it and try to use it as
+ * a ref
+ */
+ fd = open(path, O_RDONLY);
+ if (fd < 0) {
+ if (errno == ENOENT)
+ /* inconsistent with lstat; retry */
+ goto stat_ref;
+ else
+ goto out;
+ }
+ strbuf_reset(&sb_contents);
+ if (strbuf_read(&sb_contents, fd, 256) < 0) {
+ int save_errno = errno;
+ close(fd);
+ errno = save_errno;
+ goto out;
+ }
+ close(fd);
+ strbuf_rtrim(&sb_contents);
+ buf = sb_contents.buf;
+ if (starts_with(buf, "ref:")) {
+ buf += 4;
while (isspace(*buf))
buf++;
- strbuf_reset(sb_refname);
- strbuf_addstr(sb_refname, buf);
- refname = sb_refname->buf;
- if (resolve_flags & RESOLVE_REF_NO_RECURSE) {
- hashclr(sha1);
- return refname;
- }
- if (check_refname_format(buf, REFNAME_ALLOW_ONELEVEL)) {
- if (flags)
- *flags |= REF_ISBROKEN;
-
- if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) ||
- !refname_is_safe(buf)) {
- errno = EINVAL;
- return NULL;
- }
- bad_name = 1;
- }
+
+ strbuf_reset(symref);
+ strbuf_addstr(symref, buf);
+ *flags |= REF_ISSYMREF;
+ ret = 0;
+ goto out;
}
-}
-const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
- unsigned char *sha1, int *flags)
-{
- static struct strbuf sb_refname = STRBUF_INIT;
- struct strbuf sb_contents = STRBUF_INIT;
- struct strbuf sb_path = STRBUF_INIT;
- const char *ret;
+ /*
+ * Please note that FETCH_HEAD has additional
+ * data after the sha.
+ */
+ if (get_sha1_hex(buf, sha1) ||
+ (buf[40] != '\0' && !isspace(buf[40]))) {
+ *flags |= REF_ISBROKEN;
+ errno = EINVAL;
+ goto out;
+ }
+
+ ret = 0;
- ret = resolve_ref_1(refname, resolve_flags, sha1, flags,
- &sb_refname, &sb_path, &sb_contents);
+out:
+ save_errno = errno;
strbuf_release(&sb_path);
strbuf_release(&sb_contents);
+ errno = save_errno;
return ret;
}
@@ -1735,10 +1673,13 @@ static int do_for_each_entry(struct ref_cache *refs, const char *base,
* value, stop the iteration and return that value; otherwise, return
* 0.
*/
-static int do_for_each_ref(struct ref_cache *refs, const char *base,
- each_ref_fn fn, int trim, int flags, void *cb_data)
+int do_for_each_ref(const char *submodule, const char *base,
+ each_ref_fn fn, int trim, int flags, void *cb_data)
{
struct ref_entry_cb data;
+ struct ref_cache *refs;
+
+ refs = get_ref_cache(submodule);
data.base = base;
data.trim = trim;
data.flags = flags;
@@ -1753,86 +1694,6 @@ static int do_for_each_ref(struct ref_cache *refs, const char *base,
return do_for_each_entry(refs, base, do_one_ref, &data);
}
-static int do_head_ref(const char *submodule, each_ref_fn fn, void *cb_data)
-{
- struct object_id oid;
- int flag;
-
- if (submodule) {
- if (resolve_gitlink_ref(submodule, "HEAD", oid.hash) == 0)
- return fn("HEAD", &oid, 0, cb_data);
-
- return 0;
- }
-
- if (!read_ref_full("HEAD", RESOLVE_REF_READING, oid.hash, &flag))
- return fn("HEAD", &oid, flag, cb_data);
-
- return 0;
-}
-
-int head_ref(each_ref_fn fn, void *cb_data)
-{
- return do_head_ref(NULL, fn, cb_data);
-}
-
-int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
-{
- return do_head_ref(submodule, fn, cb_data);
-}
-
-int for_each_ref(each_ref_fn fn, void *cb_data)
-{
- return do_for_each_ref(&ref_cache, "", fn, 0, 0, cb_data);
-}
-
-int for_each_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data)
-{
- return do_for_each_ref(get_ref_cache(submodule), "", fn, 0, 0, cb_data);
-}
-
-int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data)
-{
- return do_for_each_ref(&ref_cache, prefix, fn, strlen(prefix), 0, cb_data);
-}
-
-int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, unsigned int broken)
-{
- unsigned int flag = 0;
-
- if (broken)
- flag = DO_FOR_EACH_INCLUDE_BROKEN;
- return do_for_each_ref(&ref_cache, prefix, fn, 0, flag, cb_data);
-}
-
-int for_each_ref_in_submodule(const char *submodule, const char *prefix,
- each_ref_fn fn, void *cb_data)
-{
- return do_for_each_ref(get_ref_cache(submodule), prefix, fn, strlen(prefix), 0, cb_data);
-}
-
-int for_each_replace_ref(each_ref_fn fn, void *cb_data)
-{
- return do_for_each_ref(&ref_cache, git_replace_ref_base, fn,
- strlen(git_replace_ref_base), 0, cb_data);
-}
-
-int for_each_namespaced_ref(each_ref_fn fn, void *cb_data)
-{
- struct strbuf buf = STRBUF_INIT;
- int ret;
- strbuf_addf(&buf, "%srefs/", get_git_namespace());
- ret = do_for_each_ref(&ref_cache, buf.buf, fn, 0, 0, cb_data);
- strbuf_release(&buf);
- return ret;
-}
-
-int for_each_rawref(each_ref_fn fn, void *cb_data)
-{
- return do_for_each_ref(&ref_cache, "", fn, 0,
- DO_FOR_EACH_INCLUDE_BROKEN, cb_data);
-}
-
static void unlock_ref(struct ref_lock *lock)
{
/* Do not free lock->lk -- atexit() still looks at them */
@@ -2197,10 +2058,9 @@ static int pack_if_possible_fn(struct ref_entry *entry, void *cb_data)
/* Schedule the loose reference for pruning if requested. */
if ((cb->flags & PACK_REFS_PRUNE)) {
- int namelen = strlen(entry->name) + 1;
- struct ref_to_prune *n = xcalloc(1, sizeof(*n) + namelen);
+ struct ref_to_prune *n;
+ FLEX_ALLOC_STR(n, name, entry->name);
hashcpy(n->sha1, entry->u.value.oid.hash);
- memcpy(n->name, entry->name, namelen); /* includes NUL */
n->next = cb->ref_to_prune;
cb->ref_to_prune = n;
}
@@ -2903,6 +2763,42 @@ int create_symref(const char *refname, const char *target, const char *logmsg)
return ret;
}
+int set_worktree_head_symref(const char *gitdir, const char *target)
+{
+ static struct lock_file head_lock;
+ struct ref_lock *lock;
+ struct strbuf head_path = STRBUF_INIT;
+ const char *head_rel;
+ int ret;
+
+ strbuf_addf(&head_path, "%s/HEAD", absolute_path(gitdir));
+ if (hold_lock_file_for_update(&head_lock, head_path.buf,
+ LOCK_NO_DEREF) < 0) {
+ struct strbuf err = STRBUF_INIT;
+ unable_to_lock_message(head_path.buf, errno, &err);
+ error("%s", err.buf);
+ strbuf_release(&err);
+ strbuf_release(&head_path);
+ return -1;
+ }
+
+ /* head_rel will be "HEAD" for the main tree, "worktrees/wt/HEAD" for
+ linked trees */
+ head_rel = remove_leading_path(head_path.buf,
+ absolute_path(get_git_common_dir()));
+ /* to make use of create_symref_locked(), initialize ref_lock */
+ lock = xcalloc(1, sizeof(struct ref_lock));
+ lock->lk = &head_lock;
+ lock->ref_name = xstrdup(head_rel);
+ lock->orig_ref_name = xstrdup(head_rel);
+
+ ret = create_symref_locked(lock, head_rel, target, NULL);
+
+ unlock_ref(lock); /* will free lock */
+ strbuf_release(&head_path);
+ return ret;
+}
+
int reflog_exists(const char *refname)
{
struct stat st;
@@ -3454,7 +3350,8 @@ int reflog_expire(const char *refname, const unsigned char *sha1,
* reference itself, plus we might need to update the
* reference if --updateref was specified:
*/
- lock = lock_ref_sha1_basic(refname, sha1, NULL, NULL, 0, &type, &err);
+ lock = lock_ref_sha1_basic(refname, sha1, NULL, NULL, REF_NODEREF,
+ &type, &err);
if (!lock) {
error("cannot lock ref '%s': %s", refname, err.buf);
strbuf_release(&err);
diff --git a/refs/refs-internal.h b/refs/refs-internal.h
index c7dded35f4..3a4f634cb4 100644
--- a/refs/refs-internal.h
+++ b/refs/refs-internal.h
@@ -197,4 +197,19 @@ const char *find_descendant_ref(const char *dirname,
int rename_ref_available(const char *oldname, const char *newname);
+/* We allow "recursive" symbolic refs. Only within reason, though */
+#define SYMREF_MAXDEPTH 5
+
+/* Include broken references in a do_for_each_ref*() iteration: */
+#define DO_FOR_EACH_INCLUDE_BROKEN 0x01
+
+/*
+ * The common backend for the for_each_*ref* functions
+ */
+int do_for_each_ref(const char *submodule, const char *base,
+ each_ref_fn fn, int trim, int flags, void *cb_data);
+
+int read_raw_ref(const char *refname, unsigned char *sha1,
+ struct strbuf *symref, unsigned int *flags);
+
#endif /* REFS_REFS_INTERNAL_H */
diff --git a/remote-curl.c b/remote-curl.c
index 2e2266b856..672b382e5a 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -474,7 +474,7 @@ static int run_slot(struct active_request_slot *slot,
static int probe_rpc(struct rpc_state *rpc, struct slot_results *results)
{
struct active_request_slot *slot;
- struct curl_slist *headers = NULL;
+ struct curl_slist *headers = http_copy_default_headers();
struct strbuf buf = STRBUF_INIT;
int err;
@@ -503,7 +503,7 @@ static int probe_rpc(struct rpc_state *rpc, struct slot_results *results)
static int post_rpc(struct rpc_state *rpc)
{
struct active_request_slot *slot;
- struct curl_slist *headers = NULL;
+ struct curl_slist *headers = http_copy_default_headers();
int use_gzip = rpc->gzip_request;
char *gzip_body = NULL;
size_t gzip_size = 0;
@@ -721,9 +721,10 @@ static int rpc_service(struct rpc_state *rpc, struct discovery *heads)
static int fetch_dumb(int nr_heads, struct ref **to_fetch)
{
struct walker *walker;
- char **targets = xmalloc(nr_heads * sizeof(char*));
+ char **targets;
int ret, i;
+ ALLOC_ARRAY(targets, nr_heads);
if (options.depth)
die("dumb http transport does not support --depth");
for (i = 0; i < nr_heads; i++)
@@ -870,23 +871,22 @@ static void parse_fetch(struct strbuf *buf)
static int push_dav(int nr_spec, char **specs)
{
- const char **argv = xmalloc((10 + nr_spec) * sizeof(char*));
- int argc = 0, i;
+ struct child_process child = CHILD_PROCESS_INIT;
+ size_t i;
- argv[argc++] = "http-push";
- argv[argc++] = "--helper-status";
+ child.git_cmd = 1;
+ argv_array_push(&child.args, "http-push");
+ argv_array_push(&child.args, "--helper-status");
if (options.dry_run)
- argv[argc++] = "--dry-run";
+ argv_array_push(&child.args, "--dry-run");
if (options.verbosity > 1)
- argv[argc++] = "--verbose";
- argv[argc++] = url.buf;
+ argv_array_push(&child.args, "--verbose");
+ argv_array_push(&child.args, url.buf);
for (i = 0; i < nr_spec; i++)
- argv[argc++] = specs[i];
- argv[argc++] = NULL;
+ argv_array_push(&child.args, specs[i]);
- if (run_command_v_opt(argv, RUN_GIT_CMD))
- die("git-%s failed", argv[0]);
- free(argv);
+ if (run_command(&child))
+ die("git-http-push failed");
return 0;
}
diff --git a/remote.c b/remote.c
index 02e698a5e0..a326e4e251 100644
--- a/remote.c
+++ b/remote.c
@@ -318,93 +318,88 @@ static void read_branches_file(struct remote *remote)
static int handle_config(const char *key, const char *value, void *cb)
{
const char *name;
+ int namelen;
const char *subkey;
struct remote *remote;
struct branch *branch;
- if (starts_with(key, "branch.")) {
- name = key + 7;
- subkey = strrchr(name, '.');
- if (!subkey)
+ if (parse_config_key(key, "branch", &name, &namelen, &subkey) >= 0) {
+ if (!name)
return 0;
- branch = make_branch(name, subkey - name);
- if (!strcmp(subkey, ".remote")) {
+ branch = make_branch(name, namelen);
+ if (!strcmp(subkey, "remote")) {
return git_config_string(&branch->remote_name, key, value);
- } else if (!strcmp(subkey, ".pushremote")) {
+ } else if (!strcmp(subkey, "pushremote")) {
return git_config_string(&branch->pushremote_name, key, value);
- } else if (!strcmp(subkey, ".merge")) {
+ } else if (!strcmp(subkey, "merge")) {
if (!value)
return config_error_nonbool(key);
add_merge(branch, xstrdup(value));
}
return 0;
}
- if (starts_with(key, "url.")) {
+ if (parse_config_key(key, "url", &name, &namelen, &subkey) >= 0) {
struct rewrite *rewrite;
- name = key + 4;
- subkey = strrchr(name, '.');
- if (!subkey)
+ if (!name)
return 0;
- if (!strcmp(subkey, ".insteadof")) {
- rewrite = make_rewrite(&rewrites, name, subkey - name);
+ if (!strcmp(subkey, "insteadof")) {
+ rewrite = make_rewrite(&rewrites, name, namelen);
if (!value)
return config_error_nonbool(key);
add_instead_of(rewrite, xstrdup(value));
- } else if (!strcmp(subkey, ".pushinsteadof")) {
- rewrite = make_rewrite(&rewrites_push, name, subkey - name);
+ } else if (!strcmp(subkey, "pushinsteadof")) {
+ rewrite = make_rewrite(&rewrites_push, name, namelen);
if (!value)
return config_error_nonbool(key);
add_instead_of(rewrite, xstrdup(value));
}
}
- if (!starts_with(key, "remote."))
+ if (parse_config_key(key, "remote", &name, &namelen, &subkey) < 0)
return 0;
- name = key + 7;
/* Handle remote.* variables */
- if (!strcmp(name, "pushdefault"))
+ if (!name && !strcmp(subkey, "pushdefault"))
return git_config_string(&pushremote_name, key, value);
+ if (!name)
+ return 0;
/* Handle remote.<name>.* variables */
if (*name == '/') {
warning("Config remote shorthand cannot begin with '/': %s",
name);
return 0;
}
- subkey = strrchr(name, '.');
- if (!subkey)
- return 0;
- remote = make_remote(name, subkey - name);
+ remote = make_remote(name, namelen);
remote->origin = REMOTE_CONFIG;
- if (!strcmp(subkey, ".mirror"))
+ if (!strcmp(subkey, "mirror"))
remote->mirror = git_config_bool(key, value);
- else if (!strcmp(subkey, ".skipdefaultupdate"))
+ else if (!strcmp(subkey, "skipdefaultupdate"))
remote->skip_default_update = git_config_bool(key, value);
- else if (!strcmp(subkey, ".skipfetchall"))
+ else if (!strcmp(subkey, "skipfetchall"))
remote->skip_default_update = git_config_bool(key, value);
- else if (!strcmp(subkey, ".prune"))
+ else if (!strcmp(subkey, "prune"))
remote->prune = git_config_bool(key, value);
- else if (!strcmp(subkey, ".url")) {
+ else if (!strcmp(subkey, "url")) {
const char *v;
if (git_config_string(&v, key, value))
return -1;
add_url(remote, v);
- } else if (!strcmp(subkey, ".pushurl")) {
+ } else if (!strcmp(subkey, "pushurl")) {
const char *v;
if (git_config_string(&v, key, value))
return -1;
add_pushurl(remote, v);
- } else if (!strcmp(subkey, ".push")) {
+ } else if (!strcmp(subkey, "push")) {
const char *v;
if (git_config_string(&v, key, value))
return -1;
add_push_refspec(remote, v);
- } else if (!strcmp(subkey, ".fetch")) {
+ } else if (!strcmp(subkey, "fetch")) {
const char *v;
if (git_config_string(&v, key, value))
return -1;
add_fetch_refspec(remote, v);
- } else if (!strcmp(subkey, ".receivepack")) {
+ } else if (!strcmp(subkey, "receivepack")) {
const char *v;
if (git_config_string(&v, key, value))
return -1;
@@ -412,7 +407,7 @@ static int handle_config(const char *key, const char *value, void *cb)
remote->receivepack = v;
else
error("more than one receivepack given, using the first");
- } else if (!strcmp(subkey, ".uploadpack")) {
+ } else if (!strcmp(subkey, "uploadpack")) {
const char *v;
if (git_config_string(&v, key, value))
return -1;
@@ -420,18 +415,18 @@ static int handle_config(const char *key, const char *value, void *cb)
remote->uploadpack = v;
else
error("more than one uploadpack given, using the first");
- } else if (!strcmp(subkey, ".tagopt")) {
+ } else if (!strcmp(subkey, "tagopt")) {
if (!strcmp(value, "--no-tags"))
remote->fetch_tags = -1;
else if (!strcmp(value, "--tags"))
remote->fetch_tags = 2;
- } else if (!strcmp(subkey, ".proxy")) {
+ } else if (!strcmp(subkey, "proxy")) {
return git_config_string((const char **)&remote->http_proxy,
key, value);
- } else if (!strcmp(subkey, ".proxyauthmethod")) {
+ } else if (!strcmp(subkey, "proxyauthmethod")) {
return git_config_string((const char **)&remote->http_proxy_authmethod,
key, value);
- } else if (!strcmp(subkey, ".vcs")) {
+ } else if (!strcmp(subkey, "vcs")) {
return git_config_string(&remote->foreign_vcs, key, value);
}
return 0;
@@ -460,7 +455,6 @@ static void read_config(void)
{
static int loaded;
struct object_id oid;
- const char *head_ref;
int flag;
if (loaded)
@@ -468,10 +462,12 @@ static void read_config(void)
loaded = 1;
current_branch = NULL;
- head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag);
- if (head_ref && (flag & REF_ISSYMREF) &&
- skip_prefix(head_ref, "refs/heads/", &head_ref)) {
- current_branch = make_branch(head_ref, 0);
+ if (startup_info->have_repository) {
+ const char *head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag);
+ if (head_ref && (flag & REF_ISSYMREF) &&
+ skip_prefix(head_ref, "refs/heads/", &head_ref)) {
+ current_branch = make_branch(head_ref, 0);
+ }
}
git_config(handle_config, NULL);
alias_all_urls();
@@ -718,18 +714,9 @@ struct remote *pushremote_get(const char *name)
return remote_get_1(name, pushremote_for_branch);
}
-int remote_is_configured(const char *name)
+int remote_is_configured(struct remote *remote)
{
- struct remotes_hash_key lookup;
- struct hashmap_entry lookup_entry;
- read_config();
-
- init_remotes_hash();
- lookup.str = name;
- lookup.len = strlen(name);
- hashmap_entry_init(&lookup_entry, memhash(name, lookup.len));
-
- return hashmap_get(&remotes_hash, &lookup_entry, &lookup) != NULL;
+ return remote && remote->origin;
}
int for_each_remote(each_remote_fn fn, void *priv)
@@ -931,7 +918,7 @@ static struct ref *alloc_ref_with_prefix(const char *prefix, size_t prefixlen,
const char *name)
{
size_t len = strlen(name);
- struct ref *ref = xcalloc(1, sizeof(struct ref) + prefixlen + len + 1);
+ struct ref *ref = xcalloc(1, st_add4(sizeof(*ref), prefixlen, len, 1));
memcpy(ref->name, prefix, prefixlen);
memcpy(ref->name + prefixlen, name, len);
return ref;
@@ -948,9 +935,9 @@ struct ref *copy_ref(const struct ref *ref)
size_t len;
if (!ref)
return NULL;
- len = strlen(ref->name);
- cpy = xmalloc(sizeof(struct ref) + len + 1);
- memcpy(cpy, ref, sizeof(struct ref) + len + 1);
+ len = st_add3(sizeof(struct ref), strlen(ref->name), 1);
+ cpy = xmalloc(len);
+ memcpy(cpy, ref, len);
cpy->next = NULL;
cpy->symref = xstrdup_or_null(ref->symref);
cpy->remote_status = xstrdup_or_null(ref->remote_status);
@@ -1673,7 +1660,7 @@ int branch_merge_matches(struct branch *branch,
return refname_match(branch->merge[i]->src, refname);
}
-__attribute((format (printf,2,3)))
+__attribute__((format (printf,2,3)))
static const char *error_buf(struct strbuf *err, const char *fmt, ...)
{
if (err) {
@@ -2121,7 +2108,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb)
"Your branch and '%s' have diverged,\n"
"and have %d and %d different commits each, "
"respectively.\n",
- theirs),
+ ours + theirs),
base, ours, theirs);
if (advice_status_hints)
strbuf_addf(sb,
@@ -2136,16 +2123,13 @@ static int one_local_ref(const char *refname, const struct object_id *oid,
{
struct ref ***local_tail = cb_data;
struct ref *ref;
- int len;
/* we already know it starts with refs/ to get here */
if (check_refname_format(refname + 5, 0))
return 0;
- len = strlen(refname) + 1;
- ref = xcalloc(1, sizeof(*ref) + len);
+ ref = alloc_ref(refname);
oidcpy(&ref->new_oid, oid);
- memcpy(ref->name, refname, len);
**local_tail = ref;
*local_tail = &ref->next;
return 0;
diff --git a/remote.h b/remote.h
index 4fd7a0f9b2..c21fd3788c 100644
--- a/remote.h
+++ b/remote.h
@@ -5,6 +5,7 @@
#include "hashmap.h"
enum {
+ REMOTE_UNCONFIGURED = 0,
REMOTE_CONFIG,
REMOTE_REMOTES,
REMOTE_BRANCHES
@@ -59,7 +60,7 @@ struct remote {
struct remote *remote_get(const char *name);
struct remote *pushremote_get(const char *name);
-int remote_is_configured(const char *name);
+int remote_is_configured(struct remote *remote);
typedef int each_remote_fn(struct remote *remote, void *priv);
int for_each_remote(each_remote_fn fn, void *priv);
diff --git a/rerere.c b/rerere.c
index 587b7e2717..c8b9f40787 100644
--- a/rerere.c
+++ b/rerere.c
@@ -8,6 +8,7 @@
#include "ll-merge.h"
#include "attr.h"
#include "pathspec.h"
+#include "sha1-lookup.h"
#define RESOLVED 0
#define PUNTED 1
@@ -20,6 +21,29 @@ static int rerere_enabled = -1;
/* automatically update cleanly resolved paths to the index */
static int rerere_autoupdate;
+static int rerere_dir_nr;
+static int rerere_dir_alloc;
+
+#define RR_HAS_POSTIMAGE 1
+#define RR_HAS_PREIMAGE 2
+static struct rerere_dir {
+ unsigned char sha1[20];
+ int status_alloc, status_nr;
+ unsigned char *status;
+} **rerere_dir;
+
+static void free_rerere_dirs(void)
+{
+ int i;
+ for (i = 0; i < rerere_dir_nr; i++) {
+ free(rerere_dir[i]->status);
+ free(rerere_dir[i]);
+ }
+ free(rerere_dir);
+ rerere_dir_nr = rerere_dir_alloc = 0;
+ rerere_dir = NULL;
+}
+
static void free_rerere_id(struct string_list_item *item)
{
free(item->util);
@@ -27,7 +51,33 @@ static void free_rerere_id(struct string_list_item *item)
static const char *rerere_id_hex(const struct rerere_id *id)
{
- return id->hex;
+ return sha1_to_hex(id->collection->sha1);
+}
+
+static void fit_variant(struct rerere_dir *rr_dir, int variant)
+{
+ variant++;
+ ALLOC_GROW(rr_dir->status, variant, rr_dir->status_alloc);
+ if (rr_dir->status_nr < variant) {
+ memset(rr_dir->status + rr_dir->status_nr,
+ '\0', variant - rr_dir->status_nr);
+ rr_dir->status_nr = variant;
+ }
+}
+
+static void assign_variant(struct rerere_id *id)
+{
+ int variant;
+ struct rerere_dir *rr_dir = id->collection;
+
+ variant = id->variant;
+ if (variant < 0) {
+ for (variant = 0; variant < rr_dir->status_nr; variant++)
+ if (!rr_dir->status[variant])
+ break;
+ }
+ fit_variant(rr_dir, variant);
+ id->variant = variant;
}
const char *rerere_path(const struct rerere_id *id, const char *file)
@@ -35,20 +85,103 @@ const char *rerere_path(const struct rerere_id *id, const char *file)
if (!file)
return git_path("rr-cache/%s", rerere_id_hex(id));
- return git_path("rr-cache/%s/%s", rerere_id_hex(id), file);
+ if (id->variant <= 0)
+ return git_path("rr-cache/%s/%s", rerere_id_hex(id), file);
+
+ return git_path("rr-cache/%s/%s.%d",
+ rerere_id_hex(id), file, id->variant);
+}
+
+static int is_rr_file(const char *name, const char *filename, int *variant)
+{
+ const char *suffix;
+ char *ep;
+
+ if (!strcmp(name, filename)) {
+ *variant = 0;
+ return 1;
+ }
+ if (!skip_prefix(name, filename, &suffix) || *suffix != '.')
+ return 0;
+
+ errno = 0;
+ *variant = strtol(suffix + 1, &ep, 10);
+ if (errno || *ep)
+ return 0;
+ return 1;
+}
+
+static void scan_rerere_dir(struct rerere_dir *rr_dir)
+{
+ struct dirent *de;
+ DIR *dir = opendir(git_path("rr-cache/%s", sha1_to_hex(rr_dir->sha1)));
+
+ if (!dir)
+ return;
+ while ((de = readdir(dir)) != NULL) {
+ int variant;
+
+ if (is_rr_file(de->d_name, "postimage", &variant)) {
+ fit_variant(rr_dir, variant);
+ rr_dir->status[variant] |= RR_HAS_POSTIMAGE;
+ } else if (is_rr_file(de->d_name, "preimage", &variant)) {
+ fit_variant(rr_dir, variant);
+ rr_dir->status[variant] |= RR_HAS_PREIMAGE;
+ }
+ }
+ closedir(dir);
+}
+
+static const unsigned char *rerere_dir_sha1(size_t i, void *table)
+{
+ struct rerere_dir **rr_dir = table;
+ return rr_dir[i]->sha1;
+}
+
+static struct rerere_dir *find_rerere_dir(const char *hex)
+{
+ unsigned char sha1[20];
+ struct rerere_dir *rr_dir;
+ int pos;
+
+ if (get_sha1_hex(hex, sha1))
+ return NULL; /* BUG */
+ pos = sha1_pos(sha1, rerere_dir, rerere_dir_nr, rerere_dir_sha1);
+ if (pos < 0) {
+ rr_dir = xmalloc(sizeof(*rr_dir));
+ hashcpy(rr_dir->sha1, sha1);
+ rr_dir->status = NULL;
+ rr_dir->status_nr = 0;
+ rr_dir->status_alloc = 0;
+ pos = -1 - pos;
+
+ /* Make sure the array is big enough ... */
+ ALLOC_GROW(rerere_dir, rerere_dir_nr + 1, rerere_dir_alloc);
+ /* ... and add it in. */
+ rerere_dir_nr++;
+ memmove(rerere_dir + pos + 1, rerere_dir + pos,
+ (rerere_dir_nr - pos - 1) * sizeof(*rerere_dir));
+ rerere_dir[pos] = rr_dir;
+ scan_rerere_dir(rr_dir);
+ }
+ return rerere_dir[pos];
}
static int has_rerere_resolution(const struct rerere_id *id)
{
- struct stat st;
+ const int both = RR_HAS_POSTIMAGE|RR_HAS_PREIMAGE;
+ int variant = id->variant;
- return !stat(rerere_path(id, "postimage"), &st);
+ if (variant < 0)
+ return 0;
+ return ((id->collection->status[variant] & both) == both);
}
static struct rerere_id *new_rerere_id_hex(char *hex)
{
struct rerere_id *id = xmalloc(sizeof(*id));
- xsnprintf(id->hex, sizeof(id->hex), "%s", hex);
+ id->collection = find_rerere_dir(hex);
+ id->variant = -1; /* not known yet */
return id;
}
@@ -75,16 +208,26 @@ static void read_rr(struct string_list *rr)
char *path;
unsigned char sha1[20];
struct rerere_id *id;
+ int variant;
/* There has to be the hash, tab, path and then NUL */
if (buf.len < 42 || get_sha1_hex(buf.buf, sha1))
die("corrupt MERGE_RR");
- if (buf.buf[40] != '\t')
+ if (buf.buf[40] != '.') {
+ variant = 0;
+ path = buf.buf + 40;
+ } else {
+ errno = 0;
+ variant = strtol(buf.buf + 41, &path, 10);
+ if (errno)
+ die("corrupt MERGE_RR");
+ }
+ if (*(path++) != '\t')
die("corrupt MERGE_RR");
buf.buf[40] = '\0';
- path = buf.buf + 41;
id = new_rerere_id_hex(buf.buf);
+ id->variant = variant;
string_list_insert(rr, path)->util = id;
}
strbuf_release(&buf);
@@ -105,9 +248,16 @@ static int write_rr(struct string_list *rr, int out_fd)
id = rr->items[i].util;
if (!id)
continue;
- strbuf_addf(&buf, "%s\t%s%c",
- rerere_id_hex(id),
- rr->items[i].string, 0);
+ assert(id->variant >= 0);
+ if (0 < id->variant)
+ strbuf_addf(&buf, "%s.%d\t%s%c",
+ rerere_id_hex(id), id->variant,
+ rr->items[i].string, 0);
+ else
+ strbuf_addf(&buf, "%s\t%s%c",
+ rerere_id_hex(id),
+ rr->items[i].string, 0);
+
if (write_in_full(out_fd, buf.buf, buf.len) != buf.len)
die("unable to write rerere record");
@@ -365,103 +515,6 @@ static int handle_file(const char *path, unsigned char *sha1, const char *output
}
/*
- * Subclass of rerere_io that reads from an in-core buffer that is a
- * strbuf
- */
-struct rerere_io_mem {
- struct rerere_io io;
- struct strbuf input;
-};
-
-/*
- * ... and its getline() method implementation
- */
-static int rerere_mem_getline(struct strbuf *sb, struct rerere_io *io_)
-{
- struct rerere_io_mem *io = (struct rerere_io_mem *)io_;
- char *ep;
- size_t len;
-
- strbuf_release(sb);
- if (!io->input.len)
- return -1;
- ep = memchr(io->input.buf, '\n', io->input.len);
- if (!ep)
- ep = io->input.buf + io->input.len;
- else if (*ep == '\n')
- ep++;
- len = ep - io->input.buf;
- strbuf_add(sb, io->input.buf, len);
- strbuf_remove(&io->input, 0, len);
- return 0;
-}
-
-static int handle_cache(const char *path, unsigned char *sha1, const char *output)
-{
- mmfile_t mmfile[3] = {{NULL}};
- mmbuffer_t result = {NULL, 0};
- const struct cache_entry *ce;
- int pos, len, i, hunk_no;
- struct rerere_io_mem io;
- int marker_size = ll_merge_marker_size(path);
-
- /*
- * Reproduce the conflicted merge in-core
- */
- len = strlen(path);
- pos = cache_name_pos(path, len);
- if (0 <= pos)
- return -1;
- pos = -pos - 1;
-
- while (pos < active_nr) {
- enum object_type type;
- unsigned long size;
-
- ce = active_cache[pos++];
- if (ce_namelen(ce) != len || memcmp(ce->name, path, len))
- break;
- i = ce_stage(ce) - 1;
- if (!mmfile[i].ptr) {
- mmfile[i].ptr = read_sha1_file(ce->sha1, &type, &size);
- mmfile[i].size = size;
- }
- }
- for (i = 0; i < 3; i++)
- if (!mmfile[i].ptr && !mmfile[i].size)
- mmfile[i].ptr = xstrdup("");
-
- /*
- * NEEDSWORK: handle conflicts from merges with
- * merge.renormalize set, too
- */
- ll_merge(&result, path, &mmfile[0], NULL,
- &mmfile[1], "ours",
- &mmfile[2], "theirs", NULL);
- for (i = 0; i < 3; i++)
- free(mmfile[i].ptr);
-
- memset(&io, 0, sizeof(io));
- io.io.getline = rerere_mem_getline;
- if (output)
- io.io.output = fopen(output, "w");
- else
- io.io.output = NULL;
- strbuf_init(&io.input, 0);
- strbuf_attach(&io.input, result.ptr, result.size, result.size);
-
- /*
- * Grab the conflict ID and optionally write the original
- * contents with conflict markers out.
- */
- hunk_no = handle_path(sha1, (struct rerere_io *)&io, marker_size);
- strbuf_release(&io.input);
- if (io.io.output)
- fclose(io.io.output);
- return hunk_no;
-}
-
-/*
* Look at a cache entry at "i" and see if it is not conflicting,
* conflicting and we are willing to handle, or conflicting and
* we are unable to handle, and return the determination in *type.
@@ -569,6 +622,33 @@ int rerere_remaining(struct string_list *merge_rr)
}
/*
+ * Try using the given conflict resolution "ID" to see
+ * if that recorded conflict resolves cleanly what we
+ * got in the "cur".
+ */
+static int try_merge(const struct rerere_id *id, const char *path,
+ mmfile_t *cur, mmbuffer_t *result)
+{
+ int ret;
+ mmfile_t base = {NULL, 0}, other = {NULL, 0};
+
+ if (read_mmfile(&base, rerere_path(id, "preimage")) ||
+ read_mmfile(&other, rerere_path(id, "postimage")))
+ ret = 1;
+ else
+ /*
+ * A three-way merge. Note that this honors user-customizable
+ * low-level merge driver settings.
+ */
+ ret = ll_merge(result, path, &base, NULL, cur, "", &other, "", NULL);
+
+ free(base.ptr);
+ free(other.ptr);
+
+ return ret;
+}
+
+/*
* Find the conflict identified by "id"; the change between its
* "preimage" (i.e. a previous contents with conflict markers) and its
* "postimage" (i.e. the corresponding contents with conflicts
@@ -582,30 +662,20 @@ static int merge(const struct rerere_id *id, const char *path)
{
FILE *f;
int ret;
- mmfile_t cur = {NULL, 0}, base = {NULL, 0}, other = {NULL, 0};
+ mmfile_t cur = {NULL, 0};
mmbuffer_t result = {NULL, 0};
/*
* Normalize the conflicts in path and write it out to
* "thisimage" temporary file.
*/
- if (handle_file(path, NULL, rerere_path(id, "thisimage")) < 0) {
- ret = 1;
- goto out;
- }
-
- if (read_mmfile(&cur, rerere_path(id, "thisimage")) ||
- read_mmfile(&base, rerere_path(id, "preimage")) ||
- read_mmfile(&other, rerere_path(id, "postimage"))) {
+ if ((handle_file(path, NULL, rerere_path(id, "thisimage")) < 0) ||
+ read_mmfile(&cur, rerere_path(id, "thisimage"))) {
ret = 1;
goto out;
}
- /*
- * A three-way merge. Note that this honors user-customizable
- * low-level merge driver settings.
- */
- ret = ll_merge(&result, path, &base, NULL, &cur, "", &other, "", NULL);
+ ret = try_merge(id, path, &cur, &result);
if (ret)
goto out;
@@ -631,8 +701,6 @@ static int merge(const struct rerere_id *id, const char *path)
out:
free(cur.ptr);
- free(base.ptr);
- free(other.ptr);
free(result.ptr);
return ret;
@@ -661,6 +729,13 @@ static void update_paths(struct string_list *update)
rollback_lock_file(&index_lock);
}
+static void remove_variant(struct rerere_id *id)
+{
+ unlink_or_warn(rerere_path(id, "postimage"));
+ unlink_or_warn(rerere_path(id, "preimage"));
+ id->collection->status[id->variant] = 0;
+}
+
/*
* The path indicated by rr_item may still have conflict for which we
* have a recorded resolution, in which case replay it and optionally
@@ -672,12 +747,47 @@ static void do_rerere_one_path(struct string_list_item *rr_item,
struct string_list *update)
{
const char *path = rr_item->string;
- const struct rerere_id *id = rr_item->util;
+ struct rerere_id *id = rr_item->util;
+ struct rerere_dir *rr_dir = id->collection;
+ int variant;
+
+ variant = id->variant;
+
+ /* Has the user resolved it already? */
+ if (variant >= 0) {
+ if (!handle_file(path, NULL, NULL)) {
+ copy_file(rerere_path(id, "postimage"), path, 0666);
+ id->collection->status[variant] |= RR_HAS_POSTIMAGE;
+ fprintf(stderr, "Recorded resolution for '%s'.\n", path);
+ free_rerere_id(rr_item);
+ rr_item->util = NULL;
+ return;
+ }
+ /*
+ * There may be other variants that can cleanly
+ * replay. Try them and update the variant number for
+ * this one.
+ */
+ }
+
+ /* Does any existing resolution apply cleanly? */
+ for (variant = 0; variant < rr_dir->status_nr; variant++) {
+ const int both = RR_HAS_PREIMAGE | RR_HAS_POSTIMAGE;
+ struct rerere_id vid = *id;
+
+ if ((rr_dir->status[variant] & both) != both)
+ continue;
- /* Is there a recorded resolution we could attempt to apply? */
- if (has_rerere_resolution(id)) {
- if (merge(id, path))
- return; /* failed to replay */
+ vid.variant = variant;
+ if (merge(&vid, path))
+ continue; /* failed to replay */
+
+ /*
+ * If there already is a different variant that applies
+ * cleanly, there is no point maintaining our own variant.
+ */
+ if (0 <= id->variant && id->variant != variant)
+ remove_variant(id);
if (rerere_autoupdate)
string_list_insert(update, path);
@@ -685,15 +795,24 @@ static void do_rerere_one_path(struct string_list_item *rr_item,
fprintf(stderr,
"Resolved '%s' using previous resolution.\n",
path);
- } else if (!handle_file(path, NULL, NULL)) {
- /* The user has resolved it. */
- copy_file(rerere_path(id, "postimage"), path, 0666);
- fprintf(stderr, "Recorded resolution for '%s'.\n", path);
- } else {
+ free_rerere_id(rr_item);
+ rr_item->util = NULL;
return;
}
- free_rerere_id(rr_item);
- rr_item->util = NULL;
+
+ /* None of the existing one applies; we need a new variant */
+ assign_variant(id);
+
+ variant = id->variant;
+ handle_file(path, NULL, rerere_path(id, "preimage"));
+ if (id->collection->status[variant] & RR_HAS_POSTIMAGE) {
+ const char *path = rerere_path(id, "postimage");
+ if (unlink(path))
+ die_errno("cannot unlink stray '%s'", path);
+ id->collection->status[variant] &= ~RR_HAS_POSTIMAGE;
+ }
+ id->collection->status[variant] |= RR_HAS_PREIMAGE;
+ fprintf(stderr, "Recorded preimage for '%s'\n", path);
}
static int do_plain_rerere(struct string_list *rr, int fd)
@@ -731,24 +850,8 @@ static int do_plain_rerere(struct string_list *rr, int fd)
id = new_rerere_id(sha1);
string_list_insert(rr, path)->util = id;
- /*
- * If the directory does not exist, create
- * it. mkdir_in_gitdir() will fail with
- * EEXIST if there already is one.
- *
- * NEEDSWORK: make sure "gc" does not remove
- * preimage without removing the directory.
- */
- if (mkdir_in_gitdir(rerere_path(id, NULL)))
- continue;
-
- /*
- * We are the first to encounter this
- * conflict. Ask handle_file() to write the
- * normalized contents to the "preimage" file.
- */
- handle_file(path, NULL, rerere_path(id, "preimage"));
- fprintf(stderr, "Recorded preimage for '%s'\n", path);
+ /* Ensure that the directory exists. */
+ mkdir_in_gitdir(rerere_path(id, NULL));
}
for (i = 0; i < rr->nr; i++)
@@ -812,12 +915,111 @@ int setup_rerere(struct string_list *merge_rr, int flags)
int rerere(int flags)
{
struct string_list merge_rr = STRING_LIST_INIT_DUP;
- int fd;
+ int fd, status;
fd = setup_rerere(&merge_rr, flags);
if (fd < 0)
return 0;
- return do_plain_rerere(&merge_rr, fd);
+ status = do_plain_rerere(&merge_rr, fd);
+ free_rerere_dirs();
+ return status;
+}
+
+/*
+ * Subclass of rerere_io that reads from an in-core buffer that is a
+ * strbuf
+ */
+struct rerere_io_mem {
+ struct rerere_io io;
+ struct strbuf input;
+};
+
+/*
+ * ... and its getline() method implementation
+ */
+static int rerere_mem_getline(struct strbuf *sb, struct rerere_io *io_)
+{
+ struct rerere_io_mem *io = (struct rerere_io_mem *)io_;
+ char *ep;
+ size_t len;
+
+ strbuf_release(sb);
+ if (!io->input.len)
+ return -1;
+ ep = memchr(io->input.buf, '\n', io->input.len);
+ if (!ep)
+ ep = io->input.buf + io->input.len;
+ else if (*ep == '\n')
+ ep++;
+ len = ep - io->input.buf;
+ strbuf_add(sb, io->input.buf, len);
+ strbuf_remove(&io->input, 0, len);
+ return 0;
+}
+
+static int handle_cache(const char *path, unsigned char *sha1, const char *output)
+{
+ mmfile_t mmfile[3] = {{NULL}};
+ mmbuffer_t result = {NULL, 0};
+ const struct cache_entry *ce;
+ int pos, len, i, hunk_no;
+ struct rerere_io_mem io;
+ int marker_size = ll_merge_marker_size(path);
+
+ /*
+ * Reproduce the conflicted merge in-core
+ */
+ len = strlen(path);
+ pos = cache_name_pos(path, len);
+ if (0 <= pos)
+ return -1;
+ pos = -pos - 1;
+
+ while (pos < active_nr) {
+ enum object_type type;
+ unsigned long size;
+
+ ce = active_cache[pos++];
+ if (ce_namelen(ce) != len || memcmp(ce->name, path, len))
+ break;
+ i = ce_stage(ce) - 1;
+ if (!mmfile[i].ptr) {
+ mmfile[i].ptr = read_sha1_file(ce->sha1, &type, &size);
+ mmfile[i].size = size;
+ }
+ }
+ for (i = 0; i < 3; i++)
+ if (!mmfile[i].ptr && !mmfile[i].size)
+ mmfile[i].ptr = xstrdup("");
+
+ /*
+ * NEEDSWORK: handle conflicts from merges with
+ * merge.renormalize set, too?
+ */
+ ll_merge(&result, path, &mmfile[0], NULL,
+ &mmfile[1], "ours",
+ &mmfile[2], "theirs", NULL);
+ for (i = 0; i < 3; i++)
+ free(mmfile[i].ptr);
+
+ memset(&io, 0, sizeof(io));
+ io.io.getline = rerere_mem_getline;
+ if (output)
+ io.io.output = fopen(output, "w");
+ else
+ io.io.output = NULL;
+ strbuf_init(&io.input, 0);
+ strbuf_attach(&io.input, result.ptr, result.size, result.size);
+
+ /*
+ * Grab the conflict ID and optionally write the original
+ * contents with conflict markers out.
+ */
+ hunk_no = handle_path(sha1, (struct rerere_io *)&io, marker_size);
+ strbuf_release(&io.input);
+ if (io.io.output)
+ fclose(io.io.output);
+ return hunk_no;
}
static int rerere_forget_one_path(const char *path, struct string_list *rr)
@@ -838,6 +1040,33 @@ static int rerere_forget_one_path(const char *path, struct string_list *rr)
/* Nuke the recorded resolution for the conflict */
id = new_rerere_id(sha1);
+
+ for (id->variant = 0;
+ id->variant < id->collection->status_nr;
+ id->variant++) {
+ mmfile_t cur = { NULL, 0 };
+ mmbuffer_t result = {NULL, 0};
+ int cleanly_resolved;
+
+ if (!has_rerere_resolution(id))
+ continue;
+
+ handle_cache(path, sha1, rerere_path(id, "thisimage"));
+ if (read_mmfile(&cur, rerere_path(id, "thisimage"))) {
+ free(cur.ptr);
+ return error("Failed to update conflicted state in '%s'",
+ path);
+ }
+ cleanly_resolved = !try_merge(id, path, &cur, &result);
+ free(result.ptr);
+ free(cur.ptr);
+ if (cleanly_resolved)
+ break;
+ }
+
+ if (id->collection->status_nr <= id->variant)
+ return error("no remembered resolution for '%s'", path);
+
filename = rerere_path(id, "postimage");
if (unlink(filename))
return (errno == ENOENT
@@ -897,29 +1126,16 @@ int rerere_forget(struct pathspec *pathspec)
* Garbage collection support
*/
-/*
- * Note that this is not reentrant but is used only one-at-a-time
- * so it does not matter right now.
- */
-static struct rerere_id *dirname_to_id(const char *name)
-{
- static struct rerere_id id;
- xsnprintf(id.hex, sizeof(id.hex), "%s", name);
- return &id;
-}
-
-static time_t rerere_created_at(const char *dir_name)
+static time_t rerere_created_at(struct rerere_id *id)
{
struct stat st;
- struct rerere_id *id = dirname_to_id(dir_name);
return stat(rerere_path(id, "preimage"), &st) ? (time_t) 0 : st.st_mtime;
}
-static time_t rerere_last_used_at(const char *dir_name)
+static time_t rerere_last_used_at(struct rerere_id *id)
{
struct stat st;
- struct rerere_id *id = dirname_to_id(dir_name);
return stat(rerere_path(id, "postimage"), &st) ? (time_t) 0 : st.st_mtime;
}
@@ -929,15 +1145,28 @@ static time_t rerere_last_used_at(const char *dir_name)
*/
static void unlink_rr_item(struct rerere_id *id)
{
- unlink(rerere_path(id, "thisimage"));
- unlink(rerere_path(id, "preimage"));
- unlink(rerere_path(id, "postimage"));
- /*
- * NEEDSWORK: what if this rmdir() fails? Wouldn't we then
- * assume that we already have preimage recorded in
- * do_plain_rerere()?
- */
- rmdir(rerere_path(id, NULL));
+ unlink_or_warn(rerere_path(id, "thisimage"));
+ remove_variant(id);
+ id->collection->status[id->variant] = 0;
+}
+
+static void prune_one(struct rerere_id *id, time_t now,
+ int cutoff_resolve, int cutoff_noresolve)
+{
+ time_t then;
+ int cutoff;
+
+ then = rerere_last_used_at(id);
+ if (then)
+ cutoff = cutoff_resolve;
+ else {
+ then = rerere_created_at(id);
+ if (!then)
+ return;
+ cutoff = cutoff_noresolve;
+ }
+ if (then < now - cutoff * 86400)
+ unlink_rr_item(id);
}
void rerere_gc(struct string_list *rr)
@@ -945,8 +1174,8 @@ void rerere_gc(struct string_list *rr)
struct string_list to_remove = STRING_LIST_INIT_DUP;
DIR *dir;
struct dirent *e;
- int i, cutoff;
- time_t now = time(NULL), then;
+ int i;
+ time_t now = time(NULL);
int cutoff_noresolve = 15;
int cutoff_resolve = 60;
@@ -961,25 +1190,32 @@ void rerere_gc(struct string_list *rr)
die_errno("unable to open rr-cache directory");
/* Collect stale conflict IDs ... */
while ((e = readdir(dir))) {
+ struct rerere_dir *rr_dir;
+ struct rerere_id id;
+ int now_empty;
+
if (is_dot_or_dotdot(e->d_name))
continue;
-
- then = rerere_last_used_at(e->d_name);
- if (then) {
- cutoff = cutoff_resolve;
- } else {
- then = rerere_created_at(e->d_name);
- if (!then)
- continue;
- cutoff = cutoff_noresolve;
+ rr_dir = find_rerere_dir(e->d_name);
+ if (!rr_dir)
+ continue; /* or should we remove e->d_name? */
+
+ now_empty = 1;
+ for (id.variant = 0, id.collection = rr_dir;
+ id.variant < id.collection->status_nr;
+ id.variant++) {
+ prune_one(&id, now, cutoff_resolve, cutoff_noresolve);
+ if (id.collection->status[id.variant])
+ now_empty = 0;
}
- if (then < now - cutoff * 86400)
+ if (now_empty)
string_list_append(&to_remove, e->d_name);
}
closedir(dir);
- /* ... and then remove them one-by-one */
+
+ /* ... and then remove the empty directories */
for (i = 0; i < to_remove.nr; i++)
- unlink_rr_item(dirname_to_id(to_remove.items[i].string));
+ rmdir(git_path("rr-cache/%s", to_remove.items[i].string));
string_list_clear(&to_remove, 0);
rollback_lock_file(&write_lock);
}
@@ -1000,8 +1236,10 @@ void rerere_clear(struct string_list *merge_rr)
for (i = 0; i < merge_rr->nr; i++) {
struct rerere_id *id = merge_rr->items[i].util;
- if (!has_rerere_resolution(id))
+ if (!has_rerere_resolution(id)) {
unlink_rr_item(id);
+ rmdir(rerere_path(id, NULL));
+ }
}
unlink_or_warn(git_path_merge_rr());
rollback_lock_file(&write_lock);
diff --git a/rerere.h b/rerere.h
index 1222e91921..c2961feaaa 100644
--- a/rerere.h
+++ b/rerere.h
@@ -16,8 +16,10 @@ struct pathspec;
*/
extern void *RERERE_RESOLVED;
+struct rerere_dir;
struct rerere_id {
- char hex[41];
+ struct rerere_dir *collection;
+ int variant;
};
extern int setup_rerere(struct string_list *, int);
diff --git a/revision.c b/revision.c
index 82f3ca44b3..d30d1c4f80 100644
--- a/revision.c
+++ b/revision.c
@@ -59,10 +59,10 @@ static void mark_tree_contents_uninteresting(struct tree *tree)
while (tree_entry(&desc, &entry)) {
switch (object_type(entry.mode)) {
case OBJ_TREE:
- mark_tree_uninteresting(lookup_tree(entry.sha1));
+ mark_tree_uninteresting(lookup_tree(entry.oid->hash));
break;
case OBJ_BLOB:
- mark_blob_uninteresting(lookup_blob(entry.sha1));
+ mark_blob_uninteresting(lookup_blob(entry.oid->hash));
break;
default:
/* Subproject commit - not in this repository */
@@ -484,7 +484,7 @@ struct treesame_state {
static struct treesame_state *initialise_treesame(struct rev_info *revs, struct commit *commit)
{
unsigned n = commit_list_count(commit->parents);
- struct treesame_state *st = xcalloc(1, sizeof(*st) + n);
+ struct treesame_state *st = xcalloc(1, st_add(sizeof(*st), n));
st->nparents = n;
add_decoration(&revs->treesame, &commit->object, st);
return st;
@@ -1356,8 +1356,10 @@ void init_revisions(struct rev_info *revs, const char *prefix)
revs->skip_count = -1;
revs->max_count = -1;
revs->max_parents = -1;
+ revs->expand_tabs_in_log = -1;
revs->commit_format = CMIT_FMT_DEFAULT;
+ revs->expand_tabs_in_log_default = 8;
init_grep_defaults();
grep_init(&revs->grep_filter, prefix);
@@ -1854,6 +1856,15 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
revs->verbose_header = 1;
revs->pretty_given = 1;
get_commit_format(arg+9, revs);
+ } else if (!strcmp(arg, "--expand-tabs")) {
+ revs->expand_tabs_in_log = 8;
+ } else if (!strcmp(arg, "--no-expand-tabs")) {
+ revs->expand_tabs_in_log = 0;
+ } else if (skip_prefix(arg, "--expand-tabs=", &arg)) {
+ int val;
+ if (strtol_i(arg, 10, &val) < 0 || val < 0)
+ die("'%s': not a non-negative integer", arg);
+ revs->expand_tabs_in_log = val;
} else if (!strcmp(arg, "--show-notes") || !strcmp(arg, "--notes")) {
revs->show_notes = 1;
revs->show_notes_given = 1;
@@ -2327,6 +2338,9 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
if (revs->first_parent_only && revs->bisect)
die(_("--first-parent is incompatible with --bisect"));
+ if (revs->expand_tabs_in_log < 0)
+ revs->expand_tabs_in_log = revs->expand_tabs_in_log_default;
+
return left;
}
diff --git a/revision.h b/revision.h
index dca0d38171..9fac1a607d 100644
--- a/revision.h
+++ b/revision.h
@@ -148,6 +148,8 @@ struct rev_info {
linear:1;
struct date_mode date_mode;
+ int expand_tabs_in_log; /* unset if negative */
+ int expand_tabs_in_log_default;
unsigned int abbrev;
enum cmit_fmt commit_format;
diff --git a/run-command.c b/run-command.c
index cdf0184579..f5c57a5fc7 100644
--- a/run-command.c
+++ b/run-command.c
@@ -160,50 +160,41 @@ int sane_execvp(const char *file, char * const argv[])
return -1;
}
-static const char **prepare_shell_cmd(const char **argv)
+static const char **prepare_shell_cmd(struct argv_array *out, const char **argv)
{
- int argc, nargc = 0;
- const char **nargv;
-
- for (argc = 0; argv[argc]; argc++)
- ; /* just counting */
- /* +1 for NULL, +3 for "sh -c" plus extra $0 */
- nargv = xmalloc(sizeof(*nargv) * (argc + 1 + 3));
-
- if (argc < 1)
+ if (!argv[0])
die("BUG: shell command is empty");
if (strcspn(argv[0], "|&;<>()$`\\\"' \t\n*?[#~=%") != strlen(argv[0])) {
#ifndef GIT_WINDOWS_NATIVE
- nargv[nargc++] = SHELL_PATH;
+ argv_array_push(out, SHELL_PATH);
#else
- nargv[nargc++] = "sh";
+ argv_array_push(out, "sh");
#endif
- nargv[nargc++] = "-c";
-
- if (argc < 2)
- nargv[nargc++] = argv[0];
- else {
- struct strbuf arg0 = STRBUF_INIT;
- strbuf_addf(&arg0, "%s \"$@\"", argv[0]);
- nargv[nargc++] = strbuf_detach(&arg0, NULL);
- }
- }
+ argv_array_push(out, "-c");
- for (argc = 0; argv[argc]; argc++)
- nargv[nargc++] = argv[argc];
- nargv[nargc] = NULL;
+ /*
+ * If we have no extra arguments, we do not even need to
+ * bother with the "$@" magic.
+ */
+ if (!argv[1])
+ argv_array_push(out, argv[0]);
+ else
+ argv_array_pushf(out, "%s \"$@\"", argv[0]);
+ }
- return nargv;
+ argv_array_pushv(out, argv);
+ return out->argv;
}
#ifndef GIT_WINDOWS_NATIVE
static int execv_shell_cmd(const char **argv)
{
- const char **nargv = prepare_shell_cmd(argv);
- trace_argv_printf(nargv, "trace: exec:");
- sane_execvp(nargv[0], (char **)nargv);
- free(nargv);
+ struct argv_array nargv = ARGV_ARRAY_INIT;
+ prepare_shell_cmd(&nargv, argv);
+ trace_argv_printf(nargv.argv, "trace: exec:");
+ sane_execvp(nargv.argv[0], (char **)nargv.argv);
+ argv_array_clear(&nargv);
return -1;
}
#endif
@@ -457,6 +448,7 @@ fail_pipe:
{
int fhin = 0, fhout = 1, fherr = 2;
const char **sargv = cmd->argv;
+ struct argv_array nargv = ARGV_ARRAY_INIT;
if (cmd->no_stdin)
fhin = open("/dev/null", O_RDWR);
@@ -482,9 +474,9 @@ fail_pipe:
fhout = dup(cmd->out);
if (cmd->git_cmd)
- cmd->argv = prepare_git_cmd(cmd->argv);
+ cmd->argv = prepare_git_cmd(&nargv, cmd->argv);
else if (cmd->use_shell)
- cmd->argv = prepare_shell_cmd(cmd->argv);
+ cmd->argv = prepare_shell_cmd(&nargv, cmd->argv);
cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, (char**) cmd->env,
cmd->dir, fhin, fhout, fherr);
@@ -494,9 +486,7 @@ fail_pipe:
if (cmd->clean_on_exit && cmd->pid >= 0)
mark_child_for_cleanup(cmd->pid);
- if (cmd->git_cmd)
- free(cmd->argv);
-
+ argv_array_clear(&nargv);
cmd->argv = sargv;
if (fhin != 0)
close(fhin);
@@ -600,6 +590,16 @@ static void *run_thread(void *data)
struct async *async = data;
intptr_t ret;
+ if (async->isolate_sigpipe) {
+ sigset_t mask;
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGPIPE);
+ if (pthread_sigmask(SIG_BLOCK, &mask, NULL) < 0) {
+ ret = error("unable to block SIGPIPE in async thread");
+ return (void *)ret;
+ }
+ }
+
pthread_setspecific(async_key, async);
ret = async->proc(async->proc_in, async->proc_out, async->data);
return (void *)ret;
@@ -635,6 +635,11 @@ int in_async(void)
return !pthread_equal(main_thread, pthread_self());
}
+void NORETURN async_exit(int code)
+{
+ pthread_exit((void *)(intptr_t)code);
+}
+
#else
static struct {
@@ -680,6 +685,11 @@ int in_async(void)
return process_is_async;
}
+void NORETURN async_exit(int code)
+{
+ exit(code);
+}
+
#endif
int start_async(struct async *async)
@@ -815,7 +825,10 @@ const char *find_hook(const char *name)
static struct strbuf path = STRBUF_INIT;
strbuf_reset(&path);
- strbuf_git_path(&path, "hooks/%s", name);
+ if (git_hooks_path)
+ strbuf_addf(&path, "%s/%s", git_hooks_path, name);
+ else
+ strbuf_git_path(&path, "hooks/%s", name);
if (access(path.buf, X_OK) < 0)
return NULL;
return path.buf;
@@ -902,35 +915,18 @@ struct parallel_processes {
struct strbuf buffered_output; /* of finished children */
};
-static int default_start_failure(struct child_process *cp,
- struct strbuf *err,
+static int default_start_failure(struct strbuf *out,
void *pp_cb,
void *pp_task_cb)
{
- int i;
-
- strbuf_addstr(err, "Starting a child failed:");
- for (i = 0; cp->argv[i]; i++)
- strbuf_addf(err, " %s", cp->argv[i]);
-
return 0;
}
static int default_task_finished(int result,
- struct child_process *cp,
- struct strbuf *err,
+ struct strbuf *out,
void *pp_cb,
void *pp_task_cb)
{
- int i;
-
- if (!result)
- return 0;
-
- strbuf_addf(err, "A child failed with return code %d:", result);
- for (i = 0; cp->argv[i]; i++)
- strbuf_addf(err, " %s", cp->argv[i]);
-
return 0;
}
@@ -1011,7 +1007,7 @@ static void pp_cleanup(struct parallel_processes *pp)
* When get_next_task added messages to the buffer in its last
* iteration, the buffered output is non empty.
*/
- fputs(pp->buffered_output.buf, stderr);
+ strbuf_write(&pp->buffered_output, stderr);
strbuf_release(&pp->buffered_output);
sigchain_pop_common();
@@ -1048,8 +1044,7 @@ static int pp_start_one(struct parallel_processes *pp)
pp->children[i].process.no_stdin = 1;
if (start_command(&pp->children[i].process)) {
- code = pp->start_failure(&pp->children[i].process,
- &pp->children[i].err,
+ code = pp->start_failure(&pp->children[i].err,
pp->data,
&pp->children[i].data);
strbuf_addbuf(&pp->buffered_output, &pp->children[i].err);
@@ -1097,7 +1092,7 @@ static void pp_output(struct parallel_processes *pp)
int i = pp->output_owner;
if (pp->children[i].state == GIT_CP_WORKING &&
pp->children[i].err.len) {
- fputs(pp->children[i].err.buf, stderr);
+ strbuf_write(&pp->children[i].err, stderr);
strbuf_reset(&pp->children[i].err);
}
}
@@ -1117,7 +1112,7 @@ static int pp_collect_finished(struct parallel_processes *pp)
code = finish_command(&pp->children[i].process);
- code = pp->task_finished(code, &pp->children[i].process,
+ code = pp->task_finished(code,
&pp->children[i].err, pp->data,
&pp->children[i].data);
@@ -1135,11 +1130,11 @@ static int pp_collect_finished(struct parallel_processes *pp)
strbuf_addbuf(&pp->buffered_output, &pp->children[i].err);
strbuf_reset(&pp->children[i].err);
} else {
- fputs(pp->children[i].err.buf, stderr);
+ strbuf_write(&pp->children[i].err, stderr);
strbuf_reset(&pp->children[i].err);
/* Output all other finished child processes */
- fputs(pp->buffered_output.buf, stderr);
+ strbuf_write(&pp->buffered_output, stderr);
strbuf_reset(&pp->buffered_output);
/*
diff --git a/run-command.h b/run-command.h
index d5a57f9227..11f76b04ed 100644
--- a/run-command.h
+++ b/run-command.h
@@ -116,11 +116,13 @@ struct async {
int proc_in;
int proc_out;
#endif
+ int isolate_sigpipe;
};
int start_async(struct async *async);
int finish_async(struct async *async);
int in_async(void);
+void NORETURN async_exit(int code);
/**
* This callback should initialize the child process and preload the
@@ -139,7 +141,7 @@ int in_async(void);
* return the negative signal number.
*/
typedef int (*get_next_task_fn)(struct child_process *cp,
- struct strbuf *err,
+ struct strbuf *out,
void *pp_cb,
void **pp_task_cb);
@@ -148,7 +150,7 @@ typedef int (*get_next_task_fn)(struct child_process *cp,
* a new process.
*
* You must not write to stdout or stderr in this function. Add your
- * message to the strbuf err instead, which will be printed without
+ * message to the strbuf out instead, which will be printed without
* messing up the output of the other parallel processes.
*
* pp_cb is the callback cookie as passed into run_processes_parallel,
@@ -158,8 +160,7 @@ typedef int (*get_next_task_fn)(struct child_process *cp,
* To send a signal to other child processes for abortion, return
* the negative signal number.
*/
-typedef int (*start_failure_fn)(struct child_process *cp,
- struct strbuf *err,
+typedef int (*start_failure_fn)(struct strbuf *out,
void *pp_cb,
void *pp_task_cb);
@@ -167,7 +168,7 @@ typedef int (*start_failure_fn)(struct child_process *cp,
* This callback is called on every child process that finished processing.
*
* You must not write to stdout or stderr in this function. Add your
- * message to the strbuf err instead, which will be printed without
+ * message to the strbuf out instead, which will be printed without
* messing up the output of the other parallel processes.
*
* pp_cb is the callback cookie as passed into run_processes_parallel,
@@ -178,8 +179,7 @@ typedef int (*start_failure_fn)(struct child_process *cp,
* the negative signal number.
*/
typedef int (*task_finished_fn)(int result,
- struct child_process *cp,
- struct strbuf *err,
+ struct strbuf *out,
void *pp_cb,
void *pp_task_cb);
@@ -192,9 +192,8 @@ typedef int (*task_finished_fn)(int result,
* (both stdout and stderr) is routed to stderr in a manner that output
* from different tasks does not interleave.
*
- * If start_failure_fn or task_finished_fn are NULL, default handlers
- * will be used. The default handlers will print an error message on
- * error without issuing an emergency stop.
+ * start_failure_fn and task_finished_fn can be NULL to omit any
+ * special handling.
*/
int run_processes_parallel(int n,
get_next_task_fn,
diff --git a/send-pack.c b/send-pack.c
index 047bd18fde..37ee04ea3b 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -518,6 +518,7 @@ int send_pack(struct send_pack_args *args,
demux.proc = sideband_demux;
demux.data = fd;
demux.out = -1;
+ demux.isolate_sigpipe = 1;
if (start_async(&demux))
die("send-pack: unable to fork off sideband demultiplexer");
in = demux.out;
@@ -531,8 +532,10 @@ int send_pack(struct send_pack_args *args,
close(out);
if (git_connection_is_socket(conn))
shutdown(fd[0], SHUT_WR);
- if (use_sideband)
+ if (use_sideband) {
+ close(demux.out);
finish_async(&demux);
+ }
fd[1] = -1;
return -1;
}
@@ -551,11 +554,11 @@ int send_pack(struct send_pack_args *args,
packet_flush(out);
if (use_sideband && cmds_sent) {
+ close(demux.out);
if (finish_async(&demux)) {
error("error in sideband demultiplexer");
ret = -1;
}
- close(demux.out);
}
if (ret < 0)
diff --git a/sequencer.c b/sequencer.c
index 80487860c8..e66f2fe0f0 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -124,42 +124,33 @@ static const char *action_name(const struct replay_opts *opts)
struct commit_message {
char *parent_label;
- const char *label;
- const char *subject;
+ char *label;
+ char *subject;
const char *message;
};
static int get_message(struct commit *commit, struct commit_message *out)
{
const char *abbrev, *subject;
- int abbrev_len, subject_len;
- char *q;
-
- if (!git_commit_encoding)
- git_commit_encoding = "UTF-8";
+ int subject_len;
- out->message = logmsg_reencode(commit, NULL, git_commit_encoding);
+ out->message = logmsg_reencode(commit, NULL, get_commit_output_encoding());
abbrev = find_unique_abbrev(commit->object.oid.hash, DEFAULT_ABBREV);
- abbrev_len = strlen(abbrev);
subject_len = find_commit_subject(out->message, &subject);
- out->parent_label = xmalloc(strlen("parent of ") + abbrev_len +
- strlen("... ") + subject_len + 1);
- q = out->parent_label;
- q = mempcpy(q, "parent of ", strlen("parent of "));
- out->label = q;
- q = mempcpy(q, abbrev, abbrev_len);
- q = mempcpy(q, "... ", strlen("... "));
- out->subject = q;
- q = mempcpy(q, subject, subject_len);
- *q = '\0';
+ out->subject = xmemdupz(subject, subject_len);
+ out->label = xstrfmt("%s... %s", abbrev, out->subject);
+ out->parent_label = xstrfmt("parent of %s", out->label);
+
return 0;
}
static void free_message(struct commit *commit, struct commit_message *msg)
{
free(msg->parent_label);
+ free(msg->label);
+ free(msg->subject);
unuse_commit_buffer(commit, msg->message);
}
diff --git a/setup.c b/setup.c
index 59ec6587aa..c86bf5c9fa 100644
--- a/setup.c
+++ b/setup.c
@@ -5,7 +5,9 @@
static int inside_git_dir = -1;
static int inside_work_tree = -1;
static int work_tree_config_is_bogus;
-static struct string_list unknown_extensions = STRING_LIST_INIT_DUP;
+
+static struct startup_info the_startup_info;
+struct startup_info *startup_info = &the_startup_info;
/*
* The input parameter must contain an absolute path, and it must already be
@@ -88,7 +90,7 @@ char *prefix_path_gently(const char *prefix, int len,
const char *orig = path;
char *sanitized;
if (is_absolute_path(orig)) {
- sanitized = xmalloc(strlen(path) + 1);
+ sanitized = xmallocz(strlen(path));
if (remaining_prefix)
*remaining_prefix = 0;
if (normalize_path_copy_len(sanitized, path, remaining_prefix)) {
@@ -100,7 +102,7 @@ char *prefix_path_gently(const char *prefix, int len,
return NULL;
}
} else {
- sanitized = xstrfmt("%.*s%s", len, prefix, path);
+ sanitized = xstrfmt("%.*s%s", len, len ? prefix : "", path);
if (remaining_prefix)
*remaining_prefix = len;
if (normalize_path_copy_len(sanitized, sanitized, remaining_prefix)) {
@@ -370,14 +372,13 @@ void setup_work_tree(void)
initialized = 1;
}
-static int check_repo_format(const char *var, const char *value, void *cb)
+static int check_repo_format(const char *var, const char *value, void *vdata)
{
+ struct repository_format *data = vdata;
const char *ext;
if (strcmp(var, "core.repositoryformatversion") == 0)
- repository_format_version = git_config_int(var, value);
- else if (strcmp(var, "core.sharedrepository") == 0)
- shared_repository = git_config_perm(var, value);
+ data->version = git_config_int(var, value);
else if (skip_prefix(var, "extensions.", &ext)) {
/*
* record any known extensions here; otherwise,
@@ -387,9 +388,15 @@ static int check_repo_format(const char *var, const char *value, void *cb)
if (!strcmp(ext, "noop"))
;
else if (!strcmp(ext, "preciousobjects"))
- repository_format_precious_objects = git_config_bool(var, value);
+ data->precious_objects = git_config_bool(var, value);
else
- string_list_append(&unknown_extensions, ext);
+ string_list_append(&data->unknown_extensions, ext);
+ } else if (strcmp(var, "core.bare") == 0) {
+ data->is_bare = git_config_bool(var, value);
+ } else if (strcmp(var, "core.worktree") == 0) {
+ if (!value)
+ return config_error_nonbool(var);
+ data->work_tree = xstrdup(value);
}
return 0;
}
@@ -397,56 +404,84 @@ static int check_repo_format(const char *var, const char *value, void *cb)
static int check_repository_format_gently(const char *gitdir, int *nongit_ok)
{
struct strbuf sb = STRBUF_INIT;
- const char *repo_config;
- config_fn_t fn;
- int ret = 0;
-
- string_list_clear(&unknown_extensions, 0);
+ struct strbuf err = STRBUF_INIT;
+ struct repository_format candidate;
+ int has_common;
- if (get_common_dir(&sb, gitdir))
- fn = check_repo_format;
- else
- fn = check_repository_format_version;
+ has_common = get_common_dir(&sb, gitdir);
strbuf_addstr(&sb, "/config");
- repo_config = sb.buf;
+ read_repository_format(&candidate, sb.buf);
+ strbuf_release(&sb);
/*
- * git_config() can't be used here because it calls git_pathdup()
- * to get $GIT_CONFIG/config. That call will make setup_git_env()
- * set git_dir to ".git".
- *
- * We are in gitdir setup, no git dir has been found useable yet.
- * Use a gentler version of git_config() to check if this repo
- * is a good one.
+ * For historical use of check_repository_format() in git-init,
+ * we treat a missing config as a silent "ok", even when nongit_ok
+ * is unset.
*/
- git_config_early(fn, NULL, repo_config);
- if (GIT_REPO_VERSION_READ < repository_format_version) {
- if (!nongit_ok)
- die ("Expected git repo version <= %d, found %d",
- GIT_REPO_VERSION_READ, repository_format_version);
- warning("Expected git repo version <= %d, found %d",
- GIT_REPO_VERSION_READ, repository_format_version);
- warning("Please upgrade Git");
- *nongit_ok = -1;
- ret = -1;
+ if (candidate.version < 0)
+ return 0;
+
+ if (verify_repository_format(&candidate, &err) < 0) {
+ if (nongit_ok) {
+ warning("%s", err.buf);
+ strbuf_release(&err);
+ *nongit_ok = -1;
+ return -1;
+ }
+ die("%s", err.buf);
+ }
+
+ repository_format_precious_objects = candidate.precious_objects;
+ string_list_clear(&candidate.unknown_extensions, 0);
+ if (!has_common) {
+ if (candidate.is_bare != -1) {
+ is_bare_repository_cfg = candidate.is_bare;
+ if (is_bare_repository_cfg == 1)
+ inside_work_tree = -1;
+ }
+ if (candidate.work_tree) {
+ free(git_work_tree_cfg);
+ git_work_tree_cfg = candidate.work_tree;
+ inside_work_tree = -1;
+ }
+ } else {
+ free(candidate.work_tree);
+ }
+
+ return 0;
+}
+
+int read_repository_format(struct repository_format *format, const char *path)
+{
+ memset(format, 0, sizeof(*format));
+ format->version = -1;
+ format->is_bare = -1;
+ string_list_init(&format->unknown_extensions, 1);
+ git_config_from_file(check_repo_format, path, format);
+ return format->version;
+}
+
+int verify_repository_format(const struct repository_format *format,
+ struct strbuf *err)
+{
+ if (GIT_REPO_VERSION_READ < format->version) {
+ strbuf_addf(err, _("Expected git repo version <= %d, found %d"),
+ GIT_REPO_VERSION_READ, format->version);
+ return -1;
}
- if (repository_format_version >= 1 && unknown_extensions.nr) {
+ if (format->version >= 1 && format->unknown_extensions.nr) {
int i;
- if (!nongit_ok)
- die("unknown repository extension: %s",
- unknown_extensions.items[0].string);
+ strbuf_addstr(err, _("unknown repository extensions found:"));
- for (i = 0; i < unknown_extensions.nr; i++)
- warning("unknown repository extension: %s",
- unknown_extensions.items[i].string);
- *nongit_ok = -1;
- ret = -1;
+ for (i = 0; i < format->unknown_extensions.nr; i++)
+ strbuf_addf(err, "\n\t%s",
+ format->unknown_extensions.items[i].string);
+ return -1;
}
- strbuf_release(&sb);
- return ret;
+ return 0;
}
/*
@@ -486,14 +521,13 @@ const char *read_gitfile_gently(const char *path, int *return_error_code)
error_code = READ_GITFILE_ERR_OPEN_FAILED;
goto cleanup_return;
}
- buf = xmalloc(st.st_size + 1);
+ buf = xmallocz(st.st_size);
len = read_in_full(fd, buf, st.st_size);
close(fd);
if (len != st.st_size) {
error_code = READ_GITFILE_ERR_READ_FAILED;
goto cleanup_return;
}
- buf[len] = '\0';
if (!starts_with(buf, "gitdir: ")) {
error_code = READ_GITFILE_ERR_INVALID_FORMAT;
goto cleanup_return;
@@ -906,10 +940,9 @@ const char *setup_git_directory_gently(int *nongit_ok)
else
setenv(GIT_PREFIX_ENVIRONMENT, "", 1);
- if (startup_info) {
- startup_info->have_repository = !nongit_ok || !*nongit_ok;
- startup_info->prefix = prefix;
- }
+ startup_info->have_repository = !nongit_ok || !*nongit_ok;
+ startup_info->prefix = prefix;
+
return prefix;
}
@@ -964,28 +997,10 @@ int git_config_perm(const char *var, const char *value)
return -(i & 0666);
}
-int check_repository_format_version(const char *var, const char *value, void *cb)
-{
- int ret = check_repo_format(var, value, cb);
- if (ret)
- return ret;
- if (strcmp(var, "core.bare") == 0) {
- is_bare_repository_cfg = git_config_bool(var, value);
- if (is_bare_repository_cfg == 1)
- inside_work_tree = -1;
- } else if (strcmp(var, "core.worktree") == 0) {
- if (!value)
- return config_error_nonbool(var);
- free(git_work_tree_cfg);
- git_work_tree_cfg = xstrdup(value);
- inside_work_tree = -1;
- }
- return 0;
-}
-
-int check_repository_format(void)
+void check_repository_format(void)
{
- return check_repository_format_gently(get_git_dir(), NULL);
+ check_repository_format_gently(get_git_dir(), NULL);
+ startup_info->have_repository = 1;
}
/*
diff --git a/sha1_file.c b/sha1_file.c
index aab1872b4c..d0f2aa029b 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -253,7 +253,7 @@ static int link_alt_odb_entry(const char *entry, const char *relative_base,
{
struct alternate_object_database *ent;
struct alternate_object_database *alt;
- int pfxlen, entlen;
+ size_t pfxlen, entlen;
struct strbuf pathbuf = STRBUF_INIT;
if (!is_absolute_path(entry) && relative_base) {
@@ -273,8 +273,8 @@ static int link_alt_odb_entry(const char *entry, const char *relative_base,
while (pfxlen && pathbuf.buf[pfxlen-1] == '/')
pfxlen -= 1;
- entlen = pfxlen + 43; /* '/' + 2 hex + '/' + 38 hex + NUL */
- ent = xmalloc(sizeof(*ent) + entlen);
+ entlen = st_add(pfxlen, 43); /* '/' + 2 hex + '/' + 38 hex + NUL */
+ ent = xmalloc(st_add(sizeof(*ent), entlen));
memcpy(ent->base, pathbuf.buf, pfxlen);
strbuf_release(&pathbuf);
@@ -1076,6 +1076,8 @@ unsigned char *use_pack(struct packed_git *p,
die("packfile %s cannot be accessed", p->pack_name);
if (offset > (p->pack_size - 20))
die("offset beyond end of packfile (truncated pack?)");
+ if (offset < 0)
+ die(_("offset before end of packfile (broken .idx?)"));
if (!win || !in_window(win, offset)) {
if (win)
@@ -1134,7 +1136,7 @@ unsigned char *use_pack(struct packed_git *p,
static struct packed_git *alloc_packed_git(int extra)
{
- struct packed_git *p = xmalloc(sizeof(*p) + extra);
+ struct packed_git *p = xmalloc(st_add(sizeof(*p), extra));
memset(p, 0, sizeof(*p));
p->pack_fd = -1;
return p;
@@ -1168,7 +1170,7 @@ struct packed_git *add_packed_git(const char *path, size_t path_len, int local)
* ".pack" is long enough to hold any suffix we're adding (and
* the use xsnprintf double-checks that)
*/
- alloc = path_len + strlen(".pack") + 1;
+ alloc = st_add3(path_len, strlen(".pack"), 1);
p = alloc_packed_git(alloc);
memcpy(p->pack_name, path, path_len);
@@ -1196,7 +1198,7 @@ struct packed_git *add_packed_git(const char *path, size_t path_len, int local)
struct packed_git *parse_pack_index(unsigned char *sha1, const char *idx_path)
{
const char *path = sha1_pack_name(sha1);
- int alloc = strlen(path) + 1;
+ size_t alloc = st_add(strlen(path), 1);
struct packed_git *p = alloc_packed_git(alloc);
memcpy(p->pack_name, path, alloc); /* includes NUL */
@@ -1413,10 +1415,12 @@ static void mark_bad_packed_object(struct packed_git *p,
{
unsigned i;
for (i = 0; i < p->num_bad_objects; i++)
- if (!hashcmp(sha1, p->bad_object_sha1 + 20 * i))
+ if (!hashcmp(sha1, p->bad_object_sha1 + GIT_SHA1_RAWSZ * i))
return;
- p->bad_object_sha1 = xrealloc(p->bad_object_sha1, 20 * (p->num_bad_objects + 1));
- hashcpy(p->bad_object_sha1 + 20 * p->num_bad_objects, sha1);
+ p->bad_object_sha1 = xrealloc(p->bad_object_sha1,
+ st_mult(GIT_SHA1_RAWSZ,
+ st_add(p->num_bad_objects, 1)));
+ hashcpy(p->bad_object_sha1 + GIT_SHA1_RAWSZ * p->num_bad_objects, sha1);
p->num_bad_objects++;
}
@@ -1942,7 +1946,7 @@ static enum object_type packed_to_object_type(struct packed_git *p,
/* Push the object we're going to leave behind */
if (poi_stack_nr >= poi_stack_alloc && poi_stack == small_poi_stack) {
poi_stack_alloc = alloc_nr(poi_stack_nr);
- poi_stack = xmalloc(sizeof(off_t)*poi_stack_alloc);
+ ALLOC_ARRAY(poi_stack, poi_stack_alloc);
memcpy(poi_stack, small_poi_stack, sizeof(off_t)*poi_stack_nr);
} else {
ALLOC_GROW(poi_stack, poi_stack_nr+1, poi_stack_alloc);
@@ -2308,7 +2312,7 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
if (delta_stack_nr >= delta_stack_alloc
&& delta_stack == small_delta_stack) {
delta_stack_alloc = alloc_nr(delta_stack_nr);
- delta_stack = xmalloc(sizeof(*delta_stack)*delta_stack_alloc);
+ ALLOC_ARRAY(delta_stack, delta_stack_alloc);
memcpy(delta_stack, small_delta_stack,
sizeof(*delta_stack)*delta_stack_nr);
} else {
@@ -2446,6 +2450,20 @@ const unsigned char *nth_packed_object_sha1(struct packed_git *p,
}
}
+void check_pack_index_ptr(const struct packed_git *p, const void *vptr)
+{
+ const unsigned char *ptr = vptr;
+ const unsigned char *start = p->index_data;
+ const unsigned char *end = start + p->index_size;
+ if (ptr < start)
+ die(_("offset before start of pack index for %s (corrupt index?)"),
+ p->pack_name);
+ /* No need to check for underflow; .idx files must be at least 8 bytes */
+ if (ptr >= end - 8)
+ die(_("offset beyond end of pack index for %s (truncated index?)"),
+ p->pack_name);
+}
+
off_t nth_packed_object_offset(const struct packed_git *p, uint32_t n)
{
const unsigned char *index = p->index_data;
@@ -2459,6 +2477,7 @@ off_t nth_packed_object_offset(const struct packed_git *p, uint32_t n)
if (!(off & 0x80000000))
return off;
index += p->num_objects * 4 + (off & 0x7fffffff) * 8;
+ check_pack_index_ptr(p, index);
return (((uint64_t)ntohl(*((uint32_t *)(index + 0)))) << 32) |
ntohl(*((uint32_t *)(index + 4)));
}
diff --git a/sha1_name.c b/sha1_name.c
index d0f844db89..ca7ddd6f2c 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -87,9 +87,8 @@ static void find_short_object_filename(int len, const char *hex_pfx, struct disa
* object databases including our own.
*/
const char *objdir = get_object_directory();
- int objdir_len = strlen(objdir);
- int entlen = objdir_len + 43;
- fakeent = xmalloc(sizeof(*fakeent) + entlen);
+ size_t objdir_len = strlen(objdir);
+ fakeent = xmalloc(st_add3(sizeof(*fakeent), objdir_len, 43));
memcpy(fakeent->base, objdir, objdir_len);
fakeent->name = fakeent->base + objdir_len + 1;
fakeent->name[-1] = '/';
@@ -1216,6 +1215,15 @@ int get_sha1(const char *name, unsigned char *sha1)
}
/*
+ * This is like "get_sha1()", but for struct object_id.
+ */
+int get_oid(const char *name, struct object_id *oid)
+{
+ return get_sha1(name, oid->hash);
+}
+
+
+/*
* Many callers know that the user meant to name a commit-ish by
* syntactical positions where the object name appears. Calling this
* function allows the machinery to disambiguate shorter-than-unique
@@ -1354,9 +1362,6 @@ static char *resolve_relative_path(const char *rel)
if (!starts_with(rel, "./") && !starts_with(rel, "../"))
return NULL;
- if (!startup_info)
- die("BUG: startup_info struct is not initialized.");
-
if (!is_inside_work_tree())
die("relative path syntax can't be used outside working tree.");
diff --git a/shallow.c b/shallow.c
index 60f1505d97..4d554caf8d 100644
--- a/shallow.c
+++ b/shallow.c
@@ -315,8 +315,8 @@ void prepare_shallow_info(struct shallow_info *info, struct sha1_array *sa)
info->shallow = sa;
if (!sa)
return;
- info->ours = xmalloc(sizeof(*info->ours) * sa->nr);
- info->theirs = xmalloc(sizeof(*info->theirs) * sa->nr);
+ ALLOC_ARRAY(info->ours, sa->nr);
+ ALLOC_ARRAY(info->theirs, sa->nr);
for (i = 0; i < sa->nr; i++) {
if (has_sha1_file(sa->sha1[i])) {
struct commit_graft *graft;
@@ -389,7 +389,7 @@ static void paint_down(struct paint_info *info, const unsigned char *sha1,
unsigned int i, nr;
struct commit_list *head = NULL;
int bitmap_nr = (info->nr_bits + 31) / 32;
- int bitmap_size = bitmap_nr * sizeof(uint32_t);
+ size_t bitmap_size = st_mult(bitmap_nr, sizeof(uint32_t));
uint32_t *tmp = xmalloc(bitmap_size); /* to be freed before return */
uint32_t *bitmap = paint_alloc(info);
struct commit *c = lookup_commit_reference_gently(sha1, 1);
@@ -487,7 +487,7 @@ void assign_shallow_commits_to_refs(struct shallow_info *info,
struct paint_info pi;
trace_printf_key(&trace_shallow, "shallow: assign_shallow_commits_to_refs\n");
- shallow = xmalloc(sizeof(*shallow) * (info->nr_ours + info->nr_theirs));
+ ALLOC_ARRAY(shallow, info->nr_ours + info->nr_theirs);
for (i = 0; i < info->nr_ours; i++)
shallow[nr_shallow++] = info->ours[i];
for (i = 0; i < info->nr_theirs; i++)
diff --git a/show-index.c b/show-index.c
index d9e4903fed..acf8d5445a 100644
--- a/show-index.c
+++ b/show-index.c
@@ -50,7 +50,8 @@ int main(int argc, char **argv)
unsigned char sha1[20];
uint32_t crc;
uint32_t off;
- } *entries = xmalloc(nr * sizeof(entries[0]));
+ } *entries;
+ ALLOC_ARRAY(entries, nr);
for (i = 0; i < nr; i++)
if (fread(entries[i].sha1, 20, 1, stdin) != 1)
die("unable to read sha1 %u/%u", i, nr);
diff --git a/split-index.c b/split-index.c
index 968b780a06..3c75d4b9ce 100644
--- a/split-index.c
+++ b/split-index.c
@@ -60,7 +60,7 @@ static void mark_base_index_entries(struct index_state *base)
* To keep track of the shared entries between
* istate->base->cache[] and istate->cache[], base entry
* position is stored in each base entry. All positions start
- * from 1 instead of 0, which is resrved to say "this is a new
+ * from 1 instead of 0, which is reserved to say "this is a new
* entry".
*/
for (i = 0; i < base->cache_nr; i++)
diff --git a/strbuf.c b/strbuf.c
index bab316dda8..1ba600bd78 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -395,6 +395,12 @@ ssize_t strbuf_read_once(struct strbuf *sb, int fd, size_t hint)
return cnt;
}
+ssize_t strbuf_write(struct strbuf *sb, FILE *f)
+{
+ return sb->len ? fwrite(sb->buf, 1, sb->len, f) : 0;
+}
+
+
#define STRBUF_MAXLINK (2*PATH_MAX)
int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint)
@@ -481,9 +487,15 @@ int strbuf_getwholeline(struct strbuf *sb, FILE *fp, int term)
if (errno == ENOMEM)
die("Out of memory, getdelim failed");
- /* Restore slopbuf that we moved out of the way before */
+ /*
+ * Restore strbuf invariants; if getdelim left us with a NULL pointer,
+ * we can just re-init, but otherwise we should make sure that our
+ * length is empty, and that the result is NUL-terminated.
+ */
if (!sb->buf)
strbuf_init(sb, 0);
+ else
+ strbuf_reset(sb);
return EOF;
}
#else
@@ -718,7 +730,7 @@ char *xstrdup_tolower(const char *string)
size_t len, i;
len = strlen(string);
- result = xmalloc(len + 1);
+ result = xmallocz(len);
for (i = 0; i < len; i++)
result[i] = tolower(string[i]);
result[i] = '\0';
diff --git a/strbuf.h b/strbuf.h
index f72fd14c2e..7987405313 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -387,6 +387,12 @@ extern ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint
extern int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint);
/**
+ * Write the whole content of the strbuf to the stream not stopping at
+ * NUL bytes.
+ */
+extern ssize_t strbuf_write(struct strbuf *sb, FILE *stream);
+
+/**
* Read a line from a FILE *, overwriting the existing contents of
* the strbuf. The strbuf_getline*() family of functions share
* this signature, but have different line termination conventions.
diff --git a/string-list.c b/string-list.c
index 2a32a3f1f5..62d20846cb 100644
--- a/string-list.c
+++ b/string-list.c
@@ -231,12 +231,12 @@ void string_list_sort(struct string_list *list)
struct string_list_item *unsorted_string_list_lookup(struct string_list *list,
const char *string)
{
- int i;
+ struct string_list_item *item;
compare_strings_fn cmp = list->cmp ? list->cmp : strcmp;
- for (i = 0; i < list->nr; i++)
- if (!cmp(string, list->items[i].string))
- return list->items + i;
+ for_each_string_list_item(item, list)
+ if (!cmp(string, item->string))
+ return item;
return NULL;
}
diff --git a/submodule-config.c b/submodule-config.c
index fe8ceabf30..debab294d4 100644
--- a/submodule-config.c
+++ b/submodule-config.c
@@ -30,7 +30,7 @@ enum lookup_type {
lookup_path
};
-static struct submodule_cache cache;
+static struct submodule_cache the_submodule_cache;
static int is_cache_init;
static int config_path_cmp(const struct submodule_entry *a,
@@ -59,6 +59,7 @@ static void free_one_config(struct submodule_entry *entry)
{
free((void *) entry->config->path);
free((void *) entry->config->name);
+ free((void *) entry->config->update_strategy.command);
free(entry->config);
}
@@ -194,6 +195,8 @@ static struct submodule *lookup_or_create_by_name(struct submodule_cache *cache,
submodule->path = NULL;
submodule->url = NULL;
+ submodule->update_strategy.type = SM_UPDATE_UNSPECIFIED;
+ submodule->update_strategy.command = NULL;
submodule->fetch_recurse = RECURSE_SUBMODULES_NONE;
submodule->ignore = NULL;
@@ -293,7 +296,7 @@ static int parse_config(const char *var, const char *value, void *data)
if (!strcmp(item.buf, "path")) {
if (!value)
ret = config_error_nonbool(var);
- else if (!me->overwrite && submodule->path != NULL)
+ else if (!me->overwrite && submodule->path)
warn_multiple_config(me->commit_sha1, submodule->name,
"path");
else {
@@ -317,7 +320,7 @@ static int parse_config(const char *var, const char *value, void *data)
} else if (!strcmp(item.buf, "ignore")) {
if (!value)
ret = config_error_nonbool(var);
- else if (!me->overwrite && submodule->ignore != NULL)
+ else if (!me->overwrite && submodule->ignore)
warn_multiple_config(me->commit_sha1, submodule->name,
"ignore");
else if (strcmp(value, "untracked") &&
@@ -333,13 +336,23 @@ static int parse_config(const char *var, const char *value, void *data)
} else if (!strcmp(item.buf, "url")) {
if (!value) {
ret = config_error_nonbool(var);
- } else if (!me->overwrite && submodule->url != NULL) {
+ } else if (!me->overwrite && submodule->url) {
warn_multiple_config(me->commit_sha1, submodule->name,
"url");
} else {
free((void *) submodule->url);
submodule->url = xstrdup(value);
}
+ } else if (!strcmp(item.buf, "update")) {
+ if (!value)
+ ret = config_error_nonbool(var);
+ else if (!me->overwrite &&
+ submodule->update_strategy.type != SM_UPDATE_UNSPECIFIED)
+ warn_multiple_config(me->commit_sha1, submodule->name,
+ "update");
+ else if (parse_submodule_update_strategy(value,
+ &submodule->update_strategy) < 0)
+ die(_("invalid value for %s"), var);
}
strbuf_release(&name);
@@ -392,8 +405,7 @@ static const struct submodule *config_from(struct submodule_cache *cache,
struct hashmap_iter iter;
struct submodule_entry *entry;
- hashmap_iter_init(&cache->for_name, &iter);
- entry = hashmap_iter_next(&iter);
+ entry = hashmap_iter_first(&cache->for_name, &iter);
if (!entry)
return NULL;
return entry->config;
@@ -427,8 +439,8 @@ static const struct submodule *config_from(struct submodule_cache *cache,
parameter.commit_sha1 = commit_sha1;
parameter.gitmodules_sha1 = sha1;
parameter.overwrite = 0;
- git_config_from_buf(parse_config, rev.buf, config, config_size,
- &parameter);
+ git_config_from_mem(parse_config, "submodule-blob", rev.buf,
+ config, config_size, &parameter);
free(config);
switch (lookup_type) {
@@ -458,14 +470,14 @@ static void ensure_cache_init(void)
if (is_cache_init)
return;
- cache_init(&cache);
+ cache_init(&the_submodule_cache);
is_cache_init = 1;
}
int parse_submodule_config_option(const char *var, const char *value)
{
struct parse_config_parameter parameter;
- parameter.cache = &cache;
+ parameter.cache = &the_submodule_cache;
parameter.commit_sha1 = NULL;
parameter.gitmodules_sha1 = null_sha1;
parameter.overwrite = 1;
@@ -478,18 +490,18 @@ const struct submodule *submodule_from_name(const unsigned char *commit_sha1,
const char *name)
{
ensure_cache_init();
- return config_from_name(&cache, commit_sha1, name);
+ return config_from_name(&the_submodule_cache, commit_sha1, name);
}
const struct submodule *submodule_from_path(const unsigned char *commit_sha1,
const char *path)
{
ensure_cache_init();
- return config_from_path(&cache, commit_sha1, path);
+ return config_from_path(&the_submodule_cache, commit_sha1, path);
}
void submodule_free(void)
{
- cache_free(&cache);
+ cache_free(&the_submodule_cache);
is_cache_init = 0;
}
diff --git a/submodule-config.h b/submodule-config.h
index 9bfa65af03..e4857f53a8 100644
--- a/submodule-config.h
+++ b/submodule-config.h
@@ -2,6 +2,7 @@
#define SUBMODULE_CONFIG_CACHE_H
#include "hashmap.h"
+#include "submodule.h"
#include "strbuf.h"
/*
@@ -14,6 +15,7 @@ struct submodule {
const char *url;
int fetch_recurse;
const char *ignore;
+ struct submodule_update_strategy update_strategy;
/* the sha1 blob id of the responsible .gitmodules file */
unsigned char gitmodules_sha1[20];
};
diff --git a/submodule.c b/submodule.c
index d598881114..4532b11d66 100644
--- a/submodule.c
+++ b/submodule.c
@@ -16,6 +16,7 @@
#include "quote.h"
static int config_fetch_recurse_submodules = RECURSE_SUBMODULES_ON_DEMAND;
+static int parallel_jobs = 1;
static struct string_list changed_submodule_paths;
static int initialized_fetch_ref_tips;
static struct sha1_array ref_tips_before_fetch;
@@ -70,7 +71,7 @@ int update_path_in_gitmodules(const char *oldpath, const char *newpath)
strbuf_addstr(&entry, "submodule.");
strbuf_addstr(&entry, submodule->name);
strbuf_addstr(&entry, ".path");
- if (git_config_set_in_file(".gitmodules", entry.buf, newpath) < 0) {
+ if (git_config_set_in_file_gently(".gitmodules", entry.buf, newpath) < 0) {
/* Maybe the user already did that, don't error out here */
warning(_("Could not update .gitmodules entry %s"), entry.buf);
strbuf_release(&entry);
@@ -124,7 +125,7 @@ static int add_submodule_odb(const char *path)
struct strbuf objects_directory = STRBUF_INIT;
struct alternate_object_database *alt_odb;
int ret = 0;
- int alloc;
+ size_t alloc;
strbuf_git_path_submodule(&objects_directory, path, "objects/");
if (!is_directory(objects_directory.buf)) {
@@ -139,8 +140,8 @@ static int add_submodule_odb(const char *path)
objects_directory.len))
goto done;
- alloc = objects_directory.len + 42; /* for "12/345..." sha1 */
- alt_odb = xmalloc(sizeof(*alt_odb) + alloc);
+ alloc = st_add(objects_directory.len, 42); /* for "12/345..." sha1 */
+ alt_odb = xmalloc(st_add(sizeof(*alt_odb), alloc));
alt_odb->next = alt_odb_list;
xsnprintf(alt_odb->base, alloc, "%s", objects_directory.buf);
alt_odb->name = alt_odb->base + objects_directory.len;
@@ -170,7 +171,12 @@ void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt,
int submodule_config(const char *var, const char *value, void *cb)
{
- if (starts_with(var, "submodule."))
+ if (!strcmp(var, "submodule.fetchjobs")) {
+ parallel_jobs = git_config_int(var, value);
+ if (parallel_jobs < 0)
+ die(_("negative values not allowed for submodule.fetchJobs"));
+ return 0;
+ } else if (starts_with(var, "submodule."))
return parse_submodule_config_option(var, value);
else if (!strcmp(var, "fetch.recursesubmodules")) {
config_fetch_recurse_submodules = parse_fetch_recurse_submodules_arg(var, value);
@@ -211,6 +217,48 @@ void gitmodules_config(void)
}
}
+int parse_submodule_update_strategy(const char *value,
+ struct submodule_update_strategy *dst)
+{
+ free((void*)dst->command);
+ dst->command = NULL;
+ if (!strcmp(value, "none"))
+ dst->type = SM_UPDATE_NONE;
+ else if (!strcmp(value, "checkout"))
+ dst->type = SM_UPDATE_CHECKOUT;
+ else if (!strcmp(value, "rebase"))
+ dst->type = SM_UPDATE_REBASE;
+ else if (!strcmp(value, "merge"))
+ dst->type = SM_UPDATE_MERGE;
+ else if (skip_prefix(value, "!", &value)) {
+ dst->type = SM_UPDATE_COMMAND;
+ dst->command = xstrdup(value);
+ } else
+ return -1;
+ return 0;
+}
+
+const char *submodule_strategy_to_string(const struct submodule_update_strategy *s)
+{
+ struct strbuf sb = STRBUF_INIT;
+ switch (s->type) {
+ case SM_UPDATE_CHECKOUT:
+ return "checkout";
+ case SM_UPDATE_MERGE:
+ return "merge";
+ case SM_UPDATE_REBASE:
+ return "rebase";
+ case SM_UPDATE_NONE:
+ return "none";
+ case SM_UPDATE_UNSPECIFIED:
+ return NULL;
+ case SM_UPDATE_COMMAND:
+ strbuf_addf(&sb, "!%s", s->command);
+ return strbuf_detach(&sb, NULL);
+ }
+ return NULL;
+}
+
void handle_ignore_submodules_arg(struct diff_options *diffopt,
const char *arg)
{
@@ -706,8 +754,7 @@ static int get_next_submodule(struct child_process *cp,
return 0;
}
-static int fetch_start_failure(struct child_process *cp,
- struct strbuf *err,
+static int fetch_start_failure(struct strbuf *err,
void *cb, void *task_cb)
{
struct submodule_parallel_fetch *spf = cb;
@@ -717,8 +764,8 @@ static int fetch_start_failure(struct child_process *cp,
return 0;
}
-static int fetch_finish(int retvalue, struct child_process *cp,
- struct strbuf *err, void *cb, void *task_cb)
+static int fetch_finish(int retvalue, struct strbuf *err,
+ void *cb, void *task_cb)
{
struct submodule_parallel_fetch *spf = cb;
@@ -752,6 +799,9 @@ int fetch_populated_submodules(const struct argv_array *options,
argv_array_push(&spf.args, "--recurse-submodules-default");
/* default value, "--submodule-prefix" and its value are added later */
+ if (max_parallel_jobs < 0)
+ max_parallel_jobs = parallel_jobs;
+
calculate_changed_submodule_paths();
run_processes_parallel(max_parallel_jobs,
get_next_submodule,
@@ -1088,17 +1138,20 @@ void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir)
/* Update core.worktree setting */
strbuf_reset(&file_name);
strbuf_addf(&file_name, "%s/config", git_dir);
- if (git_config_set_in_file(file_name.buf, "core.worktree",
- relative_path(real_work_tree, git_dir,
- &rel_path)))
- die(_("Could not set core.worktree in %s"),
- file_name.buf);
+ git_config_set_in_file(file_name.buf, "core.worktree",
+ relative_path(real_work_tree, git_dir,
+ &rel_path));
strbuf_release(&file_name);
strbuf_release(&rel_path);
free((void *)real_work_tree);
}
+int parallel_submodules(void)
+{
+ return parallel_jobs;
+}
+
void prepare_submodule_repo_env(struct argv_array *out)
{
const char * const *var;
diff --git a/submodule.h b/submodule.h
index 869d259fac..2af9390998 100644
--- a/submodule.h
+++ b/submodule.h
@@ -14,6 +14,21 @@ enum {
RECURSE_SUBMODULES_ON = 2
};
+enum submodule_update_type {
+ SM_UPDATE_UNSPECIFIED = 0,
+ SM_UPDATE_CHECKOUT,
+ SM_UPDATE_REBASE,
+ SM_UPDATE_MERGE,
+ SM_UPDATE_NONE,
+ SM_UPDATE_COMMAND
+};
+
+struct submodule_update_strategy {
+ enum submodule_update_type type;
+ const char *command;
+};
+#define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED, NULL}
+
int is_staging_gitmodules_ok(void);
int update_path_in_gitmodules(const char *oldpath, const char *newpath);
int remove_path_from_gitmodules(const char *path);
@@ -22,6 +37,9 @@ void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt,
const char *path);
int submodule_config(const char *var, const char *value, void *cb);
void gitmodules_config(void);
+int parse_submodule_update_strategy(const char *value,
+ struct submodule_update_strategy *dst);
+const char *submodule_strategy_to_string(const struct submodule_update_strategy *s);
void handle_ignore_submodules_arg(struct diff_options *diffopt, const char *);
void show_submodule_summary(FILE *f, const char *path,
const char *line_prefix,
@@ -42,6 +60,7 @@ int find_unpushed_submodules(unsigned char new_sha1[20], const char *remotes_nam
struct string_list *needs_pushing);
int push_unpushed_submodules(unsigned char new_sha1[20], const char *remotes_name);
void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir);
+int parallel_submodules(void);
/*
* Prepare the "env_array" parameter of a "struct child_process" for executing
diff --git a/t/helper/.gitignore b/t/helper/.gitignore
new file mode 100644
index 0000000000..d6e8b36798
--- /dev/null
+++ b/t/helper/.gitignore
@@ -0,0 +1,33 @@
+/test-chmtime
+/test-ctype
+/test-config
+/test-date
+/test-delta
+/test-dump-cache-tree
+/test-dump-split-index
+/test-dump-untracked-cache
+/test-fake-ssh
+/test-scrap-cache-tree
+/test-genrandom
+/test-hashmap
+/test-index-version
+/test-line-buffer
+/test-match-trees
+/test-mergesort
+/test-mktemp
+/test-parse-options
+/test-path-utils
+/test-prio-queue
+/test-read-cache
+/test-regex
+/test-revision-walking
+/test-run-command
+/test-sha1
+/test-sha1-array
+/test-sigchain
+/test-string-list
+/test-submodule-config
+/test-subprocess
+/test-svn-fe
+/test-urlmatch-normalization
+/test-wildmatch
diff --git a/test-chmtime.c b/t/helper/test-chmtime.c
index dfe8a83261..dfe8a83261 100644
--- a/test-chmtime.c
+++ b/t/helper/test-chmtime.c
diff --git a/test-config.c b/t/helper/test-config.c
index 6a77552210..6a77552210 100644
--- a/test-config.c
+++ b/t/helper/test-config.c
diff --git a/test-ctype.c b/t/helper/test-ctype.c
index 707a821f03..707a821f03 100644
--- a/test-ctype.c
+++ b/t/helper/test-ctype.c
diff --git a/test-date.c b/t/helper/test-date.c
index 63f373557e..63f373557e 100644
--- a/test-date.c
+++ b/t/helper/test-date.c
diff --git a/test-delta.c b/t/helper/test-delta.c
index 4595cd6433..4595cd6433 100644
--- a/test-delta.c
+++ b/t/helper/test-delta.c
diff --git a/test-dump-cache-tree.c b/t/helper/test-dump-cache-tree.c
index bb53c0aa65..bb53c0aa65 100644
--- a/test-dump-cache-tree.c
+++ b/t/helper/test-dump-cache-tree.c
diff --git a/test-dump-split-index.c b/t/helper/test-dump-split-index.c
index 861d28c9b6..861d28c9b6 100644
--- a/test-dump-split-index.c
+++ b/t/helper/test-dump-split-index.c
diff --git a/test-dump-untracked-cache.c b/t/helper/test-dump-untracked-cache.c
index 0a1c285246..0a1c285246 100644
--- a/test-dump-untracked-cache.c
+++ b/t/helper/test-dump-untracked-cache.c
diff --git a/test-fake-ssh.c b/t/helper/test-fake-ssh.c
index 980de216e1..980de216e1 100644
--- a/test-fake-ssh.c
+++ b/t/helper/test-fake-ssh.c
diff --git a/test-genrandom.c b/t/helper/test-genrandom.c
index 54824d0754..54824d0754 100644
--- a/test-genrandom.c
+++ b/t/helper/test-genrandom.c
diff --git a/test-hashmap.c b/t/helper/test-hashmap.c
index cc2891dd97..cc2891dd97 100644
--- a/test-hashmap.c
+++ b/t/helper/test-hashmap.c
diff --git a/test-index-version.c b/t/helper/test-index-version.c
index 05d4699c4a..05d4699c4a 100644
--- a/test-index-version.c
+++ b/t/helper/test-index-version.c
diff --git a/test-line-buffer.c b/t/helper/test-line-buffer.c
index 1e58f0476f..1e58f0476f 100644
--- a/test-line-buffer.c
+++ b/t/helper/test-line-buffer.c
diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c
new file mode 100644
index 0000000000..d446b8eaca
--- /dev/null
+++ b/t/helper/test-match-trees.c
@@ -0,0 +1,26 @@
+#include "cache.h"
+#include "tree.h"
+
+int main(int ac, char **av)
+{
+ struct object_id hash1, hash2, shifted;
+ struct tree *one, *two;
+
+ setup_git_directory();
+
+ if (get_oid(av[1], &hash1))
+ die("cannot parse %s as an object name", av[1]);
+ if (get_oid(av[2], &hash2))
+ die("cannot parse %s as an object name", av[2]);
+ one = parse_tree_indirect(hash1.hash);
+ if (!one)
+ die("not a tree-ish %s", av[1]);
+ two = parse_tree_indirect(hash2.hash);
+ if (!two)
+ die("not a tree-ish %s", av[2]);
+
+ shift_tree(&one->object.oid, &two->object.oid, &shifted, -1);
+ printf("shifted: %s\n", oid_to_hex(&shifted));
+
+ exit(0);
+}
diff --git a/test-mergesort.c b/t/helper/test-mergesort.c
index ea3b959e94..ea3b959e94 100644
--- a/test-mergesort.c
+++ b/t/helper/test-mergesort.c
diff --git a/test-mktemp.c b/t/helper/test-mktemp.c
index c8c54213a3..c8c54213a3 100644
--- a/test-mktemp.c
+++ b/t/helper/test-mktemp.c
diff --git a/test-parse-options.c b/t/helper/test-parse-options.c
index 2c8c8f18ed..2c8c8f18ed 100644
--- a/test-parse-options.c
+++ b/t/helper/test-parse-options.c
diff --git a/test-path-utils.c b/t/helper/test-path-utils.c
index 6232dfe661..ba805b374c 100644
--- a/test-path-utils.c
+++ b/t/helper/test-path-utils.c
@@ -8,21 +8,14 @@
*/
static int normalize_ceiling_entry(struct string_list_item *item, void *unused)
{
- const char *ceil = item->string;
- int len = strlen(ceil);
- char buf[PATH_MAX+1];
+ char *ceil = item->string;
- if (len == 0)
+ if (!*ceil)
die("Empty path is not supported");
- if (len > PATH_MAX)
- die("Path \"%s\" is too long", ceil);
if (!is_absolute_path(ceil))
die("Path \"%s\" is not absolute", ceil);
- if (normalize_path_copy(buf, ceil) < 0)
+ if (normalize_path_copy(ceil, ceil) < 0)
die("Path \"%s\" could not be normalized", ceil);
- len = strlen(buf);
- free(item->string);
- item->string = xstrdup(buf);
return 1;
}
@@ -166,7 +159,7 @@ static struct test_data dirname_data[] = {
int main(int argc, char **argv)
{
if (argc == 3 && !strcmp(argv[1], "normalize_path_copy")) {
- char *buf = xmalloc(PATH_MAX + 1);
+ char *buf = xmallocz(strlen(argv[2]));
int rv = normalize_path_copy(buf, argv[2]);
if (rv)
buf = "++failed++";
diff --git a/test-prio-queue.c b/t/helper/test-prio-queue.c
index 7be72f0086..7be72f0086 100644
--- a/test-prio-queue.c
+++ b/t/helper/test-prio-queue.c
diff --git a/test-read-cache.c b/t/helper/test-read-cache.c
index b25bcf139b..b25bcf139b 100644
--- a/test-read-cache.c
+++ b/t/helper/test-read-cache.c
diff --git a/test-regex.c b/t/helper/test-regex.c
index 0dc598ecdc..0dc598ecdc 100644
--- a/test-regex.c
+++ b/t/helper/test-regex.c
diff --git a/test-revision-walking.c b/t/helper/test-revision-walking.c
index 285f06b7ff..3d0313354b 100644
--- a/test-revision-walking.c
+++ b/t/helper/test-revision-walking.c
@@ -50,6 +50,8 @@ int main(int argc, char **argv)
if (argc < 2)
return 1;
+ setup_git_directory();
+
if (!strcmp(argv[1], "run-twice")) {
printf("1st\n");
if (!run_revision_walk())
diff --git a/test-run-command.c b/t/helper/test-run-command.c
index fbe0a27ef3..30a64a98dc 100644
--- a/test-run-command.c
+++ b/t/helper/test-run-command.c
@@ -41,7 +41,6 @@ static int no_job(struct child_process *cp,
}
static int task_finished(int result,
- struct child_process *cp,
struct strbuf *err,
void *pp_cb,
void *pp_task_cb)
diff --git a/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c
index 6efee31a48..6efee31a48 100644
--- a/test-scrap-cache-tree.c
+++ b/t/helper/test-scrap-cache-tree.c
diff --git a/test-sha1-array.c b/t/helper/test-sha1-array.c
index 60ea1d5f14..60ea1d5f14 100644
--- a/test-sha1-array.c
+++ b/t/helper/test-sha1-array.c
diff --git a/test-sha1.c b/t/helper/test-sha1.c
index e57eae10bf..e57eae10bf 100644
--- a/test-sha1.c
+++ b/t/helper/test-sha1.c
diff --git a/test-sha1.sh b/t/helper/test-sha1.sh
index cef4bcc866..750b95a0a1 100755
--- a/test-sha1.sh
+++ b/t/helper/test-sha1.sh
@@ -1,7 +1,7 @@
#!/bin/sh
dd if=/dev/zero bs=1048576 count=100 2>/dev/null |
-/usr/bin/time ./test-sha1 >/dev/null
+/usr/bin/time t/helper/test-sha1 >/dev/null
while read expect cnt pfx
do
@@ -11,7 +11,7 @@ do
test -z "$pfx" || echo "$pfx"
dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null |
perl -pe 'y/\000/g/'
- } | ./test-sha1 $cnt
+ } | ./t/helper/test-sha1 $cnt
)
if test "$expect" = "$actual"
then
diff --git a/test-sigchain.c b/t/helper/test-sigchain.c
index e499fce60f..e499fce60f 100644
--- a/test-sigchain.c
+++ b/t/helper/test-sigchain.c
diff --git a/test-string-list.c b/t/helper/test-string-list.c
index 14bdf9d215..14bdf9d215 100644
--- a/test-string-list.c
+++ b/t/helper/test-string-list.c
diff --git a/test-submodule-config.c b/t/helper/test-submodule-config.c
index dab8c27768..dab8c27768 100644
--- a/test-submodule-config.c
+++ b/t/helper/test-submodule-config.c
diff --git a/test-subprocess.c b/t/helper/test-subprocess.c
index 56881a0324..56881a0324 100644
--- a/test-subprocess.c
+++ b/t/helper/test-subprocess.c
diff --git a/test-svn-fe.c b/t/helper/test-svn-fe.c
index 120ec96b0d..120ec96b0d 100644
--- a/test-svn-fe.c
+++ b/t/helper/test-svn-fe.c
diff --git a/test-urlmatch-normalization.c b/t/helper/test-urlmatch-normalization.c
index 090bf219a7..090bf219a7 100644
--- a/test-urlmatch-normalization.c
+++ b/t/helper/test-urlmatch-normalization.c
diff --git a/test-wildmatch.c b/t/helper/test-wildmatch.c
index 578b164fe6..578b164fe6 100644
--- a/test-wildmatch.c
+++ b/t/helper/test-wildmatch.c
diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh
index f9ae1d780d..54fd5a6ca0 100644
--- a/t/lib-git-p4.sh
+++ b/t/lib-git-p4.sh
@@ -33,7 +33,7 @@ fi
# Older versions of perforce were available compiled natively for
# cygwin. Those do not accept native windows paths, so make sure
# not to convert for them.
-native_path() {
+native_path () {
path="$1" &&
if test_have_prereq CYGWIN && ! p4 -V | grep -q CYGWIN
then
@@ -49,8 +49,8 @@ native_path() {
# Attention: This function is not safe again against time offset updates
# at runtime (e.g. via NTP). The 'clock_gettime(CLOCK_MONOTONIC)'
# function could fix that but it is not in Python until 3.3.
-time_in_seconds() {
- python -c 'import time; print int(time.time())'
+time_in_seconds () {
+ (cd / && "$PYTHON_PATH" -c 'import time; print(int(time.time()))')
}
# Try to pick a unique port: guess a large number, then hope
@@ -75,7 +75,7 @@ git="$TRASH_DIRECTORY/git"
pidfile="$TRASH_DIRECTORY/p4d.pid"
# Sometimes "prove" seems to hang on exit because p4d is still running
-cleanup() {
+cleanup () {
if test -f "$pidfile"
then
kill -9 $(cat "$pidfile") 2>/dev/null && exit 255
@@ -89,7 +89,7 @@ trap cleanup EXIT
TMPDIR="$TRASH_DIRECTORY"
export TMPDIR
-start_p4d() {
+start_p4d () {
mkdir -p "$db" "$cli" "$git" &&
rm -f "$pidfile" &&
(
@@ -151,7 +151,7 @@ start_p4d() {
return 0
}
-p4_add_user() {
+p4_add_user () {
name=$1 &&
p4 user -f -i <<-EOF
User: $name
@@ -160,7 +160,16 @@ p4_add_user() {
EOF
}
-retry_until_success() {
+p4_add_job () {
+ p4 job -f -i <<-EOF
+ Job: $1
+ Status: open
+ User: dummy
+ Description:
+ EOF
+}
+
+retry_until_success () {
timeout=$(($(time_in_seconds) + $RETRY_TIMEOUT))
until "$@" 2>/dev/null || test $(time_in_seconds) -gt $timeout
do
@@ -168,7 +177,7 @@ retry_until_success() {
done
}
-retry_until_fail() {
+retry_until_fail () {
timeout=$(($(time_in_seconds) + $RETRY_TIMEOUT))
until ! "$@" 2>/dev/null || test $(time_in_seconds) -gt $timeout
do
@@ -176,7 +185,7 @@ retry_until_fail() {
done
}
-kill_p4d() {
+kill_p4d () {
pid=$(cat "$pidfile")
retry_until_fail kill $pid
retry_until_fail kill -9 $pid
@@ -186,21 +195,22 @@ kill_p4d() {
retry_until_fail kill -9 $watchdog_pid
}
-cleanup_git() {
+cleanup_git () {
retry_until_success rm -r "$git"
test_must_fail test -d "$git" &&
retry_until_success mkdir "$git"
}
-marshal_dump() {
+marshal_dump () {
what=$1 &&
line=${2:-1} &&
cat >"$TRASH_DIRECTORY/marshal-dump.py" <<-EOF &&
import marshal
import sys
+ instream = getattr(sys.stdin, 'buffer', sys.stdin)
for i in range($line):
- d = marshal.load(sys.stdin)
- print d['$what']
+ d = marshal.load(instream)
+ print(d[b'$what'].decode('utf-8'))
EOF
"$PYTHON_PATH" "$TRASH_DIRECTORY/marshal-dump.py"
}
@@ -208,7 +218,7 @@ marshal_dump() {
#
# Construct a client with this list of View lines
#
-client_view() {
+client_view () {
(
cat <<-EOF &&
Client: $P4CLIENT
@@ -222,7 +232,7 @@ client_view() {
) | p4 client -i
}
-is_cli_file_writeable() {
+is_cli_file_writeable () {
# cygwin version of p4 does not set read-only attr,
# will be marked 444 but -w is true
file="$1" &&
diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh
index db2ef22e8f..ec2aa8f687 100755
--- a/t/lib-gpg.sh
+++ b/t/lib-gpg.sh
@@ -1,9 +1,8 @@
#!/bin/sh
gpg_version=$(gpg --version 2>&1)
-if test $? = 127; then
- say "You do not seem to have gpg installed"
-else
+if test $? != 127
+then
# As said here: http://www.gnupg.org/documentation/faqs.html#q6.19
# the gpg version 1.0.6 didn't parse trust packets correctly, so for
# that version, creation of signed tags using the generated key fails.
diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf
index f667e7ce2f..b8ed96fac6 100644
--- a/t/lib-httpd/apache.conf
+++ b/t/lib-httpd/apache.conf
@@ -74,6 +74,7 @@ PassEnv GIT_VALGRIND_OPTIONS
PassEnv GNUPGHOME
PassEnv ASAN_OPTIONS
PassEnv GIT_TRACE
+PassEnv GIT_CONFIG_NOSYSTEM
Alias /dumb/ www/
Alias /auth/dumb/ www/auth/dumb/
@@ -101,6 +102,14 @@ Alias /auth/dumb/ www/auth/dumb/
SetEnv GIT_HTTP_EXPORT_ALL
Header set Set-Cookie name=value
</LocationMatch>
+<LocationMatch /smart_headers/>
+ <RequireAll>
+ Require expr %{HTTP:x-magic-one} == 'abra'
+ Require expr %{HTTP:x-magic-two} == 'cadabra'
+ </RequireAll>
+ SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
+ SetEnv GIT_HTTP_EXPORT_ALL
+</LocationMatch>
ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
ScriptAlias /broken_smart/ broken-smart-http.sh/
ScriptAlias /error/ error.sh/
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index 79b9074172..60811a3a7c 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -98,7 +98,7 @@ check_sub_test_lib_test () {
}
check_sub_test_lib_test_err () {
- name="$1" # stdin is the expected output output from the test
+ name="$1" # stdin is the expected output from the test
# expected error output is in descriptior 3
(
cd "$name" &&
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index 295aa5949a..a5b9e7a4c7 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -88,19 +88,17 @@ test_expect_success 'plain nested in bare through aliased command' '
'
test_expect_success 'No extra GIT_* on alias scripts' '
- (
- env | sed -ne "/^GIT_/s/=.*//p" &&
- echo GIT_PREFIX && # setup.c
- echo GIT_TEXTDOMAINDIR # wrapper-for-bin.sh
- ) | sort | uniq >expected &&
- cat <<-\EOF >script &&
- #!/bin/sh
- env | sed -ne "/^GIT_/s/=.*//p" | sort >actual
- exit 0
+ write_script script <<-\EOF &&
+ env |
+ sed -n \
+ -e "/^GIT_PREFIX=/d" \
+ -e "/^GIT_TEXTDOMAINDIR=/d" \
+ -e "/^GIT_/s/=.*//p" |
+ sort
EOF
- chmod 755 script &&
+ ./script >expected &&
git config alias.script \!./script &&
- ( mkdir sub && cd sub && git script ) &&
+ ( mkdir sub && cd sub && git script >../actual ) &&
test_cmp expected actual
'
diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
index 504e5a02a1..f33962b178 100755
--- a/t/t0027-auto-crlf.sh
+++ b/t/t0027-auto-crlf.sh
@@ -21,38 +21,32 @@ compare_ws_file () {
pfx=$1
exp=$2.expect
act=$pfx.actual.$3
- tr '\015\000' QN <"$2" >"$exp" &&
- tr '\015\000' QN <"$3" >"$act" &&
- test_cmp $exp $act &&
- rm $exp $act
+ tr '\015\000abcdef0123456789' QN00000000000000000 <"$2" >"$exp" &&
+ tr '\015\000abcdef0123456789' QN00000000000000000 <"$3" >"$act" &&
+ test_cmp "$exp" "$act" &&
+ rm "$exp" "$act"
}
create_gitattributes () {
- attr=$1
- case "$attr" in
- auto)
- echo "*.txt text=auto" >.gitattributes
- ;;
- text)
- echo "*.txt text" >.gitattributes
- ;;
- -text)
- echo "*.txt -text" >.gitattributes
- ;;
- crlf)
- echo "*.txt eol=crlf" >.gitattributes
- ;;
- lf)
- echo "*.txt eol=lf" >.gitattributes
- ;;
- "")
- echo >.gitattributes
- ;;
- *)
- echo >&2 invalid attribute: $attr
- exit 1
- ;;
- esac
+ {
+ while test "$#" != 0
+ do
+ case "$1" in
+ auto) echo '*.txt text=auto' ;;
+ ident) echo '*.txt ident' ;;
+ text) echo '*.txt text' ;;
+ -text) echo '*.txt -text' ;;
+ crlf) echo '*.txt eol=crlf' ;;
+ lf) echo '*.txt eol=lf' ;;
+ "") ;;
+ *)
+ echo >&2 invalid attribute: "$1"
+ exit 1
+ ;;
+ esac &&
+ shift
+ done
+ } >.gitattributes
}
create_NNO_files () {
@@ -165,6 +159,25 @@ stats_ascii () {
}
+
+# contruct the attr/ returned by git ls-files --eol
+# Take none (=empty), one or two args
+attr_ascii () {
+ case $1,$2 in
+ -text,*) echo "-text" ;;
+ text,) echo "text" ;;
+ text,lf) echo "text eol=lf" ;;
+ text,crlf) echo "text eol=crlf" ;;
+ auto,) echo "text=auto" ;;
+ auto,lf) echo "text=auto eol=lf" ;;
+ auto,crlf) echo "text=auto eol=crlf" ;;
+ lf,) echo "text eol=lf" ;;
+ crlf,) echo "text eol=crlf" ;;
+ ,) echo "" ;;
+ *) echo invalid_attr "$1,$2" ;;
+ esac
+}
+
check_files_in_repo () {
crlf=$1
attr=$2
@@ -208,55 +221,57 @@ check_in_repo_NNO () {
}
checkout_files () {
- eol=$1
- crlf=$2
- attr=$3
- lfname=$4
- crlfname=$5
- lfmixcrlf=$6
- lfmixcr=$7
- crlfnul=$8
- create_gitattributes $attr &&
+ attr=$1 ; shift
+ ident=$1; shift
+ aeol=$1 ; shift
+ crlf=$1 ; shift
+ ceol=$1 ; shift
+ lfname=$1 ; shift
+ crlfname=$1 ; shift
+ lfmixcrlf=$1 ; shift
+ lfmixcr=$1 ; shift
+ crlfnul=$1 ; shift
+ create_gitattributes "$attr" "$ident" &&
git config core.autocrlf $crlf &&
- pfx=eol_${eol}_crlf_${crlf}_attr_${attr}_ &&
+ pfx=eol_${ceol}_crlf_${crlf}_attr_${attr}_ &&
for f in LF CRLF LF_mix_CR CRLF_mix_LF LF_nul
do
rm crlf_false_attr__$f.txt &&
- if test -z "$eol"; then
+ if test -z "$ceol"; then
git checkout crlf_false_attr__$f.txt
else
- git -c core.eol=$eol checkout crlf_false_attr__$f.txt
+ git -c core.eol=$ceol checkout crlf_false_attr__$f.txt
fi
done
- test_expect_success "ls-files --eol $lfname ${pfx}LF.txt" '
+ test_expect_success "ls-files --eol attr=$attr $ident $aeol core.autocrlf=$crlf core.eol=$ceol" '
test_when_finished "rm expect actual" &&
sort <<-EOF >expect &&
- i/crlf w/$(stats_ascii $crlfname) crlf_false_attr__CRLF.txt
- i/mixed w/$(stats_ascii $lfmixcrlf) crlf_false_attr__CRLF_mix_LF.txt
- i/lf w/$(stats_ascii $lfname) crlf_false_attr__LF.txt
- i/-text w/$(stats_ascii $lfmixcr) crlf_false_attr__LF_mix_CR.txt
- i/-text w/$(stats_ascii $crlfnul) crlf_false_attr__CRLF_nul.txt
- i/-text w/$(stats_ascii $crlfnul) crlf_false_attr__LF_nul.txt
+ i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt
+ i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt
+ i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt
+ i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt
+ i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt
+ i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt
EOF
git ls-files --eol crlf_false_attr__* |
- sed -e "s!attr/[^ ]*!!g" -e "s/ / /g" -e "s/ */ /g" |
+ sed -e "s/ / /g" -e "s/ */ /g" |
sort >actual &&
test_cmp expect actual
'
- test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=LF" "
+ test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=LF" "
compare_ws_file $pfx $lfname crlf_false_attr__LF.txt
"
- test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=CRLF" "
+ test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=CRLF" "
compare_ws_file $pfx $crlfname crlf_false_attr__CRLF.txt
"
- test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=CRLF_mix_LF" "
+ test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=CRLF_mix_LF" "
compare_ws_file $pfx $lfmixcrlf crlf_false_attr__CRLF_mix_LF.txt
"
- test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=LF_mix_CR" "
+ test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=LF_mix_CR" "
compare_ws_file $pfx $lfmixcr crlf_false_attr__LF_mix_CR.txt
"
- test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=LF_nul" "
+ test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=LF_nul" "
compare_ws_file $pfx $crlfnul crlf_false_attr__LF_nul.txt
"
}
@@ -301,14 +316,13 @@ test_expect_success 'setup master' '
git checkout -b master &&
git add .gitattributes &&
git commit -m "add .gitattributes" "" &&
- printf "line1\nline2\nline3" >LF &&
- printf "line1\r\nline2\r\nline3" >CRLF &&
- printf "line1\r\nline2\nline3" >repoMIX &&
- printf "line1\r\nline2\nline3" >CRLF_mix_LF &&
- printf "line1\nline2\rline3" >LF_mix_CR &&
- printf "line1\r\nline2\rline3" >CRLF_mix_CR &&
- printf "line1Q\r\nline2\r\nline3" | q_to_nul >CRLF_nul &&
- printf "line1Q\nline2\nline3" | q_to_nul >LF_nul &&
+ printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\nLINETHREE" >LF &&
+ printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\r\nLINETHREE" >CRLF &&
+ printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\r\nLINETWO\nLINETHREE" >CRLF_mix_LF &&
+ printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\rLINETHREE" >LF_mix_CR &&
+ printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\rLINETHREE" >CRLF_mix_CR &&
+ printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONEQ\r\nLINETWO\r\nLINETHREE" | q_to_nul >CRLF_nul &&
+ printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONEQ\nLINETWO\nLINETHREE" | q_to_nul >LF_nul &&
create_NNO_files CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF &&
git -c core.autocrlf=false add NNO_*.txt &&
git commit -m "mixed line endings" &&
@@ -449,23 +463,18 @@ check_in_repo_NNO input "-text" LF CRLF CRLF_mix_LF LF_mix_CR CRLF
# How to read the table below:
# - checkout_files will check multiple files with a combination of settings
# and attributes (core.autocrlf=input is forbidden with core.eol=crlf)
-# - parameter $1 : core.eol lf | crlf
-# - parameter $2 : core.autocrlf false | true | input
-# - parameter $3 : text in .gitattributs "" (empty) | auto | text | -text
-# - parameter $4 : reference for a file with only LF in the repo
-# - parameter $5 : reference for a file with only CRLF in the repo
-# - parameter $6 : reference for a file with mixed LF and CRLF in the repo
-# - parameter $7 : reference for a file with LF and CR in the repo (does somebody uses this ?)
-# - parameter $8 : reference for a file with CRLF and a NUL (should be handled as binary when auto)
-
-# What we have in the repo:
-# ----------------- EOL in repo ----------------
-# LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul
-# settings with checkout:
-# core. core. .gitattr
-# eol acrlf
-# ----------------------------------------------
-# What we want to have in the working tree:
+#
+# - parameter $1 : text in .gitattributs "" (empty) | auto | text | -text
+# - parameter $2 : ident "" | i (i == ident)
+# - parameter $3 : eol in .gitattributs "" (empty) | lf | crlf
+# - parameter $4 : core.autocrlf false | true | input
+# - parameter $5 : core.eol "" | lf | crlf | "native"
+# - parameter $6 : reference for a file with only LF in the repo
+# - parameter $7 : reference for a file with only CRLF in the repo
+# - parameter $8 : reference for a file with mixed LF and CRLF in the repo
+# - parameter $9 : reference for a file with LF and CR in the repo
+# - parameter $10 : reference for a file with CRLF and a NUL (should be handled as binary when auto)
+
if test_have_prereq NATIVE_CRLF
then
MIX_CRLF_LF=CRLF
@@ -480,69 +489,90 @@ LFNUL=LF_nul
fi
export CRLF_MIX_LF_CR MIX NL
-checkout_files lf false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf false "auto" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul
-checkout_files lf input "auto" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf false "text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files lf input "text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf input "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf input "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files lf false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files lf true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files lf input "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-
-checkout_files crlf false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files crlf true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files crlf false "auto" CRLF CRLF CRLF LF_mix_CR LF_nul
-checkout_files crlf true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul
-checkout_files crlf false "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files crlf true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files crlf false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files crlf true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files crlf false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files crlf true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files crlf false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files crlf true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-
-checkout_files "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" false "auto" $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul
-checkout_files "" true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul
-checkout_files "" input "auto" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" false "text" $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL
-checkout_files "" true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files "" input "text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" input "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" input "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files "" false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files "" true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files "" input "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-
-checkout_files native false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files native true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files native false "auto" $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul
-checkout_files native true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul
-checkout_files native false "text" $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL
-checkout_files native true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files native false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files native true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files native false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files native true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
-checkout_files native false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
-checkout_files native true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+checkout_files "" "" "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" true crlf CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" true lf CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" "" "" true native CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "" ident "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" "" "" false "" $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul
+checkout_files "auto" "" "" false crlf CRLF CRLF CRLF LF_mix_CR LF_nul
+checkout_files "auto" "" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" "" "" false native $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul
+checkout_files "auto" "" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" "" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" "" "" true "" CRLF CRLF CRLF LF_mix_CR LF_nul
+checkout_files "auto" "" "" true crlf CRLF CRLF CRLF LF_mix_CR LF_nul
+checkout_files "auto" "" "" true lf CRLF CRLF CRLF LF_mix_CR LF_nul
+checkout_files "auto" "" "" true native CRLF CRLF CRLF LF_mix_CR LF_nul
+checkout_files "auto" ident "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+checkout_files "auto" ident "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+
+for id in "" ident;
+do
+ checkout_files "crlf" "$id" "" false "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" false crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" false lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" false native CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" input "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" input lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" true "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" true crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" true lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "crlf" "$id" "" true native CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "lf" "$id" "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "lf" "$id" "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "text" "$id" "" false "" $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL
+ checkout_files "text" "$id" "" false crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "text" "$id" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "text" "$id" "" false native $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL
+ checkout_files "text" "$id" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "text" "$id" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "text" "$id" "" true "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "text" "$id" "" true crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "text" "$id" "" true lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "text" "$id" "" true native CRLF CRLF CRLF CRLF_mix_CR CRLF_nul
+ checkout_files "-text" "$id" "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+ checkout_files "-text" "$id" "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul
+done
# Should be the last test case: remove some files from the worktree
test_expect_success 'ls-files --eol -d -z' '
diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh
index 8532a028e7..bf2deee109 100755
--- a/t/t0060-path-utils.sh
+++ b/t/t0060-path-utils.sh
@@ -19,6 +19,13 @@ relative_path() {
"test \"\$(test-path-utils relative_path '$1' '$2')\" = '$expected'"
}
+test_submodule_relative_url() {
+ test_expect_success "test_submodule_relative_url: $1 $2 $3 => $4" "
+ actual=\$(git submodule--helper resolve-relative-url-test '$1' '$2' '$3') &&
+ test \"\$actual\" = '$4'
+ "
+}
+
test_git_path() {
test_expect_success "git-path $1 $2 => $3" "
$1 git rev-parse --git-path $2 >actual &&
@@ -298,4 +305,43 @@ test_git_path GIT_COMMON_DIR=bar config bar/config
test_git_path GIT_COMMON_DIR=bar packed-refs bar/packed-refs
test_git_path GIT_COMMON_DIR=bar shallow bar/shallow
+# In the tests below, the distinction between $PWD and $(pwd) is important:
+# on Windows, $PWD is POSIX style (/c/foo), $(pwd) has drive letter (c:/foo).
+
+test_submodule_relative_url "../" "../foo" "../submodule" "../../submodule"
+test_submodule_relative_url "../" "../foo/bar" "../submodule" "../../foo/submodule"
+test_submodule_relative_url "../" "../foo/submodule" "../submodule" "../../foo/submodule"
+test_submodule_relative_url "../" "./foo" "../submodule" "../submodule"
+test_submodule_relative_url "../" "./foo/bar" "../submodule" "../foo/submodule"
+test_submodule_relative_url "../../../" "../foo/bar" "../sub/a/b/c" "../../../../foo/sub/a/b/c"
+test_submodule_relative_url "../" "$PWD/addtest" "../repo" "$(pwd)/repo"
+test_submodule_relative_url "../" "foo/bar" "../submodule" "../foo/submodule"
+test_submodule_relative_url "../" "foo" "../submodule" "../submodule"
+
+test_submodule_relative_url "(null)" "../foo/bar" "../sub/a/b/c" "../foo/sub/a/b/c"
+test_submodule_relative_url "(null)" "../foo/bar" "../submodule" "../foo/submodule"
+test_submodule_relative_url "(null)" "../foo/submodule" "../submodule" "../foo/submodule"
+test_submodule_relative_url "(null)" "../foo" "../submodule" "../submodule"
+test_submodule_relative_url "(null)" "./foo/bar" "../submodule" "foo/submodule"
+test_submodule_relative_url "(null)" "./foo" "../submodule" "submodule"
+test_submodule_relative_url "(null)" "//somewhere else/repo" "../subrepo" "//somewhere else/subrepo"
+test_submodule_relative_url "(null)" "$PWD/subsuper_update_r" "../subsubsuper_update_r" "$(pwd)/subsubsuper_update_r"
+test_submodule_relative_url "(null)" "$PWD/super_update_r2" "../subsuper_update_r" "$(pwd)/subsuper_update_r"
+test_submodule_relative_url "(null)" "$PWD/." "../." "$(pwd)/."
+test_submodule_relative_url "(null)" "$PWD" "./." "$(pwd)/."
+test_submodule_relative_url "(null)" "$PWD/addtest" "../repo" "$(pwd)/repo"
+test_submodule_relative_url "(null)" "$PWD" "./Γ₯ Àâ" "$(pwd)/Γ₯ Àâ"
+test_submodule_relative_url "(null)" "$PWD/." "../submodule" "$(pwd)/submodule"
+test_submodule_relative_url "(null)" "$PWD/submodule" "../submodule" "$(pwd)/submodule"
+test_submodule_relative_url "(null)" "$PWD/home2/../remote" "../bundle1" "$(pwd)/home2/../bundle1"
+test_submodule_relative_url "(null)" "$PWD/submodule_update_repo" "./." "$(pwd)/submodule_update_repo/."
+test_submodule_relative_url "(null)" "file:///tmp/repo" "../subrepo" "file:///tmp/subrepo"
+test_submodule_relative_url "(null)" "foo/bar" "../submodule" "foo/submodule"
+test_submodule_relative_url "(null)" "foo" "../submodule" "submodule"
+test_submodule_relative_url "(null)" "helper:://hostname/repo" "../subrepo" "helper:://hostname/subrepo"
+test_submodule_relative_url "(null)" "ssh://hostname/repo" "../subrepo" "ssh://hostname/subrepo"
+test_submodule_relative_url "(null)" "ssh://hostname:22/repo" "../subrepo" "ssh://hostname:22/subrepo"
+test_submodule_relative_url "(null)" "user@host:path/to/repo" "../subrepo" "user@host:path/to/subrepo"
+test_submodule_relative_url "(null)" "user@host:repo" "../subrepo" "user@host:subrepo"
+
test_done
diff --git a/t/t0300-credentials.sh b/t/t0300-credentials.sh
index d7ef44b4a2..03bd31e9f2 100755
--- a/t/t0300-credentials.sh
+++ b/t/t0300-credentials.sh
@@ -298,4 +298,15 @@ test_expect_success 'helpers can abort the process' '
test_cmp expect stdout
'
+test_expect_success 'empty helper spec resets helper list' '
+ test_config credential.helper "verbatim file file" &&
+ check fill "" "verbatim cmdline cmdline" <<-\EOF
+ --
+ username=cmdline
+ password=cmdline
+ --
+ verbatim: get
+ EOF
+'
+
test_done
diff --git a/t/t1020-subdirectory.sh b/t/t1020-subdirectory.sh
index 8e22b03cdd..df3183ea1a 100755
--- a/t/t1020-subdirectory.sh
+++ b/t/t1020-subdirectory.sh
@@ -141,13 +141,13 @@ test_expect_success 'GIT_PREFIX for !alias' '
test_expect_success 'GIT_PREFIX for built-ins' '
# Use GIT_EXTERNAL_DIFF to test that the "diff" built-in
# receives the GIT_PREFIX variable.
- printf "dir/" >expect &&
- printf "#!/bin/sh\n" >diff &&
- printf "printf \"\$GIT_PREFIX\"" >>diff &&
- chmod +x diff &&
+ echo "dir/" >expect &&
+ write_script diff <<-\EOF &&
+ printf "%s\n" "$GIT_PREFIX"
+ EOF
(
cd dir &&
- printf "change" >two &&
+ echo "change" >two &&
GIT_EXTERNAL_DIFF=./diff git diff >../actual
git checkout -- two
) &&
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index c967740304..d934a24417 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -699,11 +699,13 @@ test_expect_success 'invalid unit' '
echo 1auto >expect &&
git config aninvalid.unit >actual &&
test_cmp expect actual &&
- cat >expect <<-\EOF &&
- fatal: bad numeric config value '\''1auto'\'' for '\''aninvalid.unit'\'' in .git/config: invalid unit
- EOF
test_must_fail git config --int --get aninvalid.unit 2>actual &&
- test_i18ncmp expect actual
+ test_i18ngrep "bad numeric config value .1auto. for .aninvalid.unit. in file .git/config: invalid unit" actual
+'
+
+test_expect_success 'invalid stdin config' '
+ echo "[broken" | test_must_fail git config --list --file - >output 2>&1 &&
+ test_i18ngrep "bad config line 1 in standard input" output
'
cat > expect << EOF
@@ -957,13 +959,15 @@ Qsection.sub=section.val4
Qsection.sub=section.val5Q
EOF
test_expect_success '--null --list' '
- git config --null --list | nul_to_q >result &&
+ git config --null --list >result.raw &&
+ nul_to_q <result.raw >result &&
echo >>result &&
test_cmp expect result
'
test_expect_success '--null --get-regexp' '
- git config --null --get-regexp "val[0-9]" | nul_to_q >result &&
+ git config --null --get-regexp "val[0-9]" >result.raw &&
+ nul_to_q <result.raw >result &&
echo >>result &&
test_cmp expect result
'
@@ -1154,6 +1158,9 @@ test_expect_success 'urlmatch' '
cookieFile = /tmp/cookie.txt
EOF
+ test_expect_code 1 git config --bool --get-urlmatch doesnt.exist https://good.example.com >actual &&
+ test_must_be_empty actual &&
+
echo true >expect &&
git config --bool --get-urlmatch http.SSLverify https://good.example.com >actual &&
test_cmp expect actual &&
@@ -1215,4 +1222,154 @@ test_expect_success POSIXPERM,PERL 'preserves existing permissions' '
"die q(badrename) if ((stat(q(.git/config)))[2] & 07777) != 0600"
'
+! test_have_prereq MINGW ||
+HOME="$(pwd)" # convert to Windows path
+
+test_expect_success 'set up --show-origin tests' '
+ INCLUDE_DIR="$HOME/include" &&
+ mkdir -p "$INCLUDE_DIR" &&
+ cat >"$INCLUDE_DIR"/absolute.include <<-\EOF &&
+ [user]
+ absolute = include
+ EOF
+ cat >"$INCLUDE_DIR"/relative.include <<-\EOF &&
+ [user]
+ relative = include
+ EOF
+ cat >"$HOME"/.gitconfig <<-EOF &&
+ [user]
+ global = true
+ override = global
+ [include]
+ path = "$INCLUDE_DIR/absolute.include"
+ EOF
+ cat >.git/config <<-\EOF
+ [user]
+ local = true
+ override = local
+ [include]
+ path = ../include/relative.include
+ EOF
+'
+
+test_expect_success '--show-origin with --list' '
+ cat >expect <<-EOF &&
+ file:$HOME/.gitconfig user.global=true
+ file:$HOME/.gitconfig user.override=global
+ file:$HOME/.gitconfig include.path=$INCLUDE_DIR/absolute.include
+ file:$INCLUDE_DIR/absolute.include user.absolute=include
+ file:.git/config user.local=true
+ file:.git/config user.override=local
+ file:.git/config include.path=../include/relative.include
+ file:.git/../include/relative.include user.relative=include
+ command line: user.cmdline=true
+ EOF
+ git -c user.cmdline=true config --list --show-origin >output &&
+ test_cmp expect output
+'
+
+test_expect_success '--show-origin with --list --null' '
+ cat >expect <<-EOF &&
+ file:$HOME/.gitconfigQuser.global
+ trueQfile:$HOME/.gitconfigQuser.override
+ globalQfile:$HOME/.gitconfigQinclude.path
+ $INCLUDE_DIR/absolute.includeQfile:$INCLUDE_DIR/absolute.includeQuser.absolute
+ includeQfile:.git/configQuser.local
+ trueQfile:.git/configQuser.override
+ localQfile:.git/configQinclude.path
+ ../include/relative.includeQfile:.git/../include/relative.includeQuser.relative
+ includeQcommand line:Quser.cmdline
+ trueQ
+ EOF
+ git -c user.cmdline=true config --null --list --show-origin >output.raw &&
+ nul_to_q <output.raw >output &&
+ # The here-doc above adds a newline that the --null output would not
+ # include. Add it here to make the two comparable.
+ echo >>output &&
+ test_cmp expect output
+'
+
+test_expect_success '--show-origin with single file' '
+ cat >expect <<-\EOF &&
+ file:.git/config user.local=true
+ file:.git/config user.override=local
+ file:.git/config include.path=../include/relative.include
+ EOF
+ git config --local --list --show-origin >output &&
+ test_cmp expect output
+'
+
+test_expect_success '--show-origin with --get-regexp' '
+ cat >expect <<-EOF &&
+ file:$HOME/.gitconfig user.global true
+ file:.git/config user.local true
+ EOF
+ git config --show-origin --get-regexp "user\.[g|l].*" >output &&
+ test_cmp expect output
+'
+
+test_expect_success '--show-origin getting a single key' '
+ cat >expect <<-\EOF &&
+ file:.git/config local
+ EOF
+ git config --show-origin user.override >output &&
+ test_cmp expect output
+'
+
+test_expect_success 'set up custom config file' '
+ CUSTOM_CONFIG_FILE="file\" (dq) and spaces.conf" &&
+ cat >"$CUSTOM_CONFIG_FILE" <<-\EOF
+ [user]
+ custom = true
+ EOF
+'
+
+test_expect_success !MINGW '--show-origin escape special file name characters' '
+ cat >expect <<-\EOF &&
+ file:"file\" (dq) and spaces.conf" user.custom=true
+ EOF
+ git config --file "$CUSTOM_CONFIG_FILE" --show-origin --list >output &&
+ test_cmp expect output
+'
+
+test_expect_success '--show-origin stdin' '
+ cat >expect <<-\EOF &&
+ standard input: user.custom=true
+ EOF
+ git config --file - --show-origin --list <"$CUSTOM_CONFIG_FILE" >output &&
+ test_cmp expect output
+'
+
+test_expect_success '--show-origin stdin with file include' '
+ cat >"$INCLUDE_DIR"/stdin.include <<-EOF &&
+ [user]
+ stdin = include
+ EOF
+ cat >expect <<-EOF &&
+ file:$INCLUDE_DIR/stdin.include include
+ EOF
+ echo "[include]path=\"$INCLUDE_DIR\"/stdin.include" \
+ | git config --show-origin --includes --file - user.stdin >output &&
+ test_cmp expect output
+'
+
+test_expect_success !MINGW '--show-origin blob' '
+ cat >expect <<-\EOF &&
+ blob:a9d9f9e555b5c6f07cbe09d3f06fe3df11e09c08 user.custom=true
+ EOF
+ blob=$(git hash-object -w "$CUSTOM_CONFIG_FILE") &&
+ git config --blob=$blob --show-origin --list >output &&
+ test_cmp expect output
+'
+
+test_expect_success !MINGW '--show-origin blob ref' '
+ cat >expect <<-\EOF &&
+ blob:"master:file\" (dq) and spaces.conf" user.custom=true
+ EOF
+ git add "$CUSTOM_CONFIG_FILE" &&
+ git commit -m "new config file" &&
+ git config --blob=master:"$CUSTOM_CONFIG_FILE" --show-origin --list >output &&
+ test_cmp expect output
+'
+
test_done
diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh
index 91235b76ba..005d66dbef 100755
--- a/t/t1308-config-set.sh
+++ b/t/t1308-config-set.sh
@@ -195,14 +195,14 @@ test_expect_success 'proper error on error in default config files' '
cp .git/config .git/config.old &&
test_when_finished "mv .git/config.old .git/config" &&
echo "[" >>.git/config &&
- echo "fatal: bad config file line 34 in .git/config" >expect &&
+ echo "fatal: bad config line 34 in file .git/config" >expect &&
test_expect_code 128 test-config get_value foo.bar 2>actual &&
test_cmp expect actual
'
test_expect_success 'proper error on error in custom config files' '
echo "[" >>syntax-error &&
- echo "fatal: bad config file line 1 in syntax-error" >expect &&
+ echo "fatal: bad config line 1 in file syntax-error" >expect &&
test_expect_code 128 test-config configset_get_value foo.bar syntax-error 2>actual &&
test_cmp expect actual
'
@@ -218,4 +218,15 @@ test_expect_success 'check line errors for malformed values' '
test_i18ngrep "fatal: .*alias\.br.*\.git/config.*line 2" result
'
+test_expect_success 'error on modifying repo config without repo' '
+ mkdir no-repo &&
+ (
+ GIT_CEILING_DIRECTORIES=$(pwd) &&
+ export GIT_CEILING_DIRECTORIES &&
+ cd no-repo &&
+ test_must_fail git config a.b c 2>err &&
+ grep "not in a git directory" err
+ )
+'
+
test_done
diff --git a/t/t1350-config-hooks-path.sh b/t/t1350-config-hooks-path.sh
new file mode 100755
index 0000000000..5e3fb3a6af
--- /dev/null
+++ b/t/t1350-config-hooks-path.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+test_description='Test the core.hooksPath configuration variable'
+
+. ./test-lib.sh
+
+test_expect_success 'set up a pre-commit hook in core.hooksPath' '
+ mkdir -p .git/custom-hooks .git/hooks &&
+ write_script .git/custom-hooks/pre-commit <<-\EOF &&
+ echo CUSTOM >>actual
+ EOF
+ write_script .git/hooks/pre-commit <<-\EOF
+ echo NORMAL >>actual
+ EOF
+'
+
+test_expect_success 'Check that various forms of specifying core.hooksPath work' '
+ test_commit no_custom_hook &&
+ git config core.hooksPath .git/custom-hooks &&
+ test_commit have_custom_hook &&
+ git config core.hooksPath .git/custom-hooks/ &&
+ test_commit have_custom_hook_trailing_slash &&
+ git config core.hooksPath "$PWD/.git/custom-hooks" &&
+ test_commit have_custom_hook_abs_path &&
+ git config core.hooksPath "$PWD/.git/custom-hooks/" &&
+ test_commit have_custom_hook_abs_path_trailing_slash &&
+ cat >expect <<-\EOF &&
+ NORMAL
+ CUSTOM
+ CUSTOM
+ CUSTOM
+ CUSTOM
+ EOF
+ test_cmp expect actual
+'
+
+test_done
diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh
index c623824b4d..9cf91dc6d2 100755
--- a/t/t1410-reflog.sh
+++ b/t/t1410-reflog.sh
@@ -338,4 +338,14 @@ test_expect_failure 'reflog with non-commit entries displays all entries' '
test_line_count = 3 actual
'
+test_expect_success 'reflog expire operates on symref not referrent' '
+ git branch -l the_symref &&
+ git branch -l referrent &&
+ git update-ref referrent HEAD &&
+ git symbolic-ref refs/heads/the_symref refs/heads/referrent &&
+ test_when_finished "rm -f .git/refs/heads/referrent.lock" &&
+ touch .git/refs/heads/referrent.lock &&
+ git reflog expire --expire=all the_symref
+'
+
test_done
diff --git a/t/t1430-bad-ref-name.sh b/t/t1430-bad-ref-name.sh
index c465abe8e3..25ddab4e98 100755
--- a/t/t1430-bad-ref-name.sh
+++ b/t/t1430-bad-ref-name.sh
@@ -42,7 +42,7 @@ test_expect_success 'git branch shows badly named ref as warning' '
cp .git/refs/heads/master .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch >output 2>error &&
- grep -e "broken\.\.\.ref" error &&
+ test_i18ngrep -e "ignoring ref with broken name refs/heads/broken\.\.\.ref" error &&
! grep -e "broken\.\.\.ref" output
'
@@ -147,35 +147,145 @@ test_expect_success 'rev-parse skips symref pointing to broken name' '
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch shadow one &&
cp .git/refs/heads/master .git/refs/heads/broken...ref &&
- git symbolic-ref refs/tags/shadow refs/heads/broken...ref &&
-
+ printf "ref: refs/heads/broken...ref\n" >.git/refs/tags/shadow &&
+ test_when_finished "rm -f .git/refs/tags/shadow" &&
git rev-parse --verify one >expect &&
git rev-parse --verify shadow >actual 2>err &&
test_cmp expect actual &&
- test_i18ngrep "ignoring.*refs/tags/shadow" err
+ test_i18ngrep "ignoring dangling symref refs/tags/shadow" err
'
-test_expect_success 'update-ref --no-deref -d can delete reference to broken name' '
- git symbolic-ref refs/heads/badname refs/heads/broken...ref &&
+test_expect_success 'for-each-ref emits warnings for broken names' '
+ cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ test_when_finished "rm -f .git/refs/heads/broken...ref" &&
+ printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
test_when_finished "rm -f .git/refs/heads/badname" &&
- test_path_is_file .git/refs/heads/badname &&
- git update-ref --no-deref -d refs/heads/badname &&
- test_path_is_missing .git/refs/heads/badname
+ printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref &&
+ test_when_finished "rm -f .git/refs/heads/broken...symref" &&
+ git for-each-ref >output 2>error &&
+ ! grep -e "broken\.\.\.ref" output &&
+ ! grep -e "badname" output &&
+ ! grep -e "broken\.\.\.symref" output &&
+ test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.ref" error &&
+ test_i18ngrep "ignoring broken ref refs/heads/badname" error &&
+ test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.symref" error
'
test_expect_success 'update-ref -d can delete broken name' '
cp .git/refs/heads/master .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
- git update-ref -d refs/heads/broken...ref &&
+ git update-ref -d refs/heads/broken...ref >output 2>error &&
+ test_must_be_empty output &&
+ test_must_be_empty error &&
+ git branch >output 2>error &&
+ ! grep -e "broken\.\.\.ref" error &&
+ ! grep -e "broken\.\.\.ref" output
+'
+
+test_expect_success 'branch -d can delete broken name' '
+ cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ test_when_finished "rm -f .git/refs/heads/broken...ref" &&
+ git branch -d broken...ref >output 2>error &&
+ test_i18ngrep "Deleted branch broken...ref (was broken)" output &&
+ test_must_be_empty error &&
git branch >output 2>error &&
! grep -e "broken\.\.\.ref" error &&
! grep -e "broken\.\.\.ref" output
'
+test_expect_success 'update-ref --no-deref -d can delete symref to broken name' '
+ cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ test_when_finished "rm -f .git/refs/heads/broken...ref" &&
+ printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
+ test_when_finished "rm -f .git/refs/heads/badname" &&
+ git update-ref --no-deref -d refs/heads/badname >output 2>error &&
+ test_path_is_missing .git/refs/heads/badname &&
+ test_must_be_empty output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'branch -d can delete symref to broken name' '
+ cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ test_when_finished "rm -f .git/refs/heads/broken...ref" &&
+ printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
+ test_when_finished "rm -f .git/refs/heads/badname" &&
+ git branch -d badname >output 2>error &&
+ test_path_is_missing .git/refs/heads/badname &&
+ test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'update-ref --no-deref -d can delete dangling symref to broken name' '
+ printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
+ test_when_finished "rm -f .git/refs/heads/badname" &&
+ git update-ref --no-deref -d refs/heads/badname >output 2>error &&
+ test_path_is_missing .git/refs/heads/badname &&
+ test_must_be_empty output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'branch -d can delete dangling symref to broken name' '
+ printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
+ test_when_finished "rm -f .git/refs/heads/badname" &&
+ git branch -d badname >output 2>error &&
+ test_path_is_missing .git/refs/heads/badname &&
+ test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'update-ref -d can delete broken name through symref' '
+ cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ test_when_finished "rm -f .git/refs/heads/broken...ref" &&
+ printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
+ test_when_finished "rm -f .git/refs/heads/badname" &&
+ git update-ref -d refs/heads/badname >output 2>error &&
+ test_path_is_missing .git/refs/heads/broken...ref &&
+ test_must_be_empty output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'update-ref --no-deref -d can delete symref with broken name' '
+ printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref &&
+ test_when_finished "rm -f .git/refs/heads/broken...symref" &&
+ git update-ref --no-deref -d refs/heads/broken...symref >output 2>error &&
+ test_path_is_missing .git/refs/heads/broken...symref &&
+ test_must_be_empty output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'branch -d can delete symref with broken name' '
+ printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref &&
+ test_when_finished "rm -f .git/refs/heads/broken...symref" &&
+ git branch -d broken...symref >output 2>error &&
+ test_path_is_missing .git/refs/heads/broken...symref &&
+ test_i18ngrep "Deleted branch broken...symref (was refs/heads/master)" output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'update-ref --no-deref -d can delete dangling symref with broken name' '
+ printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref &&
+ test_when_finished "rm -f .git/refs/heads/broken...symref" &&
+ git update-ref --no-deref -d refs/heads/broken...symref >output 2>error &&
+ test_path_is_missing .git/refs/heads/broken...symref &&
+ test_must_be_empty output &&
+ test_must_be_empty error
+'
+
+test_expect_success 'branch -d can delete dangling symref with broken name' '
+ printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref &&
+ test_when_finished "rm -f .git/refs/heads/broken...symref" &&
+ git branch -d broken...symref >output 2>error &&
+ test_path_is_missing .git/refs/heads/broken...symref &&
+ test_i18ngrep "Deleted branch broken...symref (was refs/heads/idonotexist)" output &&
+ test_must_be_empty error
+'
+
test_expect_success 'update-ref -d cannot delete non-ref in .git dir' '
echo precious >.git/my-private-file &&
echo precious >expect &&
- test_must_fail git update-ref -d my-private-file &&
+ test_must_fail git update-ref -d my-private-file >output 2>error &&
+ test_must_be_empty output &&
+ test_i18ngrep -e "cannot lock .*: unable to resolve reference" error &&
test_cmp expect .git/my-private-file
'
diff --git a/t/t1501-worktree.sh b/t/t1501-work-tree.sh
index cc5b870e58..cc5b870e58 100755
--- a/t/t1501-worktree.sh
+++ b/t/t1501-work-tree.sh
diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh
index 613d9bfe1b..86c2ff255d 100755
--- a/t/t1506-rev-parse-diagnosis.sh
+++ b/t/t1506-rev-parse-diagnosis.sh
@@ -166,11 +166,6 @@ test_expect_success 'relative path when cwd is outside worktree' '
grep "relative path syntax can.t be used outside working tree." error
'
-test_expect_success 'relative path when startup_info is NULL' '
- test_must_fail test-match-trees HEAD:./file.txt HEAD:./file.txt 2>error &&
- grep "BUG: startup_info struct is not initialized." error
-'
-
test_expect_success '<commit>:file correctly diagnosed after a pathname' '
test_must_fail git rev-parse file.txt HEAD:file.txt 1>actual 2>error &&
test_i18ngrep ! "exists on disk" error &&
diff --git a/t/t1509-root-worktree.sh b/t/t1509-root-work-tree.sh
index 553a3f601b..553a3f601b 100755
--- a/t/t1509-root-worktree.sh
+++ b/t/t1509-root-work-tree.sh
diff --git a/t/t1515-rev-parse-outside-repo.sh b/t/t1515-rev-parse-outside-repo.sh
new file mode 100755
index 0000000000..3ec2971ee5
--- /dev/null
+++ b/t/t1515-rev-parse-outside-repo.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+test_description='check that certain rev-parse options work outside repo'
+. ./test-lib.sh
+
+test_expect_success 'set up non-repo directory' '
+ GIT_CEILING_DIRECTORIES=$(pwd) &&
+ export GIT_CEILING_DIRECTORIES &&
+ mkdir non-repo &&
+ cd non-repo &&
+ # confirm that git does not find a repo
+ test_must_fail git rev-parse --git-dir
+'
+
+# Rather than directly test the output of sq-quote directly,
+# make sure the shell can read back a tricky case, since
+# that's what we really care about anyway.
+tricky="really tricky with \\ and \" and '"
+dump_args () {
+ for i in "$@"; do
+ echo "arg: $i"
+ done
+}
+test_expect_success 'rev-parse --sq-quote' '
+ dump_args "$tricky" easy >expect &&
+ eval "dump_args $(git rev-parse --sq-quote "$tricky" easy)" >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'rev-parse --local-env-vars' '
+ git rev-parse --local-env-vars >actual &&
+ # we do not want to depend on the complete list here,
+ # so just look for something plausible
+ grep ^GIT_DIR actual
+'
+
+test_expect_success 'rev-parse --resolve-git-dir' '
+ git init --separate-git-dir repo dir &&
+ test_must_fail git rev-parse --resolve-git-dir . &&
+ echo "$(pwd)/repo" >expect &&
+ git rev-parse --resolve-git-dir dir/.git >actual &&
+ test_cmp expect actual
+'
+
+test_done
diff --git a/t/t2025-worktree-add.sh b/t/t2025-worktree-add.sh
index cbfa41ec61..3acb9926f2 100755
--- a/t/t2025-worktree-add.sh
+++ b/t/t2025-worktree-add.sh
@@ -213,4 +213,16 @@ test_expect_success 'local clone from linked checkout' '
( cd here-clone && git fsck )
'
+test_expect_success '"add" worktree with --no-checkout' '
+ git worktree add --no-checkout -b swamp swamp &&
+ ! test -e swamp/init.t &&
+ git -C swamp reset --hard &&
+ test_cmp init.t swamp/init.t
+'
+
+test_expect_success '"add" worktree with --checkout' '
+ git worktree add --checkout -b swmap2 swamp2 &&
+ test_cmp init.t swamp2/init.t
+'
+
test_done
diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh
index d043078da5..3fc484e8c3 100755
--- a/t/t3001-ls-files-others-exclude.sh
+++ b/t/t3001-ls-files-others-exclude.sh
@@ -175,10 +175,13 @@ test_expect_success 'negated exclude matches can override previous ones' '
grep "^a.1" output
'
-test_expect_success 'excluded directory does not override content patterns' '
+test_expect_success 'excluded directory overrides content patterns' '
git ls-files --others --exclude="one" --exclude="!one/a.1" >output &&
- grep "^one/a.1" output
+ if grep "^one/a.1" output
+ then
+ false
+ fi
'
test_expect_success 'negated directory doesn'\''t affect content patterns' '
diff --git a/t/t3007-ls-files-other-negative.sh b/t/t3007-ls-files-other-negative.sh
deleted file mode 100755
index 0797b86ad0..0000000000
--- a/t/t3007-ls-files-other-negative.sh
+++ /dev/null
@@ -1,153 +0,0 @@
-#!/bin/sh
-
-test_description='test re-include patterns'
-
-. ./test-lib.sh
-
-test_expect_success 'setup' '
- mkdir -p fooo foo/bar tmp &&
- touch abc foo/def foo/bar/ghi foo/bar/bar
-'
-
-test_expect_success 'no match, do not enter subdir and waste cycles' '
- cat >.gitignore <<-\EOF &&
- /tmp
- /foo
- !fooo/bar/bar
- EOF
- GIT_TRACE_EXCLUDE="$(pwd)/tmp/trace" git ls-files -o --exclude-standard >tmp/actual &&
- ! grep "enter .foo/.\$" tmp/trace &&
- cat >tmp/expected <<-\EOF &&
- .gitignore
- abc
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_expect_success 'match, excluded by literal pathname pattern' '
- cat >.gitignore <<-\EOF &&
- /tmp
- /fooo
- /foo
- !foo/bar/bar
- EOF
- cat >fooo/.gitignore <<-\EOF &&
- !/*
- EOF git ls-files -o --exclude-standard >tmp/actual &&
- cat >tmp/expected <<-\EOF &&
- .gitignore
- abc
- foo/bar/bar
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_expect_success 'match, excluded by wildcard pathname pattern' '
- cat >.gitignore <<-\EOF &&
- /tmp
- /fooo
- /fo?
- !foo/bar/bar
- EOF
- git ls-files -o --exclude-standard >tmp/actual &&
- cat >tmp/expected <<-\EOF &&
- .gitignore
- abc
- foo/bar/bar
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_expect_success 'match, excluded by literal basename pattern' '
- cat >.gitignore <<-\EOF &&
- /tmp
- /fooo
- foo
- !foo/bar/bar
- EOF
- git ls-files -o --exclude-standard >tmp/actual &&
- cat >tmp/expected <<-\EOF &&
- .gitignore
- abc
- foo/bar/bar
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_expect_success 'match, excluded by wildcard basename pattern' '
- cat >.gitignore <<-\EOF &&
- /tmp
- /fooo
- fo?
- !foo/bar/bar
- EOF
- git ls-files -o --exclude-standard >tmp/actual &&
- cat >tmp/expected <<-\EOF &&
- .gitignore
- abc
- foo/bar/bar
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_expect_success 'match, excluded by literal mustbedir, basename pattern' '
- cat >.gitignore <<-\EOF &&
- /tmp
- /fooo
- foo/
- !foo/bar/bar
- EOF
- git ls-files -o --exclude-standard >tmp/actual &&
- cat >tmp/expected <<-\EOF &&
- .gitignore
- abc
- foo/bar/bar
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_expect_success 'match, excluded by literal mustbedir, pathname pattern' '
- cat >.gitignore <<-\EOF &&
- /tmp
- /fooo
- /foo/
- !foo/bar/bar
- EOF
- git ls-files -o --exclude-standard >tmp/actual &&
- cat >tmp/expected <<-\EOF &&
- .gitignore
- abc
- foo/bar/bar
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_expect_success 'prepare for nested negatives' '
- cat >.git/info/exclude <<-\EOF &&
- /.gitignore
- /tmp
- /foo
- /abc
- EOF
- git ls-files -o --exclude-standard >tmp/actual &&
- test_must_be_empty tmp/actual &&
- mkdir -p 1/2/3/4 &&
- touch 1/f 1/2/f 1/2/3/f 1/2/3/4/f
-'
-
-test_expect_success 'match, literal pathname, nested negatives' '
- cat >.gitignore <<-\EOF &&
- /1
- !1/2
- 1/2/3
- !1/2/3/4
- EOF
- git ls-files -o --exclude-standard >tmp/actual &&
- cat >tmp/expected <<-\EOF &&
- 1/2/3/4/f
- 1/2/f
- EOF
- test_cmp tmp/expected tmp/actual
-'
-
-test_done
diff --git a/t/t3032-merge-recursive-options.sh b/t/t3032-merge-recursive-space-options.sh
index 4029c9c8c0..b56180ee4a 100755
--- a/t/t3032-merge-recursive-options.sh
+++ b/t/t3032-merge-recursive-space-options.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-test_description='merge-recursive options
+test_description='merge-recursive space options
* [master] Clarify
! [remote] Remove cruft
diff --git a/t/t3033-merge-toplevel.sh b/t/t3033-merge-toplevel.sh
index 46aadc410b..d314599428 100755
--- a/t/t3033-merge-toplevel.sh
+++ b/t/t3033-merge-toplevel.sh
@@ -19,6 +19,8 @@ test_expect_success setup '
test_commit three &&
git checkout right &&
test_commit four &&
+ git checkout --orphan newroot &&
+ test_commit five &&
git checkout master
'
@@ -133,4 +135,18 @@ test_expect_success 'merge FETCH_HEAD octopus non-fast-forward' '
test_cmp expect actual
'
+# two-project merge
+test_expect_success 'refuse two-project merge by default' '
+ t3033_reset &&
+ git reset --hard four &&
+ test_must_fail git merge five
+'
+
+test_expect_success 'two-project merge with --allow-unrelated-histories' '
+ t3033_reset &&
+ git reset --hard four &&
+ git merge --allow-unrelated-histories five &&
+ git diff --exit-code five
+'
+
test_done
diff --git a/t/t3034-merge-recursive-rename-options.sh b/t/t3034-merge-recursive-rename-options.sh
new file mode 100755
index 0000000000..b9c4028496
--- /dev/null
+++ b/t/t3034-merge-recursive-rename-options.sh
@@ -0,0 +1,312 @@
+#!/bin/sh
+
+test_description='merge-recursive rename options
+
+Test rename detection by examining rename/delete conflicts.
+
+* (HEAD -> rename) rename
+| * (master) delete
+|/
+* base
+
+git diff --name-status base master
+D 0-old
+D 1-old
+D 2-old
+D 3-old
+
+git diff --name-status -M01 base rename
+R025 0-old 0-new
+R050 1-old 1-new
+R075 2-old 2-new
+R100 3-old 3-new
+
+Actual similarity indices are parsed from diff output. We rely on the fact that
+they are rounded down (see, e.g., Documentation/diff-generate-patch.txt, which
+mentions this in a different context).
+'
+
+. ./test-lib.sh
+
+get_expected_stages () {
+ git checkout rename -- $1-new &&
+ git ls-files --stage $1-new >expected-stages-undetected-$1 &&
+ sed "s/ 0 / 2 /" <expected-stages-undetected-$1 \
+ >expected-stages-detected-$1 &&
+ git read-tree -u --reset HEAD
+}
+
+rename_detected () {
+ git ls-files --stage $1-old $1-new >stages-actual-$1 &&
+ test_cmp expected-stages-detected-$1 stages-actual-$1
+}
+
+rename_undetected () {
+ git ls-files --stage $1-old $1-new >stages-actual-$1 &&
+ test_cmp expected-stages-undetected-$1 stages-actual-$1
+}
+
+check_common () {
+ git ls-files --stage >stages-actual &&
+ test_line_count = 4 stages-actual
+}
+
+check_threshold_0 () {
+ check_common &&
+ rename_detected 0 &&
+ rename_detected 1 &&
+ rename_detected 2 &&
+ rename_detected 3
+}
+
+check_threshold_1 () {
+ check_common &&
+ rename_undetected 0 &&
+ rename_detected 1 &&
+ rename_detected 2 &&
+ rename_detected 3
+}
+
+check_threshold_2 () {
+ check_common &&
+ rename_undetected 0 &&
+ rename_undetected 1 &&
+ rename_detected 2 &&
+ rename_detected 3
+}
+
+check_exact_renames () {
+ check_common &&
+ rename_undetected 0 &&
+ rename_undetected 1 &&
+ rename_undetected 2 &&
+ rename_detected 3
+}
+
+check_no_renames () {
+ check_common &&
+ rename_undetected 0 &&
+ rename_undetected 1 &&
+ rename_undetected 2 &&
+ rename_undetected 3
+}
+
+test_expect_success 'setup repo' '
+ cat <<-\EOF >3-old &&
+ 33a
+ 33b
+ 33c
+ 33d
+ EOF
+ sed s/33/22/ <3-old >2-old &&
+ sed s/33/11/ <3-old >1-old &&
+ sed s/33/00/ <3-old >0-old &&
+ git add [0-3]-old &&
+ git commit -m base &&
+ git rm [0-3]-old &&
+ git commit -m delete &&
+ git checkout -b rename HEAD^ &&
+ cp 3-old 3-new &&
+ sed 1,1s/./x/ <2-old >2-new &&
+ sed 1,2s/./x/ <1-old >1-new &&
+ sed 1,3s/./x/ <0-old >0-new &&
+ git add [0-3]-new &&
+ git rm [0-3]-old &&
+ git commit -m rename &&
+ get_expected_stages 0 &&
+ get_expected_stages 1 &&
+ get_expected_stages 2 &&
+ get_expected_stages 3 &&
+ check_50="false" &&
+ tail="HEAD^ -- HEAD master"
+'
+
+test_expect_success 'setup thresholds' '
+ git diff --name-status -M01 HEAD^ HEAD >diff-output &&
+ test_debug "cat diff-output" &&
+ test_line_count = 4 diff-output &&
+ grep "R[0-9][0-9][0-9] \([0-3]\)-old \1-new" diff-output \
+ >grep-output &&
+ test_cmp diff-output grep-output &&
+ th0=$(sed -n "s/R\(...\) 0-old 0-new/\1/p" <diff-output) &&
+ th1=$(sed -n "s/R\(...\) 1-old 1-new/\1/p" <diff-output) &&
+ th2=$(sed -n "s/R\(...\) 2-old 2-new/\1/p" <diff-output) &&
+ th3=$(sed -n "s/R\(...\) 3-old 3-new/\1/p" <diff-output) &&
+ test "$th0" -lt "$th1" &&
+ test "$th1" -lt "$th2" &&
+ test "$th2" -lt "$th3" &&
+ test "$th3" = 100 &&
+ if test 50 -le "$th0"
+ then
+ check_50=check_threshold_0
+ elif test 50 -le "$th1"
+ then
+ check_50=check_threshold_1
+ elif test 50 -le "$th2"
+ then
+ check_50=check_threshold_2
+ fi &&
+ th0="$th0%" &&
+ th1="$th1%" &&
+ th2="$th2%" &&
+ th3="$th3%"
+'
+
+test_expect_success 'assumption for tests: rename detection with diff' '
+ git diff --name-status -M$th0 --diff-filter=R HEAD^ HEAD \
+ >diff-output-0 &&
+ git diff --name-status -M$th1 --diff-filter=R HEAD^ HEAD \
+ >diff-output-1 &&
+ git diff --name-status -M$th2 --diff-filter=R HEAD^ HEAD \
+ >diff-output-2 &&
+ git diff --name-status -M100% --diff-filter=R HEAD^ HEAD \
+ >diff-output-3 &&
+ test_line_count = 4 diff-output-0 &&
+ test_line_count = 3 diff-output-1 &&
+ test_line_count = 2 diff-output-2 &&
+ test_line_count = 1 diff-output-3
+'
+
+test_expect_success 'default similarity threshold is 50%' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive $tail &&
+ $check_50
+'
+
+test_expect_success 'low rename threshold' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --find-renames=$th0 $tail &&
+ check_threshold_0
+'
+
+test_expect_success 'medium rename threshold' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --find-renames=$th1 $tail &&
+ check_threshold_1
+'
+
+test_expect_success 'high rename threshold' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --find-renames=$th2 $tail &&
+ check_threshold_2
+'
+
+test_expect_success 'exact renames only' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --find-renames=100% $tail &&
+ check_exact_renames
+'
+
+test_expect_success 'rename threshold is truncated' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --find-renames=200% $tail &&
+ check_exact_renames
+'
+
+test_expect_success 'disabled rename detection' '
+ git read-tree --reset -u HEAD &&
+ git merge-recursive --no-renames $tail &&
+ check_no_renames
+'
+
+test_expect_success 'last wins in --find-renames=<m> --find-renames=<n>' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive \
+ --find-renames=$th0 --find-renames=$th2 $tail &&
+ check_threshold_2
+'
+
+test_expect_success '--find-renames resets threshold' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive \
+ --find-renames=$th0 --find-renames $tail &&
+ $check_50
+'
+
+test_expect_success 'last wins in --no-renames --find-renames' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --no-renames --find-renames $tail &&
+ $check_50
+'
+
+test_expect_success 'last wins in --find-renames --no-renames' '
+ git read-tree --reset -u HEAD &&
+ git merge-recursive --find-renames --no-renames $tail &&
+ check_no_renames
+'
+
+test_expect_success 'assumption for further tests: trivial merge succeeds' '
+ git read-tree --reset -u HEAD &&
+ git merge-recursive HEAD -- HEAD HEAD &&
+ git diff --quiet --cached &&
+ git merge-recursive --find-renames=$th0 HEAD -- HEAD HEAD &&
+ git diff --quiet --cached &&
+ git merge-recursive --find-renames=$th2 HEAD -- HEAD HEAD &&
+ git diff --quiet --cached &&
+ git merge-recursive --find-renames=100% HEAD -- HEAD HEAD &&
+ git diff --quiet --cached &&
+ git merge-recursive --no-renames HEAD -- HEAD HEAD &&
+ git diff --quiet --cached
+'
+
+test_expect_success '--find-renames rejects negative argument' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --find-renames=-25 \
+ HEAD -- HEAD HEAD &&
+ git diff --quiet --cached
+'
+
+test_expect_success '--find-renames rejects non-numbers' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --find-renames=0xf \
+ HEAD -- HEAD HEAD &&
+ git diff --quiet --cached
+'
+
+test_expect_success 'rename-threshold=<n> is a synonym for find-renames=<n>' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --rename-threshold=$th0 $tail &&
+ check_threshold_0
+'
+
+test_expect_success 'last wins in --no-renames --rename-threshold=<n>' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --no-renames --rename-threshold=$th0 $tail &&
+ check_threshold_0
+'
+
+test_expect_success 'last wins in --rename-threshold=<n> --no-renames' '
+ git read-tree --reset -u HEAD &&
+ git merge-recursive --rename-threshold=$th0 --no-renames $tail &&
+ check_no_renames
+'
+
+test_expect_success '--rename-threshold=<n> rejects negative argument' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --rename-threshold=-25 \
+ HEAD -- HEAD HEAD &&
+ git diff --quiet --cached
+'
+
+test_expect_success '--rename-threshold=<n> rejects non-numbers' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive --rename-threshold=0xf \
+ HEAD -- HEAD HEAD &&
+ git diff --quiet --cached
+'
+
+test_expect_success 'last wins in --rename-threshold=<m> --find-renames=<n>' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive \
+ --rename-threshold=$th0 --find-renames=$th2 $tail &&
+ check_threshold_2
+'
+
+test_expect_success 'last wins in --find-renames=<m> --rename-threshold=<n>' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git merge-recursive \
+ --find-renames=$th2 --rename-threshold=$th0 $tail &&
+ check_threshold_0
+'
+
+test_done
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index cdaf6f64ec..f3e3b6cf2e 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -126,7 +126,28 @@ test_expect_success 'git branch -M foo bar should fail when bar is checked out'
test_expect_success 'git branch -M baz bam should succeed when baz is checked out' '
git checkout -b baz &&
git branch bam &&
- git branch -M baz bam
+ git branch -M baz bam &&
+ test $(git rev-parse --abbrev-ref HEAD) = bam
+'
+
+test_expect_success 'git branch -M baz bam should succeed when baz is checked out as linked working tree' '
+ git checkout master &&
+ git worktree add -b baz bazdir &&
+ git worktree add -f bazdir2 baz &&
+ git branch -M baz bam &&
+ test $(git -C bazdir rev-parse --abbrev-ref HEAD) = bam &&
+ test $(git -C bazdir2 rev-parse --abbrev-ref HEAD) = bam
+'
+
+test_expect_success 'git branch -M baz bam should succeed within a worktree in which baz is checked out' '
+ git checkout -b baz &&
+ git worktree add -f bazdir3 baz &&
+ (
+ cd bazdir3 &&
+ git branch -M baz bam &&
+ test $(git rev-parse --abbrev-ref HEAD) = bam
+ ) &&
+ test $(git rev-parse --abbrev-ref HEAD) = bam
'
test_expect_success 'git branch -M master should work when master is checked out' '
@@ -403,6 +424,12 @@ test_expect_success 'test deleting branch without config' '
test_i18ncmp expect actual
'
+test_expect_success 'deleting currently checked out branch fails' '
+ git worktree add -b my7 my7 &&
+ test_must_fail git -C my7 branch -d my7 &&
+ test_must_fail git branch -d my7
+'
+
test_expect_success 'test --track without .fetch entries' '
git branch --track my8 &&
test "$(git config branch.my8.remote)" &&
@@ -446,6 +473,13 @@ test_expect_success '--set-upstream-to fails on a non-ref' '
test_must_fail git branch --set-upstream-to HEAD^{}
'
+test_expect_success '--set-upstream-to fails on locked config' '
+ test_when_finished "rm -f .git/config.lock" &&
+ >.git/config.lock &&
+ git branch locked &&
+ test_must_fail git branch --set-upstream-to locked
+'
+
test_expect_success 'use --set-upstream-to modify HEAD' '
test_config branch.master.remote foo &&
test_config branch.master.merge foo &&
@@ -466,6 +500,13 @@ test_expect_success '--unset-upstream should fail if given a non-existent branch
test_must_fail git branch --unset-upstream i-dont-exist
'
+test_expect_success '--unset-upstream should fail if config is locked' '
+ test_when_finished "rm -f .git/config.lock" &&
+ git branch --set-upstream-to locked &&
+ >.git/config.lock &&
+ test_must_fail git branch --unset-upstream
+'
+
test_expect_success 'test --unset-upstream on HEAD' '
git branch my14 &&
test_config branch.master.remote foo &&
@@ -579,7 +620,7 @@ test_expect_success 'avoid ambiguous track' '
git config remote.ambi1.fetch refs/heads/lalala:refs/heads/master &&
git config remote.ambi2.url lilili &&
git config remote.ambi2.fetch refs/heads/lilili:refs/heads/master &&
- git branch all1 master &&
+ test_must_fail git branch all1 master &&
test -z "$(git config branch.all1.merge)"
'
diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh
index 4261403cf6..c6a3ccba1b 100755
--- a/t/t3203-branch-output.sh
+++ b/t/t3203-branch-output.sh
@@ -184,4 +184,16 @@ test_expect_success 'ambiguous branch/tag not marked' '
test_cmp expect actual
'
+test_expect_success 'local-branch symrefs shortened properly' '
+ git symbolic-ref refs/heads/ref-to-branch refs/heads/branch-one &&
+ git symbolic-ref refs/heads/ref-to-remote refs/remotes/origin/branch-one &&
+ cat >expect <<-\EOF &&
+ ref-to-branch -> branch-one
+ ref-to-remote -> refs/remotes/origin/branch-one
+ EOF
+ git branch >actual.raw &&
+ grep ref-to <actual.raw >actual &&
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t3402-rebase-merge.sh b/t/t3402-rebase-merge.sh
index 8f64505e4f..488945e007 100755
--- a/t/t3402-rebase-merge.sh
+++ b/t/t3402-rebase-merge.sh
@@ -85,6 +85,15 @@ test_expect_success 'rebase -Xtheirs' '
! grep 11 original
'
+test_expect_success 'rebase -Xtheirs from orphan' '
+ git checkout --orphan orphan-conflicting master~2 &&
+ echo "AB $T" >> original &&
+ git commit -morphan-conflicting original &&
+ git rebase -Xtheirs master &&
+ grep AB original &&
+ ! grep 11 original
+'
+
test_expect_success 'merge and rebase should match' '
git diff-tree -r test-rebase test-merge >difference &&
if test -s difference
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 544f9ad508..66348f11d1 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -62,7 +62,7 @@ test_expect_success 'setup' '
# "exec" commands are ran with the user shell by default, but this may
# be non-POSIX. For example, if SHELL=zsh then ">file" doesn't work
-# to create a file. Unseting SHELL avoids such non-portable behavior
+# to create a file. Unsetting SHELL avoids such non-portable behavior
# in tests. It must be exported for it to take effect where needed.
SHELL=
export SHELL
@@ -555,10 +555,9 @@ test_expect_success 'rebase a detached HEAD' '
test_expect_success 'rebase a commit violating pre-commit' '
mkdir -p .git/hooks &&
- PRE_COMMIT=.git/hooks/pre-commit &&
- echo "#!/bin/sh" > $PRE_COMMIT &&
- echo "test -z \"\$(git diff --cached --check)\"" >> $PRE_COMMIT &&
- chmod a+x $PRE_COMMIT &&
+ write_script .git/hooks/pre-commit <<-\EOF &&
+ test -z "$(git diff --cached --check)"
+ EOF
echo "monde! " >> file1 &&
test_tick &&
test_must_fail git commit -m doesnt-verify file1 &&
@@ -771,7 +770,6 @@ test_expect_success 'rebase-i history with funny messages' '
test_cmp expect actual
'
-
test_expect_success 'prepare for rebase -i --exec' '
git checkout master &&
git checkout -b execute &&
@@ -780,7 +778,6 @@ test_expect_success 'prepare for rebase -i --exec' '
test_commit three_exec main.txt three_exec
'
-
test_expect_success 'running "git rebase -i --exec git show HEAD"' '
set_fake_editor &&
git rebase -i --exec "git show HEAD" HEAD~2 >actual &&
@@ -793,7 +790,6 @@ test_expect_success 'running "git rebase -i --exec git show HEAD"' '
test_cmp expected actual
'
-
test_expect_success 'running "git rebase --exec git show HEAD -i"' '
git reset --hard execute &&
set_fake_editor &&
@@ -807,7 +803,6 @@ test_expect_success 'running "git rebase --exec git show HEAD -i"' '
test_cmp expected actual
'
-
test_expect_success 'running "git rebase -ix git show HEAD"' '
git reset --hard execute &&
set_fake_editor &&
@@ -835,7 +830,6 @@ test_expect_success 'rebase -ix with several <CMD>' '
test_cmp expected actual
'
-
test_expect_success 'rebase -ix with several instances of --exec' '
git reset --hard execute &&
set_fake_editor &&
@@ -850,7 +844,6 @@ test_expect_success 'rebase -ix with several instances of --exec' '
test_cmp expected actual
'
-
test_expect_success 'rebase -ix with --autosquash' '
git reset --hard execute &&
git checkout -b autosquash &&
@@ -876,16 +869,15 @@ test_expect_success 'rebase -ix with --autosquash' '
test_cmp expected actual
'
-
-test_expect_success 'rebase --exec without -i shows error message' '
+test_expect_success 'rebase --exec works without -i ' '
git reset --hard execute &&
- set_fake_editor &&
- test_must_fail git rebase --exec "git show HEAD" HEAD~2 2>actual &&
- echo "The --exec option must be used with the --interactive option" >expected &&
- test_i18ncmp expected actual
+ rm -rf exec_output &&
+ EDITOR="echo >invoked_editor" git rebase --exec "echo a line >>exec_output" HEAD~2 2>actual &&
+ test_i18ngrep "Successfully rebased and updated" actual &&
+ test_line_count = 2 exec_output &&
+ test_path_is_missing invoked_editor
'
-
test_expect_success 'rebase -i --exec without <CMD>' '
git reset --hard execute &&
set_fake_editor &&
diff --git a/t/t3412-rebase-root.sh b/t/t3412-rebase-root.sh
index 0b52105728..73a39f2923 100755
--- a/t/t3412-rebase-root.sh
+++ b/t/t3412-rebase-root.sh
@@ -133,7 +133,7 @@ test_expect_success 'set up second root and merge' '
rm A B C &&
test_commit 6 D &&
git checkout other &&
- git merge third
+ git merge --allow-unrelated-histories third
'
cat > expect-third <<'EOF'
diff --git a/t/t3421-rebase-topology-linear.sh b/t/t3421-rebase-topology-linear.sh
index 9c55cba198..68fe2003ef 100755
--- a/t/t3421-rebase-topology-linear.sh
+++ b/t/t3421-rebase-topology-linear.sh
@@ -253,7 +253,7 @@ test_run_rebase () {
"
}
test_run_rebase success ''
-test_run_rebase failure -m
+test_run_rebase success -m
test_run_rebase success -i
test_run_rebase success -p
@@ -268,7 +268,7 @@ test_run_rebase () {
"
}
test_run_rebase success ''
-test_run_rebase failure -m
+test_run_rebase success -m
test_run_rebase success -i
test_run_rebase failure -p
diff --git a/t/t3513-revert-submodule.sh b/t/t3513-revert-submodule.sh
index a1c4e0216f..db9378142a 100755
--- a/t/t3513-revert-submodule.sh
+++ b/t/t3513-revert-submodule.sh
@@ -14,11 +14,11 @@ test_description='revert can handle submodules'
git_revert () {
git status -su >expect &&
ls -1pR * >>expect &&
- tar czf "$TRASH_DIRECTORY/tmp.tgz" * &&
+ tar cf "$TRASH_DIRECTORY/tmp.tar" * &&
git checkout "$1" &&
git revert HEAD &&
rm -rf * &&
- tar xzf "$TRASH_DIRECTORY/tmp.tgz" &&
+ tar xf "$TRASH_DIRECTORY/tmp.tar" &&
git status -su >actual &&
ls -1pR * >>actual &&
test_cmp expect actual &&
diff --git a/t/t4001-diff-rename.sh b/t/t4001-diff-rename.sh
index 2f327b7495..0d1fa45d25 100755
--- a/t/t4001-diff-rename.sh
+++ b/t/t4001-diff-rename.sh
@@ -9,21 +9,84 @@ test_description='Test rename detection in diff engine.
. ./test-lib.sh
. "$TEST_DIRECTORY"/diff-lib.sh
-echo >path0 'Line 1
-Line 2
-Line 3
-Line 4
-Line 5
-Line 6
-Line 7
-Line 8
-Line 9
-Line 10
-line 11
-Line 12
-Line 13
-Line 14
-Line 15
+test_expect_success 'setup' '
+ cat >path0 <<-\EOF &&
+ Line 1
+ Line 2
+ Line 3
+ Line 4
+ Line 5
+ Line 6
+ Line 7
+ Line 8
+ Line 9
+ Line 10
+ line 11
+ Line 12
+ Line 13
+ Line 14
+ Line 15
+ EOF
+ cat >expected <<-\EOF &&
+ diff --git a/path0 b/path1
+ rename from path0
+ rename to path1
+ --- a/path0
+ +++ b/path1
+ @@ -8,7 +8,7 @@ Line 7
+ Line 8
+ Line 9
+ Line 10
+ -line 11
+ +Line 11
+ Line 12
+ Line 13
+ Line 14
+ EOF
+ cat >no-rename <<-\EOF
+ diff --git a/path0 b/path0
+ deleted file mode 100644
+ index fdbec44..0000000
+ --- a/path0
+ +++ /dev/null
+ @@ -1,15 +0,0 @@
+ -Line 1
+ -Line 2
+ -Line 3
+ -Line 4
+ -Line 5
+ -Line 6
+ -Line 7
+ -Line 8
+ -Line 9
+ -Line 10
+ -line 11
+ -Line 12
+ -Line 13
+ -Line 14
+ -Line 15
+ diff --git a/path1 b/path1
+ new file mode 100644
+ index 0000000..752c50e
+ --- /dev/null
+ +++ b/path1
+ @@ -0,0 +1,15 @@
+ +Line 1
+ +Line 2
+ +Line 3
+ +Line 4
+ +Line 5
+ +Line 6
+ +Line 7
+ +Line 8
+ +Line 9
+ +Line 10
+ +Line 11
+ +Line 12
+ +Line 13
+ +Line 14
+ +Line 15
+ EOF
'
test_expect_success \
@@ -43,27 +106,27 @@ test_expect_success \
test_expect_success \
'git diff-index -p -M after rename and editing.' \
'git diff-index -p -M $tree >current'
-cat >expected <<\EOF
-diff --git a/path0 b/path1
-rename from path0
-rename to path1
---- a/path0
-+++ b/path1
-@@ -8,7 +8,7 @@ Line 7
- Line 8
- Line 9
- Line 10
--line 11
-+Line 11
- Line 12
- Line 13
- Line 14
-EOF
+
test_expect_success \
'validate the output.' \
'compare_diff_patch current expected'
+test_expect_success 'test diff.renames=true' '
+ git -c diff.renames=true diff --cached $tree >current &&
+ compare_diff_patch current expected
+'
+
+test_expect_success 'test diff.renames=false' '
+ git -c diff.renames=false diff --cached $tree >current &&
+ compare_diff_patch current no-rename
+'
+
+test_expect_success 'test diff.renames unset' '
+ git diff --cached $tree >current &&
+ compare_diff_patch current expected
+'
+
test_expect_success 'favour same basenames over different ones' '
cp path1 another-path &&
git add another-path &&
@@ -77,6 +140,17 @@ test_expect_success 'favour same basenames even with minor differences' '
git show HEAD:path1 | sed "s/15/16/" > subdir/path1 &&
git status | test_i18ngrep "renamed: .*path1 -> subdir/path1"'
+test_expect_success 'two files with same basename and same content' '
+ git reset --hard &&
+ mkdir -p dir/A dir/B &&
+ cp path1 dir/A/file &&
+ cp path1 dir/B/file &&
+ git add dir &&
+ git commit -m 2 &&
+ git mv dir other-dir &&
+ git status | test_i18ngrep "renamed: .*dir/A/file -> other-dir/A/file"
+'
+
test_expect_success 'setup for many rename source candidates' '
git reset --hard &&
for i in 0 1 2 3 4 5 6 7 8 9;
diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh
index 6ec6072118..94ef5000e7 100755
--- a/t/t4013-diff-various.sh
+++ b/t/t4013-diff-various.sh
@@ -90,6 +90,8 @@ test_expect_success setup '
git commit -m "Rearranged lines in dir/sub" &&
git checkout master &&
+ git config diff.renames false &&
+
git show-branch
'
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index 3b99434e3e..eed2981b96 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -549,7 +549,7 @@ test_expect_success 'cover-letter inherits diff options' '
git mv file foo &&
git commit -m foo &&
- git format-patch --cover-letter -1 &&
+ git format-patch --no-renames --cover-letter -1 &&
check_patch 0000-cover-letter.patch &&
! grep "file => foo .* 0 *\$" 0000-cover-letter.patch &&
git format-patch --cover-letter -1 -M &&
@@ -703,7 +703,7 @@ test_expect_success 'options no longer allowed for format-patch' '
test_expect_success 'format-patch --numstat should produce a patch' '
git format-patch --numstat --stdout master..side > output &&
- test 6 = $(grep "^diff --git a/" output | wc -l)'
+ test 5 = $(grep "^diff --git a/" output | wc -l)'
test_expect_success 'format-patch -- <path>' '
git format-patch master..side -- file 2>error &&
diff --git a/t/t4047-diff-dirstat.sh b/t/t4047-diff-dirstat.sh
index 3b8b7921d6..447a8ffa3a 100755
--- a/t/t4047-diff-dirstat.sh
+++ b/t/t4047-diff-dirstat.sh
@@ -248,7 +248,8 @@ EOF
git rm -r src/move/unchanged &&
git rm -r src/move/changed &&
git rm -r src/move/rearranged &&
- git commit -m "changes"
+ git commit -m "changes" &&
+ git config diff.renames false
'
cat <<EOF >expect_diff_stat
diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh
index ed9c91e25b..1a080e7823 100755
--- a/t/t4200-rerere.sh
+++ b/t/t4200-rerere.sh
@@ -184,12 +184,27 @@ test_expect_success 'rerere updates postimage timestamp' '
'
test_expect_success 'rerere clear' '
- rm $rr/postimage &&
+ mv $rr/postimage .git/post-saved &&
echo "$sha1 a1" | perl -pe "y/\012/\000/" >.git/MERGE_RR &&
git rerere clear &&
! test -d $rr
'
+test_expect_success 'leftover directory' '
+ git reset --hard &&
+ mkdir -p $rr &&
+ test_must_fail git merge first &&
+ test -f $rr/preimage
+'
+
+test_expect_success 'missing preimage' '
+ git reset --hard &&
+ mkdir -p $rr &&
+ cp .git/post-saved $rr/postimage &&
+ test_must_fail git merge first &&
+ test -f $rr/preimage
+'
+
test_expect_success 'set up for garbage collection tests' '
mkdir -p $rr &&
echo Hello >$rr/preimage &&
@@ -391,4 +406,157 @@ test_expect_success 'rerere -h' '
test_i18ngrep [Uu]sage help
'
+concat_insert () {
+ last=$1
+ shift
+ cat early && printf "%s\n" "$@" && cat late "$last"
+}
+
+count_pre_post () {
+ find .git/rr-cache/ -type f -name "preimage*" >actual &&
+ test_line_count = "$1" actual &&
+ find .git/rr-cache/ -type f -name "postimage*" >actual &&
+ test_line_count = "$2" actual
+}
+
+test_expect_success 'rerere gc' '
+ find .git/rr-cache -type f >original &&
+ xargs test-chmtime -172800 <original &&
+
+ git -c gc.rerereresolved=5 -c gc.rerereunresolved=5 rerere gc &&
+ find .git/rr-cache -type f >actual &&
+ test_cmp original actual &&
+
+ git -c gc.rerereresolved=5 -c gc.rerereunresolved=0 rerere gc &&
+ find .git/rr-cache -type f >actual &&
+ test_cmp original actual &&
+
+ git -c gc.rerereresolved=0 -c gc.rerereunresolved=0 rerere gc &&
+ find .git/rr-cache -type f >actual &&
+ >expect &&
+ test_cmp expect actual
+'
+
+merge_conflict_resolve () {
+ git reset --hard &&
+ test_must_fail git merge six.1 &&
+ # Resolution is to replace 7 with 6.1 and 6.2 (i.e. take both)
+ concat_insert short 6.1 6.2 >file1 &&
+ concat_insert long 6.1 6.2 >file2
+}
+
+test_expect_success 'multiple identical conflicts' '
+ git reset --hard &&
+
+ test_seq 1 6 >early &&
+ >late &&
+ test_seq 11 15 >short &&
+ test_seq 111 120 >long &&
+ concat_insert short >file1 &&
+ concat_insert long >file2 &&
+ git add file1 file2 &&
+ git commit -m base &&
+ git tag base &&
+ git checkout -b six.1 &&
+ concat_insert short 6.1 >file1 &&
+ concat_insert long 6.1 >file2 &&
+ git add file1 file2 &&
+ git commit -m 6.1 &&
+ git checkout -b six.2 HEAD^ &&
+ concat_insert short 6.2 >file1 &&
+ concat_insert long 6.2 >file2 &&
+ git add file1 file2 &&
+ git commit -m 6.2 &&
+
+ # At this point, six.1 and six.2
+ # - derive from common ancestor that has two files
+ # 1...6 7 11..15 (file1) and 1...6 7 111..120 (file2)
+ # - six.1 replaces these 7s with 6.1
+ # - six.2 replaces these 7s with 6.2
+
+ merge_conflict_resolve &&
+
+ # Check that rerere knows that file1 and file2 have conflicts
+
+ printf "%s\n" file1 file2 >expect &&
+ git ls-files -u | sed -e "s/^.* //" | sort -u >actual &&
+ test_cmp expect actual &&
+
+ git rerere status | sort >actual &&
+ test_cmp expect actual &&
+
+ git rerere remaining >actual &&
+ test_cmp expect actual &&
+
+ count_pre_post 2 0 &&
+
+ # Pretend that the conflicts were made quite some time ago
+ find .git/rr-cache/ -type f | xargs test-chmtime -172800 &&
+
+ # Unresolved entries have not expired yet
+ git -c gc.rerereresolved=5 -c gc.rerereunresolved=5 rerere gc &&
+ count_pre_post 2 0 &&
+
+ # Unresolved entries have expired
+ git -c gc.rerereresolved=5 -c gc.rerereunresolved=1 rerere gc &&
+ count_pre_post 0 0 &&
+
+ # Recreate the conflicted state
+ merge_conflict_resolve &&
+ count_pre_post 2 0 &&
+
+ # Clear it
+ git rerere clear &&
+ count_pre_post 0 0 &&
+
+ # Recreate the conflicted state
+ merge_conflict_resolve &&
+ count_pre_post 2 0 &&
+
+ # We resolved file1 and file2
+ git rerere &&
+ >expect &&
+ git rerere remaining >actual &&
+ test_cmp expect actual &&
+
+ # We must have recorded both of them
+ count_pre_post 2 2 &&
+
+ # Now we should be able to resolve them both
+ git reset --hard &&
+ test_must_fail git merge six.1 &&
+ git rerere &&
+
+ >expect &&
+ git rerere remaining >actual &&
+ test_cmp expect actual &&
+
+ concat_insert short 6.1 6.2 >file1.expect &&
+ concat_insert long 6.1 6.2 >file2.expect &&
+ test_cmp file1.expect file1 &&
+ test_cmp file2.expect file2 &&
+
+ # Forget resolution for file2
+ git rerere forget file2 &&
+ echo file2 >expect &&
+ git rerere status >actual &&
+ test_cmp expect actual &&
+ count_pre_post 2 1 &&
+
+ # file2 already has correct resolution, so record it again
+ git rerere &&
+
+ # Pretend that the resolutions are old again
+ find .git/rr-cache/ -type f | xargs test-chmtime -172800 &&
+
+ # Resolved entries have not expired yet
+ git -c gc.rerereresolved=5 -c gc.rerereunresolved=5 rerere gc &&
+
+ count_pre_post 2 2 &&
+
+ # Resolved entries have expired
+ git -c gc.rerereresolved=1 -c gc.rerereunresolved=5 rerere gc &&
+ count_pre_post 0 0
+'
+
test_done
diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh
index f5e63670fa..a9773658f0 100755
--- a/t/t4201-shortlog.sh
+++ b/t/t4201-shortlog.sh
@@ -115,7 +115,7 @@ EOF
'
test_expect_success !MINGW 'shortlog from non-git directory' '
- git log HEAD >log &&
+ git log --no-expand-tabs HEAD >log &&
GIT_DIR=non-existing git shortlog -w <log >out &&
test_cmp expect out
'
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index cb82eb7e66..128ba93537 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -101,8 +101,8 @@ test_expect_success 'oneline' '
test_expect_success 'diff-filter=A' '
- git log --pretty="format:%s" --diff-filter=A HEAD > actual &&
- git log --pretty="format:%s" --diff-filter A HEAD > actual-separate &&
+ git log --no-renames --pretty="format:%s" --diff-filter=A HEAD > actual &&
+ git log --no-renames --pretty="format:%s" --diff-filter A HEAD > actual-separate &&
printf "fifth\nfourth\nthird\ninitial" > expect &&
test_cmp expect actual &&
test_cmp expect actual-separate
@@ -119,7 +119,7 @@ test_expect_success 'diff-filter=M' '
test_expect_success 'diff-filter=D' '
- actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
+ actual=$(git log --no-renames --pretty="format:%s" --diff-filter=D HEAD) &&
expect=$(echo sixth ; echo third) &&
verbose test "$actual" = "$expect"
@@ -848,7 +848,7 @@ sanitize_output () {
}
test_expect_success 'log --graph with diff and stats' '
- git log --graph --pretty=short --stat -p >actual &&
+ git log --no-renames --graph --pretty=short --stat -p >actual &&
sanitize_output >actual.sanitized <actual &&
test_i18ncmp expect actual.sanitized
'
diff --git a/t/t4213-log-tabexpand.sh b/t/t4213-log-tabexpand.sh
new file mode 100755
index 0000000000..e01a8f6ac9
--- /dev/null
+++ b/t/t4213-log-tabexpand.sh
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+test_description='log/show --expand-tabs'
+
+. ./test-lib.sh
+
+HT=" "
+title='tab indent at the beginning of the title line'
+body='tab indent on a line in the body'
+
+# usage: count_expand $indent $numSP $numHT @format_args
+count_expand ()
+{
+ expect=
+ count=$(( $1 + $2 )) ;# expected spaces
+ while test $count -gt 0
+ do
+ expect="$expect "
+ count=$(( $count - 1 ))
+ done
+ shift 2
+ count=$1 ;# expected tabs
+ while test $count -gt 0
+ do
+ expect="$expect$HT"
+ count=$(( $count - 1 ))
+ done
+ shift
+
+ # The remainder of the command line is "git show -s" options
+ case " $* " in
+ *' --pretty=short '*)
+ line=$title ;;
+ *)
+ line=$body ;;
+ esac
+
+ # Prefix the output with the command line arguments, and
+ # replace SP with a dot both in the expecte and actual output
+ # so that test_cmp would show the differene together with the
+ # breakage in a way easier to consume by the debugging user.
+ {
+ echo "git show -s $*"
+ echo "$expect$line"
+ } | sed -e 's/ /./g' >expect
+
+ {
+ echo "git show -s $*"
+ git show -s "$@" |
+ sed -n -e "/$line\$/p"
+ } | sed -e 's/ /./g' >actual
+
+ test_cmp expect actual
+}
+
+test_expand ()
+{
+ fmt=$1
+ case "$fmt" in
+ *=raw | *=short | *=email)
+ default="0 1" ;;
+ *)
+ default="8 0" ;;
+ esac
+ case "$fmt" in
+ *=email)
+ in=0 ;;
+ *)
+ in=4 ;;
+ esac
+ test_expect_success "expand/no-expand${fmt:+ for $fmt}" '
+ count_expand $in $default $fmt &&
+ count_expand $in 8 0 $fmt --expand-tabs &&
+ count_expand $in 8 0 --expand-tabs $fmt &&
+ count_expand $in 8 0 $fmt --expand-tabs=8 &&
+ count_expand $in 8 0 --expand-tabs=8 $fmt &&
+ count_expand $in 0 1 $fmt --no-expand-tabs &&
+ count_expand $in 0 1 --no-expand-tabs $fmt &&
+ count_expand $in 0 1 $fmt --expand-tabs=0 &&
+ count_expand $in 0 1 --expand-tabs=0 $fmt &&
+ count_expand $in 4 0 $fmt --expand-tabs=4 &&
+ count_expand $in 4 0 --expand-tabs=4 $fmt
+ '
+}
+
+test_expect_success 'setup' '
+ test_tick &&
+ sed -e "s/Q/$HT/g" <<-EOF >msg &&
+ Q$title
+
+ Q$body
+ EOF
+ git commit --allow-empty -F msg
+'
+
+test_expand ""
+test_expand --pretty
+test_expand --pretty=short
+test_expand --pretty=medium
+test_expand --pretty=full
+test_expand --pretty=fuller
+test_expand --pretty=raw
+test_expand --pretty=email
+
+test_done
diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh
index fc2be63e02..899e52d50f 100755
--- a/t/t5300-pack-object.sh
+++ b/t/t5300-pack-object.sh
@@ -284,6 +284,12 @@ test_expect_success \
git index-pack test-3.pack &&
cmp test-3.idx test-3-${packname_3}.idx &&
+ cat test-1-${packname_1}.pack >test-4.pack &&
+ rm -f test-4.keep &&
+ git index-pack --keep=why test-4.pack &&
+ cmp test-1-${packname_1}.idx test-4.idx &&
+ test -f test-4.keep &&
+
:'
test_expect_success 'unpacking with --strict' '
diff --git a/t/t5313-pack-bounds-checks.sh b/t/t5313-pack-bounds-checks.sh
new file mode 100755
index 0000000000..a8a587abc3
--- /dev/null
+++ b/t/t5313-pack-bounds-checks.sh
@@ -0,0 +1,179 @@
+#!/bin/sh
+
+test_description='bounds-checking of access to mmapped on-disk file formats'
+. ./test-lib.sh
+
+clear_base () {
+ test_when_finished 'restore_base' &&
+ rm -f $base
+}
+
+restore_base () {
+ cp base-backup/* .git/objects/pack/
+}
+
+do_pack () {
+ pack_objects=$1; shift
+ sha1=$(
+ for i in $pack_objects
+ do
+ echo $i
+ done | git pack-objects "$@" .git/objects/pack/pack
+ ) &&
+ pack=.git/objects/pack/pack-$sha1.pack &&
+ idx=.git/objects/pack/pack-$sha1.idx &&
+ chmod +w $pack $idx &&
+ test_when_finished 'rm -f "$pack" "$idx"'
+}
+
+munge () {
+ printf "$3" | dd of="$1" bs=1 conv=notrunc seek=$2
+}
+
+# Offset in a v2 .idx to its initial and extended offset tables. For an index
+# with "nr" objects, this is:
+#
+# magic(4) + version(4) + fan-out(4*256) + sha1s(20*nr) + crc(4*nr),
+#
+# for the initial, and another ofs(4*nr) past that for the extended.
+#
+ofs_table () {
+ echo $((4 + 4 + 4*256 + 20*$1 + 4*$1))
+}
+extended_table () {
+ echo $(($(ofs_table "$1") + 4*$1))
+}
+
+test_expect_success 'set up base packfile and variables' '
+ # the hash of this content starts with ff, which
+ # makes some later computations much simpler
+ echo 74 >file &&
+ git add file &&
+ git commit -m base &&
+ git repack -ad &&
+ base=$(echo .git/objects/pack/*) &&
+ chmod +w $base &&
+ mkdir base-backup &&
+ cp $base base-backup/ &&
+ object=$(git rev-parse HEAD:file)
+'
+
+test_expect_success 'pack/index object count mismatch' '
+ do_pack $object &&
+ munge $pack 8 "\377\0\0\0" &&
+ clear_base &&
+
+ # We enumerate the objects from the completely-fine
+ # .idx, but notice later that the .pack is bogus
+ # and fail to show any data.
+ echo "$object missing" >expect &&
+ git cat-file --batch-all-objects --batch-check >actual &&
+ test_cmp expect actual &&
+
+ # ...and here fail to load the object (without segfaulting),
+ # but fallback to a good copy if available.
+ test_must_fail git cat-file blob $object &&
+ restore_base &&
+ git cat-file blob $object >actual &&
+ test_cmp file actual &&
+
+ # ...and make sure that index-pack --verify, which has its
+ # own reading routines, does not segfault.
+ test_must_fail git index-pack --verify $pack
+'
+
+test_expect_success 'matched bogus object count' '
+ do_pack $object &&
+ munge $pack 8 "\377\0\0\0" &&
+ munge $idx $((255 * 4)) "\377\0\0\0" &&
+ clear_base &&
+
+ # Unlike above, we should notice early that the .idx is totally
+ # bogus, and not even enumerate its contents.
+ >expect &&
+ git cat-file --batch-all-objects --batch-check >actual &&
+ test_cmp expect actual &&
+
+ # But as before, we can do the same object-access checks.
+ test_must_fail git cat-file blob $object &&
+ restore_base &&
+ git cat-file blob $object >actual &&
+ test_cmp file actual &&
+
+ test_must_fail git index-pack --verify $pack
+'
+
+# Note that we cannot check the fallback case for these
+# further .idx tests, as we notice the problem in functions
+# whose interface doesn't allow an error return (like use_pack()),
+# and thus we just die().
+#
+# There's also no point in doing enumeration tests, as
+# we are munging offsets here, which are about looking up
+# specific objects.
+
+test_expect_success 'bogus object offset (v1)' '
+ do_pack $object --index-version=1 &&
+ munge $idx $((4 * 256)) "\377\0\0\0" &&
+ clear_base &&
+ test_must_fail git cat-file blob $object &&
+ test_must_fail git index-pack --verify $pack
+'
+
+test_expect_success 'bogus object offset (v2, no msb)' '
+ do_pack $object --index-version=2 &&
+ munge $idx $(ofs_table 1) "\0\377\0\0" &&
+ clear_base &&
+ test_must_fail git cat-file blob $object &&
+ test_must_fail git index-pack --verify $pack
+'
+
+test_expect_success 'bogus offset into v2 extended table' '
+ do_pack $object --index-version=2 &&
+ munge $idx $(ofs_table 1) "\377\0\0\0" &&
+ clear_base &&
+ test_must_fail git cat-file blob $object &&
+ test_must_fail git index-pack --verify $pack
+'
+
+test_expect_success 'bogus offset inside v2 extended table' '
+ # We need two objects here, so we can plausibly require
+ # an extended table (if the first object were larger than 2^31).
+ do_pack "$object $(git rev-parse HEAD)" --index-version=2 &&
+
+ # We have to make extra room for the table, so we cannot
+ # just munge in place as usual.
+ {
+ dd if=$idx bs=1 count=$(($(ofs_table 2) + 4)) &&
+ printf "\200\0\0\0" &&
+ printf "\377\0\0\0\0\0\0\0" &&
+ dd if=$idx bs=1 skip=$(extended_table 2)
+ } >tmp &&
+ mv tmp "$idx" &&
+ clear_base &&
+ test_must_fail git cat-file blob $object &&
+ test_must_fail git index-pack --verify $pack
+'
+
+test_expect_success 'bogus OFS_DELTA in packfile' '
+ # Generate a pack with a delta in it.
+ base=$(test-genrandom foo 3000 | git hash-object --stdin -w) &&
+ delta=$(test-genrandom foo 2000 | git hash-object --stdin -w) &&
+ do_pack "$base $delta" --delta-base-offset &&
+ rm -f .git/objects/??/* &&
+
+ # Double check that we have the delta we expect.
+ echo $base >expect &&
+ echo $delta | git cat-file --batch-check="%(deltabase)" >actual &&
+ test_cmp expect actual &&
+
+ # Now corrupt it. We assume the varint size for the delta is small
+ # enough to fit in the first byte (which it should be, since it
+ # is a pure deletion from the base), and that original ofs_delta
+ # takes 2 bytes (which it should, as it should be ~3000).
+ ofs=$(git show-index <$idx | grep $delta | cut -d" " -f1) &&
+ munge $pack $(($ofs + 1)) "\177\377" &&
+ test_must_fail git cat-file blob $delta >/dev/null
+'
+
+test_done
diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh
index 04cea97f87..305ca7a930 100755
--- a/t/t5400-send-pack.sh
+++ b/t/t5400-send-pack.sh
@@ -128,6 +128,18 @@ test_expect_success 'denyNonFastforwards trumps --force' '
test "$victim_orig" = "$victim_head"
'
+test_expect_success 'send-pack --all sends all branches' '
+ # make sure we have at least 2 branches with different
+ # values, just to be thorough
+ git branch other-branch HEAD^ &&
+
+ git init --bare all.git &&
+ git send-pack --all all.git &&
+ git for-each-ref refs/heads >expect &&
+ git -C all.git for-each-ref refs/heads >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'push --all excludes remote-tracking hierarchy' '
mkdir parent &&
(
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index e5f83bf5e4..91a69fc33a 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -259,7 +259,8 @@ test_expect_success 'clone shallow object count' '
test_expect_success 'pull in shallow repo with missing merge base' '
(
cd shallow &&
- test_must_fail git pull --depth 4 .. A
+ git fetch --depth 4 .. A
+ test_must_fail git merge --allow-unrelated-histories FETCH_HEAD
)
'
@@ -279,9 +280,10 @@ test_expect_success 'clone shallow depth count' '
test_expect_success 'clone shallow object count' '
(
cd shallow &&
+ git prune &&
git count-objects -v
) > count.shallow &&
- grep "^count: 55" count.shallow
+ grep "^count: 54" count.shallow
'
test_expect_success 'fetch --no-shallow on full repo' '
@@ -531,6 +533,20 @@ test_expect_success 'shallow fetch with tags does not break the repository' '
git fsck
)
'
+
+test_expect_success 'fetch-pack can fetch a raw sha1' '
+ git init hidden &&
+ (
+ cd hidden &&
+ test_commit 1 &&
+ test_commit 2 &&
+ git update-ref refs/hidden/one HEAD^ &&
+ git config transfer.hiderefs refs/hidden &&
+ git config uploadpack.allowtipsha1inwant true
+ ) &&
+ git fetch-pack hidden $(git -C hidden rev-parse refs/hidden/one)
+'
+
check_prot_path () {
cat >expected <<-EOF &&
Diag: url=$1
diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh
index 89224edcc5..44f3d5fb28 100755
--- a/t/t5504-fetch-receive-strict.sh
+++ b/t/t5504-fetch-receive-strict.sh
@@ -100,7 +100,7 @@ test_expect_success 'push with receive.fsckobjects' '
git config receive.fsckobjects true &&
git config transfer.fsckobjects false
) &&
- test_must_fail ok=sigpipe git push --porcelain dst master:refs/heads/test >act &&
+ test_must_fail git push --porcelain dst master:refs/heads/test >act &&
test_cmp exp act
'
@@ -111,7 +111,8 @@ test_expect_success 'push with transfer.fsckobjects' '
cd dst &&
git config transfer.fsckobjects true
) &&
- test_must_fail ok=sigpipe git push --porcelain dst master:refs/heads/test >act
+ test_must_fail git push --porcelain dst master:refs/heads/test >act &&
+ test_cmp exp act
'
cat >bogus-commit <<\EOF
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index 0dcc752076..dd2e6ce34e 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -144,6 +144,39 @@ test_expect_success 'remove remote protects local branches' '
)
'
+test_expect_success 'remove errors out early when deleting non-existent branch' '
+ (
+ cd test &&
+ echo "fatal: No such remote: foo" >expect &&
+ test_must_fail git remote rm foo 2>actual &&
+ test_i18ncmp expect actual
+ )
+'
+
+test_expect_success 'rename errors out early when deleting non-existent branch' '
+ (
+ cd test &&
+ echo "fatal: No such remote: foo" >expect &&
+ test_must_fail git remote rename foo bar 2>actual &&
+ test_i18ncmp expect actual
+ )
+'
+
+test_expect_success 'add existing foreign_vcs remote' '
+ test_config remote.foo.vcs bar &&
+ echo "fatal: remote foo already exists." >expect &&
+ test_must_fail git remote add foo bar 2>actual &&
+ test_i18ncmp expect actual
+'
+
+test_expect_success 'add existing foreign_vcs remote' '
+ test_config remote.foo.vcs bar &&
+ test_config remote.bar.vcs bar &&
+ echo "fatal: remote bar already exists." >expect &&
+ test_must_fail git remote rename foo bar 2>actual &&
+ test_i18ncmp expect actual
+'
+
cat >test/expect <<EOF
* remote origin
Fetch URL: $(pwd)/one
@@ -937,6 +970,15 @@ test_expect_success 'get-url on new remote' '
echo foo | get_url_test --push --all someremote
'
+test_expect_success 'remote set-url with locked config' '
+ test_when_finished "rm -f .git/config.lock" &&
+ git config --get-all remote.someremote.url >expect &&
+ >.git/config.lock &&
+ test_must_fail git remote set-url someremote baz &&
+ git config --get-all remote.someremote.url >actual &&
+ cmp expect actual
+'
+
test_expect_success 'remote set-url bar' '
git remote set-url someremote bar &&
echo bar >expect &&
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh
index 0c10c856a9..454d896390 100755
--- a/t/t5510-fetch.sh
+++ b/t/t5510-fetch.sh
@@ -679,10 +679,13 @@ test_expect_success 'fetching with auto-gc does not lock up' '
EOF
git clone "file://$D" auto-gc &&
test_commit test2 &&
- cd auto-gc &&
- git config gc.autoPackLimit 1 &&
- GIT_ASK_YESNO="$D/askyesno" git fetch >fetch.out 2>&1 &&
- ! grep "Should I try again" fetch.out
+ (
+ cd auto-gc &&
+ git config gc.autoPackLimit 1 &&
+ git config gc.autoDetach false &&
+ GIT_ASK_YESNO="$D/askyesno" git fetch >fetch.out 2>&1 &&
+ ! grep "Should I try again" fetch.out
+ )
'
test_done
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index c952d5ef5c..739c089d50 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -9,6 +9,24 @@ modify () {
mv "$2.x" "$2"
}
+test_pull_autostash () {
+ git reset --hard before-rebase &&
+ echo dirty >new_file &&
+ git add new_file &&
+ git pull "$@" . copy &&
+ test_cmp_rev HEAD^ copy &&
+ test "$(cat new_file)" = dirty &&
+ test "$(cat file)" = "modified again"
+}
+
+test_pull_autostash_fail () {
+ git reset --hard before-rebase &&
+ echo dirty >new_file &&
+ git add new_file &&
+ test_must_fail git pull "$@" . copy 2>err &&
+ test_i18ngrep "uncommitted changes." err
+}
+
test_expect_success setup '
echo file >file &&
git add file &&
@@ -247,15 +265,47 @@ test_expect_success '--rebase fails with multiple branches' '
test_expect_success 'pull --rebase succeeds with dirty working directory and rebase.autostash set' '
test_config rebase.autostash true &&
- git reset --hard before-rebase &&
- echo dirty >new_file &&
- git add new_file &&
- git pull --rebase . copy &&
- test_cmp_rev HEAD^ copy &&
- test "$(cat new_file)" = dirty &&
- test "$(cat file)" = "modified again"
+ test_pull_autostash --rebase
'
+test_expect_success 'pull --rebase --autostash & rebase.autostash=true' '
+ test_config rebase.autostash true &&
+ test_pull_autostash --rebase --autostash
+'
+
+test_expect_success 'pull --rebase --autostash & rebase.autostash=false' '
+ test_config rebase.autostash false &&
+ test_pull_autostash --rebase --autostash
+'
+
+test_expect_success 'pull --rebase --autostash & rebase.autostash unset' '
+ test_unconfig rebase.autostash &&
+ test_pull_autostash --rebase --autostash
+'
+
+test_expect_success 'pull --rebase --no-autostash & rebase.autostash=true' '
+ test_config rebase.autostash true &&
+ test_pull_autostash_fail --rebase --no-autostash
+'
+
+test_expect_success 'pull --rebase --no-autostash & rebase.autostash=false' '
+ test_config rebase.autostash false &&
+ test_pull_autostash_fail --rebase --no-autostash
+'
+
+test_expect_success 'pull --rebase --no-autostash & rebase.autostash unset' '
+ test_unconfig rebase.autostash &&
+ test_pull_autostash_fail --rebase --no-autostash
+'
+
+for i in --autostash --no-autostash
+do
+ test_expect_success "pull $i (without --rebase) is illegal" '
+ test_must_fail git pull $i . copy 2>err &&
+ test_i18ngrep "only valid with --rebase" err
+ '
+done
+
test_expect_success 'pull.rebase' '
git reset --hard before-rebase &&
test_config pull.rebase true &&
@@ -264,6 +314,16 @@ test_expect_success 'pull.rebase' '
test new = "$(git show HEAD:file2)"
'
+test_expect_success 'pull --autostash & pull.rebase=true' '
+ test_config pull.rebase true &&
+ test_pull_autostash --autostash
+'
+
+test_expect_success 'pull --no-autostash & pull.rebase=true' '
+ test_config pull.rebase true &&
+ test_pull_autostash_fail --no-autostash
+'
+
test_expect_success 'branch.to-rebase.rebase' '
git reset --hard before-rebase &&
test_config branch.to-rebase.rebase true &&
diff --git a/t/t5521-pull-options.sh b/t/t5521-pull-options.sh
index 18372caa15..ded8f98dbe 100755
--- a/t/t5521-pull-options.sh
+++ b/t/t5521-pull-options.sh
@@ -144,4 +144,25 @@ test_expect_success 'git pull --all --dry-run' '
)
'
+test_expect_success 'git pull --allow-unrelated-histories' '
+ test_when_finished "rm -fr src dst" &&
+ git init src &&
+ (
+ cd src &&
+ test_commit one &&
+ test_commit two
+ ) &&
+ git clone src dst &&
+ (
+ cd src &&
+ git checkout --orphan side HEAD^ &&
+ test_commit three
+ ) &&
+ (
+ cd dst &&
+ test_must_fail git pull ../src side &&
+ git pull --allow-unrelated-histories ../src side
+ )
+'
+
test_done
diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh
index 1241146227..954d0e43f5 100755
--- a/t/t5526-fetch-submodules.sh
+++ b/t/t5526-fetch-submodules.sh
@@ -471,4 +471,18 @@ test_expect_success "don't fetch submodule when newly recorded commits are alrea
test_i18ncmp expect.err actual.err
'
+test_expect_success 'fetching submodules respects parallel settings' '
+ git config fetch.recurseSubmodules true &&
+ (
+ cd downstream &&
+ GIT_TRACE=$(pwd)/trace.out git fetch --jobs 7 &&
+ grep "7 tasks" trace.out &&
+ git config submodule.fetchJobs 8 &&
+ GIT_TRACE=$(pwd)/trace.out git fetch &&
+ grep "8 tasks" trace.out &&
+ GIT_TRACE=$(pwd)/trace.out git fetch --jobs 9 &&
+ grep "9 tasks" trace.out
+ )
+'
+
test_done
diff --git a/t/t5532-fetch-proxy.sh b/t/t5532-fetch-proxy.sh
index d75ef0ea2b..51c9669398 100755
--- a/t/t5532-fetch-proxy.sh
+++ b/t/t5532-fetch-proxy.sh
@@ -12,10 +12,8 @@ test_expect_success 'setup remote repo' '
)
'
-cat >proxy <<'EOF'
-#!/bin/sh
-echo >&2 "proxying for $*"
-cmd=$("$PERL_PATH" -e '
+test_expect_success 'setup proxy script' '
+ write_script proxy-get-cmd "$PERL_PATH" <<-\EOF &&
read(STDIN, $buf, 4);
my $n = hex($buf) - 4;
read(STDIN, $buf, $n);
@@ -23,11 +21,16 @@ cmd=$("$PERL_PATH" -e '
# drop absolute-path on repo name
$cmd =~ s{ /}{ };
print $cmd;
-')
-echo >&2 "Running '$cmd'"
-exec $cmd
-EOF
-chmod +x proxy
+ EOF
+
+ write_script proxy <<-\EOF
+ echo >&2 "proxying for $*"
+ cmd=$(./proxy-get-cmd)
+ echo >&2 "Running $cmd"
+ exec $cmd
+ EOF
+'
+
test_expect_success 'setup local repo' '
git remote add fake git://example.com/remote &&
git config core.gitproxy ./proxy
diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh
index 58207d8825..e44fe72c7a 100755
--- a/t/t5551-http-fetch-smart.sh
+++ b/t/t5551-http-fetch-smart.sh
@@ -282,5 +282,12 @@ test_expect_success EXPENSIVE 'http can handle enormous ref negotiation' '
test_line_count = 100000 tags
'
+test_expect_success 'custom http headers' '
+ test_must_fail git fetch "$HTTPD_URL/smart_headers/repo.git" &&
+ git -c http.extraheader="x-magic-one: abra" \
+ -c http.extraheader="x-magic-two: cadabra" \
+ fetch "$HTTPD_URL/smart_headers/repo.git"
+'
+
stop_httpd
test_done
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index c1efb8e445..150aeaf713 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -308,7 +308,7 @@ test_expect_success 'clone checking out a tag' '
setup_ssh_wrapper () {
test_expect_success 'setup ssh wrapper' '
- cp "$GIT_BUILD_DIR/test-fake-ssh$X" \
+ cp "$GIT_BUILD_DIR/t/helper/test-fake-ssh$X" \
"$TRASH_DIRECTORY/ssh-wrapper$X" &&
GIT_SSH="$TRASH_DIRECTORY/ssh-wrapper$X" &&
export GIT_SSH &&
diff --git a/t/t5700-clone-reference.sh b/t/t5604-clone-reference.sh
index 4320082b1b..4320082b1b 100755
--- a/t/t5700-clone-reference.sh
+++ b/t/t5604-clone-reference.sh
diff --git a/t/t5701-clone-local.sh b/t/t5605-clone-local.sh
index 3c087e907c..3c087e907c 100755
--- a/t/t5701-clone-local.sh
+++ b/t/t5605-clone-local.sh
diff --git a/t/t5702-clone-options.sh b/t/t5606-clone-options.sh
index 9e24ec88e6..9e24ec88e6 100755
--- a/t/t5702-clone-options.sh
+++ b/t/t5606-clone-options.sh
diff --git a/t/t5704-bundle.sh b/t/t5607-clone-bundle.sh
index 348d9b3bc7..348d9b3bc7 100755
--- a/t/t5704-bundle.sh
+++ b/t/t5607-clone-bundle.sh
diff --git a/t/t5705-clone-2gb.sh b/t/t5608-clone-2gb.sh
index 191d6d3a78..191d6d3a78 100755
--- a/t/t5705-clone-2gb.sh
+++ b/t/t5608-clone-2gb.sh
diff --git a/t/t5706-clone-branch.sh b/t/t5609-clone-branch.sh
index 6e7a7be052..6e7a7be052 100755
--- a/t/t5706-clone-branch.sh
+++ b/t/t5609-clone-branch.sh
diff --git a/t/t5707-clone-detached.sh b/t/t5610-clone-detached.sh
index 8b0d607df1..8b0d607df1 100755
--- a/t/t5707-clone-detached.sh
+++ b/t/t5610-clone-detached.sh
diff --git a/t/t5708-clone-config.sh b/t/t5611-clone-config.sh
index 27d730c0a7..27d730c0a7 100755
--- a/t/t5708-clone-config.sh
+++ b/t/t5611-clone-config.sh
diff --git a/t/t5709-clone-refspec.sh b/t/t5612-clone-refspec.sh
index 7ace2535c8..7ace2535c8 100755
--- a/t/t5709-clone-refspec.sh
+++ b/t/t5612-clone-refspec.sh
diff --git a/t/t5710-info-alternate.sh b/t/t5613-info-alternate.sh
index 9cd2626dba..9cd2626dba 100755
--- a/t/t5710-info-alternate.sh
+++ b/t/t5613-info-alternate.sh
diff --git a/t/t5614-clone-submodules.sh b/t/t5614-clone-submodules.sh
new file mode 100755
index 0000000000..62044c5a02
--- /dev/null
+++ b/t/t5614-clone-submodules.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+test_description='Test shallow cloning of repos with submodules'
+
+. ./test-lib.sh
+
+pwd=$(pwd)
+
+test_expect_success 'setup' '
+ git checkout -b master &&
+ test_commit commit1 &&
+ test_commit commit2 &&
+ mkdir sub &&
+ (
+ cd sub &&
+ git init &&
+ test_commit subcommit1 &&
+ test_commit subcommit2 &&
+ test_commit subcommit3
+ ) &&
+ git submodule add "file://$pwd/sub" sub &&
+ git commit -m "add submodule"
+'
+
+test_expect_success 'nonshallow clone implies nonshallow submodule' '
+ test_when_finished "rm -rf super_clone" &&
+ git clone --recurse-submodules "file://$pwd/." super_clone &&
+ (
+ cd super_clone &&
+ git log --oneline >lines &&
+ test_line_count = 3 lines
+ ) &&
+ (
+ cd super_clone/sub &&
+ git log --oneline >lines &&
+ test_line_count = 3 lines
+ )
+'
+
+test_expect_success 'shallow clone implies shallow submodule' '
+ test_when_finished "rm -rf super_clone" &&
+ git clone --recurse-submodules --depth 2 "file://$pwd/." super_clone &&
+ (
+ cd super_clone &&
+ git log --oneline >lines &&
+ test_line_count = 2 lines
+ ) &&
+ (
+ cd super_clone/sub &&
+ git log --oneline >lines &&
+ test_line_count = 1 lines
+ )
+'
+
+test_expect_success 'shallow clone with non shallow submodule' '
+ test_when_finished "rm -rf super_clone" &&
+ git clone --recurse-submodules --depth 2 --no-shallow-submodules "file://$pwd/." super_clone &&
+ (
+ cd super_clone &&
+ git log --oneline >lines &&
+ test_line_count = 2 lines
+ ) &&
+ (
+ cd super_clone/sub &&
+ git log --oneline >lines &&
+ test_line_count = 3 lines
+ )
+'
+
+test_expect_success 'non shallow clone with shallow submodule' '
+ test_when_finished "rm -rf super_clone" &&
+ git clone --recurse-submodules --no-local --shallow-submodules "file://$pwd/." super_clone &&
+ (
+ cd super_clone &&
+ git log --oneline >lines &&
+ test_line_count = 3 lines
+ ) &&
+ (
+ cd super_clone/sub &&
+ git log --oneline >lines &&
+ test_line_count = 1 lines
+ )
+'
+
+test_done
diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh
index 66cda17ef3..20e3e2554a 100755
--- a/t/t6009-rev-list-parent.sh
+++ b/t/t6009-rev-list-parent.sh
@@ -47,7 +47,9 @@ test_expect_success 'setup roots, merges and octopuses' '
git checkout -b yetanotherbranch four &&
test_commit eight &&
git checkout master &&
- test_merge normalmerge newroot &&
+ test_tick &&
+ git merge --allow-unrelated-histories -m normalmerge newroot &&
+ git tag normalmerge &&
test_tick &&
git merge -m tripus sidebranch anotherbranch &&
git tag tripus &&
diff --git a/t/t6010-merge-base.sh b/t/t6010-merge-base.sh
index 39b3238da2..e0c5f44cac 100755
--- a/t/t6010-merge-base.sh
+++ b/t/t6010-merge-base.sh
@@ -215,11 +215,13 @@ test_expect_success 'criss-cross merge-base for octopus-step' '
git reset --hard E &&
test_commit CC2 &&
test_tick &&
- git merge -s ours CC1 &&
+ # E is a root commit unrelated to MMR root on which CC1 is based
+ git merge -s ours --allow-unrelated-histories CC1 &&
test_commit CC-o &&
test_commit CCB &&
git reset --hard CC1 &&
- git merge -s ours CC2 &&
+ # E is a root commit unrelated to MMR root on which CC1 is based
+ git merge -s ours --allow-unrelated-histories CC2 &&
test_commit CCA &&
git rev-parse CC1 CC2 >expected &&
diff --git a/t/t6012-rev-list-simplify.sh b/t/t6012-rev-list-simplify.sh
index b89cd6b07a..2a0fbb87b1 100755
--- a/t/t6012-rev-list-simplify.sh
+++ b/t/t6012-rev-list-simplify.sh
@@ -71,7 +71,7 @@ test_expect_success setup '
note J &&
git checkout master &&
- test_tick && git merge -m "Coolest" unrelated &&
+ test_tick && git merge --allow-unrelated-histories -m "Coolest" unrelated &&
note K &&
echo "Immaterial" >elif &&
diff --git a/t/t6026-merge-attr.sh b/t/t6026-merge-attr.sh
index 04c0509c47..ef0cbceafe 100755
--- a/t/t6026-merge-attr.sh
+++ b/t/t6026-merge-attr.sh
@@ -176,7 +176,8 @@ test_expect_success 'up-to-date merge without common ancestor' '
test_tick &&
(
cd repo1 &&
- git pull ../repo2 master
+ git fetch ../repo2 master &&
+ git merge --allow-unrelated-histories FETCH_HEAD
)
'
diff --git a/t/t6029-merge-subtree.sh b/t/t6029-merge-subtree.sh
index 73fc240e85..3e692454a7 100755
--- a/t/t6029-merge-subtree.sh
+++ b/t/t6029-merge-subtree.sh
@@ -49,7 +49,7 @@ test_expect_success 'setup' '
test_expect_success 'initial merge' '
git remote add -f gui ../git-gui &&
- git merge -s ours --no-commit gui/master &&
+ git merge -s ours --no-commit --allow-unrelated-histories gui/master &&
git read-tree --prefix=git-gui/ -u gui/master &&
git commit -m "Merge git-gui as our subdirectory" &&
git checkout -b work &&
diff --git a/t/t6041-bisect-submodule.sh b/t/t6041-bisect-submodule.sh
index c6b7aa6977..62b8a2e7bb 100755
--- a/t/t6041-bisect-submodule.sh
+++ b/t/t6041-bisect-submodule.sh
@@ -8,7 +8,7 @@ test_description='bisect can handle submodules'
git_bisect () {
git status -su >expect &&
ls -1pR * >>expect &&
- tar czf "$TRASH_DIRECTORY/tmp.tgz" * &&
+ tar cf "$TRASH_DIRECTORY/tmp.tar" * &&
GOOD=$(git rev-parse --verify HEAD) &&
git checkout "$1" &&
echo "foo" >bar &&
@@ -20,7 +20,7 @@ git_bisect () {
git bisect start &&
git bisect good $GOOD &&
rm -rf * &&
- tar xzf "$TRASH_DIRECTORY/tmp.tgz" &&
+ tar xf "$TRASH_DIRECTORY/tmp.tar" &&
git status -su >actual &&
ls -1pR * >>actual &&
test_cmp expect actual &&
diff --git a/t/t6044-merge-unrelated-index-changes.sh b/t/t6044-merge-unrelated-index-changes.sh
new file mode 100755
index 0000000000..20a3ffed69
--- /dev/null
+++ b/t/t6044-merge-unrelated-index-changes.sh
@@ -0,0 +1,153 @@
+#!/bin/sh
+
+test_description="merges with unrelated index changes"
+
+. ./test-lib.sh
+
+# Testcase for some simple merges
+# A
+# o-----o B
+# \
+# \---o C
+# \
+# \-o D
+# \
+# o E
+# Commit A: some file a
+# Commit B: adds file b, modifies end of a
+# Commit C: adds file c
+# Commit D: adds file d, modifies beginning of a
+# Commit E: renames a->subdir/a, adds subdir/e
+
+test_expect_success 'setup trivial merges' '
+ seq 1 10 >a &&
+ git add a &&
+ test_tick && git commit -m A &&
+
+ git branch A &&
+ git branch B &&
+ git branch C &&
+ git branch D &&
+ git branch E &&
+
+ git checkout B &&
+ echo b >b &&
+ echo 11 >>a &&
+ git add a b &&
+ test_tick && git commit -m B &&
+
+ git checkout C &&
+ echo c >c &&
+ git add c &&
+ test_tick && git commit -m C &&
+
+ git checkout D &&
+ seq 2 10 >a &&
+ echo d >d &&
+ git add a d &&
+ test_tick && git commit -m D &&
+
+ git checkout E &&
+ mkdir subdir &&
+ git mv a subdir/a &&
+ echo e >subdir/e &&
+ git add subdir &&
+ test_tick && git commit -m E
+'
+
+test_expect_success 'ff update' '
+ git reset --hard &&
+ git checkout A^0 &&
+
+ touch random_file && git add random_file &&
+
+ git merge E^0 &&
+
+ test_must_fail git rev-parse HEAD:random_file &&
+ test "$(git diff --name-only --cached E)" = "random_file"
+'
+
+test_expect_success 'ff update, important file modified' '
+ git reset --hard &&
+ git checkout A^0 &&
+
+ mkdir subdir &&
+ touch subdir/e &&
+ git add subdir/e &&
+
+ test_must_fail git merge E^0
+'
+
+test_expect_success 'resolve, trivial' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ touch random_file && git add random_file &&
+
+ test_must_fail git merge -s resolve C^0
+'
+
+test_expect_success 'resolve, non-trivial' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ touch random_file && git add random_file &&
+
+ test_must_fail git merge -s resolve D^0
+'
+
+test_expect_success 'recursive' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ touch random_file && git add random_file &&
+
+ test_must_fail git merge -s recursive C^0
+'
+
+test_expect_success 'octopus, unrelated file touched' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ touch random_file && git add random_file &&
+
+ test_must_fail git merge C^0 D^0
+'
+
+test_expect_success 'octopus, related file removed' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ git rm b &&
+
+ test_must_fail git merge C^0 D^0
+'
+
+test_expect_success 'octopus, related file modified' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ echo 12 >>a && git add a &&
+
+ test_must_fail git merge C^0 D^0
+'
+
+test_expect_success 'ours' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ touch random_file && git add random_file &&
+
+ test_must_fail git merge -s ours C^0
+'
+
+test_expect_success 'subtree' '
+ git reset --hard &&
+ git checkout B^0 &&
+
+ touch random_file && git add random_file &&
+
+ test_must_fail git merge -s subtree E^0
+'
+
+test_done
diff --git a/t/t6101-rev-parse-parents.sh b/t/t6101-rev-parse-parents.sh
index 10b1452766..1c6952d049 100755
--- a/t/t6101-rev-parse-parents.sh
+++ b/t/t6101-rev-parse-parents.sh
@@ -19,7 +19,7 @@ test_expect_success 'setup' '
git checkout --orphan tmp &&
test_commit start2 &&
git checkout master &&
- git merge -m next start2 &&
+ git merge -m next --allow-unrelated-histories start2 &&
test_commit final &&
test_seq 40 |
diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh
index fe4796cc9c..70afb44271 100755
--- a/t/t6302-for-each-ref-filter.sh
+++ b/t/t6302-for-each-ref-filter.sh
@@ -5,11 +5,14 @@ test_description='test for-each-refs usage of ref-filter APIs'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh
-if ! test_have_prereq GPG
-then
- skip_all="skipping for-each-ref tests, GPG not available"
- test_done
-fi
+test_prepare_expect () {
+ if test_have_prereq GPG
+ then
+ cat
+ else
+ sed '/signed/d'
+ fi
+}
test_expect_success 'setup some history and refs' '
test_commit one &&
@@ -17,8 +20,13 @@ test_expect_success 'setup some history and refs' '
test_commit three &&
git checkout -b side &&
test_commit four &&
- git tag -s -m "A signed tag message" signed-tag &&
- git tag -s -m "Annonated doubly" double-tag signed-tag &&
+ git tag -m "An annotated tag" annotated-tag &&
+ git tag -m "Annonated doubly" doubly-annotated-tag annotated-tag &&
+ if test_have_prereq GPG
+ then
+ git tag -s -m "A signed tag" signed-tag &&
+ git tag -s -m "Signed doubly" doubly-signed-tag signed-tag
+ fi &&
git checkout master &&
git update-ref refs/odd/spot master
'
@@ -34,8 +42,9 @@ test_expect_success 'filtering with --points-at' '
'
test_expect_success 'check signed tags with --points-at' '
- sed -e "s/Z$//" >expect <<-\EOF &&
+ test_prepare_expect <<-\EOF | sed -e "s/Z$//" >expect &&
refs/heads/side Z
+ refs/tags/annotated-tag four
refs/tags/four Z
refs/tags/signed-tag four
EOF
@@ -56,9 +65,11 @@ test_expect_success 'filtering with --merged' '
'
test_expect_success 'filtering with --no-merged' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
refs/heads/side
- refs/tags/double-tag
+ refs/tags/annotated-tag
+ refs/tags/doubly-annotated-tag
+ refs/tags/doubly-signed-tag
refs/tags/four
refs/tags/signed-tag
EOF
@@ -67,11 +78,13 @@ test_expect_success 'filtering with --no-merged' '
'
test_expect_success 'filtering with --contains' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
refs/heads/master
refs/heads/side
refs/odd/spot
- refs/tags/double-tag
+ refs/tags/annotated-tag
+ refs/tags/doubly-annotated-tag
+ refs/tags/doubly-signed-tag
refs/tags/four
refs/tags/signed-tag
refs/tags/three
@@ -86,11 +99,13 @@ test_expect_success '%(color) must fail' '
'
test_expect_success 'left alignment is default' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
refname is refs/heads/master |refs/heads/master
refname is refs/heads/side |refs/heads/side
refname is refs/odd/spot |refs/odd/spot
- refname is refs/tags/double-tag|refs/tags/double-tag
+ refname is refs/tags/annotated-tag|refs/tags/annotated-tag
+ refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag
+ refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag
refname is refs/tags/four |refs/tags/four
refname is refs/tags/one |refs/tags/one
refname is refs/tags/signed-tag|refs/tags/signed-tag
@@ -102,11 +117,13 @@ test_expect_success 'left alignment is default' '
'
test_expect_success 'middle alignment' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
| refname is refs/heads/master |refs/heads/master
| refname is refs/heads/side |refs/heads/side
| refname is refs/odd/spot |refs/odd/spot
- |refname is refs/tags/double-tag|refs/tags/double-tag
+ |refname is refs/tags/annotated-tag|refs/tags/annotated-tag
+ |refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag
+ |refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag
| refname is refs/tags/four |refs/tags/four
| refname is refs/tags/one |refs/tags/one
|refname is refs/tags/signed-tag|refs/tags/signed-tag
@@ -118,11 +135,13 @@ test_expect_success 'middle alignment' '
'
test_expect_success 'right alignment' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
| refname is refs/heads/master|refs/heads/master
| refname is refs/heads/side|refs/heads/side
| refname is refs/odd/spot|refs/odd/spot
- |refname is refs/tags/double-tag|refs/tags/double-tag
+ |refname is refs/tags/annotated-tag|refs/tags/annotated-tag
+ |refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag
+ |refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag
| refname is refs/tags/four|refs/tags/four
| refname is refs/tags/one|refs/tags/one
|refname is refs/tags/signed-tag|refs/tags/signed-tag
@@ -133,14 +152,60 @@ test_expect_success 'right alignment' '
test_cmp expect actual
'
+test_prepare_expect >expect <<-\EOF
+| refname is refs/heads/master |refs/heads/master
+| refname is refs/heads/side |refs/heads/side
+| refname is refs/odd/spot |refs/odd/spot
+| refname is refs/tags/annotated-tag |refs/tags/annotated-tag
+|refname is refs/tags/doubly-annotated-tag |refs/tags/doubly-annotated-tag
+| refname is refs/tags/doubly-signed-tag |refs/tags/doubly-signed-tag
+| refname is refs/tags/four |refs/tags/four
+| refname is refs/tags/one |refs/tags/one
+| refname is refs/tags/signed-tag |refs/tags/signed-tag
+| refname is refs/tags/three |refs/tags/three
+| refname is refs/tags/two |refs/tags/two
+EOF
+
+test_align_permutations() {
+ while read -r option
+ do
+ test_expect_success "align:$option" '
+ git for-each-ref --format="|%(align:$option)refname is %(refname)%(end)|%(refname)" >actual &&
+ test_cmp expect actual
+ '
+ done
+}
+
+test_align_permutations <<-\EOF
+ middle,42
+ 42,middle
+ position=middle,42
+ 42,position=middle
+ middle,width=42
+ width=42,middle
+ position=middle,width=42
+ width=42,position=middle
+EOF
+
+# Last one wins (silently) when multiple arguments of the same type are given
+
+test_align_permutations <<-\EOF
+ 32,width=42,middle
+ width=30,42,middle
+ width=42,position=right,middle
+ 42,right,position=middle
+EOF
+
# Individual atoms inside %(align:...) and %(end) must not be quoted.
test_expect_success 'alignment with format quote' "
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
|' '\''master| A U Thor'\'' '|
|' '\''side| A U Thor'\'' '|
|' '\''odd/spot| A U Thor'\'' '|
- |' '\''double-tag| '\'' '|
+ |' '\''annotated-tag| '\'' '|
+ |' '\''doubly-annotated-tag| '\'' '|
+ |' '\''doubly-signed-tag| '\'' '|
|' '\''four| A U Thor'\'' '|
|' '\''one| A U Thor'\'' '|
|' '\''signed-tag| '\'' '|
@@ -152,11 +217,13 @@ test_expect_success 'alignment with format quote' "
"
test_expect_success 'nested alignment with quote formatting' "
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
|' master '|
|' side '|
|' odd/spot '|
- |' double-tag '|
+ |' annotated-tag '|
+ |'doubly-annotated-tag '|
+ |'doubly-signed-tag '|
|' four '|
|' one '|
|' signed-tag '|
@@ -168,14 +235,16 @@ test_expect_success 'nested alignment with quote formatting' "
"
test_expect_success 'check `%(contents:lines=1)`' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
master |three
side |four
odd/spot |three
- double-tag |Annonated doubly
+ annotated-tag |An annotated tag
+ doubly-annotated-tag |Annonated doubly
+ doubly-signed-tag |Signed doubly
four |four
one |one
- signed-tag |A signed tag message
+ signed-tag |A signed tag
three |three
two |two
EOF
@@ -184,11 +253,13 @@ test_expect_success 'check `%(contents:lines=1)`' '
'
test_expect_success 'check `%(contents:lines=0)`' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
master |
side |
odd/spot |
- double-tag |
+ annotated-tag |
+ doubly-annotated-tag |
+ doubly-signed-tag |
four |
one |
signed-tag |
@@ -200,14 +271,16 @@ test_expect_success 'check `%(contents:lines=0)`' '
'
test_expect_success 'check `%(contents:lines=99999)`' '
- cat >expect <<-\EOF &&
+ test_prepare_expect >expect <<-\EOF &&
master |three
side |four
odd/spot |three
- double-tag |Annonated doubly
+ annotated-tag |An annotated tag
+ doubly-annotated-tag |Annonated doubly
+ doubly-signed-tag |Signed doubly
four |four
one |one
- signed-tag |A signed tag message
+ signed-tag |A signed tag
three |three
two |two
EOF
diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh
index 51dd2b4e0e..4a2570ed95 100755
--- a/t/t7001-mv.sh
+++ b/t/t7001-mv.sh
@@ -102,7 +102,7 @@ test_expect_success \
test_expect_success \
'adding another file' \
- 'cp "$TEST_DIRECTORY"/../README path0/README &&
+ 'cp "$TEST_DIRECTORY"/../README.md path0/README &&
git add path0/README &&
git commit -m add2 -a'
@@ -292,6 +292,9 @@ test_expect_success 'setup submodule' '
echo content >file &&
git add file &&
git commit -m "added sub and file" &&
+ mkdir -p deep/directory/hierachy &&
+ git submodule add ./. deep/directory/hierachy/sub &&
+ git commit -m "added another submodule" &&
git branch submodule
'
@@ -475,4 +478,17 @@ test_expect_success 'mv -k does not accidentally destroy submodules' '
git checkout .
'
+test_expect_success 'moving a submodule in nested directories' '
+ (
+ cd deep &&
+ git mv directory ../ &&
+ # git status would fail if the update of linking git dir to
+ # work dir of the submodule failed.
+ git status &&
+ git config -f ../.gitmodules submodule.deep/directory/hierachy/sub.path >../actual &&
+ echo "directory/hierachy/sub" >../expect
+ ) &&
+ test_cmp actual expect
+'
+
test_done
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index cf3469b142..f9b7d79af5 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -775,6 +775,47 @@ test_expect_success GPG '-s implies annotated tag' '
test_cmp expect actual
'
+get_tag_header forcesignannotated-implied-sign $commit commit $time >expect
+echo "A message" >>expect
+echo '-----BEGIN PGP SIGNATURE-----' >>expect
+test_expect_success GPG \
+ 'git tag -s implied if configured with tag.forcesignannotated' \
+ 'test_config tag.forcesignannotated true &&
+ git tag -m "A message" forcesignannotated-implied-sign &&
+ get_tag_msg forcesignannotated-implied-sign >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success GPG \
+ 'lightweight with no message when configured with tag.forcesignannotated' \
+ 'test_config tag.forcesignannotated true &&
+ git tag forcesignannotated-lightweight &&
+ tag_exists forcesignannotated-lightweight &&
+ test_must_fail git tag -v forcesignannotated-no-message
+'
+
+get_tag_header forcesignannotated-annotate $commit commit $time >expect
+echo "A message" >>expect
+test_expect_success GPG \
+ 'git tag -a disable configured tag.forcesignannotated' \
+ 'test_config tag.forcesignannotated true &&
+ git tag -a -m "A message" forcesignannotated-annotate &&
+ get_tag_msg forcesignannotated-annotate >actual &&
+ test_cmp expect actual &&
+ test_must_fail git tag -v forcesignannotated-annotate
+'
+
+get_tag_header forcesignannotated-disabled $commit commit $time >expect
+echo "A message" >>expect
+echo '-----BEGIN PGP SIGNATURE-----' >>expect
+test_expect_success GPG \
+ 'git tag --sign enable GPG sign' \
+ 'test_config tag.forcesignannotated false &&
+ git tag --sign -m "A message" forcesignannotated-disabled &&
+ get_tag_msg forcesignannotated-disabled >actual &&
+ test_cmp expect actual
+'
+
test_expect_success GPG \
'trying to create a signed tag with non-existing -F file should fail' '
! test -f nonexistingfile &&
diff --git a/t/t7008-grep-binary.sh b/t/t7008-grep-binary.sh
index b146406e9c..9c9c378119 100755
--- a/t/t7008-grep-binary.sh
+++ b/t/t7008-grep-binary.sh
@@ -141,7 +141,8 @@ test_expect_success 'grep respects not-binary diff attribute' '
test_cmp expect actual &&
echo "b diff" >.gitattributes &&
echo "b:binQary" >expect &&
- git grep bin b | nul_to_q >actual &&
+ git grep bin b >actual.raw &&
+ nul_to_q <actual.raw >actual &&
test_cmp expect actual
'
diff --git a/t/t7030-verify-tag.sh b/t/t7030-verify-tag.sh
index 4608e71343..07079a41c4 100755
--- a/t/t7030-verify-tag.sh
+++ b/t/t7030-verify-tag.sh
@@ -112,4 +112,17 @@ test_expect_success GPG 'verify signatures with --raw' '
)
'
+test_expect_success GPG 'verify multiple tags' '
+ tags="fourth-signed sixth-signed seventh-signed" &&
+ for i in $tags
+ do
+ git verify-tag -v --raw $i || return 1
+ done >expect.stdout 2>expect.stderr.1 &&
+ grep "^.GNUPG:." <expect.stderr.1 >expect.stderr &&
+ git verify-tag -v --raw $tags >actual.stdout 2>actual.stderr.1 &&
+ grep "^.GNUPG:." <actual.stderr.1 >actual.stderr &&
+ test_cmp expect.stdout actual.stdout &&
+ test_cmp expect.stderr actual.stderr
+'
+
test_done
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 86ceb38b01..b89fd2a6ad 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -495,7 +495,7 @@ test_expect_success 'should not clean submodules' '
test_path_is_missing to_clean
'
-test_expect_success POSIXPERM 'should avoid cleaning possible submodules' '
+test_expect_success POSIXPERM,SANITY 'should avoid cleaning possible submodules' '
rm -fr to_clean possible_sub1 &&
mkdir to_clean possible_sub1 &&
test_when_finished "rm -rf possible_sub*" &&
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index 540771ca41..3570f7bb8c 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -11,6 +11,10 @@ subcommands of git submodule.
. ./test-lib.sh
+test_expect_success 'submodule deinit works on empty repository' '
+ git submodule deinit --all
+'
+
test_expect_success 'setup - initial commit' '
>t &&
git add t &&
@@ -18,6 +22,22 @@ test_expect_success 'setup - initial commit' '
git branch initial
'
+test_expect_success 'submodule init aborts on missing .gitmodules file' '
+ test_when_finished "git update-index --remove sub" &&
+ git update-index --add --cacheinfo 160000,$(git rev-parse HEAD),sub &&
+ # missing the .gitmodules file here
+ test_must_fail git submodule init 2>actual &&
+ test_i18ngrep "No url found for submodule path" actual
+'
+
+test_expect_success 'submodule update aborts on missing .gitmodules file' '
+ test_when_finished "git update-index --remove sub" &&
+ git update-index --add --cacheinfo 160000,$(git rev-parse HEAD),sub &&
+ # missing the .gitmodules file here
+ git submodule update sub 2>actual &&
+ test_i18ngrep "Submodule path .sub. not initialized" actual
+'
+
test_expect_success 'configuration parsing' '
test_when_finished "rm -f .gitmodules" &&
cat >.gitmodules <<-\EOF &&
@@ -462,7 +482,7 @@ test_expect_success 'update --init' '
git config --remove-section submodule.example &&
test_must_fail git config submodule.example.url &&
- git submodule update init > update.out &&
+ git submodule update init 2> update.out &&
cat update.out &&
test_i18ngrep "not initialized" update.out &&
test_must_fail git rev-parse --resolve-git-dir init/.git &&
@@ -480,7 +500,7 @@ test_expect_success 'update --init from subdirectory' '
mkdir -p sub &&
(
cd sub &&
- git submodule update ../init >update.out &&
+ git submodule update ../init 2>update.out &&
cat update.out &&
test_i18ngrep "not initialized" update.out &&
test_must_fail git rev-parse --resolve-git-dir ../init/.git &&
@@ -818,6 +838,47 @@ test_expect_success 'submodule add --name allows to replace a submodule with ano
)
'
+test_expect_success 'recursive relative submodules stay relative' '
+ test_when_finished "rm -rf super clone2 subsub sub3" &&
+ mkdir subsub &&
+ (
+ cd subsub &&
+ git init &&
+ >t &&
+ git add t &&
+ git commit -m "initial commit"
+ ) &&
+ mkdir sub3 &&
+ (
+ cd sub3 &&
+ git init &&
+ >t &&
+ git add t &&
+ git commit -m "initial commit" &&
+ git submodule add ../subsub dirdir/subsub &&
+ git commit -m "add submodule subsub"
+ ) &&
+ mkdir super &&
+ (
+ cd super &&
+ git init &&
+ >t &&
+ git add t &&
+ git commit -m "initial commit" &&
+ git submodule add ../sub3 &&
+ git commit -m "add submodule sub"
+ ) &&
+ git clone super clone2 &&
+ (
+ cd clone2 &&
+ git submodule update --init --recursive &&
+ echo "gitdir: ../.git/modules/sub3" >./sub3/.git_expect &&
+ echo "gitdir: ../../../.git/modules/sub3/modules/dirdir/subsub" >./sub3/dirdir/subsub/.git_expect
+ ) &&
+ test_cmp clone2/sub3/.git_expect clone2/sub3/.git &&
+ test_cmp clone2/sub3/dirdir/subsub/.git_expect clone2/sub3/dirdir/subsub/.git
+'
+
test_expect_success 'submodule add with an existing name fails unless forced' '
(
cd addtest2 &&
@@ -849,6 +910,20 @@ test_expect_success 'set up a second submodule' '
git commit -m "submodule example2 added"
'
+test_expect_success 'submodule deinit works on repository without submodules' '
+ test_when_finished "rm -rf newdirectory" &&
+ mkdir newdirectory &&
+ (
+ cd newdirectory &&
+ git init &&
+ >file &&
+ git add file &&
+ git commit -m "repo should not be empty" &&
+ git submodule deinit . &&
+ git submodule deinit --all
+ )
+'
+
test_expect_success 'submodule deinit should remove the whole submodule section from .git/config' '
git config submodule.example.foo bar &&
git config submodule.example2.frotz nitfol &&
@@ -887,6 +962,19 @@ test_expect_success 'submodule deinit . deinits all initialized submodules' '
rmdir init example2
'
+test_expect_success 'submodule deinit --all deinits all initialized submodules' '
+ git submodule update --init &&
+ git config submodule.example.foo bar &&
+ git config submodule.example2.frotz nitfol &&
+ test_must_fail git submodule deinit &&
+ git submodule deinit --all >actual &&
+ test -z "$(git config --get-regexp "submodule\.example\.")" &&
+ test -z "$(git config --get-regexp "submodule\.example2\.")" &&
+ test_i18ngrep "Cleared directory .init" actual &&
+ test_i18ngrep "Cleared directory .example2" actual &&
+ rmdir init example2
+'
+
test_expect_success 'submodule deinit deinits a submodule when its work tree is missing or empty' '
git submodule update --init &&
rm -rf init example2/* example2/.git &&
@@ -953,6 +1041,10 @@ test_expect_success 'submodule deinit is silent when used on an uninitialized su
test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual &&
test_i18ngrep "Cleared directory .init" actual &&
+ git submodule deinit --all >actual &&
+ test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
+ test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual &&
+ test_i18ngrep "Cleared directory .init" actual &&
rmdir init example2
'
@@ -999,5 +1091,30 @@ test_expect_success 'submodule add clone shallow submodule' '
)
'
+test_expect_success 'submodule helper list is not confused by common prefixes' '
+ mkdir -p dir1/b &&
+ (
+ cd dir1/b &&
+ git init &&
+ echo hi >testfile2 &&
+ git add . &&
+ git commit -m "test1"
+ ) &&
+ mkdir -p dir2/b &&
+ (
+ cd dir2/b &&
+ git init &&
+ echo hello >testfile1 &&
+ git add . &&
+ git commit -m "test2"
+ ) &&
+ git submodule add /dir1/b dir1/b &&
+ git submodule add /dir2/b dir2/b &&
+ git commit -m "first submodule commit" &&
+ git submodule--helper list dir1/b |cut -c51- >actual &&
+ echo "dir1/b" >expect &&
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
index 68ea31d693..5f278799d5 100755
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@ -63,6 +63,10 @@ test_expect_success 'setup a submodule tree' '
git submodule add ../none none &&
test_tick &&
git commit -m "none"
+ ) &&
+ git clone . recursivesuper &&
+ ( cd recursivesuper
+ git submodule add ../super super
)
'
@@ -95,6 +99,47 @@ test_expect_success 'submodule update from subdirectory' '
)
'
+supersha1=$(git -C super rev-parse HEAD)
+mergingsha1=$(git -C super/merging rev-parse HEAD)
+nonesha1=$(git -C super/none rev-parse HEAD)
+rebasingsha1=$(git -C super/rebasing rev-parse HEAD)
+submodulesha1=$(git -C super/submodule rev-parse HEAD)
+pwd=$(pwd)
+
+cat <<EOF >expect
+Submodule path '../super': checked out '$supersha1'
+Submodule path '../super/merging': checked out '$mergingsha1'
+Submodule path '../super/none': checked out '$nonesha1'
+Submodule path '../super/rebasing': checked out '$rebasingsha1'
+Submodule path '../super/submodule': checked out '$submodulesha1'
+EOF
+
+cat <<EOF >expect2
+Submodule 'merging' ($pwd/merging) registered for path '../super/merging'
+Submodule 'none' ($pwd/none) registered for path '../super/none'
+Submodule 'rebasing' ($pwd/rebasing) registered for path '../super/rebasing'
+Submodule 'submodule' ($pwd/submodule) registered for path '../super/submodule'
+Cloning into '$pwd/recursivesuper/super/merging'...
+done.
+Cloning into '$pwd/recursivesuper/super/none'...
+done.
+Cloning into '$pwd/recursivesuper/super/rebasing'...
+done.
+Cloning into '$pwd/recursivesuper/super/submodule'...
+done.
+EOF
+
+test_expect_success 'submodule update --init --recursive from subdirectory' '
+ git -C recursivesuper/super reset --hard HEAD^ &&
+ (cd recursivesuper &&
+ mkdir tmp &&
+ cd tmp &&
+ git submodule update --init --recursive ../super >../../actual 2>../../actual2
+ ) &&
+ test_cmp expect actual &&
+ test_cmp expect2 actual2
+'
+
apos="'";
test_expect_success 'submodule update does not fetch already present commits' '
(cd submodule &&
@@ -311,16 +356,59 @@ test_expect_success 'submodule update - command in .git/config' '
)
'
+cat << EOF >expect
+Execution of 'false $submodulesha1' failed in submodule path 'submodule'
+EOF
+
test_expect_success 'submodule update - command in .git/config catches failure' '
(cd super &&
git config submodule.submodule.update "!false"
) &&
(cd super/submodule &&
- git reset --hard HEAD^
+ git reset --hard $submodulesha1^
) &&
(cd super &&
- test_must_fail git submodule update submodule
- )
+ test_must_fail git submodule update submodule 2>../actual
+ ) &&
+ test_cmp actual expect
+'
+
+cat << EOF >expect
+Execution of 'false $submodulesha1' failed in submodule path '../submodule'
+EOF
+
+test_expect_success 'submodule update - command in .git/config catches failure -- subdirectory' '
+ (cd super &&
+ git config submodule.submodule.update "!false"
+ ) &&
+ (cd super/submodule &&
+ git reset --hard $submodulesha1^
+ ) &&
+ (cd super &&
+ mkdir tmp && cd tmp &&
+ test_must_fail git submodule update ../submodule 2>../../actual
+ ) &&
+ test_cmp actual expect
+'
+
+cat << EOF >expect
+Execution of 'false $submodulesha1' failed in submodule path '../super/submodule'
+Failed to recurse into submodule path '../super'
+EOF
+
+test_expect_success 'recursive submodule update - command in .git/config catches failure -- subdirectory' '
+ (cd recursivesuper &&
+ git submodule update --remote super &&
+ git add super &&
+ git commit -m "update to latest to have more than one commit in submodules"
+ ) &&
+ git -C recursivesuper/super config submodule.submodule.update "!false" &&
+ git -C recursivesuper/super/submodule reset --hard $submodulesha1^ &&
+ (cd recursivesuper &&
+ mkdir -p tmp && cd tmp &&
+ test_must_fail git submodule update --recursive ../super 2>../../actual
+ ) &&
+ test_cmp actual expect
'
test_expect_success 'submodule init does not copy command into .git/config' '
@@ -774,4 +862,31 @@ test_expect_success 'submodule update --recursive drops module name before recur
test_i18ngrep "Submodule path .deeper/submodule/subsubmodule.: checked out" actual
)
'
+
+test_expect_success 'submodule update can be run in parallel' '
+ (cd super2 &&
+ GIT_TRACE=$(pwd)/trace.out git submodule update --jobs 7 &&
+ grep "7 tasks" trace.out &&
+ git config submodule.fetchJobs 8 &&
+ GIT_TRACE=$(pwd)/trace.out git submodule update &&
+ grep "8 tasks" trace.out &&
+ GIT_TRACE=$(pwd)/trace.out git submodule update --jobs 9 &&
+ grep "9 tasks" trace.out
+ )
+'
+
+test_expect_success 'git clone passes the parallel jobs config on to submodules' '
+ test_when_finished "rm -rf super4" &&
+ GIT_TRACE=$(pwd)/trace.out git clone --recurse-submodules --jobs 7 . super4 &&
+ grep "7 tasks" trace.out &&
+ rm -rf super4 &&
+ git config --global submodule.fetchJobs 8 &&
+ GIT_TRACE=$(pwd)/trace.out git clone --recurse-submodules . super4 &&
+ grep "8 tasks" trace.out &&
+ rm -rf super4 &&
+ GIT_TRACE=$(pwd)/trace.out git clone --recurse-submodules --jobs 9 . super4 &&
+ grep "9 tasks" trace.out &&
+ rm -rf super4
+'
+
test_done
diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh
index 7ca10b8606..6ba5daf42e 100755
--- a/t/t7407-submodule-foreach.sh
+++ b/t/t7407-submodule-foreach.sh
@@ -178,6 +178,26 @@ test_expect_success 'test messages from "foreach --recursive"' '
'
cat > expect <<EOF
+Entering '../nested1'
+Entering '../nested1/nested2'
+Entering '../nested1/nested2/nested3'
+Entering '../nested1/nested2/nested3/submodule'
+Entering '../sub1'
+Entering '../sub2'
+Entering '../sub3'
+EOF
+
+test_expect_success 'test messages from "foreach --recursive" from subdirectory' '
+ (
+ cd clone2 &&
+ mkdir untracked &&
+ cd untracked &&
+ git submodule foreach --recursive >../../actual
+ ) &&
+ test_i18ncmp expect actual
+'
+
+cat > expect <<EOF
nested1-nested1
nested2-nested2
nested3-nested3
@@ -242,8 +262,12 @@ test_expect_success 'test "status --recursive"' '
test_cmp expect actual
'
-sed -e "/nested2 /s/.*/+$nested2sha1 nested1\/nested2 (file2~1)/;/sub[1-3]/d" < expect > expect2
-mv -f expect2 expect
+cat > expect <<EOF
+ $nested1sha1 nested1 (heads/master)
++$nested2sha1 nested1/nested2 (file2~1)
+ $nested3sha1 nested1/nested2/nested3 (heads/master)
+ $submodulesha1 nested1/nested2/nested3/submodule (heads/master)
+EOF
test_expect_success 'ensure "status --cached --recursive" preserves the --cached flag' '
(
@@ -257,6 +281,27 @@ test_expect_success 'ensure "status --cached --recursive" preserves the --cached
test_cmp expect actual
'
+nested2sha1=$(git -C clone3/nested1/nested2 rev-parse HEAD)
+
+cat > expect <<EOF
+ $nested1sha1 ../nested1 (heads/master)
++$nested2sha1 ../nested1/nested2 (file2)
+ $nested3sha1 ../nested1/nested2/nested3 (heads/master)
+ $submodulesha1 ../nested1/nested2/nested3/submodule (heads/master)
+ $sub1sha1 ../sub1 ($sub1sha1_short)
+ $sub2sha1 ../sub2 ($sub2sha1_short)
+ $sub3sha1 ../sub3 (heads/master)
+EOF
+
+test_expect_success 'test "status --recursive" from sub directory' '
+ (
+ cd clone3 &&
+ mkdir tmp && cd tmp &&
+ git submodule status --recursive > ../../actual
+ ) &&
+ test_cmp expect actual
+'
+
test_expect_success 'use "git clone --recursive" to checkout all submodules' '
git clone --recursive super clone4 &&
(
diff --git a/t/t7409-submodule-detached-worktree.sh b/t/t7409-submodule-detached-work-tree.sh
index c20717181e..c20717181e 100755
--- a/t/t7409-submodule-detached-worktree.sh
+++ b/t/t7409-submodule-detached-work-tree.sh
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
index 63e04277f9..900f7de05a 100755
--- a/t/t7501-commit.sh
+++ b/t/t7501-commit.sh
@@ -200,6 +200,26 @@ test_expect_success '--amend --edit of empty message' '
test_cmp expect msg
'
+test_expect_success '--amend to set message to empty' '
+ echo bata >file &&
+ git add file &&
+ git commit -m "unamended" &&
+ git commit --amend --allow-empty-message -m "" &&
+ git diff-tree -s --format=%s HEAD >msg &&
+ echo "" >expect &&
+ test_cmp expect msg
+'
+
+test_expect_success '--amend to set empty message needs --allow-empty-message' '
+ echo conga >file &&
+ git add file &&
+ git commit -m "unamended" &&
+ test_must_fail git commit --amend -m "" &&
+ git diff-tree -s --format=%s HEAD >msg &&
+ echo "unamended" >expect &&
+ test_cmp expect msg
+'
+
test_expect_success '-m --edit' '
echo amended >expect &&
git commit --allow-empty -m buffer &&
diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index b39e313ac2..725687d5d5 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -527,11 +527,6 @@ try_commit_status_combo () {
test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG
'
- test_expect_success 'commit' '
- try_commit "" &&
- test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG
- '
-
test_expect_success 'commit --status' '
try_commit --status &&
test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG
diff --git a/t/t7510-signed-commit.sh b/t/t7510-signed-commit.sh
index 18e5cf0663..4177a8609a 100755
--- a/t/t7510-signed-commit.sh
+++ b/t/t7510-signed-commit.sh
@@ -45,12 +45,18 @@ test_expect_success GPG 'create signed commits' '
git tag seventh-signed &&
echo 8 >file && test_tick && git commit -a -m eighth -SB7227189 &&
- git tag eighth-signed-alt
+ git tag eighth-signed-alt &&
+
+ # commit.gpgsign is still on but this must not be signed
+ git tag ninth-unsigned $(echo 9 | git commit-tree HEAD^{tree}) &&
+ # explicit -S of course must sign.
+ git tag tenth-signed $(echo 9 | git commit-tree -S HEAD^{tree})
'
test_expect_success GPG 'verify and show signatures' '
(
- for commit in initial second merge fourth-signed fifth-signed sixth-signed seventh-signed
+ for commit in initial second merge fourth-signed \
+ fifth-signed sixth-signed seventh-signed tenth-signed
do
git verify-commit $commit &&
git show --pretty=short --show-signature $commit >actual &&
@@ -60,7 +66,8 @@ test_expect_success GPG 'verify and show signatures' '
done
) &&
(
- for commit in merge^2 fourth-unsigned sixth-unsigned seventh-unsigned
+ for commit in merge^2 fourth-unsigned sixth-unsigned \
+ seventh-unsigned ninth-unsigned
do
test_must_fail git verify-commit $commit &&
git show --pretty=short --show-signature $commit >actual &&
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index 302e238263..85248a14b6 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -33,9 +33,11 @@ printf '%s\n' 1 2 3 4 5 6 7 8 9 >file
printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >file.1
printf '%s\n' 1 2 3 4 '5 X' 6 7 8 9 >file.5
printf '%s\n' 1 2 3 4 5 6 7 8 '9 X' >file.9
+printf '%s\n' 1 2 3 4 5 6 7 8 '9 Y' >file.9y
printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >result.1
printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 9 >result.1-5
printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 '9 X' >result.1-5-9
+printf '%s\n' 1 2 3 4 5 6 7 8 '9 Z' >result.9z
>empty
create_merge_msgs () {
@@ -128,6 +130,12 @@ test_expect_success 'setup' '
git tag c2 &&
c2=$(git rev-parse HEAD) &&
git reset --hard "$c0" &&
+ cp file.9y file &&
+ git add file &&
+ test_tick &&
+ git commit -m "commit 7" &&
+ git tag c7 &&
+ git reset --hard "$c0" &&
cp file.9 file &&
git add file &&
test_tick &&
@@ -218,6 +226,26 @@ test_expect_success 'merge c1 with c2' '
verify_parents $c1 $c2
'
+test_expect_success 'merge --squash c3 with c7' '
+ git reset --hard c3 &&
+ test_must_fail git merge --squash c7 &&
+ cat result.9z >file &&
+ git commit --no-edit -a &&
+
+ {
+ cat <<-EOF
+ Squashed commit of the following:
+
+ $(git show -s c7)
+
+ # Conflicts:
+ # file
+ EOF
+ } >expect &&
+ git cat-file commit HEAD | sed -e '1,/^$/d' >actual &&
+ test_cmp expect actual
+'
+
test_debug 'git log --graph --decorate --oneline --all'
test_expect_success 'merge c1 with c2 and c3' '
@@ -725,4 +753,14 @@ test_expect_success 'merge detects mod-256 conflicts (resolve)' '
test_must_fail git merge -s resolve master
'
+test_expect_success 'merge nothing into void' '
+ git init void &&
+ (
+ cd void &&
+ git remote add up .. &&
+ git fetch up &&
+ test_must_fail git merge FETCH_HEAD
+ )
+'
+
test_done
diff --git a/t/t7605-merge-resolve.sh b/t/t7605-merge-resolve.sh
index 0cb9d11f21..5d56c38546 100755
--- a/t/t7605-merge-resolve.sh
+++ b/t/t7605-merge-resolve.sh
@@ -27,7 +27,7 @@ test_expect_success 'setup' '
git tag c3
'
-test_expect_success 'merge c1 to c2' '
+merge_c1_to_c2_cmds='
git reset --hard c1 &&
git merge -s resolve c2 &&
test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
@@ -41,6 +41,10 @@ test_expect_success 'merge c1 to c2' '
test 3 = $(git ls-files | wc -l)
'
+test_expect_success 'merge c1 to c2' "$merge_c1_to_c2_cmds"
+
+test_expect_success 'merge c1 to c2, again' "$merge_c1_to_c2_cmds"
+
test_expect_success 'merge c2 to c3 (fails)' '
git reset --hard c2 &&
test_must_fail git merge -s resolve c3
diff --git a/t/t7609-merge-co-error-msgs.sh b/t/t7609-merge-co-error-msgs.sh
index 0e4a682c64..6729cb379f 100755
--- a/t/t7609-merge-co-error-msgs.sh
+++ b/t/t7609-merge-co-error-msgs.sh
@@ -37,14 +37,14 @@ EOF
test_expect_success 'untracked files overwritten by merge (fast and non-fast forward)' '
test_must_fail git merge branch 2>out &&
- test_cmp out expect &&
+ test_i18ncmp out expect &&
git commit --allow-empty -m empty &&
(
GIT_MERGE_VERBOSITY=0 &&
export GIT_MERGE_VERBOSITY &&
test_must_fail git merge branch 2>out2
) &&
- test_cmp out2 expect &&
+ test_i18ncmp out2 expect &&
git reset --hard HEAD^
'
@@ -53,7 +53,7 @@ error: Your local changes to the following files would be overwritten by merge:
four
three
two
-Please, commit your changes or stash them before you can merge.
+Please commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
five
Please move or remove them before you can merge.
@@ -65,14 +65,14 @@ test_expect_success 'untracked files or local changes ovewritten by merge' '
git add three &&
git add four &&
test_must_fail git merge branch 2>out &&
- test_cmp out expect
+ test_i18ncmp out expect
'
cat >expect <<\EOF
error: Your local changes to the following files would be overwritten by checkout:
rep/one
rep/two
-Please, commit your changes or stash them before you can switch branches.
+Please commit your changes or stash them before you can switch branches.
Aborting
EOF
@@ -87,21 +87,21 @@ test_expect_success 'cannot switch branches because of local changes' '
echo uno >rep/one &&
echo dos >rep/two &&
test_must_fail git checkout branch 2>out &&
- test_cmp out expect
+ test_i18ncmp out expect
'
cat >expect <<\EOF
error: Your local changes to the following files would be overwritten by checkout:
rep/one
rep/two
-Please, commit your changes or stash them before you can switch branches.
+Please commit your changes or stash them before you can switch branches.
Aborting
EOF
test_expect_success 'not uptodate file porcelain checkout error' '
git add rep/one rep/two &&
test_must_fail git checkout branch 2>out &&
- test_cmp out expect
+ test_i18ncmp out expect
'
cat >expect <<\EOF
@@ -132,7 +132,7 @@ test_expect_success 'not_uptodate_dir porcelain checkout error' '
>rep/untracked-file &&
>rep2/untracked-file &&
test_must_fail git checkout branch 2>out &&
- test_cmp out ../expect
+ test_i18ncmp out ../expect
'
test_done
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index 6f12b235b3..76306cf268 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -243,6 +243,70 @@ test_expect_success 'mergetool takes partial path' '
git reset --hard
'
+test_expect_success 'mergetool delete/delete conflict' '
+ git checkout -b delete-base branch1 &&
+ mkdir -p a/a &&
+ (echo one; echo two; echo 3; echo 4) >a/a/file.txt &&
+ git add a/a/file.txt &&
+ git commit -m"base file" &&
+ git checkout -b move-to-b delete-base &&
+ mkdir -p b/b &&
+ git mv a/a/file.txt b/b/file.txt &&
+ (echo one; echo two; echo 4) >b/b/file.txt &&
+ git commit -a -m"move to b" &&
+ git checkout -b move-to-c delete-base &&
+ mkdir -p c/c &&
+ git mv a/a/file.txt c/c/file.txt &&
+ (echo one; echo two; echo 3) >c/c/file.txt &&
+ git commit -a -m"move to c" &&
+ test_must_fail git merge move-to-b &&
+ echo d | git mergetool a/a/file.txt &&
+ ! test -f a/a/file.txt &&
+ git reset --hard HEAD &&
+ test_must_fail git merge move-to-b &&
+ echo m | git mergetool a/a/file.txt &&
+ test -f b/b/file.txt &&
+ git reset --hard HEAD &&
+ test_must_fail git merge move-to-b &&
+ ! echo a | git mergetool a/a/file.txt &&
+ ! test -f a/a/file.txt &&
+ git reset --hard HEAD
+'
+
+test_expect_success 'mergetool produces no errors when keepBackup is used' '
+ test_config mergetool.keepBackup true &&
+ test_must_fail git merge move-to-b &&
+ : >expect &&
+ echo d | git mergetool a/a/file.txt 2>actual &&
+ test_cmp expect actual &&
+ ! test -d a &&
+ git reset --hard HEAD
+'
+
+test_expect_success 'mergetool honors tempfile config for deleted files' '
+ test_config mergetool.keepTemporaries false &&
+ test_must_fail git merge move-to-b &&
+ echo d | git mergetool a/a/file.txt &&
+ ! test -d a &&
+ git reset --hard HEAD
+'
+
+test_expect_success 'mergetool keeps tempfiles when aborting delete/delete' '
+ test_config mergetool.keepTemporaries true &&
+ test_must_fail git merge move-to-b &&
+ ! (echo a; echo n) | git mergetool a/a/file.txt &&
+ test -d a/a &&
+ cat >expect <<-\EOF &&
+ file_BASE_.txt
+ file_LOCAL_.txt
+ file_REMOTE_.txt
+ EOF
+ ls -1 a/a | sed -e "s/[0-9]*//g" >actual &&
+ test_cmp expect actual &&
+ git clean -fdx &&
+ git reset --hard HEAD
+'
+
test_expect_success 'deleted vs modified submodule' '
git checkout -b test6 branch1 &&
git submodule update -N &&
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 4e713f7aa5..ff7a9e968f 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -20,7 +20,7 @@ difftool_test_setup ()
prompt_given ()
{
prompt="$1"
- test "$prompt" = "Launch 'test-tool' [Y/n]: branch"
+ test "$prompt" = "Launch 'test-tool' [Y/n]? branch"
}
# Create a file on master and change it on branch
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index b540944408..1e72971a16 100755
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
@@ -905,6 +905,33 @@ test_expect_success 'inside git repository but with --no-index' '
)
'
+test_expect_success 'grep --no-index descends into repos, but not .git' '
+ rm -fr non &&
+ mkdir -p non/git &&
+ (
+ GIT_CEILING_DIRECTORIES="$(pwd)/non" &&
+ export GIT_CEILING_DIRECTORIES &&
+ cd non/git &&
+
+ echo magic >file &&
+ git init repo &&
+ (
+ cd repo &&
+ echo magic >file &&
+ git add file &&
+ git commit -m foo &&
+ echo magic >.git/file
+ ) &&
+
+ cat >expect <<-\EOF &&
+ file
+ repo/file
+ EOF
+ git grep -l --no-index magic >actual &&
+ test_cmp expect actual
+ )
+'
+
test_expect_success 'setup double-dash tests' '
cat >double-dash <<EOF &&
--
diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh
index 6568429753..a9b266f0d3 100755
--- a/t/t8003-blame-corner-cases.sh
+++ b/t/t8003-blame-corner-cases.sh
@@ -212,4 +212,18 @@ test_expect_success 'blame file with CRLF attributes text' '
grep "A U Thor" actual
'
+test_expect_success 'blame file with CRLF core.autocrlf=true' '
+ git config core.autocrlf false &&
+ printf "testcase\r\n" >crlfinrepo &&
+ >.gitattributes &&
+ git add crlfinrepo &&
+ git commit -m "add crlfinrepo" &&
+ git config core.autocrlf true &&
+ mv crlfinrepo tmp &&
+ git checkout crlfinrepo &&
+ rm tmp &&
+ git blame crlfinrepo >actual &&
+ grep "A U Thor" actual
+'
+
test_done
diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh
index 847d098c09..75da219ed1 100755
--- a/t/t8005-blame-i18n.sh
+++ b/t/t8005-blame-i18n.sh
@@ -33,11 +33,15 @@ author $SJIS_NAME
summary $SJIS_MSG
EOF
+filter_author_summary () {
+ sed -n -e '/^author /p' -e '/^summary /p' "$@"
+}
+
test_expect_success !MINGW \
'blame respects i18n.commitencoding' '
- git blame --incremental file | \
- egrep "^(author|summary) " > actual &&
- test_cmp actual expected
+ git blame --incremental file >output &&
+ filter_author_summary output >actual &&
+ test_cmp expected actual
'
cat >expected <<EOF
@@ -52,9 +56,9 @@ EOF
test_expect_success !MINGW \
'blame respects i18n.logoutputencoding' '
git config i18n.logoutputencoding eucJP &&
- git blame --incremental file | \
- egrep "^(author|summary) " > actual &&
- test_cmp actual expected
+ git blame --incremental file >output &&
+ filter_author_summary output >actual &&
+ test_cmp expected actual
'
cat >expected <<EOF
@@ -68,9 +72,9 @@ EOF
test_expect_success !MINGW \
'blame respects --encoding=UTF-8' '
- git blame --incremental --encoding=UTF-8 file | \
- egrep "^(author|summary) " > actual &&
- test_cmp actual expected
+ git blame --incremental --encoding=UTF-8 file >output &&
+ filter_author_summary output >actual &&
+ test_cmp expected actual
'
cat >expected <<EOF
@@ -84,9 +88,9 @@ EOF
test_expect_success !MINGW \
'blame respects --encoding=none' '
- git blame --incremental --encoding=none file | \
- egrep "^(author|summary) " > actual &&
- test_cmp actual expected
+ git blame --incremental --encoding=none file >output &&
+ filter_author_summary output >actual &&
+ test_cmp expected actual
'
test_done
diff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh
index a526d60379..a94286c8ec 100755
--- a/t/t9108-git-svn-glob.sh
+++ b/t/t9108-git-svn-glob.sh
@@ -86,9 +86,12 @@ test_expect_success 'test left-hand-side only globbing' '
test_cmp expect.two output.two
'
-echo "Only one set of wildcard directories" \
- "(e.g. '*' or '*/*/*') is supported: 'branches/*/t/*'" > expect.three
-echo "" >> expect.three
+test_expect_success 'prepare test disallow multi-globs' "
+cat >expect.three <<EOF
+Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/*/t/*
+
+EOF
+ "
test_expect_success 'test disallow multi-globs' '
git config --add svn-remote.three.url "$svnrepo" &&
diff --git a/t/t9109-git-svn-multi-glob.sh b/t/t9109-git-svn-multi-glob.sh
index f36b749242..8d99e848d4 100755
--- a/t/t9109-git-svn-multi-glob.sh
+++ b/t/t9109-git-svn-multi-glob.sh
@@ -135,9 +135,12 @@ test_expect_success 'test another branch' '
test_cmp expect.four output.four
'
-echo "Only one set of wildcard directories" \
- "(e.g. '*' or '*/*/*') is supported: 'branches/*/t/*'" > expect.three
-echo "" >> expect.three
+test_expect_success 'prepare test disallow multiple globs' "
+cat >expect.three <<EOF
+Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/*/t/*
+
+EOF
+ "
test_expect_success 'test disallow multiple globs' '
git config --add svn-remote.three.url "$svnrepo" &&
diff --git a/t/t9115-git-svn-dcommit-funky-renames.sh b/t/t9115-git-svn-dcommit-funky-renames.sh
index 0990f8d235..a87d3d3fc1 100755
--- a/t/t9115-git-svn-dcommit-funky-renames.sh
+++ b/t/t9115-git-svn-dcommit-funky-renames.sh
@@ -93,7 +93,7 @@ test_expect_success 'git svn rebase works inside a fresh-cloned repository' '
# > to special UNICODE characters in the range 0xf000 to 0xf0ff (the
# > "Private use area") when creating or accessing files.
prepare_a_utf8_locale
-test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' '
+test_expect_success UTF8,!MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 new file on dcommit' '
LC_ALL=$a_utf8_locale &&
export LC_ALL &&
neq=$(printf "\201\202") &&
@@ -105,7 +105,7 @@ test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' '
'
# See the comment on the above test for setting of LC_ALL.
-test_expect_success 'svn.pathnameencoding=cp932 rename on dcommit' '
+test_expect_success !MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 rename on dcommit' '
LC_ALL=$a_utf8_locale &&
export LC_ALL &&
inf=$(printf "\201\207") &&
diff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh
index a66f43c6b1..69a675052e 100755
--- a/t/t9117-git-svn-init-clone.sh
+++ b/t/t9117-git-svn-init-clone.sh
@@ -119,4 +119,10 @@ test_expect_success 'clone with -s/-T/-b/-t and --prefix "" still works' '
rm -f warning
'
+test_expect_success 'init with -T as a full url works' '
+ test ! -d project &&
+ git svn init -T "$svnrepo"/project/trunk project &&
+ rm -rf project
+ '
+
test_done
diff --git a/t/t9168-git-svn-partially-globbed-names.sh b/t/t9168-git-svn-partially-globbed-names.sh
new file mode 100755
index 0000000000..8b22f2272c
--- /dev/null
+++ b/t/t9168-git-svn-partially-globbed-names.sh
@@ -0,0 +1,223 @@
+#!/bin/sh
+test_description='git svn globbing refspecs with prefixed globs'
+. ./lib-git-svn.sh
+
+test_expect_success 'prepare test refspec prefixed globbing' '
+ cat >expect.end <<EOF
+the end
+hi
+start a new branch
+initial
+EOF
+ '
+
+test_expect_success 'test refspec prefixed globbing' '
+ mkdir -p trunk/src/a trunk/src/b trunk/doc &&
+ echo "hello world" >trunk/src/a/readme &&
+ echo "goodbye world" >trunk/src/b/readme &&
+ svn_cmd import -m "initial" trunk "$svnrepo"/trunk &&
+ svn_cmd co "$svnrepo" tmp &&
+ (
+ cd tmp &&
+ mkdir branches tags &&
+ svn_cmd add branches tags &&
+ svn_cmd cp trunk branches/b_start &&
+ svn_cmd commit -m "start a new branch" &&
+ svn_cmd up &&
+ echo "hi" >>branches/b_start/src/b/readme &&
+ poke branches/b_start/src/b/readme &&
+ echo "hey" >>branches/b_start/src/a/readme &&
+ poke branches/b_start/src/a/readme &&
+ svn_cmd commit -m "hi" &&
+ svn_cmd up &&
+ svn_cmd cp branches/b_start tags/t_end &&
+ echo "bye" >>tags/t_end/src/b/readme &&
+ poke tags/t_end/src/b/readme &&
+ echo "aye" >>tags/t_end/src/a/readme &&
+ poke tags/t_end/src/a/readme &&
+ svn_cmd commit -m "the end" &&
+ echo "byebye" >>tags/t_end/src/b/readme &&
+ poke tags/t_end/src/b/readme &&
+ svn_cmd commit -m "nothing to see here"
+ ) &&
+ git config --add svn-remote.svn.url "$svnrepo" &&
+ git config --add svn-remote.svn.fetch \
+ "trunk/src/a:refs/remotes/trunk" &&
+ git config --add svn-remote.svn.branches \
+ "branches/b_*/src/a:refs/remotes/branches/b_*" &&
+ git config --add svn-remote.svn.tags\
+ "tags/t_*/src/a:refs/remotes/tags/t_*" &&
+ git svn multi-fetch &&
+ git log --pretty=oneline refs/remotes/tags/t_end | \
+ sed -e "s/^.\{41\}//" >output.end &&
+ test_cmp expect.end output.end &&
+ test "$(git rev-parse refs/remotes/tags/t_end~1)" = \
+ "$(git rev-parse refs/remotes/branches/b_start)" &&
+ test "$(git rev-parse refs/remotes/branches/b_start~2)" = \
+ "$(git rev-parse refs/remotes/trunk)" &&
+ test_must_fail git rev-parse refs/remotes/tags/t_end@3
+ '
+
+test_expect_success 'prepare test left-hand-side only prefixed globbing' '
+ echo try to try >expect.two &&
+ echo nothing to see here >>expect.two &&
+ cat expect.end >>expect.two
+ '
+
+test_expect_success 'test left-hand-side only prefixed globbing' '
+ git config --add svn-remote.two.url "$svnrepo" &&
+ git config --add svn-remote.two.fetch trunk:refs/remotes/two/trunk &&
+ git config --add svn-remote.two.branches \
+ "branches/b_*:refs/remotes/two/branches/*" &&
+ git config --add svn-remote.two.tags \
+ "tags/t_*:refs/remotes/two/tags/*" &&
+ (
+ cd tmp &&
+ echo "try try" >>tags/t_end/src/b/readme &&
+ poke tags/t_end/src/b/readme &&
+ svn_cmd commit -m "try to try"
+ ) &&
+ git svn fetch two &&
+ test $(git rev-list refs/remotes/two/tags/t_end | wc -l) -eq 6 &&
+ test $(git rev-list refs/remotes/two/branches/b_start | wc -l) -eq 3 &&
+ test $(git rev-parse refs/remotes/two/branches/b_start~2) = \
+ $(git rev-parse refs/remotes/two/trunk) &&
+ test $(git rev-parse refs/remotes/two/tags/t_end~3) = \
+ $(git rev-parse refs/remotes/two/branches/b_start) &&
+ git log --pretty=oneline refs/remotes/two/tags/t_end | \
+ sed -e "s/^.\{41\}//" >output.two &&
+ test_cmp expect.two output.two
+ '
+
+test_expect_success 'prepare test prefixed globs match just prefix' '
+ cat >expect.three <<EOF
+Tag commit to t_
+Branch commit to b_
+initial
+EOF
+ '
+
+test_expect_success 'test prefixed globs match just prefix' '
+ git config --add svn-remote.three.url "$svnrepo" &&
+ git config --add svn-remote.three.fetch \
+ trunk:refs/remotes/three/trunk &&
+ git config --add svn-remote.three.branches \
+ "branches/b_*:refs/remotes/three/branches/*" &&
+ git config --add svn-remote.three.tags \
+ "tags/t_*:refs/remotes/three/tags/*" &&
+ (
+ cd tmp &&
+ svn_cmd cp trunk branches/b_ &&
+ echo "Branch commit to b_" >>branches/b_/src/a/readme &&
+ poke branches/b_/src/a/readme &&
+ svn_cmd commit -m "Branch commit to b_" &&
+ svn_cmd up && svn_cmd cp branches/b_ tags/t_ &&
+ echo "Tag commit to t_" >>tags/t_/src/a/readme &&
+ poke tags/t_/src/a/readme &&
+ svn_cmd commit -m "Tag commit to t_" &&
+ svn_cmd up
+ ) &&
+ git svn fetch three &&
+ test $(git rev-list refs/remotes/three/branches/b_ | wc -l) -eq 2 &&
+ test $(git rev-list refs/remotes/three/tags/t_ | wc -l) -eq 3 &&
+ test $(git rev-parse refs/remotes/three/branches/b_~1) = \
+ $(git rev-parse refs/remotes/three/trunk) &&
+ test $(git rev-parse refs/remotes/three/tags/t_~1) = \
+ $(git rev-parse refs/remotes/three/branches/b_) &&
+ git log --pretty=oneline refs/remotes/three/tags/t_ | \
+ sed -e "s/^.\{41\}//" >output.three &&
+ test_cmp expect.three output.three
+ '
+
+test_expect_success 'prepare test disallow prefixed multi-globs' "
+cat >expect.four <<EOF
+Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/b_*/t/*
+
+EOF
+ "
+
+test_expect_success 'test disallow prefixed multi-globs' '
+ git config --add svn-remote.four.url "$svnrepo" &&
+ git config --add svn-remote.four.fetch \
+ trunk:refs/remotes/four/trunk &&
+ git config --add svn-remote.four.branches \
+ "branches/b_*/t/*:refs/remotes/four/branches/*" &&
+ git config --add svn-remote.four.tags \
+ "tags/t_*/*:refs/remotes/four/tags/*" &&
+ (
+ cd tmp &&
+ echo "try try" >>tags/t_end/src/b/readme &&
+ poke tags/t_end/src/b/readme &&
+ svn_cmd commit -m "try to try"
+ ) &&
+ test_must_fail git svn fetch four 2>stderr.four &&
+ test_cmp expect.four stderr.four &&
+ git config --unset svn-remote.four.branches &&
+ git config --unset svn-remote.four.tags
+ '
+
+test_expect_success 'prepare test globbing in the middle of the word' '
+ cat >expect.five <<EOF
+Tag commit to fghij
+Branch commit to abcde
+initial
+EOF
+ '
+
+test_expect_success 'test globbing in the middle of the word' '
+ git config --add svn-remote.five.url "$svnrepo" &&
+ git config --add svn-remote.five.fetch \
+ trunk:refs/remotes/five/trunk &&
+ git config --add svn-remote.five.branches \
+ "branches/a*e:refs/remotes/five/branches/*" &&
+ git config --add svn-remote.five.tags \
+ "tags/f*j:refs/remotes/five/tags/*" &&
+ (
+ cd tmp &&
+ svn_cmd cp trunk branches/abcde &&
+ echo "Branch commit to abcde" >>branches/abcde/src/a/readme &&
+ poke branches/b_/src/a/readme &&
+ svn_cmd commit -m "Branch commit to abcde" &&
+ svn_cmd up &&
+ svn_cmd cp branches/abcde tags/fghij &&
+ echo "Tag commit to fghij" >>tags/fghij/src/a/readme &&
+ poke tags/fghij/src/a/readme &&
+ svn_cmd commit -m "Tag commit to fghij" &&
+ svn_cmd up
+ ) &&
+ git svn fetch five &&
+ test $(git rev-list refs/remotes/five/branches/abcde | wc -l) -eq 2 &&
+ test $(git rev-list refs/remotes/five/tags/fghij | wc -l) -eq 3 &&
+ test $(git rev-parse refs/remotes/five/branches/abcde~1) = \
+ $(git rev-parse refs/remotes/five/trunk) &&
+ test $(git rev-parse refs/remotes/five/tags/fghij~1) = \
+ $(git rev-parse refs/remotes/five/branches/abcde) &&
+ git log --pretty=oneline refs/remotes/five/tags/fghij | \
+ sed -e "s/^.\{41\}//" >output.five &&
+ test_cmp expect.five output.five
+ '
+
+test_expect_success 'prepare test disallow multiple asterisks in one word' "
+ echo \"Only one '*' is allowed in a pattern: 'a*c*e'\" >expect.six &&
+ echo \"\" >>expect.six
+ "
+
+test_expect_success 'test disallow multiple asterisks in one word' '
+ git config --add svn-remote.six.url "$svnrepo" &&
+ git config --add svn-remote.six.fetch \
+ trunk:refs/remotes/six/trunk &&
+ git config --add svn-remote.six.branches \
+ "branches/a*c*e:refs/remotes/six/branches/*" &&
+ git config --add svn-remote.six.tags \
+ "tags/f*h*j:refs/remotes/six/tags/*" &&
+ (
+ cd tmp &&
+ echo "try try" >>tags/fghij/src/b/readme &&
+ poke tags/fghij/src/b/readme &&
+ svn_cmd commit -m "try to try"
+ ) &&
+ test_must_fail git svn fetch six 2>stderr.six &&
+ test_cmp expect.six stderr.six
+ '
+
+test_done
diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
index 5cfb9cfc52..bb879a527d 100755
--- a/t/t9200-git-cvsexportcommit.sh
+++ b/t/t9200-git-cvsexportcommit.sh
@@ -35,7 +35,7 @@ exit 1
check_entries () {
# $1 == directory, $2 == expected
- grep '^/' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual
+ sed -ne '/^\//p' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual
if test -z "$2"
then
>expected
diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh
index 4c5f3c9d41..25bb60b281 100755
--- a/t/t9300-fast-import.sh
+++ b/t/t9300-fast-import.sh
@@ -55,6 +55,10 @@ test_expect_success 'empty stream succeeds' '
git fast-import </dev/null
'
+test_expect_success 'truncated stream complains' '
+ echo "tag foo" | test_must_fail git fast-import
+'
+
test_expect_success 'A: create pack from stdin' '
test_tick &&
cat >input <<-INPUT_END &&
diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
index d708cbf032..432c61d246 100755
--- a/t/t9400-git-cvsserver-server.sh
+++ b/t/t9400-git-cvsserver-server.sh
@@ -45,7 +45,8 @@ test_expect_success 'setup' '
touch secondrootfile &&
git add secondrootfile &&
git commit -m "second root") &&
- git pull secondroot master &&
+ git fetch secondroot master &&
+ git merge --allow-unrelated-histories FETCH_HEAD &&
git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true &&
GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log" &&
diff --git a/t/t9700/test.pl b/t/t9700/test.pl
index 7e8c40b97b..1b75c91965 100755
--- a/t/t9700/test.pl
+++ b/t/t9700/test.pl
@@ -17,6 +17,12 @@ BEGIN {
use Cwd;
use File::Basename;
+sub adjust_dirsep {
+ my $path = shift;
+ $path =~ s{\\}{/}g;
+ return $path;
+}
+
BEGIN { use_ok('Git') }
# set up
@@ -33,7 +39,7 @@ is($r->config_int("test.int"), 2048, "config_int: integer");
is($r->config_int("test.nonexistent"), undef, "config_int: nonexistent");
ok($r->config_bool("test.booltrue"), "config_bool: true");
ok(!$r->config_bool("test.boolfalse"), "config_bool: false");
-is($r->config_path("test.path") =~ s/\\/\//gr, $r->config("test.pathexpanded"),
+is(adjust_dirsep($r->config_path("test.path")), $r->config("test.pathexpanded"),
"config_path: ~/foo expansion");
is_deeply([$r->config_path("test.pathmulti")], ["foo", "bar"],
"config_path: multiple values");
diff --git a/t/t9802-git-p4-filetype.sh b/t/t9802-git-p4-filetype.sh
index 66d3fc91a7..eb9a8ed197 100755
--- a/t/t9802-git-p4-filetype.sh
+++ b/t/t9802-git-p4-filetype.sh
@@ -223,12 +223,12 @@ build_gendouble() {
import sys
import struct
- s = struct.pack(">LL18s",
+ s = struct.pack(b">LL18s",
0x00051607, # AppleDouble
0x00020000, # version 2
- "" # pad to 26 bytes
+ b"" # pad to 26 bytes
)
- sys.stdout.write(s)
+ getattr(sys.stdout, 'buffer', sys.stdout).write(s)
EOF
}
diff --git a/t/t9824-git-p4-git-lfs.sh b/t/t9824-git-p4-git-lfs.sh
index 0b664a377c..110a7e7924 100755
--- a/t/t9824-git-p4-git-lfs.sh
+++ b/t/t9824-git-p4-git-lfs.sh
@@ -13,6 +13,10 @@ test_file_in_lfs () {
FILE="$1" &&
SIZE="$2" &&
EXPECTED_CONTENT="$3" &&
+ sed -n '1,1 p' "$FILE" | grep "^version " &&
+ sed -n '2,2 p' "$FILE" | grep "^oid " &&
+ sed -n '3,3 p' "$FILE" | grep "^size " &&
+ test_line_count = 3 "$FILE" &&
cat "$FILE" | grep "size $SIZE" &&
HASH=$(cat "$FILE" | grep "oid sha256:" | sed -e "s/oid sha256://g") &&
LFS_FILE=".git/lfs/objects/$(echo "$HASH" | cut -c1-2)/$(echo "$HASH" | cut -c3-4)/$HASH" &&
@@ -265,7 +269,7 @@ test_expect_success 'Add big files to repo and store files in LFS based on compr
# We only import HEAD here ("@all" is missing!)
git p4 clone --destination="$git" //depot &&
- test_file_in_lfs file6.bin 13 "content 6 bin 39 bytes XXXXXYYYYYZZZZZ"
+ test_file_in_lfs file6.bin 39 "content 6 bin 39 bytes XXXXXYYYYYZZZZZ" &&
test_file_count_in_dir ".git/lfs/objects" 1 &&
cat >expect <<-\EOF &&
diff --git a/t/t9826-git-p4-keep-empty-commits.sh b/t/t9826-git-p4-keep-empty-commits.sh
index be12960d39..fa8b9daf1f 100755
--- a/t/t9826-git-p4-keep-empty-commits.sh
+++ b/t/t9826-git-p4-keep-empty-commits.sh
@@ -47,23 +47,23 @@ test_expect_success 'Clone repo root path with all history' '
git init . &&
git p4 clone --use-client-spec --destination="$git" //depot@all &&
cat >expect <<-\EOF &&
-Remove file 4
-[git-p4: depot-paths = "//depot/": change = 6]
+ Remove file 4
+ [git-p4: depot-paths = "//depot/": change = 6]
-Remove file 3
-[git-p4: depot-paths = "//depot/": change = 5]
+ Remove file 3
+ [git-p4: depot-paths = "//depot/": change = 5]
-Add file 4
-[git-p4: depot-paths = "//depot/": change = 4]
+ Add file 4
+ [git-p4: depot-paths = "//depot/": change = 4]
-Add file 3
-[git-p4: depot-paths = "//depot/": change = 3]
+ Add file 3
+ [git-p4: depot-paths = "//depot/": change = 3]
-Add file 2
-[git-p4: depot-paths = "//depot/": change = 2]
+ Add file 2
+ [git-p4: depot-paths = "//depot/": change = 2]
-Add file 1
-[git-p4: depot-paths = "//depot/": change = 1]
+ Add file 1
+ [git-p4: depot-paths = "//depot/": change = 1]
EOF
git log --format=%B >actual &&
@@ -80,23 +80,23 @@ test_expect_success 'Clone repo subdir with all history but keep empty commits'
git config git-p4.keepEmptyCommits true &&
git p4 clone --use-client-spec --destination="$git" //depot@all &&
cat >expect <<-\EOF &&
-Remove file 4
-[git-p4: depot-paths = "//depot/": change = 6]
+ Remove file 4
+ [git-p4: depot-paths = "//depot/": change = 6]
-Remove file 3
-[git-p4: depot-paths = "//depot/": change = 5]
+ Remove file 3
+ [git-p4: depot-paths = "//depot/": change = 5]
-Add file 4
-[git-p4: depot-paths = "//depot/": change = 4]
+ Add file 4
+ [git-p4: depot-paths = "//depot/": change = 4]
-Add file 3
-[git-p4: depot-paths = "//depot/": change = 3]
+ Add file 3
+ [git-p4: depot-paths = "//depot/": change = 3]
-Add file 2
-[git-p4: depot-paths = "//depot/": change = 2]
+ Add file 2
+ [git-p4: depot-paths = "//depot/": change = 2]
-Add file 1
-[git-p4: depot-paths = "//depot/": change = 1]
+ Add file 1
+ [git-p4: depot-paths = "//depot/": change = 1]
EOF
git log --format=%B >actual &&
@@ -112,14 +112,14 @@ test_expect_success 'Clone repo subdir with all history' '
git init . &&
git p4 clone --use-client-spec --destination="$git" --verbose //depot@all &&
cat >expect <<-\EOF &&
-Remove file 3
-[git-p4: depot-paths = "//depot/": change = 5]
+ Remove file 3
+ [git-p4: depot-paths = "//depot/": change = 5]
-Add file 3
-[git-p4: depot-paths = "//depot/": change = 3]
+ Add file 3
+ [git-p4: depot-paths = "//depot/": change = 3]
-Add file 1
-[git-p4: depot-paths = "//depot/": change = 1]
+ Add file 1
+ [git-p4: depot-paths = "//depot/": change = 1]
EOF
git log --format=%B >actual &&
diff --git a/t/t9828-git-p4-map-user.sh b/t/t9828-git-p4-map-user.sh
new file mode 100755
index 0000000000..e20395c89f
--- /dev/null
+++ b/t/t9828-git-p4-map-user.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+test_description='Clone repositories and map users'
+
+. ./lib-git-p4.sh
+
+test_expect_success 'start p4d' '
+ start_p4d
+'
+
+test_expect_success 'Create a repo with different users' '
+ client_view "//depot/... //client/..." &&
+ (
+ cd "$cli" &&
+
+ >author.txt &&
+ p4 add author.txt &&
+ p4 submit -d "Add file author\\n" &&
+
+ P4USER=mmax &&
+ >max.txt &&
+ p4 add max.txt &&
+ p4 submit -d "Add file max" &&
+
+ P4USER=eri &&
+ >moritz.txt &&
+ p4 add moritz.txt &&
+ p4 submit -d "Add file moritz" &&
+
+ P4USER=no &&
+ >nobody.txt &&
+ p4 add nobody.txt &&
+ p4 submit -d "Add file nobody"
+ )
+'
+
+test_expect_success 'Clone repo root path with all history' '
+ client_view "//depot/... //client/..." &&
+ test_when_finished cleanup_git &&
+ (
+ cd "$git" &&
+ git init . &&
+ git config --add git-p4.mapUser "mmax = Max Musterman <max@example.com> " &&
+ git config --add git-p4.mapUser " eri=Erika Musterman <erika@example.com>" &&
+ git p4 clone --use-client-spec --destination="$git" //depot@all &&
+ cat >expect <<-\EOF &&
+ no <no@client>
+ Erika Musterman <erika@example.com>
+ Max Musterman <max@example.com>
+ Dr. author <author@example.com>
+ EOF
+ git log --format="%an <%ae>" >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'kill p4d' '
+ kill_p4d
+'
+
+test_done
diff --git a/t/t9829-git-p4-jobs.sh b/t/t9829-git-p4-jobs.sh
new file mode 100755
index 0000000000..971aeeea1f
--- /dev/null
+++ b/t/t9829-git-p4-jobs.sh
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+test_description='git p4 retrieve job info'
+
+. ./lib-git-p4.sh
+
+test_expect_success 'start p4d' '
+ start_p4d
+'
+
+test_expect_success 'add p4 jobs' '
+ (
+ p4_add_job TESTJOB-A &&
+ p4_add_job TESTJOB-B
+ )
+'
+
+test_expect_success 'add p4 files' '
+ client_view "//depot/... //client/..." &&
+ (
+ cd "$cli" &&
+ >file1 &&
+ p4 add file1 &&
+ p4 submit -d "Add file 1"
+ )
+'
+
+test_expect_success 'check log message of changelist with no jobs' '
+ client_view "//depot/... //client/..." &&
+ test_when_finished cleanup_git &&
+ (
+ cd "$git" &&
+ git init . &&
+ git p4 clone --use-client-spec --destination="$git" //depot@all &&
+ cat >expect <<-\EOF &&
+ Add file 1
+ [git-p4: depot-paths = "//depot/": change = 1]
+
+ EOF
+ git log --format=%B >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'add TESTJOB-A to change 1' '
+ (
+ cd "$cli" &&
+ p4 fix -c 1 TESTJOB-A
+ )
+'
+
+test_expect_success 'check log message of changelist with one job' '
+ client_view "//depot/... //client/..." &&
+ test_when_finished cleanup_git &&
+ (
+ cd "$git" &&
+ git init . &&
+ git p4 clone --use-client-spec --destination="$git" //depot@all &&
+ cat >expect <<-\EOF &&
+ Add file 1
+ Jobs: TESTJOB-A
+ [git-p4: depot-paths = "//depot/": change = 1]
+
+ EOF
+ git log --format=%B >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'add TESTJOB-B to change 1' '
+ (
+ cd "$cli" &&
+ p4 fix -c 1 TESTJOB-B
+ )
+'
+
+test_expect_success 'check log message of changelist with more jobs' '
+ client_view "//depot/... //client/..." &&
+ test_when_finished cleanup_git &&
+ (
+ cd "$git" &&
+ git init . &&
+ git p4 clone --use-client-spec --destination="$git" //depot@all &&
+ cat >expect <<-\EOF &&
+ Add file 1
+ Jobs: TESTJOB-A TESTJOB-B
+ [git-p4: depot-paths = "//depot/": change = 1]
+
+ EOF
+ git log --format=%B >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'kill p4d' '
+ kill_p4d
+'
+
+test_done
diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
index ffbfa0efb8..0db4469c89 100755
--- a/t/t9903-bash-prompt.sh
+++ b/t/t9903-bash-prompt.sh
@@ -107,7 +107,7 @@ test_expect_success 'prompt - describe detached head - contains' '
'
test_expect_success 'prompt - describe detached head - branch' '
- printf " ((b1~1))" >expected &&
+ printf " ((tags/t2~1))" >expected &&
git checkout b1^ &&
test_when_finished "git checkout master" &&
(
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index c64e5a5025..8d99eb303f 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -617,7 +617,7 @@ test_must_fail () {
return 0
elif test $exit_code -gt 129 && test $exit_code -le 192
then
- echo >&2 "test_must_fail: died by signal: $*"
+ echo >&2 "test_must_fail: died by signal $(($exit_code - 128)): $*"
return 1
elif test $exit_code -eq 127
then
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 0b47eb6bb2..286c5f33d1 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -202,13 +202,13 @@ do
}
run_list=$1; shift ;;
--run=*)
- run_list=$(expr "z$1" : 'z[^=]*=\(.*\)'); shift ;;
+ run_list=${1#--*=}; shift ;;
-h|--h|--he|--hel|--help)
help=t; shift ;;
-v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose)
verbose=t; shift ;;
--verbose-only=*)
- verbose_only=$(expr "z$1" : 'z[^=]*=\(.*\)')
+ verbose_only=${1#--*=}
shift ;;
-q|--q|--qu|--qui|--quie|--quiet)
# Ignore --quiet under a TAP::Harness. Saying how many tests
@@ -222,15 +222,15 @@ do
valgrind=memcheck
shift ;;
--valgrind=*)
- valgrind=$(expr "z$1" : 'z[^=]*=\(.*\)')
+ valgrind=${1#--*=}
shift ;;
--valgrind-only=*)
- valgrind_only=$(expr "z$1" : 'z[^=]*=\(.*\)')
+ valgrind_only=${1#--*=}
shift ;;
--tee)
shift ;; # was handled already
--root=*)
- root=$(expr "z$1" : 'z[^=]*=\(.*\)')
+ root=${1#--*=}
shift ;;
--chain-lint)
GIT_TEST_CHAIN_LINT=1
@@ -854,10 +854,10 @@ test -d "$GIT_BUILD_DIR"/templates/blt || {
error "You haven't built things yet, have you?"
}
-if ! test -x "$GIT_BUILD_DIR"/test-chmtime
+if ! test -x "$GIT_BUILD_DIR"/t/helper/test-chmtime
then
echo >&2 'You need to build test-chmtime:'
- echo >&2 'Run "make test-chmtime" in the source (toplevel) directory'
+ echo >&2 'Run "make t/helper/test-chmtime" in the source (toplevel) directory'
exit 1
fi
diff --git a/tag.c b/tag.c
index d72f742af9..d1dcd18cd7 100644
--- a/tag.c
+++ b/tag.c
@@ -6,6 +6,59 @@
const char *tag_type = "tag";
+static int run_gpg_verify(const char *buf, unsigned long size, unsigned flags)
+{
+ struct signature_check sigc;
+ size_t payload_size;
+ int ret;
+
+ memset(&sigc, 0, sizeof(sigc));
+
+ payload_size = parse_signature(buf, size);
+
+ if (size == payload_size) {
+ if (flags & GPG_VERIFY_VERBOSE)
+ write_in_full(1, buf, payload_size);
+ return error("no signature found");
+ }
+
+ ret = check_signature(buf, payload_size, buf + payload_size,
+ size - payload_size, &sigc);
+ print_signature_buffer(&sigc, flags);
+
+ signature_check_clear(&sigc);
+ return ret;
+}
+
+int gpg_verify_tag(const unsigned char *sha1, const char *name_to_report,
+ unsigned flags)
+{
+ enum object_type type;
+ char *buf;
+ unsigned long size;
+ int ret;
+
+ type = sha1_object_info(sha1, NULL);
+ if (type != OBJ_TAG)
+ return error("%s: cannot verify a non-tag object of type %s.",
+ name_to_report ?
+ name_to_report :
+ find_unique_abbrev(sha1, DEFAULT_ABBREV),
+ typename(type));
+
+ buf = read_sha1_file(sha1, &type, &size);
+ if (!buf)
+ return error("%s: unable to read file.",
+ name_to_report ?
+ name_to_report :
+ find_unique_abbrev(sha1, DEFAULT_ABBREV));
+
+ ret = run_gpg_verify(buf, size, flags);
+
+ free(buf);
+ return ret;
+}
+
struct object *deref_tag(struct object *o, const char *warn, int warnlen)
{
while (o && o->type == OBJ_TAG)
diff --git a/tag.h b/tag.h
index f4580aea42..a5721b6731 100644
--- a/tag.h
+++ b/tag.h
@@ -17,5 +17,7 @@ extern int parse_tag_buffer(struct tag *item, const void *data, unsigned long si
extern int parse_tag(struct tag *item);
extern struct object *deref_tag(struct object *, const char *, int);
extern struct object *deref_tag_noverify(struct object *);
+extern int gpg_verify_tag(const unsigned char *sha1,
+ const char *name_to_report, unsigned flags);
#endif /* TAG_H */
diff --git a/templates/hooks--update.sample b/templates/hooks--update.sample
index d84758373d..80ba94135c 100755
--- a/templates/hooks--update.sample
+++ b/templates/hooks--update.sample
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# An example hook script to blocks unannotated tags from entering.
+# An example hook script to block unannotated tags from entering.
# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
#
# To enable this hook, rename this file to "update".
diff --git a/test-match-trees.c b/test-match-trees.c
deleted file mode 100644
index 109f03e711..0000000000
--- a/test-match-trees.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "cache.h"
-#include "tree.h"
-
-int main(int ac, char **av)
-{
- unsigned char hash1[20], hash2[20], shifted[20];
- struct tree *one, *two;
-
- if (get_sha1(av[1], hash1))
- die("cannot parse %s as an object name", av[1]);
- if (get_sha1(av[2], hash2))
- die("cannot parse %s as an object name", av[2]);
- one = parse_tree_indirect(hash1);
- if (!one)
- die("not a tree-ish %s", av[1]);
- two = parse_tree_indirect(hash2);
- if (!two)
- die("not a tree-ish %s", av[2]);
-
- shift_tree(one->object.oid.hash, two->object.oid.hash, shifted, -1);
- printf("shifted: %s\n", sha1_to_hex(shifted));
-
- exit(0);
-}
diff --git a/trailer.c b/trailer.c
index 94b387b499..8e48a5c990 100644
--- a/trailer.c
+++ b/trailer.c
@@ -234,7 +234,7 @@ static const char *apply_command(const char *command, const char *arg)
cp.use_shell = 1;
if (capture_command(&cp, &buf, 1024)) {
- error("running trailer command '%s' failed", cmd.buf);
+ error(_("running trailer command '%s' failed"), cmd.buf);
strbuf_release(&buf);
result = xstrdup("");
} else {
diff --git a/transport-helper.c b/transport-helper.c
index b934183236..13b7a57a75 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -1152,7 +1152,7 @@ static void udt_close_if_finished(struct unidirectional_transfer *t)
}
/*
- * Tries to read read data from source into buffer. If buffer is full,
+ * Tries to read data from source into buffer. If buffer is full,
* no data is read. Returns 0 on success, -1 on error.
*/
static int udt_do_read(struct unidirectional_transfer *t)
diff --git a/transport.c b/transport.c
index e20bb771fa..095e61f0ad 100644
--- a/transport.c
+++ b/transport.c
@@ -678,8 +678,9 @@ struct transport *transport_get(struct remote *remote, const char *url)
|| starts_with(url, "file://")
|| starts_with(url, "git://")
|| starts_with(url, "ssh://")
- || starts_with(url, "git+ssh://")
- || starts_with(url, "ssh+git://")) {
+ || starts_with(url, "git+ssh://") /* deprecated - do not use */
+ || starts_with(url, "ssh+git://") /* deprecated - do not use */
+ ) {
/*
* These are builtin smart transports; "allowed" transports
* will be checked individually in git_connect.
@@ -983,7 +984,7 @@ int transport_fetch_refs(struct transport *transport, struct ref *refs)
* This condition shouldn't be met in a non-deepening fetch
* (see builtin/fetch.c:quickfetch()).
*/
- heads = xmalloc(nr_refs * sizeof(*heads));
+ ALLOC_ARRAY(heads, nr_refs);
for (rm = refs; rm; rm = rm->next)
heads[nr_heads++] = rm;
}
@@ -1027,7 +1028,7 @@ int transport_disconnect(struct transport *transport)
*/
char *transport_anonymize_url(const char *url)
{
- char *anon_url, *scheme_prefix, *anon_part;
+ char *scheme_prefix, *anon_part;
size_t anon_len, prefix_len = 0;
anon_part = strchr(url, '@');
@@ -1061,10 +1062,8 @@ char *transport_anonymize_url(const char *url)
goto literal_copy;
prefix_len = scheme_prefix - url + 3;
}
- anon_url = xcalloc(1, 1 + prefix_len + anon_len);
- memcpy(anon_url, url, prefix_len);
- memcpy(anon_url + prefix_len, anon_part, anon_len);
- return anon_url;
+ return xstrfmt("%.*s%.*s", (int)prefix_len, url,
+ (int)anon_len, anon_part);
literal_copy:
return xstrdup(url);
}
diff --git a/tree-diff.c b/tree-diff.c
index 290a1da4ce..ff4e0d3cb6 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -124,8 +124,8 @@ static struct combine_diff_path *path_appendnew(struct combine_diff_path *last,
unsigned mode, const unsigned char *sha1)
{
struct combine_diff_path *p;
- int len = base->len + pathlen;
- int alloclen = combine_diff_path_size(nparent, len);
+ size_t len = st_add(base->len, pathlen);
+ size_t alloclen = combine_diff_path_size(nparent, len);
/* if last->next is !NULL - it is a pre-allocated memory, we can reuse */
p = last->next;
@@ -183,7 +183,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p,
if (t) {
/* path present in resulting tree */
- sha1 = tree_entry_extract(t, &path, &mode);
+ sha1 = tree_entry_extract(t, &path, &mode)->hash;
pathlen = tree_entry_len(&t->entry);
isdir = S_ISDIR(mode);
} else {
@@ -229,7 +229,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p,
DIFF_STATUS_ADDED;
if (tpi_valid) {
- sha1_i = tp[i].entry.sha1;
+ sha1_i = tp[i].entry.oid->hash;
mode_i = tp[i].entry.mode;
}
else {
@@ -270,7 +270,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p,
/* same rule as in emitthis */
int tpi_valid = tp && !(tp[i].entry.mode & S_IFXMIN_NEQ);
- parents_sha1[i] = tpi_valid ? tp[i].entry.sha1
+ parents_sha1[i] = tpi_valid ? tp[i].entry.oid->hash
: NULL;
}
@@ -482,7 +482,7 @@ static struct combine_diff_path *ll_diff_tree_paths(
continue;
/* diff(t,pi) != ΓΈ */
- if (hashcmp(t.entry.sha1, tp[i].entry.sha1) ||
+ if (oidcmp(t.entry.oid, tp[i].entry.oid) ||
(t.entry.mode != tp[i].entry.mode))
continue;
diff --git a/tree-walk.c b/tree-walk.c
index cd4bb2c38b..ce27842439 100644
--- a/tree-walk.c
+++ b/tree-walk.c
@@ -38,7 +38,7 @@ static void decode_tree_entry(struct tree_desc *desc, const char *buf, unsigned
/* Initialize the descriptor entry */
desc->entry.path = path;
desc->entry.mode = canon_mode(mode);
- desc->entry.sha1 = (const unsigned char *)(path + len);
+ desc->entry.oid = (const struct object_id *)(path + len);
}
void init_tree_desc(struct tree_desc *desc, const void *buffer, unsigned long size)
@@ -76,7 +76,7 @@ static void entry_extract(struct tree_desc *t, struct name_entry *a)
void update_tree_entry(struct tree_desc *desc)
{
const void *buf = desc->buffer;
- const unsigned char *end = desc->entry.sha1 + 20;
+ const unsigned char *end = desc->entry.oid->hash + 20;
unsigned long size = desc->size;
unsigned long len = end - (const unsigned char *)buf;
@@ -110,7 +110,7 @@ void setup_traverse_info(struct traverse_info *info, const char *base)
pathlen--;
info->pathlen = pathlen ? pathlen + 1 : 0;
info->name.path = base;
- info->name.sha1 = (void *)(base + pathlen + 1);
+ info->name.oid = (void *)(base + pathlen + 1);
if (pathlen)
info->prev = &dummy;
}
@@ -433,10 +433,10 @@ static int find_tree_entry(struct tree_desc *t, const char *name, unsigned char
int namelen = strlen(name);
while (t->size) {
const char *entry;
- const unsigned char *sha1;
+ const struct object_id *oid;
int entrylen, cmp;
- sha1 = tree_entry_extract(t, &entry, mode);
+ oid = tree_entry_extract(t, &entry, mode);
entrylen = tree_entry_len(&t->entry);
update_tree_entry(t);
if (entrylen > namelen)
@@ -447,7 +447,7 @@ static int find_tree_entry(struct tree_desc *t, const char *name, unsigned char
if (cmp < 0)
break;
if (entrylen == namelen) {
- hashcpy(result, sha1);
+ hashcpy(result, oid->hash);
return 0;
}
if (name[entrylen] != '/')
@@ -455,10 +455,10 @@ static int find_tree_entry(struct tree_desc *t, const char *name, unsigned char
if (!S_ISDIR(*mode))
break;
if (++entrylen == namelen) {
- hashcpy(result, sha1);
+ hashcpy(result, oid->hash);
return 0;
}
- return get_tree_entry(sha1, name + entrylen, result, mode);
+ return get_tree_entry(oid->hash, name + entrylen, result, mode);
}
return -1;
}
diff --git a/tree-walk.h b/tree-walk.h
index 174eb617df..97a7d6957e 100644
--- a/tree-walk.h
+++ b/tree-walk.h
@@ -2,7 +2,7 @@
#define TREE_WALK_H
struct name_entry {
- const unsigned char *sha1;
+ const struct object_id *oid;
const char *path;
unsigned int mode;
};
@@ -13,16 +13,16 @@ struct tree_desc {
unsigned int size;
};
-static inline const unsigned char *tree_entry_extract(struct tree_desc *desc, const char **pathp, unsigned int *modep)
+static inline const struct object_id *tree_entry_extract(struct tree_desc *desc, const char **pathp, unsigned int *modep)
{
*pathp = desc->entry.path;
*modep = desc->entry.mode;
- return desc->entry.sha1;
+ return desc->entry.oid;
}
static inline int tree_entry_len(const struct name_entry *ne)
{
- return (const char *)ne->sha1 - ne->path - 1;
+ return (const char *)ne->oid - ne->path - 1;
}
void update_tree_entry(struct tree_desc *);
diff --git a/tree.c b/tree.c
index f79ff9813e..0089e52d9d 100644
--- a/tree.c
+++ b/tree.c
@@ -76,7 +76,7 @@ static int read_tree_1(struct tree *tree, struct strbuf *base,
continue;
}
- switch (fn(entry.sha1, base,
+ switch (fn(entry.oid->hash, base,
entry.path, entry.mode, stage, context)) {
case 0:
continue;
@@ -87,19 +87,19 @@ static int read_tree_1(struct tree *tree, struct strbuf *base,
}
if (S_ISDIR(entry.mode))
- hashcpy(sha1, entry.sha1);
+ hashcpy(sha1, entry.oid->hash);
else if (S_ISGITLINK(entry.mode)) {
struct commit *commit;
- commit = lookup_commit(entry.sha1);
+ commit = lookup_commit(entry.oid->hash);
if (!commit)
die("Commit %s in submodule path %s%s not found",
- sha1_to_hex(entry.sha1),
+ oid_to_hex(entry.oid),
base->buf, entry.path);
if (parse_commit(commit))
die("Invalid commit %s in submodule path %s%s",
- sha1_to_hex(entry.sha1),
+ oid_to_hex(entry.oid),
base->buf, entry.path);
hashcpy(sha1, commit->tree->object.oid.hash);
diff --git a/unpack-trees.c b/unpack-trees.c
index 9f55cc28b9..e81024bb9e 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -58,40 +58,74 @@ void setup_unpack_trees_porcelain(struct unpack_trees_options *opts,
int i;
const char **msgs = opts->msgs;
const char *msg;
- const char *cmd2 = strcmp(cmd, "checkout") ? cmd : "switch branches";
- if (advice_commit_before_merge)
- msg = "Your local changes to the following files would be overwritten by %s:\n%%s"
- "Please, commit your changes or stash them before you can %s.";
+ if (!strcmp(cmd, "checkout"))
+ msg = advice_commit_before_merge
+ ? _("Your local changes to the following files would be overwritten by checkout:\n%%s"
+ "Please commit your changes or stash them before you can switch branches.")
+ : _("Your local changes to the following files would be overwritten by checkout:\n%%s");
+ else if (!strcmp(cmd, "merge"))
+ msg = advice_commit_before_merge
+ ? _("Your local changes to the following files would be overwritten by merge:\n%%s"
+ "Please commit your changes or stash them before you can merge.")
+ : _("Your local changes to the following files would be overwritten by merge:\n%%s");
else
- msg = "Your local changes to the following files would be overwritten by %s:\n%%s";
+ msg = advice_commit_before_merge
+ ? _("Your local changes to the following files would be overwritten by %s:\n%%s"
+ "Please commit your changes or stash them before you can %s.")
+ : _("Your local changes to the following files would be overwritten by %s:\n%%s");
msgs[ERROR_WOULD_OVERWRITE] = msgs[ERROR_NOT_UPTODATE_FILE] =
- xstrfmt(msg, cmd, cmd2);
+ xstrfmt(msg, cmd, cmd);
msgs[ERROR_NOT_UPTODATE_DIR] =
- "Updating the following directories would lose untracked files in it:\n%s";
-
- if (advice_commit_before_merge)
- msg = "The following untracked working tree files would be %s by %s:\n%%s"
- "Please move or remove them before you can %s.";
+ _("Updating the following directories would lose untracked files in it:\n%s");
+
+ if (!strcmp(cmd, "checkout"))
+ msg = advice_commit_before_merge
+ ? _("The following untracked working tree files would be removed by checkout:\n%%s"
+ "Please move or remove them before you can switch branches.")
+ : _("The following untracked working tree files would be removed by checkout:\n%%s");
+ else if (!strcmp(cmd, "merge"))
+ msg = advice_commit_before_merge
+ ? _("The following untracked working tree files would be removed by merge:\n%%s"
+ "Please move or remove them before you can merge.")
+ : _("The following untracked working tree files would be removed by merge:\n%%s");
else
- msg = "The following untracked working tree files would be %s by %s:\n%%s";
-
- msgs[ERROR_WOULD_LOSE_UNTRACKED_REMOVED] = xstrfmt(msg, "removed", cmd, cmd2);
- msgs[ERROR_WOULD_LOSE_UNTRACKED_OVERWRITTEN] = xstrfmt(msg, "overwritten", cmd, cmd2);
+ msg = advice_commit_before_merge
+ ? _("The following untracked working tree files would be removed by %s:\n%%s"
+ "Please move or remove them before you can %s.")
+ : _("The following untracked working tree files would be removed by %s:\n%%s");
+ msgs[ERROR_WOULD_LOSE_UNTRACKED_REMOVED] = xstrfmt(msg, cmd, cmd);
+
+ if (!strcmp(cmd, "checkout"))
+ msg = advice_commit_before_merge
+ ? _("The following untracked working tree files would be overwritten by checkout:\n%%s"
+ "Please move or remove them before you can switch branches.")
+ : _("The following untracked working tree files would be overwritten by checkout:\n%%s");
+ else if (!strcmp(cmd, "merge"))
+ msg = advice_commit_before_merge
+ ? _("The following untracked working tree files would be overwritten by merge:\n%%s"
+ "Please move or remove them before you can merge.")
+ : _("The following untracked working tree files would be overwritten by merge:\n%%s");
+ else
+ msg = advice_commit_before_merge
+ ? _("The following untracked working tree files would be overwritten by %s:\n%%s"
+ "Please move or remove them before you can %s.")
+ : _("The following untracked working tree files would be overwritten by %s:\n%%s");
+ msgs[ERROR_WOULD_LOSE_UNTRACKED_OVERWRITTEN] = xstrfmt(msg, cmd, cmd);
/*
* Special case: ERROR_BIND_OVERLAP refers to a pair of paths, we
* cannot easily display it as a list.
*/
- msgs[ERROR_BIND_OVERLAP] = "Entry '%s' overlaps with '%s'. Cannot bind.";
+ msgs[ERROR_BIND_OVERLAP] = _("Entry '%s' overlaps with '%s'. Cannot bind.");
msgs[ERROR_SPARSE_NOT_UPTODATE_FILE] =
- "Cannot update sparse checkout: the following entries are not up-to-date:\n%s";
+ _("Cannot update sparse checkout: the following entries are not up-to-date:\n%s");
msgs[ERROR_WOULD_LOSE_ORPHANED_OVERWRITTEN] =
- "The following Working tree files would be overwritten by sparse checkout update:\n%s";
+ _("The following Working tree files would be overwritten by sparse checkout update:\n%s");
msgs[ERROR_WOULD_LOSE_ORPHANED_REMOVED] =
- "The following Working tree files would be removed by sparse checkout update:\n%s";
+ _("The following Working tree files would be removed by sparse checkout update:\n%s");
opts->show_all_errors = 1;
/* rejected paths may not have a static buffer */
@@ -168,7 +202,7 @@ static void display_error_msgs(struct unpack_trees_options *o)
string_list_clear(rejects, 0);
}
if (something_displayed)
- fprintf(stderr, "Aborting\n");
+ fprintf(stderr, _("Aborting\n"));
}
/*
@@ -475,7 +509,7 @@ static int traverse_trees_recursive(int n, unsigned long dirmask,
for (i = 0; i < n; i++, dirmask >>= 1) {
const unsigned char *sha1 = NULL;
if (dirmask & 1)
- sha1 = names[i].sha1;
+ sha1 = names[i].oid->hash;
buf[i] = fill_tree_descriptor(t+i, sha1);
}
@@ -591,7 +625,7 @@ static struct cache_entry *create_ce_entry(const struct traverse_info *info, con
ce->ce_mode = create_ce_mode(n->mode);
ce->ce_flags = create_ce_flags(stage);
ce->ce_namelen = len;
- hashcpy(ce->sha1, n->sha1);
+ hashcpy(ce->sha1, n->oid->hash);
make_traverse_path(ce->name, info, n);
return ce;
diff --git a/upload-pack.c b/upload-pack.c
index b3f6653ffd..dc802a07c2 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -90,35 +90,32 @@ static void create_pack_file(void)
"corruption on the remote side.";
int buffered = -1;
ssize_t sz;
- const char *argv[13];
- int i, arg = 0;
+ int i;
FILE *pipe_fd;
if (shallow_nr) {
- argv[arg++] = "--shallow-file";
- argv[arg++] = "";
+ argv_array_push(&pack_objects.args, "--shallow-file");
+ argv_array_push(&pack_objects.args, "");
}
- argv[arg++] = "pack-objects";
- argv[arg++] = "--revs";
+ argv_array_push(&pack_objects.args, "pack-objects");
+ argv_array_push(&pack_objects.args, "--revs");
if (use_thin_pack)
- argv[arg++] = "--thin";
+ argv_array_push(&pack_objects.args, "--thin");
- argv[arg++] = "--stdout";
+ argv_array_push(&pack_objects.args, "--stdout");
if (shallow_nr)
- argv[arg++] = "--shallow";
+ argv_array_push(&pack_objects.args, "--shallow");
if (!no_progress)
- argv[arg++] = "--progress";
+ argv_array_push(&pack_objects.args, "--progress");
if (use_ofs_delta)
- argv[arg++] = "--delta-base-offset";
+ argv_array_push(&pack_objects.args, "--delta-base-offset");
if (use_include_tag)
- argv[arg++] = "--include-tag";
- argv[arg++] = NULL;
+ argv_array_push(&pack_objects.args, "--include-tag");
pack_objects.in = -1;
pack_objects.out = -1;
pack_objects.err = -1;
pack_objects.git_cmd = 1;
- pack_objects.argv = argv;
if (start_command(&pack_objects))
die("git upload-pack: unable to fork git-pack-objects");
diff --git a/userdiff.h b/userdiff.h
index 4a7e78ffbc..2ef0ce5452 100644
--- a/userdiff.h
+++ b/userdiff.h
@@ -23,6 +23,10 @@ int userdiff_config(const char *k, const char *v);
struct userdiff_driver *userdiff_find_by_name(const char *name);
struct userdiff_driver *userdiff_find_by_path(const char *path);
+/*
+ * Initialize any textconv-related fields in the driver and return it, or NULL
+ * if it does not have textconv enabled at all.
+ */
struct userdiff_driver *userdiff_get_textconv(struct userdiff_driver *driver);
#endif /* USERDIFF */
diff --git a/utf8.h b/utf8.h
index 7930b44f19..6bbcf31a83 100644
--- a/utf8.h
+++ b/utf8.h
@@ -48,7 +48,7 @@ static inline char *reencode_string(const char *in,
int mbs_chrlen(const char **text, size_t *remainder_p, const char *encoding);
/*
- * Returns true if the the path would match ".git" after HFS case-folding.
+ * Returns true if the path would match ".git" after HFS case-folding.
* The path should be NUL-terminated, but we will match variants of both ".git\0"
* and ".git/..." (but _not_ ".../.git"). This makes it suitable for both fsck
* and verify_path().
diff --git a/walker.c b/walker.c
index 08773d419f..d95b007294 100644
--- a/walker.c
+++ b/walker.c
@@ -43,12 +43,12 @@ static int process_tree(struct walker *walker, struct tree *tree)
if (S_ISGITLINK(entry.mode))
continue;
if (S_ISDIR(entry.mode)) {
- struct tree *tree = lookup_tree(entry.sha1);
+ struct tree *tree = lookup_tree(entry.oid->hash);
if (tree)
obj = &tree->object;
}
else {
- struct blob *blob = lookup_blob(entry.sha1);
+ struct blob *blob = lookup_blob(entry.oid->hash);
if (blob)
obj = &blob->object;
}
diff --git a/wildmatch.c b/wildmatch.c
index f91ba99f32..57c8765805 100644
--- a/wildmatch.c
+++ b/wildmatch.c
@@ -136,7 +136,7 @@ static int dowild(const uchar *p, const uchar *text, unsigned int flags)
/*
* Try to advance faster when an asterisk is
* followed by a literal. We know in this case
- * that the the string before the literal
+ * that the string before the literal
* must belong to "*".
* If match_slash is false, do not look past
* the first slash as it cannot belong to '*'.
diff --git a/worktree.c b/worktree.c
index 6181a66f1e..89ebe67a50 100644
--- a/worktree.c
+++ b/worktree.c
@@ -18,7 +18,7 @@ void free_worktrees(struct worktree **worktrees)
/*
* read 'path_to_ref' into 'ref'. Also if is_detached is not NULL,
- * set is_detached to 1 (0) if the ref is detatched (is not detached).
+ * set is_detached to 1 (0) if the ref is detached (is not detached).
*
* $GIT_COMMON_DIR/$symref (e.g. HEAD) is practically outside $GIT_DIR so
* for linked worktrees, `resolve_ref_unsafe()` won't work (it uses
diff --git a/wrapper.c b/wrapper.c
index 29a45d2654..9009f8bd3d 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -152,6 +152,9 @@ void *xcalloc(size_t nmemb, size_t size)
{
void *ret;
+ if (unsigned_mult_overflows(nmemb, size))
+ die("data too large to fit into virtual memory space");
+
memory_limit_check(size * nmemb, 0);
ret = calloc(nmemb, size);
if (!ret && (!nmemb || !size))
@@ -443,23 +446,6 @@ int git_mkstemp(char *path, size_t len, const char *template)
return mkstemp(path);
}
-/* git_mkstemps() - create tmp file with suffix honoring TMPDIR variable. */
-int git_mkstemps(char *path, size_t len, const char *template, int suffix_len)
-{
- const char *tmp;
- size_t n;
-
- tmp = getenv("TMPDIR");
- if (!tmp)
- tmp = "/tmp";
- n = snprintf(path, len, "%s/%s", tmp, template);
- if (len <= n) {
- errno = ENAMETOOLONG;
- return -1;
- }
- return mkstemps(path, suffix_len);
-}
-
/* Adapted from libiberty's mkstemp.c. */
#undef TMP_MAX
diff --git a/write_or_die.c b/write_or_die.c
index e7afe7a295..49e80aa222 100644
--- a/write_or_die.c
+++ b/write_or_die.c
@@ -1,8 +1,12 @@
#include "cache.h"
+#include "run-command.h"
static void check_pipe(int err)
{
if (err == EPIPE) {
+ if (in_async())
+ async_exit(141);
+
signal(SIGPIPE, SIG_DFL);
raise(SIGPIPE);
/* Should never happen, but just in case... */
diff --git a/wt-status.c b/wt-status.c
index ab4f80d6d0..1ea2ebe4c0 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -1063,9 +1063,7 @@ static void abbrev_sha1_in_line(struct strbuf *line)
strbuf_addf(line, "%s", split[i]->buf);
}
}
- for (i = 0; split[i]; i++)
- strbuf_release(split[i]);
-
+ strbuf_list_free(split);
}
static void read_rebase_todolist(const char *fname, struct string_list *lines)
@@ -1677,10 +1675,10 @@ static void wt_shortstatus_print_tracking(struct wt_status *s)
color_fprintf(s->fp, header_color, LABEL(N_("behind ")));
color_fprintf(s->fp, branch_color_remote, "%d", num_theirs);
} else if (!num_theirs) {
- color_fprintf(s->fp, header_color, LABEL(N_(("ahead "))));
+ color_fprintf(s->fp, header_color, LABEL(N_("ahead ")));
color_fprintf(s->fp, branch_color_local, "%d", num_ours);
} else {
- color_fprintf(s->fp, header_color, LABEL(N_(("ahead "))));
+ color_fprintf(s->fp, header_color, LABEL(N_("ahead ")));
color_fprintf(s->fp, branch_color_local, "%d", num_ours);
color_fprintf(s->fp, header_color, ", %s", LABEL(N_("behind ")));
color_fprintf(s->fp, branch_color_remote, "%d", num_theirs);
diff --git a/xdiff-interface.c b/xdiff-interface.c
index cb67c1c42b..54236f24b9 100644
--- a/xdiff-interface.c
+++ b/xdiff-interface.c
@@ -265,7 +265,7 @@ void xdiff_set_find_func(xdemitconf_t *xecfg, const char *value, int cflags)
for (i = 0, regs->nr = 1; value[i]; i++)
if (value[i] == '\n')
regs->nr++;
- regs->array = xmalloc(regs->nr * sizeof(struct ff_reg));
+ ALLOC_ARRAY(regs->array, regs->nr);
for (i = 0; i < regs->nr; i++) {
struct ff_reg *reg = regs->array + i;
const char *ep = strchr(value, '\n'), *expression;
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index c0339919cc..7423f77fc8 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -41,8 +41,9 @@ extern "C" {
#define XDF_IGNORE_BLANK_LINES (1 << 7)
+#define XDF_COMPACTION_HEURISTIC (1 << 8)
+
#define XDL_EMIT_FUNCNAMES (1 << 0)
-#define XDL_EMIT_COMMON (1 << 1)
#define XDL_EMIT_FUNCCONTEXT (1 << 2)
#define XDL_MMB_READONLY (1 << 0)
diff --git a/xdiff/xdiffi.c b/xdiff/xdiffi.c
index 2358a2d632..b3c6848875 100644
--- a/xdiff/xdiffi.c
+++ b/xdiff/xdiffi.c
@@ -400,9 +400,23 @@ static xdchange_t *xdl_add_change(xdchange_t *xscr, long i1, long i2, long chg1,
}
+static int is_blank_line(xrecord_t **recs, long ix, long flags)
+{
+ return xdl_blankline(recs[ix]->ptr, recs[ix]->size, flags);
+}
+
+static int recs_match(xrecord_t **recs, long ixs, long ix, long flags)
+{
+ return (recs[ixs]->ha == recs[ix]->ha &&
+ xdl_recmatch(recs[ixs]->ptr, recs[ixs]->size,
+ recs[ix]->ptr, recs[ix]->size,
+ flags));
+}
+
int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) {
long ix, ixo, ixs, ixref, grpsiz, nrec = xdf->nrec;
char *rchg = xdf->rchg, *rchgo = xdfo->rchg;
+ unsigned int blank_lines;
xrecord_t **recs = xdf->recs;
/*
@@ -436,14 +450,14 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) {
do {
grpsiz = ix - ixs;
+ blank_lines = 0;
/*
* If the line before the current change group, is equal to
* the last line of the current change group, shift backward
* the group.
*/
- while (ixs > 0 && recs[ixs - 1]->ha == recs[ix - 1]->ha &&
- xdl_recmatch(recs[ixs - 1]->ptr, recs[ixs - 1]->size, recs[ix - 1]->ptr, recs[ix - 1]->size, flags)) {
+ while (ixs > 0 && recs_match(recs, ixs - 1, ix - 1, flags)) {
rchg[--ixs] = 1;
rchg[--ix] = 0;
@@ -470,8 +484,9 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) {
* the line next of the current change group, shift forward
* the group.
*/
- while (ix < nrec && recs[ixs]->ha == recs[ix]->ha &&
- xdl_recmatch(recs[ixs]->ptr, recs[ixs]->size, recs[ix]->ptr, recs[ix]->size, flags)) {
+ while (ix < nrec && recs_match(recs, ixs, ix, flags)) {
+ blank_lines += is_blank_line(recs, ix, flags);
+
rchg[ixs++] = 0;
rchg[ix++] = 1;
@@ -498,6 +513,23 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) {
rchg[--ix] = 0;
while (rchgo[--ixo]);
}
+
+ /*
+ * If a group can be moved back and forth, see if there is a
+ * blank line in the moving space. If there is a blank line,
+ * make sure the last blank line is the end of the group.
+ *
+ * As we already shifted the group forward as far as possible
+ * in the earlier loop, we need to shift it back only if at all.
+ */
+ if ((flags & XDF_COMPACTION_HEURISTIC) && blank_lines) {
+ while (ixs > 0 &&
+ !is_blank_line(recs, ix - 1, flags) &&
+ recs_match(recs, ixs - 1, ix - 1, flags)) {
+ rchg[--ixs] = 1;
+ rchg[--ix] = 0;
+ }
+ }
}
return 0;
diff --git a/xdiff/xemit.c b/xdiff/xemit.c
index 4266ada23f..993724b11c 100644
--- a/xdiff/xemit.c
+++ b/xdiff/xemit.c
@@ -120,21 +120,6 @@ static long def_ff(const char *rec, long len, char *buf, long sz, void *priv)
return -1;
}
-static int xdl_emit_common(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb,
- xdemitconf_t const *xecfg) {
- xdfile_t *xdf = &xe->xdf2;
- const char *rchg = xdf->rchg;
- long ix;
-
- for (ix = 0; ix < xdf->nrec; ix++) {
- if (rchg[ix])
- continue;
- if (xdl_emit_record(xdf, ix, "", ecb))
- return -1;
- }
- return 0;
-}
-
struct func_line {
long len;
char buf[80];
@@ -170,9 +155,6 @@ int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb,
long funclineprev = -1;
struct func_line func_line = { 0 };
- if (xecfg->flags & XDL_EMIT_COMMON)
- return xdl_emit_common(xe, xscr, ecb, xecfg);
-
for (xch = xscr; xch; xch = xche->next) {
xche = xdl_get_hunk(&xch, xecfg);
if (!xch)
diff --git a/xdiff/xmerge.c b/xdiff/xmerge.c
index d98f430c91..f338ad6c75 100644
--- a/xdiff/xmerge.c
+++ b/xdiff/xmerge.c
@@ -641,8 +641,11 @@ int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2,
result->ptr = NULL;
result->size = 0;
- if (xdl_do_diff(orig, mf1, xpp, &xe1) < 0 ||
- xdl_do_diff(orig, mf2, xpp, &xe2) < 0) {
+ if (xdl_do_diff(orig, mf1, xpp, &xe1) < 0) {
+ return -1;
+ }
+ if (xdl_do_diff(orig, mf2, xpp, &xe2) < 0) {
+ xdl_free_env(&xe1);
return -1;
}
if (xdl_change_compact(&xe1.xdf1, &xe1.xdf2, xpp->flags) < 0 ||
@@ -654,6 +657,8 @@ int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2,
if (xdl_change_compact(&xe2.xdf1, &xe2.xdf2, xpp->flags) < 0 ||
xdl_change_compact(&xe2.xdf2, &xe2.xdf1, xpp->flags) < 0 ||
xdl_build_script(&xe2, &xscr2) < 0) {
+ xdl_free_script(xscr1);
+ xdl_free_env(&xe1);
xdl_free_env(&xe2);
return -1;
}
diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c
index 63a22c630e..13b55aba74 100644
--- a/xdiff/xprepare.c
+++ b/xdiff/xprepare.c
@@ -301,10 +301,11 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
xdl_free_ctx(&xe->xdf2);
xdl_free_ctx(&xe->xdf1);
+ xdl_free_classifier(&cf);
return -1;
}
- if (!(xpp->flags & XDF_HISTOGRAM_DIFF))
+ if (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF)
xdl_free_classifier(&cf);
return 0;