aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/l10n.yml4
-rw-r--r--.github/workflows/main.yml60
-rw-r--r--.gitignore1
-rw-r--r--.mailmap1
-rw-r--r--Documentation/Makefile12
-rw-r--r--Documentation/RelNotes/2.38.2.txt7
-rw-r--r--Documentation/RelNotes/2.39.0.txt37
-rw-r--r--Documentation/RelNotes/2.40.0.txt37
-rw-r--r--Documentation/git-merge-tree.txt16
-rw-r--r--Documentation/git-revert.txt2
-rw-r--r--Documentation/git-var.txt3
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--Makefile3
l---------RelNotes2
-rw-r--r--add-interactive.c8
-rw-r--r--add-patch.c3
-rw-r--r--builtin.h2
-rw-r--r--builtin/add.c23
-rw-r--r--builtin/am.c25
-rw-r--r--builtin/bisect.c (renamed from builtin/bisect--helper.c)126
-rw-r--r--builtin/bugreport.c9
-rw-r--r--builtin/cat-file.c2
-rw-r--r--builtin/check-attr.c4
-rw-r--r--builtin/check-ignore.c4
-rw-r--r--builtin/checkout-index.c19
-rw-r--r--builtin/checkout.c69
-rw-r--r--builtin/clean.c6
-rw-r--r--builtin/clone.c4
-rw-r--r--builtin/commit.c73
-rw-r--r--builtin/config.c42
-rw-r--r--builtin/describe.c7
-rw-r--r--builtin/diff-files.c5
-rw-r--r--builtin/diff-index.c9
-rw-r--r--builtin/diff-tree.c4
-rw-r--r--builtin/diff.c27
-rw-r--r--builtin/difftool.c2
-rw-r--r--builtin/fsck.c16
-rw-r--r--builtin/fsmonitor--daemon.c6
-rw-r--r--builtin/grep.c1
-rw-r--r--builtin/log.c1
-rw-r--r--builtin/ls-files.c1
-rw-r--r--builtin/merge-index.c16
-rw-r--r--builtin/merge-ours.c3
-rw-r--r--builtin/merge-tree.c67
-rw-r--r--builtin/merge.c33
-rw-r--r--builtin/mv.c41
-rw-r--r--builtin/pack-objects.c27
-rw-r--r--builtin/prune.c4
-rw-r--r--builtin/pull.c6
-rw-r--r--builtin/range-diff.c2
-rw-r--r--builtin/read-tree.c12
-rw-r--r--builtin/rebase.c10
-rw-r--r--builtin/repack.c2
-rw-r--r--builtin/reset.c22
-rw-r--r--builtin/rev-parse.c5
-rw-r--r--builtin/revert.c6
-rw-r--r--builtin/rm.c26
-rw-r--r--builtin/stash.c45
-rw-r--r--builtin/submodule--helper.c28
-rw-r--r--builtin/unpack-file.c1
-rw-r--r--builtin/update-index.c91
-rw-r--r--builtin/var.c29
-rw-r--r--builtin/worktree.c7
-rw-r--r--cache.h36
-rwxr-xr-xci/install-dependencies.sh14
-rwxr-xr-xci/lib.sh13
-rw-r--r--compat/fsmonitor/fsm-darwin-gcc.h4
-rw-r--r--compat/fsmonitor/fsm-listen-darwin.c35
-rw-r--r--config.c24
-rw-r--r--connected.c6
-rw-r--r--contrib/coccinelle/index-compatibility.cocci139
-rw-r--r--contrib/coccinelle/index-compatibility.pending.cocci24
-rw-r--r--contrib/completion/git-completion.bash26
-rw-r--r--contrib/git-jump/README10
-rwxr-xr-xcontrib/git-jump/git-jump45
-rw-r--r--diff-no-index.c3
-rw-r--r--diff.c36
-rw-r--r--diff.h2
-rw-r--r--diffcore.h1
-rw-r--r--dir.c10
-rw-r--r--dir.h1
-rwxr-xr-xgit-bisect.sh67
-rw-r--r--git-compat-util.h17
-rw-r--r--git-gui/Makefile2
-rw-r--r--git.c2
-rw-r--r--line-log.c7
-rw-r--r--list-objects-filter-options.c4
-rw-r--r--list-objects-filter-options.h18
-rw-r--r--list-objects-filter.c2
-rw-r--r--merge-recursive.c2
-rw-r--r--object-file.c26
-rw-r--r--object.c5
-rw-r--r--pack-bitmap.c39
-rw-r--r--po/bg.po856
-rw-r--r--po/ca.po958
-rw-r--r--po/de.po814
-rw-r--r--po/fr.po927
-rw-r--r--po/id.po1048
-rw-r--r--po/sv.po766
-rw-r--r--po/tr.po848
-rw-r--r--po/zh_CN.po853
-rw-r--r--po/zh_TW.po2161
-rw-r--r--read-cache.c9
-rw-r--r--ref-filter.c1
-rw-r--r--repository.c2
-rw-r--r--revision.c1
-rw-r--r--run-command.c2
-rw-r--r--sequencer.c16
-rw-r--r--shared.mak4
-rwxr-xr-xt/chainlint.pl2
-rw-r--r--t/helper/test-cache-tree.c3
-rw-r--r--t/helper/test-dump-cache-tree.c5
-rw-r--r--t/helper/test-dump-split-index.c1
-rw-r--r--t/helper/test-dump-untracked-cache.c4
-rw-r--r--t/helper/test-fake-ssh.c1
-rw-r--r--t/helper/test-fast-rebase.c4
-rw-r--r--t/helper/test-lazy-init-name-hash.c21
-rw-r--r--t/helper/test-read-cache.c5
-rw-r--r--t/helper/test-scrap-cache-tree.c9
-rw-r--r--t/helper/test-tool.h1
-rw-r--r--t/helper/test-write-cache.c6
-rw-r--r--t/lib-httpd.sh3
-rwxr-xr-xt/t0007-git-var.sh62
-rwxr-xr-xt/t0021-conversion.sh4
-rwxr-xr-xt/t0040-parse-options.sh12
-rwxr-xr-xt/t0068-for-each-repo.sh1
-rwxr-xr-xt/t0070-fundamental.sh1
-rwxr-xr-xt/t0211-trace2-perf.sh4
-rwxr-xr-xt/t1011-read-tree-sparse-checkout.sh1
-rwxr-xr-xt/t1022-read-tree-partial-clone.sh2
-rwxr-xr-xt/t1050-large.sh6
-rwxr-xr-xt/t1300-config.sh6
-rwxr-xr-xt/t1404-update-ref-errors.sh2
-rwxr-xr-xt/t1409-avoid-packing-refs.sh1
-rwxr-xr-xt/t1413-reflog-detach.sh1
-rwxr-xr-xt/t1501-work-tree.sh2
-rwxr-xr-xt/t2012-checkout-last.sh1
-rwxr-xr-xt/t2018-checkout-branch.sh1
-rwxr-xr-xt/t2025-checkout-no-overlay.sh1
-rwxr-xr-xt/t3009-ls-files-others-nonsubmodule.sh1
-rwxr-xr-xt/t3010-ls-files-killed-modified.sh2
-rwxr-xr-xt/t3050-subprojects-fetch.sh1
-rwxr-xr-xt/t3060-ls-files-with-tree.sh2
-rwxr-xr-xt/t3409-rebase-environ.sh1
-rwxr-xr-xt/t3413-rebase-hook.sh1
-rwxr-xr-xt/t3428-rebase-signoff.sh1
-rwxr-xr-xt/t3429-rebase-edit-todo.sh1
-rwxr-xr-xt/t3433-rebase-across-mode-change.sh1
-rwxr-xr-xt/t3920-crlf-messages.sh2
-rwxr-xr-xt/t4015-diff-whitespace.sh4
-rwxr-xr-xt/t4023-diff-rename-typechange.sh12
-rwxr-xr-xt/t4045-diff-relative.sh2
-rwxr-xr-xt/t4052-stat-output.sh1
-rwxr-xr-xt/t4053-diff-no-index.sh1
-rwxr-xr-xt/t4067-diff-partial-clone.sh1
-rwxr-xr-xt/t4111-apply-subdir.sh1
-rwxr-xr-xt/t4135-apply-weird-filenames.sh1
-rwxr-xr-xt/t4205-log-pretty-formats.sh2
-rwxr-xr-xt/t4213-log-tabexpand.sh1
-rwxr-xr-xt/t4301-merge-tree-write-tree.sh62
-rwxr-xr-xt/t5304-prune.sh8
-rwxr-xr-xt/t5310-pack-bitmaps.sh5
-rwxr-xr-xt/t5314-pack-cycle-detection.sh17
-rwxr-xr-xt/t5317-pack-objects-filter-objects.sh90
-rwxr-xr-xt/t5516-fetch-push.sh6
-rwxr-xr-xt/t5544-pack-objects-hook.sh2
-rwxr-xr-xt/t5554-noop-fetch-negotiator.sh2
-rwxr-xr-xt/t5610-clone-detached.sh1
-rwxr-xr-xt/t5611-clone-config.sh1
-rwxr-xr-xt/t5614-clone-submodules-shallow.sh1
-rwxr-xr-xt/t5617-clone-submodules-remote.sh1
-rwxr-xr-xt/t5618-alternate-refs.sh2
-rwxr-xr-xt/t6030-bisect-porcelain.sh148
-rwxr-xr-xt/t6060-merge-index.sh2
-rwxr-xr-xt/t6102-rev-list-unexpected-objects.sh4
-rwxr-xr-xt/t6301-for-each-ref-errors.sh1
-rwxr-xr-xt/t6401-merge-criss-cross.sh2
-rwxr-xr-xt/t6406-merge-attr.sh1
-rwxr-xr-xt/t6407-merge-binary.sh1
-rwxr-xr-xt/t6415-merge-dir-to-symlink.sh1
-rwxr-xr-xt/t6435-merge-sparse.sh1
-rwxr-xr-xt/t7103-reset-bare.sh2
-rwxr-xr-xt/t7504-commit-msg-hook.sh1
-rwxr-xr-xt/t7517-per-repo-email.sh1
-rwxr-xr-xt/t7520-ignored-hook-warning.sh1
-rwxr-xr-xt/t7600-merge.sh2
-rwxr-xr-xt/t7605-merge-resolve.sh1
-rwxr-xr-xt/t7614-merge-signoff.sh1
-rwxr-xr-xt/t7700-repack.sh16
-rwxr-xr-xt/t9003-help-autocorrect.sh2
-rwxr-xr-xt/t9115-git-svn-dcommit-funky-renames.sh1
-rwxr-xr-xt/t9146-git-svn-empty-dirs.sh1
-rwxr-xr-xt/t9148-git-svn-propset.sh1
-rwxr-xr-xt/t9160-git-svn-preserve-empty-dirs.sh1
-rwxr-xr-xt/t9902-completion.sh30
195 files changed, 7161 insertions, 4525 deletions
diff --git a/.github/workflows/l10n.yml b/.github/workflows/l10n.yml
index 27f72f0ff3..f7ea0f00a4 100644
--- a/.github/workflows/l10n.yml
+++ b/.github/workflows/l10n.yml
@@ -23,8 +23,8 @@ jobs:
base=${{ github.event.before }}
head=${{ github.event.after }}
fi
- echo "::set-output name=base::$base"
- echo "::set-output name=head::$head"
+ echo base=$base >>$GITHUB_OUTPUT
+ echo head=$head >>$GITHUB_OUTPUT
- name: Run partial clone
run: |
git -c init.defaultBranch=master init --bare .
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 592f9193a8..e67847a682 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -34,7 +34,7 @@ jobs:
then
enabled=no
fi
- echo "::set-output name=enabled::$enabled"
+ echo "enabled=$enabled" >>$GITHUB_OUTPUT
- name: skip if the commit or tree was already tested
id: skip-if-redundant
uses: actions/github-script@v6
@@ -83,7 +83,7 @@ jobs:
if: needs.ci-config.outputs.enabled == 'yes'
runs-on: windows-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- uses: git-for-windows/setup-git-for-windows-sdk@v1
- name: build
shell: bash
@@ -94,7 +94,7 @@ jobs:
- name: zip up tracked files
run: git archive -o artifacts/tracked.tar.gz HEAD
- name: upload tracked files and build artifacts
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: windows-artifacts
path: artifacts
@@ -108,7 +108,7 @@ jobs:
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
steps:
- name: download tracked files and build artifacts
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v3
with:
name: windows-artifacts
path: ${{github.workspace}}
@@ -125,7 +125,7 @@ jobs:
run: ci/print-test-failures.sh
- name: Upload failed tests' directories
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: failed-tests-windows
path: ${{env.FAILED_TEST_ARTIFACTS}}
@@ -138,10 +138,10 @@ jobs:
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
runs-on: windows-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- uses: git-for-windows/setup-git-for-windows-sdk@v1
- name: initialize vcpkg
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
repository: 'microsoft/vcpkg'
path: 'compat/vcbuild/vcpkg'
@@ -177,7 +177,7 @@ jobs:
- name: zip up tracked files
run: git archive -o artifacts/tracked.tar.gz HEAD
- name: upload tracked files and build artifacts
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: vs-artifacts
path: artifacts
@@ -192,7 +192,7 @@ jobs:
steps:
- uses: git-for-windows/setup-git-for-windows-sdk@v1
- name: download tracked files and build artifacts
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v3
with:
name: vs-artifacts
path: ${{github.workspace}}
@@ -210,7 +210,7 @@ jobs:
run: ci/print-test-failures.sh
- name: Upload failed tests' directories
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: failed-tests-windows
path: ${{env.FAILED_TEST_ARTIFACTS}}
@@ -227,24 +227,22 @@ jobs:
pool: ubuntu-latest
- jobname: linux-sha256
cc: clang
- os: ubuntu
pool: ubuntu-latest
- jobname: linux-gcc
cc: gcc
cc_package: gcc-8
- pool: ubuntu-latest
+ pool: ubuntu-20.04
- jobname: linux-TEST-vars
cc: gcc
- os: ubuntu
cc_package: gcc-8
- pool: ubuntu-latest
+ pool: ubuntu-20.04
- jobname: osx-clang
cc: clang
- pool: macos-latest
+ pool: macos-12
- jobname: osx-gcc
cc: gcc
cc_package: gcc-9
- pool: macos-latest
+ pool: macos-12
- jobname: linux-gcc-default
cc: gcc
pool: ubuntu-latest
@@ -264,16 +262,14 @@ jobs:
runs_on_pool: ${{matrix.vector.pool}}
runs-on: ${{matrix.vector.pool}}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- run: ci/install-dependencies.sh
- run: ci/run-build-and-tests.sh
- - name: print test failures
+ - run: ci/print-test-failures.sh
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
- shell: bash
- run: ci/print-test-failures.sh
- name: Upload failed tests' directories
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: failed-tests-${{matrix.vector.jobname}}
path: ${{env.FAILED_TEST_ARTIFACTS}}
@@ -288,7 +284,6 @@ jobs:
- jobname: linux-musl
image: alpine
- jobname: linux32
- os: ubuntu32
image: daald/ubuntu32:xenial
- jobname: pedantic
image: fedora
@@ -297,15 +292,22 @@ jobs:
runs-on: ubuntu-latest
container: ${{matrix.vector.image}}
steps:
+ - uses: actions/checkout@v3
+ if: matrix.vector.jobname != 'linux32'
- uses: actions/checkout@v1
+ if: matrix.vector.jobname == 'linux32'
- run: ci/install-docker-dependencies.sh
- run: ci/run-build-and-tests.sh
- - name: print test failures
+ - run: ci/print-test-failures.sh
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
- shell: bash
- run: ci/print-test-failures.sh
- name: Upload failed tests' directories
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
+ if: failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname != 'linux32'
+ uses: actions/upload-artifact@v3
+ with:
+ name: failed-tests-${{matrix.vector.jobname}}
+ path: ${{env.FAILED_TEST_ARTIFACTS}}
+ - name: Upload failed tests' directories
+ if: failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname == 'linux32'
uses: actions/upload-artifact@v1
with:
name: failed-tests-${{matrix.vector.jobname}}
@@ -317,7 +319,7 @@ jobs:
jobname: StaticAnalysis
runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- run: ci/install-dependencies.sh
- run: ci/run-static-analysis.sh
- run: ci/check-directional-formatting.bash
@@ -337,7 +339,7 @@ jobs:
artifact: sparse-20.04
- name: Install the current `sparse` package
run: sudo dpkg -i sparse-20.04/sparse_*.deb
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install other dependencies
run: ci/install-dependencies.sh
- run: make sparse
@@ -349,6 +351,6 @@ jobs:
jobname: Documentation
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- run: ci/install-dependencies.sh
- run: ci/test-documentation.sh
diff --git a/.gitignore b/.gitignore
index 0832f1da77..e942a83b45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,7 +21,6 @@
/git-archimport
/git-archive
/git-bisect
-/git-bisect--helper
/git-blame
/git-branch
/git-bugreport
diff --git a/.mailmap b/.mailmap
index 07db36a9bb..95aaa1c833 100644
--- a/.mailmap
+++ b/.mailmap
@@ -165,6 +165,7 @@ Mark Rada <marada@uwaterloo.ca>
Martin Langhoff <martin@laptop.org> <martin@catalyst.net.nz>
Martin von Zweigbergk <martinvonz@gmail.com> <martin.von.zweigbergk@gmail.com>
Masaya Suzuki <masayasuzuki@google.com> <draftcode@gmail.com>
+Matheus Tavares <matheus.tavb@gmail.com> <matheus.bernardino@usp.br>
Matt Draisey <matt@draisey.ca> <mattdraisey@sympatico.ca>
Matt Kraai <kraai@ftbfs.org> <matt.kraai@amo.abbott.com>
Matt McCutchen <matt@mattmccutchen.net> <hashproduct@gmail.com>
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 5e1a7f655c..9c67c3a1c5 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -351,8 +351,16 @@ $(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS)
manpage-base-url.xsl: manpage-base-url.xsl.in
$(QUIET_GEN)sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
-%.1 %.5 %.7 : %.xml manpage-base-url.xsl $(wildcard manpage*.xsl)
- $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
+
+manpage-prereqs := manpage-base-url.xsl $(wildcard manpage*.xsl)
+manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
+
+%.1 : %.xml $(manpage-prereqs)
+ $(manpage-cmd)
+%.5 : %.xml $(manpage-prereqs)
+ $(manpage-cmd)
+%.7 : %.xml $(manpage-prereqs)
+ $(manpage-cmd)
%.xml : %.txt $(ASCIIDOC_DEPS)
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $<
diff --git a/Documentation/RelNotes/2.38.2.txt b/Documentation/RelNotes/2.38.2.txt
index 086b900f6c..92acb62bbb 100644
--- a/Documentation/RelNotes/2.38.2.txt
+++ b/Documentation/RelNotes/2.38.2.txt
@@ -57,4 +57,11 @@ Fixes since v2.38.1
* "git branch --edit-description" on an unborh branch misleadingly
said that no such branch exists, which has been corrected.
+ * GitHub CI settings have been adjusted to recent reality, merging
+ and cherry-picking necessary topics that have been prepared for Git
+ 2.39.
+
+ * `git rebase --update-refs` would delete references when all `update-ref`
+ commands in the sequencer were removed, which has been corrected.
+
Also contains various documentation updates and code clean-ups.
diff --git a/Documentation/RelNotes/2.39.0.txt b/Documentation/RelNotes/2.39.0.txt
index bea9260cda..9bf00ece53 100644
--- a/Documentation/RelNotes/2.39.0.txt
+++ b/Documentation/RelNotes/2.39.0.txt
@@ -153,6 +153,13 @@ Performance, Internal Implementation, Development Support etc.
* "make coccicheck" is time consuming. It has been made to run more
incrementally.
+ * `parse_object()` has been hardened to check for the existence of a
+ suspected blob object.
+
+ * The build procedure has been adjusted to GNUmake version 4.4, which
+ made some changes to how pattern rule with multiple targets are
+ handled.
+
Fixes since v2.38
-----------------
@@ -207,7 +214,7 @@ Fixes since v2.38
* Clarify that "the sentence after <area>: prefix does not begin with
a capital letter" rule applies only to the commit title.
- * "git branch --edit-description" on an unborh branch misleadingly
+ * "git branch --edit-description" on an unborn branch misleadingly
said that no such branch exists, which has been corrected.
* Work around older clang that warns against C99 zero initialization
@@ -282,7 +289,7 @@ Fixes since v2.38
option now implies --reapply-cherry-picks and --no-fork-point
options.
- * The way "git repack" creared temporary files when it received a
+ * The way "git repack" created temporary files when it received a
signal was prone to deadlocking, which has been corrected.
* Various tests exercising the transfer.credentialsInUrl
@@ -308,6 +315,32 @@ Fixes since v2.38
* Correct an error where `git rebase` would mistakenly use a branch or
tag named "refs/rewritten/xyz" when missing a rebase label.
+ * Assorted fixes of parsing end-user input as integers.
+ (merge 14770cf0de pw/config-int-parse-fixes later to maint).
+
+ * "git prune" may try to iterate over .git/objects/pack for trash
+ files to remove in it, and loudly fail when the directory is
+ missing, which is not necessary. The command has been taught to
+ ignore such a failure.
+ (merge 6974765352 ew/prune-with-missing-objects-pack later to maint).
+
+ * Add one more candidate directory that may house httpd modules while
+ running tests.
+ (merge 1c7dc23d41 es/locate-httpd-module-location-in-test later to maint).
+
+ * A handful of leaks in the line-log machinery have been plugged.
+
+ * The format of a line in /proc/cpuinfo that describes a CPU on s390x
+ looked different from everybody else, and the code in chainlint.pl
+ failed to parse it.
+ (merge 1f51b77f4f ah/chainlint-cpuinfo-parse-fix later to maint).
+
+ * Adjust the GitHub CI to newer ubuntu release.
+ (merge 0d3507f3e7 jx/ci-ubuntu-fix later to maint).
+
* Other code cleanup, docfix, build fix, etc.
(merge 413bc6d20a ds/cmd-main-reorder later to maint).
(merge 8d2863e4ed nw/t1002-cleanup later to maint).
+ (merge 7c2dc122f9 rs/list-objects-filter-leakfix later to maint).
+ (merge 288fcb1c94 zk/push-use-bitmaps later to maint).
+ (merge 42db324c0f km/merge-recursive-typofix later to maint).
diff --git a/Documentation/RelNotes/2.40.0.txt b/Documentation/RelNotes/2.40.0.txt
new file mode 100644
index 0000000000..669a03518b
--- /dev/null
+++ b/Documentation/RelNotes/2.40.0.txt
@@ -0,0 +1,37 @@
+Git v2.40 Release Notes
+=======================
+
+UI, Workflows & Features
+
+ * "merge-tree" learns a new `--merge-base` option.
+
+ * "git jump" (in contrib/) learned to present the "quickfix list" to
+ its standard output (instead of letting it consumed by the editor
+ it invokes), and learned to also drive emacs/emacsclient.
+
+ * "git var UNKNOWN_VARIABLE" and "git var VARIABLE" with the variable
+ given an empty value used to behave identically. Now the latter
+ just gives an empty output, while the former still gives an error
+ message.
+
+
+Performance, Internal Implementation, Development Support etc.
+
+ * `git bisect` becomes a builtin.
+
+ * The pack-bitmap machinery is taught to log the paths of redundant
+ bitmap(s) to trace2 instead of stderr.
+
+
+
+Fixes since v2.39
+-----------------
+
+ * Various leak fixes.
+ (merge ac95f5d36a ab/various-leak-fixes later to maint).
+
+ * Fix a bug where `pack-objects` would not respect multiple `--filter`
+ arguments when invoked directly.
+ (merge d4f7036887 rs/multi-filter-args later to maint).
+
+ * Other code cleanup, docfix, build fix, etc.
diff --git a/Documentation/git-merge-tree.txt b/Documentation/git-merge-tree.txt
index 04bcc416e6..88ee942101 100644
--- a/Documentation/git-merge-tree.txt
+++ b/Documentation/git-merge-tree.txt
@@ -64,6 +64,11 @@ OPTIONS
share no common history. This flag can be given to override that
check and make the merge proceed anyway.
+--merge-base=<commit>::
+ Instead of finding the merge-bases for <branch1> and <branch2>,
+ specify a merge-base for the merge, and specifying multiple bases is
+ currently not supported. This option is incompatible with `--stdin`.
+
[[OUTPUT]]
OUTPUT
------
@@ -216,6 +221,17 @@ with linkgit:git-merge[1]:
* any messages that would have been printed to stdout (the
<<IM,Informational messages>>)
+INPUT FORMAT
+------------
+'git merge-tree --stdin' input format is fully text based. Each line
+has this format:
+
+ [<base-commit> -- ]<branch1> <branch2>
+
+If one line is separated by `--`, the string before the separator is
+used for specifying a merge-base for the merge and the string after
+the separator describes the branches to be merged.
+
MISTAKES TO AVOID
-----------------
diff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt
index 5016755efb..d2e10d3dce 100644
--- a/Documentation/git-revert.txt
+++ b/Documentation/git-revert.txt
@@ -8,7 +8,7 @@ git-revert - Revert some existing commits
SYNOPSIS
--------
[verse]
-'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>...
+'git revert' [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] <commit>...
'git revert' (--continue | --skip | --abort | --quit)
DESCRIPTION
diff --git a/Documentation/git-var.txt b/Documentation/git-var.txt
index 6aa521fab2..0ab5bfa7d7 100644
--- a/Documentation/git-var.txt
+++ b/Documentation/git-var.txt
@@ -13,7 +13,8 @@ SYNOPSIS
DESCRIPTION
-----------
-Prints a Git logical variable.
+Prints a Git logical variable. Exits with code 1 if the variable has
+no value.
OPTIONS
-------
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 5127f181b0..c4c2d3e022 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
-DEF_VER=v2.39.0-rc0
+DEF_VER=v2.39.GIT
LF='
'
diff --git a/Makefile b/Makefile
index b258fdbed8..0f7d7ab1fd 100644
--- a/Makefile
+++ b/Makefile
@@ -691,7 +691,6 @@ THIRD_PARTY_SOURCES =
# interactive shell sessions without exporting it.
unexport CDPATH
-SCRIPT_SH += git-bisect.sh
SCRIPT_SH += git-difftool--helper.sh
SCRIPT_SH += git-filter-branch.sh
SCRIPT_SH += git-merge-octopus.sh
@@ -1202,7 +1201,7 @@ BUILTIN_OBJS += builtin/am.o
BUILTIN_OBJS += builtin/annotate.o
BUILTIN_OBJS += builtin/apply.o
BUILTIN_OBJS += builtin/archive.o
-BUILTIN_OBJS += builtin/bisect--helper.o
+BUILTIN_OBJS += builtin/bisect.o
BUILTIN_OBJS += builtin/blame.o
BUILTIN_OBJS += builtin/branch.o
BUILTIN_OBJS += builtin/bugreport.o
diff --git a/RelNotes b/RelNotes
index 758368388a..47807bf257 120000
--- a/RelNotes
+++ b/RelNotes
@@ -1 +1 @@
-Documentation/RelNotes/2.39.0.txt \ No newline at end of file
+Documentation/RelNotes/2.40.0.txt \ No newline at end of file
diff --git a/add-interactive.c b/add-interactive.c
index ecc5ae1b24..ae1839c04a 100644
--- a/add-interactive.c
+++ b/add-interactive.c
@@ -530,8 +530,8 @@ static int get_modified_files(struct repository *r,
struct collection_status s = { 0 };
int i;
- if (discard_index(r->index) < 0 ||
- repo_read_index_preload(r, ps, 0) < 0)
+ discard_index(r->index);
+ if (repo_read_index_preload(r, ps, 0) < 0)
return error(_("could not read index"));
prefix_item_list_clear(files);
@@ -1156,8 +1156,8 @@ int run_add_i(struct repository *r, const struct pathspec *ps)
_("staged"), _("unstaged"), _("path"));
opts.list_opts.header = header.buf;
- if (discard_index(r->index) < 0 ||
- repo_read_index(r) < 0 ||
+ discard_index(r->index);
+ if (repo_read_index(r) < 0 ||
repo_refresh_and_write_index(r, REFRESH_QUIET, 0, 1,
NULL, NULL, NULL) < 0)
warning(_("could not refresh index"));
diff --git a/add-patch.c b/add-patch.c
index 33ecd8398a..a86a92e164 100644
--- a/add-patch.c
+++ b/add-patch.c
@@ -1750,7 +1750,8 @@ int run_add_p(struct repository *r, enum add_p_mode mode,
s.mode = &patch_mode_add;
s.revision = revision;
- if (discard_index(r->index) < 0 || repo_read_index(r) < 0 ||
+ discard_index(r->index);
+ if (repo_read_index(r) < 0 ||
(!s.mode->index_only &&
repo_refresh_and_write_index(r, REFRESH_QUIET, 0, 1,
NULL, NULL, NULL) < 0) ||
diff --git a/builtin.h b/builtin.h
index 8901a34d6b..aa955466b4 100644
--- a/builtin.h
+++ b/builtin.h
@@ -116,7 +116,7 @@ int cmd_am(int argc, const char **argv, const char *prefix);
int cmd_annotate(int argc, const char **argv, const char *prefix);
int cmd_apply(int argc, const char **argv, const char *prefix);
int cmd_archive(int argc, const char **argv, const char *prefix);
-int cmd_bisect__helper(int argc, const char **argv, const char *prefix);
+int cmd_bisect(int argc, const char **argv, const char *prefix);
int cmd_blame(int argc, const char **argv, const char *prefix);
int cmd_branch(int argc, const char **argv, const char *prefix);
int cmd_bugreport(int argc, const char **argv, const char *prefix);
diff --git a/builtin/add.c b/builtin/add.c
index 626c71ec6a..2c154cc347 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 2006 Linus Torvalds
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "builtin.h"
@@ -42,8 +42,8 @@ static int chmod_pathspec(struct pathspec *pathspec, char flip, int show_only)
{
int i, ret = 0;
- for (i = 0; i < active_nr; i++) {
- struct cache_entry *ce = active_cache[i];
+ for (i = 0; i < the_index.cache_nr; i++) {
+ struct cache_entry *ce = the_index.cache[i];
int err;
if (!include_sparse &&
@@ -55,7 +55,7 @@ static int chmod_pathspec(struct pathspec *pathspec, char flip, int show_only)
continue;
if (!show_only)
- err = chmod_cache_entry(ce, flip);
+ err = chmod_index_entry(&the_index, ce, flip);
else
err = S_ISREG(ce->ce_mode) ? 0 : -1;
@@ -159,8 +159,8 @@ static int renormalize_tracked_files(const struct pathspec *pathspec, int flags)
{
int i, retval = 0;
- for (i = 0; i < active_nr; i++) {
- struct cache_entry *ce = active_cache[i];
+ for (i = 0; i < the_index.cache_nr; i++) {
+ struct cache_entry *ce = the_index.cache[i];
if (!include_sparse &&
(ce_skip_worktree(ce) ||
@@ -172,7 +172,8 @@ static int renormalize_tracked_files(const struct pathspec *pathspec, int flags)
continue; /* do not touch non blobs */
if (pathspec && !ce_path_match(&the_index, ce, pathspec, NULL))
continue;
- retval |= add_file_to_cache(ce->name, flags | ADD_CACHE_RENORMALIZE);
+ retval |= add_file_to_index(&the_index, ce->name,
+ flags | ADD_CACHE_RENORMALIZE);
}
return retval;
@@ -311,7 +312,7 @@ static int edit_patch(int argc, const char **argv, const char *prefix)
git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("Could not read the index"));
repo_init_revisions(the_repository, &rev, prefix);
@@ -543,7 +544,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
/*
* Check the "pathspec '%s' did not match any files" block
@@ -586,7 +587,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
(!(addremove || take_worktree_changes)
? ADD_CACHE_IGNORE_REMOVAL : 0));
- if (read_cache_preload(&pathspec) < 0)
+ if (repo_read_index_preload(the_repository, &pathspec, 0) < 0)
die(_("index file corrupt"));
die_in_unpopulated_submodule(&the_index, prefix);
@@ -694,6 +695,6 @@ finish:
die(_("Unable to write new index file"));
dir_clear(&dir);
- UNLEAK(pathspec);
+ clear_pathspec(&pathspec);
return exit_status;
}
diff --git a/builtin/am.c b/builtin/am.c
index 20aea0d248..30c9b3a9cd 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1519,8 +1519,8 @@ static int run_apply(const struct am_state *state, const char *index_file)
if (index_file) {
/* Reload index as apply_all_patches() will have modified it. */
- discard_cache();
- read_cache_from(index_file);
+ discard_index(&the_index);
+ read_index_from(&the_index, index_file, get_git_dir());
}
return 0;
@@ -1562,8 +1562,8 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
if (build_fake_ancestor(state, index_path))
return error("could not build fake ancestor");
- discard_cache();
- read_cache_from(index_path);
+ discard_index(&the_index);
+ read_index_from(&the_index, index_path, get_git_dir());
if (write_index_as_tree(&orig_tree, &the_index, index_path, 0, NULL))
return error(_("Repository lacks necessary blobs to fall back on 3-way merge."));
@@ -1596,8 +1596,8 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
say(state, stdout, _("Falling back to patching base and 3-way merge..."));
- discard_cache();
- read_cache();
+ discard_index(&the_index);
+ repo_read_index(the_repository);
/*
* This is not so wrong. Depending on which base we picked, orig_tree
@@ -1781,7 +1781,8 @@ static void am_run(struct am_state *state, int resume)
unlink(am_path(state, "dirtyindex"));
- if (refresh_and_write_cache(REFRESH_QUIET, 0, 0) < 0)
+ if (repo_refresh_and_write_index(the_repository, REFRESH_QUIET, 0, 0,
+ NULL, NULL, NULL) < 0)
die(_("unable to write index file"));
if (repo_index_has_changes(the_repository, NULL, &sb)) {
@@ -1930,7 +1931,7 @@ static void am_resolve(struct am_state *state, int allow_empty)
}
}
- if (unmerged_cache()) {
+ if (unmerged_index(&the_index)) {
printf_ln(_("You still have unmerged paths in your index.\n"
"You should 'git add' each file with resolved conflicts to mark them as such.\n"
"You might run `git rm` on a file to accept \"deleted by them\" for it."));
@@ -1967,9 +1968,9 @@ static int fast_forward_to(struct tree *head, struct tree *remote, int reset)
if (parse_tree(head) || parse_tree(remote))
return -1;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
- refresh_cache(REFRESH_QUIET);
+ refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
memset(&opts, 0, sizeof(opts));
opts.head_idx = 1;
@@ -2007,7 +2008,7 @@ static int merge_tree(struct tree *tree)
if (parse_tree(tree))
return -1;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
memset(&opts, 0, sizeof(opts));
opts.head_idx = 1;
@@ -2045,7 +2046,7 @@ static int clean_index(const struct object_id *head, const struct object_id *rem
if (!remote_tree)
return error(_("Could not parse object '%s'."), oid_to_hex(remote));
- read_cache_unmerged();
+ repo_read_index_unmerged(the_repository);
if (fast_forward_to(head_tree, head_tree, 1))
return -1;
diff --git a/builtin/bisect--helper.c b/builtin/bisect.c
index 6e41cbdb2d..cc9483e851 100644
--- a/builtin/bisect--helper.c
+++ b/builtin/bisect.c
@@ -20,18 +20,40 @@ static GIT_PATH_FUNC(git_path_bisect_names, "BISECT_NAMES")
static GIT_PATH_FUNC(git_path_bisect_first_parent, "BISECT_FIRST_PARENT")
static GIT_PATH_FUNC(git_path_bisect_run, "BISECT_RUN")
-static const char * const git_bisect_helper_usage[] = {
- N_("git bisect--helper --bisect-reset [<commit>]"),
- "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --term-new]",
- N_("git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}=<term>]"
- " [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<paths>...]"),
- "git bisect--helper --bisect-next",
- N_("git bisect--helper --bisect-state (bad|new) [<rev>]"),
- N_("git bisect--helper --bisect-state (good|old) [<rev>...]"),
- N_("git bisect--helper --bisect-replay <filename>"),
- N_("git bisect--helper --bisect-skip [(<rev>|<range>)...]"),
- "git bisect--helper --bisect-visualize",
- N_("git bisect--helper --bisect-run <cmd>..."),
+#define BUILTIN_GIT_BISECT_START_USAGE \
+ N_("git bisect start [--term-{new,bad}=<term> --term-{old,good}=<term>]" \
+ " [--no-checkout] [--first-parent] [<bad> [<good>...]] [--]" \
+ " [<pathspec>...]")
+#define BUILTIN_GIT_BISECT_STATE_USAGE \
+ N_("git bisect (good|bad) [<rev>...]")
+#define BUILTIN_GIT_BISECT_TERMS_USAGE \
+ "git bisect terms [--term-good | --term-bad]"
+#define BUILTIN_GIT_BISECT_SKIP_USAGE \
+ N_("git bisect skip [(<rev>|<range>)...]")
+#define BUILTIN_GIT_BISECT_NEXT_USAGE \
+ "git bisect next"
+#define BUILTIN_GIT_BISECT_RESET_USAGE \
+ N_("git bisect reset [<commit>]")
+#define BUILTIN_GIT_BISECT_VISUALIZE_USAGE \
+ "git bisect visualize"
+#define BUILTIN_GIT_BISECT_REPLAY_USAGE \
+ N_("git bisect replay <logfile>")
+#define BUILTIN_GIT_BISECT_LOG_USAGE \
+ "git bisect log"
+#define BUILTIN_GIT_BISECT_RUN_USAGE \
+ N_("git bisect run <cmd>...")
+
+static const char * const git_bisect_usage[] = {
+ BUILTIN_GIT_BISECT_START_USAGE,
+ BUILTIN_GIT_BISECT_STATE_USAGE,
+ BUILTIN_GIT_BISECT_TERMS_USAGE,
+ BUILTIN_GIT_BISECT_SKIP_USAGE,
+ BUILTIN_GIT_BISECT_NEXT_USAGE,
+ BUILTIN_GIT_BISECT_RESET_USAGE,
+ BUILTIN_GIT_BISECT_VISUALIZE_USAGE,
+ BUILTIN_GIT_BISECT_REPLAY_USAGE,
+ BUILTIN_GIT_BISECT_LOG_USAGE,
+ BUILTIN_GIT_BISECT_RUN_USAGE,
NULL
};
@@ -1191,13 +1213,13 @@ static int bisect_run(struct bisect_terms *terms, const char **argv, int argc)
if (bisect_next_check(terms, NULL))
return BISECT_FAILED;
- if (argc)
- sq_quote_argv(&command, argv);
- else {
+ if (!argc) {
error(_("bisect run failed: no command provided."));
return BISECT_FAILED;
}
+ sq_quote_argv(&command, argv);
+ strbuf_ltrim(&command);
while (1) {
res = do_bisect_run(command.buf);
@@ -1211,8 +1233,8 @@ static int bisect_run(struct bisect_terms *terms, const char **argv, int argc)
if (is_first_run && (res == 126 || res == 127)) {
int rc = verify_good(terms, command.buf);
is_first_run = 0;
- if (rc < 0) {
- error(_("unable to verify '%s' on good"
+ if (rc < 0 || 128 <= rc) {
+ error(_("unable to verify %s on good"
" revision"), command.buf);
res = BISECT_FAILED;
break;
@@ -1227,7 +1249,7 @@ static int bisect_run(struct bisect_terms *terms, const char **argv, int argc)
if (res < 0 || 128 <= res) {
error(_("bisect run failed: exit code %d from"
- " '%s' is < 0 or >= 128"), res, command.buf);
+ " %s is < 0 or >= 128"), res, command.buf);
break;
}
@@ -1261,14 +1283,14 @@ static int bisect_run(struct bisect_terms *terms, const char **argv, int argc)
if (res == BISECT_ONLY_SKIPPED_LEFT)
error(_("bisect run cannot continue any more"));
else if (res == BISECT_INTERNAL_SUCCESS_MERGE_BASE) {
- printf(_("bisect run success"));
+ puts(_("bisect run success"));
res = BISECT_OK;
} else if (res == BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND) {
- printf(_("bisect found first bad commit"));
+ puts(_("bisect found first bad commit"));
res = BISECT_OK;
} else if (res) {
- error(_("bisect run failed: 'git bisect--helper --bisect-state"
- " %s' exited with error code %d"), new_state, res);
+ error(_("bisect run failed: 'bisect-state %s'"
+ " exited with error code %d"), new_state, res);
} else {
continue;
}
@@ -1282,7 +1304,8 @@ static int bisect_run(struct bisect_terms *terms, const char **argv, int argc)
static int cmd_bisect__reset(int argc, const char **argv, const char *prefix UNUSED)
{
if (argc > 1)
- return error(_("--bisect-reset requires either no argument or a commit"));
+ return error(_("'%s' requires either no argument or a commit"),
+ "git bisect reset");
return bisect_reset(argc ? argv[0] : NULL);
}
@@ -1292,7 +1315,8 @@ static int cmd_bisect__terms(int argc, const char **argv, const char *prefix UNU
struct bisect_terms terms = { 0 };
if (argc > 1)
- return error(_("--bisect-terms requires 0 or 1 argument"));
+ return error(_("'%s' requires 0 or 1 argument"),
+ "git bisect terms");
res = bisect_terms(&terms, argc == 1 ? argv[0] : NULL);
free_terms(&terms);
return res;
@@ -1315,29 +1339,16 @@ static int cmd_bisect__next(int argc, const char **argv UNUSED, const char *pref
struct bisect_terms terms = { 0 };
if (argc)
- return error(_("--bisect-next requires 0 arguments"));
+ return error(_("'%s' requires 0 arguments"),
+ "git bisect next");
get_terms(&terms);
res = bisect_next(&terms, prefix);
free_terms(&terms);
return res;
}
-static int cmd_bisect__state(int argc, const char **argv, const char *prefix UNUSED)
+static int cmd_bisect__log(int argc UNUSED, const char **argv UNUSED, const char *prefix UNUSED)
{
- int res;
- struct bisect_terms terms = { 0 };
-
- set_terms(&terms, "bad", "good");
- get_terms(&terms);
- res = bisect_state(&terms, argv, argc);
- free_terms(&terms);
- return res;
-}
-
-static int cmd_bisect__log(int argc, const char **argv UNUSED, const char *prefix UNUSED)
-{
- if (argc)
- return error(_("--bisect-log requires 0 arguments"));
return bisect_log();
}
@@ -1383,14 +1394,14 @@ static int cmd_bisect__run(int argc, const char **argv, const char *prefix UNUSE
struct bisect_terms terms = { 0 };
if (!argc)
- return error(_("bisect run failed: no command provided."));
+ return error(_("'%s' failed: no command provided."), "git bisect run");
get_terms(&terms);
res = bisect_run(&terms, argv, argc);
free_terms(&terms);
return res;
}
-int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
+int cmd_bisect(int argc, const char **argv, const char *prefix)
{
int res = 0;
parse_opt_subcommand_fn *fn = NULL;
@@ -1399,7 +1410,6 @@ int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
OPT_SUBCOMMAND("terms", &fn, cmd_bisect__terms),
OPT_SUBCOMMAND("start", &fn, cmd_bisect__start),
OPT_SUBCOMMAND("next", &fn, cmd_bisect__next),
- OPT_SUBCOMMAND("state", &fn, cmd_bisect__state),
OPT_SUBCOMMAND("log", &fn, cmd_bisect__log),
OPT_SUBCOMMAND("replay", &fn, cmd_bisect__replay),
OPT_SUBCOMMAND("skip", &fn, cmd_bisect__skip),
@@ -1408,15 +1418,27 @@ int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
OPT_SUBCOMMAND("run", &fn, cmd_bisect__run),
OPT_END()
};
- argc = parse_options(argc, argv, prefix, options,
- git_bisect_helper_usage, 0);
-
- if (!fn)
- usage_with_options(git_bisect_helper_usage, options);
- argc--;
- argv++;
-
- res = fn(argc, argv, prefix);
+ argc = parse_options(argc, argv, prefix, options, git_bisect_usage,
+ PARSE_OPT_SUBCOMMAND_OPTIONAL);
+
+ if (!fn) {
+ struct bisect_terms terms = { 0 };
+
+ if (!argc)
+ usage_msg_opt(_("need a command"), git_bisect_usage, options);
+
+ set_terms(&terms, "bad", "good");
+ get_terms(&terms);
+ if (check_and_set_terms(&terms, argv[0]))
+ usage_msg_optf(_("unknown command: '%s'"), git_bisect_usage,
+ options, argv[0]);
+ res = bisect_state(&terms, argv, argc);
+ free_terms(&terms);
+ } else {
+ argc--;
+ argv++;
+ res = fn(argc, argv, prefix);
+ }
/*
* Handle early success
diff --git a/builtin/bugreport.c b/builtin/bugreport.c
index 96052541cb..5bc254be80 100644
--- a/builtin/bugreport.c
+++ b/builtin/bugreport.c
@@ -106,6 +106,7 @@ int cmd_bugreport(int argc, const char **argv, const char *prefix)
const char *user_relative_path = NULL;
char *prefixed_filename;
size_t output_path_len;
+ int ret;
const struct option bugreport_options[] = {
OPT_CALLBACK_F(0, "diagnose", &diagnose, N_("mode"),
@@ -182,7 +183,9 @@ int cmd_bugreport(int argc, const char **argv, const char *prefix)
user_relative_path);
free(prefixed_filename);
- UNLEAK(buffer);
- UNLEAK(report_path);
- return !!launch_editor(report_path.buf, NULL, NULL);
+ strbuf_release(&buffer);
+
+ ret = !!launch_editor(report_path.buf, NULL, NULL);
+ strbuf_release(&report_path);
+ return ret;
}
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index fa7bd89169..b3be58b1fb 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -3,7 +3,7 @@
*
* Copyright (C) Linus Torvalds, 2005
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "builtin.h"
diff --git a/builtin/check-attr.c b/builtin/check-attr.c
index dd83397786..0fef10eb6b 100644
--- a/builtin/check-attr.c
+++ b/builtin/check-attr.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "cache.h"
#include "config.h"
@@ -115,7 +115,7 @@ int cmd_check_attr(int argc, const char **argv, const char *prefix)
argc = parse_options(argc, argv, prefix, check_attr_options,
check_attr_usage, PARSE_OPT_KEEP_DASHDASH);
- if (read_cache() < 0) {
+ if (repo_read_index(the_repository) < 0) {
die("invalid cache");
}
diff --git a/builtin/check-ignore.c b/builtin/check-ignore.c
index 2191256965..ab776061c7 100644
--- a/builtin/check-ignore.c
+++ b/builtin/check-ignore.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "cache.h"
#include "config.h"
@@ -179,7 +179,7 @@ int cmd_check_ignore(int argc, const char **argv, const char *prefix)
die(_("--non-matching is only valid with --verbose"));
/* read_cache() is only necessary so we can watch out for submodules. */
- if (!no_index && read_cache() < 0)
+ if (!no_index && repo_read_index(the_repository) < 0)
die(_("index file corrupt"));
setup_standard_excludes(&dir);
diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c
index 97e06e8c52..cf6fba97ba 100644
--- a/builtin/checkout-index.c
+++ b/builtin/checkout-index.c
@@ -4,7 +4,7 @@
* Copyright (C) 2005 Linus Torvalds
*
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "config.h"
#include "dir.h"
@@ -65,7 +65,7 @@ static void write_tempfile_record(const char *name, const char *prefix)
static int checkout_file(const char *name, const char *prefix)
{
int namelen = strlen(name);
- int pos = cache_name_pos(name, namelen);
+ int pos = index_name_pos(&the_index, name, namelen);
int has_same_name = 0;
int is_file = 0;
int is_skipped = 1;
@@ -75,8 +75,8 @@ static int checkout_file(const char *name, const char *prefix)
if (pos < 0)
pos = -pos - 1;
- while (pos < active_nr) {
- struct cache_entry *ce = active_cache[pos];
+ while (pos < the_index.cache_nr) {
+ struct cache_entry *ce = the_index.cache[pos];
if (ce_namelen(ce) != namelen ||
memcmp(ce->name, name, namelen))
break;
@@ -136,8 +136,8 @@ static int checkout_all(const char *prefix, int prefix_length)
int i, errs = 0;
struct cache_entry *last_ce = NULL;
- for (i = 0; i < active_nr ; i++) {
- struct cache_entry *ce = active_cache[i];
+ for (i = 0; i < the_index.cache_nr ; i++) {
+ struct cache_entry *ce = the_index.cache[i];
if (S_ISSPARSEDIR(ce->ce_mode)) {
if (!ce_skip_worktree(ce))
@@ -151,7 +151,7 @@ static int checkout_all(const char *prefix, int prefix_length)
*/
if (ignore_skip_worktree) {
ensure_full_index(&the_index);
- ce = active_cache[i];
+ ce = the_index.cache[i];
}
}
@@ -249,7 +249,7 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix)
prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;
- if (read_cache() < 0) {
+ if (repo_read_index(the_repository) < 0) {
die("invalid cache");
}
@@ -270,7 +270,8 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix)
if (index_opt && !state.base_dir_len && !to_tempfile) {
state.refresh_cache = 1;
state.istate = &the_index;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file,
+ LOCK_DIE_ON_ERROR);
}
get_parallel_checkout_configs(&pc_workers, &pc_threshold);
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 2a132392fb..a0142c815f 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "advice.h"
#include "blob.h"
@@ -148,9 +148,9 @@ static int update_some(const struct object_id *oid, struct strbuf *base,
* entry in place. Whether it is UPTODATE or not, checkout_entry will
* do the right thing.
*/
- pos = cache_name_pos(ce->name, ce->ce_namelen);
+ pos = index_name_pos(&the_index, ce->name, ce->ce_namelen);
if (pos >= 0) {
- struct cache_entry *old = active_cache[pos];
+ struct cache_entry *old = the_index.cache[pos];
if (ce->ce_mode == old->ce_mode &&
!ce_intent_to_add(old) &&
oideq(&ce->oid, &old->oid)) {
@@ -160,7 +160,8 @@ static int update_some(const struct object_id *oid, struct strbuf *base,
}
}
- add_cache_entry(ce, ADD_CACHE_OK_TO_ADD | ADD_CACHE_OK_TO_REPLACE);
+ add_index_entry(&the_index, ce,
+ ADD_CACHE_OK_TO_ADD | ADD_CACHE_OK_TO_REPLACE);
return 0;
}
@@ -178,8 +179,8 @@ static int read_tree_some(struct tree *tree, const struct pathspec *pathspec)
static int skip_same_name(const struct cache_entry *ce, int pos)
{
- while (++pos < active_nr &&
- !strcmp(active_cache[pos]->name, ce->name))
+ while (++pos < the_index.cache_nr &&
+ !strcmp(the_index.cache[pos]->name, ce->name))
; /* skip */
return pos;
}
@@ -187,9 +188,9 @@ static int skip_same_name(const struct cache_entry *ce, int pos)
static int check_stage(int stage, const struct cache_entry *ce, int pos,
int overlay_mode)
{
- while (pos < active_nr &&
- !strcmp(active_cache[pos]->name, ce->name)) {
- if (ce_stage(active_cache[pos]) == stage)
+ while (pos < the_index.cache_nr &&
+ !strcmp(the_index.cache[pos]->name, ce->name)) {
+ if (ce_stage(the_index.cache[pos]) == stage)
return 0;
pos++;
}
@@ -206,8 +207,8 @@ static int check_stages(unsigned stages, const struct cache_entry *ce, int pos)
unsigned seen = 0;
const char *name = ce->name;
- while (pos < active_nr) {
- ce = active_cache[pos];
+ while (pos < the_index.cache_nr) {
+ ce = the_index.cache[pos];
if (strcmp(name, ce->name))
break;
seen |= (1 << ce_stage(ce));
@@ -223,10 +224,10 @@ static int checkout_stage(int stage, const struct cache_entry *ce, int pos,
const struct checkout *state, int *nr_checkouts,
int overlay_mode)
{
- while (pos < active_nr &&
- !strcmp(active_cache[pos]->name, ce->name)) {
- if (ce_stage(active_cache[pos]) == stage)
- return checkout_entry(active_cache[pos], state,
+ while (pos < the_index.cache_nr &&
+ !strcmp(the_index.cache[pos]->name, ce->name)) {
+ if (ce_stage(the_index.cache[pos]) == stage)
+ return checkout_entry(the_index.cache[pos], state,
NULL, nr_checkouts);
pos++;
}
@@ -243,7 +244,7 @@ static int checkout_stage(int stage, const struct cache_entry *ce, int pos,
static int checkout_merged(int pos, const struct checkout *state,
int *nr_checkouts, struct mem_pool *ce_mem_pool)
{
- struct cache_entry *ce = active_cache[pos];
+ struct cache_entry *ce = the_index.cache[pos];
const char *path = ce->name;
mmfile_t ancestor, ours, theirs;
enum ll_merge_result merge_status;
@@ -256,7 +257,7 @@ static int checkout_merged(int pos, const struct checkout *state,
int renormalize = 0;
memset(threeway, 0, sizeof(threeway));
- while (pos < active_nr) {
+ while (pos < the_index.cache_nr) {
int stage;
stage = ce_stage(ce);
if (!stage || strcmp(path, ce->name))
@@ -265,7 +266,7 @@ static int checkout_merged(int pos, const struct checkout *state,
if (stage == 2)
mode = create_ce_mode(ce->ce_mode);
pos++;
- ce = active_cache[pos];
+ ce = the_index.cache[pos];
}
if (is_null_oid(&threeway[1]) || is_null_oid(&threeway[2]))
return error(_("path '%s' does not have necessary versions"), path);
@@ -391,8 +392,8 @@ static int checkout_worktree(const struct checkout_opts *opts,
if (pc_workers > 1)
init_parallel_checkout();
- for (pos = 0; pos < active_nr; pos++) {
- struct cache_entry *ce = active_cache[pos];
+ for (pos = 0; pos < the_index.cache_nr; pos++) {
+ struct cache_entry *ce = the_index.cache[pos];
if (ce->ce_flags & CE_MATCHED) {
if (!ce_stage(ce)) {
errs |= checkout_entry(ce, &state,
@@ -528,7 +529,7 @@ static int checkout_paths(const struct checkout_opts *opts,
}
repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
- if (read_cache_preload(&opts->pathspec) < 0)
+ if (repo_read_index_preload(the_repository, &opts->pathspec, 0) < 0)
return error(_("index file corrupt"));
if (opts->source_tree)
@@ -540,13 +541,13 @@ static int checkout_paths(const struct checkout_opts *opts,
* Make sure all pathspecs participated in locating the paths
* to be checked out.
*/
- for (pos = 0; pos < active_nr; pos++)
+ for (pos = 0; pos < the_index.cache_nr; pos++)
if (opts->overlay_mode)
- mark_ce_for_checkout_overlay(active_cache[pos],
+ mark_ce_for_checkout_overlay(the_index.cache[pos],
ps_matched,
opts);
else
- mark_ce_for_checkout_no_overlay(active_cache[pos],
+ mark_ce_for_checkout_no_overlay(the_index.cache[pos],
ps_matched,
opts);
@@ -561,8 +562,8 @@ static int checkout_paths(const struct checkout_opts *opts,
unmerge_marked_index(&the_index);
/* Any unmerged paths? */
- for (pos = 0; pos < active_nr; pos++) {
- const struct cache_entry *ce = active_cache[pos];
+ for (pos = 0; pos < the_index.cache_nr; pos++) {
+ const struct cache_entry *ce = the_index.cache[pos];
if (ce->ce_flags & CE_MATCHED) {
if (!ce_stage(ce))
continue;
@@ -722,7 +723,7 @@ static void init_topts(struct unpack_trees_options *topts, int merge,
setup_unpack_trees_porcelain(topts, "checkout");
- topts->initial_checkout = is_cache_unborn();
+ topts->initial_checkout = is_index_unborn(&the_index);
topts->update = 1;
topts->merge = 1;
topts->quiet = merge && old_commit;
@@ -740,11 +741,11 @@ static int merge_working_tree(const struct checkout_opts *opts,
struct lock_file lock_file = LOCK_INIT;
struct tree *new_tree;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
- if (read_cache_preload(NULL) < 0)
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
+ if (repo_read_index_preload(the_repository, NULL, 0) < 0)
return error(_("index file corrupt"));
- resolve_undo_clear();
+ resolve_undo_clear_index(&the_index);
if (opts->new_orphan_branch && opts->orphan_from_empty_tree) {
if (new_branch_info->commit)
BUG("'switch --orphan' should never accept a commit as starting point");
@@ -761,9 +762,9 @@ static int merge_working_tree(const struct checkout_opts *opts,
struct unpack_trees_options topts;
const struct object_id *old_commit_oid;
- refresh_cache(REFRESH_QUIET);
+ refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
- if (unmerged_cache()) {
+ if (unmerged_index(&the_index)) {
error(_("you need to resolve your current index first"));
return 1;
}
@@ -867,7 +868,7 @@ static int merge_working_tree(const struct checkout_opts *opts,
}
}
- if (!cache_tree_fully_valid(active_cache_tree))
+ if (!cache_tree_fully_valid(the_index.cache_tree))
cache_tree_update(&the_index, WRITE_TREE_SILENT | WRITE_TREE_REPAIR);
if (write_locked_index(&the_index, &lock_file, COMMIT_LOCK))
@@ -1470,6 +1471,8 @@ static void die_if_some_operation_in_progress(void)
"or \"git worktree add\"."));
if (state.bisect_in_progress)
warning(_("you are switching branch while bisecting"));
+
+ wt_status_state_free_buffers(&state);
}
static int checkout_branch(struct checkout_opts *opts,
diff --git a/builtin/clean.c b/builtin/clean.c
index 40ff2c578d..b2701a2815 100644
--- a/builtin/clean.c
+++ b/builtin/clean.c
@@ -6,7 +6,7 @@
* Based on git-clean.sh by Pavel Roskin
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "cache.h"
#include "config.h"
@@ -1012,7 +1012,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("index file corrupt"));
pl = add_pattern_list(&dir, EXC_CMDL, "--exclude option");
@@ -1031,7 +1031,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
struct stat st;
const char *rel;
- if (!cache_name_is_other(ent->name, ent->len))
+ if (!index_name_is_other(&the_index, ent->name, ent->len))
continue;
if (lstat(ent->name, &st))
diff --git a/builtin/clone.c b/builtin/clone.c
index 0e4348686b..f518bb2dc1 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -8,7 +8,7 @@
* Clone a repository into a different directory that does not yet exist.
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "config.h"
#include "lockfile.h"
@@ -703,7 +703,7 @@ static int checkout(int submodule_progress, int filter_submodules)
/* We need to be in the new work tree for the checkout */
setup_work_tree();
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
memset(&opts, 0, sizeof opts);
opts.update = 1;
diff --git a/builtin/commit.c b/builtin/commit.c
index e22bdf23f5..44b763d7cd 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -272,8 +272,8 @@ static int list_paths(struct string_list *list, const char *with_tree,
/* TODO: audit for interaction with sparse-index. */
ensure_full_index(&the_index);
- for (i = 0; i < active_nr; i++) {
- const struct cache_entry *ce = active_cache[i];
+ for (i = 0; i < the_index.cache_nr; i++) {
+ const struct cache_entry *ce = the_index.cache[i];
struct string_list_item *item;
if (ce->ce_flags & CE_UPDATE)
@@ -302,10 +302,10 @@ static void add_remove_files(struct string_list *list)
continue;
if (!lstat(p->string, &st)) {
- if (add_to_cache(p->string, &st, 0))
+ if (add_to_index(&the_index, p->string, &st, 0))
die(_("updating files failed"));
} else
- remove_file_from_cache(p->string);
+ remove_file_from_index(&the_index, p->string);
}
}
@@ -316,7 +316,7 @@ static void create_base_index(const struct commit *current_head)
struct tree_desc t;
if (!current_head) {
- discard_cache();
+ discard_index(&the_index);
return;
}
@@ -343,7 +343,7 @@ static void refresh_cache_or_die(int refresh_flags)
* refresh_flags contains REFRESH_QUIET, so the only errors
* are for unmerged entries.
*/
- if (refresh_cache(refresh_flags | REFRESH_IN_PORCELAIN))
+ if (refresh_index(&the_index, refresh_flags | REFRESH_IN_PORCELAIN, NULL, NULL, NULL))
die_resolve_conflict("commit");
}
@@ -382,12 +382,13 @@ static const char *prepare_index(const char **argv, const char *prefix,
(!amend || (fixup_message && strcmp(fixup_prefix, "amend"))))))
die(_("No paths with --include/--only does not make sense."));
- if (read_cache_preload(&pathspec) < 0)
+ if (repo_read_index_preload(the_repository, &pathspec, 0) < 0)
die(_("index file corrupt"));
if (interactive) {
char *old_index_env = NULL, *old_repo_index_file;
- hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &index_lock,
+ LOCK_DIE_ON_ERROR);
refresh_cache_or_die(refresh_flags);
@@ -410,8 +411,9 @@ static const char *prepare_index(const char **argv, const char *prefix,
unsetenv(INDEX_ENVIRONMENT);
FREE_AND_NULL(old_index_env);
- discard_cache();
- read_cache_from(get_lock_file_path(&index_lock));
+ discard_index(&the_index);
+ read_index_from(&the_index, get_lock_file_path(&index_lock),
+ get_git_dir());
if (update_main_cache_tree(WRITE_TREE_SILENT) == 0) {
if (reopen_lock_file(&index_lock) < 0)
die(_("unable to write index file"));
@@ -438,7 +440,8 @@ static const char *prepare_index(const char **argv, const char *prefix,
* (B) on failure, rollback the real index.
*/
if (all || (also && pathspec.nr)) {
- hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &index_lock,
+ LOCK_DIE_ON_ERROR);
add_files_to_cache(also ? prefix : NULL, &pathspec, 0);
refresh_cache_or_die(refresh_flags);
update_main_cache_tree(WRITE_TREE_SILENT);
@@ -459,10 +462,11 @@ static const char *prepare_index(const char **argv, const char *prefix,
* We still need to refresh the index here.
*/
if (!only && !pathspec.nr) {
- hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &index_lock,
+ LOCK_DIE_ON_ERROR);
refresh_cache_or_die(refresh_flags);
- if (active_cache_changed
- || !cache_tree_fully_valid(active_cache_tree))
+ if (the_index.cache_changed
+ || !cache_tree_fully_valid(the_index.cache_tree))
update_main_cache_tree(WRITE_TREE_SILENT);
if (write_locked_index(&the_index, &index_lock,
COMMIT_LOCK | SKIP_IF_UNCHANGED))
@@ -505,13 +509,13 @@ static const char *prepare_index(const char **argv, const char *prefix,
if (list_paths(&partial, !current_head ? NULL : "HEAD", &pathspec))
exit(1);
- discard_cache();
- if (read_cache() < 0)
+ discard_index(&the_index);
+ if (repo_read_index(the_repository) < 0)
die(_("cannot read the index"));
- hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &index_lock, LOCK_DIE_ON_ERROR);
add_remove_files(&partial);
- refresh_cache(REFRESH_QUIET);
+ refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
update_main_cache_tree(WRITE_TREE_SILENT);
if (write_locked_index(&the_index, &index_lock, 0))
die(_("unable to write new_index file"));
@@ -523,14 +527,14 @@ static const char *prepare_index(const char **argv, const char *prefix,
create_base_index(current_head);
add_remove_files(&partial);
- refresh_cache(REFRESH_QUIET);
+ refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
if (write_locked_index(&the_index, &false_lock, 0))
die(_("unable to write temporary index file"));
- discard_cache();
+ discard_index(&the_index);
ret = get_lock_file_path(&false_lock);
- read_cache_from(ret);
+ read_index_from(&the_index, ret, get_git_dir());
out:
string_list_clear(&partial, 0);
clear_pathspec(&pathspec);
@@ -987,8 +991,11 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
struct object_id oid;
const char *parent = "HEAD";
- if (!active_nr && read_cache() < 0)
- die(_("Cannot read index"));
+ if (!active_nr) {
+ discard_cache();
+ if (read_cache() < 0)
+ die(_("Cannot read index"));
+ }
if (amend)
parent = "HEAD^1";
@@ -998,10 +1005,10 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
/* TODO: audit for interaction with sparse-index. */
ensure_full_index(&the_index);
- for (i = 0; i < active_nr; i++)
- if (ce_intent_to_add(active_cache[i]))
+ for (i = 0; i < the_index.cache_nr; i++)
+ if (ce_intent_to_add(the_index.cache[i]))
ita_nr++;
- committable = active_nr - ita_nr > 0;
+ committable = the_index.cache_nr - ita_nr > 0;
} else {
/*
* Unless the user did explicitly request a submodule
@@ -1068,9 +1075,9 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
* and could have updated it. We must do this before we invoke
* the editor and after we invoke run_status above.
*/
- discard_cache();
+ discard_index(&the_index);
}
- read_cache_from(index_file);
+ read_index_from(&the_index, index_file, get_git_dir());
if (update_main_cache_tree(0)) {
error(_("Error building trees"));
@@ -1556,7 +1563,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
&s.pathspec, NULL, NULL);
if (use_optional_locks())
- fd = hold_locked_index(&index_lock, 0);
+ fd = repo_hold_locked_index(the_repository, &index_lock, 0);
else
fd = -1;
@@ -1823,7 +1830,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
append_merge_tag_headers(parents, &tail);
}
- if (commit_tree_extended(sb.buf, sb.len, &active_cache_tree->oid,
+ if (commit_tree_extended(sb.buf, sb.len, &the_index.cache_tree->oid,
parents, &oid, author_ident.buf, NULL,
sign_commit, extra)) {
rollback_index_files();
@@ -1871,8 +1878,8 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
apply_autostash(git_path_merge_autostash(the_repository));
cleanup:
- UNLEAK(author_ident);
- UNLEAK(err);
- UNLEAK(sb);
+ strbuf_release(&author_ident);
+ strbuf_release(&err);
+ strbuf_release(&sb);
return ret;
}
diff --git a/builtin/config.c b/builtin/config.c
index 753e5fac29..060cf9f3e0 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -639,8 +639,9 @@ static char *default_user_config(void)
int cmd_config(int argc, const char **argv, const char *prefix)
{
int nongit = !startup_info->have_repository;
- char *value;
+ char *value = NULL;
int flags = 0;
+ int ret = 0;
given_config_source.file = xstrdup_or_null(getenv(CONFIG_ENVIRONMENT));
@@ -856,44 +857,38 @@ int cmd_config(int argc, const char **argv, const char *prefix)
free(config_file);
}
else if (actions == ACTION_SET) {
- int ret;
check_write();
check_argc(argc, 2, 2);
value = normalize_value(argv[0], argv[1]);
- UNLEAK(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]);
- return ret;
}
else if (actions == ACTION_SET_ALL) {
check_write();
check_argc(argc, 2, 3);
value = normalize_value(argv[0], argv[1]);
- UNLEAK(value);
- return git_config_set_multivar_in_file_gently(given_config_source.file,
- argv[0], value, argv[2],
- flags);
+ ret = git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], value, argv[2],
+ flags);
}
else if (actions == ACTION_ADD) {
check_write();
check_argc(argc, 2, 2);
value = normalize_value(argv[0], argv[1]);
- UNLEAK(value);
- return git_config_set_multivar_in_file_gently(given_config_source.file,
- argv[0], value,
- CONFIG_REGEX_NONE,
- flags);
+ ret = git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], value,
+ CONFIG_REGEX_NONE,
+ flags);
}
else if (actions == ACTION_REPLACE_ALL) {
check_write();
check_argc(argc, 2, 3);
value = normalize_value(argv[0], argv[1]);
- UNLEAK(value);
- return git_config_set_multivar_in_file_gently(given_config_source.file,
- argv[0], value, argv[2],
- flags | CONFIG_FLAGS_MULTI_REPLACE);
+ ret = git_config_set_multivar_in_file_gently(given_config_source.file,
+ argv[0], value, argv[2],
+ flags | CONFIG_FLAGS_MULTI_REPLACE);
}
else if (actions == ACTION_GET) {
check_argc(argc, 1, 2);
@@ -934,26 +929,28 @@ int cmd_config(int argc, const char **argv, const char *prefix)
flags | CONFIG_FLAGS_MULTI_REPLACE);
}
else if (actions == ACTION_RENAME_SECTION) {
- int ret;
check_write();
check_argc(argc, 2, 2);
ret = git_config_rename_section_in_file(given_config_source.file,
argv[0], argv[1]);
if (ret < 0)
return ret;
- if (ret == 0)
+ else if (!ret)
die(_("no such section: %s"), argv[0]);
+ else
+ ret = 0;
}
else if (actions == ACTION_REMOVE_SECTION) {
- int ret;
check_write();
check_argc(argc, 1, 1);
ret = git_config_rename_section_in_file(given_config_source.file,
argv[0], NULL);
if (ret < 0)
return ret;
- if (ret == 0)
+ else if (!ret)
die(_("no such section: %s"), argv[0]);
+ else
+ ret = 0;
}
else if (actions == ACTION_GET_COLOR) {
check_argc(argc, 1, 2);
@@ -966,5 +963,6 @@ int cmd_config(int argc, const char **argv, const char *prefix)
return get_colorbool(argv[0], argc == 2);
}
- return 0;
+ free(value);
+ return ret;
}
diff --git a/builtin/describe.c b/builtin/describe.c
index 23e3f05fb1..eea1e330c0 100644
--- a/builtin/describe.c
+++ b/builtin/describe.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "lockfile.h"
@@ -653,10 +653,11 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
int fd, result;
setup_work_tree();
- read_cache();
+ repo_read_index(the_repository);
refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED,
NULL, NULL, NULL);
- fd = hold_locked_index(&index_lock, 0);
+ fd = repo_hold_locked_index(the_repository,
+ &index_lock, 0);
if (0 <= fd)
repo_update_index_if_able(the_repository, &index_lock);
diff --git a/builtin/diff-files.c b/builtin/diff-files.c
index 096ea2fedb..dc991f753b 100644
--- a/builtin/diff-files.c
+++ b/builtin/diff-files.c
@@ -3,7 +3,6 @@
*
* Copyright (C) Linus Torvalds, 2005
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
#include "cache.h"
#include "config.h"
#include "diff.h"
@@ -76,8 +75,8 @@ int cmd_diff_files(int argc, const char **argv, const char *prefix)
(rev.diffopt.output_format & DIFF_FORMAT_PATCH))
diff_merges_set_dense_combined_if_unset(&rev);
- if (read_cache_preload(&rev.diffopt.pathspec) < 0) {
- perror("read_cache_preload");
+ if (repo_read_index_preload(the_repository, &rev.diffopt.pathspec, 0) < 0) {
+ perror("repo_read_index_preload");
result = -1;
goto cleanup;
}
diff --git a/builtin/diff-index.c b/builtin/diff-index.c
index aea139b9d8..35dc9b23ee 100644
--- a/builtin/diff-index.c
+++ b/builtin/diff-index.c
@@ -1,4 +1,3 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
#include "cache.h"
#include "config.h"
#include "diff.h"
@@ -62,12 +61,12 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix)
usage(diff_cache_usage);
if (!(option & DIFF_INDEX_CACHED)) {
setup_work_tree();
- if (read_cache_preload(&rev.diffopt.pathspec) < 0) {
- perror("read_cache_preload");
+ if (repo_read_index_preload(the_repository, &rev.diffopt.pathspec, 0) < 0) {
+ perror("repo_read_index_preload");
return -1;
}
- } else if (read_cache() < 0) {
- perror("read_cache");
+ } else if (repo_read_index(the_repository) < 0) {
+ perror("repo_read_index");
return -1;
}
result = run_diff_index(&rev, option);
diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c
index 85e8c81e59..25b853b85c 100644
--- a/builtin/diff-tree.c
+++ b/builtin/diff-tree.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "diff.h"
@@ -120,7 +120,7 @@ int cmd_diff_tree(int argc, const char **argv, const char *prefix)
git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
repo_init_revisions(the_repository, opt, prefix);
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("index file corrupt"));
opt->abbrev = 0;
opt->diff = 1;
diff --git a/builtin/diff.c b/builtin/diff.c
index 854d2c5a5c..26f1e532c6 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2006 Junio C Hamano
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "ewah/ewok.h"
@@ -157,12 +157,13 @@ static int builtin_diff_index(struct rev_info *revs,
usage(builtin_diff_usage);
if (!(option & DIFF_INDEX_CACHED)) {
setup_work_tree();
- if (read_cache_preload(&revs->diffopt.pathspec) < 0) {
- perror("read_cache_preload");
+ if (repo_read_index_preload(the_repository,
+ &revs->diffopt.pathspec, 0) < 0) {
+ perror("repo_read_index_preload");
return -1;
}
- } else if (read_cache() < 0) {
- perror("read_cache");
+ } else if (repo_read_index(the_repository) < 0) {
+ perror("repo_read_cache");
return -1;
}
return run_diff_index(revs, option);
@@ -239,12 +240,13 @@ static void refresh_index_quietly(void)
struct lock_file lock_file = LOCK_INIT;
int fd;
- fd = hold_locked_index(&lock_file, 0);
+ fd = repo_hold_locked_index(the_repository, &lock_file, 0);
if (fd < 0)
return;
- discard_cache();
- read_cache();
- refresh_cache(REFRESH_QUIET|REFRESH_UNMERGED);
+ discard_index(&the_index);
+ repo_read_index(the_repository);
+ refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, NULL, NULL,
+ NULL);
repo_update_index_if_able(the_repository, &lock_file);
}
@@ -279,8 +281,9 @@ static int builtin_diff_files(struct rev_info *revs, int argc, const char **argv
diff_merges_set_dense_combined_if_unset(revs);
setup_work_tree();
- if (read_cache_preload(&revs->diffopt.pathspec) < 0) {
- perror("read_cache_preload");
+ if (repo_read_index_preload(the_repository, &revs->diffopt.pathspec,
+ 0) < 0) {
+ perror("repo_read_index_preload");
return -1;
}
return run_diff_files(revs, options);
@@ -609,7 +612,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
if (1 < rev.diffopt.skip_stat_unmatch)
refresh_index_quietly();
release_revisions(&rev);
- UNLEAK(ent);
+ object_array_clear(&ent);
UNLEAK(blob);
return result;
}
diff --git a/builtin/difftool.c b/builtin/difftool.c
index d7f08c8a7f..d9b76226f6 100644
--- a/builtin/difftool.c
+++ b/builtin/difftool.c
@@ -11,7 +11,7 @@
*
* Copyright (C) 2016 Johannes Schindelin
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "builtin.h"
diff --git a/builtin/fsck.c b/builtin/fsck.c
index 7436e1a68e..d207bd909b 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "cache.h"
#include "repository.h"
@@ -958,29 +958,29 @@ int cmd_fsck(int argc, const char **argv, const char *prefix)
if (keep_cache_objects) {
verify_index_checksum = 1;
verify_ce_order = 1;
- read_cache();
+ repo_read_index(the_repository);
/* TODO: audit for interaction with sparse-index. */
ensure_full_index(&the_index);
- for (i = 0; i < active_nr; i++) {
+ for (i = 0; i < the_index.cache_nr; i++) {
unsigned int mode;
struct blob *blob;
struct object *obj;
- mode = active_cache[i]->ce_mode;
+ mode = the_index.cache[i]->ce_mode;
if (S_ISGITLINK(mode))
continue;
blob = lookup_blob(the_repository,
- &active_cache[i]->oid);
+ &the_index.cache[i]->oid);
if (!blob)
continue;
obj = &blob->object;
obj->flags |= USED;
fsck_put_object_name(&fsck_walk_options, &obj->oid,
- ":%s", active_cache[i]->name);
+ ":%s", the_index.cache[i]->name);
mark_object_reachable(obj);
}
- if (active_cache_tree)
- fsck_cache_tree(active_cache_tree);
+ if (the_index.cache_tree)
+ fsck_cache_tree(the_index.cache_tree);
fsck_resolve_undo(&the_index);
}
diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c
index 6f30a4f93a..0feef8caf6 100644
--- a/builtin/fsmonitor--daemon.c
+++ b/builtin/fsmonitor--daemon.c
@@ -710,6 +710,7 @@ static int do_handle_client(struct fsmonitor_daemon_state *state,
"fsmonitor: unsupported V1 protocol '%s'"),
command);
do_trivial = 1;
+ do_cookie = 1;
} else {
/* We have "builtin:*" */
@@ -719,6 +720,7 @@ static int do_handle_client(struct fsmonitor_daemon_state *state,
"fsmonitor: invalid V2 protocol token '%s'",
command);
do_trivial = 1;
+ do_cookie = 1;
} else {
/*
@@ -1209,7 +1211,7 @@ static int fsmonitor_run_daemon_1(struct fsmonitor_daemon_state *state)
* events.
*/
if (pthread_create(&state->listener_thread, NULL,
- fsm_listen__thread_proc, state) < 0) {
+ fsm_listen__thread_proc, state)) {
ipc_server_stop_async(state->ipc_server_data);
err = error(_("could not start fsmonitor listener thread"));
goto cleanup;
@@ -1220,7 +1222,7 @@ static int fsmonitor_run_daemon_1(struct fsmonitor_daemon_state *state)
* Start the health thread to watch over our process.
*/
if (pthread_create(&state->health_thread, NULL,
- fsm_health__thread_proc, state) < 0) {
+ fsm_health__thread_proc, state)) {
ipc_server_stop_async(state->ipc_server_data);
err = error(_("could not start fsmonitor health thread"));
goto cleanup;
diff --git a/builtin/grep.c b/builtin/grep.c
index 5fa927d4e2..f7821c5fbb 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -3,7 +3,6 @@
*
* Copyright (c) 2006 Junio C Hamano
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
#include "cache.h"
#include "repository.h"
#include "config.h"
diff --git a/builtin/log.c b/builtin/log.c
index 5eafcf26b4..89447a5083 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -4,7 +4,6 @@
* (C) Copyright 2006 Linus Torvalds
* 2006 Junio Hamano
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
#include "cache.h"
#include "config.h"
#include "refs.h"
diff --git a/builtin/ls-files.c b/builtin/ls-files.c
index 4cf8a23648..a03b559eca 100644
--- a/builtin/ls-files.c
+++ b/builtin/ls-files.c
@@ -613,6 +613,7 @@ void overlay_tree_on_index(struct index_state *istate,
if (!fn)
fn = read_one_entry_quick;
err = read_tree(the_repository, tree, &pathspec, fn, istate);
+ clear_pathspec(&pathspec);
if (err)
die("unable to read tree entries %s", tree_name);
diff --git a/builtin/merge-index.c b/builtin/merge-index.c
index 012f52bd00..452f833ac4 100644
--- a/builtin/merge-index.c
+++ b/builtin/merge-index.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "run-command.h"
@@ -14,11 +14,11 @@ static int merge_entry(int pos, const char *path)
char ownbuf[4][60];
struct child_process cmd = CHILD_PROCESS_INIT;
- if (pos >= active_nr)
+ if (pos >= the_index.cache_nr)
die("git merge-index: %s not in the cache", path);
found = 0;
do {
- const struct cache_entry *ce = active_cache[pos];
+ const struct cache_entry *ce = the_index.cache[pos];
int stage = ce_stage(ce);
if (strcmp(ce->name, path))
@@ -28,7 +28,7 @@ static int merge_entry(int pos, const char *path)
xsnprintf(ownbuf[stage], sizeof(ownbuf[stage]), "%o", ce->ce_mode);
arguments[stage] = hexbuf[stage];
arguments[stage + 4] = ownbuf[stage];
- } while (++pos < active_nr);
+ } while (++pos < the_index.cache_nr);
if (!found)
die("git merge-index: %s not in the cache", path);
@@ -47,7 +47,7 @@ static int merge_entry(int pos, const char *path)
static void merge_one_path(const char *path)
{
- int pos = cache_name_pos(path, strlen(path));
+ int pos = index_name_pos(&the_index, path, strlen(path));
/*
* If it already exists in the cache as stage0, it's
@@ -62,8 +62,8 @@ static void merge_all(void)
int i;
/* TODO: audit for interaction with sparse-index. */
ensure_full_index(&the_index);
- for (i = 0; i < active_nr; i++) {
- const struct cache_entry *ce = active_cache[i];
+ for (i = 0; i < the_index.cache_nr; i++) {
+ const struct cache_entry *ce = the_index.cache[i];
if (!ce_stage(ce))
continue;
i += merge_entry(i, ce->name)-1;
@@ -82,7 +82,7 @@ int cmd_merge_index(int argc, const char **argv, const char *prefix)
if (argc < 3)
usage("git merge-index [-o] [-q] <merge-program> (-a | [--] [<filename>...])");
- read_cache();
+ repo_read_index(the_repository);
/* TODO: audit for interaction with sparse-index. */
ensure_full_index(&the_index);
diff --git a/builtin/merge-ours.c b/builtin/merge-ours.c
index 3583cff71c..284eb48609 100644
--- a/builtin/merge-ours.c
+++ b/builtin/merge-ours.c
@@ -7,7 +7,6 @@
*
* Pretend we resolved the heads, but declare our tree trumps everybody else.
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
#include "git-compat-util.h"
#include "builtin.h"
#include "diff.h"
@@ -25,7 +24,7 @@ int cmd_merge_ours(int argc, const char **argv, const char *prefix)
* commit. The index must match HEAD, or this merge cannot go
* through.
*/
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die_errno("read_cache failed");
if (index_differs_from(the_repository, "HEAD", NULL, 0))
return 2;
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index fe853aa8f9..c8265e0aec 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c
@@ -1,8 +1,9 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "tree-walk.h"
#include "xdiff-interface.h"
#include "help.h"
+#include "commit.h"
#include "commit-reach.h"
#include "merge-ort.h"
#include "object-store.h"
@@ -406,6 +407,7 @@ struct merge_tree_options {
};
static int real_merge(struct merge_tree_options *o,
+ const char *merge_base,
const char *branch1, const char *branch2,
const char *prefix)
{
@@ -432,16 +434,31 @@ static int real_merge(struct merge_tree_options *o,
opt.branch1 = branch1;
opt.branch2 = branch2;
- /*
- * Get the merge bases, in reverse order; see comment above
- * merge_incore_recursive in merge-ort.h
- */
- merge_bases = get_merge_bases(parent1, parent2);
- if (!merge_bases && !o->allow_unrelated_histories)
- die(_("refusing to merge unrelated histories"));
- merge_bases = reverse_commit_list(merge_bases);
+ if (merge_base) {
+ struct commit *base_commit;
+ struct tree *base_tree, *parent1_tree, *parent2_tree;
+
+ base_commit = lookup_commit_reference_by_name(merge_base);
+ if (!base_commit)
+ die(_("could not lookup commit %s"), merge_base);
+
+ opt.ancestor = merge_base;
+ base_tree = get_commit_tree(base_commit);
+ parent1_tree = get_commit_tree(parent1);
+ parent2_tree = get_commit_tree(parent2);
+ merge_incore_nonrecursive(&opt, base_tree, parent1_tree, parent2_tree, &result);
+ } else {
+ /*
+ * Get the merge bases, in reverse order; see comment above
+ * merge_incore_recursive in merge-ort.h
+ */
+ merge_bases = get_merge_bases(parent1, parent2);
+ if (!merge_bases && !o->allow_unrelated_histories)
+ die(_("refusing to merge unrelated histories"));
+ merge_bases = reverse_commit_list(merge_bases);
+ merge_incore_recursive(&opt, merge_bases, parent1, parent2, &result);
+ }
- merge_incore_recursive(&opt, merge_bases, parent1, parent2, &result);
if (result.clean < 0)
die(_("failure to merge"));
@@ -487,6 +504,7 @@ int cmd_merge_tree(int argc, const char **argv, const char *prefix)
struct merge_tree_options o = { .show_messages = -1 };
int expected_remaining_argc;
int original_argc;
+ const char *merge_base = NULL;
const char * const merge_tree_usage[] = {
N_("git merge-tree [--write-tree] [<options>] <branch1> <branch2>"),
@@ -515,6 +533,10 @@ int cmd_merge_tree(int argc, const char **argv, const char *prefix)
&o.use_stdin,
N_("perform multiple merges, one per line of input"),
PARSE_OPT_NONEG),
+ OPT_STRING(0, "merge-base",
+ &merge_base,
+ N_("commit"),
+ N_("specify a merge-base for the merge")),
OPT_END()
};
@@ -529,16 +551,35 @@ int cmd_merge_tree(int argc, const char **argv, const char *prefix)
if (o.mode == MODE_TRIVIAL)
die(_("--trivial-merge is incompatible with all other options"));
+ if (merge_base)
+ die(_("--merge-base is incompatible with --stdin"));
line_termination = '\0';
while (strbuf_getline_lf(&buf, stdin) != EOF) {
struct strbuf **split;
int result;
+ const char *input_merge_base = NULL;
split = strbuf_split(&buf, ' ');
- if (!split[0] || !split[1] || split[2])
+ if (!split[0] || !split[1])
die(_("malformed input line: '%s'."), buf.buf);
strbuf_rtrim(split[0]);
- result = real_merge(&o, split[0]->buf, split[1]->buf, prefix);
+ strbuf_rtrim(split[1]);
+
+ /* parse the merge-base */
+ if (!strcmp(split[1]->buf, "--")) {
+ input_merge_base = split[0]->buf;
+ }
+
+ if (input_merge_base && split[2] && split[3] && !split[4]) {
+ strbuf_rtrim(split[2]);
+ strbuf_rtrim(split[3]);
+ result = real_merge(&o, input_merge_base, split[2]->buf, split[3]->buf, prefix);
+ } else if (!input_merge_base && !split[2]) {
+ result = real_merge(&o, NULL, split[0]->buf, split[1]->buf, prefix);
+ } else {
+ die(_("malformed input line: '%s'."), buf.buf);
+ }
+
if (result < 0)
die(_("merging cannot continue; got unclean result of %d"), result);
strbuf_list_free(split);
@@ -581,7 +622,7 @@ int cmd_merge_tree(int argc, const char **argv, const char *prefix)
/* Do the relevant type of merge */
if (o.mode == MODE_REAL)
- return real_merge(&o, argv[0], argv[1], prefix);
+ return real_merge(&o, merge_base, argv[0], argv[1], prefix);
else
return trivial_merge(argv[0], argv[1], argv[2]);
}
diff --git a/builtin/merge.c b/builtin/merge.c
index b3f75f55c8..ecccd5e911 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -318,7 +318,7 @@ static int save_state(struct object_id *stash)
int rc = -1;
fd = repo_hold_locked_index(the_repository, &lock_file, 0);
- refresh_cache(REFRESH_QUIET);
+ refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
if (0 <= fd)
repo_update_index_if_able(the_repository, &lock_file);
rollback_lock_file(&lock_file);
@@ -390,7 +390,8 @@ static void restore_state(const struct object_id *head,
run_command(&cmd);
refresh_cache:
- if (discard_cache() < 0 || read_cache() < 0)
+ discard_cache();
+ if (read_cache() < 0)
die(_("could not read index"));
}
@@ -693,7 +694,7 @@ static int read_tree_trivial(struct object_id *common, struct object_id *head,
if (!trees[nr_trees++])
return -1;
opts.fn = threeway_merge;
- cache_tree_free(&active_cache_tree);
+ cache_tree_free(&the_index.cache_tree);
for (i = 0; i < nr_trees; i++) {
parse_tree(trees[i]);
init_tree_desc(t+i, trees[i]->buffer, trees[i]->size);
@@ -715,7 +716,9 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
{
const char *head_arg = "HEAD";
- if (refresh_and_write_cache(REFRESH_QUIET, SKIP_IF_UNCHANGED, 0) < 0)
+ if (repo_refresh_and_write_index(the_repository, REFRESH_QUIET,
+ SKIP_IF_UNCHANGED, 0, NULL, NULL,
+ NULL) < 0)
return error(_("Unable to write index."));
if (!strcmp(strategy, "recursive") || !strcmp(strategy, "subtree") ||
@@ -749,7 +752,8 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
for (j = common; j; j = j->next)
commit_list_insert(j->item, &reversed);
- hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock,
+ LOCK_DIE_ON_ERROR);
if (!strcmp(strategy, "ort"))
clean = merge_ort_recursive(&o, head, remoteheads->item,
reversed, &result);
@@ -783,8 +787,8 @@ static int count_unmerged_entries(void)
{
int i, ret = 0;
- for (i = 0; i < active_nr; i++)
- if (ce_stage(active_cache[i]))
+ for (i = 0; i < the_index.cache_nr; i++)
+ if (ce_stage(the_index.cache[i]))
ret++;
return ret;
@@ -858,9 +862,9 @@ static void prepare_to_commit(struct commit_list *remoteheads)
* the editor and after we invoke run_status above.
*/
if (invoked_hook)
- discard_cache();
+ discard_index(&the_index);
}
- read_cache_from(index_file);
+ read_index_from(&the_index, index_file, get_git_dir());
strbuf_addbuf(&msg, &merge_msg);
if (squash)
BUG("the control must not reach here under --squash");
@@ -909,7 +913,9 @@ static int merge_trivial(struct commit *head, struct commit_list *remoteheads)
struct object_id result_tree, result_commit;
struct commit_list *parents, **pptr = &parents;
- if (refresh_and_write_cache(REFRESH_QUIET, SKIP_IF_UNCHANGED, 0) < 0)
+ if (repo_refresh_and_write_index(the_repository, REFRESH_QUIET,
+ SKIP_IF_UNCHANGED, 0, NULL, NULL,
+ NULL) < 0)
return error(_("Unable to write index."));
write_tree_trivial(&result_tree);
@@ -1375,7 +1381,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
goto done;
}
- if (read_cache_unmerged())
+ if (repo_read_index_unmerged(the_repository))
die_resolve_conflict("merge");
if (file_exists(git_path_merge_head(the_repository))) {
@@ -1396,7 +1402,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
else
die(_("You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)."));
}
- resolve_undo_clear();
+ resolve_undo_clear_index(&the_index);
if (option_edit < 0)
option_edit = default_edit_option();
@@ -1601,7 +1607,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
* We are not doing octopus, not fast-forward, and have
* only one common.
*/
- refresh_cache(REFRESH_QUIET);
+ refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL);
if (allow_trivial && fast_forward != FF_ONLY) {
/*
* Must first ensure that index matches HEAD before
@@ -1783,5 +1789,6 @@ done:
}
strbuf_release(&buf);
free(branch_to_free);
+ discard_index(&the_index);
return ret;
}
diff --git a/builtin/mv.c b/builtin/mv.c
index 3413ad1c9b..19790ce38f 100644
--- a/builtin/mv.c
+++ b/builtin/mv.c
@@ -87,7 +87,7 @@ static void prepare_move_submodule(const char *src, int first,
const char **submodule_gitfile)
{
struct strbuf submodule_dotgit = STRBUF_INIT;
- if (!S_ISGITLINK(active_cache[first]->ce_mode))
+ if (!S_ISGITLINK(the_index.cache[first]->ce_mode))
die(_("Directory %s is in index and no submodule?"), src);
if (!is_staging_gitmodules_ok(&the_index))
die(_("Please stage your changes to .gitmodules or stash them to proceed"));
@@ -106,13 +106,13 @@ static int index_range_of_same_dir(const char *src, int length,
const char *src_w_slash = add_slash(src);
int first, last, len_w_slash = length + 1;
- first = cache_name_pos(src_w_slash, len_w_slash);
+ first = index_name_pos(&the_index, src_w_slash, len_w_slash);
if (first >= 0)
die(_("%.*s is in index"), len_w_slash, src_w_slash);
first = -1 - first;
- for (last = first; last < active_nr; last++) {
- const char *path = active_cache[last]->name;
+ for (last = first; last < the_index.cache_nr; last++) {
+ const char *path = the_index.cache[last]->name;
if (strncmp(path, src_w_slash, len_w_slash))
break;
}
@@ -136,14 +136,14 @@ static int empty_dir_has_sparse_contents(const char *name)
const char *with_slash = add_slash(name);
int length = strlen(with_slash);
- int pos = cache_name_pos(with_slash, length);
+ int pos = index_name_pos(&the_index, with_slash, length);
const struct cache_entry *ce;
if (pos < 0) {
pos = -pos - 1;
if (pos >= the_index.cache_nr)
goto free_return;
- ce = active_cache[pos];
+ ce = the_index.cache[pos];
if (strncmp(with_slash, ce->name, length))
goto free_return;
if (ce_skip_worktree(ce))
@@ -189,8 +189,8 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
if (--argc < 1)
usage_with_options(builtin_mv_usage, builtin_mv_options);
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
- if (read_cache() < 0)
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
+ if (repo_read_index(the_repository) < 0)
die(_("index file corrupt"));
source = internal_prefix_pathspec(prefix, argv, argc, 0);
@@ -255,7 +255,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
int pos;
const struct cache_entry *ce;
- pos = cache_name_pos(src, length);
+ pos = index_name_pos(&the_index, src, length);
if (pos < 0) {
const char *src_w_slash = add_slash(src);
if (!path_in_sparse_checkout(src_w_slash, &the_index) &&
@@ -268,7 +268,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
bad = _("bad source");
goto act_on_entry;
}
- ce = active_cache[pos];
+ ce = the_index.cache[pos];
if (!ce_skip_worktree(ce)) {
bad = _("bad source");
goto act_on_entry;
@@ -278,7 +278,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
goto act_on_entry;
}
/* Check if dst exists in index */
- if (cache_name_pos(dst, strlen(dst)) < 0) {
+ if (index_name_pos(&the_index, dst, strlen(dst)) < 0) {
modes[i] |= SPARSE;
goto act_on_entry;
}
@@ -303,7 +303,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
dir_check:
if (S_ISDIR(st.st_mode)) {
int j, dst_len, n;
- int first = cache_name_pos(src, length), last;
+ int first = index_name_pos(&the_index, src, length), last;
if (first >= 0) {
prepare_move_submodule(src, first,
@@ -331,7 +331,7 @@ dir_check:
dst_len = strlen(dst);
for (j = 0; j < last - first; j++) {
- const struct cache_entry *ce = active_cache[first + j];
+ const struct cache_entry *ce = the_index.cache[first + j];
const char *path = ce->name;
source[argc + j] = path;
destination[argc + j] =
@@ -343,7 +343,7 @@ dir_check:
argc += last - first;
goto act_on_entry;
}
- if (!(ce = cache_file_exists(src, length, 0))) {
+ if (!(ce = index_file_exists(&the_index, src, length, 0))) {
bad = _("not under version control");
goto act_on_entry;
}
@@ -468,11 +468,14 @@ remove_entry:
if (mode & (WORKING_DIRECTORY | SKIP_WORKTREE_DIR))
continue;
- pos = cache_name_pos(src, strlen(src));
+ pos = index_name_pos(&the_index, src, strlen(src));
assert(pos >= 0);
if (!(mode & SPARSE) && !lstat(src, &st))
- sparse_and_dirty = ce_modified(active_cache[pos], &st, 0);
- rename_cache_entry_at(pos, dst);
+ sparse_and_dirty = ie_modified(&the_index,
+ the_index.cache[pos],
+ &st,
+ 0);
+ rename_index_entry_at(&the_index, pos, dst);
if (ignore_sparse &&
core_apply_sparse_checkout &&
@@ -487,7 +490,7 @@ remove_entry:
path_in_sparse_checkout(dst, &the_index)) {
/* from out-of-cone to in-cone */
int dst_pos = cache_name_pos(dst, strlen(dst));
- struct cache_entry *dst_ce = active_cache[dst_pos];
+ struct cache_entry *dst_ce = the_index.cache[dst_pos];
dst_ce->ce_flags &= ~CE_SKIP_WORKTREE;
@@ -498,7 +501,7 @@ remove_entry:
!path_in_sparse_checkout(dst, &the_index)) {
/* from in-cone to out-of-cone */
int dst_pos = cache_name_pos(dst, strlen(dst));
- struct cache_entry *dst_ce = active_cache[dst_pos];
+ struct cache_entry *dst_ce = the_index.cache[dst_pos];
/*
* if src is clean, it will suffice to remove it
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 573d0b20b7..2193f80b89 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -4149,21 +4149,6 @@ static int option_parse_cruft_expiration(const struct option *opt,
return 0;
}
-struct po_filter_data {
- unsigned have_revs:1;
- struct rev_info revs;
-};
-
-static struct list_objects_filter_options *po_filter_revs_init(void *value)
-{
- struct po_filter_data *data = value;
-
- repo_init_revisions(the_repository, &data->revs, NULL);
- data->have_revs = 1;
-
- return &data->revs.filter;
-}
-
int cmd_pack_objects(int argc, const char **argv, const char *prefix)
{
int use_internal_rev_list = 0;
@@ -4174,7 +4159,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
int rev_list_index = 0;
int stdin_packs = 0;
struct string_list keep_pack_list = STRING_LIST_INIT_NODUP;
- struct po_filter_data pfd = { .have_revs = 0 };
+ struct list_objects_filter_options filter_options =
+ LIST_OBJECTS_FILTER_INIT;
struct option pack_objects_options[] = {
OPT_SET_INT('q', "quiet", &progress,
@@ -4265,7 +4251,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
&write_bitmap_index,
N_("write a bitmap index if possible"),
WRITE_BITMAP_QUIET, PARSE_OPT_HIDDEN),
- OPT_PARSE_LIST_OBJECTS_FILTER_INIT(&pfd, po_filter_revs_init),
+ OPT_PARSE_LIST_OBJECTS_FILTER(&filter_options),
OPT_CALLBACK_F(0, "missing", NULL, N_("action"),
N_("handling for missing objects"), PARSE_OPT_NONEG,
option_parse_missing_action),
@@ -4385,7 +4371,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
if (!rev_list_all || !rev_list_reflog || !rev_list_index)
unpack_unreachable_expiration = 0;
- if (pfd.have_revs && pfd.revs.filter.choice) {
+ if (filter_options.choice) {
if (!pack_to_stdout)
die(_("cannot use --filter without --stdout"));
if (stdin_packs)
@@ -4472,13 +4458,11 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
read_cruft_objects();
} else if (!use_internal_rev_list) {
read_object_list_from_stdin();
- } else if (pfd.have_revs) {
- get_object_list(&pfd.revs, rp.nr, rp.v);
- release_revisions(&pfd.revs);
} else {
struct rev_info revs;
repo_init_revisions(the_repository, &revs, NULL);
+ list_objects_filter_copy(&revs.filter, &filter_options);
get_object_list(&revs, rp.nr, rp.v);
release_revisions(&revs);
}
@@ -4513,6 +4497,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
reuse_packfile_objects);
cleanup:
+ list_objects_filter_release(&filter_options);
strvec_clear(&rp);
return 0;
diff --git a/builtin/prune.c b/builtin/prune.c
index df376b2ed1..2719220108 100644
--- a/builtin/prune.c
+++ b/builtin/prune.c
@@ -127,7 +127,9 @@ static void remove_temporary_files(const char *path)
dir = opendir(path);
if (!dir) {
- fprintf(stderr, "Unable to open directory %s\n", path);
+ if (errno != ENOENT)
+ fprintf(stderr, "Unable to open directory %s: %s\n",
+ path, strerror(errno));
return;
}
while ((de = readdir(dir)) != NULL)
diff --git a/builtin/pull.c b/builtin/pull.c
index b21edd767a..1ab4de0005 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -5,7 +5,7 @@
*
* Fetch one or more remote refs and merge it/them into the current HEAD.
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "builtin.h"
@@ -1030,7 +1030,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
if (opt_rebase < 0)
opt_rebase = config_get_rebase(&rebase_unspecified);
- if (read_cache_unmerged())
+ if (repo_read_index_unmerged(the_repository))
die_resolve_conflict("pull");
if (file_exists(git_path_merge_head(the_repository)))
@@ -1043,7 +1043,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
if (opt_autostash == -1)
opt_autostash = config_autostash;
- if (is_null_oid(&orig_head) && !is_cache_unborn())
+ if (is_null_oid(&orig_head) && !is_index_unborn(&the_index))
die(_("Updating an unborn branch with changes added to the index."));
if (!opt_autostash)
diff --git a/builtin/range-diff.c b/builtin/range-diff.c
index e2a74efb42..aecfae12d3 100644
--- a/builtin/range-diff.c
+++ b/builtin/range-diff.c
@@ -47,7 +47,7 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix)
repo_diff_setup(the_repository, &diffopt);
- options = parse_options_concat(range_diff_options, diffopt.parseopts);
+ options = add_diff_options(range_diff_options, &diffopt);
argc = parse_options(argc, argv, prefix, options,
builtin_range_diff_usage, PARSE_OPT_KEEP_DASHDASH);
diff --git a/builtin/read-tree.c b/builtin/read-tree.c
index 45c6652444..f702f9d47b 100644
--- a/builtin/read-tree.c
+++ b/builtin/read-tree.c
@@ -4,7 +4,7 @@
* Copyright (C) Linus Torvalds, 2005
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "lockfile.h"
@@ -176,7 +176,7 @@ int cmd_read_tree(int argc, const char **argv, const char *cmd_prefix)
prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
/*
* NEEDSWORK
@@ -188,11 +188,11 @@ int cmd_read_tree(int argc, const char **argv, const char *cmd_prefix)
*/
if (opts.reset || opts.merge || opts.prefix) {
- if (read_cache_unmerged() && (opts.prefix || opts.merge))
+ if (repo_read_index_unmerged(the_repository) && (opts.prefix || opts.merge))
die(_("You need to resolve your current index first"));
stage = opts.merge = 1;
}
- resolve_undo_clear();
+ resolve_undo_clear_index(&the_index);
for (i = 0; i < argc; i++) {
const char *arg = argv[i];
@@ -232,7 +232,7 @@ int cmd_read_tree(int argc, const char **argv, const char *cmd_prefix)
break;
case 2:
opts.fn = twoway_merge;
- opts.initial_checkout = is_cache_unborn();
+ opts.initial_checkout = is_index_unborn(&the_index);
break;
case 3:
default:
@@ -253,7 +253,7 @@ int cmd_read_tree(int argc, const char **argv, const char *cmd_prefix)
if (nr_trees == 1 && !opts.prefix)
opts.skip_cache_tree_update = 1;
- cache_tree_free(&active_cache_tree);
+ cache_tree_free(&the_index.cache_tree);
for (i = 0; i < nr_trees; i++) {
struct tree *tree = trees[i];
parse_tree(tree);
diff --git a/builtin/rebase.c b/builtin/rebase.c
index 4d6839a578..1481c5b6a5 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -4,7 +4,7 @@
* Copyright (c) 2018 Pratik Karki
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "run-command.h"
#include "exec-cmd.h"
@@ -292,7 +292,7 @@ static int do_interactive_rebase(struct rebase_options *opts, unsigned flags)
if (ret)
error(_("could not generate todo list"));
else {
- discard_cache();
+ discard_index(&the_index);
if (todo_list_parse_insn_buffer(the_repository, todo_list.buf.buf,
&todo_list))
BUG("unusable todo list");
@@ -1270,7 +1270,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
if (get_oid("HEAD", &head))
die(_("Cannot read HEAD"));
- fd = hold_locked_index(&lock_file, 0);
+ fd = repo_hold_locked_index(the_repository, &lock_file, 0);
if (repo_read_index(the_repository) < 0)
die(_("could not read index"));
refresh_index(the_repository->index, REFRESH_QUIET, NULL, NULL,
@@ -1322,6 +1322,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
if (reset_head(the_repository, &ropts) < 0)
die(_("could not move back to %s"),
oid_to_hex(&options.orig_head->object.oid));
+ strbuf_release(&head_msg);
remove_branch_state(the_repository, 0);
ret = finish_rebase(&options);
goto cleanup;
@@ -1828,10 +1829,13 @@ cleanup:
strbuf_release(&revisions);
free(options.reflog_action);
free(options.head_name);
+ strvec_clear(&options.git_am_opts);
free(options.gpg_sign_opt);
free(options.cmd);
free(options.strategy);
strbuf_release(&options.git_format_patch_opt);
free(squash_onto_name);
+ string_list_clear(&exec, 0);
+ string_list_clear(&strategy_options, 0);
return !!ret;
}
diff --git a/builtin/repack.c b/builtin/repack.c
index 65eb1b8bd2..c1402ad038 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -973,6 +973,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
item = string_list_append(&names, line.buf);
item->util = populate_pack_exts(item->string);
}
+ strbuf_release(&line);
fclose(out);
ret = finish_command(&cmd);
if (ret)
@@ -1175,7 +1176,6 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
string_list_clear(&existing_nonkept_packs, 0);
string_list_clear(&existing_kept_packs, 0);
clear_pack_geometry(geometry);
- strbuf_release(&line);
return 0;
}
diff --git a/builtin/reset.c b/builtin/reset.c
index ab02777482..dbf6fdfaf0 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -7,7 +7,7 @@
*
* Copyright (c) 2005, 2006 Linus Torvalds and Junio C Hamano
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "config.h"
#include "lockfile.h"
@@ -84,7 +84,7 @@ static int reset_index(const char *ref, const struct object_id *oid, int reset_t
BUG("invalid reset_type passed to reset_index");
}
- read_cache_unmerged();
+ repo_read_index_unmerged(the_repository);
if (reset_type == KEEP) {
struct object_id head_oid;
@@ -145,7 +145,7 @@ static void update_index_from_diff(struct diff_queue_struct *q,
struct cache_entry *ce;
if (!is_in_reset_tree && !intent_to_add) {
- remove_file_from_cache(one->path);
+ remove_file_from_index(&the_index, one->path);
continue;
}
@@ -160,8 +160,8 @@ static void update_index_from_diff(struct diff_queue_struct *q,
* if this entry is outside the sparse cone - this is necessary
* to properly construct the reset sparse directory.
*/
- pos = cache_name_pos(one->path, strlen(one->path));
- if ((pos >= 0 && ce_skip_worktree(active_cache[pos])) ||
+ pos = index_name_pos(&the_index, one->path, strlen(one->path));
+ if ((pos >= 0 && ce_skip_worktree(the_index.cache[pos])) ||
(pos < 0 && !path_in_sparse_checkout(one->path, &the_index)))
ce->ce_flags |= CE_SKIP_WORKTREE;
@@ -172,7 +172,8 @@ static void update_index_from_diff(struct diff_queue_struct *q,
ce->ce_flags |= CE_INTENT_TO_ADD;
set_object_name_for_intent_to_add_entry(ce);
}
- add_cache_entry(ce, ADD_CACHE_OK_TO_ADD | ADD_CACHE_OK_TO_REPLACE);
+ add_index_entry(&the_index, ce,
+ ADD_CACHE_OK_TO_ADD | ADD_CACHE_OK_TO_REPLACE);
}
}
@@ -220,7 +221,7 @@ static void set_reflog_message(struct strbuf *sb, const char *action,
static void die_if_unmerged_cache(int reset_type)
{
- if (is_merge() || unmerged_cache())
+ if (is_merge() || unmerged_index(&the_index))
die(_("Cannot do a %s reset in the middle of a merge."),
_(reset_type_names[reset_type]));
@@ -422,7 +423,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("index file corrupt"));
/* Soft reset does not touch the index file nor the working tree
@@ -433,7 +434,8 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
if (reset_type != SOFT) {
struct lock_file lock = LOCK_INIT;
- hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock,
+ LOCK_DIE_ON_ERROR);
if (reset_type == MIXED) {
int flags = quiet ? REFRESH_QUIET : REFRESH_IN_PORCELAIN;
if (read_from_tree(&pathspec, &oid, intent_to_add))
@@ -483,5 +485,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
if (!pathspec.nr)
remove_branch_state(the_repository, 0);
+ discard_index(&the_index);
+
return update_ref_status;
}
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c
index b5666a03bd..e67999e5eb 100644
--- a/builtin/rev-parse.c
+++ b/builtin/rev-parse.c
@@ -3,7 +3,7 @@
*
* Copyright (C) Linus Torvalds, 2005
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "config.h"
#include "commit.h"
@@ -530,6 +530,7 @@ static int cmd_parseopt(int argc, const char **argv, const char *prefix)
strbuf_addstr(&parsed, " --");
sq_quote_argv(&parsed, argv);
puts(parsed.buf);
+ strbuf_release(&parsed);
return 0;
}
@@ -1007,7 +1008,7 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
continue;
}
if (!strcmp(arg, "--shared-index-path")) {
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("Could not read the index"));
if (the_index.split_index) {
const struct object_id *oid = &the_index.split_index->base_oid;
diff --git a/builtin/revert.c b/builtin/revert.c
index ee32c714a7..f2d86d2a8f 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -21,7 +21,7 @@
*/
static const char * const revert_usage[] = {
- N_("git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>..."),
+ N_("git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] <commit>..."),
N_("git revert (--continue | --skip | --abort | --quit)"),
NULL
};
@@ -221,6 +221,7 @@ static int run_sequencer(int argc, const char **argv, struct replay_opts *opts)
opts->strategy = xstrdup_or_null(opts->strategy);
if (!opts->strategy && getenv("GIT_TEST_MERGE_ALGORITHM"))
opts->strategy = xstrdup(getenv("GIT_TEST_MERGE_ALGORITHM"));
+ free(options);
if (cmd == 'q') {
int ret = sequencer_remove_state(opts);
@@ -261,6 +262,9 @@ int cmd_cherry_pick(int argc, const char **argv, const char *prefix)
opts.action = REPLAY_PICK;
sequencer_init_config(&opts);
res = run_sequencer(argc, argv, &opts);
+ if (opts.revs)
+ release_revisions(opts.revs);
+ free(opts.revs);
if (res < 0)
die(_("cherry-pick failed"));
return res;
diff --git a/builtin/rm.c b/builtin/rm.c
index 05bfe20a46..d4989d4d86 100644
--- a/builtin/rm.c
+++ b/builtin/rm.c
@@ -35,8 +35,8 @@ static int get_ours_cache_pos(const char *path, int pos)
{
int i = -pos - 1;
- while ((i < active_nr) && !strcmp(active_cache[i]->name, path)) {
- if (ce_stage(active_cache[i]) == 2)
+ while ((i < the_index.cache_nr) && !strcmp(the_index.cache[i]->name, path)) {
+ if (ce_stage(the_index.cache[i]) == 2)
return i;
i++;
}
@@ -72,13 +72,13 @@ static void submodules_absorb_gitdir_if_needed(void)
int pos;
const struct cache_entry *ce;
- pos = cache_name_pos(name, strlen(name));
+ pos = index_name_pos(&the_index, name, strlen(name));
if (pos < 0) {
pos = get_ours_cache_pos(name, pos);
if (pos < 0)
continue;
}
- ce = active_cache[pos];
+ ce = the_index.cache[pos];
if (!S_ISGITLINK(ce->ce_mode) ||
!file_exists(ce->name) ||
@@ -116,7 +116,7 @@ static int check_local_mod(struct object_id *head, int index_only)
int local_changes = 0;
int staged_changes = 0;
- pos = cache_name_pos(name, strlen(name));
+ pos = index_name_pos(&the_index, name, strlen(name));
if (pos < 0) {
/*
* Skip unmerged entries except for populated submodules
@@ -126,11 +126,11 @@ static int check_local_mod(struct object_id *head, int index_only)
if (pos < 0)
continue;
- if (!S_ISGITLINK(active_cache[pos]->ce_mode) ||
+ if (!S_ISGITLINK(the_index.cache[pos]->ce_mode) ||
is_empty_dir(name))
continue;
}
- ce = active_cache[pos];
+ ce = the_index.cache[pos];
if (lstat(ce->name, &st) < 0) {
if (!is_missing_file_error(errno))
@@ -167,7 +167,7 @@ static int check_local_mod(struct object_id *head, int index_only)
* Is the index different from the file in the work tree?
* If it's a submodule, is its work tree modified?
*/
- if (ce_match_stat(ce, &st, 0) ||
+ if (ie_match_stat(&the_index, ce, &st, 0) ||
(S_ISGITLINK(ce->ce_mode) &&
bad_to_remove_submodule(ce->name,
SUBMODULE_REMOVAL_DIE_ON_ERROR |
@@ -290,9 +290,9 @@ int cmd_rm(int argc, const char **argv, const char *prefix)
prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("index file corrupt"));
refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, &pathspec, NULL, NULL);
@@ -302,8 +302,8 @@ int cmd_rm(int argc, const char **argv, const char *prefix)
if (pathspec_needs_expanded_index(&the_index, &pathspec))
ensure_full_index(&the_index);
- for (i = 0; i < active_nr; i++) {
- const struct cache_entry *ce = active_cache[i];
+ for (i = 0; i < the_index.cache_nr; i++) {
+ const struct cache_entry *ce = the_index.cache[i];
if (!include_sparse &&
(ce_skip_worktree(ce) ||
@@ -385,7 +385,7 @@ int cmd_rm(int argc, const char **argv, const char *prefix)
if (!quiet)
printf("rm '%s'\n", path);
- if (remove_file_from_cache(path))
+ if (remove_file_from_index(&the_index, path))
die(_("git rm: unable to remove %s"), path);
}
diff --git a/builtin/stash.c b/builtin/stash.c
index bb5485b409..bb0fd86143 100644
--- a/builtin/stash.c
+++ b/builtin/stash.c
@@ -261,11 +261,11 @@ static int reset_tree(struct object_id *i_tree, int update, int reset)
struct tree *tree;
struct lock_file lock_file = LOCK_INIT;
- read_cache_preload(NULL);
- if (refresh_cache(REFRESH_QUIET))
+ repo_read_index_preload(the_repository, NULL, 0);
+ if (refresh_index(&the_index, REFRESH_QUIET, NULL, NULL, NULL))
return -1;
- hold_locked_index(&lock_file, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
memset(&opts, 0, sizeof(opts));
@@ -454,10 +454,10 @@ static void unstage_changes_unless_new(struct object_id *orig_tree)
* path, but left it out of the working tree, then clear the
* SKIP_WORKTREE bit and write it to the working tree.
*/
- if (pos >= 0 && ce_skip_worktree(active_cache[pos])) {
+ if (pos >= 0 && ce_skip_worktree(the_index.cache[pos])) {
struct stat st;
- ce = active_cache[pos];
+ ce = the_index.cache[pos];
if (!lstat(ce->name, &st)) {
/* Conflicting path present; relocate it */
struct strbuf new_path = STRBUF_INIT;
@@ -523,8 +523,9 @@ static int do_apply_stash(const char *prefix, struct stash_info *info,
struct tree *head, *merge, *merge_base;
struct lock_file lock = LOCK_INIT;
- read_cache_preload(NULL);
- if (refresh_and_write_cache(REFRESH_QUIET, 0, 0))
+ repo_read_index_preload(the_repository, NULL, 0);
+ if (repo_refresh_and_write_index(the_repository, REFRESH_QUIET, 0, 0,
+ NULL, NULL, NULL))
return -1;
if (write_cache_as_tree(&c_tree, 0, NULL))
@@ -549,14 +550,14 @@ static int do_apply_stash(const char *prefix, struct stash_info *info,
return error(_("conflicts in index. "
"Try without --index."));
- discard_cache();
- read_cache();
+ discard_index(&the_index);
+ repo_read_index(the_repository);
if (write_cache_as_tree(&index_tree, 0, NULL))
return error(_("could not save index tree"));
reset_head();
- discard_cache();
- read_cache();
+ discard_index(&the_index);
+ repo_read_index(the_repository);
}
}
@@ -1082,7 +1083,7 @@ static int check_changes_tracked_files(const struct pathspec *ps)
if (get_oid("HEAD", &dummy))
return -1;
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
return -1;
init_revisions(&rev, NULL);
@@ -1286,7 +1287,7 @@ static int stash_working_tree(struct stash_info *info, const struct pathspec *ps
rev.diffopt.format_callback = add_diff_to_buf;
rev.diffopt.format_callback_data = &diff_output;
- if (read_cache_preload(&rev.diffopt.pathspec) < 0) {
+ if (repo_read_index_preload(the_repository, &rev.diffopt.pathspec, 0) < 0) {
ret = -1;
goto done;
}
@@ -1344,8 +1345,9 @@ static int do_create_stash(const struct pathspec *ps, struct strbuf *stash_msg_b
prepare_fallback_ident("git stash", "git@stash");
- read_cache_preload(NULL);
- if (refresh_and_write_cache(REFRESH_QUIET, 0, 0) < 0) {
+ repo_read_index_preload(the_repository, NULL, 0);
+ if (repo_refresh_and_write_index(the_repository, REFRESH_QUIET, 0, 0,
+ NULL, NULL, NULL) < 0) {
ret = -1;
goto done;
}
@@ -1513,15 +1515,15 @@ static int do_push_stash(const struct pathspec *ps, const char *stash_msg, int q
goto done;
}
- read_cache_preload(NULL);
+ repo_read_index_preload(the_repository, NULL, 0);
if (!include_untracked && ps->nr) {
int i;
char *ps_matched = xcalloc(ps->nr, 1);
/* TODO: audit for interaction with sparse-index. */
ensure_full_index(&the_index);
- for (i = 0; i < active_nr; i++)
- ce_path_match(&the_index, active_cache[i], ps,
+ for (i = 0; i < the_index.cache_nr; i++)
+ ce_path_match(&the_index, the_index.cache[i], ps,
ps_matched);
if (report_path_error(ps_matched, ps)) {
@@ -1533,7 +1535,8 @@ static int do_push_stash(const struct pathspec *ps, const char *stash_msg, int q
free(ps_matched);
}
- if (refresh_and_write_cache(REFRESH_QUIET, 0, 0)) {
+ if (repo_refresh_and_write_index(the_repository, REFRESH_QUIET, 0, 0,
+ NULL, NULL, NULL)) {
ret = -1;
goto done;
}
@@ -1590,7 +1593,7 @@ static int do_push_stash(const struct pathspec *ps, const char *stash_msg, int q
goto done;
}
}
- discard_cache();
+ discard_index(&the_index);
if (ps->nr) {
struct child_process cp_add = CHILD_PROCESS_INIT;
struct child_process cp_diff = CHILD_PROCESS_INIT;
@@ -1686,8 +1689,10 @@ static int do_push_stash(const struct pathspec *ps, const char *stash_msg, int q
}
done:
+ strbuf_release(&patch);
free_stash_info(&info);
strbuf_release(&stash_msg_buf);
+ strbuf_release(&untracked_files);
return ret;
}
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index c75e9e86b0..05f2c9bc98 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "builtin.h"
#include "repository.h"
#include "cache.h"
@@ -196,11 +196,11 @@ static int module_list_compute(const char **argv,
if (pathspec->nr)
ps_matched = xcalloc(pathspec->nr, 1);
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("index file corrupt"));
- for (i = 0; i < active_nr; i++) {
- const struct cache_entry *ce = active_cache[i];
+ for (i = 0; i < the_index.cache_nr; i++) {
+ const struct cache_entry *ce = the_index.cache[i];
if (!match_pathspec(&the_index, pathspec, ce->name, ce_namelen(ce),
0, ps_matched, 1) ||
@@ -209,8 +209,8 @@ static int module_list_compute(const char **argv,
ALLOC_GROW(list->entries, list->nr + 1, list->alloc);
list->entries[list->nr++] = ce;
- while (i + 1 < active_nr &&
- !strcmp(ce->name, active_cache[i + 1]->name))
+ while (i + 1 < the_index.cache_nr &&
+ !strcmp(ce->name, the_index.cache[i + 1]->name))
/*
* Skip entries with the same name in different stages
* to make sure an entry is returned only once.
@@ -1110,13 +1110,13 @@ static int compute_summary_module_list(struct object_id *head_oid,
if (!info->cached) {
if (diff_cmd == DIFF_INDEX)
setup_work_tree();
- if (read_cache_preload(&rev.diffopt.pathspec) < 0) {
- perror("read_cache_preload");
+ if (repo_read_index_preload(the_repository, &rev.diffopt.pathspec, 0) < 0) {
+ perror("repo_read_index_preload");
ret = -1;
goto cleanup;
}
- } else if (read_cache() < 0) {
- perror("read_cache");
+ } else if (repo_read_index(the_repository) < 0) {
+ perror("repo_read_cache");
ret = -1;
goto cleanup;
}
@@ -3187,7 +3187,7 @@ static void die_on_index_match(const char *path, int force)
const char *args[] = { path, NULL };
parse_pathspec(&ps, 0, PATHSPEC_PREFER_CWD, NULL, args);
- if (read_cache_preload(NULL) < 0)
+ if (repo_read_index_preload(the_repository, NULL, 0) < 0)
die(_("index file corrupt"));
if (ps.nr) {
@@ -3202,15 +3202,15 @@ static void die_on_index_match(const char *path, int force)
* need to check ps_matched[0] to know if a cache
* entry matched.
*/
- for (i = 0; i < active_nr; i++) {
- ce_path_match(&the_index, active_cache[i], &ps,
+ for (i = 0; i < the_index.cache_nr; i++) {
+ ce_path_match(&the_index, the_index.cache[i], &ps,
ps_matched);
if (ps_matched[0]) {
if (!force)
die(_("'%s' already exists in the index"),
path);
- if (!S_ISGITLINK(active_cache[i]->ce_mode))
+ if (!S_ISGITLINK(the_index.cache[i]->ce_mode))
die(_("'%s' already exists in the index "
"and is not a submodule"), path);
break;
diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c
index 9e8119dd35..88de32b7d7 100644
--- a/builtin/unpack-file.c
+++ b/builtin/unpack-file.c
@@ -19,6 +19,7 @@ static char *create_temp_file(struct object_id *oid)
if (write_in_full(fd, buf, size) < 0)
die_errno("unable to write temp-file");
close(fd);
+ free(buf);
return path;
}
diff --git a/builtin/update-index.c b/builtin/update-index.c
index 7b0c924d7d..82d5902cc8 100644
--- a/builtin/update-index.c
+++ b/builtin/update-index.c
@@ -237,16 +237,16 @@ done:
static int mark_ce_flags(const char *path, int flag, int mark)
{
int namelen = strlen(path);
- int pos = cache_name_pos(path, namelen);
+ int pos = index_name_pos(&the_index, path, namelen);
if (0 <= pos) {
- mark_fsmonitor_invalid(&the_index, active_cache[pos]);
+ mark_fsmonitor_invalid(&the_index, the_index.cache[pos]);
if (mark)
- active_cache[pos]->ce_flags |= flag;
+ the_index.cache[pos]->ce_flags |= flag;
else
- active_cache[pos]->ce_flags &= ~flag;
- active_cache[pos]->ce_flags |= CE_UPDATE_IN_BASE;
+ the_index.cache[pos]->ce_flags &= ~flag;
+ the_index.cache[pos]->ce_flags |= CE_UPDATE_IN_BASE;
cache_tree_invalidate_path(&the_index, path);
- active_cache_changed |= CE_ENTRY_CHANGED;
+ the_index.cache_changed |= CE_ENTRY_CHANGED;
return 0;
}
return -1;
@@ -256,7 +256,7 @@ static int remove_one_path(const char *path)
{
if (!allow_remove)
return error("%s: does not exist and --remove not passed", path);
- if (remove_file_from_cache(path))
+ if (remove_file_from_index(&the_index, path))
return error("%s: cannot remove from the index", path);
return 0;
}
@@ -281,7 +281,7 @@ static int add_one_path(const struct cache_entry *old, const char *path, int len
struct cache_entry *ce;
/* Was the old index entry already up-to-date? */
- if (old && !ce_stage(old) && !ce_match_stat(old, st, 0))
+ if (old && !ce_stage(old) && !ie_match_stat(&the_index, old, st, 0))
return 0;
ce = make_empty_cache_entry(&the_index, len);
@@ -298,7 +298,7 @@ static int add_one_path(const struct cache_entry *old, const char *path, int len
}
option = allow_add ? ADD_CACHE_OK_TO_ADD : 0;
option |= allow_replace ? ADD_CACHE_OK_TO_REPLACE : 0;
- if (add_cache_entry(ce, option)) {
+ if (add_index_entry(&the_index, ce, option)) {
discard_cache_entry(ce);
return error("%s: cannot add to the index - missing --add option?", path);
}
@@ -331,11 +331,11 @@ static int add_one_path(const struct cache_entry *old, const char *path, int len
static int process_directory(const char *path, int len, struct stat *st)
{
struct object_id oid;
- int pos = cache_name_pos(path, len);
+ int pos = index_name_pos(&the_index, path, len);
/* Exact match: file or existing gitlink */
if (pos >= 0) {
- const struct cache_entry *ce = active_cache[pos];
+ const struct cache_entry *ce = the_index.cache[pos];
if (S_ISGITLINK(ce->ce_mode)) {
/* Do nothing to the index if there is no HEAD! */
@@ -350,8 +350,8 @@ static int process_directory(const char *path, int len, struct stat *st)
/* Inexact match: is there perhaps a subdirectory match? */
pos = -pos-1;
- while (pos < active_nr) {
- const struct cache_entry *ce = active_cache[pos++];
+ while (pos < the_index.cache_nr) {
+ const struct cache_entry *ce = the_index.cache[pos++];
if (strncmp(ce->name, path, len))
break;
@@ -382,7 +382,7 @@ static int process_path(const char *path, struct stat *st, int stat_errno)
return error("'%s' is beyond a symbolic link", path);
pos = cache_name_pos(path, len);
- ce = pos < 0 ? NULL : active_cache[pos];
+ ce = pos < 0 ? NULL : the_index.cache[pos];
if (ce && ce_skip_worktree(ce)) {
/*
* working directory version is assumed "good"
@@ -390,7 +390,7 @@ static int process_path(const char *path, struct stat *st, int stat_errno)
* On the other hand, removing it from index should work
*/
if (!ignore_skip_worktree_entries && allow_remove &&
- remove_file_from_cache(path))
+ remove_file_from_index(&the_index, path))
return error("%s: cannot remove from the index", path);
return 0;
}
@@ -429,7 +429,7 @@ static int add_cacheinfo(unsigned int mode, const struct object_id *oid,
ce->ce_flags |= CE_VALID;
option = allow_add ? ADD_CACHE_OK_TO_ADD : 0;
option |= allow_replace ? ADD_CACHE_OK_TO_REPLACE : 0;
- if (add_cache_entry(ce, option))
+ if (add_index_entry(&the_index, ce, option))
return error("%s: cannot add to the index - missing --add option?",
path);
report("add '%s'", path);
@@ -441,11 +441,11 @@ static void chmod_path(char flip, const char *path)
int pos;
struct cache_entry *ce;
- pos = cache_name_pos(path, strlen(path));
+ pos = index_name_pos(&the_index, path, strlen(path));
if (pos < 0)
goto fail;
- ce = active_cache[pos];
- if (chmod_cache_entry(ce, flip) < 0)
+ ce = the_index.cache[pos];
+ if (chmod_index_entry(&the_index, ce, flip) < 0)
goto fail;
report("chmod %cx '%s'", flip, path);
@@ -488,7 +488,7 @@ static void update_one(const char *path)
}
if (force_remove) {
- if (remove_file_from_cache(path))
+ if (remove_file_from_index(&the_index, path))
die("git update-index: unable to remove %s", path);
report("remove '%s'", path);
return;
@@ -571,7 +571,7 @@ static void read_index_info(int nul_term_line)
if (!mode) {
/* mode == 0 means there is no such path -- remove */
- if (remove_file_from_cache(path_name))
+ if (remove_file_from_index(&the_index, path_name))
die("git update-index: unable to remove %s",
ptr);
}
@@ -638,12 +638,12 @@ static int unresolve_one(const char *path)
struct cache_entry *ce_2 = NULL, *ce_3 = NULL;
/* See if there is such entry in the index. */
- pos = cache_name_pos(path, namelen);
+ pos = index_name_pos(&the_index, path, namelen);
if (0 <= pos) {
/* already merged */
- pos = unmerge_cache_entry_at(pos);
- if (pos < active_nr) {
- const struct cache_entry *ce = active_cache[pos];
+ pos = unmerge_index_entry_at(&the_index, pos);
+ if (pos < the_index.cache_nr) {
+ const struct cache_entry *ce = the_index.cache[pos];
if (ce_stage(ce) &&
ce_namelen(ce) == namelen &&
!memcmp(ce->name, path, namelen))
@@ -656,8 +656,8 @@ static int unresolve_one(const char *path)
* want to do anything in the former case.
*/
pos = -pos-1;
- if (pos < active_nr) {
- const struct cache_entry *ce = active_cache[pos];
+ if (pos < the_index.cache_nr) {
+ const struct cache_entry *ce = the_index.cache[pos];
if (ce_namelen(ce) == namelen &&
!memcmp(ce->name, path, namelen)) {
fprintf(stderr,
@@ -686,13 +686,13 @@ static int unresolve_one(const char *path)
goto free_return;
}
- remove_file_from_cache(path);
- if (add_cache_entry(ce_2, ADD_CACHE_OK_TO_ADD)) {
+ remove_file_from_index(&the_index, path);
+ if (add_index_entry(&the_index, ce_2, ADD_CACHE_OK_TO_ADD)) {
error("%s: cannot add our version to the index.", path);
ret = -1;
goto free_return;
}
- if (!add_cache_entry(ce_3, ADD_CACHE_OK_TO_ADD))
+ if (!add_index_entry(&the_index, ce_3, ADD_CACHE_OK_TO_ADD))
return 0;
error("%s: cannot add their version to the index.", path);
ret = -1;
@@ -752,8 +752,8 @@ static int do_reupdate(const char **paths,
*/
has_head = 0;
redo:
- for (pos = 0; pos < active_nr; pos++) {
- const struct cache_entry *ce = active_cache[pos];
+ for (pos = 0; pos < the_index.cache_nr; pos++) {
+ const struct cache_entry *ce = the_index.cache[pos];
struct cache_entry *old = NULL;
int save_nr;
char *path;
@@ -782,12 +782,12 @@ static int do_reupdate(const char **paths,
* path anymore, in which case, under 'allow_remove',
* or worse yet 'allow_replace', active_nr may decrease.
*/
- save_nr = active_nr;
+ save_nr = the_index.cache_nr;
path = xstrdup(ce->name);
update_one(path);
free(path);
discard_cache_entry(old);
- if (save_nr != active_nr)
+ if (save_nr != the_index.cache_nr)
goto redo;
}
clear_pathspec(&pathspec);
@@ -802,18 +802,19 @@ struct refresh_params {
static int refresh(struct refresh_params *o, unsigned int flag)
{
setup_work_tree();
- read_cache();
- *o->has_errors |= refresh_cache(o->flags | flag);
+ repo_read_index(the_repository);
+ *o->has_errors |= refresh_index(&the_index, o->flags | flag, NULL,
+ NULL, NULL);
if (has_racy_timestamp(&the_index)) {
/*
* Even if nothing else has changed, updating the file
* increases the chance that racy timestamps become
* non-racy, helping future run-time performance.
* We do that even in case of "errors" returned by
- * refresh_cache() as these are no actual errors.
+ * refresh_index() as these are no actual errors.
* cmd_status() does the same.
*/
- active_cache_changed |= SOMETHING_CHANGED;
+ the_index.cache_changed |= SOMETHING_CHANGED;
}
return 0;
}
@@ -850,7 +851,7 @@ static int resolve_undo_clear_callback(const struct option *opt,
{
BUG_ON_OPT_NEG(unset);
BUG_ON_OPT_ARG(arg);
- resolve_undo_clear();
+ resolve_undo_clear_index(&the_index);
return 0;
}
@@ -951,7 +952,7 @@ static enum parse_opt_result unresolve_callback(
*has_errors = do_unresolve(ctx->argc, ctx->argv,
prefix, prefix ? strlen(prefix) : 0);
if (*has_errors)
- active_cache_changed = 0;
+ the_index.cache_changed = 0;
ctx->argv += ctx->argc - 1;
ctx->argc = 1;
@@ -972,7 +973,7 @@ static enum parse_opt_result reupdate_callback(
setup_work_tree();
*has_errors = do_reupdate(ctx->argv + 1, prefix);
if (*has_errors)
- active_cache_changed = 0;
+ the_index.cache_changed = 0;
ctx->argv += ctx->argc - 1;
ctx->argc = 1;
@@ -1109,11 +1110,11 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
the_repository->settings.command_requires_full_index = 0;
/* we will diagnose later if it turns out that we need to update it */
- newfd = hold_locked_index(&lock_file, 0);
+ newfd = repo_hold_locked_index(the_repository, &lock_file, 0);
if (newfd < 0)
lock_error = errno;
- entries = read_cache();
+ entries = repo_read_index(the_repository);
if (entries < 0)
die("cache corrupted");
@@ -1178,7 +1179,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
INDEX_FORMAT_LB, INDEX_FORMAT_UB);
if (the_index.version != preferred_index_format)
- active_cache_changed |= SOMETHING_CHANGED;
+ the_index.cache_changed |= SOMETHING_CHANGED;
the_index.version = preferred_index_format;
}
@@ -1290,7 +1291,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
report(_("fsmonitor disabled"));
}
- if (active_cache_changed || force_write) {
+ if (the_index.cache_changed || force_write) {
if (newfd < 0) {
if (refresh_args.flags & REFRESH_QUIET)
exit(128);
diff --git a/builtin/var.c b/builtin/var.c
index 491db27429..a1a2522126 100644
--- a/builtin/var.c
+++ b/builtin/var.c
@@ -11,12 +11,7 @@ static const char var_usage[] = "git var (-l | <variable>)";
static const char *editor(int flag)
{
- const char *pgm = git_editor();
-
- if (!pgm && flag & IDENT_STRICT)
- die("Terminal is dumb, but EDITOR unset");
-
- return pgm;
+ return git_editor();
}
static const char *pager(int flag)
@@ -56,18 +51,15 @@ static void list_vars(void)
printf("%s=%s\n", ptr->name, val);
}
-static const char *read_var(const char *var)
+static const struct git_var *get_git_var(const char *var)
{
struct git_var *ptr;
- const char *val;
- val = NULL;
for (ptr = git_vars; ptr->read; ptr++) {
if (strcmp(var, ptr->name) == 0) {
- val = ptr->read(IDENT_STRICT);
- break;
+ return ptr;
}
}
- return val;
+ return NULL;
}
static int show_config(const char *var, const char *value, void *cb)
@@ -81,7 +73,9 @@ static int show_config(const char *var, const char *value, void *cb)
int cmd_var(int argc, const char **argv, const char *prefix)
{
- const char *val = NULL;
+ const struct git_var *git_var;
+ const char *val;
+
if (argc != 2)
usage(var_usage);
@@ -91,10 +85,15 @@ int cmd_var(int argc, const char **argv, const char *prefix)
return 0;
}
git_config(git_default_config, NULL);
- val = read_var(argv[1]);
- if (!val)
+
+ git_var = get_git_var(argv[1]);
+ if (!git_var)
usage(var_usage);
+ val = git_var->read(IDENT_STRICT);
+ if (!val)
+ return 1;
+
printf("%s\n", val);
return 0;
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 4a24d53be1..591d659fae 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -629,6 +629,7 @@ static int add(int ac, const char **av, const char *prefix)
N_("try to match the new branch name with a remote-tracking branch")),
OPT_END()
};
+ int ret;
memset(&opts, 0, sizeof(opts));
opts.checkout = 1;
@@ -705,9 +706,9 @@ static int add(int ac, const char **av, const char *prefix)
die(_("--[no-]track can only be used if a new branch is created"));
}
- UNLEAK(path);
- UNLEAK(opts);
- return add_worktree(path, branch, &opts);
+ ret = add_worktree(path, branch, &opts);
+ free(path);
+ return ret;
}
static void show_worktree_porcelain(struct worktree *wt, int line_terminator)
diff --git a/cache.h b/cache.h
index 26ed03bd6d..07d40b0964 100644
--- a/cache.h
+++ b/cache.h
@@ -433,42 +433,18 @@ typedef int (*must_prefetch_predicate)(const struct cache_entry *);
void prefetch_cache_entries(const struct index_state *istate,
must_prefetch_predicate must_prefetch);
-#ifdef USE_THE_INDEX_COMPATIBILITY_MACROS
+#if defined(USE_THE_INDEX_COMPATIBILITY_MACROS) || defined(USE_THE_INDEX_VARIABLE)
extern struct index_state the_index;
-#define active_cache (the_index.cache)
+#ifndef USE_THE_INDEX_VARIABLE
+#ifdef USE_THE_INDEX_COMPATIBILITY_MACROS
#define active_nr (the_index.cache_nr)
-#define active_alloc (the_index.cache_alloc)
-#define active_cache_changed (the_index.cache_changed)
-#define active_cache_tree (the_index.cache_tree)
#define read_cache() repo_read_index(the_repository)
-#define read_cache_from(path) read_index_from(&the_index, (path), (get_git_dir()))
-#define read_cache_preload(pathspec) repo_read_index_preload(the_repository, (pathspec), 0)
-#define is_cache_unborn() is_index_unborn(&the_index)
-#define read_cache_unmerged() repo_read_index_unmerged(the_repository)
#define discard_cache() discard_index(&the_index)
-#define unmerged_cache() unmerged_index(&the_index)
#define cache_name_pos(name, namelen) index_name_pos(&the_index,(name),(namelen))
-#define add_cache_entry(ce, option) add_index_entry(&the_index, (ce), (option))
-#define rename_cache_entry_at(pos, new_name) rename_index_entry_at(&the_index, (pos), (new_name))
-#define remove_cache_entry_at(pos) remove_index_entry_at(&the_index, (pos))
-#define remove_file_from_cache(path) remove_file_from_index(&the_index, (path))
-#define add_to_cache(path, st, flags) add_to_index(&the_index, (path), (st), (flags))
-#define add_file_to_cache(path, flags) add_file_to_index(&the_index, (path), (flags))
-#define chmod_cache_entry(ce, flip) chmod_index_entry(&the_index, (ce), (flip))
-#define refresh_cache(flags) refresh_index(&the_index, (flags), NULL, NULL, NULL)
-#define refresh_and_write_cache(refresh_flags, write_flags, gentle) repo_refresh_and_write_index(the_repository, (refresh_flags), (write_flags), (gentle), NULL, NULL, NULL)
-#define ce_match_stat(ce, st, options) ie_match_stat(&the_index, (ce), (st), (options))
-#define ce_modified(ce, st, options) ie_modified(&the_index, (ce), (st), (options))
-#define cache_dir_exists(name, namelen) index_dir_exists(&the_index, (name), (namelen))
-#define cache_file_exists(name, namelen, igncase) index_file_exists(&the_index, (name), (namelen), (igncase))
-#define cache_name_is_other(name, namelen) index_name_is_other(&the_index, (name), (namelen))
-#define resolve_undo_clear() resolve_undo_clear_index(&the_index)
-#define unmerge_cache_entry_at(at) unmerge_index_entry_at(&the_index, at)
-#define unmerge_cache(pathspec) unmerge_index(&the_index, pathspec)
-#define read_blob_data_from_cache(path, sz) read_blob_data_from_index(&the_index, (path), (sz))
-#define hold_locked_index(lock_file, flags) repo_hold_locked_index(the_repository, (lock_file), (flags))
+#endif
+#endif
#endif
#define TYPE_BITS 3
@@ -789,7 +765,7 @@ void ensure_full_index(struct index_state *istate);
*/
int write_locked_index(struct index_state *, struct lock_file *lock, unsigned flags);
-int discard_index(struct index_state *);
+void discard_index(struct index_state *);
void move_index_extensions(struct index_state *dst, struct index_state *src);
int unmerged_index(const struct index_state *);
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 107757a1fe..4f407530d3 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -5,17 +5,17 @@
. ${0%/*}/lib.sh
-P4WHENCE=https://cdist2.perforce.com/perforce/r$LINUX_P4_VERSION
+P4WHENCE=https://cdist2.perforce.com/perforce/r21.2
LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION
UBUNTU_COMMON_PKGS="make libssl-dev libcurl4-openssl-dev libexpat-dev
tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl
libemail-valid-perl libio-socket-ssl-perl libnet-smtp-ssl-perl"
case "$runs_on_pool" in
-ubuntu-latest)
+ubuntu-*)
sudo apt-get -q update
sudo apt-get -q -y install language-pack-is libsvn-perl apache2 \
- $UBUNTU_COMMON_PKGS $CC_PACKAGE
+ $UBUNTU_COMMON_PKGS $CC_PACKAGE $PYTHON_PACKAGE
mkdir --parents "$P4_PATH"
pushd "$P4_PATH"
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
@@ -30,7 +30,7 @@ ubuntu-latest)
cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
popd
;;
-macos-latest)
+macos-*)
export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
# Uncomment this if you want to run perf tests:
# brew install gnu-time
@@ -40,7 +40,7 @@ macos-latest)
mkdir -p $HOME/bin
(
cd $HOME/bin
- wget -q "https://cdist2.perforce.com/perforce/r21.2/bin.macosx1015x86_64/helix-core-server.tgz" &&
+ wget -q "$P4WHENCE/bin.macosx1015x86_64/helix-core-server.tgz" &&
tar -xf helix-core-server.tgz &&
sudo xattr -d com.apple.quarantine p4 p4d 2>/dev/null || true
)
@@ -83,9 +83,9 @@ esac
if type p4d >/dev/null 2>&1 && type p4 >/dev/null 2>&1
then
echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)"
- p4d -V | grep Rev.
+ p4d -V
echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)"
- p4 -V | grep Rev.
+ p4 -V
else
echo >&2 "WARNING: perforce wasn't installed, see above for clues why"
fi
diff --git a/ci/lib.sh b/ci/lib.sh
index 24d20a5d64..706e3ba7e9 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -226,18 +226,18 @@ export GIT_TEST_CLONE_2GB=true
export SKIP_DASHED_BUILT_INS=YesPlease
case "$runs_on_pool" in
-ubuntu-latest)
+ubuntu-*)
if test "$jobname" = "linux-gcc-default"
then
break
fi
- if [ "$jobname" = linux-gcc ]
+ PYTHON_PACKAGE=python2
+ if test "$jobname" = linux-gcc
then
- MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3"
- else
- MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python2"
+ PYTHON_PACKAGE=python3
fi
+ MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE"
export GIT_TEST_HTTPD=true
@@ -246,14 +246,13 @@ ubuntu-latest)
# were recorded in the Homebrew database upon creating the OS X
# image.
# Keep that in mind when you encounter a broken OS X build!
- export LINUX_P4_VERSION="16.2"
export LINUX_GIT_LFS_VERSION="1.5.2"
P4_PATH="$HOME/custom/p4"
GIT_LFS_PATH="$HOME/custom/git-lfs"
export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
;;
-macos-latest)
+macos-*)
if [ "$jobname" = osx-gcc ]
then
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=$(which python3)"
diff --git a/compat/fsmonitor/fsm-darwin-gcc.h b/compat/fsmonitor/fsm-darwin-gcc.h
index 1c75c3d48e..3496e29b3a 100644
--- a/compat/fsmonitor/fsm-darwin-gcc.h
+++ b/compat/fsmonitor/fsm-darwin-gcc.h
@@ -80,9 +80,7 @@ void CFRunLoopRun(void);
void CFRunLoopStop(CFRunLoopRef run_loop);
CFRunLoopRef CFRunLoopGetCurrent(void);
extern CFStringRef kCFRunLoopDefaultMode;
-void FSEventStreamScheduleWithRunLoop(FSEventStreamRef stream,
- CFRunLoopRef run_loop,
- CFStringRef run_loop_mode);
+void FSEventStreamSetDispatchQueue(FSEventStreamRef stream, dispatch_queue_t q);
unsigned char FSEventStreamStart(FSEventStreamRef stream);
void FSEventStreamStop(FSEventStreamRef stream);
void FSEventStreamInvalidate(FSEventStreamRef stream);
diff --git a/compat/fsmonitor/fsm-listen-darwin.c b/compat/fsmonitor/fsm-listen-darwin.c
index cc9af1e3cb..97a55a6f0a 100644
--- a/compat/fsmonitor/fsm-listen-darwin.c
+++ b/compat/fsmonitor/fsm-listen-darwin.c
@@ -1,4 +1,5 @@
#ifndef __clang__
+#include <dispatch/dispatch.h>
#include "fsm-darwin-gcc.h"
#else
#include <CoreFoundation/CoreFoundation.h>
@@ -38,7 +39,9 @@ struct fsm_listen_data
FSEventStreamRef stream;
- CFRunLoopRef rl;
+ dispatch_queue_t dq;
+ pthread_cond_t dq_finished;
+ pthread_mutex_t dq_lock;
enum shutdown_style {
SHUTDOWN_EVENT = 0,
@@ -379,8 +382,11 @@ force_shutdown:
fsmonitor_batch__free_list(batch);
string_list_clear(&cookie_list, 0);
+ pthread_mutex_lock(&data->dq_lock);
data->shutdown_style = FORCE_SHUTDOWN;
- CFRunLoopStop(data->rl);
+ pthread_cond_broadcast(&data->dq_finished);
+ pthread_mutex_unlock(&data->dq_lock);
+
strbuf_release(&tmp);
return;
}
@@ -441,10 +447,6 @@ int fsm_listen__ctor(struct fsmonitor_daemon_state *state)
if (!data->stream)
goto failed;
- /*
- * `data->rl` needs to be set inside the listener thread.
- */
-
return 0;
failed:
@@ -471,6 +473,11 @@ void fsm_listen__dtor(struct fsmonitor_daemon_state *state)
FSEventStreamRelease(data->stream);
}
+ if (data->dq)
+ dispatch_release(data->dq);
+ pthread_cond_destroy(&data->dq_finished);
+ pthread_mutex_destroy(&data->dq_lock);
+
FREE_AND_NULL(state->listen_data);
}
@@ -479,9 +486,11 @@ void fsm_listen__stop_async(struct fsmonitor_daemon_state *state)
struct fsm_listen_data *data;
data = state->listen_data;
- data->shutdown_style = SHUTDOWN_EVENT;
- CFRunLoopStop(data->rl);
+ pthread_mutex_lock(&data->dq_lock);
+ data->shutdown_style = SHUTDOWN_EVENT;
+ pthread_cond_broadcast(&data->dq_finished);
+ pthread_mutex_unlock(&data->dq_lock);
}
void fsm_listen__loop(struct fsmonitor_daemon_state *state)
@@ -490,9 +499,11 @@ void fsm_listen__loop(struct fsmonitor_daemon_state *state)
data = state->listen_data;
- data->rl = CFRunLoopGetCurrent();
+ pthread_mutex_init(&data->dq_lock, NULL);
+ pthread_cond_init(&data->dq_finished, NULL);
+ data->dq = dispatch_queue_create("FSMonitor", NULL);
- FSEventStreamScheduleWithRunLoop(data->stream, data->rl, kCFRunLoopDefaultMode);
+ FSEventStreamSetDispatchQueue(data->stream, data->dq);
data->stream_scheduled = 1;
if (!FSEventStreamStart(data->stream)) {
@@ -501,7 +512,9 @@ void fsm_listen__loop(struct fsmonitor_daemon_state *state)
}
data->stream_started = 1;
- CFRunLoopRun();
+ pthread_mutex_lock(&data->dq_lock);
+ pthread_cond_wait(&data->dq_finished, &data->dq_lock);
+ pthread_mutex_unlock(&data->dq_lock);
switch (data->shutdown_style) {
case FORCE_ERROR_STOP:
diff --git a/config.c b/config.c
index c058b2c70c..27f38283ad 100644
--- a/config.c
+++ b/config.c
@@ -1160,21 +1160,26 @@ static int git_parse_signed(const char *value, intmax_t *ret, intmax_t max)
if (value && *value) {
char *end;
intmax_t val;
- uintmax_t uval;
- uintmax_t factor;
+ intmax_t factor;
+
+ if (max < 0)
+ BUG("max must be a positive integer");
errno = 0;
val = strtoimax(value, &end, 0);
if (errno == ERANGE)
return 0;
+ if (end == value) {
+ errno = EINVAL;
+ return 0;
+ }
factor = get_unit_factor(end);
if (!factor) {
errno = EINVAL;
return 0;
}
- uval = val < 0 ? -val : val;
- if (unsigned_mult_overflows(factor, uval) ||
- factor * uval > max) {
+ if ((val < 0 && -max / factor > val) ||
+ (val > 0 && max / factor < val)) {
errno = ERANGE;
return 0;
}
@@ -1193,10 +1198,19 @@ static int git_parse_unsigned(const char *value, uintmax_t *ret, uintmax_t max)
uintmax_t val;
uintmax_t factor;
+ /* negative values would be accepted by strtoumax */
+ if (strchr(value, '-')) {
+ errno = EINVAL;
+ return 0;
+ }
errno = 0;
val = strtoumax(value, &end, 0);
if (errno == ERANGE)
return 0;
+ if (end == value) {
+ errno = EINVAL;
+ return 0;
+ }
factor = get_unit_factor(end);
if (!factor) {
errno = EINVAL;
diff --git a/connected.c b/connected.c
index 4f6388eed7..b90fd61790 100644
--- a/connected.c
+++ b/connected.c
@@ -85,6 +85,7 @@ int check_connected(oid_iterate_fn fn, void *cb_data,
promisor_pack_found:
;
} while ((oid = fn(cb_data)) != NULL);
+ free(new_pack);
return 0;
}
@@ -121,8 +122,10 @@ no_promisor_pack_found:
else
rev_list.no_stderr = opt->quiet;
- if (start_command(&rev_list))
+ if (start_command(&rev_list)) {
+ free(new_pack);
return error(_("Could not run 'git rev-list'"));
+ }
sigchain_push(SIGPIPE, SIG_IGN);
@@ -154,5 +157,6 @@ no_promisor_pack_found:
err = error_errno(_("failed to close rev-list's stdin"));
sigchain_pop(SIGPIPE);
+ free(new_pack);
return finish_command(&rev_list) || err;
}
diff --git a/contrib/coccinelle/index-compatibility.cocci b/contrib/coccinelle/index-compatibility.cocci
new file mode 100644
index 0000000000..8520f03128
--- /dev/null
+++ b/contrib/coccinelle/index-compatibility.cocci
@@ -0,0 +1,139 @@
+// the_index.* variables
+@@
+identifier AC = active_cache;
+identifier ACC = active_cache_changed;
+identifier ACT = active_cache_tree;
+@@
+(
+- AC
++ the_index.cache
+|
+- ACC
++ the_index.cache_changed
+|
+- ACT
++ the_index.cache_tree
+)
+
+@@
+identifier AN = active_nr;
+identifier f != prepare_to_commit;
+@@
+ f(...) {<...
+- AN
++ the_index.cache_nr
+ ...>}
+
+// "the_repository" simple cases
+@@
+@@
+(
+- read_cache_unmerged
++ repo_read_index_unmerged
+|
+- hold_locked_index
++ repo_hold_locked_index
+)
+ (
++ the_repository,
+ ...)
+
+// "the_repository" special-cases
+@@
+@@
+(
+- read_cache_preload
++ repo_read_index_preload
+)
+ (
++ the_repository,
+ ...
++ , 0
+ )
+
+// "the_index" simple cases
+@@
+@@
+(
+- is_cache_unborn
++ is_index_unborn
+|
+- unmerged_cache
++ unmerged_index
+|
+- rename_cache_entry_at
++ rename_index_entry_at
+|
+- chmod_cache_entry
++ chmod_index_entry
+|
+- cache_file_exists
++ index_file_exists
+|
+- cache_name_is_other
++ index_name_is_other
+|
+- unmerge_cache_entry_at
++ unmerge_index_entry_at
+|
+- add_to_cache
++ add_to_index
+|
+- add_file_to_cache
++ add_file_to_index
+|
+- add_cache_entry
++ add_index_entry
+|
+- remove_file_from_cache
++ remove_file_from_index
+|
+- ce_match_stat
++ ie_match_stat
+|
+- ce_modified
++ ie_modified
+|
+- resolve_undo_clear
++ resolve_undo_clear_index
+)
+ (
++ &the_index,
+ ...)
+
+@@
+@@
+(
+- refresh_and_write_cache
++ repo_refresh_and_write_index
+)
+ (
++ the_repository,
+ ...
++ , NULL, NULL, NULL
+ )
+
+// "the_index" special-cases
+@@
+@@
+(
+- read_cache_from
++ read_index_from
+)
+ (
++ &the_index,
+ ...
++ , get_git_dir()
+ )
+
+@@
+@@
+(
+- refresh_cache
++ refresh_index
+)
+ (
++ &the_index,
+ ...
++ , NULL, NULL, NULL
+ )
diff --git a/contrib/coccinelle/index-compatibility.pending.cocci b/contrib/coccinelle/index-compatibility.pending.cocci
new file mode 100644
index 0000000000..01f875d006
--- /dev/null
+++ b/contrib/coccinelle/index-compatibility.pending.cocci
@@ -0,0 +1,24 @@
+// "the_repository" simple cases
+@@
+@@
+(
+- read_cache
++ repo_read_index
+)
+ (
++ the_repository,
+ ...)
+
+// "the_index" simple cases
+@@
+@@
+(
+- discard_cache
++ discard_index
+|
+- cache_name_pos
++ index_name_pos
+)
+ (
++ &the_index,
+ ...)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index ba5c395d2d..dc95c34cc8 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -58,6 +58,12 @@
#
# When set to "1" suggest all options, including options which are
# typically hidden (e.g. '--allow-empty' for 'git commit').
+#
+# GIT_COMPLETION_IGNORE_CASE
+#
+# When set, uses for-each-ref '--ignore-case' to find refs that match
+# case insensitively, even on systems with case sensitive file systems
+# (e.g., completing tag name "FOO" on "git checkout f<TAB>").
case "$COMP_WORDBREAKS" in
*:*) : great ;;
@@ -646,6 +652,7 @@ __git_heads ()
local pfx="${1-}" cur_="${2-}" sfx="${3-}"
__git for-each-ref --format="${pfx//\%/%%}%(refname:strip=2)$sfx" \
+ ${GIT_COMPLETION_IGNORE_CASE+--ignore-case} \
"refs/heads/$cur_*" "refs/heads/$cur_*/**"
}
@@ -659,6 +666,7 @@ __git_remote_heads ()
local pfx="${1-}" cur_="${2-}" sfx="${3-}"
__git for-each-ref --format="${pfx//\%/%%}%(refname:strip=2)$sfx" \
+ ${GIT_COMPLETION_IGNORE_CASE+--ignore-case} \
"refs/remotes/$cur_*" "refs/remotes/$cur_*/**"
}
@@ -669,6 +677,7 @@ __git_tags ()
local pfx="${1-}" cur_="${2-}" sfx="${3-}"
__git for-each-ref --format="${pfx//\%/%%}%(refname:strip=2)$sfx" \
+ ${GIT_COMPLETION_IGNORE_CASE+--ignore-case} \
"refs/tags/$cur_*" "refs/tags/$cur_*/**"
}
@@ -688,6 +697,7 @@ __git_dwim_remote_heads ()
# but only output if the branch name is unique
__git for-each-ref --format="$fer_pfx%(refname:strip=3)$sfx" \
--sort="refname:strip=3" \
+ ${GIT_COMPLETION_IGNORE_CASE+--ignore-case} \
"refs/remotes/*/$cur_*" "refs/remotes/*/$cur_*/**" | \
uniq -u
}
@@ -712,6 +722,7 @@ __git_refs ()
local format refs
local pfx="${3-}" cur_="${4-$cur}" sfx="${5-}"
local match="${4-}"
+ local umatch="${4-}"
local fer_pfx="${pfx//\%/%%}" # "escape" for-each-ref format specifiers
__git_find_repo_path
@@ -735,12 +746,19 @@ __git_refs ()
fi
fi
+ if test "${GIT_COMPLETION_IGNORE_CASE:+1}" = "1"
+ then
+ # uppercase with tr instead of ${match,^^} for bash 3.2 compatibility
+ umatch=$(echo "$match" | tr a-z A-Z 2>/dev/null || echo "$match")
+ fi
+
if [ "$list_refs_from" = path ]; then
if [[ "$cur_" == ^* ]]; then
pfx="$pfx^"
fer_pfx="$fer_pfx^"
cur_=${cur_#^}
match=${match#^}
+ umatch=${umatch#^}
fi
case "$cur_" in
refs|refs/*)
@@ -751,7 +769,7 @@ __git_refs ()
*)
for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD REBASE_HEAD CHERRY_PICK_HEAD; do
case "$i" in
- $match*)
+ $match*|$umatch*)
if [ -e "$dir/$i" ]; then
echo "$pfx$i$sfx"
fi
@@ -765,6 +783,7 @@ __git_refs ()
;;
esac
__git_dir="$dir" __git for-each-ref --format="$fer_pfx%($format)$sfx" \
+ ${GIT_COMPLETION_IGNORE_CASE+--ignore-case} \
"${refs[@]}"
if [ -n "$track" ]; then
__git_dwim_remote_heads "$pfx" "$match" "$sfx"
@@ -784,15 +803,16 @@ __git_refs ()
*)
if [ "$list_refs_from" = remote ]; then
case "HEAD" in
- $match*) echo "${pfx}HEAD$sfx" ;;
+ $match*|$umatch*) echo "${pfx}HEAD$sfx" ;;
esac
__git for-each-ref --format="$fer_pfx%(refname:strip=3)$sfx" \
+ ${GIT_COMPLETION_IGNORE_CASE+--ignore-case} \
"refs/remotes/$remote/$match*" \
"refs/remotes/$remote/$match*/**"
else
local query_symref
case "HEAD" in
- $match*) query_symref="HEAD" ;;
+ $match*|$umatch*) query_symref="HEAD" ;;
esac
__git ls-remote "$remote" $query_symref \
"refs/tags/$match*" "refs/heads/$match*" \
diff --git a/contrib/git-jump/README b/contrib/git-jump/README
index 8bcace29d2..3211841305 100644
--- a/contrib/git-jump/README
+++ b/contrib/git-jump/README
@@ -79,6 +79,14 @@ git jump grep -i foo_bar
git config jump.grepCmd "ag --column"
--------------------------------------------------
+You can use the optional argument '--stdout' to print the listing to
+standard output instead of feeding it to the editor. You can use the
+argument with M-x grep on Emacs:
+
+--------------------------------------------------
+# In Emacs, M-x grep and invoke "git jump --stdout <mode>"
+M-x grep<RET>git jump --stdout diff<RET>
+--------------------------------------------------
Related Programs
----------------
@@ -100,7 +108,7 @@ Limitations
-----------
This script was written and tested with vim. Given that the quickfix
-format is the same as what gcc produces, I expect emacs users have a
+format is the same as what gcc produces, I expect other tools have a
similar feature for iterating through the list, but I know nothing about
how to activate it.
diff --git a/contrib/git-jump/git-jump b/contrib/git-jump/git-jump
index 92dbd4cde1..40c4b0d111 100755
--- a/contrib/git-jump/git-jump
+++ b/contrib/git-jump/git-jump
@@ -2,7 +2,7 @@
usage() {
cat <<\EOF
-usage: git jump <mode> [<args>]
+usage: git jump [--stdout] <mode> [<args>]
Jump to interesting elements in an editor.
The <mode> parameter is one of:
@@ -15,12 +15,30 @@ grep: elements are grep hits. Arguments are given to git grep or, if
configured, to the command in `jump.grepCmd`.
ws: elements are whitespace errors. Arguments are given to diff --check.
+
+If the optional argument `--stdout` is given, print the quickfix
+lines to standard output instead of feeding it to the editor.
EOF
}
open_editor() {
editor=`git var GIT_EDITOR`
- eval "$editor -q \$1"
+ case "$editor" in
+ *emacs*)
+ # Supported editor values are:
+ # - emacs
+ # - emacsclient
+ # - emacsclient -t
+ #
+ # Wait for completion of the asynchronously executed process
+ # to avoid race conditions in case of "emacsclient".
+ eval "$editor --eval \"(let ((buf (grep \\\"cat \$1\\\"))) (pop-to-buffer buf) (select-frame-set-input-focus (selected-frame)) (while (get-buffer-process buf) (sleep-for 0.1)))\""
+ ;;
+ *)
+ # assume anything else is vi-compatible
+ eval "$editor -q \$1"
+ ;;
+ esac
}
mode_diff() {
@@ -64,15 +82,36 @@ mode_ws() {
git diff --check "$@"
}
+use_stdout=
+while test $# -gt 0; do
+ case "$1" in
+ --stdout)
+ use_stdout=t
+ ;;
+ --*)
+ usage >&2
+ exit 1
+ ;;
+ *)
+ break
+ ;;
+ esac
+ shift
+done
if test $# -lt 1; then
usage >&2
exit 1
fi
mode=$1; shift
+type "mode_$mode" >/dev/null 2>&1 || { usage >&2; exit 1; }
+
+if test "$use_stdout" = "t"; then
+ "mode_$mode" "$@"
+ exit 0
+fi
trap 'rm -f "$tmp"' 0 1 2 3 15
tmp=`mktemp -t git-jump.XXXXXX` || exit 1
-type "mode_$mode" >/dev/null 2>&1 || { usage >&2; exit 1; }
"mode_$mode" "$@" >"$tmp"
test -s "$tmp" || exit 0
open_editor "$tmp"
diff --git a/diff-no-index.c b/diff-no-index.c
index 18edbdf4b5..05fafd0019 100644
--- a/diff-no-index.c
+++ b/diff-no-index.c
@@ -255,8 +255,7 @@ int diff_no_index(struct rev_info *revs,
};
struct option *options;
- options = parse_options_concat(no_index_options,
- revs->diffopt.parseopts);
+ options = add_diff_options(no_index_options, &revs->diffopt);
argc = parse_options(argc, argv, revs->prefix, options,
diff_no_index_usage, 0);
if (argc != 2) {
diff --git a/diff.c b/diff.c
index 9f9a92ec9d..4dfe824c85 100644
--- a/diff.c
+++ b/diff.c
@@ -4615,8 +4615,6 @@ static void run_checkdiff(struct diff_filepair *p, struct diff_options *o)
builtin_checkdiff(name, other, attr_path, p->one, p->two, o);
}
-static void prep_parse_options(struct diff_options *options);
-
void repo_diff_setup(struct repository *r, struct diff_options *options)
{
memcpy(options, &default_diff_options, sizeof(*options));
@@ -4662,8 +4660,6 @@ void repo_diff_setup(struct repository *r, struct diff_options *options)
options->color_moved = diff_color_moved_default;
options->color_moved_ws_handling = diff_color_moved_ws_default;
-
- prep_parse_options(options);
}
static const char diff_status_letters[] = {
@@ -4821,8 +4817,6 @@ void diff_setup_done(struct diff_options *options)
options->filter = ~filter_bit[DIFF_STATUS_FILTER_AON];
options->filter &= ~options->filter_not;
}
-
- FREE_AND_NULL(options->parseopts);
}
int parse_long_opt(const char *opt, const char **argv,
@@ -5419,7 +5413,8 @@ static int diff_opt_rotate_to(const struct option *opt, const char *arg, int uns
return 0;
}
-static void prep_parse_options(struct diff_options *options)
+struct option *add_diff_options(const struct option *opts,
+ struct diff_options *options)
{
struct option parseopts[] = {
OPT_GROUP(N_("Diff output format options")),
@@ -5689,22 +5684,25 @@ static void prep_parse_options(struct diff_options *options)
OPT_END()
};
- ALLOC_ARRAY(options->parseopts, ARRAY_SIZE(parseopts));
- memcpy(options->parseopts, parseopts, sizeof(parseopts));
+ return parse_options_concat(opts, parseopts);
}
int diff_opt_parse(struct diff_options *options,
const char **av, int ac, const char *prefix)
{
+ struct option no_options[] = { OPT_END() };
+ struct option *parseopts = add_diff_options(no_options, options);
+
if (!prefix)
prefix = "";
- ac = parse_options(ac, av, prefix, options->parseopts, NULL,
+ ac = parse_options(ac, av, prefix, parseopts, NULL,
PARSE_OPT_KEEP_DASHDASH |
PARSE_OPT_KEEP_UNKNOWN_OPT |
PARSE_OPT_NO_INTERNAL_HELP |
PARSE_OPT_ONE_SHOT |
PARSE_OPT_STOP_AT_NON_OPTION);
+ free(parseopts);
return ac;
}
@@ -5772,6 +5770,13 @@ void diff_free_filepair(struct diff_filepair *p)
free(p);
}
+void diff_free_queue(struct diff_queue_struct *q)
+{
+ for (int i = 0; i < q->nr; i++)
+ diff_free_filepair(q->queue[i]);
+ free(q->queue);
+}
+
const char *diff_aligned_abbrev(const struct object_id *oid, int len)
{
int abblen;
@@ -6329,13 +6334,9 @@ static int diff_get_patch_id(struct diff_options *options, struct object_id *oid
int diff_flush_patch_id(struct diff_options *options, struct object_id *oid, int diff_header_only)
{
struct diff_queue_struct *q = &diff_queued_diff;
- int i;
int result = diff_get_patch_id(options, oid, diff_header_only);
- for (i = 0; i < q->nr; i++)
- diff_free_filepair(q->queue[i]);
-
- free(q->queue);
+ diff_free_queue(q);
DIFF_QUEUE_CLEAR(q);
return result;
@@ -6510,7 +6511,6 @@ void diff_free(struct diff_options *options)
diff_free_file(options);
diff_free_ignore_regex(options);
clear_pathspec(&options->pathspec);
- FREE_AND_NULL(options->parseopts);
}
void diff_flush(struct diff_options *options)
@@ -6604,10 +6604,8 @@ void diff_flush(struct diff_options *options)
if (output_format & DIFF_FORMAT_CALLBACK)
options->format_callback(q, options, options->format_callback_data);
- for (i = 0; i < q->nr; i++)
- diff_free_filepair(q->queue[i]);
free_queue:
- free(q->queue);
+ diff_free_queue(q);
DIFF_QUEUE_CLEAR(q);
diff_free(options);
diff --git a/diff.h b/diff.h
index fd33caeb25..41eb2c3d42 100644
--- a/diff.h
+++ b/diff.h
@@ -394,7 +394,6 @@ struct diff_options {
unsigned color_moved_ws_handling;
struct repository *repo;
- struct option *parseopts;
struct strmap *additional_path_headers;
int no_free;
@@ -539,6 +538,7 @@ int git_diff_ui_config(const char *var, const char *value, void *cb);
#define diff_setup(diffopts) repo_diff_setup(the_repository, diffopts)
#endif
void repo_diff_setup(struct repository *, struct diff_options *);
+struct option *add_diff_options(const struct option *, struct diff_options *);
int diff_opt_parse(struct diff_options *, const char **, int, const char *);
void diff_setup_done(struct diff_options *);
int git_config_rename(const char *var, const char *value);
diff --git a/diffcore.h b/diffcore.h
index badc2261c2..9b588a1ee1 100644
--- a/diffcore.h
+++ b/diffcore.h
@@ -162,6 +162,7 @@ struct diff_filepair *diff_queue(struct diff_queue_struct *,
struct diff_filespec *,
struct diff_filespec *);
void diff_q(struct diff_queue_struct *, struct diff_filepair *);
+void diff_free_queue(struct diff_queue_struct *q);
/* dir_rename_relevance: the reason we want rename information for a dir */
enum dir_rename_relevance {
diff --git a/dir.c b/dir.c
index d604d1bab9..fbdb24fc81 100644
--- a/dir.c
+++ b/dir.c
@@ -3581,8 +3581,12 @@ static void free_untracked(struct untracked_cache_dir *ucd)
void free_untracked_cache(struct untracked_cache *uc)
{
- if (uc)
- free_untracked(uc->root);
+ if (!uc)
+ return;
+
+ free(uc->exclude_per_dir_to_free);
+ strbuf_release(&uc->ident);
+ free_untracked(uc->root);
free(uc);
}
@@ -3739,7 +3743,7 @@ struct untracked_cache *read_untracked_extension(const void *data, unsigned long
next + offset + hashsz);
uc->dir_flags = get_be32(next + ouc_offset(dir_flags));
exclude_per_dir = (const char *)next + exclude_per_dir_offset;
- uc->exclude_per_dir = xstrdup(exclude_per_dir);
+ uc->exclude_per_dir = uc->exclude_per_dir_to_free = xstrdup(exclude_per_dir);
/* NUL after exclude_per_dir is covered by sizeof(*ouc) */
next += exclude_per_dir_offset + strlen(exclude_per_dir) + 1;
if (next >= end)
diff --git a/dir.h b/dir.h
index 674747d93a..8acfc04418 100644
--- a/dir.h
+++ b/dir.h
@@ -188,6 +188,7 @@ struct untracked_cache {
struct oid_stat ss_info_exclude;
struct oid_stat ss_excludes_file;
const char *exclude_per_dir;
+ char *exclude_per_dir_to_free;
struct strbuf ident;
/*
* dir_struct#flags must match dir_flags or the untracked
diff --git a/git-bisect.sh b/git-bisect.sh
deleted file mode 100755
index dfce4b4f44..0000000000
--- a/git-bisect.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-
-USAGE='[help|start|bad|good|new|old|terms|skip|next|reset|visualize|view|replay|log|run]'
-LONG_USAGE='git bisect help
- print this long help message.
-git bisect start [--term-{new,bad}=<term> --term-{old,good}=<term>]
- [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<pathspec>...]
- reset bisect state and start bisection.
-git bisect (bad|new) [<rev>]
- mark <rev> a known-bad revision/
- a revision after change in a given property.
-git bisect (good|old) [<rev>...]
- mark <rev>... known-good revisions/
- revisions before change in a given property.
-git bisect terms [--term-good | --term-bad]
- show the terms used for old and new commits (default: bad, good)
-git bisect skip [(<rev>|<range>)...]
- mark <rev>... untestable revisions.
-git bisect next
- find next bisection to test and check it out.
-git bisect reset [<commit>]
- finish bisection search and go back to commit.
-git bisect (visualize|view)
- show bisect status in gitk.
-git bisect replay <logfile>
- replay bisection log.
-git bisect log
- show bisect log.
-git bisect run <cmd>...
- use <cmd>... to automatically bisect.
-
-Please use "git help bisect" to get the full man page.'
-
-OPTIONS_SPEC=
-. git-sh-setup
-
-TERM_BAD=bad
-TERM_GOOD=good
-
-get_terms () {
- if test -s "$GIT_DIR/BISECT_TERMS"
- then
- {
- read TERM_BAD
- read TERM_GOOD
- } <"$GIT_DIR/BISECT_TERMS"
- fi
-}
-
-case "$#" in
-0)
- usage ;;
-*)
- cmd="$1"
- get_terms
- shift
- case "$cmd" in
- help)
- git bisect -h ;;
- bad|good|new|old|"$TERM_BAD"|"$TERM_GOOD")
- git bisect--helper state "$cmd" "$@" ;;
- log)
- git bisect--helper log || exit ;;
- *)
- git bisect--helper "$cmd" "$@" ;;
- esac
-esac
diff --git a/git-compat-util.h b/git-compat-util.h
index a76d0526f7..76e4b11131 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -341,11 +341,13 @@ struct itimerval {
#endif
#ifdef NO_SETITIMER
-static inline int setitimer(int which UNUSED,
- const struct itimerval *value UNUSED,
- struct itimerval *newvalue UNUSED) {
+static inline int git_setitimer(int which UNUSED,
+ const struct itimerval *value UNUSED,
+ struct itimerval *newvalue UNUSED) {
return 0; /* pretend success */
}
+#undef setitimer
+#define setitimer(which,value,ovalue) git_setitimer(which,value,ovalue)
#endif
#ifndef NO_LIBGEN_H
@@ -1471,14 +1473,19 @@ int open_nofollow(const char *path, int flags);
#endif
#ifndef _POSIX_THREAD_SAFE_FUNCTIONS
-static inline void flockfile(FILE *fh UNUSED)
+static inline void git_flockfile(FILE *fh UNUSED)
{
; /* nothing */
}
-static inline void funlockfile(FILE *fh UNUSED)
+static inline void git_funlockfile(FILE *fh UNUSED)
{
; /* nothing */
}
+#undef flockfile
+#undef funlockfile
+#undef getc_unlocked
+#define flockfile(fh) git_flockfile(fh)
+#define funlockfile(fh) git_funlockfile(fh)
#define getc_unlocked(fh) getc(fh)
#endif
diff --git a/git-gui/Makefile b/git-gui/Makefile
index 56c85a85c1..a0d5a4b28e 100644
--- a/git-gui/Makefile
+++ b/git-gui/Makefile
@@ -116,7 +116,7 @@ ifeq ($(uname_S),Darwin)
TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app)
endif
-ifeq ($(findstring $(MAKEFLAGS),s),s)
+ifeq ($(findstring $(firstword -$(MAKEFLAGS)),s),s)
QUIET_GEN =
endif
diff --git a/git.c b/git.c
index 10202a7f12..277a8cce84 100644
--- a/git.c
+++ b/git.c
@@ -492,7 +492,7 @@ static struct cmd_struct commands[] = {
{ "annotate", cmd_annotate, RUN_SETUP },
{ "apply", cmd_apply, RUN_SETUP_GENTLY },
{ "archive", cmd_archive, RUN_SETUP_GENTLY },
- { "bisect--helper", cmd_bisect__helper, RUN_SETUP },
+ { "bisect", cmd_bisect, RUN_SETUP },
{ "blame", cmd_blame, RUN_SETUP },
{ "branch", cmd_branch, RUN_SETUP | DELAY_PAGER_CONFIG },
{ "bugreport", cmd_bugreport, RUN_SETUP_GENTLY },
diff --git a/line-log.c b/line-log.c
index 51d93310a4..a7f3e7f6ce 100644
--- a/line-log.c
+++ b/line-log.c
@@ -1089,10 +1089,8 @@ static struct diff_filepair *diff_filepair_dup(struct diff_filepair *pair)
static void free_diffqueues(int n, struct diff_queue_struct *dq)
{
- int i, j;
- for (i = 0; i < n; i++)
- for (j = 0; j < dq[i].nr; j++)
- diff_free_filepair(dq[i].queue[j]);
+ for (int i = 0; i < n; i++)
+ diff_free_queue(&dq[i]);
free(dq);
}
@@ -1195,6 +1193,7 @@ static int process_ranges_ordinary_commit(struct rev_info *rev, struct commit *c
if (parent)
add_line_range(rev, parent, parent_range);
free_line_log_data(parent_range);
+ diff_free_queue(&queue);
return changed;
}
diff --git a/list-objects-filter-options.c b/list-objects-filter-options.c
index 5339660238..ee01bcd2cc 100644
--- a/list-objects-filter-options.c
+++ b/list-objects-filter-options.c
@@ -290,10 +290,6 @@ int opt_parse_list_objects_filter(const struct option *opt,
const char *arg, int unset)
{
struct list_objects_filter_options *filter_options = opt->value;
- opt_lof_init init = (opt_lof_init)opt->defval;
-
- if (init)
- filter_options = init(opt->value);
if (unset || !arg)
list_objects_filter_set_no_filter(filter_options);
diff --git a/list-objects-filter-options.h b/list-objects-filter-options.h
index 7eeadab2dd..1fe393f447 100644
--- a/list-objects-filter-options.h
+++ b/list-objects-filter-options.h
@@ -111,27 +111,13 @@ void parse_list_objects_filter(
* The opt->value to opt_parse_list_objects_filter() is either a
* "struct list_objects_filter_option *" when using
* OPT_PARSE_LIST_OBJECTS_FILTER().
- *
- * Or, if using no "struct option" field is used by the callback,
- * except the "defval" which is expected to be an "opt_lof_init"
- * function, which is called with the "opt->value" and must return a
- * pointer to the ""struct list_objects_filter_option *" to be used.
- *
- * The OPT_PARSE_LIST_OBJECTS_FILTER_INIT() can be used e.g. the
- * "struct list_objects_filter_option" is embedded in a "struct
- * rev_info", which the "defval" could be tasked with lazily
- * initializing. See cmd_pack_objects() for an example.
*/
int opt_parse_list_objects_filter(const struct option *opt,
const char *arg, int unset);
-typedef struct list_objects_filter_options *(*opt_lof_init)(void *);
-#define OPT_PARSE_LIST_OBJECTS_FILTER_INIT(fo, init) \
- { OPTION_CALLBACK, 0, "filter", (fo), N_("args"), \
- N_("object filtering"), 0, opt_parse_list_objects_filter, \
- (intptr_t)(init) }
#define OPT_PARSE_LIST_OBJECTS_FILTER(fo) \
- OPT_PARSE_LIST_OBJECTS_FILTER_INIT((fo), NULL)
+ OPT_CALLBACK(0, "filter", (fo), N_("args"), \
+ N_("object filtering"), opt_parse_list_objects_filter)
/*
* Translates abbreviated numbers in the filter's filter_spec into their
diff --git a/list-objects-filter.c b/list-objects-filter.c
index 1c1ee3d1bb..dfc3f49f4f 100644
--- a/list-objects-filter.c
+++ b/list-objects-filter.c
@@ -514,6 +514,7 @@ static enum list_objects_filter_result filter_sparse(
static void filter_sparse_free(void *filter_data)
{
struct filter_sparse_data *d = filter_data;
+ clear_pattern_list(&d->pl);
free(d->array_frame);
free(d);
}
@@ -709,6 +710,7 @@ static void filter_combine__free(void *filter_data)
BUG("expected oidset to be cleared already");
}
free(d->sub);
+ free(d);
}
static void add_all(struct oidset *dest, struct oidset *src) {
diff --git a/merge-recursive.c b/merge-recursive.c
index 4ddd3adea0..2fd0aa9687 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -2100,7 +2100,7 @@ static char *handle_path_level_conflicts(struct merge_options *opt,
if (!new_path) {
/* This should only happen when entry->non_unique_new_dir set */
if (!entry->non_unique_new_dir)
- BUG("entry->non_unqiue_dir not set and !new_path");
+ BUG("entry->non_unique_new_dir not set and !new_path");
output(opt, 1, _("CONFLICT (directory rename split): "
"Unclear where to place %s because directory "
"%s was renamed to multiple other directories, "
diff --git a/object-file.c b/object-file.c
index 957790098f..26290554bb 100644
--- a/object-file.c
+++ b/object-file.c
@@ -508,7 +508,9 @@ static int link_alt_odb_entry(struct repository *r, const struct strbuf *entry,
{
struct object_directory *ent;
struct strbuf pathbuf = STRBUF_INIT;
+ struct strbuf tmp = STRBUF_INIT;
khiter_t pos;
+ int ret = -1;
if (!is_absolute_path(entry->buf) && relative_base) {
strbuf_realpath(&pathbuf, relative_base, 1);
@@ -516,12 +518,12 @@ static int link_alt_odb_entry(struct repository *r, const struct strbuf *entry,
}
strbuf_addbuf(&pathbuf, entry);
- if (strbuf_normalize_path(&pathbuf) < 0 && relative_base) {
+ if (!strbuf_realpath(&tmp, pathbuf.buf, 0)) {
error(_("unable to normalize alternate object path: %s"),
pathbuf.buf);
- strbuf_release(&pathbuf);
- return -1;
+ goto error;
}
+ strbuf_swap(&pathbuf, &tmp);
/*
* The trailing slash after the directory name is given by
@@ -530,10 +532,8 @@ static int link_alt_odb_entry(struct repository *r, const struct strbuf *entry,
while (pathbuf.len && pathbuf.buf[pathbuf.len - 1] == '/')
strbuf_setlen(&pathbuf, pathbuf.len - 1);
- if (!alt_odb_usable(r->objects, &pathbuf, normalized_objdir, &pos)) {
- strbuf_release(&pathbuf);
- return -1;
- }
+ if (!alt_odb_usable(r->objects, &pathbuf, normalized_objdir, &pos))
+ goto error;
CALLOC_ARRAY(ent, 1);
/* pathbuf.buf is already in r->objects->odb_by_path */
@@ -548,8 +548,11 @@ static int link_alt_odb_entry(struct repository *r, const struct strbuf *entry,
/* recursively add alternates */
read_info_alternates(r, ent->path, depth + 1);
-
- return 0;
+ ret = 0;
+ error:
+ strbuf_release(&tmp);
+ strbuf_release(&pathbuf);
+ return ret;
}
static const char *parse_alt_odb_entry(const char *string,
@@ -596,10 +599,7 @@ static void link_alt_odb_entries(struct repository *r, const char *alt,
return;
}
- strbuf_add_absolute_path(&objdirbuf, r->objects->odb->path);
- if (strbuf_normalize_path(&objdirbuf) < 0)
- die(_("unable to normalize object directory: %s"),
- objdirbuf.buf);
+ strbuf_realpath(&objdirbuf, r->objects->odb->path, 1);
while (*alt) {
alt = parse_alt_odb_entry(alt, sep, &entry);
diff --git a/object.c b/object.c
index 8a74eb85e9..682b852a46 100644
--- a/object.c
+++ b/object.c
@@ -286,9 +286,8 @@ struct object *parse_object_with_flags(struct repository *r,
return &commit->object;
}
- if ((obj && obj->type == OBJ_BLOB && repo_has_object_file(r, oid)) ||
- (!obj && repo_has_object_file(r, oid) &&
- oid_object_info(r, oid, NULL) == OBJ_BLOB)) {
+ if ((!obj || obj->type == OBJ_BLOB) &&
+ oid_object_info(r, oid, NULL) == OBJ_BLOB) {
if (!skip_hash && stream_object_signature(r, repl) < 0) {
error(_("hash mismatch %s"), oid_to_hex(oid));
return NULL;
diff --git a/pack-bitmap.c b/pack-bitmap.c
index 440407f1be..d2a42abf28 100644
--- a/pack-bitmap.c
+++ b/pack-bitmap.c
@@ -354,8 +354,8 @@ static int open_midx_bitmap_1(struct bitmap_index *bitmap_git,
if (bitmap_git->pack || bitmap_git->midx) {
struct strbuf buf = STRBUF_INIT;
get_midx_filename(&buf, midx->object_dir);
- /* ignore extra bitmap file; we can only handle one */
- warning(_("ignoring extra bitmap file: '%s'"), buf.buf);
+ trace2_data_string("bitmap", the_repository,
+ "ignoring extra midx bitmap file", buf.buf);
close(fd);
strbuf_release(&buf);
return -1;
@@ -411,9 +411,6 @@ static int open_pack_bitmap_1(struct bitmap_index *bitmap_git, struct packed_git
struct stat st;
char *bitmap_name;
- if (open_pack_index(packfile))
- return -1;
-
bitmap_name = pack_bitmap_filename(packfile);
fd = git_open(bitmap_name);
@@ -432,8 +429,8 @@ static int open_pack_bitmap_1(struct bitmap_index *bitmap_git, struct packed_git
}
if (bitmap_git->pack || bitmap_git->midx) {
- /* ignore extra bitmap file; we can only handle one */
- warning(_("ignoring extra bitmap file: '%s'"), packfile->pack_name);
+ trace2_data_string("bitmap", the_repository,
+ "ignoring extra bitmap file", packfile->pack_name);
close(fd);
return -1;
}
@@ -458,6 +455,8 @@ static int open_pack_bitmap_1(struct bitmap_index *bitmap_git, struct packed_git
return -1;
}
+ trace2_data_string("bitmap", the_repository, "opened bitmap file",
+ packfile->pack_name);
return 0;
}
@@ -525,11 +524,16 @@ static int open_pack_bitmap(struct repository *r,
struct packed_git *p;
int ret = -1;
- assert(!bitmap_git->map);
-
for (p = get_all_packs(r); p; p = p->next) {
- if (open_pack_bitmap_1(bitmap_git, p) == 0)
+ if (open_pack_bitmap_1(bitmap_git, p) == 0) {
ret = 0;
+ /*
+ * The only reason to keep looking is to report
+ * duplicates.
+ */
+ if (!trace2_is_enabled())
+ break;
+ }
}
return ret;
@@ -553,11 +557,20 @@ static int open_midx_bitmap(struct repository *r,
static int open_bitmap(struct repository *r,
struct bitmap_index *bitmap_git)
{
+ int found;
+
assert(!bitmap_git->map);
- if (!open_midx_bitmap(r, bitmap_git))
- return 0;
- return open_pack_bitmap(r, bitmap_git);
+ found = !open_midx_bitmap(r, bitmap_git);
+
+ /*
+ * these will all be skipped if we opened a midx bitmap; but run it
+ * anyway if tracing is enabled to report the duplicates
+ */
+ if (!found || trace2_is_enabled())
+ found |= !open_pack_bitmap(r, bitmap_git);
+
+ return found ? 0 : -1;
}
struct bitmap_index *prepare_bitmap_git(struct repository *r)
diff --git a/po/bg.po b/po/bg.po
index 8b2a936ba0..a2cd8a01b4 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -193,6 +193,9 @@
# out of range извън диапазона
# checksum Ñума за проверка
# superproject обхващащ проект
+# scalar repo Ñкаларно хранилище
+# unclean завършвам работа/задача Ñ Ð³Ñ€ÐµÑˆÐºÐ°
+# cache tree кеш за обекти-дървета
# ------------------------
# „$var“ - може да не Ñработва за shell има gettext и eval_gettext - проверка - намират Ñе леÑно по „$
# ------------------------
@@ -209,10 +212,10 @@
# for i in `sort -u FILES`; do cnt=`grep $i FILES | wc -l`; echo $cnt $i ;done | sort -n
msgid ""
msgstr ""
-"Project-Id-Version: git 2.38\n"
+"Project-Id-Version: git 2.39\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-28 10:59+0200\n"
-"PO-Revision-Date: 2022-09-28 10:59+0200\n"
+"POT-Creation-Date: 2022-12-06 15:52+0100\n"
+"PO-Revision-Date: 2022-12-06 16:55+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@@ -376,7 +379,7 @@ msgstr "Изход.\n"
#, c-format, perl-format
msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr "ДобавÑне на промÑната на правата за доÑтъп [y,n,q,a,d%s,?]? "
+msgstr "ДобавÑне на промÑната на права̀та за доÑтъп [y,n,q,a,d%s,?]? "
#, c-format, perl-format
msgid "Stage deletion [y,n,q,a,d%s,?]? "
@@ -412,7 +415,7 @@ msgstr ""
#, c-format, perl-format
msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr "Скатаване на промÑната на правата за доÑтъп [y,n,q,a,d%s,?]? "
+msgstr "Скатаване на промÑната на права̀та за доÑтъп [y,n,q,a,d%s,?]? "
#, c-format, perl-format
msgid "Stash deletion [y,n,q,a,d%s,?]? "
@@ -448,7 +451,7 @@ msgstr ""
#, c-format, perl-format
msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr "Изваждане на промÑната на правата за доÑтъп [y,n,q,a,d%s,?]? "
+msgstr "Изваждане на промÑната на права̀та за доÑтъп [y,n,q,a,d%s,?]? "
#, c-format, perl-format
msgid "Unstage deletion [y,n,q,a,d%s,?]? "
@@ -485,7 +488,7 @@ msgstr ""
#, c-format, perl-format
msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
msgstr ""
-"Прилагане на промÑната на правата за доÑтъп към индекÑа [y,n,q,a,d%s,?]? "
+"Прилагане на промÑната на права̀та за доÑтъп към индекÑа [y,n,q,a,d%s,?]? "
#, c-format, perl-format
msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
@@ -522,8 +525,8 @@ msgstr ""
#, c-format, perl-format
msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Премахване на промÑната в правата за доÑтъп от работното дърво [y,n,q,a,d"
-"%s,?]? "
+"Премахване на промÑната в права̀та за доÑтъп от работното дърво [y,n,q,a,"
+"d%s,?]? "
#, c-format, perl-format
msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
@@ -563,7 +566,7 @@ msgstr ""
#, c-format, perl-format
msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Премахване на промÑната в правата за доÑтъп от индекÑа и работното дърво [y,"
+"Премахване на промÑната в права̀та за доÑтъп от индекÑа и работното дърво [y,"
"n,q,a,d%s,?]? "
#, c-format, perl-format
@@ -599,7 +602,7 @@ msgstr ""
#, c-format, perl-format
msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Прилагане на промÑната в правата за доÑтъп от индекÑа и работното дърво [y,n,"
+"Прилагане на промÑната в права̀та за доÑтъп от индекÑа и работното дърво [y,n,"
"q,a,d%s,?]? "
#, c-format, perl-format
@@ -634,8 +637,8 @@ msgstr ""
#, c-format, perl-format
msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Прилагане на промÑната в правата за доÑтъп към работното дърво [y,n,q,a,d"
-"%s,?]? "
+"Прилагане на промÑната в права̀та за доÑтъп към работното дърво [y,n,q,a,"
+"d%s,?]? "
#, c-format, perl-format
msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
@@ -985,6 +988,9 @@ msgstr "командниÑÑ‚ ред завършва Ñ â€ž/“"
msgid "unclosed quote"
msgstr "кавичка без еш"
+msgid "too many arguments"
+msgstr "прекалено много аргументи"
+
#, c-format
msgid "unrecognized whitespace option '%s'"
msgstr "непозната Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° знаците за интервали „%s“"
@@ -1258,12 +1264,12 @@ msgstr "„%s“: вече ÑъщеÑтвува в работното дърво
#, c-format
msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr "новите права за доÑтъп (%o) на „%s“ не Ñъвпадат ÑÑŠÑ Ñтарите (%o)"
+msgstr "новите права̀ за доÑтъп (%o) на „%s“ не Ñъвпадат ÑÑŠÑ Ñтарите (%o)"
#, c-format
msgid "new mode (%o) of %s does not match old mode (%o) of %s"
msgstr ""
-"новите права за доÑтъп (%o) на „%s“ не Ñъвпадат ÑÑŠÑ Ñтарите (%o) на „%s“"
+"новите права̀ за доÑтъп (%o) на „%s“ не Ñъвпадат ÑÑŠÑ Ñтарите (%o) на „%s“"
#, c-format
msgid "affected file '%s' is beyond a symbolic link"
@@ -1501,7 +1507,7 @@ msgstr "обектът-BLOB „%s“ не може да бъде обработÐ
#, c-format
msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr "неподдържани права за доÑтъп до файл: 0%o (SHA1: %s)"
+msgstr "неподдържани права̀ за доÑтъп до файл: 0%o (SHA1: %s)"
#, c-format
msgid "deflate error (%d)"
@@ -1969,7 +1975,7 @@ msgstr "git add [ОПЦИЯ…] [--] ПЪТ…"
#, c-format
msgid "cannot chmod %cx '%s'"
-msgstr "правата на „%2$s“ не може да Ñе зададат да Ñа %1$cx"
+msgstr "права̀та на „%2$s“ не може да Ñе зададат да Ñа %1$cx"
#, c-format
msgid "unexpected diff status %c"
@@ -2385,7 +2391,7 @@ msgid "options '%s=%s' and '%s=%s' cannot be used together"
msgstr "опциите „%s=%s“ и „%s=%s“ Ñа неÑъвмеÑтими"
msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
-msgstr "git am [ОПЦИЯ…] [(ФÐЙЛ_С_ПОЩÐ|ДИРЕКТОРИЯ_С_ПОЩÐ)…]"
+msgstr "git am [ОПЦИЯ…] [(ФÐЙЛ_С_ПОЩР| ДИРЕКТОРИЯ_С_ПОЩÐ)…]"
msgid "git am [<options>] (--continue | --skip | --abort)"
msgstr "git am [ОПЦИЯ…] (--continue | --skip | --abort)"
@@ -2811,42 +2817,6 @@ msgstr ""
"неуÑпешно двоично търÑене: „git bisect--helper --bisect-state %s“ завърши Ñ "
"код за грешка: %d"
-msgid "reset the bisection state"
-msgstr "изчиÑтване на ÑÑŠÑтоÑнието на двоичното търÑене"
-
-msgid "check whether bad or good terms exist"
-msgstr "проверка дали ÑъщеÑтвуват одобрÑващи/отхвърлÑщи управлÑващи думи"
-
-msgid "print out the bisect terms"
-msgstr "извеждане на управлÑващите думи"
-
-msgid "start the bisect session"
-msgstr "начало на двоично търÑене"
-
-msgid "find the next bisection commit"
-msgstr "откриване на Ñледващото подаване при двоично търÑене"
-
-msgid "mark the state of ref (or refs)"
-msgstr "задаване на ÑÑŠÑтоÑнието на указателÑ/ите"
-
-msgid "list the bisection steps so far"
-msgstr "извеждане на Ñтъпките на двоичното търÑене доÑега"
-
-msgid "replay the bisection process from the given file"
-msgstr "наново изпълнение на двоичното търÑене чрез Ð´Ð°Ð´ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»"
-
-msgid "skip some commits for checkout"
-msgstr "преÑкачане на нÑкои Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ изтеглÑне"
-
-msgid "visualize the bisection"
-msgstr "визуализиране на двоичното търÑене"
-
-msgid "use <cmd>... to automatically bisect"
-msgstr "за автоматично двоично търÑене да Ñе ползва тази КОМÐÐДÐ…"
-
-msgid "no log for BISECT_WRITE"
-msgstr "липÑва Ð·Ð°Ð¿Ð¸Ñ Ð·Ð° „BISECT_WRITE“"
-
msgid "--bisect-reset requires either no argument or a commit"
msgstr "опциÑта „--bisect-reset“ изиÑква или 0 аргументи, или 1 — подаване"
@@ -2865,6 +2835,9 @@ msgstr "не е зададен журнален файл"
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [ОПЦИЯ…] [ОПЦИЯ_ЗÐ_ВЕРСИЯТÐ…] [ВЕРСИЯ] [--] ФÐЙЛ"
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [ОПЦИЯ…] [ОПЦИЯ_ЗÐ_ВЕРСИЯТÐ…] [ВЕРСИЯ] [--] ФÐЙЛ"
+
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "ОПЦИИте_ЗÐ_ВЕРСИЯТРÑа документирани в ръководÑтвото git-rev-list(1)"
@@ -3071,9 +3044,6 @@ msgstr "ÐеуÑпешно обновÑване на конфигурационÐ
msgid "cannot use -a with -d"
msgstr "опциите „-a“ и „-d“ Ñа неÑъвмеÑтими"
-msgid "Couldn't look up commit object for HEAD"
-msgstr "Обектът-подаване, Ñочен от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“, не може да бъде открит"
-
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "Ðе може да изтриете клона „%s“, който е изтеглен в Ð¿ÑŠÑ‚Ñ â€ž%s“"
@@ -3112,17 +3082,18 @@ msgstr "Клонът „%s“ Ñе пребазира върху „%s“"
msgid "Branch %s is being bisected at %s"
msgstr "ТърÑи Ñе двоично в клона „%s“ при „%s“"
-msgid "cannot copy the current branch while not on any."
-msgstr "не може да копирате Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½, защото Ñте извън който и да е клон"
-
-msgid "cannot rename the current branch while not on any."
-msgstr ""
-"не може да преименувате Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½, защото Ñте извън който и да е клон"
-
#, c-format
msgid "Invalid branch name: '%s'"
msgstr "Ðеправилно име на клон: „%s“"
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Ð’ клона „%s“ вÑе още нÑма подаваниÑ."
+
+#, c-format
+msgid "No branch named '%s'."
+msgstr "ЛипÑва клон на име „%s“."
+
msgid "Branch rename failed"
msgstr "ÐеуÑпешно преименуване на клон"
@@ -3285,13 +3256,12 @@ msgstr "Ðе може да зададете опиÑание на неÑвърз
msgid "cannot edit description of more than one branch"
msgstr "Ðе може да редактирате опиÑанието на повече от един клон едновременно"
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "Ð’ клона „%s“ вÑе още нÑма подаваниÑ."
+msgid "cannot copy the current branch while not on any."
+msgstr "не може да копирате Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½, защото Ñте извън който и да е клон"
-#, c-format
-msgid "No branch named '%s'."
-msgstr "ЛипÑва клон на име „%s“."
+msgid "cannot rename the current branch while not on any."
+msgstr ""
+"не може да преименувате Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ ÐºÐ»Ð¾Ð½, защото Ñте извън който и да е клон"
msgid "too many branches for a copy operation"
msgstr "прекалено много клони за копиране"
@@ -3358,13 +3328,12 @@ msgstr "библиотека на C: "
msgid "not run from a git repository - no hooks to show\n"
msgstr "командата е Ñтартирана извън хранилище на Git, затова нÑма куки\n"
-# FIXME
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory ФÐЙЛ] [-s|--suffix ФОРМÐТ] [--"
-"diagnose[=РЕЖИМ]]"
+"git bugreport [(-o | --output-directory) ПЪТ] [(-s | --suffix) ФОРМÐТ]\n"
+" [--diagnose[=РЕЖИМ]]"
msgid ""
"Thank you for filling out a Git bug report!\n"
@@ -3438,17 +3407,23 @@ msgstr "в „%s“ не може да Ñе пише"
msgid "Created new report at '%s'.\n"
msgstr "ÐовиÑÑ‚ доклад е Ñъздаден в „%s“.\n"
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [ОПЦИЯ…] ФÐЙЛ ÐРГУМЕÐТ_ЗÐ_git_rev-list…"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=ВЕРСИЯ] ФÐЙЛ ОПЦИЯ_ЗÐ_git-rev-list…"
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [ОПЦИЯ…] ФÐЙЛ…"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] ФÐЙЛ"
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads ФÐЙЛ [ИМЕ_ÐÐ_УКÐЗÐТЕЛ…]"
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle ФÐЙЛ [ИМЕ_ÐÐ_УКÐЗÐТЕЛ…]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] ФÐЙЛ [ИМЕ_ÐÐ_УКÐЗÐТЕЛ…]"
msgid "do not show progress meter"
msgstr "без извеждане на напредъка"
@@ -3524,12 +3499,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgid ""
"git cat-file (--textconv | --filters)\n"
@@ -3646,9 +3621,6 @@ msgstr "опциÑта „%s“ изиÑква верÑиÑ"
msgid "<object> required with '-%c'"
msgstr "опциÑта „-%c“ изиÑква обект"
-msgid "too many arguments"
-msgstr "прекалено много аргументи"
-
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
msgstr "в режим Ñ Ð¿Ð¾Ñочен ВИД ОБЕКТ Ñе изиÑкват точно два аргумента, а не %d"
@@ -4193,8 +4165,9 @@ msgid "use overlay mode"
msgstr "използване на припокриващ режим"
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
-msgstr "git clean [-d] [-f] [-i] [-n] [-q] [-e ШÐБЛОÐ] [-x | -X] [--] ПЪТ…"
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
+msgstr "git clean [-d] [-f] [-i] [-n] [-q] [-e ШÐБЛОÐ] [-x | -X] [--] [ПЪТ…]"
#, c-format
msgid "Removing %s\n"
@@ -4493,6 +4466,11 @@ msgid "failed to start iterator over '%s'"
msgstr "неуÑпешно итериране по „%s“"
#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr ""
+"Ñимволната връзка „%s“ ÑъщеÑтвува, не може да Ñе клонира Ñ Ð¾Ð¿Ñ†Ð¸Ñта „--local“"
+
+#, c-format
msgid "failed to unlink '%s'"
msgstr "неуÑпешно изтриване на „%s“"
@@ -4563,10 +4541,6 @@ msgstr "Прекалено много аргументи."
msgid "You must specify a repository to clone."
msgstr "ТрÑбва да укажете кое хранилище иÑкате да клонирате."
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "опциите „%s“ и „%s %s“ Ñа неÑъвмеÑтими"
-
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -4696,19 +4670,25 @@ msgid "--command must be the first argument"
msgstr "опциÑта „--command“ трÑбва да е първиÑÑ‚ аргумент"
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir ДИР_ОБЕКТИ] [--shallow] [--"
+"git commit-graph verify [--object-dir ДИРЕКТОРИЯ] [--shallow] [--"
"[no-]progress]"
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
msgstr ""
-"git commit-graph write [--object-dir ДИР_ОБЕКТИ] [--append] [--"
-"split[=СТРÐТЕГИЯ]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] ОПЦИИ_ЗÐ_РÐЗДЕЛЯÐЕ"
+"git commit-graph write [--object-dir ДИРЕКТОРИЯ] [--append]\n"
+" [--split[=СТРÐТЕГИЯ]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters БРОЙ] [--"
+"[no-]progress]\n"
+" ОПЦИИ_ЗÐ_РÐЗДЕЛЯÐЕ"
msgid "dir"
msgstr "директориÑ"
@@ -4781,12 +4761,16 @@ msgstr ""
msgid "Collecting commits from input"
msgstr "Получаване на подаваниÑта от входа"
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree ДЪРВО [(-p РОДИТЕЛ)…]"
+
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p РОДИТЕЛ)…] [-S[ИДЕÐТИФИКÐТОР]] [(-m СЪОБЩЕÐИЕ)…] [(-F "
-"ФÐЙЛ)…] ДЪРВО"
+"git commit-tree [(-p РОДИТЕЛ)…] [-S[ИДЕÐТИФИКÐТОР_ÐÐ_КЛЮЧ]] [(-m "
+"СЪОБЩЕÐИЕ)…]\n"
+" [(-F ФÐЙЛ)…] ДЪРВО"
#, c-format
msgid "duplicate parent %s ignored"
@@ -4828,11 +4812,30 @@ msgstr "трÑбва да е точно едно дърво"
msgid "git commit-tree: failed to read"
msgstr "git commit-tree: не може да Ñе прочете"
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [ОПЦИЯ…] [--] ПЪТ…"
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u РЕЖИМ] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) ПОДÐÐ’ÐÐЕ | --fixup [(amend|"
+"reword):]ПОДÐÐ’ÐÐЕ)]\n"
+" [-F ФÐЙЛ | -m СЪОБЩЕÐИЕ] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=ÐВТОР]\n"
+" [--date=ДÐТÐ] [--cleanup=РЕЖИМ] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=ФÐЙЛ> [--pathspec-file-nul]]\n"
+" [(--trailer ЛЕКСЕМÐ[(=|:)СТОЙÐОСТ])…] [-"
+"S[ИДЕÐТИФИКÐТОР_ÐÐ_КЛЮЧ]]\n"
+" [--] [ПЪТ…]"
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [ОПЦИЯ…] [--] ПЪТ…"
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [ОПЦИЯ…] [--] [ПЪТ…]"
msgid ""
"You asked to amend the most recent commit, but doing so would make\n"
@@ -4908,7 +4911,7 @@ msgid "unable to update temporary index"
msgstr "временниÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде обновен"
msgid "Failed to update main cache tree"
-msgstr "Дървото на оÑÐ½Ð¾Ð²Ð½Ð¸Ñ ÐºÐµÑˆ не може да бъде обновено"
+msgstr "Кешът за обектите-дървета не може да бъде обновен"
msgid "unable to write new_index file"
msgstr "новиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ (new_index) не може да бъде запиÑан"
@@ -5613,7 +5616,7 @@ msgid ""
"\n"
"\tchmod 0700 %s"
msgstr ""
-"Правата за доÑтъп до директориÑта за програмните гнезда Ñа прекалено "
+"Права̀та за доÑтъп до директориÑта за програмните гнезда Ñа прекалено "
"Ñвободни —\n"
"другите потребители може да получат доÑтъп до кешираните ви пароли. За да\n"
"коригирате това, изпълнете:\n"
@@ -5638,11 +5641,19 @@ msgstr ""
"ключалката на хранилището на идентификациите не бе получена в рамките на %d "
"ms"
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [ОПЦИЯ…] [УКÐЗÐТЕЛ_КЪМ_ПОДÐÐ’ÐÐЕ…]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=БРОЙ] "
+"[УКÐЗÐТЕЛ_КЪМ_ПОДÐÐ’ÐÐЕ…]"
+
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=БРОЙ] --dirty[=МÐРКЕР]"
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [ОПЦИЯ…] --dirty"
+msgid "git describe <blob>"
+msgstr "git describe обект-BLOB"
msgid "head"
msgstr "оÑновно"
@@ -5766,11 +5777,11 @@ msgid "option '%s' and commit-ishes cannot be used together"
msgstr "опциите „%s“ и указателите към обекти Ñа неÑъвмеÑтими"
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory ФÐЙЛ] [-s|--suffix ФОРМÐТ] [--"
-"diagnose[=РЕЖИМ]]"
+"git diagnose [(-o | --output-directory) ПЪТ] [(-s | --suffix) ФОРМÐТ]\n"
+" [--diagnose[=РЕЖИМ]]"
msgid "specify a destination for the diagnostics archive"
msgstr "укажете меÑтоположение на архива Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾Ñтичната информациÑ"
@@ -5788,6 +5799,9 @@ msgstr "опциÑта „--merge-base“ изиÑква точно две поÐ
msgid "'%s': not a regular file or symlink"
msgstr "„%s“: не е нито обикновен файл, нито Ñимволна връзка"
+msgid "no merge given, only parents."
+msgstr "липÑва Ñливане, зададени Ñа Ñамо родителÑки подаваниÑ."
+
#, c-format
msgid "invalid option: %s"
msgstr "неправилна опциÑ: %s"
@@ -5921,8 +5935,8 @@ msgstr ""
#, c-format
msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
+"option `--default' expects an unsigned long value with `--type=ulong`, not "
+"`%s`"
msgstr ""
"опциÑта „--default“ изиÑква целочиÑлена ÑтойноÑÑ‚ без знак при „--"
"type=ulong“, а не „%s“"
@@ -6438,8 +6452,8 @@ msgstr "извеждане Ñамо на указателите, които ÑÑŠ
msgid "print only refs which don't contain the commit"
msgstr "извеждане Ñамо на указателите, които не Ñъдържат това ПОДÐÐ’ÐÐЕ"
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=ÐÐСТРОЙКРÐРГУМЕÐТ…"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=ÐÐСТРОЙКР[--] ÐРГУМЕÐТ…"
msgid "config"
msgstr "наÑтройка"
@@ -6597,21 +6611,29 @@ msgid "notice: %s points to an unborn branch (%s)"
msgstr "предупреждение: „%s“ Ñочи към вÑе още неÑъщеÑтвуващ клон (%s)"
msgid "Checking cache tree"
-msgstr "Проверка на дървото на кеша"
+msgstr "Проверка на кеша на обектите-дървета"
#, c-format
msgid "%s: invalid sha1 pointer in cache-tree"
-msgstr "„%s“: неправилен указател за SHA1 в дървото на кеша"
+msgstr "„%s“: неправилен указател за SHA1 в кеша на обектите-дървета"
msgid "non-tree in cache-tree"
-msgstr "в дървото на кеша има нещо, което не е дърво"
+msgstr "в кеша на обектите-дървета има нещо, което не е дърво"
#, c-format
msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "„%s“: неправилен указател за отмÑна на разрешените подаваниÑ"
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [ОПЦИЯ…] [ОБЕКТ…]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [ОБЕКТ…]"
msgid "show unreachable objects"
msgstr "показване на недоÑтижимите обекти"
@@ -6666,12 +6688,6 @@ msgstr "git fsmonitor--daemon start [ОПЦИЯ…]"
msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [ОПЦИЯ…]"
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "дължината на „%s“ e извън диапазона: %d"
@@ -6923,8 +6939,20 @@ msgstr "изпълнение на определена задача"
msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "опциите „--auto“ и „--schedule=ЧЕСТОТГ Ñа неÑъвмеÑтими"
-msgid "failed to run 'git config'"
-msgstr "неуÑпешно изпълнение на „git config“"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "неуÑпешно добавÑне на ÑтойноÑÑ‚ на „%s“ за „%s“"
+
+msgid "return success even if repository was not registered"
+msgstr "уÑпешно завършване, дори ако хранилището не бъде региÑтрирано"
+
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "неуÑпешно изчиÑтване на ÑтойноÑÑ‚ на „%s“ за „%s“"
+
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "хранилището „%s“ не е региÑтрирано"
#, c-format
msgid "failed to expand path '%s'"
@@ -7227,11 +7255,14 @@ msgid "both --cached and trees are given"
msgstr "опциÑта „--cached“ е неÑъвмеÑтима ÑÑŠÑ Ð·Ð°Ð´Ð°Ð²Ð°Ð½Ðµ на дърво"
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t ВИД] [-w] [--path=ФÐЙЛ | --no-filters] [--stdin] [--] "
-"ФÐЙЛ…"
+"git hash-object [-t ВИД] [-w] [--path=ФÐЙЛ | --no-filters]\n"
+" [--stdin [--literally]] [--] ФÐЙЛ…"
+
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t ВИД] [-w] --stdin-paths [--no-filters]"
msgid "object type"
msgstr "ВИД на обекта"
@@ -7662,14 +7693,18 @@ msgid "Initialized empty Git repository in %s%s\n"
msgstr "Инициализиране на празно хранилище на Git в „%s%s“\n"
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=ДИРЕКТОРИЯ_С_ШÐБЛОÐИ] [--"
-"shared[=ПРÐÐ’Ð]] [ДИРЕКТОРИЯ]"
+"git init [-q | --quiet] [--bare] [--template=ДИРЕКТОРИЯ_С_ШÐБЛОÐИ]\n"
+" [--separate-git-dir ДИРЕКТОРИЯ_ÐÐ_GIT] [--object-format=ФОРМÐТ]\n"
+" [-b КЛОР| --initial-branch=КЛОÐ]\n"
+" [--shared[=ПРÐÐ’ÐÌ€]] [ДИРЕКТОРИЯ]"
msgid "permissions"
-msgstr "права"
+msgstr "права̀"
msgid "specify that the git repository is to be shared amongst several users"
msgstr ""
@@ -7709,11 +7744,13 @@ msgid "--separate-git-dir incompatible with bare repository"
msgstr "опциÑта „--separate-git-dir“ е неÑъвмеÑтима Ñ Ð³Ð¾Ð»Ð¾ хранилище"
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"ЛЕКСЕМÐ[(=|:)СТОЙÐОСТ])…] [ФÐЙЛ…]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer ЛЕКСЕМÐ[(=|:)СТОЙÐОСТ])…]\n"
+" [--parse] [ФÐЙЛ…]"
msgid "edit files in place"
msgstr "директно редактиране на файловете"
@@ -8213,11 +8250,11 @@ msgstr ""
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
-"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=КОМÐÐДÐ]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=КЛЮЧ]\n"
" [--symref] [ХРÐÐИЛИЩЕ [УКÐЗÐТЕЛ…]]"
msgid "do not print remote URL"
@@ -8352,12 +8389,12 @@ msgstr "git merge-base [-a | --all] ПОДÐÐ’ÐÐЕ ПОДÐÐ’ÐÐЕ…"
msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus ПОДÐÐ’ÐÐЕ…"
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent ПОДÐÐ’ÐÐЕ…"
-
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor ПОДÐÐ’ÐÐЕ_1 ПОДÐÐ’ÐÐЕ_2"
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent ПОДÐÐ’ÐÐЕ…"
+
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point УКÐЗÐТЕЛ [ПОДÐÐ’ÐÐЕ]"
@@ -8467,9 +8504,20 @@ msgstr ""
msgid "allow merging unrelated histories"
msgstr "позволÑване на Ñливане на незавиÑими иÑтории"
+msgid "perform multiple merges, one per line of input"
+msgstr "извършване на множеÑтво ÑливаниÑ, по едно на ред"
+
msgid "--trivial-merge is incompatible with all other options"
msgstr "„--trivial-merge“ е неÑъвмеÑтима Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ‚Ðµ опции"
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "входен ред Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÐµÐ½ формат: „%s“."
+
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "Ñливането не може да продължи — %d-тото завърши Ñ Ð³Ñ€ÐµÑˆÐºÐ°"
+
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [ОПЦИЯ…] [ПОДÐÐ’ÐÐЕ…]"
@@ -9105,10 +9153,6 @@ msgstr ""
"Ñъдържанието на бележка не може да Ñе вземе от обект, който не е BLOB: „%s“."
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "входен ред Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÐµÐ½ формат: „%s“."
-
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "бележката не може да Ñе копира от „%s“ към „%s“"
@@ -9305,13 +9349,12 @@ msgstr "да Ñе използва бележката Ñочена от този
msgid "unknown subcommand: `%s'"
msgstr "непозната подкоманда: „%s“"
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
msgstr ""
"git pack-objects --stdout [ОПЦИЯ…] [< СПИСЪК_С_УКÐЗÐТЕЛИ | < СПИСЪК_С_ОБЕКТИ]"
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
"git pack-objects [ОПЦИЯ…] ПРЕФИКС_ÐÐ_ИМЕТО [< СПИСЪК_С_УКÐЗÐТЕЛИ | < "
"СПИСЪК_С_ОБЕКТИ]"
@@ -9712,8 +9755,8 @@ msgstr ""
"ни извеÑтите Ñ Ðµ-пиÑмо до пощенÑÐºÐ¸Ñ ÑпиÑък:\n"
"<git@vger.kernel.org>.\n"
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [ОПЦИЯ…]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
msgid "pack everything"
msgstr "пакетиране на вÑичко"
@@ -9721,6 +9764,18 @@ msgstr "пакетиране на вÑичко"
msgid "prune loose refs (default)"
msgstr "окаÑтрÑне на недоÑтижимите указатели (Ñтандартно)"
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+msgid "use the unstable patch-id algorithm"
+msgstr "използване на неÑтабилен алгоритъм за идентифициране на кръпка"
+
+msgid "use the stable patch-id algorithm"
+msgstr "използване на Ñтабилен алгоритъм за идентифициране на кръпка"
+
+msgid "don't strip whitespace from the patch"
+msgstr "без махане на празните знаци в кръпката"
+
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire ВРЕМЕ] [--] [ВРЪХ…]"
@@ -9938,14 +9993,13 @@ msgstr ""
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
-"За да избегнете автоматичното задаване на Ñледени клони, когато името им не "
-"Ñъвпада Ñ Ñ‚Ð¾Ð²Ð° на Ð»Ð¾ÐºÐ°Ð»Ð½Ð¸Ñ ÐºÐ»Ð¾Ð½, погледнете документациÑта за ÑтойноÑтта "
+"За да избегнете автоматичното задаване на Ñледени клони, когато името им\n"
+"не Ñъвпада Ñ Ñ‚Ð¾Ð²Ð° на Ð»Ð¾ÐºÐ°Ð»Ð½Ð¸Ñ ÐºÐ»Ð¾Ð½, погледнете документациÑта за ÑтойноÑтта\n"
"„simple“ на наÑтройката „branch.autoSetupMerge“ в „git help config“.\n"
#, c-format
@@ -10109,6 +10163,13 @@ msgstr "ИзтлаÑкване към „%s“\n"
msgid "failed to push some refs to '%s'"
msgstr "чаÑÑ‚ от указателите не бÑха изтлаÑкани към „%s“"
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"рекурÑивно обхождане на подмодулите чрез „push.recurseSubmodules=only“. "
+"ВмеÑто това Ñе ползва ПРИ ÐУЖДÐ"
+
#, c-format
msgid "invalid value for '%s'"
msgstr "Ðеправилна ÑтойноÑÑ‚ за „%s“"
@@ -10247,13 +10308,15 @@ msgid "need two commit ranges"
msgstr "необходими Ñа два диапазона Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ"
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=ПРЕФИКС) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=ФÐЙЛ] (--empty | "
-"УКÐЗÐТЕЛ_КЪМ_ДЪРВО_1 [УКÐЗÐТЕЛ_КЪМ_ДЪРВО_2 [УКÐЗÐТЕЛ_КЪМ_ДЪРВО_3]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=ПРЕФИКС)\n"
+" [-u | -i]] [--index-output=ФÐЙЛ] [--no-sparse-checkout]\n"
+" (--empty | УКÐЗÐТЕЛ_КЪМ_ДЪРВО_1 [УКÐЗÐТЕЛ_КЪМ_ДЪРВО_2 "
+"[УКÐЗÐТЕЛ_КЪМ_ДЪРВО_3]])"
msgid "write resulting index to <file>"
msgstr "запазване на индекÑа в този ФÐЙЛ"
@@ -10343,8 +10406,8 @@ msgid "%s requires the merge backend"
msgstr "„%s“ изиÑква пребазиране"
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "не може да Ñе премине към новата база, зададена Ñ â€žonto“: „%s“"
+msgid "invalid onto: '%s'"
+msgstr "неправилен указател върху какво да Ñе пребазира: „%s“"
#, c-format
msgid "invalid orig-head: '%s'"
@@ -10394,8 +10457,8 @@ msgstr "не може да Ñе премине към „%s“"
#, c-format
msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and "
+"\"ask\"."
msgstr ""
"неправилна ÑтойноÑÑ‚ „%s“: вариантите Ñа „drop“ (преÑкачане), "
"„keep“ (запазване) и „ask“ (питане)"
@@ -10664,7 +10727,7 @@ msgstr "не ÑъщеÑтвува клон/подаване „%s“"
msgid "No such ref: %s"
msgstr "Такъв указател нÑма: %s"
-msgid "Could not resolve HEAD to a revision"
+msgid "Could not resolve HEAD to a commit"
msgstr "Подаването, Ñочено от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“, не може да бъде открито"
#, c-format
@@ -11346,6 +11409,10 @@ msgstr "временниÑÑ‚ файл „%s“ не може да бъде отÐ
msgid "could not close refs snapshot tempfile"
msgstr "временниÑÑ‚ файл ÑÑŠÑ Ñнимка на указателите не може да Ñе затвори"
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "изтриването на оÑтарÑлата битова маÑка „%s“ е невъзможно"
+
msgid "pack everything in a single pack"
msgstr "пакетиране на вÑичко в пакет"
@@ -11430,6 +11497,9 @@ msgstr "откриване на геометрична прогреÑÐ¸Ñ Ñ Ñ‡Ð
msgid "write a multi-pack index of the resulting packs"
msgstr "запазване на многопакетен Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° Ñъздадените пакети"
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð½Ð° името на Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ð·Ð° пакети за окаÑтрени обекти"
+
msgid "cannot delete packs in a precious-objects repo"
msgstr "пакетите в хранилище Ñ Ð²Ð°Ð¶Ð½Ð¸ обекти не може да Ñе триÑÑ‚"
@@ -11441,8 +11511,12 @@ msgid "pack prefix %s does not begin with objdir %s"
msgstr "името на Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“ не започва Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñта за обекти Ñ â€ž%s“"
#, c-format
-msgid "missing required file: %s"
-msgstr "липÑва Ð·Ð°Ð´ÑŠÐ»Ð¶Ð¸Ñ‚ÐµÐ»Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“"
+msgid "renaming pack to '%s' failed"
+msgstr "неуÑпешно преименуване на Ð¿Ð°ÐºÐµÑ‚Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» на „%s“"
+
+#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "Командата „git pack-objects“ не запиÑа файл „%s“ за пакета „%s-%s“"
#, c-format
msgid "could not unlink: %s"
@@ -11636,8 +11710,9 @@ msgstr "опциÑта „--convert-graft-file“ не приема аргуме
msgid "only one pattern can be given with -l"
msgstr "опциÑта „-l“ приема точно един шаблон"
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clear | forget ПЪТ… | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr "git rerere [clear | forget ПЪТ… | diff | status | remaining | gc]"
msgid "register clean resolutions in index"
msgstr "региÑтриране на чиÑти корекции на конфликти в индекÑа"
@@ -11843,6 +11918,15 @@ msgstr "опциÑта „--prefix“ изиÑква аргумент"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "непознат режим за „--abbrev-ref“: „%s“"
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "опциите „--exclude-hidden“ и „--branches“ Ñа неÑъвмеÑтими"
+
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "опциите „--exclude-hidden“ и „--tags“ Ñа неÑъвмеÑтими"
+
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "опциите „--exclude-hidden“ и „--remotes“ Ñа неÑъвмеÑтими"
+
msgid "this operation must be run in a work tree"
msgstr "тази команда трÑбва да Ñе изпълни в работно дърво"
@@ -11850,17 +11934,25 @@ msgstr "тази команда трÑбва да Ñе изпълни в рабÐ
msgid "unknown mode for --show-object-format: %s"
msgstr "непознат режим за „--show-object-format“: „%s“"
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [ОПЦИЯ…] УКÐЗÐТЕЛ_КЪМ_ПОДÐÐ’ÐÐЕ…"
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m ÐОМЕР_ÐÐ_РОДИТЕЛ] [-s]\n"
+" [-S[ИДЕÐТИФИКÐТОР_ÐÐ_КЛЮЧ]] ПОДÐÐ’ÐÐЕ…"
-msgid "git revert <subcommand>"
-msgstr "git revert ПОДКОМÐÐДÐ"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [ОПЦИЯ…] УКÐЗÐТЕЛ_КЪМ_ПОДÐÐ’ÐÐЕ…"
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m ÐОМЕР_ÐÐ_РОДИТЕЛ] [-s] [-x] [--ff]\n"
+" [-S[ИДЕÐТИФИКÐТОР_ÐÐ_КЛЮЧ]] ПОДÐÐ’ÐÐЕ…"
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick ПОДКОМÐÐДÐ"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#, c-format
msgid "option `%s' expects a number greater than zero"
@@ -11889,7 +11981,7 @@ msgid "edit the commit message"
msgstr "редактиране на Ñъобщението при подаване"
msgid "parent-number"
-msgstr "номер на родителÑ"
+msgstr "номер на родител"
msgid "select mainline parent"
msgstr "избор на оÑÐ½Ð¾Ð²Ð½Ð¸Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»"
@@ -11921,8 +12013,14 @@ msgstr "неуÑпешна отмÑна"
msgid "cherry-pick failed"
msgstr "неуÑпешно отбиране"
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [ОПЦИЯ…] [--] ФÐЙЛ…"
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=ФÐЙЛ [--pathspec-file-nul]]\n"
+" [--] [ПЪТ…]"
msgid ""
"the following file has staged content different from both the\n"
@@ -12001,12 +12099,14 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=ПÐКЕТ]\n"
" [--verbose] [--thin] [--atomic]\n"
-" [ХОСТ:]ДИРЕКТОРИЯ (--all | УКÐЗÐТЕЛ…])"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
+" [ХОСТ:]ДИРЕКТОРИЯ (--all | УКÐЗÐТЕЛ…)"
msgid "remote name"
msgstr "име на отдалечено хранилище"
@@ -12029,8 +12129,9 @@ msgstr "git log --pretty=short | git shortlog [ОПЦИЯ…]"
msgid "using multiple --group options with stdin is not supported"
msgstr "повече от една опции „--group“ Ñа неÑъвмеÑтими ÑÑŠÑ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´"
-msgid "using --group=trailer with stdin is not supported"
-msgstr "опциÑта „--group=trailer“ е неÑъвмеÑтима ÑÑŠÑ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "„%s“ не поддържа ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´"
#, c-format
msgid "unknown group type: %s"
@@ -12067,12 +12168,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=КОГÐ] | --no-color] [--sparse]\n"
-" [--more=БРОЙ | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(РЕВИЗИЯ | УКÐЗÐТЕЛ)…]"
+" [--more=<n> | --list | --independent | --merge-base]\n"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(РЕВИЗИЯ | УКÐЗÐТЕЛ)…]"
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
msgstr "git show-branch (-g | --reflog)[=БРОЙ[,БÐЗÐ]] [--list] [УКÐЗÐТЕЛ]"
@@ -12174,11 +12277,13 @@ msgid "Unknown hash algorithm"
msgstr "Ðепознат алгоритъм за контролни Ñуми"
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=ЧИСЛО]] [--abbrev[=ЧИСЛО]] [--tags] [--heads] [--] [ШÐБЛОÐ…]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=БРОЙ]] [--abbrev[=БРОЙ]] [--tags]\n"
+" [--heads] [--] [ШÐБЛОÐ…]"
msgid "git show-ref --exclude-existing[=<pattern>]"
msgstr "git show-ref --exclude-existing[=ШÐБЛОÐ]"
@@ -12211,8 +12316,10 @@ msgstr ""
"извеждане на указателите приети от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´, които липÑват в "
"локалното хранилище"
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) ОПЦИЯ…"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) ОПЦИЯ…"
msgid "this worktree is not sparse"
msgstr "това работно дърво не е чаÑтично"
@@ -12338,67 +12445,57 @@ msgstr ""
msgid "error while refreshing working directory"
msgstr "грешка при обновÑване на работната директориÑ"
-msgid "git stash list [<options>]"
-msgstr "git stash list [ОПЦИЯ…]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [ОПЦИЯ_ЗÐ_ЖУРÐÐЛ…]"
+
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] "
+"[ОПЦИЯ_ЗÐ_РÐЗЛИКÐ…] [СКÐТÐÐО]"
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [ОПЦИЯ…] [СКÐТÐÐО]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [СКÐТÐÐО]"
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [СКÐТÐÐО]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [СКÐТÐÐО]"
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [СКÐТÐÐО]"
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [СКÐТÐÐО]"
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch КЛОР[СКÐТÐÐО]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr "git stash store [-m | --message СЪОБЩЕÐИЕ] [-q | --quiet] ПОДÐÐ’ÐÐЕ"
+
msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgstr ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message СЪОБЩЕÐИЕ]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"СЪОБЩЕÐИЕ]\n"
" [--pathspec-from-file=ФÐЙЛ [--pathspec-file-nul]]\n"
" [--] [ПЪТ…]]"
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [СЪОБЩЕÐИЕ]"
-
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [СКÐТÐÐО]"
-
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [СКÐТÐÐО]"
-
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message СЪОБЩЕÐИЕ] [-q|--quiet] ПОДÐÐ’ÐÐЕ"
-
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message СЪОБЩЕÐИЕ]\n"
-" [--] [ПЪТ…]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [СЪОБЩЕÐИЕ]"
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [СЪОБЩЕÐИЕ]]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [СЪОБЩЕÐИЕ]"
#, c-format
msgid "'%s' is not a stash-like commit"
@@ -12973,9 +13070,6 @@ msgstr "рекурÑивно обхождане на подмодулите"
msgid "don't fetch new objects from the remote site"
msgstr "без доÑтавÑне на новите обекти от отдалеченото хранилище"
-msgid "path into the working tree"
-msgstr "път към работното дърво"
-
msgid "use the 'checkout' update strategy (default)"
msgstr ""
"използване на ÑтратегиÑта за обновÑване „checkout“ (изтеглÑне — Ñтандартно)"
@@ -13012,27 +13106,9 @@ msgstr ""
"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
"[--] [ПЪТ…]"
-msgid "recurse into submodules"
-msgstr "рекурÑивно обхождане подмодулите"
-
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [ОПЦИЯ…] [ПЪТ…]"
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "проверка дали пиÑането във файла „.gitmodules“ е безопаÑно"
-
-msgid "unset the config in the .gitmodules file"
-msgstr "изтриване на наÑтройка във файла „.gitmodules“"
-
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config ИМЕ [СТОЙÐОСТ]"
-
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset ИМЕ"
-
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr "файлът „.gitmodules“ трÑбва да е в работното дърво"
-
msgid "suppress output for setting url of a submodule"
msgstr "без извеждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ задаването на адреÑа на подмодул"
@@ -13112,6 +13188,9 @@ msgstr "Ðктивиране на локалното хранилище за пÐ
msgid "unable to checkout submodule '%s'"
msgstr "Подмодулът „%s“ не може да бъде изтеглен"
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "файлът „.gitmodules“ трÑбва да е в работното дърво"
+
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "ÐеуÑпешно добавÑне на подмодула „%s“"
@@ -13165,19 +13244,21 @@ msgstr ""
msgid "'%s' is not a valid submodule name"
msgstr "„%s“ е неправилно име за подмодул"
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper КОМÐÐДÐ"
+
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "„%s“ не поддържа опциÑта „--super-prefix“"
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "„%s“ не е подкоманда на „submodule--helper“"
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m ПРИЧИÐÐ] ИМЕ УКÐЗÐТЕЛ"
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [ОПЦИЯ…] ИМЕ [УКÐЗÐТЕЛ]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] ИМЕ"
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] ИМЕ"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] ИМЕ"
msgid "suppress error message for non-symbolic (detached) refs"
msgstr "без извеждане на грешка за неÑвързани (неÑимволни) указатели"
@@ -13188,6 +13269,9 @@ msgstr "изтриване на Ñимволен указател"
msgid "shorten ref output"
msgstr "кратка Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° указателÑ"
+msgid "recursively dereference (default)"
+msgstr "рекурÑивно извеждане на идентификатори (Ñтандартно)"
+
msgid "reason"
msgstr "причина"
@@ -13195,24 +13279,26 @@ msgid "reason of the update"
msgstr "причина за обновÑването"
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u ИДЕÐТИФИКÐТОР_ÐÐ_КЛЮЧ] [-f] [-m СЪОБЩЕÐИЕ | -F ФÐЙЛ]\n"
-" ЕТИКЕТ [ВРЪХ]"
+"git tag [-a | -s | -u ИДЕÐТИФИКÐТОР_ÐÐ_КЛЮЧ] [-f] [-m СЪОБЩЕÐИЕ | -F ФÐЙЛ] [-"
+"e]\n"
+" ЕТИКЕТ [ПОДÐÐ’ÐÐЕ | ОБЕКТ]"
msgid "git tag -d <tagname>..."
msgstr "git tag -d ЕТИКЕТ…"
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[БРОЙ]] [--contains ПОДÐÐ’ÐÐЕ] [--no-contains ПОДÐÐ’ÐÐЕ]\n"
-" [--points-at ОБЕКТ] [--format=ФОРМÐТ] [--merged ПОДÐÐ’ÐÐЕ]\n"
-" [--no-merged ПОДÐÐ’ÐÐЕ] [ШÐБЛОÐ…]"
+"git tag [-n[БРОЙ]] -l [--contains ПОДÐÐ’ÐÐЕ] [--no-contains ПОДÐÐ’ÐÐЕ]\n"
+" [--points-at ОБЕКТ] [--column[=ОПЦИЯ…] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=ФОРМÐТ]\n"
+" [--merged ПОДÐÐ’ÐÐЕ] [--no-merged ПОДÐÐ’ÐÐЕ] [ШÐБЛОÐ…]"
msgid "git tag -v [--format=<format>] <tagname>..."
msgstr "git tag -v [--format=ФОРМÐТ] ЕТИКЕТ…"
@@ -13614,8 +13700,12 @@ msgstr "изчитане на указателите от ÑтандартниÑ
msgid "update the info files from scratch"
msgstr "обновÑване на информационните файлове от нулата"
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [ОПЦИЯ…] ДИРЕКТОРИЯ"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=БРОЙ] [--stateless-rpc]\n"
+" [--advertise-refs] ДИРЕКТОРИЯ"
msgid "quit after a single request/response exchange"
msgstr "изход Ñлед първоначалната размÑна на заÑвка и отговор"
@@ -13630,8 +13720,8 @@ msgstr ""
msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "транÑферът да Ñе преуÑтанови Ñлед този БРОЙ Ñекунди"
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] ПОДÐÐ’ÐÐЕ…"
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] ПОДÐÐ’ÐÐЕ…"
msgid "print commit contents"
msgstr "извеждане на Ñъдържанието на подаването"
@@ -13639,8 +13729,8 @@ msgstr "извеждане на Ñъдържанието на подаванет
msgid "print raw gpg status output"
msgstr "извеждане на Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ от ÑÑŠÑтоÑнието на „gpg“"
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] ПÐКЕТ…"
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] [--] ПÐКЕТ.idx…"
msgid "verbose"
msgstr "извеждане на подробна информациÑ"
@@ -13648,35 +13738,39 @@ msgstr "извеждане на подробна информациÑ"
msgid "show statistics only"
msgstr "извеждане Ñамо на ÑтатиÑтиката"
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=ФОРМÐТ] ЕТИКЕТ…"
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=ФОРМÐТ] [--raw] ЕТИКЕТ…"
msgid "print tag contents"
msgstr "извеждане на Ñъдържанието на ЕТИКЕТи"
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [ОПЦИЯ…] ПЪТ [УКÐЗÐТЕЛ_КЪМ_ПОДÐÐ’ÐÐЕ]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason ÐИЗ]]\n"
+" [-b ÐОВ_КЛОÐ] ПЪТ [УКÐЗÐТЕЛ_КЪМ_ПОДÐÐ’ÐÐЕ]"
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [ОПЦИЯ…]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [ОПЦИЯ…] [ПЪТ]"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason ПРИЧИÐÐ] ФОРМÐТ"
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move [ДЪРВО] [ÐОВ_ПЪТ]"
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [ОПЦИЯ…]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire ВРЕМЕ]"
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [ОПЦИЯ…] [ДЪРВО]"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] ДЪРВО"
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [ПЪТ…]"
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock [ПЪТ]"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock ДЪРВО"
#, c-format
msgid "Removing %s/%s: %s"
@@ -13918,6 +14012,10 @@ msgstr "Ñамо за изчиÑтване на грешки"
msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "„core.fsyncMethod = batch“ не Ñе поддържа на тази платформа"
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "липÑва режим в ÑпиÑъка от пратки „%s“"
+
msgid "failed to create temporary file"
msgstr "не може да Ñе Ñъздаде временен файл"
@@ -13925,16 +14023,30 @@ msgid "insufficient capabilities"
msgstr "недоÑтатъчно възможноÑти"
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "непознат режим на пратки от Ð°Ð´Ñ€ÐµÑ â€ž%s“"
+
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr ""
+"преминато е ограничениeто за рекурÑивно обхождане на адреÑи на пратки (%d)"
+
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "неуÑпешно изтеглÑне на пратка от адреÑ: „%s“"
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "файлът на Ð°Ð´Ñ€ÐµÑ â€ž%s“ не е пратка"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "файлът на Ð°Ð´Ñ€ÐµÑ â€ž%s“ не е нито пратка, нито ÑпиÑък Ñ Ð¿Ñ€Ð°Ñ‚ÐºÐ¸"
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "неуÑпешно разпакетиране на пратка от Ð°Ð´Ñ€ÐµÑ â€ž%s“"
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri: получен е празен ред"
+
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri: редът не е във формат „КЛЮЧ=СТОЙÐОСТ“"
+
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri: редът Ñъдържа празен ключ или ÑтойноÑÑ‚"
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
@@ -14163,7 +14275,7 @@ msgstr "СравнÑване на обекти-дърво Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð½Ð¾Ñ‚Ð¾
msgid "Compares the content and mode of blobs found via two tree objects"
msgstr ""
-"СравнÑване на Ñъдържанието и правата за доÑтъп на обектите-BLOB чрез два "
+"СравнÑване на Ñъдържанието и права̀та за доÑтъп на обектите-BLOB чрез два "
"обекта-дърво"
msgid "Show changes using common diff tools"
@@ -14521,7 +14633,7 @@ msgstr "Формат на пратките"
msgid "Chunk-based file formats"
msgstr "Формати на откъÑите"
-msgid "Git commit graph format"
+msgid "Git commit-graph format"
msgstr "Формат на гра̀фа Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñта"
msgid "Git index format"
@@ -14691,7 +14803,7 @@ msgstr "не може да бъде Ñъздаден временен Ñлой Ð
#, c-format
msgid "unable to adjust shared permissions for '%s'"
-msgstr "правата за Ñподелен доÑтъп до „%s“ не може да бъдат зададени"
+msgstr "права̀та за Ñподелен доÑтъп до „%s“ не може да бъдат зададени"
#, c-format
msgid "Writing out commit graph in %d pass"
@@ -14888,8 +15000,12 @@ msgstr "необработен Ñлучай в „has_worktree_moved“: %d"
#, c-format
msgid "health thread wait failed [GLE %ld]"
msgstr ""
-"грешка в нишката за Ñледене на ÑÑŠÑтоÑнието [поÑледна грешка в нишката: GLE="
-"%1$ld]"
+"грешка в нишката за Ñледене на ÑÑŠÑтоÑнието [поÑледна грешка в нишката: "
+"GLE=%1$ld]"
+
+#, c-format
+msgid "Invalid path: %s"
+msgstr "Ðеправилен път: „%s“"
msgid "Unable to create FSEventStream."
msgstr "ÐеуÑпешно Ñъздаване на „FSEventStream“."
@@ -14911,8 +15027,8 @@ msgstr "„%2$s“ не може да Ñе наблюдава [поÑледна
#, c-format
msgid "[GLE %ld] could not get longname of '%s'"
msgstr ""
-"дългото име на „%2$s“ те може да Ñе получи [поÑледна грешка в нишката: GLE="
-"%1$ld]"
+"дългото име на „%2$s“ те може да Ñе получи [поÑледна грешка в нишката: "
+"GLE=%1$ld]"
#, c-format
msgid "ReadDirectoryChangedW failed on '%s' [GLE %ld]"
@@ -14933,6 +15049,22 @@ msgstr ""
"нишката: GLE=%ld]"
#, c-format
+msgid "opendir('%s') failed"
+msgstr "неуÑпешно изпълнение на opendir(„%s“)"
+
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "неуÑпешно изпълнение на lstat(„%s“)"
+
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "неуÑпешно изпълнение на strbuf_readlink(„%s“)"
+
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "неуÑпешно изпълнение на closedir(„%s“)"
+
+#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr ""
"файлът „%2$ls“ не може да бъде отворен за четене [поÑледна грешка в нишката: "
@@ -15324,7 +15456,7 @@ msgstr "неуÑпешно изпълнение на „mmap“ върху „%s
#, c-format
msgid "chmod on %s failed"
-msgstr "неуÑпешна ÑмÑна на права Ñ â€žchmod“ върху „%s“"
+msgstr "неуÑпешна ÑмÑна на права̀ Ñ â€žchmod“ върху „%s“"
#, c-format
msgid "could not write config file %s"
@@ -15353,7 +15485,7 @@ msgid ""
msgstr ""
"Ðе може да Ñе чете от отдалеченото хранилище.\n"
"\n"
-"Проверете дали то ÑъщеÑтвува и дали имате права\n"
+"Проверете дали то ÑъщеÑтвува и дали имате права̀\n"
"за доÑтъп."
#, c-format
@@ -16576,9 +16708,11 @@ msgstr "виртуалното хранилище „%s“ е неÑъвмеÑÑ‚
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
msgstr ""
-"хранилището „%s“ е неÑъвмеÑтимо Ñ fsmonitor заради липÑата на гнезда на unix"
+"директориÑта за гнезда „%s“ е неÑъвмеÑтима Ñ fsmonitor заради липÑата на "
+"гнезда на Unix"
msgid ""
"git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n"
@@ -16915,8 +17049,8 @@ msgstr[1] ""
"\n"
"Ðай-близките команди Ñа"
-msgid "git version [<options>]"
-msgstr "git version [ОПЦИЯ…]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#, c-format
msgid "%s: %s - %s"
@@ -16940,7 +17074,7 @@ msgid ""
"The '%s' hook was ignored because it's not set as executable.\n"
"You can disable this warning with `git config advice.ignoredHook false`."
msgstr ""
-"Куката „%s“ Ñе преÑкача, защото липÑват права за изпълнение.\n"
+"Куката „%s“ Ñе преÑкача, защото липÑват права̀ за изпълнение.\n"
"За да изключите това предупреждение, изпълнете:\n"
" git config advice.ignoredHook false"
@@ -17420,7 +17554,7 @@ msgstr "неуÑпешно Ñъздаване на Ñимволната връз
#, c-format
msgid "do not know what to do with %06o %s '%s'"
msgstr ""
-"не е ÑÑно какво да Ñе прави Ñ Ð¾Ð±ÐµÐºÑ‚Ð° „%2$s“ (%3$s) Ñ Ð¿Ñ€Ð°Ð²Ð° за доÑтъп „%1$06o“"
+"не е ÑÑно какво да Ñе прави Ñ Ð¾Ð±ÐµÐºÑ‚Ð° „%2$s“ (%3$s) Ñ Ð¿Ñ€Ð°Ð²Ð°Ì€ за доÑтъп „%1$06o“"
#, c-format
msgid "Fast-forwarding submodule %s to the following commit:"
@@ -17533,8 +17667,8 @@ msgstr ""
#, c-format
msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename "
+"\"%s\"->\"%s\" in \"%s\"%s"
msgstr ""
"КОÐФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон "
"„%s“, а „%s“ е преименуван на „%s“ в „%s“/%s."
@@ -17877,10 +18011,6 @@ msgstr ""
"%s: алтернативните хранилища за обекти Ñе пренебрегват поради прекалено "
"дълбоко влагане"
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "директориÑта за обекти „%s“ не може да бъде нормализирана"
-
msgid "unable to fdopen alternates lockfile"
msgstr "заключващиÑÑ‚ файл за алтернативите не може да Ñе отвори Ñ â€žfdopen“"
@@ -17976,7 +18106,7 @@ msgstr "файлът „%s“ не може да бъде запиÑан"
#, c-format
msgid "unable to set permission to '%s'"
-msgstr "правата за доÑтъп до „%s“ не може да бъдат зададени"
+msgstr "права̀та за доÑтъп до „%s“ не може да бъдат зададени"
msgid "file write error"
msgstr "грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° файл"
@@ -17987,7 +18117,7 @@ msgstr "грешка при затварÑнето на файла Ñ Ð½ÐµÐ¿Ð°Ðº
#, c-format
msgid "insufficient permission for adding an object to repository database %s"
msgstr ""
-"нÑма права за добавÑне на обект към базата от данни на хранилището „%s“"
+"нÑма права̀ за добавÑне на обект към базата от данни на хранилището „%s“"
msgid "unable to create temporary file"
msgstr "не може да бъде Ñъздаден временен файл"
@@ -18436,7 +18566,7 @@ msgstr "не може да Ñе получи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „st
#, c-format
msgid "failed to make %s readable"
-msgstr "не може да Ñе дадат права за четене на „%s“"
+msgstr "не може да Ñе дадат права̀ за четене на „%s“"
#, c-format
msgid "could not write '%s' promisor file"
@@ -18605,7 +18735,7 @@ msgstr ""
#, c-format
msgid "Could not make %s writable by group"
-msgstr "Ðе може да Ñе дадат права за Ð·Ð°Ð¿Ð¸Ñ Ð² директориÑта „%s“ на групата"
+msgstr "Ðе може да Ñе дадат права̀ за Ð·Ð°Ð¿Ð¸Ñ Ð² директориÑта „%s“ на групата"
msgid "Escape character '\\' not allowed as last character in attr value"
msgstr ""
@@ -18741,6 +18871,10 @@ msgid "promisor remote name cannot begin with '/': %s"
msgstr ""
"името отдалеченото хранилище-гарант не може за започва ÑÑŠÑ Ð·Ð½Ð°ÐºÐ° „/“: %s"
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "„%s“ не може да Ñе доÑтави от гарантиращото хранилище"
+
msgid "object-info: expected flush after arguments"
msgstr "object-info: Ñлед аргументите Ñе очаква изчиÑтване на буферите"
@@ -18934,7 +19068,7 @@ msgstr "неуÑпешно изтриване на „%s“"
#, c-format
msgid "cannot fix permission bits on '%s'"
-msgstr "правата за доÑтъп до „%s“ не може да бъдат поправени"
+msgstr "права̀та за доÑтъп до „%s“ не може да бъдат поправени"
#, c-format
msgid "%s: cannot drop to stage #0"
@@ -19838,6 +19972,13 @@ msgid "failed to find tree of %s"
msgstr "дървото, Ñочено от „%s“, не може да бъде открито"
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "неподдържан раздел за Ñкрити указатели: „%s“"
+
+msgid "--exclude-hidden= passed more than once"
+msgstr "опциÑта „--exclude-hidden=“ не може да Ñе подава повече от веднъж"
+
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr ""
"в информациÑта за отмÑна на разрешените Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ÑÑŠÑтва „%s“, който "
@@ -19986,6 +20127,14 @@ msgid "--all or <enlistment>, but not both"
msgstr "опциÑта „--all“ и указването на зачиÑлена Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ðµ Ñа ÑъвмеÑтими"
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "оÑтарÑлото Ñкаларно хранилище (scalar.repo) „%s“ не може да Ñе изтрие"
+
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "изтриване на оÑтарÑлото Ñкаларно хранилище (scalar.repo) „%s“"
+
+#, c-format
msgid "git repository gone in '%s'"
msgstr "вече нÑма хранилище на git в „%s“"
@@ -20194,7 +20343,7 @@ msgid "%s: Unable to write new index file"
msgstr "%s: новиÑÑ‚ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ може да бъде запазен"
msgid "unable to update cache tree"
-msgstr "дървото на кеша не може да бъде обновено"
+msgstr "кешът на обектите-дървета не може да бъде обновен"
msgid "could not resolve HEAD commit"
msgstr "подаването, Ñочено от ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ â€žHEAD“, не може да бъде открито"
@@ -20652,16 +20801,16 @@ msgstr ""
msgid "illegal label name: '%.*s'"
msgstr "неправилно име на етикет: „%.*s“"
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "„%s“ не може да бъде открит"
+
msgid "writing fake root commit"
msgstr "запазване на фалшиво начално подаване"
msgid "writing squash-onto"
msgstr "запазване на подаването, в което другите да Ñе вкарат"
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "„%s“ не може да бъде открит"
-
msgid "cannot merge without a current revision"
msgstr "без текущо подаване не може да Ñе Ñлива"
@@ -21032,7 +21181,7 @@ msgid ""
msgstr ""
"зададениÑÑ‚ в „core.sharedRepository“ режим за доÑтъп до файлове е неправилен "
"(0%.3o).\n"
-"СобÑтвеникът на файла трÑбва да има права за пиÑане и четене."
+"СобÑтвеникът на файла трÑбва да има права̀ за пиÑане и четене."
msgid "fork failed"
msgstr "неуÑпешно Ñъздаване на Ð¿Ñ€Ð¾Ñ†ÐµÑ Ñ‡Ñ€ÐµÐ· „fork“"
@@ -21277,6 +21426,17 @@ msgstr "„ls-tree“ завърши Ñ Ð½ÐµÐ¾Ñ‡Ð°ÐºÐ²Ð°Ð½ изходен код
msgid "failed to lstat '%s'"
msgstr "не може да бъде получена Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñ‡Ñ€ÐµÐ· „lstat“ за „%s“"
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree ОПЦИЯ… (control|prime|update)"
+
+msgid "clear the cache tree before each iteration"
+msgstr "изчиÑтване на кеша на обектите-дървета преди вÑÑка итерациÑ"
+
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr ""
+"какъв брой запиÑи в кеша на обектите-дървета да Ñе отбележат като невалидни "
+"(Ñтандартно е 0)"
+
msgid "unhandled options"
msgstr "неподдържани опции"
@@ -21377,7 +21537,7 @@ msgstr "„%s“ не е обикновен файл"
#, c-format
msgid "file %s is not writable by user"
-msgstr "„%s“: нÑма права за запиÑване на файла"
+msgstr "„%s“: нÑма права̀ за запиÑване на файла"
msgid "could not open temporary file"
msgstr "временниÑÑ‚ файл не може да Ñе отвори"
@@ -21629,7 +21789,7 @@ msgid "too-short tree object"
msgstr "прекалено кратък обект-дърво"
msgid "malformed mode in tree entry"
-msgstr "неправилни права за доÑтъп в Ð·Ð°Ð¿Ð¸Ñ Ð² дърво"
+msgstr "неправилни права̀ за доÑтъп в Ð·Ð°Ð¿Ð¸Ñ Ð² дърво"
msgid "empty filename in tree entry"
msgstr "празно име на файл в Ð·Ð°Ð¿Ð¸Ñ Ð² дърво"
diff --git a/po/ca.po b/po/ca.po
index 7a17ed5936..9141148342 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -68,8 +68,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-28 18:55+0200\n"
-"PO-Revision-Date: 2022-09-28 19:00-0600\n"
+"POT-Creation-Date: 2022-12-07 07:33+0100\n"
+"PO-Revision-Date: 2022-12-07 19:00-0600\n"
"Last-Translator: Jordi Mas i Hernàndez <jmas@softcatala.org>\n"
"Language-Team: Catalan\n"
"Language: ca\n"
@@ -818,7 +818,10 @@ msgid "cmdline ends with \\"
msgstr "la línia d'ordres acaba amb \\"
msgid "unclosed quote"
-msgstr "commetes no tancades"
+msgstr "cometes no tancades"
+
+msgid "too many arguments"
+msgstr "hi ha massa arguments"
#, c-format
msgid "unrecognized whitespace option '%s'"
@@ -1878,7 +1881,7 @@ msgstr ""
"comprova si els fitxers, fins i tot els absents, s'ignoren en fer una prova"
msgid "allow updating entries outside of the sparse-checkout cone"
-msgstr "permet actualitzar entrada fora del con del «sparse-checkout»"
+msgstr "permet actualitzar les entrades fora del con del «sparse-checkout»"
msgid "override the executable bit of the listed files"
msgstr "sobreescriu el bit executable dels fitxers llistats"
@@ -2408,7 +2411,7 @@ msgid ""
"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
msgstr ""
"no s'ha pogut agafar la HEAD original «%s». Proveu «git bisect reset "
-"<commit>»."
+"<comissió>»."
#, c-format
msgid "Bad bisect_write argument: %s"
@@ -2606,42 +2609,6 @@ msgstr ""
"l'execució de la bisecció ha fallat: «git bisect--helper --bisect-state %s» "
"ha sortit amb el codi d'error %d"
-msgid "reset the bisection state"
-msgstr "restableix l'estat de la bisecció"
-
-msgid "check whether bad or good terms exist"
-msgstr "comprova si existeixen termes correctes o incorrectes"
-
-msgid "print out the bisect terms"
-msgstr "imprimeix els termes de la bisecció"
-
-msgid "start the bisect session"
-msgstr "inicia la sessió bisecció"
-
-msgid "find the next bisection commit"
-msgstr "troba la comissió de bisecció següent"
-
-msgid "mark the state of ref (or refs)"
-msgstr "marca l'estat de la referència o referències"
-
-msgid "list the bisection steps so far"
-msgstr "mostra les passes de la bisecció fins ara"
-
-msgid "replay the bisection process from the given file"
-msgstr "torna a reproduir el procés de bisecció des del fitxer donat"
-
-msgid "skip some commits for checkout"
-msgstr "omet algunes comissions en agafar"
-
-msgid "visualize the bisection"
-msgstr "visualitza la bisecció"
-
-msgid "use <cmd>... to automatically bisect"
-msgstr "useu <cmd>... per a fer una bisecció automàticament"
-
-msgid "no log for BISECT_WRITE"
-msgstr "no hi ha registre per a BISECT_WRITE"
-
msgid "--bisect-reset requires either no argument or a commit"
msgstr "--bisect-reset no requereix cap argument ni comissió"
@@ -2660,6 +2627,9 @@ msgstr "no s'ha donat cap fitxer de registre"
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<opcions>] [<opcions-de-revisió>] [<revisió>] [--] fitxer"
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<opcions>] [<rev-opts>] [<rev>] [--] <fitxer>"
+
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "es documenten les <opcions-de-revisió> en git-rev-list(1)"
@@ -2799,11 +2769,11 @@ msgid ""
"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
"point>]"
msgstr ""
-"git branch [<options>] [-f] [--recurse-submodules] <branch-name> [<start-"
+"git branch [<opcions>] [-f] [--recurse-submodules] <branch-name> [<start-"
"point>]"
msgid "git branch [<options>] [-l] [<pattern>...]"
-msgstr "git branch [<options>] [-l] [<pattern>...]"
+msgstr "git branch [<opcions>] [-l] [<patró>...]"
msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..."
msgstr "git branch [<opcions>] [-r] (-d | -D) <nom-de-branca>..."
@@ -2856,9 +2826,6 @@ msgstr "L'actualització del fitxer de configuració ha fallat"
msgid "cannot use -a with -d"
msgstr "no es pot usar -a amb -d"
-msgid "Couldn't look up commit object for HEAD"
-msgstr "No s'ha pogut trobar l'objecte de comissió de HEAD"
-
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "No es pot suprimir la branca «%s» agafada a «%s»"
@@ -2897,16 +2864,18 @@ msgstr "S'està fent «rebase» en la branca %s a %s"
msgid "Branch %s is being bisected at %s"
msgstr "La branca %s s'està bisecant a %s"
-msgid "cannot copy the current branch while not on any."
-msgstr "no es pot copiar branca actual mentre no s'és a cap."
-
-msgid "cannot rename the current branch while not on any."
-msgstr "no es pot canviar el nom de la branca actual mentre no s'és a cap."
-
#, c-format
msgid "Invalid branch name: '%s'"
msgstr "Nom de branca no vàlid: «%s»"
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Encara no hi ha cap comissió en la branca «%s»."
+
+#, c-format
+msgid "No branch named '%s'."
+msgstr "No hi ha cap branca amb nom «%s»."
+
msgid "Branch rename failed"
msgstr "El canvi de nom de branca ha fallat"
@@ -3039,7 +3008,7 @@ msgid "sorting and filtering are case insensitive"
msgstr "ordenació i filtratge distingeixen entre majúscules i minúscules"
msgid "recurse through submodules"
-msgstr "inclou recursivament als submòduls"
+msgstr "inclou recursivament els submòduls"
msgid "format to use for the output"
msgstr "format a usar en la sortida"
@@ -3069,13 +3038,11 @@ msgstr "No es pot donar descripció a una HEAD separada"
msgid "cannot edit description of more than one branch"
msgstr "no es pot editar la descripció de més d'una branca"
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "Encara no hi ha cap comissió en la branca «%s»."
+msgid "cannot copy the current branch while not on any."
+msgstr "no es pot copiar branca actual mentre no s'és a cap."
-#, c-format
-msgid "No branch named '%s'."
-msgstr "No hi ha cap branca amb nom «%s»."
+msgid "cannot rename the current branch while not on any."
+msgstr "no es pot canviar el nom de la branca actual mentre no s'és a cap."
msgid "too many branches for a copy operation"
msgstr "hi ha massa branques per a una operació de còpia"
@@ -3116,7 +3083,7 @@ msgid ""
"Did you mean to use: -a|-r --list <pattern>?"
msgstr ""
"Les opcions -a i -r a «git branch» no prenen un nom de branca.\n"
-"Volíeu usar -a|-r --list <pattern>?"
+"Volíeu usar -a|-r --list <patró>?"
msgid ""
"the '--set-upstream' option is no longer supported. Please use '--track' or "
@@ -3143,11 +3110,11 @@ msgstr ""
"no s'està executant en un repositori de git - no hi ha lligams a mostrar\n"
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <camí>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgid ""
"Thank you for filling out a Git bug report!\n"
@@ -3218,17 +3185,23 @@ msgstr "no s'ha pogut escriure a %s"
msgid "Created new report at '%s'.\n"
msgstr "S'ha creat un nou informe a «%s».\n"
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<opcions>] <fitxer> <git-rev-list args>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<versió>] <fitxer> <git-rev-list-args>"
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<opcions>] <fitxer>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <fitxer>"
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <fitxer> [<refname>...]"
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <fitxer> [<refname>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <fitxer> [<refname>...]"
msgid "do not show progress meter"
msgstr "no mostris l'indicador de progrés"
@@ -3291,24 +3264,24 @@ msgid "only one batch option may be specified"
msgstr "només es pot especificar una opció per lots"
msgid "git cat-file <type> <object>"
-msgstr "git cat-file <type> <object>"
+msgstr "git cat-file <tipus> <objecte>"
msgid "git cat-file (-e | -p) <object>"
-msgstr "git cat-file (-e | -p) <object>"
+msgstr "git cat-file (-e | -p) <objecte>"
msgid "git cat-file (-t | -s) [--allow-unknown-type] <object>"
-msgstr "git cat-file (-t | -s) [--allow-unknown-type] <object>"
+msgstr "git cat-file (-t | -s) [--allow-unknown-type] <objecte>"
msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgid ""
"git cat-file (--textconv | --filters)\n"
@@ -3321,7 +3294,7 @@ msgid "Check object existence or emit object contents"
msgstr "Comprova l'existència de l'objecte o emet el contingut de l'objecte"
msgid "check if <object> exists"
-msgstr "comprova si <object> existeix"
+msgstr "comprova si <objecte> existeix"
msgid "pretty-print <object> content"
msgstr "impressió embellida del contingut de l'<objecte>"
@@ -3390,7 +3363,7 @@ msgid "blob|tree"
msgstr "blob|tree"
msgid "use a <path> for (--textconv | --filters); Not with 'batch'"
-msgstr "useu un <path> per a (--textconv | --filters); no amb «batch»"
+msgstr "useu un <camí> per a (--textconv | --filters); no amb «batch»"
#, c-format
msgid "'%s=<%s>' needs '%s' or '%s'"
@@ -3416,14 +3389,11 @@ msgstr "<rev> requerida amb «%s»"
#, c-format
msgid "<object> required with '-%c'"
-msgstr "<object> requerit amb «-%c»"
-
-msgid "too many arguments"
-msgstr "hi ha massa arguments"
+msgstr "<objecte> requerit amb «-%c»"
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
-msgstr "només es permeten dos arguments en el mode <type> <object>, no %d"
+msgstr "només es permeten dos arguments en el mode <tipus> <objecte>, no %d"
msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..."
msgstr "git check-attr [-a | --all | <atribut>...] [--] <nom-de-camí>..."
@@ -3533,7 +3503,7 @@ msgid "git checkout [<options>] [<branch>] -- <file>..."
msgstr "git checkout [<opcions>] [<branca>] -- <fitxer>..."
msgid "git switch [<options>] [<branch>]"
-msgstr "git switch [<options>] [<branch>]"
+msgstr "git switch [<opcions>] [<branca>]"
msgid "git restore [<options>] [--source=<branch>] <file>..."
msgstr "git restore [<opcions>] [--source=<branca>] <fitxer>..."
@@ -3955,9 +3925,11 @@ msgid "use overlay mode"
msgstr "utilitza el mode de superposició"
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <patró>] [-x | -X] [--] <camins>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <patró>] [-x | -X] [--] "
+"[<pathspec>...]"
#, c-format
msgid "Removing %s\n"
@@ -4250,6 +4222,10 @@ msgid "failed to start iterator over '%s'"
msgstr "no s'ha pogut iniciar l'iterador sobre «%s»"
#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr "l'enllaç simbòlic «%s» existeix, es nega a clonar amb --local"
+
+#, c-format
msgid "failed to unlink '%s'"
msgstr "s'ha produït un error en desenllaçar «%s»"
@@ -4315,10 +4291,6 @@ msgstr "Hi ha massa arguments."
msgid "You must specify a repository to clone."
msgstr "Heu d'especificar un repositori per a clonar."
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "les opcions «%s» i «%s %s» no es poden usar juntes"
-
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -4440,18 +4412,24 @@ msgid "--command must be the first argument"
msgstr "--command ha de ser el primer argument"
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
msgstr ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
msgid "dir"
msgstr "directori"
@@ -4520,12 +4498,15 @@ msgstr "usa com a màxim un --reachable, --stdin-commits, o --stdin-packs"
msgid "Collecting commits from input"
msgstr "S'estan recollint les comissions de l'entrada"
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <tree> [(-p <pare>)...]"
+
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <pare>)...] [-S[<keyid>]] [(-m <missatge>)...]\n"
+" [(-F <fitxer>)...] <tree>"
#, c-format
msgid "duplicate parent %s ignored"
@@ -4567,11 +4548,29 @@ msgstr "ha de donar exactament un arbre"
msgid "git commit-tree: failed to read"
msgstr "git commit-tree: ha fallat en llegir"
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<opcions>] [--] <especificació-de-camí>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <comissió> | --fixup [(amend|"
+"reword):]<comissió>)]\n"
+" [-F <fitxer> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<fitxer> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<opcions>] [--] <especificació-de-camí>..."
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [<opcions>] [--] [<pathspec>...]"
msgid ""
"You asked to amend the most recent commit, but doing so would make\n"
@@ -5352,11 +5351,18 @@ msgid "unable to get credential storage lock in %d ms"
msgstr ""
"no s'ha pogut obtenir el bloqueig de l'emmagatzematge de credencials en %d ms"
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<opcions>] [<comissió>...]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<opcions>] --dirty"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+
+msgid "git describe <blob>"
+msgstr "git describe <blob>"
msgid "head"
msgstr "davant per"
@@ -5479,11 +5485,11 @@ msgid "option '%s' and commit-ishes cannot be used together"
msgstr "les opcions «%s» i de comissió no es poden usar juntes"
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <camí>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgid "specify a destination for the diagnostics archive"
msgstr "especifiqueu una destinació per a l'arxiu de diagnòstic"
@@ -5501,6 +5507,9 @@ msgstr "--merge-base només funciona amb dues comissions"
msgid "'%s': not a regular file or symlink"
msgstr "«%s»: no és ni fitxer regular ni enllaç simbòlic"
+msgid "no merge given, only parents."
+msgstr "no s'ha donat cap fusió, només els pares."
+
#, c-format
msgid "invalid option: %s"
msgstr "opció no vàlida: %s"
@@ -5529,7 +5538,7 @@ msgid "%s...%s: multiple merge bases, using %s"
msgstr "%s...%s: múltiples bases de fusió, utilitzant %s"
msgid "git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]"
-msgstr "git difftool [<opcions>] [<commit> [<commit>]] [--] [<camí>...]"
+msgstr "git difftool [<opcions>] [<comissió> [<comissió>]] [--] [<camí>...]"
#, c-format
msgid "could not read symlink %s"
@@ -6108,7 +6117,7 @@ msgid "git for-each-ref [--points-at <object>]"
msgstr "git for-each-ref [--points-at <objecte>]"
msgid "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
-msgstr "git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]"
+msgstr "git for-each-ref [--merged [<comissió>]] [--no-merged [<comissió>]]"
msgid "git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]"
msgstr ""
@@ -6149,8 +6158,8 @@ msgstr "imprimeix només les referències que continguin la comissió"
msgid "print only refs which don't contain the commit"
msgstr "imprimeix només les referències que no continguin la comissió"
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<config> <command-args>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<config> [--] <arguments>"
msgid "config"
msgstr "config"
@@ -6321,8 +6330,16 @@ msgstr "un no arbre en l'arbre de la memòria cau"
msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s: el punter sha1 no és vàlid a «resolve-undo»"
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<opcions>] [<objecte>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<objecte>...]"
msgid "show unreachable objects"
msgstr "mostra els objectes inabastables"
@@ -6372,16 +6389,10 @@ msgid "invalid parameter: expected sha1, got '%s'"
msgstr "paràmetre no vàlid: s'esperava sha1, s'ha obtingut «%s»"
msgid "git fsmonitor--daemon start [<options>]"
-msgstr "git fsmonitor--daemon start [<options>]"
+msgstr "git fsmonitor--daemon start [<opcions>]"
msgid "git fsmonitor--daemon run [<options>]"
-msgstr "git fsmonitor--daemon run [<options>]"
-
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
+msgstr "git fsmonitor--daemon run [<opcions>]"
#, c-format
msgid "value of '%s' out of range: %d"
@@ -6576,7 +6587,7 @@ msgid "failed to finish 'git pack-objects' process"
msgstr "no s'ha pogut finalitzar el procés «git pack-objects»"
msgid "failed to write multi-pack-index"
-msgstr "no s'han pogut escriu l'índex del multipaquet"
+msgstr "no s'ha pogut escriure l'índex del multipaquet"
msgid "'git multi-pack-index expire' failed"
msgstr "ha fallat el venciment de «git multi-pack-index expire»"
@@ -6627,8 +6638,20 @@ msgstr "executa una tasca específica"
msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "usa com a màxim un entre --auto i --schedule=<frequency>"
-msgid "failed to run 'git config'"
-msgstr "no s'ha pogut executar «git config»"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "no es pot afegir el valor «%s» de «%s»"
+
+msgid "return success even if repository was not registered"
+msgstr "retorna èxit encara que el repositori no estigui registrat"
+
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "no es pot desassignar el valor «%s» de «%s»"
+
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "el repositori «%s» no està registrat"
#, c-format
msgid "failed to expand path '%s'"
@@ -6710,7 +6733,7 @@ msgid "failed to add repo to global config"
msgstr "no s'ha pogut afegir un repositori a la configuració global"
msgid "git maintenance <subcommand> [<options>]"
-msgstr "git maintenance <subcommand> [<options>]"
+msgstr "git maintenance <subcommand> [<opcions>]"
msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]"
msgstr "git grep [<opcions>] [-e] <patró> [<revisió>...] [[--] <camí>...]"
@@ -6922,11 +6945,14 @@ msgid "both --cached and trees are given"
msgstr "ambdós --cached i arbres venen donats"
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <tipus>] [-w] [--path=<fitxer> | --no-filters] [--stdin] "
-"[--] <fitxer>..."
+"git hash-object [-t <tipus>] [-w] [--path=<fitxer> | --no-filters]\n"
+" [--stdin [--literally]] [--] <fitxer>..."
+
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <tipus>] [-w] --stdin-paths [--no-filters]"
msgid "object type"
msgstr "tipus d'objecte"
@@ -7357,11 +7383,15 @@ msgid "Initialized empty Git repository in %s%s\n"
msgstr "S'ha inicialitzat un repositori buit del Git en %s%s\n"
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<directori-de-plantilla>] [--"
-"shared[=<permisos>]] [<directori>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgid "permissions"
msgstr "permisos"
@@ -7403,11 +7433,13 @@ msgid "--separate-git-dir incompatible with bare repository"
msgstr "--separate-git-dir és incompatible amb un repositori nu"
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<testimoni>[(=|:)<valor>])...] [<fitxer>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<fitxer>...]"
msgid "edit files in place"
msgstr "edita els fitxers in situ"
@@ -7481,14 +7513,14 @@ msgid ""
"<file>"
msgstr ""
"traça l'evolució del rang de línia <start>,<end> o funcions :<funcname> a "
-"<file>"
+"<fitxer>"
#, c-format
msgid "unrecognized argument: %s"
msgstr "argument no reconegut: %s"
msgid "-L<range>:<file> cannot be used with pathspec"
-msgstr "-L<range>:<file> no es pot usar amb una especificació de camí"
+msgstr "-L<range>:<fitxer> no es pot usar amb una especificació de camí"
#, c-format
msgid "Final output: %d %s\n"
@@ -7857,7 +7889,7 @@ msgid "skip files matching pattern"
msgstr "omet els fitxers coincidents amb el patró"
msgid "read exclude patterns from <file>"
-msgstr "llegeix els patrons des de <file>"
+msgstr "llegeix els patrons des de <fitxer>"
msgid "read additional per-directory exclude patterns in <file>"
msgstr "llegeix els patrons addicionals d'exclusió per directori en <fitxer>"
@@ -7896,11 +7928,11 @@ msgstr ""
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgid "do not print remote URL"
@@ -7982,7 +8014,7 @@ msgstr "--format no es pot combinar amb altres opcions d'alteració de format"
#. TRANSLATORS: keep <> in "<" mail ">" info.
msgid "git mailinfo [<options>] <msg> <patch> < mail >info"
-msgstr "git mailinfo [<options>] <msg> <patch> < mail >info"
+msgstr "git mailinfo [<opcions>] <msg> <pedaç> < mail >info"
msgid "keep subject"
msgstr "mantén l'assumpte"
@@ -8030,12 +8062,12 @@ msgstr "git merge-base [-a | --all] <comissió> <comissió>..."
msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <comissió>..."
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <comissió>..."
-
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <comissió> <comissió>"
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <comissió>..."
+
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <referència> [<comissió>]"
@@ -8124,7 +8156,7 @@ msgid "failure to merge"
msgstr "s'ha produït un error en fusionar"
msgid "git merge-tree [--write-tree] [<options>] <branch1> <branch2>"
-msgstr "git merge-tree [--write-tree] [<options>] <branch1> <branch2>"
+msgstr "git merge-tree [--write-tree] [<opcions>] <branch1> <branch2>"
msgid "git merge-tree [--trivial-merge] <base-tree> <branch1> <branch2>"
msgstr "git merge-tree [--trivial-merge] <base-tree> <branch1> <branch2>"
@@ -8144,9 +8176,20 @@ msgstr "llista els noms de fitxer sense modes/oids/stages"
msgid "allow merging unrelated histories"
msgstr "permet fusionar històries no relacionades"
+msgid "perform multiple merges, one per line of input"
+msgstr "realitza múltiples fusions, una per línia d'entrada"
+
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge és incompatible amb totes les altres opcions"
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "línia d'entrada mal formada: «%s»."
+
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "la fusió no pot continuar; s'ha obtingut un resultat no net de %d"
+
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<opcions>] [<comissió>...]"
@@ -8492,8 +8535,8 @@ msgid ""
"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
"snapshot=<path>]"
msgstr ""
-"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
-"snapshot=<path>]"
+"git multi-pack-index [<opcions>] write [--preferred-pack=<pack>][--refs-"
+"snapshot=<camí>]"
msgid "git multi-pack-index [<options>] verify"
msgstr "git multi-pack-index [<opcions>] verify"
@@ -8622,7 +8665,7 @@ msgid "git name-rev [<options>] --all"
msgstr "git name-rev [<opcions>] --all"
msgid "git name-rev [<options>] --annotate-stdin"
-msgstr "git name-rev [<options>] --annotate-stdin"
+msgstr "git name-rev [<opcions>] --annotate-stdin"
msgid "print only ref-based names (no object names)"
msgstr "imprimeix només els noms basats en referències (no els noms d'objecte)"
@@ -8772,10 +8815,6 @@ msgid "cannot read note data from non-blob object '%s'."
msgstr "no es poden llegir les dades de node de l'objecte no de blob «%s»."
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "línia d'entrada mal formada: «%s»."
-
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "s'ha produït un error en copiar les notes de «%s» a «%s»"
@@ -8968,17 +9007,13 @@ msgstr "usa les notes de <referència-de-notes>"
msgid "unknown subcommand: `%s'"
msgstr "subordre desconeguda: «%s»"
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr ""
-"git pack-objects --stdout [<opcions>...] [< <llista-de-referències> | < "
-"<llista-de-objectes>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects --stdout [<opcions>] [< <ref-list> | < <object-list>]"
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects [<opcions>...] <nom-base> [< <llista-de-referències> | < "
-"<llista-de-objectes>]"
+"git pack-objects [<opcions>] <base-name> [< <ref-list> | < <object-list>]"
#, c-format
msgid ""
@@ -9369,8 +9404,8 @@ msgstr ""
"i feu-nos saber que encara l'useu enviant un correu electrònic\n"
"a <git@vger.kernel.org>. Gràcies.\n"
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<opcions>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
msgid "pack everything"
msgstr "empaqueta-ho tot"
@@ -9378,6 +9413,18 @@ msgstr "empaqueta-ho tot"
msgid "prune loose refs (default)"
msgstr "poda les referències soltes (per defecte)"
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+msgid "use the unstable patch-id algorithm"
+msgstr "utilitza l'algorisme inestable de patch-id"
+
+msgid "use the stable patch-id algorithm"
+msgstr "utilitza l'algorisme estable de patch-id"
+
+msgid "don't strip whitespace from the patch"
+msgstr "no eliminis els espais en blanc del pedaç"
+
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire <data>] [--] [<head>...]"
@@ -9597,16 +9644,14 @@ msgstr ""
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
"Per a evitar configurar automàticament les branques font quan el seu nom\n"
-"no coincideix amb el de la branca local, vegeu l'opció «simple» de «branch."
-"autoSetupMerge»\n"
-"a «git help config».\n"
+"no coincideix amb el de la branca local, vegeu l'opció «simple» de\n"
+"«branch.autoSetupMerge» a «git help config».\n"
#, c-format
msgid ""
@@ -9764,6 +9809,13 @@ msgstr "S'està pujant a %s\n"
msgid "failed to push some refs to '%s'"
msgstr "s'ha produït un error en pujar algunes referències a «%s»"
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"cerca recursivament en el submòdul amb push.recurseSubmodules=only; "
+"utilitzant «on-demand» en el seu lloc"
+
#, c-format
msgid "invalid value for '%s'"
msgstr "valor no vàlid per a «%s»"
@@ -9899,13 +9951,15 @@ msgid "need two commit ranges"
msgstr "calen dos rangs de comissió"
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<fitxer>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgid "write resulting index to <file>"
msgstr "escriu l'índex resultant al <fitxer>"
@@ -9965,13 +10019,14 @@ msgid ""
"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
"[<upstream> [<branch>]]"
msgstr ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] "
-"[<upstream> [<branch>]]"
+"git rebase [-i] [options] [--exec <ordre>] [--onto <newbase> | --keep-base] "
+"[<upstream> [<branca>]]"
msgid ""
"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
msgstr ""
-"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]"
+"git rebase [-i] [options] [--exec <ordre>] [--onto <newbase>] --root "
+"[<branca>]"
#, c-format
msgid "could not read '%s'."
@@ -9995,8 +10050,8 @@ msgid "%s requires the merge backend"
msgstr "%s requereix un rerefons de fusió"
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "no s'ha pogut obtenir «onto»: «%s»"
+msgid "invalid onto: '%s'"
+msgstr "no vàlid a: «%s»"
#, c-format
msgid "invalid orig-head: '%s'"
@@ -10300,8 +10355,8 @@ msgstr "no existeix aquesta branca o comissió «%s»"
msgid "No such ref: %s"
msgstr "No hi ha tal referència: %s"
-msgid "Could not resolve HEAD to a revision"
-msgstr "No s'ha pogut resoldre HEAD a una revisió"
+msgid "Could not resolve HEAD to a commit"
+msgstr "No s'ha pogut resoldre HEAD com a una comissió"
#, c-format
msgid "'%s': need exactly one merge base with branch"
@@ -10498,7 +10553,7 @@ msgid ""
"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
"mirror=<fetch|push>] <name> <url>"
msgstr ""
-"git remote add [-t <branca>] [-m <mestra>] [-f] [--tags | --no-tags] [--"
+"git remote add [-t <branca>] [-m <master>] [-f] [--tags | --no-tags] [--"
"mirror=<fetch|push>] <nom> <url>"
msgid "git remote rename [--[no-]progress] <old> <new>"
@@ -10973,6 +11028,10 @@ msgid "could not close refs snapshot tempfile"
msgstr ""
"no s'ha pogut tancar el fitxer temporal amb la instantània de referències"
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "no s'ha pogut eliminar el mapa de bits estancat: %s"
+
msgid "pack everything in a single pack"
msgstr "empaqueta-ho tot en un únic paquet"
@@ -11049,6 +11108,10 @@ msgstr "troba una progressió geomètrica amb el factor <N>"
msgid "write a multi-pack index of the resulting packs"
msgstr "escriu un índex multipaquet dels paquets resultants"
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr ""
+"prefix del paquet per a emmagatzemar un paquet que contingui objectes podats"
+
msgid "cannot delete packs in a precious-objects repo"
msgstr "no es poden suprimir paquets en un repositori d'objectes preciosos"
@@ -11060,8 +11123,13 @@ msgid "pack prefix %s does not begin with objdir %s"
msgstr "el prefix de paquet %s no comença amb objdir %s"
#, c-format
-msgid "missing required file: %s"
-msgstr "falta el fitxer requerit: %s"
+msgid "renaming pack to '%s' failed"
+msgstr "el canvi del nom a «%s» ha fallat"
+
+#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr ""
+"els objectes de paquet no han escrit a un fitxer «%s» per al paquet %s-%s"
#, c-format
msgid "could not unlink: %s"
@@ -11074,7 +11142,7 @@ msgid "git replace [-f] --edit <object>"
msgstr "git replace [-f] --edit <objecte>"
msgid "git replace [-f] --graft <commit> [<parent>...]"
-msgstr "git replace [-f] --graft <comissió> [<parent>...]"
+msgstr "git replace [-f] --graft <comissió> [<pare>...]"
msgid "git replace -d <object>..."
msgstr "git replace -d <objecte>..."
@@ -11255,8 +11323,10 @@ msgstr "--convert-graft-file arguments"
msgid "only one pattern can be given with -l"
msgstr "només es pot especificar un patró amb -l"
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clear | forget <camí>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
msgid "register clean resolutions in index"
msgstr "registra les resolucions netes en l'índex"
@@ -11424,9 +11494,9 @@ msgid ""
"\n"
"Run \"git rev-parse --parseopt -h\" for more information on the first usage."
msgstr ""
-"git rev-parse --parseopt [<options>] -- [<args>...]\n"
+"git rev-parse --parseopt [<opcions>] -- [<args>...]\n"
" o bé: git rev-parse --sq-quote [<arg>...]\n"
-" o bé: git rev-parse [<options>] [<arg>...]\n"
+" o bé: git rev-parse [<opcions>] [<arg>...]\n"
"\n"
"Executeu «git rev-parse --parseopt -h» per a més informació sobre el primer "
"ús."
@@ -11461,6 +11531,15 @@ msgstr "--prefix requereix un argument"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "mode desconegut per a --abbrev-ref: %s"
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden no es pot utilitzar juntament amb --branches"
+
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden no es pot utilitzar juntament amb --tags"
+
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden no es pot utilitzar juntament amb --remotes"
+
msgid "this operation must be run in a work tree"
msgstr "aquesta operació s'ha d'executar en un arbre de treball"
@@ -11468,17 +11547,25 @@ msgstr "aquesta operació s'ha d'executar en un arbre de treball"
msgid "unknown mode for --show-object-format: %s"
msgstr "mode desconegut per a --show-object-format: %s"
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<opcions>] <comissió>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<comissió>..."
-msgid "git revert <subcommand>"
-msgstr "git revert <subordre>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<opcions>] <comissió>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <comissió>..."
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <subordre>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#, c-format
msgid "option `%s' expects a number greater than zero"
@@ -11539,8 +11626,14 @@ msgstr "la reversió ha fallat"
msgid "cherry-pick failed"
msgstr "el «cherry pick» ha fallat"
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<opcions>] [--] <fitxer>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<fitxer> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
msgid ""
"the following file has staged content different from both the\n"
@@ -11614,11 +11707,13 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgid "remote name"
@@ -11642,8 +11737,9 @@ msgstr "git log --pretty=short | git shortlog [<opcions>]"
msgid "using multiple --group options with stdin is not supported"
msgstr "no s'admet l'ús de múltiples opcions --group amb stdin"
-msgid "using --group=trailer with stdin is not supported"
-msgstr "no s'admet l'ús de --group=trailer amb stdin"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "no s'admet l'ús de %s amb stdin"
#, c-format
msgid "unknown group type: %s"
@@ -11682,12 +11778,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<referència>]"
@@ -11787,11 +11885,13 @@ msgid "Unknown hash algorithm"
msgstr "Algorisme de resum desconegut"
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<patró>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<patró>...]"
msgid "git show-ref --exclude-existing[=<pattern>]"
msgstr "git show-ref --exclude-existing[=<patró>]"
@@ -11822,8 +11922,10 @@ msgstr "no imprimeixis els resultats a stdout (útil amb --verify)"
msgid "show refs from stdin that aren't in local repository"
msgstr "mostra les referències de stdin que no siguin en el repositori local"
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <opcions>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<opcions>]"
msgid "this worktree is not sparse"
msgstr "aquest arbre de treball no és dispers"
@@ -11947,67 +12049,58 @@ msgstr ""
msgid "error while refreshing working directory"
msgstr "s'ha produït un error en actualitzar el directori de treball"
-msgid "git stash list [<options>]"
-msgstr "git stash list [<opcions>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<log-options>]"
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<opcions>] [<stash>]"
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<stash>]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<stash>]"
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<stash>]"
+
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<stash>]"
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <nom-de-branca> [<stash>]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr ""
+"git stash store [(-m | --message) <missatge>] [-q | --quiet] <comissió>"
+
msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgstr ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <missatge>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<missatge>]\n"
" [--pathspec-from-file=<fitxer> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<missatge>]"
-
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
-
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
-
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <missatge>] [-q|--quiet] <commit>"
-
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <missatge>]\n"
-" [--] [<pathspec>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<missatge>]"
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<missatge>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<missatge>]"
#, c-format
msgid "'%s' is not a stash-like commit"
@@ -12223,7 +12316,7 @@ msgid "suppress output of entering each submodule command"
msgstr "omet la sortida en entrar a cada ordre del submòdul"
msgid "recurse into nested submodules"
-msgstr "inclou recursivament els submòduls imbricats"
+msgstr "cerca recursivament als submòduls imbricats"
msgid "git submodule foreach [--quiet] [--recursive] [--] <command>"
msgstr "git submodule foreach [--quiet] [--recursive] [--] <ordre>"
@@ -12316,7 +12409,7 @@ msgid "limit the summary size"
msgstr "limita la mida del resum"
msgid "git submodule summary [<options>] [<commit>] [--] [<path>]"
-msgstr "git submodule summary [<options>] [<commit>] [--] [<path>]"
+msgstr "git submodule summary [<opcions>] [<comissió>] [--] [<camí>]"
msgid "could not fetch a revision for HEAD"
msgstr "no s'ha pogut obtenir una revisió per a HEAD"
@@ -12337,7 +12430,7 @@ msgid "suppress output of synchronizing submodule url"
msgstr "omet la sortida de la sincronització de l'URL del submòdul"
msgid "git submodule sync [--quiet] [--recursive] [<path>]"
-msgstr "git submodule sync [--quiet] [--recursive] [<path>]"
+msgstr "git submodule sync [--quiet] [--recursive] [<camí>]"
#, c-format
msgid ""
@@ -12457,9 +12550,9 @@ msgid ""
"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
"<filter-spec>] --url <url> --path <path>"
msgstr ""
-"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference "
+"git submodule--helper clone [--prefix=<camí>] [--quiet] [--reference "
"<repository>] [--name <name>] [--depth <depth>] [--single-branch] [--filter "
-"<filter-spec>] --url <url> --path <path>"
+"<filter-spec>] --url <url> --path <camí>"
#, c-format
msgid "Invalid update mode '%s' configured for submodule path '%s'"
@@ -12579,9 +12672,6 @@ msgstr "recorre els submòduls recursivament"
msgid "don't fetch new objects from the remote site"
msgstr "no obtinguis els objectes nous del lloc remot"
-msgid "path into the working tree"
-msgstr "camí a l'arbre de treball"
-
msgid "use the 'checkout' update strategy (default)"
msgstr "utilitza l'estratègia d'actualització «checkout» (predeterminada)"
@@ -12615,34 +12705,16 @@ msgstr ""
"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
"[-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-"
"shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] "
-"[--] [<path>...]"
-
-msgid "recurse into submodules"
-msgstr "inclou recursivament als submòduls"
+"[--] [<camí>...]"
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
-msgstr "git submodule absorbgitdirs [<options>] [<path>...]"
-
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "comprova si és segur escriure al fitxer .gitmodules"
-
-msgid "unset the config in the .gitmodules file"
-msgstr "desconfigura l'opció de configuració al fitxer .gitmodules"
-
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config <nom> [<valor>]"
-
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <nom>"
-
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr "assegureu-vos que el fitxer .gitmodules és a l'arbre de treball"
+msgstr "git submodule absorbgitdirs [<opcions>] [<camí>...]"
msgid "suppress output for setting url of a submodule"
msgstr "omet la sortida en configurar un URL d'un submòdul"
msgid "git submodule set-url [--quiet] <path> <newurl>"
-msgstr "git submodule set-url [--quiet] <path> <newurl>"
+msgstr "git submodule set-url [--quiet] <camí> <newurl>"
msgid "set the default tracking branch to master"
msgstr "estableix la branca de seguiment per defecte a «master»"
@@ -12651,10 +12723,10 @@ msgid "set the default tracking branch"
msgstr "estableix la branca de seguiment per defecte"
msgid "git submodule set-branch [-q|--quiet] (-d|--default) <path>"
-msgstr "git submodule set-branch [-q|--quiet] (-d|--default) <path>"
+msgstr "git submodule set-branch [-q|--quiet] (-d|--default) <camí>"
msgid "git submodule set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
-msgstr "git submodule set-branch [-q|--quiet] (-b|--branch) <branch> <path>"
+msgstr "git submodule set-branch [-q|--quiet] (-b|--branch) <branca> <camí>"
msgid "--branch or --default required"
msgstr "cal --branch o --default"
@@ -12716,6 +12788,9 @@ msgstr "S'està reactivant el directori de git local per al submòdul «%s»\n"
msgid "unable to checkout submodule '%s'"
msgstr "no s'ha pogut agafar el submòdul «%s»"
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "assegureu-vos que el fitxer .gitmodules és a l'arbre de treball"
+
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "S'ha produït un error en afegir el submòdul «%s»"
@@ -12753,7 +12828,7 @@ msgstr ""
"seu camí"
msgid "git submodule add [<options>] [--] <repository> [<path>]"
-msgstr "git submodule add [<options>] [--] <repository> [<path>]"
+msgstr "git submodule add [<opcions>] [--] <repository> [<camí>]"
msgid "Relative path can only be used from the toplevel of the working tree"
msgstr ""
@@ -12768,19 +12843,21 @@ msgstr "URL de repositori: «%s» ha de ser absolut o començar amb ./|../"
msgid "'%s' is not a valid submodule name"
msgstr "«%s» no és un nom de submòdul vàlid"
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <command>"
+
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s no admet --super-prefix"
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "«%s» no és una subordre vàlida de submodule--helper"
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <reason>] <name> <ref>"
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<opcions>] <nom> [<referència>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <nom>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <name>"
msgid "suppress error message for non-symbolic (detached) refs"
msgstr "omet el missatge d'error de referències no simbòliques (separades)"
@@ -12791,6 +12868,9 @@ msgstr "suprimeix la referència simbòlica"
msgid "shorten ref output"
msgstr "escurça la sortida de referències"
+msgid "recursively dereference (default)"
+msgstr "desreferencia recursivament (per defecte)"
+
msgid "reason"
msgstr "raó"
@@ -12798,25 +12878,25 @@ msgid "reason of the update"
msgstr "raó de l'actualització"
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <fitxer>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <fitxer>] [-e]\n"
+" <tagname> [<comissió> | <objecte>]"
msgid "git tag -d <tagname>..."
msgstr "git tag -d <nom-d'etiqueta>..."
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <comissió>] [--no-merged <comissió>] "
-"[<patró>...]"
+"git tag [-n[<num>]] -l [--contains <comissió>] [--no-contains <comissió>]\n"
+" [--points-at <objecte>] [--column[=<opcions>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <comissió>] [--no-merged <comissió>] [<patró>...]"
msgid "git tag -v [--format=<format>] <tagname>..."
msgstr "git tag -v [--format=<format>] <nom-d'etiqueta>..."
@@ -13206,8 +13286,12 @@ msgstr "llegeix les actualitzacions des de stdin"
msgid "update the info files from scratch"
msgstr "actualitza els fitxers d'informació des de zero"
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<opcions>] <directori>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
msgid "quit after a single request/response exchange"
msgstr "surt després d'un sol intercanvi de sol·licitud/resposta"
@@ -13222,8 +13306,8 @@ msgstr ""
msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "interromp la transferència després de <n> segons d'inactivitat"
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <comissió>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <comissió>..."
msgid "print commit contents"
msgstr "imprimeix els continguts de la comissió"
@@ -13231,8 +13315,8 @@ msgstr "imprimeix els continguts de la comissió"
msgid "print raw gpg status output"
msgstr "imprimeix la sortida crua de l'estat gpg"
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <paquet>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
msgid "verbose"
msgstr "detallat"
@@ -13240,35 +13324,39 @@ msgstr "detallat"
msgid "show statistics only"
msgstr "mostra només estadístiques"
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<format>] <etiqueta>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
msgid "print tag contents"
msgstr "imprimeix els continguts de l'etiqueta"
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<opcions>] <camí> [<commit-ish>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <camí> [<commit-ish>]"
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<opcions>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<opcions>] <camí>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <string>] <worktree>"
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <arbre de treball> <camí-nou>"
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<opcions>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <expire>]"
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<opcions>] <arbre de treball>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <worktree>"
msgid "git worktree repair [<path>...]"
-msgstr "git worktree repair [<path>...]"
+msgstr "git worktree repair [<camí>...]"
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <camí>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <worktree>"
#, c-format
msgid "Removing %s/%s: %s"
@@ -13508,6 +13596,10 @@ msgstr "només útil per a la depuració"
msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch no és compatible amb aquesta plataforma"
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "la llista de farcells a «%s» no té mode"
+
msgid "failed to create temporary file"
msgstr "no s'ha pogut crear un fitxer temporal"
@@ -13515,16 +13607,29 @@ msgid "insufficient capabilities"
msgstr "capacitats insuficients"
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "no s'ha reconegut el model del farcell de l'URI «%s»"
+
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "s'ha excedit el límit de recursió URI del paquet (%d)"
+
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "no s'ha pogut baixar el paquet de l'URI «%s»"
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "el fitxer a l'URI «%s» no és farcell"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "el fitxer a l'URI «%s» no és farcell o una llista de farcells"
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "s'ha produït un error en desempaquetar el farcell de l'URI «%s»"
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri: té una línia buida"
+
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri: la línia no és de la forma «key=value»"
+
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri: la línia té una clau o un valor buit"
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
@@ -14112,7 +14217,7 @@ msgstr "El format del fitxer de farcell"
msgid "Chunk-based file formats"
msgstr "Formats de fitxer basats en blocs"
-msgid "Git commit graph format"
+msgid "Git commit-graph format"
msgstr "Format de graf de comissions del Git"
msgid "Git index format"
@@ -14485,6 +14590,10 @@ msgstr "cas no gestionat a «has_worktree_moved»: %d"
msgid "health thread wait failed [GLE %ld]"
msgstr "ha fallat l'espera del fil de salut [GLE %ld]"
+#, c-format
+msgid "Invalid path: %s"
+msgstr "Camí no vàlid: «%s»"
+
msgid "Unable to create FSEventStream."
msgstr "No s'ha pogut crear el FSEventStream."
@@ -14516,6 +14625,22 @@ msgid "could not read directory changes [GLE %ld]"
msgstr "no s'han pogut llegir els canvis de directori [GLE %ld]"
#, c-format
+msgid "opendir('%s') failed"
+msgstr "ha fallat opendir(«%s»)"
+
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "ha fallat lstat(«%s»)"
+
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "ha fallat strbuf_readlink(«%s»)"
+
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "ha fallat closedir(«%s»)"
+
+#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] no s'ha pogut obrir per a llegir «%ls»"
@@ -16147,10 +16272,11 @@ msgstr "el repositori virtual «%s» és incompatible amb fsmonitor"
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
msgstr ""
-"el repositori «%s» és incompatible amb fsmonitor a causa de la manca de "
-"sòcols Unix"
+"el directori del sòcol «%s» és incompatible amb fsmonitor a causa de la "
+"manca de compatibilitat amb els sòcols Unix"
msgid ""
"git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n"
@@ -16161,12 +16287,12 @@ msgid ""
" [--super-prefix=<path>] [--config-env=<name>=<envvar>]\n"
" <command> [<args>]"
msgstr ""
-"git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n"
-" [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n"
+"git [-v | --version] [-h | --help] [-C <camí>] [-c <name>=<value>]\n"
+" [--exec-path[=<camí>]] [--html-path] [--man-path] [--info-path]\n"
" [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--"
"bare]\n"
-" [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n"
-" [--super-prefix=<path>] [--config-env=<name>=<envvar>]\n"
+" [--git-dir=<camí>] [--work-tree=<camí>] [--namespace=<name>]\n"
+" [--super-prefix=<camí>] [--config-env=<name>=<envvar>]\n"
" <command> [<args>]"
msgid ""
@@ -16471,8 +16597,8 @@ msgstr[1] ""
"\n"
"Les ordres més similars són"
-msgid "git version [<options>]"
-msgstr "git version [<opcions>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#, c-format
msgid "%s: %s - %s"
@@ -16608,7 +16734,7 @@ msgstr "sparse: s'ha eliminat la implementació de filtres de camí sparse"
#, c-format
msgid "'%s' for 'object:type=<type>' is not a valid object type"
-msgstr "«%s» per a «object:type=<type>» no és un tipus d'objecte vàlid"
+msgstr "«%s» per a «object:type=<tipus>» no és un tipus d'objecte vàlid"
#, c-format
msgid "invalid filter-spec '%s'"
@@ -17419,10 +17545,6 @@ msgstr ""
"%s: s'estan ignorant els emmagatzematges alternatius d'objectes, imbricació "
"massa profunda"
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "no s'ha pogut normalitzar el directori de l'objecte: %s"
-
msgid "unable to fdopen alternates lockfile"
msgstr "no s'ha pogut fer «fdopen» al fitxer de bloqueig alternatiu"
@@ -17770,7 +17892,7 @@ msgstr ""
#, c-format
msgid "<object>:<path> required, only <object> '%s' given"
-msgstr "<object>:<path> requerit, només s'ha donat <object> «%s»"
+msgstr "<objecte>:<camí> requerit, només s'ha donat <objecte> «%s»"
#, c-format
msgid "invalid object name '%.*s'."
@@ -18269,6 +18391,10 @@ msgstr "promisor-remote: no s'ha pogut tancar stdin al subprocés d'obtenció"
msgid "promisor remote name cannot begin with '/': %s"
msgstr "el nom remot «promisor» no pot començar amb «/»: %s"
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "no s'ha pogut obtenir «%s» del «promisor» remot"
+
msgid "object-info: expected flush after arguments"
msgstr "object-info: s'esperava una neteja després dels arguments"
@@ -19005,7 +19131,7 @@ msgstr "El transport http no admet %s"
msgid "protocol error: expected '<url> <path>', missing space"
msgstr ""
-"s'ha produït un error de protocol: s'esperava «<url> <path>», falta espai"
+"s'ha produït un error de protocol: s'esperava «<url> <camí>», falta espai"
#, c-format
msgid "failed to download file at URL '%s'"
@@ -19355,6 +19481,13 @@ msgid "failed to find tree of %s"
msgstr "s'ha produït un error en cercar l'arbre de %s"
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "secció d'índex no compatible per a les referències ocultes: %s"
+
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden= passat més d'una vegada"
+
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo indica «%s» que manquen"
@@ -19452,7 +19585,7 @@ msgid "only download metadata for the branch that will be checked out"
msgstr "només baixa les metadades per a la branca que s'agafarà"
msgid "scalar clone [<options>] [--] <repo> [<dir>]"
-msgstr "scalar clone [<opcions>] [--] <repo> [<dir>]"
+msgstr "scalar clone [<opcions>] [--] <repositori> [<dir>]"
#, c-format
msgid "cannot deduce worktree name from '%s'"
@@ -19499,6 +19632,14 @@ msgid "--all or <enlistment>, but not both"
msgstr "--all o <enlistment>, però no ambdós"
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "no s'ha pogut suprimir el scalar.repo «%s» estancat"
+
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "s'està eliminant el scalar.repo «%s» estancat"
+
+#, c-format
msgid "git repository gone in '%s'"
msgstr "no existeix un repositori de git a: «%s»"
@@ -19546,7 +19687,7 @@ msgid ""
"\n"
"Commands:\n"
msgstr ""
-"scalar [-C <directory>] [-c <key>=<value>] <command> [<options>]\n"
+"scalar [-C <directory>] [-c <key>=<value>] <command> [<opcions>]\n"
"\n"
"Ordres:\n"
@@ -19853,7 +19994,7 @@ msgid "unknown command: %d"
msgstr "ordre desconeguda: %d"
msgid "This is the 1st commit message:"
-msgstr "Aquest és el missatge de la 1ra comissió:"
+msgstr "Aquest és el missatge de la 1a comissió:"
#, c-format
msgid "This is the commit message #%d:"
@@ -20124,16 +20265,16 @@ msgstr ""
msgid "illegal label name: '%.*s'"
msgstr "nom d'etiqueta no permès: «%.*s»"
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "no s'ha pogut resoldre «%s»"
+
msgid "writing fake root commit"
msgstr "s'està escrivint una comissió arrel falsa"
msgid "writing squash-onto"
msgstr "s'està escrivint «squash-onto»"
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "no s'ha pogut resoldre «%s»"
-
msgid "cannot merge without a current revision"
msgstr "no es pot fusionar sense una revisió actual"
@@ -20741,6 +20882,16 @@ msgstr "ls-tree ha retornat un codi de retorn %d no esperat"
msgid "failed to lstat '%s'"
msgstr "s'ha produït un error en fer lstat a «%s»"
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <opcions> (control|prime|update)"
+
+msgid "clear the cache tree before each iteration"
+msgstr "neteja l'arbre de la memòria cau abans de cada iteració"
+
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr ""
+"nombre d'entrades a l'arbre de la memòria cau a invalidar (per defecte 0)"
+
msgid "unhandled options"
msgstr "opcions no gestionades"
@@ -21520,7 +21671,7 @@ msgstr " (useu «git add/rm <fitxer>...» per a actualitzar què es cometrà)"
msgid ""
" (use \"git restore <file>...\" to discard changes in working directory)"
msgstr ""
-" (useu «git restore <file>...» per a descartar canvis en el directori de "
+" (useu «git restore <fitxer>...» per a descartar canvis en el directori de "
"treball)"
msgid " (commit or discard the untracked or modified content in submodules)"
@@ -22577,83 +22728,6 @@ msgstr "S'està ometent %s amb el sufix de còpia de seguretat «%s».\n"
msgid "Do you really want to send %s? [y|N]: "
msgstr "Esteu segur que voleu enviar %s? [y|N]: "
-#~ msgid "(stats|all)"
-#~ msgstr "(stats|all)"
-
-#~ msgid "git maintenance register"
-#~ msgstr "git maintenance register"
-
-#~ msgid "git maintenance unregister"
-#~ msgstr "git maintenance unregister"
-
-#~ msgid "git maintenance stop"
-#~ msgstr "git maintenance stop"
-
-#, c-format
-#~ msgid "could not parse colored hunk header '%.*s'"
-#~ msgstr "no s'ha pogut analitzar la capçalera del tros acolorida «%.*s»"
-
-#, c-format
-#~ msgid "Unknown subcommand: %s"
-#~ msgstr "Subordre desconeguda: %s"
-
-#~ msgid "checked out in another worktree"
-#~ msgstr "s'ha agafat en un altre arbre de treball"
-
-#~ msgid "failed to open stdin of 'crontab'"
-#~ msgstr "s'ha produït un error en obrir stdin de «crontab»"
-
-#, c-format
-#~ msgid "invalid subcommand: %s"
-#~ msgstr "subordre no vàlida: %s"
-
-#~ msgid "single arg format must be symmetric range"
-#~ msgstr "el format de l'argument únic ha de ser de rang simètric"
-
-#~ msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
-#~ msgstr "git submodule--helper list [--prefix=<camí>] [<camí>...]"
-
-#~ msgid "git submodule--helper name <path>"
-#~ msgstr "git submodule--helper name <camí>"
-
-#, c-format
-#~ msgid "failed to get the default remote for submodule '%s'"
-#~ msgstr ""
-#~ "s'ha produït un error en obtenir el remot per defecte pel submòdul «%s»"
-
-#, c-format
-#~ msgid "Invalid update mode '%s' for submodule path '%s'"
-#~ msgstr "Mode d'actualització «%s» no vàlid per al camí de submòdul «%s»"
-
-#~ msgid "path into the working tree, across nested submodule boundaries"
-#~ msgstr "camí a l'arbre de treball, a través de fronteres de submòduls niats"
-
-#~ msgid "rebase, merge, checkout or none"
-#~ msgstr "rebase, merge, checkout o none"
-
-#~ msgid "bad value for update parameter"
-#~ msgstr "valor incorrecte per al paràmetre update"
-
-#~ msgid "Show three-way merge without touching index"
-#~ msgstr "Mostra la fusió de tres vies sense tocar l'índex"
-
-# c-format
-#, c-format
-#~ msgid "could not create directory for '%s'"
-#~ msgstr "no s'ha pogut crear el directori per a «%s»"
-
-#, c-format
-#~ msgid "Couldn't start hook '%s'\n"
-#~ msgstr "No s'ha pogut iniciar el lligam «%s»'\n"
-
-#, c-format
-#~ msgid ""
-#~ "Note: %s not up to date and in way of checking out conflicted version; "
-#~ "old copy renamed to %s"
-#~ msgstr ""
-#~ "Nota: %s no està actualitzat i en forma de comprovar la versió en "
-#~ "conflicte; còpia antiga reanomenada a %s"
-
#, c-format
-#~ msgid "%s: fast-forward"
-#~ msgstr "%s: avanç ràpid"
+#~ msgid "unable to normalize object directory: %s"
+#~ msgstr "no s'ha pogut normalitzar el directori de l'objecte: %s"
diff --git a/po/de.po b/po/de.po
index f5c9c29e0b..45c7a418d7 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-28 17:09+0200\n"
-"PO-Revision-Date: 2022-09-28 17:10+0200\n"
+"POT-Creation-Date: 2022-12-02 17:16+0100\n"
+"PO-Revision-Date: 2022-12-02 17:19+0100\n"
"Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n"
"Language-Team: German\n"
"Language: de\n"
@@ -17,7 +17,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 3.1.1\n"
+"X-Generator: Poedit 3.2\n"
#, c-format
msgid "Huh (%s)?"
@@ -379,8 +379,8 @@ msgstr "Ergänzung im Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
#, c-format, perl-format
msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Diesen Patch-Block vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d"
-"%s,?]? "
+"Diesen Patch-Block vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,"
+"d%s,?]? "
msgid ""
"y - discard this hunk from index and worktree\n"
@@ -411,8 +411,8 @@ msgstr "Ergänzung auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d%s,?]? "
#, c-format, perl-format
msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Diesen Patch-Block auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,d"
-"%s,?]? "
+"Diesen Patch-Block auf Index und Arbeitsverzeichnis anwenden [y,n,q,a,"
+"d%s,?]? "
msgid ""
"y - apply this hunk to index and worktree\n"
@@ -786,6 +786,9 @@ msgstr "Befehlszeile endet mit \\"
msgid "unclosed quote"
msgstr "nicht geschlossene Anführungszeichen"
+msgid "too many arguments"
+msgstr "zu viele Argumente"
+
#, c-format
msgid "unrecognized whitespace option '%s'"
msgstr "Nicht erkannte Whitespace-Option: '%s'"
@@ -2018,8 +2021,8 @@ msgstr ""
#, 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."
+"Falls Sie diesen Patch auslassen möchten, führen Sie stattdessen \"%s --"
+"skip\" aus."
#, c-format
msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
@@ -2593,42 +2596,6 @@ msgstr ""
"'bisect run' fehlgeschlagen: 'git bisect--helper --bisect-state %s' mit "
"Fehlercode %d beendet"
-msgid "reset the bisection state"
-msgstr "den Zustand der binären Suche zurücksetzen"
-
-msgid "check whether bad or good terms exist"
-msgstr "prüfen, ob Begriffe für gute und schlechte Commits existieren"
-
-msgid "print out the bisect terms"
-msgstr "die Begriffe für die binäre Suche ausgeben"
-
-msgid "start the bisect session"
-msgstr "Sitzung für binäre Suche starten"
-
-msgid "find the next bisection commit"
-msgstr "nächsten Commit für die binäre Suche finden"
-
-msgid "mark the state of ref (or refs)"
-msgstr "den Status der Referenz(en) markieren"
-
-msgid "list the bisection steps so far"
-msgstr "die bisherigen Schritte der binären Suche auflisten"
-
-msgid "replay the bisection process from the given file"
-msgstr "binäre Suche aus der angegebenen Datei wiederholen"
-
-msgid "skip some commits for checkout"
-msgstr "einige Commits für das Auschecken überspringen"
-
-msgid "visualize the bisection"
-msgstr "binäre Suche visualisieren"
-
-msgid "use <cmd>... to automatically bisect"
-msgstr "verwende <Programm>... für die automatische binäre Suche"
-
-msgid "no log for BISECT_WRITE"
-msgstr "kein Log für BISECT_WRITE"
-
msgid "--bisect-reset requires either no argument or a commit"
msgstr "--bisect-reset benötigt entweder kein Argument oder ein Commit"
@@ -2647,6 +2614,9 @@ msgstr "keine Log-Datei angegeben"
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<Optionen>] [<rev-opts>] [<Commit>] [--] <Datei>"
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<Optionen>] [<rev-opts>] [<Commit>] [--] <Datei>"
+
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<rev-opts> sind dokumentiert in git-rev-list(1)"
@@ -2842,9 +2812,6 @@ msgstr "Aktualisierung der Konfigurationsdatei fehlgeschlagen."
msgid "cannot use -a with -d"
msgstr "kann -a nicht mit -d benutzen"
-msgid "Couldn't look up commit object for HEAD"
-msgstr "Konnte Commit-Objekt für HEAD nicht nachschlagen."
-
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "Kann Branch '%s' nicht entfernen, ausgecheckt in '%s'."
@@ -2883,19 +2850,18 @@ msgstr "Branch %s wird auf %s umgesetzt"
msgid "Branch %s is being bisected at %s"
msgstr "Binäre Suche von Branch %s zu %s im Gange"
-msgid "cannot copy the current branch while not on any."
-msgstr ""
-"Kann den aktuellen Branch nicht kopieren, solange Sie sich auf keinem "
-"befinden."
-
-msgid "cannot rename the current branch while not on any."
-msgstr ""
-"Kann aktuellen Branch nicht umbenennen, solange Sie sich auf keinem befinden."
-
#, c-format
msgid "Invalid branch name: '%s'"
msgstr "Ungültiger Branchname: '%s'"
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Noch kein Commit in Branch '%s'."
+
+#, c-format
+msgid "No branch named '%s'."
+msgstr "Branch '%s' nicht vorhanden."
+
msgid "Branch rename failed"
msgstr "Umbenennung des Branches fehlgeschlagen"
@@ -3059,13 +3025,14 @@ msgstr "zu losgelöstem HEAD kann keine Beschreibung hinterlegt werden"
msgid "cannot edit description of more than one branch"
msgstr "Beschreibung von mehr als einem Branch kann nicht bearbeitet werden"
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "Noch kein Commit in Branch '%s'."
+msgid "cannot copy the current branch while not on any."
+msgstr ""
+"Kann den aktuellen Branch nicht kopieren, solange Sie sich auf keinem "
+"befinden."
-#, c-format
-msgid "No branch named '%s'."
-msgstr "Branch '%s' nicht vorhanden."
+msgid "cannot rename the current branch while not on any."
+msgstr ""
+"Kann aktuellen Branch nicht umbenennen, solange Sie sich auf keinem befinden."
msgid "too many branches for a copy operation"
msgstr "zu viele Branches für eine Kopieroperation angegeben"
@@ -3137,11 +3104,11 @@ msgid "not run from a git repository - no hooks to show\n"
msgstr "nicht in einem Git-Repository ausgeführt - keine Hooks zum Anzeigen\n"
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <Datei>] [-s|--suffix <Format>] [--"
-"diagnose[=<Modus>]"
+"git bugreport [(-o | --output-directory) <Pfad>] [(-s | --suffix) <Format>]\n"
+" [--diagnose[=<Modus>]]"
msgid ""
"Thank you for filling out a Git bug report!\n"
@@ -3216,17 +3183,23 @@ msgstr "konnte nicht nach %s schreiben"
msgid "Created new report at '%s'.\n"
msgstr "Neuer Bericht unter '%s' erstellt.\n"
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<Optionen>] <Datei> <git-rev-list Argumente>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<Version>] <Datei> <git-rev-list-Argumente>"
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<Optionen>] <Datei>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <Datei>"
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <Datei> [<Referenzname>...]"
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <Datei> [<Referenzname>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <Datei> [<Referenzname>...]"
msgid "do not show progress meter"
msgstr "keine Fortschrittsanzeige anzeigen"
@@ -3301,12 +3274,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgid ""
"git cat-file (--textconv | --filters)\n"
@@ -3419,9 +3392,6 @@ msgstr "<Commit> benötigt mit '%s'"
msgid "<object> required with '-%c'"
msgstr "<Objekt> benötigt mit '-%c'"
-msgid "too many arguments"
-msgstr "zu viele Argumente"
-
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
msgstr "nur zwei Argumente im <Typ> <Objekt> Modus erlaubt, nicht %d"
@@ -3968,9 +3938,11 @@ msgid "use overlay mode"
msgstr "benutze Overlay-Modus"
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <Muster>] [-x | -X] [--] <Pfade>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <Muster>] [-x | -X] [--] "
+"[<Pfadspezifikation>...]"
#, c-format
msgid "Removing %s\n"
@@ -4270,6 +4242,11 @@ msgid "failed to start iterator over '%s'"
msgstr "Fehler beim Starten der Iteration über '%s'"
#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr ""
+"symbolische Verknüpfung '%s' existiert, verweigere das Klonen mit --local"
+
+#, c-format
msgid "failed to unlink '%s'"
msgstr "Konnte '%s' nicht entfernen."
@@ -4335,10 +4312,6 @@ msgstr "Zu viele Argumente."
msgid "You must specify a repository to clone."
msgstr "Sie müssen ein Repository zum Klonen angeben."
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "die Optionen '%s' und '%s %s' können nicht gemeinsam verwendet werden"
-
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -4472,19 +4445,25 @@ msgid "--command must be the first argument"
msgstr "--command muss an erster Stelle stehen"
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <Objektverzeichnis>] [--shallow] [--"
+"git commit-graph verify [--object-dir <Verzeichnis>] [--shallow] [--"
"[no-]progress]"
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
msgstr ""
-"git commit-graph write [--object-dir <Objektverzeichnis>] [--append] [--"
-"split[=<Strategie>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <Anzahl>] [--[no-]progress] <Split-Optionen>"
+"git commit-graph write [--object-dir <Verzeichnis>] [--append]\n"
+" [--split[=<Strategie>]] [--reachable | --stdin-packs "
+"| --stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <Split-Optionen>"
msgid "dir"
msgstr "Verzeichnis"
@@ -4558,12 +4537,15 @@ msgstr ""
msgid "Collecting commits from input"
msgstr "Sammle Commits von der Standard-Eingabe"
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <Tree-Objekt> [(-p <Elternteil>)...]"
+
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <Eltern-Commit>)...] [-S[<Key-ID>]] [(-m "
-"<Nachricht>)...] [(-F <Datei>)...] <Tree-Objekt>"
+"git commit-tree [(-p <Elternteil>)...] [-S[<Key-ID>]] [(-m <Nachricht>)...]\n"
+" [(-F <Datei>)...] <Tree-Objekt>"
#, c-format
msgid "duplicate parent %s ignored"
@@ -4605,11 +4587,29 @@ msgstr "Brauche genau ein Tree-Objekt."
msgid "git commit-tree: failed to read"
msgstr "git commit-tree: Fehler beim Lesen"
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<Optionen>] [--] <Pfadspezifikation>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<Modus>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <Commit> | --fixup [(amend|"
+"reword):]<Commit>)]\n"
+" [-F <Datei> | -m <Nachricht>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<Autor>]\n"
+" [--date=<Datum>] [--cleanup=<Modus>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<Datei> [--pathspec-file-nul]]\n"
+" [(--trailer <Token>[(=|:)<Wert>])...] [-S[<Key-Id>]]\n"
+" [--] [<Pfadspezifikation>...]"
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<Optionen>] [--] <Pfadspezifikation>..."
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [<Optionen>] [--] [<Pfadspezifikation>...]"
msgid ""
"You asked to amend the most recent commit, but doing so would make\n"
@@ -5396,11 +5396,20 @@ msgstr "credential-cache nicht verfügbar; Unix-Socket wird nicht unterstützt"
msgid "unable to get credential storage lock in %d ms"
msgstr "konnte Sperre für Zugangsdatenspeicher nicht in %d ms bekommen"
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<Optionen>] [<Commit-Angabe>...]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<Commit-"
+"Angabe>...]"
+
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --"
+"dirty[=<Markierung>]"
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<Optionen>] --dirty"
+msgid "git describe <blob>"
+msgstr "git describe <Blob>"
msgid "head"
msgstr "Branch"
@@ -5511,8 +5520,8 @@ msgstr "Markierung"
msgid "append <mark> on dirty working tree (default: \"-dirty\")"
msgstr ""
-"<Markierung> bei geändertem Arbeitsverzeichnis anhängen (Standard: \"-dirty"
-"\")"
+"<Markierung> bei geändertem Arbeitsverzeichnis anhängen (Standard: \"-"
+"dirty\")"
msgid "append <mark> on broken working tree (default: \"-broken\")"
msgstr ""
@@ -5526,11 +5535,11 @@ msgid "option '%s' and commit-ishes cannot be used together"
msgstr "Option '%s' und Commit-Angaben können nicht gemeinsam verwendet werden"
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <Pfad>] [-s|--suffix <Format>] [--"
-"mode=<Modus>]"
+"git diagnose [(-o | --output-directory) <Pfad>] [(-s | --suffix) <Format>]\n"
+" [--mode=<Modus>]"
msgid "specify a destination for the diagnostics archive"
msgstr "einen Zielort für das Diagnosearchiv angeben"
@@ -5548,6 +5557,9 @@ msgstr "--merge-base funktioniert nur mit zwei Commits"
msgid "'%s': not a regular file or symlink"
msgstr "'%s': keine reguläre Datei oder symbolische Verknüpfung"
+msgid "no merge given, only parents."
+msgstr "kein Merge gegeben, nur Eltern."
+
#, c-format
msgid "invalid option: %s"
msgstr "Ungültige Option: %s"
@@ -5675,13 +5687,13 @@ msgstr "Ausgaben unterdrücken; nur git_env_*() Werte als Exit-Code verwenden"
#, c-format
msgid "option `--default' expects a boolean value with `--type=bool`, not `%s`"
msgstr ""
-"Option `--default' erwartet einen booleschen Wert bei `--type=bool`, nicht `"
-"%s`"
+"Option `--default' erwartet einen booleschen Wert bei `--type=bool`, nicht "
+"`%s`"
#, c-format
msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
+"option `--default' expects an unsigned long value with `--type=ulong`, not "
+"`%s`"
msgstr ""
"Option `--default' erwartet einen vorzeichenlosen Long-Wert bei `--"
"type=ulong`, nicht `%s`"
@@ -6206,8 +6218,8 @@ msgstr "nur Referenzen ausgeben, die diesen Commit enthalten"
msgid "print only refs which don't contain the commit"
msgstr "nur Referenzen ausgeben, die diesen Commit nicht enthalten"
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<Konfiguration> <Befehlsargumente>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<Konfiguration> [--] <Argumente>"
msgid "config"
msgstr "Konfiguration"
@@ -6378,8 +6390,16 @@ msgstr "non-tree in Cache-Verzeichnis"
msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s: Ungültiger sha1-Zeiger in resolve-undo"
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<Optionen>] [<Objekt>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<Objekt>...]"
msgid "show unreachable objects"
msgstr "unerreichbare Objekte anzeigen"
@@ -6434,12 +6454,6 @@ msgstr "git fsmonitor--daemon start [<Optionen>]"
msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [<Optionen>]"
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "Wert von '%s' außerhalb des Bereichs: %d"
@@ -6689,8 +6703,20 @@ msgid "use at most one of --auto and --schedule=<frequency>"
msgstr ""
"nutzen Sie höchstens eine der Optionen --auto oder --schedule=<Häufigkeit>"
-msgid "failed to run 'git config'"
-msgstr "Fehler beim Ausführen von 'git config'"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "Wert '%s' von '%s' kann nicht hinzugefügt werden"
+
+msgid "return success even if repository was not registered"
+msgstr "Erfolg zurückgeben, auch wenn das Repository nicht registriert wurde"
+
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "Wert '%s' von '%s' kann nicht zurückgesetzt werden"
+
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "Repository '%s' ist nicht registriert"
#, c-format
msgid "failed to expand path '%s'"
@@ -6988,11 +7014,14 @@ msgid "both --cached and trees are given"
msgstr "--cached und \"Tree\"-Objekte angegeben"
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <Art>] [-w] [--path=<Datei> | --no-filters] [--stdin] "
-"[--] <Datei>..."
+"git hash-object [-t <Art>] [-w] [--path=<Datei> | --no-filters]\n"
+" [--stdin [--literally]] [--] <Datei>..."
+
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <Art>] [-w] --stdin-paths [--no-filters]"
msgid "object type"
msgstr "Art des Objektes"
@@ -7422,11 +7451,15 @@ msgid "Initialized empty Git repository in %s%s\n"
msgstr "Leeres Git-Repository in %s%s initialisiert\n"
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<Vorlagenverzeichnis>] [--"
-"shared[=<Berechtigungen>]] [<Verzeichnis>]"
+"git init [-q | --quiet] [--bare] [--template=<Vorlagenverzeichnis>]\n"
+" [--separate-git-dir <Git-Verzeichnis>] [--object-format=<Format>]\n"
+" [-b <Branchname> | --initial-branch=<Branchname>]\n"
+" [--shared[=<Berechtigungen>]] [<Verzeichnis>]"
msgid "permissions"
msgstr "Berechtigungen"
@@ -7467,11 +7500,13 @@ msgid "--separate-git-dir incompatible with bare repository"
msgstr "--separate-git-dir nicht kompatibel mit Bare-Repository"
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<Token>[(=|:)<Wert>])...] [<Datei>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <Token>[(=|:)<Wert>])...]\n"
+" [--parse] [<Datei>...]"
msgid "edit files in place"
msgstr "vorhandene Dateien direkt bearbeiten"
@@ -7963,11 +7998,11 @@ msgstr ""
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<Programm>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<Schlüssel>]\n"
" [--symref] [<Repository> [<Referenzen>...]]"
msgid "do not print remote URL"
@@ -8101,12 +8136,12 @@ msgstr "git merge-base [-a | --all] <Commit> <Commit>..."
msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <Commit>..."
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <Commit>..."
-
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <Commit> <Commit>"
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <Commit>..."
+
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <Referenz> [<Commit>]"
@@ -8215,9 +8250,21 @@ msgstr "Dateinamen ohne Modi/Oids/Stufen auflisten"
msgid "allow merging unrelated histories"
msgstr "erlaube das Zusammenführen von nicht zusammenhängenden Historien"
+msgid "perform multiple merges, one per line of input"
+msgstr "mehrere Merges durchführen, eine pro Eingabezeile"
+
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge ist mit allen anderen Optionen inkompatibel"
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "Fehlerhafte Eingabezeile: '%s'."
+
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr ""
+"Merge kann nicht fortgesetzt werden; unsauberes Ergebnis von %d erhalten"
+
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<Optionen>] [<Commit>...]"
@@ -8849,10 +8896,6 @@ msgid "cannot read note data from non-blob object '%s'."
msgstr "Kann Notiz-Daten nicht von Nicht-Blob Objekt '%s' lesen."
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "Fehlerhafte Eingabezeile: '%s'."
-
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "Fehler beim Kopieren der Notizen von '%s' nach '%s'"
@@ -9049,16 +9092,14 @@ msgstr "Notizen von <Notiz-Referenz> verwenden"
msgid "unknown subcommand: `%s'"
msgstr "unbekannter Unterbefehl: `%s'"
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects --stdout [<Optionen>...] [< <Referenzliste> | < "
-"<Objektliste>]"
+"git pack-objects --stdout [<Optionen>] [< <Referenzliste> | < <Objektliste>]"
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects [<Optionen>...] <Basis-Name> [< <Referenzliste> | < "
+"git pack-objects [<Optionen>] <Basis-Name> [< <Referenzliste> | < "
"<Objektliste>]"
#, c-format
@@ -9454,8 +9495,8 @@ msgstr ""
"Sie es immer noch verwenden, indem Sie eine E-Mail an\n"
"<git@vger.kernel.org> senden. Danke.\n"
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<Optionen>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
msgid "pack everything"
msgstr "alles packen"
@@ -9463,6 +9504,18 @@ msgstr "alles packen"
msgid "prune loose refs (default)"
msgstr "lose Referenzen entfernen (Standard)"
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+msgid "use the unstable patch-id algorithm"
+msgstr "den instabilen Patch-ID-Algorithmus verwenden"
+
+msgid "use the stable patch-id algorithm"
+msgstr "den stabilen Patch-ID-Algorithmus verwenden"
+
+msgid "don't strip whitespace from the patch"
+msgstr "keine Leerzeichen aus dem Patch entfernen"
+
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire <Zeit>] [--] [<Branch>...]"
@@ -9690,13 +9743,12 @@ msgstr ""
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
-"Um das automatische Konfigurieren von Upstream-Branches zu verhindern,\n"
+"Um das automatische Konfigurieren eines Upstream-Branches zu verhindern,\n"
"wenn deren Namen nicht mit dem lokalen Branch übereinstimmen, siehe\n"
"Option 'simple' bei branch.autoSetupMerge in 'git help config'.\n"
@@ -9861,6 +9913,13 @@ msgstr "Push nach %s\n"
msgid "failed to push some refs to '%s'"
msgstr "Fehler beim Versenden einiger Referenzen nach '%s'"
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"Rekursion in Submodule mit push.recurseSubmodules=only; stattdessen "
+"Verwendung von on-demand"
+
#, c-format
msgid "invalid value for '%s'"
msgstr "ungültiger Wert für '%s'"
@@ -9998,13 +10057,16 @@ msgid "need two commit ranges"
msgstr "Benötige zwei Commit-Bereiche."
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<Präfix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<Datei>] (--empty | "
-"<Commit-Referenz1> [<Commit-Referenz2> [<Commit-Referenz3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<Präfix>)\n"
+" [-u | -i]] [--index-output=<Datei>] [--no-sparse-checkout]\n"
+" (--empty | <Commit-Referenz1> [<Commit-Referenz2> [<Commit-"
+"Referenz3>]])"
msgid "write resulting index to <file>"
msgstr "resultierenden Index nach <Datei> schreiben"
@@ -10095,8 +10157,8 @@ msgid "%s requires the merge backend"
msgstr "%s erfordert das Merge-Backend"
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "Konnte 'onto' nicht bestimmen: '%s'"
+msgid "invalid onto: '%s'"
+msgstr "ungültig auf: '%s'"
#, c-format
msgid "invalid orig-head: '%s'"
@@ -10150,8 +10212,8 @@ msgstr "Konnte nicht zu %s wechseln."
#, c-format
msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and "
+"\"ask\"."
msgstr ""
"nicht erkannter leerer Typ '%s'; gültige Werte sind \"drop\", \"keep\", und "
"\"ask\"."
@@ -10415,8 +10477,8 @@ msgstr "Branch/Commit '%s' nicht gefunden"
msgid "No such ref: %s"
msgstr "Referenz nicht gefunden: %s"
-msgid "Could not resolve HEAD to a revision"
-msgstr "Konnte HEAD zu keinem Commit auflösen."
+msgid "Could not resolve HEAD to a commit"
+msgstr "HEAD konnte nicht in einen Commit aufgelöst werden"
#, c-format
msgid "'%s': need exactly one merge base with branch"
@@ -11094,6 +11156,10 @@ msgstr "konnte temporäre Datei '%s' nicht zum Schreiben öffnen"
msgid "could not close refs snapshot tempfile"
msgstr "konnte temporäre Referenzen-Snapshot-Datei nicht schließen"
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "konnte veraltete Bitmap nicht entfernen: %s"
+
msgid "pack everything in a single pack"
msgstr "alles in eine einzige Pack-Datei packen"
@@ -11169,6 +11235,9 @@ msgstr "eine geometrische Progression mit Faktor <N> finden"
msgid "write a multi-pack index of the resulting packs"
msgstr "ein Multi-Pack-Index des resultierenden Pakets schreiben"
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "pack-Präfix zum Speichern eines Pakets mit gelöschten Objekten"
+
msgid "cannot delete packs in a precious-objects repo"
msgstr "kann Pack-Dateien in precious-objects Repository nicht löschen"
@@ -11180,8 +11249,12 @@ msgid "pack prefix %s does not begin with objdir %s"
msgstr "Pack-Präfix %s fängt nicht mit objdir %s an"
#, c-format
-msgid "missing required file: %s"
-msgstr "benötigte Datei fehlt: %s"
+msgid "renaming pack to '%s' failed"
+msgstr "Umbenennung des Pakets in '%s' fehlgeschlagen"
+
+#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "pack-objects hat keine '%s' Datei für Paket %s-%s geschrieben"
#, c-format
msgid "could not unlink: %s"
@@ -11376,8 +11449,11 @@ msgstr "--convert-graft-file erwartet keine Argumente"
msgid "only one pattern can be given with -l"
msgstr "Mit -l kann nur ein Muster angegeben werden"
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clean | forget <Pfad>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr ""
+"git rerere [clear | forget <Pfadspezifikation>... | diff | status | "
+"remaining | gc]"
msgid "register clean resolutions in index"
msgstr "saubere Auflösungen im Index registrieren"
@@ -11584,6 +11660,15 @@ msgstr "--prefix benötigt ein Argument"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "unbekannter Modus für --abbrev-ref: %s"
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden kann nicht zusammen mit --branches verwendet werden"
+
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden kann nicht zusammen mit --tags verwendet werden"
+
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden kann nicht zusammen mit --remotes verwendet werden"
+
msgid "this operation must be run in a work tree"
msgstr "Diese Operation muss in einem Arbeitsverzeichnis ausgeführt werden."
@@ -11591,17 +11676,26 @@ msgstr "Diese Operation muss in einem Arbeitsverzeichnis ausgeführt werden."
msgid "unknown mode for --show-object-format: %s"
msgstr "unbekannter Modus für --show-object-format: %s"
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<Optionen>] <Commit-Angabe>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <Nummer des Elterncommits>] [-s] [-S[<Key-"
+"ID>]] <Commit>…"
-msgid "git revert <subcommand>"
-msgstr "git revert <Unterbefehl>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<Optionen>] <Commit-Angabe>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <Nummer des Elterncommits>] [-s] [-x] [--"
+"ff]\n"
+" [-S[<Key-ID>]] <Commit>…"
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <Unterbefehl>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#, c-format
msgid "option `%s' expects a number greater than zero"
@@ -11662,8 +11756,14 @@ msgstr "\"revert\" fehlgeschlagen"
msgid "cherry-pick failed"
msgstr "\"cherry-pick\" fehlgeschlagen"
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<Optionen>] [--] <Datei>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<Datei> [--pathspec-file-nul]]\n"
+" [--] [<Pfadspezifikation>...]"
msgid ""
"the following file has staged content different from both the\n"
@@ -11741,11 +11841,13 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<Host>:]<Verzeichnis> (--all | <Referenz>...)"
msgid "remote name"
@@ -11769,9 +11871,9 @@ msgstr "git log --pretty=short | git shortlog [<Optionen>]"
msgid "using multiple --group options with stdin is not supported"
msgstr "mehrere Optionen --group mit Standard-Eingabe wird nicht unterstützt"
-msgid "using --group=trailer with stdin is not supported"
-msgstr ""
-"Nutzung von --group=trailer mit Standard-Eingabe wird nicht unterstützt"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "die Verwendung von %s mit stdin wird nicht unterstützt"
#, c-format
msgid "unknown group type: %s"
@@ -11808,12 +11910,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-" [--current] [--color[=<Wann>] | --no-color] [--sparse]\n"
+" [--current] [--color[=<wann>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<Commit> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<Commit> | <Glob>)...]"
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
msgstr "git show-branch (-g | --reflog)[=<n>[,<Basis>]] [--list] [<Referenz>]"
@@ -11914,11 +12018,13 @@ msgid "Unknown hash algorithm"
msgstr "Unbekannter Hash-Algorithmus"
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<Muster>...] "
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<Muster>...]"
msgid "git show-ref --exclude-existing[=<pattern>]"
msgstr "git show-ref --exclude-existing[=<Muster>]"
@@ -11951,8 +12057,11 @@ msgstr ""
"Referenzen von der Standard-Eingabe anzeigen, die sich nicht im lokalen "
"Repository befinden"
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <Optionen>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) "
+"[<Optionen>]"
msgid "this worktree is not sparse"
msgstr "dieses Arbeitsverzeichnis ist nicht partiell"
@@ -12083,67 +12192,58 @@ msgstr ""
msgid "error while refreshing working directory"
msgstr "Fehler während der Aktualisierung des Arbeitsverzeichnisses."
-msgid "git stash list [<options>]"
-msgstr "git stash list [<Optionen>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<log-Optionen>]"
+
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<Diff-"
+"Optionen>] [<Stash>]"
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<Optionen>] [<Stash>]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<Stash>]"
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<Stash>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<Stash>]"
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<Stash>]"
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<Stash>]"
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <Branch> [<Stash>]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr ""
+"git stash store [(-m | --message) <Beschreibung>] [-q | --quiet] <Commit>"
+
msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgstr ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <Nachricht>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<Nachricht>]\n"
" [--pathspec-from-file=<Datei> [--pathspec-file-nul]]\n"
" [--] [<Pfadspezifikation>...]]"
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<Nachricht>]"
-
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<Stash>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<Beschreibung>]"
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<Stash>]"
-
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <Nachricht>] [-q|--quiet] <Commit>"
-
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
-msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <Nachricht>]\n"
-" [--] [<Pfadspezifikation>...]]"
-
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<Nachricht>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<Beschreibung>]"
#, c-format
msgid "'%s' is not a stash-like commit"
@@ -12721,9 +12821,6 @@ msgstr "Submodule rekursiv durchlaufen"
msgid "don't fetch new objects from the remote site"
msgstr "keine neuen Objekte von Remote abrufen"
-msgid "path into the working tree"
-msgstr "Pfad zum Arbeitsverzeichnis"
-
msgid "use the 'checkout' update strategy (default)"
msgstr "die Aktualisierungsstrategie \"checkout\" verwenden (Standard)"
@@ -12764,29 +12861,9 @@ msgstr ""
"shallow] [--reference <Repository>] [--recursive] [--[no-]single-branch] "
"[--] [<Pfad>...]"
-msgid "recurse into submodules"
-msgstr "Rekursion in Submodule durchführen"
-
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [<Optionen>] [<Pfad>...]"
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "prüfen, ob es sicher ist, in die Datei .gitmodules zu schreiben"
-
-msgid "unset the config in the .gitmodules file"
-msgstr "Konfiguration in der .gitmodules-Datei entfernen"
-
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config <name> [<Wert>]"
-
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <Name>"
-
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr ""
-"Bitte stellen Sie sicher, dass sich die Datei .gitmodules im "
-"Arbeitsverzeichnis befindet."
-
msgid "suppress output for setting url of a submodule"
msgstr "Ausgaben beim Setzen der URL eines Submoduls unterdrücken"
@@ -12867,6 +12944,11 @@ msgstr "Reaktiviere lokales Git-Verzeichnis für Submodul '%s'\n"
msgid "unable to checkout submodule '%s'"
msgstr "kann Submodul '%s' nicht auschecken"
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr ""
+"Bitte stellen Sie sicher, dass sich die Datei .gitmodules im "
+"Arbeitsverzeichnis befindet."
+
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "Hinzufügen von Submodul '%s' fehlgeschlagen"
@@ -12919,19 +13001,21 @@ msgstr "repo URL: '%s' muss absolut sein oder mit ./|../ beginnen"
msgid "'%s' is not a valid submodule name"
msgstr "'%s' ist kein gültiger Submodul-Name"
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <Befehl>"
+
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s unterstützt kein --super-prefix"
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "'%s' ist kein gültiger Unterbefehl von submodule--helper"
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <Grund>] <Name> <Referenz>"
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<Optionen>] <Name> [<Referenz>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <Name>"
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <Name>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <Name>"
msgid "suppress error message for non-symbolic (detached) refs"
msgstr ""
@@ -12943,6 +13027,9 @@ msgstr "symbolische Referenzen löschen"
msgid "shorten ref output"
msgstr "verkürzte Ausgabe der Referenzen"
+msgid "recursively dereference (default)"
+msgstr "rekursives Dereferenzieren (Standard)"
+
msgid "reason"
msgstr "Grund"
@@ -12950,25 +13037,25 @@ msgid "reason of the update"
msgstr "Grund für die Aktualisierung"
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <Schlüssel-ID>] [-f] [-m <Beschreibung> | -F <Datei>]\n"
-" <Tagname> [<Commit>]"
+"git tag [-a | -s | -u <Key-ID>] [-f] [-m <Beschreibung> | -F <Datei>] [-e]\n"
+" <Tagname> [<Commit> | <Objekt>]"
msgid "git tag -d <tagname>..."
msgstr "git tag -d <Tagname>..."
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<Nummer>]] [--contains <Commit>] [--no-contains <Commit>] [--"
-"points-at <Objekt>]\n"
-" [--format=<format>] [--merged <Commit>] [--no-merged <Commit>] "
-"[<Muster>...]"
+"git tag [-n[<Nummer>]] -l [--contains <Commit>] [--no-contains <Commit>]\n"
+" [--points-at <Objekt>] [--column[=<Optionen>] | --no-column]\n"
+" [--create-reflog] [--sort=<Schlüssel>] [--format=<Format>]\n"
+" [--merged <Commit>] [--no-merged <Commit>] [<Muster>...]"
msgid "git tag -v [--format=<format>] <tagname>..."
msgstr "git tag -v [--format=<Format>] <Tagname>..."
@@ -13367,8 +13454,12 @@ msgstr "Aktualisierungen von der Standard-Eingabe lesen"
msgid "update the info files from scratch"
msgstr "die Informationsdateien von Grund auf aktualisieren"
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<Optionen>] <Verzeichnis>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
msgid "quit after a single request/response exchange"
msgstr "nach einem einzigen Request/Response-Austausch beenden"
@@ -13384,8 +13475,8 @@ msgstr ""
msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "Übertragung nach <n> Sekunden Inaktivität unterbrechen"
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <Commit>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <Commit>..."
msgid "print commit contents"
msgstr "Commit-Inhalte ausgeben"
@@ -13393,8 +13484,9 @@ msgstr "Commit-Inhalte ausgeben"
msgid "print raw gpg status output"
msgstr "unbearbeitete Ausgabe des Status von gpg ausgeben"
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <Paket>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr ""
+"git verify-pack [-v | --verbose] [-s | --stat-only] [--] <Paket>.idx..."
msgid "verbose"
msgstr "erweiterte Ausgaben"
@@ -13402,35 +13494,40 @@ msgstr "erweiterte Ausgaben"
msgid "show statistics only"
msgstr "nur Statistiken anzeigen"
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<Format>] <Tag>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<Format>] [--raw] <Tag>..."
msgid "print tag contents"
msgstr "Tag-Inhalte ausgeben"
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<Optionen>] <Pfad> [<Commit-Angabe>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason "
+"<Zeichenkette>]]\n"
+" [-b <neuer-Branch>] <Pfad> [<Commit-Angabe>]"
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<Optionen>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<Optionen>] <Pfad>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <Zeichenkette>] <Arbeitsverzeichnis>"
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <Arbeitsverzeichnis> <neuer-Pfad>"
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<Optionen>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <Zeit>]"
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<Optionen>] <Arbeitsverzeichnis>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <Arbeitsverzeichnis>"
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [<Pfad>...]"
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <Pfad>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <Arbeitsverzeichnis>"
#, c-format
msgid "Removing %s/%s: %s"
@@ -13681,6 +13778,10 @@ msgstr "nur nützlich für Fehlersuche"
msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch wird auf dieser Plattform nicht unterstützt"
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "Paketliste bei '%s' hat keinen Modus"
+
msgid "failed to create temporary file"
msgstr "temporäre Datei kann nicht erstellt werden"
@@ -13688,16 +13789,29 @@ msgid "insufficient capabilities"
msgstr "unzureichende Fähigkeiten"
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "nicht erkannter Bundle-Modus von URI '%s'"
+
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "Rekursionsgrenze für Bundle-URI überschritten (%d)"
+
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "Download des Bundles von URI '%s' fehlgeschlagen"
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "Datei unter URI '%s' ist kein Bundle"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "Datei unter URI '%s' ist kein Paket oder keine Paketliste"
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "Bundle von URI '%s' konnte nicht entpackt werden"
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri: erhielt eine leere Zeile"
+
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri: Zeile hat nicht die Form 'Schlüssel=Wert'"
+
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri: Zeile hat leeren Schlüssel oder Wert"
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
@@ -14301,8 +14415,8 @@ msgstr "Das Bundle-Dateiformat"
msgid "Chunk-based file formats"
msgstr "Chunk-basierte Dateiformate"
-msgid "Git commit graph format"
-msgstr "Git Commit Graph Format"
+msgid "Git commit-graph format"
+msgstr "Git Commit-Graph Format"
msgid "Git index format"
msgstr "Git-Index-Format"
@@ -14653,6 +14767,10 @@ msgstr "unbehandelter Fall in 'has_worktree_moved': %d"
msgid "health thread wait failed [GLE %ld]"
msgstr "Warten des health Thread fehlgeschlagen [GLE %ld]"
+#, c-format
+msgid "Invalid path: %s"
+msgstr "Ungültiger Pfad: %s"
+
msgid "Unable to create FSEventStream."
msgstr "Konnte FSEventStream nicht erstellen."
@@ -14684,6 +14802,22 @@ msgid "could not read directory changes [GLE %ld]"
msgstr "konnte Verzeichnisveränderungen nicht lesen [GLE %ld]"
#, c-format
+msgid "opendir('%s') failed"
+msgstr "opendir('%s') fehlgeschlagen"
+
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "lstat('%s') fehlgeschlagen"
+
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "strbuf_readlink('%s') fehlgeschlagen"
+
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "closedir('%s') fehlgeschlagen"
+
+#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] '%ls' kann nicht zum Lesen geöffnet werden"
@@ -16326,9 +16460,11 @@ msgstr "virtuelles Repository '%s' ist inkompatibel mit fsmonitor"
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
msgstr ""
-"Repository '%s' is inkompatibel mit fsmonitor wegen fehlender Unix sockets"
+"Socket-Verzeichnis '%s' ist mit fsmonitor inkompatibel, da es keine Unix-"
+"Sockets unterstützt"
msgid ""
"git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n"
@@ -16653,8 +16789,8 @@ msgstr[1] ""
"\n"
"Die ähnlichsten Befehle sind"
-msgid "git version [<options>]"
-msgstr "git version [<Optionen>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#, c-format
msgid "%s: %s - %s"
@@ -17272,8 +17408,8 @@ msgstr ""
#, c-format
msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename "
+"\"%s\"->\"%s\" in \"%s\"%s"
msgstr ""
"KONFLIKT (umbenennen/umbenennen): Benenne um \"%s\"->\"%s\" in Branch \"%s\" "
"und \"%s\"->\"%s\" in Branch \"%s\"%s"
@@ -17601,10 +17737,6 @@ msgstr "Konnte alternativen Objektpfad '%s' nicht normalisieren."
msgid "%s: ignoring alternate object stores, nesting too deep"
msgstr "%s: ignoriere alternative Objektspeicher - Verschachtelung zu tief"
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "Konnte Objektverzeichnis '%s' nicht normalisieren."
-
msgid "unable to fdopen alternates lockfile"
msgstr "Konnte fdopen nicht auf Lock-Datei für \"alternates\" aufrufen."
@@ -18450,6 +18582,10 @@ msgstr ""
msgid "promisor remote name cannot begin with '/': %s"
msgstr "Promisor-Remote-Name kann nicht mit '/' beginnen: %s"
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "konnte %s nicht von Promisor-Remote abrufen"
+
msgid "object-info: expected flush after arguments"
msgstr "object-info: erwartete Flush nach Argumenten"
@@ -19540,6 +19676,13 @@ msgid "failed to find tree of %s"
msgstr "Fehler beim Finden des \"Tree\"-Objektes von %s."
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "nicht unterstützter Abschnitt für versteckte Referenzen: %s"
+
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden= mehr als einmal übergeben"
+
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo zeichnet `%s` auf, das fehlt"
@@ -19684,6 +19827,14 @@ msgid "--all or <enlistment>, but not both"
msgstr "--all oder <Eintragung>, aber nicht beides"
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "konnte veraltetes scalar.repo '%s' nicht entfernen"
+
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "entferne veraltetes scalar.repo '%s'"
+
+#, c-format
msgid "git repository gone in '%s'"
msgstr "Git-Repository entfernt in '%s'"
@@ -20317,16 +20468,16 @@ msgstr ""
msgid "illegal label name: '%.*s'"
msgstr "unerlaubter Beschriftungsname: '%.*s'"
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "konnte '%s' nicht auflösen"
+
msgid "writing fake root commit"
msgstr "unechten Root-Commit schreiben"
msgid "writing squash-onto"
msgstr "squash-onto schreiben"
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "konnte '%s' nicht auflösen"
-
msgid "cannot merge without a current revision"
msgstr "kann nicht ohne einen aktuellen Commit mergen"
@@ -20936,6 +21087,17 @@ msgstr "ls-tree mit unerwartetem Rückgabewert %d beendet"
msgid "failed to lstat '%s'"
msgstr "'lstat' für '%s' fehlgeschlagen"
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <Optionen> (control|prime|update)"
+
+msgid "clear the cache tree before each iteration"
+msgstr "das Cache-Verzeichnis vor jeder Iteration löschen"
+
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr ""
+"Anzahl der Einträge im Cache-Verzeichnis, die ungültig gemacht werden sollen "
+"(Standardwert 0)"
+
msgid "unhandled options"
msgstr "unbehandelte Optionen"
@@ -21970,8 +22132,8 @@ msgstr "Sie führen gerade \"cherry-pick\" von Commit %s aus."
msgid " (fix conflicts and run \"git cherry-pick --continue\")"
msgstr ""
-" (beheben Sie die Konflikte und führen Sie dann \"git cherry-pick --continue"
-"\" aus)"
+" (beheben Sie die Konflikte und führen Sie dann \"git cherry-pick --"
+"continue\" aus)"
msgid " (run \"git cherry-pick --continue\" to continue)"
msgstr " (Führen Sie \"git cherry-pick --continue\" aus, um weiterzumachen)"
diff --git a/po/fr.po b/po/fr.po
index b29d341002..67eab9f900 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -48,7 +48,7 @@
# pack | paquet
# patches | patchs
# pattern | motif
-# to prune | éliminer
+# to prune | élaguer
# to push | pousser
# to rebase | rebaser
# scheduler | planificateur
@@ -78,8 +78,8 @@ msgid ""
msgstr ""
"Project-Id-Version: git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-28 21:43+0200\n"
-"PO-Revision-Date: 2022-09-28 21:45+0200\n"
+"POT-Creation-Date: 2022-11-30 19:40+0100\n"
+"PO-Revision-Date: 2022-11-30 19:42+0100\n"
"Last-Translator: Cédric Malard <c.malard-git@valdun.net>\n"
"Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
"Language: fr\n"
@@ -841,6 +841,9 @@ msgstr "cmdline se termine par \\"
msgid "unclosed quote"
msgstr "citation non fermée"
+msgid "too many arguments"
+msgstr "trop d'arguments"
+
#, c-format
msgid "unrecognized whitespace option '%s'"
msgstr "option d'espace non reconnue '%s'"
@@ -2633,42 +2636,6 @@ msgstr ""
"la bissection a échoué : 'git bisect--helper --bisect-state %s' a retourné "
"le code erreur %d"
-msgid "reset the bisection state"
-msgstr "réinitialiser l'état de la bissection"
-
-msgid "check whether bad or good terms exist"
-msgstr "vérifier si les termes bons ou mauvais existent"
-
-msgid "print out the bisect terms"
-msgstr "afficher les termes de bissection"
-
-msgid "start the bisect session"
-msgstr "démarrer une session de bissection"
-
-msgid "find the next bisection commit"
-msgstr "trouver le prochain commit de bissection"
-
-msgid "mark the state of ref (or refs)"
-msgstr "marquer l'état d'une références (ou plusieurs)"
-
-msgid "list the bisection steps so far"
-msgstr "lister les étapes de bissection jusqu'ici"
-
-msgid "replay the bisection process from the given file"
-msgstr "rejouer le processus de bissection depuis le fichier fourni"
-
-msgid "skip some commits for checkout"
-msgstr "sauter certains commits pour l'extraction"
-
-msgid "visualize the bisection"
-msgstr "visualiser la bissection"
-
-msgid "use <cmd>... to automatically bisect"
-msgstr "utiliser <cmd>... pour bissecter automatiquement"
-
-msgid "no log for BISECT_WRITE"
-msgstr "pas de journal pour BISECT_WRITE"
-
msgid "--bisect-reset requires either no argument or a commit"
msgstr "--bisect-reset supporte soit aucun argument, soit un commit"
@@ -2687,6 +2654,9 @@ msgstr "pas de fichier de log donné"
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<options>] [<rev-opts>] [<rev>] [--] <fichier>"
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<options>] [<options-de-rev>] [<rev>] [--] <fichier>"
+
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<options-de-révision> sont documentés dans git-rev-list(1)"
@@ -2887,9 +2857,6 @@ msgstr "Échec de la mise à jour du fichier de configuration"
msgid "cannot use -a with -d"
msgstr "impossible d'utiliser -a avec -d"
-msgid "Couldn't look up commit object for HEAD"
-msgstr "Impossible de rechercher l'objet commit pour HEAD"
-
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "Impossible de supprimer la branche '%s' extraite dans '%s'"
@@ -2928,16 +2895,18 @@ msgstr "La branche %s est en cours de rebasage sur %s"
msgid "Branch %s is being bisected at %s"
msgstr "La branche %s est en cours de bissection sur %s"
-msgid "cannot copy the current branch while not on any."
-msgstr "impossible de copier la branche actuelle, il n'y en a pas."
-
-msgid "cannot rename the current branch while not on any."
-msgstr "impossible de renommer la branche actuelle, il n'y en a pas."
-
#, c-format
msgid "Invalid branch name: '%s'"
msgstr "Nom de branche invalide : '%s'"
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Aucun commit sur la branche '%s'."
+
+#, c-format
+msgid "No branch named '%s'."
+msgstr "Aucune branche nommée '%s'."
+
msgid "Branch rename failed"
msgstr "Échec de renommage de la branche"
@@ -3100,13 +3069,11 @@ msgstr "Impossible de décrire une HEAD détachée"
msgid "cannot edit description of more than one branch"
msgstr "impossible d'éditer la description de plus d'une branche"
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "Aucun commit sur la branche '%s'."
+msgid "cannot copy the current branch while not on any."
+msgstr "impossible de copier la branche actuelle, il n'y en a pas."
-#, c-format
-msgid "No branch named '%s'."
-msgstr "Aucune branche nommée '%s'."
+msgid "cannot rename the current branch while not on any."
+msgstr "impossible de renommer la branche actuelle, il n'y en a pas."
msgid "too many branches for a copy operation"
msgstr "trop de branches pour une opération de copie"
@@ -3176,11 +3143,12 @@ msgid "not run from a git repository - no hooks to show\n"
msgstr "lancé hors d'un dépôt git - aucun crochet à montrer\n"
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <fichier>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]]"
+"git bugreport [(-o | --output-directory) <chemin>] [(-s | --suffix) "
+"<format>]\n"
+" [--diagnose[=<mode>]]"
msgid ""
"Thank you for filling out a Git bug report!\n"
@@ -3255,17 +3223,23 @@ msgstr "impossible d'écrire dans %s"
msgid "Created new report at '%s'.\n"
msgstr "Nouveau rapport créé à '%s'.\n"
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<options>] <fichier> <args git-rev-list>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <args-de-git-rev-list>"
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<options>] <fichier>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <fichier>"
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <fichier> [<nom-de-ref>...]"
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <fichier> [<nom-de-ref>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <fichier> [<nom-de-ref>...]"
msgid "do not show progress meter"
msgstr "ne pas afficher la barre de progression"
@@ -3340,12 +3314,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgid ""
"git cat-file (--textconv | --filters)\n"
@@ -3456,9 +3430,6 @@ msgstr "<rev> nécessaire avec '%s'"
msgid "<object> required with '-%c'"
msgstr "<objet> nécessaire avec '-%c'"
-msgid "too many arguments"
-msgstr "trop d'arguments"
-
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
msgstr "deux arguments seulement permis dans le mode <type> <objet>, pas %d"
@@ -4001,9 +3972,11 @@ msgid "use overlay mode"
msgstr "utiliser le mode de superposition"
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <motif>] [-x | -X] [--] <chemins>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <motif>] [-x | -X] [--] [<spec-de-"
+"chemins>...]"
#, c-format
msgid "Removing %s\n"
@@ -4301,6 +4274,10 @@ msgid "failed to start iterator over '%s'"
msgstr "échec du démarrage un itérateur sur '%s'"
#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr "le lien symbolique '%s' existe, refus de cloner avec --local"
+
+#, c-format
msgid "failed to unlink '%s'"
msgstr "échec pour délier '%s'"
@@ -4366,10 +4343,6 @@ msgstr "Trop d'arguments."
msgid "You must specify a repository to clone."
msgstr "Vous devez spécifier un dépôt à cloner."
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "les options '%s' et '%s %s' ne peuvent pas être utilisées ensemble"
-
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -4496,18 +4469,24 @@ msgid "--command must be the first argument"
msgstr "--command doit être le premier argument"
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <rép>] [--shallow] [--[no-]progress]"
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
msgstr ""
-"git commit-graph write [--object-dir <répertoire-d'objet>] [--append] [--"
-"split[=<stratégie>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <options de division>"
+"git commit-graph write [--object-dir <rép>] [--append]\n"
+" [--split[=<stratégie>]] [--reachable | --stdin-packs "
+"| --stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <options de division>"
msgid "dir"
msgstr "répertoire"
@@ -4577,12 +4556,15 @@ msgstr "utilisez un seul parmi --reachable, --stdin-commits ou --stdin-packs"
msgid "Collecting commits from input"
msgstr "Collecte des commits depuis l'entrée"
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <arbre> [(-p <parent>)...]"
+
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <parent>)...] [-S[<idclé>]] [(-m <message>)...] [(-F "
-"<fichier>)...] <arbre>"
+"git commit-tree [(-p <parent>)...] [-S[<idclé>]] [(-m <message>)...]\n"
+" [(-F <fichier>)...] <arbre>"
#, c-format
msgid "duplicate parent %s ignored"
@@ -4624,11 +4606,29 @@ msgstr "exactement un arbre obligatoire"
msgid "git commit-tree: failed to read"
msgstr "git commit-tree : échec de la lecture"
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<options>] [--] <spécification-de-chemin>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<auteur>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<fichier> [--pathspec-file-nul]]\n"
+" [(--trailer <symbole>[(=|:)<valeur>])...] [-S[<id-clé>]]\n"
+" [--] [<spéc-de-chemin>...]"
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<options>] [--] <spécification-de-chemin>..."
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [<options>] [--] [<spécification-de-chemin>...]"
msgid ""
"You asked to amend the most recent commit, but doing so would make\n"
@@ -5412,11 +5412,18 @@ msgstr "credential-cache non disponible ; pas de gestion des socket unix"
msgid "unable to get credential storage lock in %d ms"
msgstr "impossible d'accéder au verrou de stockage d'identification en %d ms"
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<options>] <commit ou apparenté>*"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-esque>...]"
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<options>] --dirty"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<marque>]"
+
+msgid "git describe <blob>"
+msgstr "git describe <blob>"
msgid "head"
msgstr "tête"
@@ -5543,11 +5550,11 @@ msgstr ""
"l'option '%s' et des commit-esques ne peuvent pas être utilisées ensemble"
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <fichier>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [-o | --output-directory <fichier>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgid "specify a destination for the diagnostics archive"
msgstr "spécifier la destination de l'archive de diagnostique"
@@ -5565,6 +5572,9 @@ msgstr "--merge-base ne fonctionne qu'avec deux commits"
msgid "'%s': not a regular file or symlink"
msgstr "'%s' : n'est pas un fichier régulier ni un lien symbolique"
+msgid "no merge given, only parents."
+msgstr "pas de fusion fournie, seulement des parents."
+
#, c-format
msgid "invalid option: %s"
msgstr "option invalide : %s"
@@ -5858,12 +5868,12 @@ msgstr ""
msgid "prune remote-tracking branches no longer on remote"
msgstr ""
-"éliminer les branches de suivi distant si la branche n'existe plus dans le "
+"élaguer les branches de suivi distant si la branche n'existe plus dans le "
"dépôt distant"
msgid "prune local tags no longer on remote and clobber changed tags"
msgstr ""
-"éliminer les étiquettes locales qui ont disparu du dépôt distant et qui "
+"élaguer les étiquettes locales qui ont disparu du dépôt distant et qui "
"encombrent les étiquettes modifiées"
msgid "on-demand"
@@ -6214,8 +6224,8 @@ msgstr "afficher seulement les références qui contiennent le commit"
msgid "print only refs which don't contain the commit"
msgstr "afficher seulement les références qui ne contiennent pas le commit"
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<config> <arguments-de-commande>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<config> [--] <arguments>"
msgid "config"
msgstr "config"
@@ -6386,8 +6396,16 @@ msgstr "non-arbre dans l'arbre de cache"
msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s : pointeur sha1 invalide dans resolve-undo"
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<options>] [<objet>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<objec>...]"
msgid "show unreachable objects"
msgstr "afficher les objets inaccessibles"
@@ -6443,12 +6461,6 @@ msgstr "git fsmonitor--daemon start [<options>]"
msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [<options>]"
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "valeur de '%s' hors de gamme : %d"
@@ -6565,7 +6577,7 @@ msgstr ""
"%s"
msgid "prune unreferenced objects"
-msgstr "éliminer les objets non référencés"
+msgstr "élaguer les objets non référencés"
msgid "pack unreferenced objects separately"
msgstr "empaqueter les objets non référencés séparément"
@@ -6694,8 +6706,20 @@ msgstr "lancer une tâche spécifique"
msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "--auto et --schedule=<fréquence> sont mutuellement exclusifs"
-msgid "failed to run 'git config'"
-msgstr "échec du lancement de 'git config'"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "impossible d'ajouter la valeur '%s' de '%s'"
+
+msgid "return success even if repository was not registered"
+msgstr "renvoyer un succès même si le dépôt n'était pas enregistré"
+
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "impossible de retirer la valeur '%s' de '%s'"
+
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "le dépôt '%s' n'est pas enregistré"
#, c-format
msgid "failed to expand path '%s'"
@@ -6996,11 +7020,14 @@ msgid "both --cached and trees are given"
msgstr "--cached et des arbres sont fournis en même temps"
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <type>] [-w] [--path=<fichier> | --no-filters] [--stdin] "
-"[--] <fichier>..."
+"git hash-object [-t <type>] [-w] [--path=<fichier> | --no-filters]\n"
+" [--stdin [--literally]] [--] <fichier>..."
+
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
msgid "object type"
msgstr "type d'objet"
@@ -7429,11 +7456,15 @@ msgid "Initialized empty Git repository in %s%s\n"
msgstr "Dépôt Git vide initialisé dans %s%s\n"
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<répertoire-modèle>] [--"
-"shared[=<permissions>]] [<répertoire>]"
+"git init [-q | --quiet] [--bare] [--template=<répertoire-modèle>]\n"
+" [--separate-git-dir <rép-git>] [--object-format=<format>]\\n\"\n"
+" [-b <nom-de-branche> | --initial-branch=<nom-de-branche>]\\n\"\n"
+" [--shared[=<permissions>]] [<répertoire>]"
msgid "permissions"
msgstr "permissions"
@@ -7474,11 +7505,13 @@ msgid "--separate-git-dir incompatible with bare repository"
msgstr "--separate-git-dir est incompatible avec un dépôt nu"
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<symbole>[(=|:)<valeur>])...] [<fichier>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <symbole>[(=|:)<valeur>])...]\n"
+" [--parse] [<fichier>...]"
msgid "edit files in place"
msgstr "éditer les fichiers sur place"
@@ -7977,11 +8010,11 @@ msgstr ""
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<clé>]\n"
" [--symref] [<dépôt> [<réf>...]]"
msgid "do not print remote URL"
@@ -8116,12 +8149,12 @@ msgstr "git merge-base [-a | --all] <commit> <commit>..."
msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <commit>..."
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <validation>..."
-
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <validation> <validation>"
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <validation>..."
+
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <référence> [<validation>]"
@@ -8229,9 +8262,20 @@ msgstr "lister les noms de fichier sans modes/oids/indexation"
msgid "allow merging unrelated histories"
msgstr "permettre la fusion d'historiques sans rapport"
+msgid "perform multiple merges, one per line of input"
+msgstr "réaliser des fusions multiples, une par ligne d'entrée"
+
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge est incompatible avec d'autres options"
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "ligne en entrée malformée : '%s'."
+
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "la fusion ne peut pas continuer ; résultat non propre retourné %d"
+
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<options>] [<commit>...]"
@@ -8860,10 +8904,6 @@ msgid "cannot read note data from non-blob object '%s'."
msgstr "impossible de lire les informations de note d'un objet non-blob '%s'."
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "ligne en entrée malformée : '%s'."
-
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "impossible de copier les notes de '%s' vers '%s'"
@@ -9055,16 +9095,15 @@ msgstr "utiliser les notes depuis <références-notes>"
msgid "unknown subcommand: `%s'"
msgstr "sous-commande inconnue : `%s'"
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects --stdout [options...] [< <liste-références> | < <liste-"
+"git pack-objects --stdout [<options>] [< <liste-références> | < <liste-"
"objets>]"
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects [options...] base-name [< <liste-références> | < <liste-"
+"git pack-objects [<options>] <nom-de-base> [< <liste-références> | < <liste-"
"objets>]"
#, c-format
@@ -9453,20 +9492,32 @@ msgstr ""
"sur la ligne de commande pour nous avertir par\n"
"un courriel à <git@vger.kernel.org>. Merci.\n"
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<options>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
msgid "pack everything"
msgstr "empaqueter tout"
msgid "prune loose refs (default)"
-msgstr "éliminer les références perdues (défaut)"
+msgstr "élaguer les références perdues (défaut)"
+
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+msgid "use the unstable patch-id algorithm"
+msgstr "utiliser l'algorithme instable patch-id"
+
+msgid "use the stable patch-id algorithm"
+msgstr "utiliser l'algorithme stable patch-id"
+
+msgid "don't strip whitespace from the patch"
+msgstr "ne pas retirer les espaces blancs de la rustine"
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire <heure>] [--] [<head>…]"
msgid "report pruned objects"
-msgstr "afficher les objets éliminés"
+msgstr "afficher les objets élagués"
msgid "expire objects older than <time>"
msgstr "faire expirer les objets plus vieux que <heure>"
@@ -9475,7 +9526,7 @@ msgid "limit traversal to objects outside promisor packfiles"
msgstr "limiter la traversée aux objets hors des fichiers paquets prometteurs"
msgid "cannot prune in a precious-objects repo"
-msgstr "impossible de nettoyer dans un dépôt d'objets précieux"
+msgstr "impossible d'élaguer dans un dépôt d'objets précieux"
msgid "git pull [<options>] [<repository> [<refspec>...]]"
msgstr "git pull [<options>] [<dépôt> [<spécification-de-référence>...]]"
@@ -9682,9 +9733,8 @@ msgstr ""
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
@@ -9856,6 +9906,13 @@ msgstr "Poussée vers %s\n"
msgid "failed to push some refs to '%s'"
msgstr "impossible de pousser des références vers '%s'"
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"la récursion dans le sous-module avec push.recurseSubmodules=only ; "
+"utilisation de on-demande à la place"
+
#, c-format
msgid "invalid value for '%s'"
msgstr "valeur invalide pour '%s'"
@@ -9901,7 +9958,7 @@ msgid "set upstream for git pull/status"
msgstr "définir la branche amont pour git pull/status"
msgid "prune locally removed refs"
-msgstr "éliminer les références locales supprimées"
+msgstr "élaguer les références locales supprimées"
msgid "bypass pre-push hook"
msgstr "éviter d'utiliser le crochet pre-push"
@@ -9996,14 +10053,15 @@ msgid "need two commit ranges"
msgstr "plage entre deux commits requise"
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
-"prefix=<préfixe>) [-u | -i]] [--no-sparse-checkout] [--index-"
-"output=<fichier>] (--empty | <arbre-esque1> [<arbre-esque2> [<arbre-"
-"esque3>]])"
+"prefix=<préfixe>)\n"
+" [-u | -i]] [--index-output=<fichier>] [--no-sparse-checkout]\n"
+" (--empty | <arbre-esque1> [<arbre-esque2> [<arbre-esque3>]])"
msgid "write resulting index to <file>"
msgstr "écrire l'index résultant dans <fichier>"
@@ -10094,8 +10152,8 @@ msgid "%s requires the merge backend"
msgstr "%s requiert un moteur de fusion"
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "impossible d'accéder 'onto' : '%s'"
+msgid "invalid onto: '%s'"
+msgstr "destination invalide : '%s'"
#, c-format
msgid "invalid orig-head: '%s'"
@@ -10405,8 +10463,8 @@ msgstr "pas de branche ou commit '%s'"
msgid "No such ref: %s"
msgstr "Référence inexistante : %s"
-msgid "Could not resolve HEAD to a revision"
-msgstr "Impossible de résoudre le commit HEAD vers un révision"
+msgid "Could not resolve HEAD to a commit"
+msgstr "impossible de résoudre HEAD en un commit"
#, c-format
msgid "'%s': need exactly one merge base with branch"
@@ -10981,14 +11039,14 @@ msgstr "URL : %s"
#, c-format
msgid " * [would prune] %s"
-msgstr " * [serait éliminé] %s"
+msgstr " * [élaguerait] %s"
#, c-format
msgid " * [pruned] %s"
-msgstr " * [éliminé] %s"
+msgstr " * [élagué] %s"
msgid "prune remotes after fetching"
-msgstr "éliminer les distants après le rapatriement"
+msgstr "élagué les distants après la récupération"
#, c-format
msgid "No such remote '%s'"
@@ -11082,6 +11140,10 @@ msgstr "impossible d'ouvrir le fichier temporaire %s en écriture"
msgid "could not close refs snapshot tempfile"
msgstr "impossible de fermer le fichier temporaire d'instantané des réfs"
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "impossible de revenir la bitmap obsolète : %s"
+
msgid "pack everything in a single pack"
msgstr "empaqueter tout dans un seul paquet"
@@ -11156,6 +11218,9 @@ msgstr "trouver une progression géométrique avec un facteur <N>"
msgid "write a multi-pack index of the resulting packs"
msgstr "écrire un index de multi-paquet des paquets résultants"
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "préfixe de paquet pour stocker un paquet contenant les objets élagués"
+
msgid "cannot delete packs in a precious-objects repo"
msgstr "impossible de supprimer les paquets dans un dépôt d'objets précieux"
@@ -11167,8 +11232,12 @@ msgid "pack prefix %s does not begin with objdir %s"
msgstr "le préfixe %s ne commence pas avec objdir %s"
#, c-format
-msgid "missing required file: %s"
-msgstr "fichier nécessaire manquant : %s"
+msgid "renaming pack to '%s' failed"
+msgstr "le renommage du paquet en '%s' a échoué"
+
+#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "pack-objects n'a pas écrit un fichier '%s' pour la paquet %s-%s"
#, c-format
msgid "could not unlink: %s"
@@ -11362,9 +11431,10 @@ msgstr "--convert-graft-file ne supporte aucun argument"
msgid "only one pattern can be given with -l"
msgstr "-l n'accepte qu'un motifs"
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
msgstr ""
-"git rerere [clear | forget <chemin>... | status | remaining | diff | gc]"
+"git rerere [clear | forget <chemin>... | diff | status | remaining | gc]"
msgid "register clean resolutions in index"
msgstr "enregistrer des résolutions propres dans l'index"
@@ -11572,6 +11642,15 @@ msgstr "--prefix exige un argument"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "mode inconnu pour --abbrev-ref : %s"
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden ne peut être utilisé avec --branches"
+
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden ne peut pas être utilisé avec --tags"
+
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden ne peut pas être utilisé avec --remotes"
+
msgid "this operation must be run in a work tree"
msgstr "cette opération doit être effectuée dans un arbre de travail"
@@ -11579,17 +11658,25 @@ msgstr "cette opération doit être effectuée dans un arbre de travail"
msgid "unknown mode for --show-object-format: %s"
msgstr "mode inconnu pour --show-object-format : %s"
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<options>] <commit ou apparenté>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <numéro-de-parent>] [-s] [-S[<id-clé>]] "
+"<commit>..."
-msgid "git revert <subcommand>"
-msgstr "git revert <sous-commande>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<options>] <commit ou apparenté>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <numéro-de-parent>] [-s] [-x] [--ff]\n"
+" [-S[<clé-id>]] <commit>..."
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <sous-commande>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#, c-format
msgid "option `%s' expects a number greater than zero"
@@ -11650,8 +11737,14 @@ msgstr "revert a échoué"
msgid "cherry-pick failed"
msgstr "le picorage a échoué"
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<options>] [--] <fichier>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<fichier> [--pathspec-file-nul]]\n"
+" [--] [<spéc-de-chemin>...]"
msgid ""
"the following file has staged content different from both the\n"
@@ -11726,11 +11819,13 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true | false | if-asked)]\n"
" [<hôte>:]<répertoire> (--all | <réf>...)"
msgid "remote name"
@@ -11755,8 +11850,9 @@ msgid "using multiple --group options with stdin is not supported"
msgstr ""
"l'utilisation de plusieurs options --group avec stdin n'est pas supportée"
-msgid "using --group=trailer with stdin is not supported"
-msgstr "l'utilisation de --group=trailer avec stdin n'est pas supportée"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "l'utilisation de %s avec stdin n'est pas supportée"
#, c-format
msgid "unknown group type: %s"
@@ -11795,12 +11891,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<quand>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rév> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rév> | <glob>)...]"
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<référence>]"
@@ -11902,11 +12000,13 @@ msgid "Unknown hash algorithm"
msgstr "Algorithme d'empreinte inconnu"
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<motif>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<motif>...]"
msgid "git show-ref --exclude-existing[=<pattern>]"
msgstr "git show-ref --exclude-existing[=<motif>]"
@@ -11940,8 +12040,10 @@ msgstr ""
"afficher les références de l'entrée standard qui ne sont pas dans le dépôt "
"local"
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
msgid "this worktree is not sparse"
msgstr "cet arbre de travail n'est pas clairsemé"
@@ -12071,67 +12173,57 @@ msgstr ""
msgid "error while refreshing working directory"
msgstr "erreur lors du rafraîchissement du répertoire de travail"
-msgid "git stash list [<options>]"
-msgstr "git stash list [<options>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<options-de-log>]"
+
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<options-de-"
+"diff>] [<stash>]"
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<options>] [<remise>]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<remise>]"
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<remise>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<remise>]"
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<remise>]"
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<remise>]"
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <nom-de-branche> [<remise>]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr "git stash store [(-m | --message) <message>] [-q | --quiet] <remise>"
+
msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgstr ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<fichier> [--pathspec-file-nul]]\n"
" [--] [<spécificateur-de-chemin>...]]"
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<remise>]"
-
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<remise>]"
-
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <message>] [-q|--quiet] <remise>"
-
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<spécificateur-de-chemin>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<message>]"
#, c-format
msgid "'%s' is not a stash-like commit"
@@ -12712,9 +12804,6 @@ msgstr "traverser les sous-modules récursivement"
msgid "don't fetch new objects from the remote site"
msgstr "ne pas récupérer les nouveaux objets depuis le site distant"
-msgid "path into the working tree"
-msgstr "chemin dans la copie de travail"
-
msgid "use the 'checkout' update strategy (default)"
msgstr "utiliser la stratégie de mise à jour 'checkout' (valeur par défaut)"
@@ -12750,28 +12839,9 @@ msgstr ""
"[no-]recommend-shallow] [--reference <dépôt>] [--recursive] [--[no-]single-"
"branch] [--] [<chemin>...]"
-msgid "recurse into submodules"
-msgstr "parcourir récursivement les sous-modules"
-
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [<options>] [<chemin>...]"
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "vérifier si écrire dans le fichier .gitmodules est sur"
-
-msgid "unset the config in the .gitmodules file"
-msgstr "désactiver la configuration dans le fichier .gitmodules"
-
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config name [<valeur>]"
-
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <nom>"
-
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr ""
-"veuillez vous assurer que le fichier .gitmodules est dans l'arbre de travail"
-
msgid "suppress output for setting url of a submodule"
msgstr "supprimer la sortie lors du paramétrage de l'url d'un sous-module"
@@ -12851,6 +12921,10 @@ msgstr "Réactivation du répertoire git local pour le sous-module '%s'\n"
msgid "unable to checkout submodule '%s'"
msgstr "Impossible d'extraire le sous-module '%s'"
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr ""
+"veuillez vous assurer que le fichier .gitmodules est dans l'arbre de travail"
+
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "Échec d'ajout du sous-module '%s'"
@@ -12903,19 +12977,21 @@ msgstr "l'URL de dépôt : '%s' doit être absolu ou commencer par ./|../"
msgid "'%s' is not a valid submodule name"
msgstr "'%s' n'est pas un nom valide de sous-module"
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <commande>"
+
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s ne gère pas --super-prefix"
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <raison>] <nom> <réf>"
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<options>] <nom> [<référence>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <nom>"
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <nom>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <nom>"
msgid "suppress error message for non-symbolic (detached) refs"
msgstr ""
@@ -12927,6 +13003,9 @@ msgstr "supprimer la référence symbolique"
msgid "shorten ref output"
msgstr "raccourcir l'affichage de la référence"
+msgid "recursively dereference (default)"
+msgstr "déréférencer récursivement (défaut)"
+
msgid "reason"
msgstr "raison"
@@ -12934,25 +13013,25 @@ msgid "reason of the update"
msgstr "raison de la mise à jour"
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <id-clé>] [-f] [-m <msg> | -F <fichier>]\n"
-" <nom-d-étiquette> [<tête>]"
+"git tag [-a | -s | -u <id-clé>] [-f] [-m <msg> | -F <fichier>] [-e]\n"
+" <nom-d-étiquette> [<commit> | <objet>]"
msgid "git tag -d <tagname>..."
msgstr "git tag -d <nom-d-étiquette>..."
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <objet>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<motif>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <objet>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<clé>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<motif>...]"
msgid "git tag -v [--format=<format>] <tagname>..."
msgstr "git tag -v [--format=<format>] <nom-d-étiquette>..."
@@ -13345,8 +13424,12 @@ msgstr "lire les mises à jour depuis l'entrée standard"
msgid "update the info files from scratch"
msgstr "mettre à jour les fichiers d'information à partir de zéro"
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<options>] <répertoire>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <répertoire>"
msgid "quit after a single request/response exchange"
msgstr "quitter après un unique échange requête/réponse"
@@ -13361,8 +13444,8 @@ msgstr ""
msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "interrompre le transfert après <n> secondes d'inactivité"
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <commit>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <commit>..."
msgid "print commit contents"
msgstr "afficher le contenu du commit"
@@ -13370,8 +13453,9 @@ msgstr "afficher le contenu du commit"
msgid "print raw gpg status output"
msgstr "afficher les messages bruts de gpg"
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr ""
+"git verify-pack [-v | --verbose] [-s | --stat-only] [--] <paquet>.idx..."
msgid "verbose"
msgstr "verbeux"
@@ -13379,42 +13463,47 @@ msgstr "verbeux"
msgid "show statistics only"
msgstr "afficher seulement les statistiques"
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<format>] <étiquette>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr ""
+"git verify-tag [-v | --verbose] [--format=<format>] [--raw] <étiquette>..."
msgid "print tag contents"
msgstr "afficher le contenu de l'étiquette"
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<options>] <chemin> [<commit>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <chaîne>]]\n"
+" [-b <nouvelle-branche>] <chemin> [<commit-esque>]"
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<options>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<options>] <chemin>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <chaîne>] <arbre-de-travail>"
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <arbre-de-travail> <nouveau-chemin>"
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<options>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <date>]"
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<options>] <arbre-de-travail>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <arbre-de-travail>"
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [<chemin>...]"
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <chemin>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <arbre-de-travail>"
#, c-format
msgid "Removing %s/%s: %s"
msgstr "Suppression de %s/%s : %s"
msgid "report pruned working trees"
-msgstr "afficher les arbres de travail éliminés"
+msgstr "afficher les arbres de travail élagués"
msgid "expire working trees older than <time>"
msgstr "faire expirer les arbres de travail plus vieux que <temps>"
@@ -13654,6 +13743,10 @@ msgstr "seulement utile pour le débogage"
msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch non géré sur cette plateforme"
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "la liste de colis n'a pas de mode à '%s'"
+
msgid "failed to create temporary file"
msgstr "impossible de créer un fichier temporaire"
@@ -13661,16 +13754,29 @@ msgid "insufficient capabilities"
msgstr "capacités insuffisantes"
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "mode de colisage non reconnu depuis l'URI '%s'"
+
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "limite de récursion d'URI de colis dépassée (%d)"
+
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "impossible de télécharger le colis depuis l'URI '%s'"
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "le fichier à l'URI '%s' n'est pas un colis"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "le fichier à l'URI '%s' n'est pas un colis ou une liste de colis"
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "échec pour ouvrir le colis de l'URI '%s'"
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri : ligne vide rencontrée"
+
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri : la ligne n'est pas de la forme 'clé=valeur'"
+
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri : la ligne a une clé ou une valeur vide"
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
@@ -14062,8 +14168,7 @@ msgid "Compute unique ID for a patch"
msgstr "Calculer l'ID unique d'un patch"
msgid "Prune all unreachable objects from the object database"
-msgstr ""
-"Éliminer les objets inatteignables depuis la base de données des objets"
+msgstr "Élaguer les objets inatteignables depuis la base de données des objets"
msgid "Remove extra objects that are already in pack files"
msgstr "Éliminer les objets qui sont déjà présents dans les fichiers pack"
@@ -14265,8 +14370,8 @@ msgstr "le format du fichier de colis"
msgid "Chunk-based file formats"
msgstr "format de fichier avec des sections"
-msgid "Git commit graph format"
-msgstr "format de graphe de commit de Gti"
+msgid "Git commit-graph format"
+msgstr "format de graphe de commit de Git"
msgid "Git index format"
msgstr "format d'index Git"
@@ -14634,6 +14739,10 @@ msgstr "cas non géré dans 'has_worktree_moved': %d"
msgid "health thread wait failed [GLE %ld]"
msgstr "l'attente du fil de santé a échoué [GLE %ld]"
+#, c-format
+msgid "Invalid path: %s"
+msgstr "chemin invalide : '%s'"
+
msgid "Unable to create FSEventStream."
msgstr "impossible de créer FSEVEntStream."
@@ -14665,6 +14774,22 @@ msgid "could not read directory changes [GLE %ld]"
msgstr "impossible de lire les modifications du répertoire [GLE %ld]"
#, c-format
+msgid "opendir('%s') failed"
+msgstr "échec de opendir(%s)"
+
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "échec de lstat('%s')"
+
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "échec de strbuf_readlink('%s')"
+
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "échec de closedir('%s')"
+
+#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] impossible d'ouvrir pour lire '%ls'"
@@ -16322,9 +16447,11 @@ msgstr "le dépôt virtuel '%s' est incompatible avec fsmonitor"
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
msgstr ""
-"le dépôt '%s' est incompatible avec fsmonitor par manque de sockets Unix"
+"le répertoire de socket '%s' est incompatible avec fsmonitor par manque de "
+"sockets Unix"
msgid ""
"git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n"
@@ -16650,8 +16777,8 @@ msgstr[1] ""
"\n"
"Les commandes les plus ressemblantes sont"
-msgid "git version [<options>]"
-msgstr "git version [<options>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#, c-format
msgid "%s: %s - %s"
@@ -17584,10 +17711,6 @@ msgstr "impossible de normaliser le chemin d'objet alternatif : %s"
msgid "%s: ignoring alternate object stores, nesting too deep"
msgstr "%s : magasins d'objets alternatifs ignorés, récursion trop profonde"
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "impossible de normaliser le répertoire d'objet : %s"
-
msgid "unable to fdopen alternates lockfile"
msgstr "impossible d'ouvrir (fdopen) le fichier verrou des alternatives"
@@ -18433,6 +18556,10 @@ msgstr ""
msgid "promisor remote name cannot begin with '/': %s"
msgstr "un nom de prometteur distant ne peut pas commencer par '/' : %s"
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "impossible de récupérer %s depuis le distant de prometteur"
+
msgid "object-info: expected flush after arguments"
msgstr "object-info : vidage attendu après les arguments"
@@ -19519,6 +19646,13 @@ msgid "failed to find tree of %s"
msgstr "impossible de trouver l'arbre de %s"
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "section non géree pour les réfs cachées : %s"
+
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden= présent plus d'une fois"
+
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo enregistre `%s` qui manque"
@@ -19664,6 +19798,14 @@ msgid "--all or <enlistment>, but not both"
msgstr "--all ou <enrôlement>, mais pas les deux"
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "impossible de supprimé le scalar.repo obsolète '%s'"
+
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "suppression du scalar.repo obsolète '%s'"
+
+#, c-format
msgid "git repository gone in '%s'"
msgstr "dépôt git parti dans '%s'"
@@ -20291,16 +20433,16 @@ msgstr ""
msgid "illegal label name: '%.*s'"
msgstr "nom de label illégal '%.*s'"
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "impossible de résoudre '%s'"
+
msgid "writing fake root commit"
msgstr "écriture d'un commit racine bidon"
msgid "writing squash-onto"
msgstr "écriture de 'écraser-sur'"
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "impossible de résoudre '%s'"
-
msgid "cannot merge without a current revision"
msgstr "impossible de fusionner avec une révision courante"
@@ -20911,6 +21053,15 @@ msgstr "ls-tree a renvoyé un code de retour inattendu %d"
msgid "failed to lstat '%s'"
msgstr "échec du lstat de '%s'"
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <options> (control|prime|update)"
+
+msgid "clear the cache tree before each iteration"
+msgstr "effacer l'arbre de cache avant chaque itération"
+
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr "nombre d'entrées dans l'arbre de cache à invalider (par défaut, 0)"
+
msgid "unhandled options"
msgstr "options non gérées"
@@ -22768,6 +22919,153 @@ msgstr "%s sauté avec un suffix de sauvegarde '%s'.\n"
msgid "Do you really want to send %s? [y|N]: "
msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
+#, c-format
+#~ msgid "unable to normalize object directory: %s"
+#~ msgstr "impossible de normaliser le répertoire d'objet : %s"
+
+#~ msgid "reset the bisection state"
+#~ msgstr "réinitialiser l'état de la bissection"
+
+#~ msgid "check whether bad or good terms exist"
+#~ msgstr "vérifier si les termes bons ou mauvais existent"
+
+#~ msgid "print out the bisect terms"
+#~ msgstr "afficher les termes de bissection"
+
+#~ msgid "start the bisect session"
+#~ msgstr "démarrer une session de bissection"
+
+#~ msgid "find the next bisection commit"
+#~ msgstr "trouver le prochain commit de bissection"
+
+#~ msgid "mark the state of ref (or refs)"
+#~ msgstr "marquer l'état d'une références (ou plusieurs)"
+
+#~ msgid "list the bisection steps so far"
+#~ msgstr "lister les étapes de bissection jusqu'ici"
+
+#~ msgid "replay the bisection process from the given file"
+#~ msgstr "rejouer le processus de bissection depuis le fichier fourni"
+
+#~ msgid "skip some commits for checkout"
+#~ msgstr "sauter certains commits pour l'extraction"
+
+#~ msgid "visualize the bisection"
+#~ msgstr "visualiser la bissection"
+
+#~ msgid "use <cmd>... to automatically bisect"
+#~ msgstr "utiliser <cmd>... pour bissecter automatiquement"
+
+#~ msgid "no log for BISECT_WRITE"
+#~ msgstr "pas de journal pour BISECT_WRITE"
+
+#~ msgid "Couldn't look up commit object for HEAD"
+#~ msgstr "Impossible de rechercher l'objet commit pour HEAD"
+
+#~ msgid "git bundle create [<options>] <file> <git-rev-list args>"
+#~ msgstr "git bundle create [<options>] <fichier> <args git-rev-list>"
+
+#, c-format
+#~ msgid "options '%s' and '%s %s' cannot be used together"
+#~ msgstr "les options '%s' et '%s %s' ne peuvent pas être utilisées ensemble"
+
+#~ msgid "git commit [<options>] [--] <pathspec>..."
+#~ msgstr "git commit [<options>] [--] <spécification-de-chemin>..."
+
+#~ msgid "git fsck [<options>] [<object>...]"
+#~ msgstr "git fsck [<options>] [<objet>...]"
+
+#~ msgid "git fsmonitor--daemon stop"
+#~ msgstr "git fsmonitor--daemon stop"
+
+#~ msgid "git fsmonitor--daemon status"
+#~ msgstr "git fsmonitor--daemon status"
+
+#~ msgid "failed to run 'git config'"
+#~ msgstr "échec du lancement de 'git config'"
+
+#, c-format
+#~ msgid "could not get 'onto': '%s'"
+#~ msgstr "impossible d'accéder 'onto' : '%s'"
+
+#~ msgid "Could not resolve HEAD to a revision"
+#~ msgstr "Impossible de résoudre le commit HEAD vers un révision"
+
+#, c-format
+#~ msgid "missing required file: %s"
+#~ msgstr "fichier nécessaire manquant : %s"
+
+#~ msgid "git revert [<options>] <commit-ish>..."
+#~ msgstr "git revert [<options>] <commit ou apparenté>..."
+
+#~ msgid "git revert <subcommand>"
+#~ msgstr "git revert <sous-commande>"
+
+#~ msgid "git cherry-pick [<options>] <commit-ish>..."
+#~ msgstr "git cherry-pick [<options>] <commit ou apparenté>..."
+
+#~ msgid "git cherry-pick <subcommand>"
+#~ msgstr "git cherry-pick <sous-commande>"
+
+#~ msgid "git rm [<options>] [--] <file>..."
+#~ msgstr "git rm [<options>] [--] <fichier>..."
+
+#~ msgid "using --group=trailer with stdin is not supported"
+#~ msgstr "l'utilisation de --group=trailer avec stdin n'est pas supportée"
+
+#~ msgid "git stash show [<options>] [<stash>]"
+#~ msgstr "git stash show [<options>] [<remise>]"
+
+#~ msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+#~ msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<remise>]"
+
+#~ msgid ""
+#~ "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+#~ " [--] [<pathspec>...]]"
+#~ msgstr ""
+#~ "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+#~ " [--] [<spécificateur-de-chemin>...]]"
+
+#~ msgid ""
+#~ "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [<message>]"
+#~ msgstr ""
+#~ "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [<message>]"
+
+#~ msgid "path into the working tree"
+#~ msgstr "chemin dans la copie de travail"
+
+#~ msgid "recurse into submodules"
+#~ msgstr "parcourir récursivement les sous-modules"
+
+#~ msgid "check if it is safe to write to the .gitmodules file"
+#~ msgstr "vérifier si écrire dans le fichier .gitmodules est sur"
+
+#~ msgid "unset the config in the .gitmodules file"
+#~ msgstr "désactiver la configuration dans le fichier .gitmodules"
+
+#~ msgid "git submodule--helper config <name> [<value>]"
+#~ msgstr "git submodule--helper config name [<valeur>]"
+
+#~ msgid "git submodule--helper config --unset <name>"
+#~ msgstr "git submodule--helper config --unset <nom>"
+
+#, c-format
+#~ msgid "'%s' is not a valid submodule--helper subcommand"
+#~ msgstr "'%s' n'est pas une sous-commande valide de submodule--helper"
+
+#~ msgid "git upload-pack [<options>] <dir>"
+#~ msgstr "git upload-pack [<options>] <répertoire>"
+
+#~ msgid "git worktree add [<options>] <path> [<commit-ish>]"
+#~ msgstr "git worktree add [<options>] <chemin> [<commit>]"
+
+#~ msgid "git worktree lock [<options>] <path>"
+#~ msgstr "git worktree lock [<options>] <chemin>"
+
#~ msgid "(stats|all)"
#~ msgstr "(stats|all)"
@@ -22804,9 +23102,6 @@ msgstr "Souhaitez-vous réellement envoyer %s ?[y|N] : "
#~ msgid "git submodule--helper list [--prefix=<path>] [<path>...]"
#~ msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]"
-#~ msgid "git submodule--helper name <path>"
-#~ msgstr "git submodule--helper <nom> <chemin>"
-
#, c-format
#~ msgid "failed to get the default remote for submodule '%s'"
#~ msgstr ""
diff --git a/po/id.po b/po/id.po
index 7ce5acb674..41465eed20 100644
--- a/po/id.po
+++ b/po/id.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: 2022-09-28 14:31+0700\n"
-"PO-Revision-Date: 2022-09-28 14:50+0700\n"
+"POT-Creation-Date: 2022-11-30 11:05+0700\n"
+"PO-Revision-Date: 2022-11-30 20:45+0700\n"
"Last-Translator: Bagas Sanjaya <bagasdotme@gmail.com>\n"
"Language-Team: Indonesian\n"
"Language: id\n"
@@ -900,6 +900,11 @@ msgstr "baris perintah diakhiri dengan \\"
msgid "unclosed quote"
msgstr "tanda kutip tak ditutup"
+#: alias.c builtin/cat-file.c builtin/notes.c builtin/prune-packed.c
+#: builtin/receive-pack.c builtin/tag.c
+msgid "too many arguments"
+msgstr "terlalu banyak argumen"
+
#: apply.c
#, c-format
msgid "unrecognized whitespace option '%s'"
@@ -1364,7 +1369,7 @@ msgid "No valid patches in input (allow with \"--allow-empty\")"
msgstr ""
"Tidak ada tambalan valid dalam masukan (perbolehkan dengan \"--allow-empty\")"
-#: apply.c
+#: apply.c t/helper/test-cache-tree.c
msgid "unable to read index file"
msgstr "tidak dapa membaca berkas indeks"
@@ -1599,7 +1604,7 @@ msgstr "tidak ada referensi seperti: %.*s"
msgid "not a valid object name: %s"
msgstr "bukan nama objek valid: %s"
-#: archive.c
+#: archive.c t/helper/test-cache-tree.c
#, c-format
msgid "not a tree object: %s"
msgstr "bukan objek pohon: %s"
@@ -1650,7 +1655,7 @@ msgid "prepend prefix to each pathname in the archive"
msgstr "tambahkan prefiks di depan setiap nama jalur dalam arsip"
#: archive.c builtin/blame.c builtin/commit-tree.c builtin/config.c
-#: builtin/fast-export.c builtin/grep.c builtin/hash-object.c
+#: builtin/fast-export.c builtin/gc.c builtin/grep.c builtin/hash-object.c
#: builtin/ls-files.c builtin/notes.c builtin/read-tree.c parse-options.h
msgid "file"
msgstr "berkas"
@@ -3116,54 +3121,6 @@ msgstr ""
"keluar %d"
#: builtin/bisect--helper.c
-msgid "reset the bisection state"
-msgstr "setel ulang keadaan pembagian dua"
-
-#: builtin/bisect--helper.c
-msgid "check whether bad or good terms exist"
-msgstr "periksa apakah ada istilah jelek atau bagus"
-
-#: builtin/bisect--helper.c
-msgid "print out the bisect terms"
-msgstr "cetak istilah pembagian dua"
-
-#: builtin/bisect--helper.c
-msgid "start the bisect session"
-msgstr "mulai sesi pembagian dua"
-
-#: builtin/bisect--helper.c
-msgid "find the next bisection commit"
-msgstr "temukan komit pembagian dua berikutnya"
-
-#: builtin/bisect--helper.c
-msgid "mark the state of ref (or refs)"
-msgstr "tandai keadaan referensi"
-
-#: builtin/bisect--helper.c
-msgid "list the bisection steps so far"
-msgstr "daftar langkah pembagian dua sejauh ini"
-
-#: builtin/bisect--helper.c
-msgid "replay the bisection process from the given file"
-msgstr "mainkan ulang proses pembagian dua dari berkas yang diberikan"
-
-#: builtin/bisect--helper.c
-msgid "skip some commits for checkout"
-msgstr "lewati beberapa komit untuk checkout"
-
-#: builtin/bisect--helper.c
-msgid "visualize the bisection"
-msgstr "visualisasikan pembagian dua"
-
-#: builtin/bisect--helper.c
-msgid "use <cmd>... to automatically bisect"
-msgstr "gunakan <cmd>... untuk bagi dua otomatis."
-
-#: builtin/bisect--helper.c
-msgid "no log for BISECT_WRITE"
-msgstr "tidak ada log untuk BISECT_WRITE"
-
-#: builtin/bisect--helper.c
msgid "--bisect-reset requires either no argument or a commit"
msgstr "--bisect-reset butuh baik tanpa argumen atau sebuah komit"
@@ -3188,6 +3145,10 @@ msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<opsi>] [<opsi revisi>] [<revisi>] [--] <berkas>"
#: builtin/blame.c
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<opsi>] [<opsi revisi>] [<revisi>] [--] <berkas>"
+
+#: builtin/blame.c
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<opsi revisi> didokumentasikan dalam git-rev-list(1)"
@@ -3427,10 +3388,6 @@ msgid "cannot use -a with -d"
msgstr "tidak dapat gunakan -a dengan -d"
#: builtin/branch.c
-msgid "Couldn't look up commit object for HEAD"
-msgstr "Tidak dapat mencari objek komit untuk HEAD"
-
-#: builtin/branch.c
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "Tidak dapat menghapus cabang '%s' yang ter-checkout pada '%s'"
@@ -3479,17 +3436,19 @@ msgid "Branch %s is being bisected at %s"
msgstr "Cabang %s sedang dibagi dua pada %s"
#: builtin/branch.c
-msgid "cannot copy the current branch while not on any."
-msgstr "tidak dapat menyalin cabang saat ini ketika tidak ada."
+#, c-format
+msgid "Invalid branch name: '%s'"
+msgstr "Nama cabang tidak valid: '%s'"
#: builtin/branch.c
-msgid "cannot rename the current branch while not on any."
-msgstr "tidak dapat mengganti nama cabang saat ini ketika tidak ada."
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Belum ada komit pada cabang '%s'."
#: builtin/branch.c
#, c-format
-msgid "Invalid branch name: '%s'"
-msgstr "Nama cabang tidak valid: '%s'"
+msgid "No branch named '%s'."
+msgstr "Tidak ada cabang bernama '%s'."
#: builtin/branch.c
msgid "Branch rename failed"
@@ -3699,14 +3658,12 @@ msgid "cannot edit description of more than one branch"
msgstr "tidak dapat menyunting deskripsi lebih dari satu cabang"
#: builtin/branch.c
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "Belum ada komit pada cabang '%s'."
+msgid "cannot copy the current branch while not on any."
+msgstr "tidak dapat menyalin cabang saat ini ketika tidak ada."
#: builtin/branch.c
-#, c-format
-msgid "No branch named '%s'."
-msgstr "Tidak ada cabang bernama '%s'."
+msgid "cannot rename the current branch while not on any."
+msgstr "tidak dapat mengganti nama cabang saat ini ketika tidak ada."
#: builtin/branch.c
msgid "too many branches for a copy operation"
@@ -3794,11 +3751,12 @@ msgstr ""
#: builtin/bugreport.c
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <berkas>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]]"
+"git bugreport [(-o | --output-directory) <berkas>] [(-s |-- suffix) "
+"<format>]\n"
+" [--diagnose[=<mode>]]"
#: builtin/bugreport.c
msgid ""
@@ -3881,20 +3839,26 @@ msgid "Created new report at '%s'.\n"
msgstr "Laporan baru dibuat pada '%s'.\n"
#: builtin/bundle.c
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<opsi>] <berkas> <argumen git-rev-list>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [-all-"
+"progress-implied]\n"
+" [--version=<versi>] <berkas> <argumen git-rev-list>"
#: builtin/bundle.c
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<opsi>] <berkas>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <berkas>"
#: builtin/bundle.c
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <berkas> [<nama referensi>...]"
#: builtin/bundle.c
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <berkas> [<nama referensi>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <berkas> [<nama referensi>...]"
#: builtin/bundle.c builtin/pack-objects.c
msgid "do not show progress meter"
@@ -3991,12 +3955,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
#: builtin/cat-file.c
msgid ""
@@ -4138,11 +4102,6 @@ msgstr "<revisi> diperlukan dengan '%s'"
msgid "<object> required with '-%c'"
msgstr "<objek> diperlukan dengan '-%c'"
-#: builtin/cat-file.c builtin/notes.c builtin/prune-packed.c
-#: builtin/receive-pack.c builtin/tag.c
-msgid "too many arguments"
-msgstr "terlalu banyak argumen"
-
#: builtin/cat-file.c
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
@@ -4810,9 +4769,11 @@ msgstr "gunakan mode hamparan"
#: builtin/clean.c
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pola>] [-x | -X] [--] <jalur>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pola>] [-x | -X] [--] [<spek "
+"jalur>...]"
#: builtin/clean.c
#, c-format
@@ -5181,6 +5142,11 @@ msgstr "%s ada dan bukan direktori"
msgid "failed to start iterator over '%s'"
msgstr "gagal memulai iterator pada '%s'"
+#: builtin/clone.c
+#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr "tautan simbolik '%s' ada, menolak mengkloning dengan --local"
+
#: builtin/clone.c compat/precompose_utf8.c
#, c-format
msgid "failed to unlink '%s'"
@@ -5263,11 +5229,6 @@ msgid "You must specify a repository to clone."
msgstr "Anda harus sebutkan repositori untuk diklon."
#: builtin/clone.c
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "opsi '%s' dan '%s %s' tidak dapat digunakan bersamaan"
-
-#: builtin/clone.c
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -5423,22 +5384,28 @@ msgstr "--command harus menjadi argumen pertama"
#: builtin/commit-graph.c
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <direktori objek>] [--shallow] [--"
+"git commit-graph verify [--object-dir <direktori>] [--shallow] [--"
"[no-]progress]"
#: builtin/commit-graph.c
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-msgstr ""
-"git commit-graph write [--object-dir <direktori objek>] [--append] [--"
-"split[=<strategi>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[-no-]progrss] <opsi pemisah>"
-
-#: builtin/commit-graph.c builtin/fetch.c builtin/log.c
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
+msgstr ""
+"git commit-graph write [--object-dir <direktori>] [--append]\n"
+" [--split[=<strategi>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--[-"
+"no-]progress]\n"
+" <opsi pemisahan>"
+
+#: builtin/commit-graph.c builtin/fetch.c builtin/log.c builtin/repack.c
msgid "dir"
msgstr "direktori"
@@ -5526,12 +5493,16 @@ msgid "Collecting commits from input"
msgstr "Mengumpulkan komit dari masukan"
#: builtin/commit-tree.c
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <pohon> [(-p <induk>)...]"
+
+#: builtin/commit-tree.c
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <induk>)...] [-S[<id kunci>]] [(-m <pesan>)...] [(-F "
-"<berkas>)...] <pohon>"
+"git commit-tree [(-p <induk>)...] [-S[<id kunci>]] [(-m <pesan>)...]\n"
+" [(-F <berkas>)...] <pohon>"
#: builtin/commit-tree.c
#, c-format
@@ -5588,12 +5559,31 @@ msgid "git commit-tree: failed to read"
msgstr "git commit-tree: gagal membaca"
#: builtin/commit.c
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<opsi>] [--] <spek jalur>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <komit> | --fixup [(amend|"
+"reword):]<komit>)]\n"
+" [-F <berkas> | -m <pesan>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--"
+"author=<pengarang>]\n"
+" [--date=<tanggal>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<berkas> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<nilai>])...] [-S[<id kunci>]]\n"
+" [--] [<spek jalur>...]"
#: builtin/commit.c
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<opsi>] [--] <spek jalur>..."
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [<opsi>] [--] [<spek jalur>...]"
#: builtin/commit.c
msgid ""
@@ -6215,7 +6205,7 @@ msgstr "gunakan berkas konfigurasi repositori"
msgid "use per-worktree config file"
msgstr "gunakan berkas konfigurasi per pohon kerja"
-#: builtin/config.c
+#: builtin/config.c builtin/gc.c
msgid "use given config file"
msgstr "gunakan berkas konfigurasi yang diberikan"
@@ -6439,7 +6429,7 @@ msgstr "--blob hanya dapat digunakan di dalam repositori git"
msgid "--worktree can only be used inside a git repository"
msgstr "--worktree hanya dapat digunakan di dalam repositori git"
-#: builtin/config.c
+#: builtin/config.c builtin/gc.c
msgid "$HOME not set"
msgstr "$HOME tak disetel"
@@ -6553,12 +6543,20 @@ msgstr ""
"tidak dapat mendapatkan kunci penyimpanan kredensial dalam %d milidetik"
#: builtin/describe.c
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<opsi>] [<mirip-komit>...]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<mirip-komit>...]"
+
+#: builtin/describe.c
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<penanda>]"
#: builtin/describe.c
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<opsi>] --dirty"
+msgid "git describe <blob>"
+msgstr "git describe <blob>"
#: builtin/describe.c
msgid "head"
@@ -6713,11 +6711,11 @@ msgstr "opsi '%s' dan mirip-komit tidak dapat digunakan bersamaan"
#: builtin/diagnose.c
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <jalur>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <jalur>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
#: builtin/diagnose.c
msgid "specify a destination for the diagnostics archive"
@@ -6741,6 +6739,10 @@ msgid "'%s': not a regular file or symlink"
msgstr "'%s': bukan berkas reguler atau tautan simbolik"
#: builtin/diff.c
+msgid "no merge given, only parents."
+msgstr "tidak ada penggabungan yang diberikan, hanya induk."
+
+#: builtin/diff.c
#, c-format
msgid "invalid option: %s"
msgstr "opsi tidak valid: %s"
@@ -7552,8 +7554,8 @@ msgid "print only refs which don't contain the commit"
msgstr "hanya cetak referensi yang tidak berisi komit"
#: builtin/for-each-repo.c
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<konfigurasi> <argumen perintah>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<konfigurasi> [--] <argumen perintah>"
#: builtin/for-each-repo.c
msgid "config"
@@ -7770,8 +7772,16 @@ msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s: penunjuk sha1 tidak valid di resolve-undo"
#: builtin/fsck.c
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<opsi>] [<objek>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<objek>...]"
#: builtin/fsck.c
msgid "show unreachable objects"
@@ -7844,14 +7854,6 @@ msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [<opsi>]"
#: builtin/fsmonitor--daemon.c
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-#: builtin/fsmonitor--daemon.c
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
-#: builtin/fsmonitor--daemon.c
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "nilai '%s' di luar jangkauan: %d"
@@ -7952,7 +7954,7 @@ msgstr ""
msgid "invalid 'ipc-threads' value (%d)"
msgstr "nilai 'ipc-threads' tidak valid (%d)"
-#: builtin/fsmonitor--daemon.c
+#: builtin/fsmonitor--daemon.c t/helper/test-cache-tree.c
#, c-format
msgid "Unhandled subcommand '%s'"
msgstr "Subperintah tidak tertangani '%s'"
@@ -8157,8 +8159,23 @@ msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "gunakan paling banyak satu dari --auto dan --schedule=<frekuensi>"
#: builtin/gc.c
-msgid "failed to run 'git config'"
-msgstr "gagal menjalankan 'git config'"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "tidak dapat menambahkan nilai '%s' dari '%s'"
+
+#: builtin/gc.c
+msgid "return success even if repository was not registered"
+msgstr "kembalikan sukses bahkan jika repositori tidak terdaftar"
+
+#: builtin/gc.c
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "tidak dapat membatal-setel nilai '%s' dari '%s'"
+
+#: builtin/gc.c
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "repositori '%s' tidak terdaftar"
#: builtin/gc.c
#, c-format
@@ -8537,11 +8554,15 @@ msgstr "baik --cached dan pohon diberikan"
#: builtin/hash-object.c
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <tipe>] [-w] [--path=<berkas> | --no-filters] [--stdin] "
-"[--] <berkas>..."
+"git hash-object [-t <tipe>] [-w] [--path=<berkas> | --no-filters]\n"
+" [--stdin [--literally]] [--] <berkas>..."
+
+#: builtin/hash-object.c
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <tipe>] [-w] --stdin-paths [--no-filters]"
#: builtin/hash-object.c
msgid "object type"
@@ -9080,11 +9101,15 @@ msgstr "Repositori Git kosong dinisialisasi di %s%s\n"
#: builtin/init-db.c
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<direktori-templat>][--"
-"shared[=<perizinan>]] [<direktori>]"
+"git init [-q | --quiet] [--bare] [--template=<direktori templat>]\n"
+" [--separate-git-dir <direktori git>] [--object-format=<format>]\n"
+" [-b <nama cabang> | --initial-branch=<nama cabang>]\n"
+" [--shared[=<perizinan>]] [<direktori>]"
#: builtin/init-db.c
msgid "permissions"
@@ -9137,11 +9162,13 @@ msgstr "--separate-git-dir tidak kompatibel dengan repositori bare"
#: builtin/interpret-trailers.c
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<nilai>])...] [<berkas>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<nilai>])...]\n"
+" [--parse] [<berkas>...]"
#: builtin/interpret-trailers.c
msgid "edit files in place"
@@ -9771,11 +9798,11 @@ msgstr ""
#: builtin/ls-remote.c
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<kunci>]\n"
" [--symref] [<repositori> [<referensi>...]]"
#: builtin/ls-remote.c
@@ -9948,14 +9975,14 @@ msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <komit>..."
#: builtin/merge-base.c
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <komit>..."
-
-#: builtin/merge-base.c
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <komit> <komit>"
#: builtin/merge-base.c
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <komit>..."
+
+#: builtin/merge-base.c
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <referensi> [<komit>]"
@@ -10095,9 +10122,23 @@ msgid "allow merging unrelated histories"
msgstr "perbolehkan penggabungan riwayat yang tak terkait"
#: builtin/merge-tree.c
+msgid "perform multiple merges, one per line of input"
+msgstr "lakukan banyak penggabungan, satu per baris masukan"
+
+#: builtin/merge-tree.c
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge tidak kompatibel dengan semua opsi lainnya"
+#: builtin/merge-tree.c builtin/notes.c
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "baris masukan jelek: '%s'."
+
+#: builtin/merge-tree.c
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "penggabungan tidak dapat berlanjut; dapat hasil kotor dari %d"
+
#: builtin/merge.c
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<opsi>] [<komit>...]"
@@ -10680,7 +10721,7 @@ msgstr "%s, source=%s, destination=%s"
msgid "Renaming %s to %s\n"
msgstr "Mengganti nama %s ke %s\n"
-#: builtin/mv.c builtin/remote.c builtin/repack.c
+#: builtin/mv.c builtin/remote.c
#, c-format
msgid "renaming '%s' failed"
msgstr "gagal mengganti nama '%s'"
@@ -10886,11 +10927,6 @@ msgstr "gagal membaca data catatan dari objek bukan blob '%s'."
#: builtin/notes.c
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "baris masukan jelek: '%s'."
-
-#: builtin/notes.c
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "gagal menyalin catatan dari '%s' ke '%s'"
@@ -11130,15 +11166,14 @@ msgid "unknown subcommand: `%s'"
msgstr "subperintah tidak dikenal: `%s'"
#: builtin/pack-objects.c
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects --stdout [<opsi>...] [< <daftar referensi>| < <daftar-"
+"git pack-objects --stdout [<opsi>...] [< <daftar referensi> | < <daftar-"
"objek>]"
#: builtin/pack-objects.c
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
"git pack-objects [<opsi>...] <nama dasar> [< <daftar referensi> | < <daftar-"
"objek>]"
@@ -11620,8 +11655,8 @@ msgstr ""
"<git@vger.kernel.org>. Terima kasih.\n"
#: builtin/pack-refs.c
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<opsi>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
#: builtin/pack-refs.c
msgid "pack everything"
@@ -11631,6 +11666,22 @@ msgstr "pak semuanya"
msgid "prune loose refs (default)"
msgstr "pangkas referensi longgar (asali)"
+#: builtin/patch-id.c
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+#: builtin/patch-id.c
+msgid "use the unstable patch-id algorithm"
+msgstr "gunakan algoritma id tambalan tidak stabil"
+
+#: builtin/patch-id.c
+msgid "use the stable patch-id algorithm"
+msgstr "gunakan algoritma id tambalan stabil"
+
+#: builtin/patch-id.c
+msgid "don't strip whitespace from the patch"
+msgstr "jangan kupas spasi dari tambalan"
+
#: builtin/prune.c
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire <waktu>] [--] [<kepala>...]"
@@ -11895,14 +11946,13 @@ msgstr ""
#: builtin/push.c
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
"Untuk menghindari konfigurasi cabang hulu otomatis ketika namanya\n"
-"tidak cocok dengan cabang lokal, lihat opsi 'simple' dari branch."
+"tidak akan cocok dengan cabang lokal, lihat opsi 'simple' dari branch."
"autoSetupMerge\n"
"di 'git help config'.\n"
@@ -12068,6 +12118,14 @@ msgstr "Mendorong ke %s\n"
msgid "failed to push some refs to '%s'"
msgstr "gagal dorong beberapa referensi ke '%s'"
+#: builtin/push.c
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"mengulangi ke dalam submodul dengan push.recurseSubmodules=only; menggunakan "
+"on-demand sebagai gantinya"
+
#: builtin/push.c builtin/send-pack.c submodule-config.c
#, c-format
msgid "invalid value for '%s'"
@@ -12242,14 +12300,15 @@ msgstr "butuh dua rentang komit"
#: builtin/read-tree.c
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
-"prefix=<prefiks>) [-u | -i]] [--no-sparse-checkout] [--index-"
-"output=<berkas>] (--empty | <mirip-pohon 1> [<mirip-pohon 2> <mirip-pohon "
-"3>])"
+"prefix=<awalan>)\n"
+" [-u | -i]] [--index-output=<berkas>] [--no-sparse-checkout]\n"
+" (--empty | <mirip pohon 1> [<mirip pohon 2> [mirip pohon 3]])"
#: builtin/read-tree.c
msgid "write resulting index to <file>"
@@ -12368,8 +12427,8 @@ msgstr "%s butuh tulang belakang penggabungan"
#: builtin/rebase.c
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "tidak dapat mendapatkan 'ke': '%s'"
+msgid "invalid onto: '%s'"
+msgstr "kepada tidak valid: '%s'"
#: builtin/rebase.c
#, c-format
@@ -12742,8 +12801,8 @@ msgid "No such ref: %s"
msgstr "Tidak ada referensi seperti: %s"
#: builtin/rebase.c
-msgid "Could not resolve HEAD to a revision"
-msgstr "Tidak dapat menguraikan HEAD ke sebuah revisi"
+msgid "Could not resolve HEAD to a commit"
+msgstr "tidak dapat menguraikan komit HEAD ke sebuah komit"
#: builtin/rebase.c
#, c-format
@@ -13558,6 +13617,11 @@ msgid "could not close refs snapshot tempfile"
msgstr "tidak dapat menutup berkas sementara jepretan referensi"
#: builtin/repack.c
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "tidak dapt memindahkan bitmap basi: %s"
+
+#: builtin/repack.c
msgid "pack everything in a single pack"
msgstr "pak semuanya dalam satu pak"
@@ -13656,6 +13720,10 @@ msgid "write a multi-pack index of the resulting packs"
msgstr "tulis indeks multipak dari pak yang dihasilkan"
#: builtin/repack.c
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "awalan pak untuk menyimpan pak berisi objek terpangkas"
+
+#: builtin/repack.c
msgid "cannot delete packs in a precious-objects repo"
msgstr "tidak dapat menghapus pak dalam repositori objek berharga"
@@ -13670,11 +13738,16 @@ msgstr "nama berkas paket %s tidak diawali dengan %s"
#: builtin/repack.c
#, c-format
-msgid "missing required file: %s"
-msgstr "berkas yang diperlukan hilang: %s"
+msgid "renaming pack to '%s' failed"
+msgstr "gagal mengganti nama pak ke '%s'"
#: builtin/repack.c
#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "pack-objects tidak menulis berkas '%s' untuk pak %s-%s"
+
+#: builtin/repack.c sequencer.c
+#, c-format
msgid "could not unlink: %s"
msgstr "tidak dapat membatal taut: %s"
@@ -13917,8 +13990,10 @@ msgid "only one pattern can be given with -l"
msgstr "hanya satu pola yang dapat diberikan dengan -l"
#: builtin/rerere.c
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clear | forge <jalur>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr ""
+"git rerere [clear | forget <spek jalur>... | diff | status | remaining | gc]"
#: builtin/rerere.c
msgid "register clean resolutions in index"
@@ -14176,6 +14251,18 @@ msgstr "--prefix butuh sebuah argumen"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "mode untuk --abbrev-ref tidak dikenal: %s"
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden tidak dapat digunakan bersamaan dengan --branches"
+
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden tidak dapat digunakan bersamaan dengan --tags"
+
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden tidak dapat digunakan dengan --remotes"
+
#: builtin/rev-parse.c setup.c
msgid "this operation must be run in a work tree"
msgstr "operasi ini harus dijalankan di dalam pohon kerja"
@@ -14186,20 +14273,28 @@ msgid "unknown mode for --show-object-format: %s"
msgstr "mode untuk --show-object-format tidak dikenal: %s"
#: builtin/revert.c
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<opsi>] <mirip-komit>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <nomor induk>] [-s] [-S[<id kunci>]] "
+"<komit>..."
#: builtin/revert.c
-msgid "git revert <subcommand>"
-msgstr "git revert <subperintah>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
#: builtin/revert.c
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<opsi>] <mirip-komit>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <nomor induk>] [-s] [-x] [--ff]\n"
+" [-S[<id kunci>]] <komit>..."
#: builtin/revert.c
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <subperintah>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#: builtin/revert.c
#, c-format
@@ -14280,8 +14375,14 @@ msgid "cherry-pick failed"
msgstr "pemetikan ceri gagal"
#: builtin/rm.c
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<opsi>] [--] <berkas>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<berkas> [--pathspec-file-nul]]\n"
+" [--] [<spek jalur>...]"
#: builtin/rm.c
msgid ""
@@ -14369,11 +14470,13 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>\n"
-"] [--verbose] [--thin] [--atomic]\n"
+" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<tuan rumah>:]<direktori> (--all | <referensi>...)"
#: builtin/send-pack.c
@@ -14405,8 +14508,9 @@ msgid "using multiple --group options with stdin is not supported"
msgstr "menggunakan banyak opsi --group dengan masukan standar tidak didukung"
#: builtin/shortlog.c
-msgid "using --group=trailer with stdin is not supported"
-msgstr "mengguanakn --group=trailer dengan stdin tidak didukung"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "menggunakan %s dengan masukan standar tidak didukung"
#: builtin/shortlog.c
#, c-format
@@ -14454,12 +14558,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<kapan>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<revisi> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<revisi> | <glob>)...]"
#: builtin/show-branch.c
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
@@ -14589,11 +14695,13 @@ msgstr "algoritma hash tidak dikenal"
#: builtin/show-ref.c
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pola>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pola>...]"
#: builtin/show-ref.c
msgid "git show-ref --exclude-existing[=<pattern>]"
@@ -14634,8 +14742,10 @@ msgstr ""
"lokal"
#: builtin/sparse-checkout.c
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <opsi>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<opsi>]"
#: builtin/sparse-checkout.c
msgid "this worktree is not sparse"
@@ -14787,76 +14897,66 @@ msgid "error while refreshing working directory"
msgstr "kesalahan saat menyegarkan direktori kerja"
#: builtin/stash.c
-msgid "git stash list [<options>]"
-msgstr "git stash list [<opsi>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<opsi log>]"
+
+#: builtin/stash.c
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<opsi diff>] "
+"[<stase>]"
#: builtin/stash.c
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<opsi>] [<stase>]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<stase>]"
#: builtin/stash.c
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<stase>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<stase>]"
#: builtin/stash.c
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stase>]"
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<stase>]"
#: builtin/stash.c
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <nama cabang> [<stase>]"
#: builtin/stash.c
-msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
-" [--] [<pathspec>...]]"
-msgstr ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index]\n"
-" [-q|--quiet] [-u|--include-untracked] [-a|--all]\n"
-" [-m|--message <pesan>] [--pathspec-from-file=<berkas>\n"
-" [--pathspec-file-nul]] [--] [<spek jalur>...]]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr "git stash store [(-m | --message) <pesan>] [-q|--quiet] <komit>"
#: builtin/stash.c
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
+" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]]"
msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index]\n"
-" [-q|--quiet] [-u|--include-untracked] [-a|--all] [<pesan>]"
-
-#: builtin/stash.c
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<stase>]"
-
-#: builtin/stash.c
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<stase>]"
-
-#: builtin/stash.c
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <pesan>] [-q|--quiet] <komit>"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<pesan>]\n"
+" [--pathspec-from-file=<berkas> [--pathspec-file-nul]]\n"
+" [--] [<spek jalur>...]]"
#: builtin/stash.c
msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <pesan>]\n"
-" [--] [<spek jalur>...]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<pesan>]"
#: builtin/stash.c
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<pesan>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<pesan>]"
#: builtin/stash.c
#, c-format
@@ -15565,10 +15665,6 @@ msgid "don't fetch new objects from the remote site"
msgstr "jangan ambil objek baru dari situs remote"
#: builtin/submodule--helper.c
-msgid "path into the working tree"
-msgstr "jalur ke dalam pohon kerja"
-
-#: builtin/submodule--helper.c
msgid "use the 'checkout' update strategy (default)"
msgstr "gunakan strategi pembaruan 'checkout' (asali)"
@@ -15614,34 +15710,10 @@ msgstr ""
"[--] [<jalur>...]"
#: builtin/submodule--helper.c
-msgid "recurse into submodules"
-msgstr "rekursi ke dalam submodul"
-
-#: builtin/submodule--helper.c
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [<opsi>] [<jalur>...]"
#: builtin/submodule--helper.c
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "periksa apakah itu aman untuk menulis ke berkas .gitmodules"
-
-#: builtin/submodule--helper.c
-msgid "unset the config in the .gitmodules file"
-msgstr "batal setel konfigurasi dalam berkas .gitmodules"
-
-#: builtin/submodule--helper.c
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config <nama> [<nilai>]"
-
-#: builtin/submodule--helper.c
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <nama>"
-
-#: builtin/submodule--helper.c
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr "mohom pastikan berkas .gitmodules di dalam pohon kerja"
-
-#: builtin/submodule--helper.c
msgid "suppress output for setting url of a submodule"
msgstr "sembunyikan keluaran penyetelan url submodule"
@@ -15737,6 +15809,10 @@ msgid "unable to checkout submodule '%s'"
msgstr "Tidak dapat men-checkout submodul '%s'"
#: builtin/submodule--helper.c
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "mohom pastikan berkas .gitmodules di dalam pohon kerja"
+
+#: builtin/submodule--helper.c
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "Tidak dapat menambahkan submodul '%s'"
@@ -15798,23 +15874,26 @@ msgstr "URL repo: '%s' harus absolut atau diawali dengan ./|../"
msgid "'%s' is not a valid submodule name"
msgstr "'%s' bukan nama submodul yang valid"
+#: builtin/submodule--helper.c
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <nama>"
+
#: builtin/submodule--helper.c git.c
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s tidak mendukung --super-prefix"
-#: builtin/submodule--helper.c
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "'%s' bukan subperintah submodule--helper valid"
+#: builtin/symbolic-ref.c
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <alasan>] <nama> <referensi>"
#: builtin/symbolic-ref.c
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<opsi>] <nama> [<referensi>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <nama>"
#: builtin/symbolic-ref.c
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <nama>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <nama>"
#: builtin/symbolic-ref.c
msgid "suppress error message for non-symbolic (detached) refs"
@@ -15828,6 +15907,10 @@ msgstr "hapus referensi simbolik"
msgid "shorten ref output"
msgstr "pendekkan keluaran referensi"
+#: builtin/symbolic-ref.c
+msgid "recursively dereference (default)"
+msgstr "derefensi secara rekursif (asali)"
+
#: builtin/symbolic-ref.c builtin/update-ref.c
msgid "reason"
msgstr "alasan"
@@ -15838,11 +15921,11 @@ msgstr "alasan pembaruan"
#: builtin/tag.c
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <id kunci>] [-f] [-m <pesan | -F <berkas>]\n"
-" <nama tag> [<kepala>]"
+"git tag [-a | -s | -u <id kunci>] [-f] [-m <pesan> | -F <berkas>] [-e]\n"
+" <nama tag> [<komit> | <objek>]"
#: builtin/tag.c
msgid "git tag -d <tagname>..."
@@ -15850,15 +15933,15 @@ msgstr "git tag -d <nama tag>..."
#: builtin/tag.c
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<angka>]] [--contains <komit>] [--no-contains <komit>] [--"
-"points-at <objek>]\n"
-" [--format=<format>] [--merged <komit>] [--no-merged <komit>] "
-"[<pola>...]"
+"git tag [-n[<angka>]] -l [--contains <komit>] [--no-contains <komit>]\n"
+" [--points-at <objeck>] [--column[=<opsi>] | --no-column]\n"
+" [--create-reflog] [--sort=<kunci>] [--format=<format>]\n"
+" [--merged <komit>] [--no-merged <komit>] [<pola>...]"
#: builtin/tag.c
msgid "git tag -v [--format=<format>] <tagname>..."
@@ -16340,8 +16423,12 @@ msgid "update the info files from scratch"
msgstr "perbarui berkas info dari awal"
#: builtin/upload-pack.c
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<opsi>] <direktori>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <direktori>"
#: builtin/upload-pack.c t/helper/test-serve-v2.c
msgid "quit after a single request/response exchange"
@@ -16360,8 +16447,8 @@ msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "interupsi transfer setelah <n> detik niraktivitas"
#: builtin/verify-commit.c
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <komit>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <komit>..."
#: builtin/verify-commit.c
msgid "print commit contents"
@@ -16372,8 +16459,8 @@ msgid "print raw gpg status output"
msgstr "cetak keluaran status gpg mentah"
#: builtin/verify-pack.c
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <pak>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pak>.idx..."
#: builtin/verify-pack.c
msgid "verbose"
@@ -16384,44 +16471,48 @@ msgid "show statistics only"
msgstr "hanya perlihatkan statistik"
#: builtin/verify-tag.c
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
#: builtin/verify-tag.c
msgid "print tag contents"
msgstr "cetak isi tag"
#: builtin/worktree.c
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<opsi>] <jalur> [<mirip komit>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <untai>]]\n"
+" [-b <cabang baru>] <jalur> [<mirip komit>]"
#: builtin/worktree.c
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<opsi>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]"
#: builtin/worktree.c
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<opsi>] <jalur>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <untai>] <pohon kerja>"
#: builtin/worktree.c
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <pohon kerja> <jalur baru>"
#: builtin/worktree.c
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<opsi>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <kadaluarsa>]"
#: builtin/worktree.c
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<opsi>] <pohon kerja>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <pohon kerja>"
#: builtin/worktree.c
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [<jalur>...]"
#: builtin/worktree.c
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <jalur>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <worktree>"
#: builtin/worktree.c
#, c-format
@@ -16713,6 +16804,11 @@ msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch tidak didukung pada platform ini"
#: bundle-uri.c
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "daftar bundel pada '%s' tidak punya mode"
+
+#: bundle-uri.c
msgid "failed to create temporary file"
msgstr "tidak dapat membuat berkas sementara"
@@ -16722,18 +16818,35 @@ msgstr "tidak cukup kemampuan"
#: bundle-uri.c
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "mode bundel tidak dikenal dari URI '%s'"
+
+#: bundle-uri.c
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "batas rekursi URI bundel (%d) terlewati"
+
+#: bundle-uri.c
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "gagal mengunduh bundel dari URI '%s'"
#: bundle-uri.c
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "berkas pada URI '%s' bukan sebuah bundle"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "berkas pada URI '%s' bukan sebuah bundel atau daftar bundel"
#: bundle-uri.c
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "gagal membongkar bundel dari URI '%s'"
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri: dapat satu baris kosong"
+
+#: bundle-uri.c
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri: baris bukan berbentuk 'kunci=nilai'"
+
+#: bundle-uri.c
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri: baris berisi kunci atau nilai kosong"
#: bundle.c
#, c-format
@@ -17496,7 +17609,7 @@ msgid "Chunk-based file formats"
msgstr "Berkas format berbasis bingkah"
#: command-list.h
-msgid "Git commit graph format"
+msgid "Git commit-graph format"
msgstr "Format grafik komit Git"
#: command-list.h
@@ -17929,6 +18042,11 @@ msgstr "kasus tak tertangani di 'has_worktree_moved': %d"
msgid "health thread wait failed [GLE %ld]"
msgstr "antri utas kesehatan gagal [GLE %ld]"
+#: compat/fsmonitor/fsm-ipc-darwin.c
+#, c-format
+msgid "Invalid path: %s"
+msgstr "Jalur tidak valid: %s"
+
#: compat/fsmonitor/fsm-listen-darwin.c
msgid "Unable to create FSEventStream."
msgstr "tidak dapat membuat FSEventStream."
@@ -17967,12 +18085,32 @@ msgstr "GetOverlappedResult gagal pada '%s' [GLE %ld]"
msgid "could not read directory changes [GLE %ld]"
msgstr "tidak dapat membaca perubahan direktori [GLE %ld]"
-#: compat/fsmonitor/fsm-settings-win32.c
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "opendir('%s') failed"
+msgstr "opendir('%s') gagal"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "lstat('%s') gagal"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "strbuf_readlink('%s') gagal"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "closedir('%s') gagal"
+
+#: compat/fsmonitor/fsm-path-utils-win32.c
#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] tidak dapat membuka untuk dibaca '%ls'"
-#: compat/fsmonitor/fsm-settings-win32.c
+#: compat/fsmonitor/fsm-path-utils-win32.c
#, c-format
msgid "[GLE %ld] unable to get protocol information for '%ls'"
msgstr "[GLE %ld] tidak dapat mendapatkan informasi protokol untuk '%ls'"
@@ -19983,10 +20121,11 @@ msgstr "repositori virtual '%s' tidka kompatibel dengan fsmonitor"
#: fsmonitor-settings.c
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
msgstr ""
-"repositori '%s' tidak kompatibel dengan fsmonitor karena kekurangan soket "
-"Unix"
+"direktori soket '%s' tidak kompatibel dengan fsmonitor karena kekurangan "
+"dukungan soket Unix"
#: git.c
msgid ""
@@ -20380,8 +20519,8 @@ msgstr[1] ""
"Perintah paling mirip adalah"
#: help.c
-msgid "git version [<options>]"
-msgstr "git version [<opsi>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#: help.c
#, c-format
@@ -21493,11 +21632,6 @@ msgid "%s: ignoring alternate object stores, nesting too deep"
msgstr "%s: mengabaikan penyimpanan objek alternatif, bersarang terlalu dalam"
#: object-file.c
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "tidak dapat menormalisasikan direktori objek: %s"
-
-#: object-file.c
msgid "unable to fdopen alternates lockfile"
msgstr "tidak dapat men-fdopen berkas kunci alternatif"
@@ -22520,6 +22654,11 @@ msgstr ""
msgid "promisor remote name cannot begin with '/': %s"
msgstr "nama remote penjanji tidak dapat diawali dengan '/': %s"
+#: promisor-remote.c
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "tidak dapat mengambil %s dari remote penjanji"
+
#: protocol-caps.c
msgid "object-info: expected flush after arguments"
msgstr "object-info: bilasan diharapkan setelah argumen"
@@ -23821,6 +23960,15 @@ msgstr "gagal menemukan pohon %s"
#: revision.c
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "seksi tidak didukung untuk referensi tersembunyi: %s"
+
+#: revision.c
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden= dilewatkan lebih dari sekali"
+
+#: revision.c
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo merekam `%s` yang dimana hilang"
@@ -24007,6 +24155,16 @@ msgstr "--all atau <pendaftaran>, tetapi bukan kedua-duanya"
#: scalar.c
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "tidak dapat menghapus scalar.repo basi '%s'"
+
+#: scalar.c
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "menghapus scalar.repo basi '%s'"
+
+#: scalar.c
+#, c-format
msgid "git repository gone in '%s'"
msgstr "repositori git pergi di '%s'"
@@ -24763,6 +24921,11 @@ msgid "illegal label name: '%.*s'"
msgstr "nama label ilegal: '%.*s'"
#: sequencer.c
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "tidak dapat menguraikan '%s'"
+
+#: sequencer.c
msgid "writing fake root commit"
msgstr "menulis komit akar palsu"
@@ -24771,11 +24934,6 @@ msgid "writing squash-onto"
msgstr "menulis squash-onto"
#: sequencer.c
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "tidak dapat menguraikan '%s'"
-
-#: sequencer.c
msgid "cannot merge without a current revision"
msgstr "tidak dapat menggabungkan tanpa revisi saat ini"
@@ -25502,100 +25660,116 @@ msgstr "ls-tree kembalikan kode kembali %d yang tak diharapkan"
msgid "failed to lstat '%s'"
msgstr "gagal men-lstat '%s'"
+#: t/helper/test-cache-tree.c
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <opsi> (control|prime|update)"
+
+#: t/helper/test-cache-tree.c
+msgid "clear the cache tree before each iteration"
+msgstr "bersihkan pohon tembolok sebelum setiap iterasi"
+
+#: t/helper/test-cache-tree.c
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr "jumlah entri di dalam pohon tembolok untuk dinirvalidasi (asali 0)"
+
#: t/helper/test-fast-rebase.c
msgid "unhandled options"
-msgstr ""
+msgstr "opsi tak tertangani"
#: t/helper/test-fast-rebase.c
msgid "error preparing revisions"
-msgstr ""
+msgstr "kesalahan menyiapkan revisi"
#: t/helper/test-reach.c
#, c-format
msgid "commit %s is not marked reachable"
-msgstr ""
+msgstr "komit %s tidak ditandai sebagai dapat dicapai"
#: t/helper/test-reach.c
msgid "too many commits marked reachable"
-msgstr ""
+msgstr "terlalu banyak komit yang ditandai sebagai dapat dicapai"
#: t/helper/test-serve-v2.c
msgid "test-tool serve-v2 [<options>]"
-msgstr ""
+msgstr "test-tool serve-v2 [<opsi>]"
#: t/helper/test-serve-v2.c
msgid "exit immediately after advertising capabilities"
-msgstr ""
+msgstr "langsung keluar setelah mengiklankan kemampuan"
#: t/helper/test-simple-ipc.c
msgid "test-helper simple-ipc is-active [<name>] [<options>]"
-msgstr ""
+msgstr "test-helper simple-ipc is-active [<nama>] [<opsi>]"
#: t/helper/test-simple-ipc.c
msgid "test-helper simple-ipc run-daemon [<name>] [<threads>]"
-msgstr ""
+msgstr "test-helper simple-ipc run-daemon [<nama>] [<utas>]"
#: t/helper/test-simple-ipc.c
msgid "test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]"
msgstr ""
+"test-helper simple-ipc start-daemon [<nama>] [<utas>] [<tunggu maksimum>]"
#: t/helper/test-simple-ipc.c
msgid "test-helper simple-ipc stop-daemon [<name>] [<max-wait>]"
-msgstr ""
+msgstr "test-helper simple-ipc stop-daemon [<nama> [<tunggu maksimum>]"
#: t/helper/test-simple-ipc.c
msgid "test-helper simple-ipc send [<name>] [<token>]"
-msgstr ""
+msgstr "test-helper simple-ipc send [<nama>] [<token>]"
#: t/helper/test-simple-ipc.c
msgid "test-helper simple-ipc sendbytes [<name>] [<bytecount>] [<byte>]"
msgstr ""
+"test-helper simple-ipc sendbytes [<nama>] [<hitungan bita>] [<bita>]"
#: t/helper/test-simple-ipc.c
msgid ""
"test-helper simple-ipc multiple [<name>] [<threads>] [<bytecount>] "
"[<batchsize>]"
msgstr ""
+"test-helper simple-ipc multiple [<nama>] [<utas>] [<hitungan bita>] "
+"[<ukuran batch>]"
#: t/helper/test-simple-ipc.c
msgid "name or pathname of unix domain socket"
-msgstr ""
+msgstr "nama atau nama jalur soket domain unix"
#: t/helper/test-simple-ipc.c
msgid "named-pipe name"
-msgstr ""
+msgstr "nama pipa bernama"
#: t/helper/test-simple-ipc.c
msgid "number of threads in server thread pool"
-msgstr ""
+msgstr "jumlah utas pada kolam utas peladen"
#: t/helper/test-simple-ipc.c
msgid "seconds to wait for daemon to start or stop"
-msgstr ""
+msgstr "waktu menunggu daemon dimulai atau dihentikan (dalam detik)"
#: t/helper/test-simple-ipc.c
msgid "number of bytes"
-msgstr ""
+msgstr "jumlah bita"
#: t/helper/test-simple-ipc.c
msgid "number of requests per thread"
-msgstr ""
+msgstr "jumlah permintaan tiap utas"
#: t/helper/test-simple-ipc.c
msgid "byte"
-msgstr ""
+msgstr "bita"
#: t/helper/test-simple-ipc.c
msgid "ballast character"
-msgstr ""
+msgstr "karakter pemberat"
#: t/helper/test-simple-ipc.c
msgid "token"
-msgstr ""
+msgstr "token"
#: t/helper/test-simple-ipc.c
msgid "command token to send to the server"
-msgstr ""
+msgstr "token perintah untuk dikirim ke peladen"
#: trailer.c
#, c-format
@@ -27634,3 +27808,147 @@ msgstr "Melewati %s dengan akhiran cadangan '%s'.\n"
#, perl-format
msgid "Do you really want to send %s? [y|N]: "
msgstr "Anda benar-benar ingin mengirim %s? [y|N]: "
+
+#, c-format
+#~ msgid "unable to normalize object directory: %s"
+#~ msgstr "tidak dapat menormalisasikan direktori objek: %s"
+
+#~ msgid "reset the bisection state"
+#~ msgstr "setel ulang keadaan pembagian dua"
+
+#~ msgid "check whether bad or good terms exist"
+#~ msgstr "periksa apakah ada istilah jelek atau bagus"
+
+#~ msgid "print out the bisect terms"
+#~ msgstr "cetak istilah pembagian dua"
+
+#~ msgid "start the bisect session"
+#~ msgstr "mulai sesi pembagian dua"
+
+#~ msgid "find the next bisection commit"
+#~ msgstr "temukan komit pembagian dua berikutnya"
+
+#~ msgid "mark the state of ref (or refs)"
+#~ msgstr "tandai keadaan referensi"
+
+#~ msgid "list the bisection steps so far"
+#~ msgstr "daftar langkah pembagian dua sejauh ini"
+
+#~ msgid "replay the bisection process from the given file"
+#~ msgstr "mainkan ulang proses pembagian dua dari berkas yang diberikan"
+
+#~ msgid "skip some commits for checkout"
+#~ msgstr "lewati beberapa komit untuk checkout"
+
+#~ msgid "visualize the bisection"
+#~ msgstr "visualisasikan pembagian dua"
+
+#~ msgid "use <cmd>... to automatically bisect"
+#~ msgstr "gunakan <cmd>... untuk bagi dua otomatis."
+
+#~ msgid "no log for BISECT_WRITE"
+#~ msgstr "tidak ada log untuk BISECT_WRITE"
+
+#~ msgid "Couldn't look up commit object for HEAD"
+#~ msgstr "Tidak dapat mencari objek komit untuk HEAD"
+
+#~ msgid "git bundle create [<options>] <file> <git-rev-list args>"
+#~ msgstr "git bundle create [<opsi>] <berkas> <argumen git-rev-list>"
+
+#, c-format
+#~ msgid "options '%s' and '%s %s' cannot be used together"
+#~ msgstr "opsi '%s' dan '%s %s' tidak dapat digunakan bersamaan"
+
+#~ msgid "git commit [<options>] [--] <pathspec>..."
+#~ msgstr "git commit [<opsi>] [--] <spek jalur>..."
+
+#~ msgid "git fsck [<options>] [<object>...]"
+#~ msgstr "git fsck [<opsi>] [<objek>...]"
+
+#~ msgid "git fsmonitor--daemon stop"
+#~ msgstr "git fsmonitor--daemon stop"
+
+#~ msgid "git fsmonitor--daemon status"
+#~ msgstr "git fsmonitor--daemon status"
+
+#~ msgid "failed to run 'git config'"
+#~ msgstr "gagal menjalankan 'git config'"
+
+#, c-format
+#~ msgid "could not get 'onto': '%s'"
+#~ msgstr "tidak dapat mendapatkan 'ke': '%s'"
+
+#~ msgid "Could not resolve HEAD to a revision"
+#~ msgstr "Tidak dapat menguraikan HEAD ke sebuah revisi"
+
+#, c-format
+#~ msgid "missing required file: %s"
+#~ msgstr "berkas yang diperlukan hilang: %s"
+
+#~ msgid "git revert [<options>] <commit-ish>..."
+#~ msgstr "git revert [<opsi>] <mirip-komit>..."
+
+#~ msgid "git revert <subcommand>"
+#~ msgstr "git revert <subperintah>"
+
+#~ msgid "git cherry-pick [<options>] <commit-ish>..."
+#~ msgstr "git cherry-pick [<opsi>] <mirip-komit>..."
+
+#~ msgid "git cherry-pick <subcommand>"
+#~ msgstr "git cherry-pick <subperintah>"
+
+#~ msgid "git rm [<options>] [--] <file>..."
+#~ msgstr "git rm [<opsi>] [--] <berkas>..."
+
+#~ msgid "using --group=trailer with stdin is not supported"
+#~ msgstr "mengguanakn --group=trailer dengan stdin tidak didukung"
+
+#~ msgid "git stash show [<options>] [<stash>]"
+#~ msgstr "git stash show [<opsi>] [<stase>]"
+
+#~ msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+#~ msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stase>]"
+
+#~ msgid ""
+#~ "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+#~ " [--] [<pathspec>...]]"
+#~ msgstr ""
+#~ "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [-m|--message <pesan>]\n"
+#~ " [--] [<spek jalur>...]"
+
+#~ msgid ""
+#~ "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [<message>]"
+#~ msgstr ""
+#~ "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [<pesan>]"
+
+#~ msgid "path into the working tree"
+#~ msgstr "jalur ke dalam pohon kerja"
+
+#~ msgid "recurse into submodules"
+#~ msgstr "rekursi ke dalam submodul"
+
+#~ msgid "check if it is safe to write to the .gitmodules file"
+#~ msgstr "periksa apakah itu aman untuk menulis ke berkas .gitmodules"
+
+#~ msgid "unset the config in the .gitmodules file"
+#~ msgstr "batal setel konfigurasi dalam berkas .gitmodules"
+
+#~ msgid "git submodule--helper config --unset <name>"
+#~ msgstr "git submodule--helper config --unset <nama>"
+
+#, c-format
+#~ msgid "'%s' is not a valid submodule--helper subcommand"
+#~ msgstr "'%s' bukan subperintah submodule--helper valid"
+
+#~ msgid "git upload-pack [<options>] <dir>"
+#~ msgstr "git upload-pack [<opsi>] <direktori>"
+
+#~ msgid "git worktree add [<options>] <path> [<commit-ish>]"
+#~ msgstr "git worktree add [<opsi>] <jalur> [<mirip komit>]"
+
+#~ msgid "git worktree lock [<options>] <path>"
+#~ msgstr "git worktree lock [<opsi>] <jalur>"
diff --git a/po/sv.po b/po/sv.po
index 825142fde7..4b5fe17e36 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: git 2.38.0\n"
+"Project-Id-Version: git 2.39.0\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-26 06:34+0100\n"
-"PO-Revision-Date: 2022-09-26 06:35+0100\n"
+"POT-Creation-Date: 2022-11-29 04:57+0000\n"
+"PO-Revision-Date: 2022-11-29 22:50+0100\n"
"Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -764,6 +764,9 @@ msgstr "kommandorad avslutas med \\"
msgid "unclosed quote"
msgstr "citat ej stängt"
+msgid "too many arguments"
+msgstr "för många argument"
+
#, c-format
msgid "unrecognized whitespace option '%s'"
msgstr "okänt alternativ för whitespace: \"%s\""
@@ -2523,42 +2526,6 @@ msgstr ""
"\"bisect\"-körningen misslyckades: \"git bisect--helper --bisect-state %s\" "
"avslutades med felkoden %d"
-msgid "reset the bisection state"
-msgstr "återställ bisect-tillstånd"
-
-msgid "check whether bad or good terms exist"
-msgstr "se efter om termer för rätt och fel finns"
-
-msgid "print out the bisect terms"
-msgstr "skriv ut termer för bisect"
-
-msgid "start the bisect session"
-msgstr "påbörja bisect-körningen"
-
-msgid "find the next bisection commit"
-msgstr "hitta nästa incheckning i bisect"
-
-msgid "mark the state of ref (or refs)"
-msgstr "markera tillståndet för en eller flera referenser"
-
-msgid "list the bisection steps so far"
-msgstr "lista \"bisect\"-stegen som utförts så långt"
-
-msgid "replay the bisection process from the given file"
-msgstr "spela upp \"bisect\"-processen från angiven fil"
-
-msgid "skip some commits for checkout"
-msgstr "hoppa över ett par incheckningar"
-
-msgid "visualize the bisection"
-msgstr "visualisera \"bisect\"-körningen"
-
-msgid "use <cmd>... to automatically bisect"
-msgstr "använd <kommando>... för att utföra \"bisect\" automatiskt"
-
-msgid "no log for BISECT_WRITE"
-msgstr "ingen logg för BISECT_WRITE"
-
msgid "--bisect-reset requires either no argument or a commit"
msgstr "--bisect-reset kräver antingen inget argument eller en incheckning"
@@ -2577,6 +2544,9 @@ msgstr "ingen loggfil angiven"
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<flaggor>] [<rev-flaggor>] [<rev>] [--] <fil>"
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<flaggor>] [<rev-flaggor>] [<rev>] [--] <fil>"
+
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<rev-flaggor> dokumenteras i git-rev-list(1)"
@@ -2763,9 +2733,6 @@ msgstr "Misslyckades uppdatera konfigurationsfil"
msgid "cannot use -a with -d"
msgstr "kan inte ange -a med -d"
-msgid "Couldn't look up commit object for HEAD"
-msgstr "Kunde inte slå upp incheckningsobjekt för HEAD"
-
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "Kan inte ta bort grenen \"%s\" som är utcheckad på \"%s\""
@@ -2804,17 +2771,18 @@ msgstr "Grenen %s ombaseras på %s"
msgid "Branch %s is being bisected at %s"
msgstr "Grenen %s är i en \"bisect\" på %s"
-msgid "cannot copy the current branch while not on any."
-msgstr "kunde inte kopiera aktuell gren när du inte befinner dig på någon."
-
-msgid "cannot rename the current branch while not on any."
-msgstr ""
-"kunde inte byta namn på aktuell gren när du inte befinner dig på någon."
-
#, c-format
msgid "Invalid branch name: '%s'"
msgstr "Felaktigt namn på gren: \"%s\""
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "Inga incheckningar på grenen \"%s\" ännu."
+
+#, c-format
+msgid "No branch named '%s'."
+msgstr "Ingen gren vid namnet \"%s\"."
+
msgid "Branch rename failed"
msgstr "Misslyckades byta namn på gren"
@@ -2962,7 +2930,7 @@ msgstr ""
"propagateBranches har aktiverats"
msgid "--recurse-submodules can only be used to create branches"
-msgstr "--recurse-submodules jan endast användas för att skapa grenar"
+msgstr "--recurse-submodules kan endast användas för att skapa grenar"
msgid "branch name required"
msgstr "grennamn krävs"
@@ -2973,13 +2941,12 @@ msgstr "Kan inte beskriva frånkopplad HEAD"
msgid "cannot edit description of more than one branch"
msgstr "kan inte redigera beskrivning för mer än en gren"
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "Inga incheckningar på grenen \"%s\" ännu."
+msgid "cannot copy the current branch while not on any."
+msgstr "kunde inte kopiera aktuell gren när du inte befinner dig på någon."
-#, c-format
-msgid "No branch named '%s'."
-msgstr "Ingen gren vid namnet \"%s\"."
+msgid "cannot rename the current branch while not on any."
+msgstr ""
+"kunde inte byta namn på aktuell gren när du inte befinner dig på någon."
msgid "too many branches for a copy operation"
msgstr "för många grenar för kopiering"
@@ -3046,11 +3013,11 @@ msgid "not run from a git repository - no hooks to show\n"
msgstr "körs inte från ett git-arkiv - inga krokar att visa\n"
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <fil>] [-s|--suffix <format>] [--"
-"diagnose[=<läge>]"
+"git bugreport [(-o | --output-directory) <fil>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<läge>]"
msgid ""
"Thank you for filling out a Git bug report!\n"
@@ -3124,17 +3091,23 @@ msgstr "kunde inte skriva till %s"
msgid "Created new report at '%s'.\n"
msgstr "Skapade ny rapport på \"%s\"\n"
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<flaggor>] <fil> <git-rev-list-flaggor>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <fil> <git-rev-list-flaggor>"
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<flaggor>] <fil>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <fil>"
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <fil> [<refnamn>...]"
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <fil> [<refnamn>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <fil> [<refnamn>...]"
msgid "do not show progress meter"
msgstr "visa inte förloppsindikator"
@@ -3209,12 +3182,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgid ""
"git cat-file (--textconv | --filters)\n"
@@ -3323,9 +3296,6 @@ msgstr "<rev> krävs med \"%s\""
msgid "<object> required with '-%c'"
msgstr "<objekt> krävs med \"-%c\""
-msgid "too many arguments"
-msgstr "för många argument"
-
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
msgstr "endast två argument krävs i <typ> <objekt>-läge, inte %d"
@@ -3858,10 +3828,10 @@ msgid "use overlay mode"
msgstr "använd överläggsläge"
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <mönster>] [-x | -X] [--] "
-"<sökvägar>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <mönster>] [-x | -X] [--] <sökväg>..."
#, c-format
msgid "Removing %s\n"
@@ -4151,6 +4121,10 @@ msgid "failed to start iterator over '%s'"
msgstr "misslyckades starta iterator över \"%s\""
#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr "symbolisk länk \"%s\" finns redan, vägrar klona med --local"
+
+#, c-format
msgid "failed to unlink '%s'"
msgstr "misslyckades ta bort länken \"%s\""
@@ -4214,10 +4188,6 @@ msgstr "För många argument."
msgid "You must specify a repository to clone."
msgstr "Du måste ange ett arkiv att klona."
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "flaggorna \"%s\" och \"%s %s\" kan inte användas samtidigt"
-
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -4338,18 +4308,24 @@ msgid "--command must be the first argument"
msgstr "--command måste vara första argument"
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <objkat>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <kat>] [--shallow] [--[no-]progress]"
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
msgstr ""
-"git commit-graph write [--object-dir <objkat>] [--append] [--"
-"split[=<strategi>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <delnings-flaggor>"
+"git commit-graph write [--object-dir <kat>] [--append]\n"
+" [--split[=<strategi>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <delnings-flaggor>"
msgid "dir"
msgstr "kat"
@@ -4417,12 +4393,16 @@ msgstr "använd som mest en av --reachable, --stdin-commits och --stdin-packs"
msgid "Collecting commits from input"
msgstr "Hämtar incheckningar från indata"
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <träd> [(-p <förälder>)...]"
+
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <föräldrer>)...] [-S[<nyckelid>]] [(-m "
-"<meddelande>)...] [(-F <fil>)...] <träd>"
+"git commit-tree [(-p <förälder>)...] [-S[<nyckelid>]] [(-m "
+"<meddelande>)...]\n"
+" [(-F <fil>)...] <träd>"
#, c-format
msgid "duplicate parent %s ignored"
@@ -4464,10 +4444,29 @@ msgstr "måste ange exakt ett träd"
msgid "git commit-tree: failed to read"
msgstr "git commit-tree: misslyckades läsa"
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<flaggor>] [--] <sökväg>..."
-
-msgid "git status [<options>] [--] <pathspec>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<läge>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <incheckning> | --fixup [(amend|"
+"reword):]<incheckning>)]\n"
+" [-F <fil> | -m <medd>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--"
+"author=<författare>]\n"
+" [--date=<datum>] [--cleanup=<läge>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<fil> [--pathspec-file-nul]]\n"
+" [(--trailer <symbol>[(=|:)<värde>])...] [-S[<nyckel-id>]]\n"
+" [--] [<sökväg>...]"
+
+msgid "git status [<options>] [--] [<pathspec>...]"
msgstr "git status [<flaggor>] [--] <sökväg>..."
msgid ""
@@ -5233,11 +5232,19 @@ msgstr "\"credential-cache\" ej tillgänglig; stöd för unix-uttag saknas"
msgid "unable to get credential storage lock in %d ms"
msgstr "kunde inte erhålla låset för lagring av inlogginsuppgifter på %d ms"
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<flaggor>] [<incheckning-igt>...]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tag] [--contains] [--abbrev=<n>] [<incheckning-"
+"igt>...]"
+
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<märke>]"
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<flaggor>] --dirty"
+msgid "git describe <blob>"
+msgstr "git describe <objekt>"
msgid "head"
msgstr "huvud"
@@ -5359,11 +5366,12 @@ msgid "option '%s' and commit-ishes cannot be used together"
msgstr "flaggorna \"%s\" och incheckning-igter kan inte användas samtidigt"
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <sökväg>] [-s|--suffix <format>] [--"
-"mode=<läge>]"
+"git diagnose [(-o | --output-directory) <sökväg>] [(-s | --suffix) "
+"<format>]\n"
+" [--mode=<läge>]"
msgid "specify a destination for the diagnostics archive"
msgstr "ange mål för diagnostikarkivet"
@@ -5381,6 +5389,9 @@ msgstr "--merge-base fungerar endast med två incheckningar"
msgid "'%s': not a regular file or symlink"
msgstr "\"%s\": inte en normal fil eller symbolisk länk"
+msgid "no merge given, only parents."
+msgstr "ingen sammanslagning angiven, endast föräldrar."
+
#, c-format
msgid "invalid option: %s"
msgstr "ogiltig flagga: %s"
@@ -6013,8 +6024,8 @@ msgstr "visa endast referenser som innehåller incheckningen"
msgid "print only refs which don't contain the commit"
msgstr "visa endast referenser som inte innehåller incheckningen"
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<konfig> <kommandoargument>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<konfig> [--] <argument>"
msgid "config"
msgstr "konfig"
@@ -6189,8 +6200,16 @@ msgstr "icke-träd i cacheträd"
msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s: ogiltig sha1-pekare i resolve-undo"
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<flaggor>] [<objekt>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<objekt>...]"
msgid "show unreachable objects"
msgstr "visa onåbara objekt"
@@ -6247,12 +6266,6 @@ msgstr "git fsmonitor--daemon start [<flaggor>]"
msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [<flaggor>]"
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "värdet för \"%s\" utanför intervallet: %d"
@@ -6494,8 +6507,20 @@ msgstr "utför en specifik uppgift"
msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "använd som mest en av --auto och --schedule=<frekvens>"
-msgid "failed to run 'git config'"
-msgstr "misslyckades köra \"git config\""
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "kan inte lägga till \"%s\"-värdet för \"%s\""
+
+msgid "return success even if repository was not registered"
+msgstr "returnera framgång även om arkivet inte var registrerat"
+
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "kan inte ta bort \"%s\"-värdet för \"%s\""
+
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "arkivet \"%s\" har inte registrerats"
#, c-format
msgid "failed to expand path '%s'"
@@ -6783,11 +6808,14 @@ msgid "both --cached and trees are given"
msgstr "både --cached och träd angavs"
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <typ>] [-w] [--path=<fil> | --no-filters] [--stdin] [--] "
-"<fil>..."
+"git hash-object [-t <typ>] [-w] [--path=<fil> | --no-filters]\n"
+" [--stdin [--literally]] [--] <fil>..."
+
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <typ>] [-w] --stdin-paths [--no-filters]"
msgid "object type"
msgstr "objekttyp"
@@ -7211,11 +7239,15 @@ msgid "Initialized empty Git repository in %s%s\n"
msgstr "Initierade tomt Git-arkiv i %s%s\n"
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<mallkatalog>] [--"
-"shared[=<behörigheter>]] [<katalog>]"
+"git init [-q | --quiet] [--bare] [--template=<mallkatalog>]\n"
+" [--separate-git-dir <git-kat>] [--object-format=<format>]\n"
+" [-b <grennamn> | --initial-branch=<grennamn>]\n"
+" [--shared[=<behörigheter>]] [<katalog>]"
msgid "permissions"
msgstr "behörigheter"
@@ -7256,11 +7288,13 @@ msgid "--separate-git-dir incompatible with bare repository"
msgstr "--separate-git-dir är inkompatibelt med naket arkiv"
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<symbol>[(=|:)<värde>])...] [<fil>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <symbol>[(=|:)<värde>])...]\n"
+" [--parse] [<fil>...]"
msgid "edit files in place"
msgstr "redigera filer på plats"
@@ -7735,11 +7769,11 @@ msgstr ""
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<nyckel>]\n"
" [--symref] [<arkiv> [<referenser>...]]"
msgid "do not print remote URL"
@@ -7868,12 +7902,12 @@ msgstr "git merge-base [-a | --all] <incheckning> <incheckning>..."
msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <incheckning>..."
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <incheckning>..."
-
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <incheckning> <incheckning>"
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <incheckning>..."
+
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <ref> [<incheckning>]"
@@ -7981,9 +8015,20 @@ msgstr "lista filnamn utan lägen/oid/köer"
msgid "allow merging unrelated histories"
msgstr "tillåt sammanslagning av orelaterade historier"
+msgid "perform multiple merges, one per line of input"
+msgstr "utför flera sammanslagningar, en per indatarad"
+
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge är inkompatibelt med andra flaggor"
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "felaktig indatarad: \"%s\"."
+
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "sammanslagning kan inte fortsätta; fick inte rent resultat från %d"
+
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<flaggor>] [<incheckning>...]"
@@ -8600,10 +8645,6 @@ msgid "cannot read note data from non-blob object '%s'."
msgstr "kan inte läsa anteckningsdata från icke-blob-objektet \"%s\"."
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "felaktig indatarad: \"%s\"."
-
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "misslyckades kopiera anteckningar från \"%s\" till \"%s\""
@@ -8794,15 +8835,13 @@ msgstr "använd anteckningar från <anteckningsref>"
msgid "unknown subcommand: `%s'"
msgstr "okänt underkommando: \"%s\""
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr ""
-"git pack-objects --stdout [<flaggor>...] [< <reflista> | < <objektlista>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects --stdout [<flaggor>] [< <reflista> | < <objektlista>]"
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects [<flaggor>...] <basnamn> [< <reflista> | < <objektlista>]"
+"git pack-objects [<flaggor>] <basnamn> [< <reflista> | < <objektlista>]"
#, c-format
msgid ""
@@ -9176,8 +9215,8 @@ msgstr ""
"oss att du fortfarande använder det på e-post till\n"
"<git@vger.kernel.org>. Tack.\n"
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<flaggor>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
msgid "pack everything"
msgstr "packa allt"
@@ -9185,6 +9224,18 @@ msgstr "packa allt"
msgid "prune loose refs (default)"
msgstr "ta bort lösa referenser (standard)"
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+msgid "use the unstable patch-id algorithm"
+msgstr "använd den instabila patch-id-algoritmen"
+
+msgid "use the stable patch-id algorithm"
+msgstr "använd den stabila patch-id-algoritmen"
+
+msgid "don't strip whitespace from the patch"
+msgstr "ta inte bort blanksteg från patchen"
+
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire <tid>] [--] [<huvud>...]"
@@ -9397,14 +9448,13 @@ msgstr ""
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
-"För att undvika att uppströmsgrenar automatiskt konfigureras när deras\n"
-"namn inte motsvarar en lokal gren, se värdet \"simple\" i branch."
+"För att undvika att en uppströmsgren automatiskt konfigureras när dess namn\n"
+"inte motsvarar den lokala grenen, se värdet \"simple\" i branch."
"autoSetupMerge\n"
"i \"git help config\".\n"
@@ -9556,6 +9606,13 @@ msgstr "Sänder till %s\n"
msgid "failed to push some refs to '%s'"
msgstr "misslyckades sända vissa referenser till \"%s\""
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"rekurserar in i undermoduler med push.recurseSubmodules=only; använder "
+"istället vid behov"
+
#, c-format
msgid "invalid value for '%s'"
msgstr "ogiltigt värde för \"%s\""
@@ -9691,13 +9748,15 @@ msgid "need two commit ranges"
msgstr "behöver två incheckningsintervall"
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<fil>] (--empty | <träd-"
-"igt1> [<träd-igt2> [<träd-igt3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<fil>] [--no-sparse-checkout]\n"
+" (--empty | <träd-igt1> [<träd-igt2> [<träd-igt3>]])"
msgid "write resulting index to <file>"
msgstr "skriv resulterande index till <fil>"
@@ -9787,12 +9846,12 @@ msgid "%s requires the merge backend"
msgstr "%s kräver \"merge\"-bakändan"
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "kunde inte hämta \"onto\": \"%s\""
+msgid "invalid onto: '%s'"
+msgstr "ogiltig \"onto\": \"%s\""
#, c-format
msgid "invalid orig-head: '%s'"
-msgstr "ogiltigt orig-head: \"%s\""
+msgstr "ogiltig \"orig-head\": \"%s\""
#, c-format
msgid "ignoring invalid allow_rerere_autoupdate: '%s'"
@@ -10091,8 +10150,8 @@ msgstr "ingen sådan gren/incheckning: \"%s\""
msgid "No such ref: %s"
msgstr "Ingen sådan referens: %s"
-msgid "Could not resolve HEAD to a revision"
-msgstr "Kunde inte bestämma HEAD:s incheckning"
+msgid "Could not resolve HEAD to a commit"
+msgstr "Kunde inte bestämma en incheckning för HEAD"
#, c-format
msgid "'%s': need exactly one merge base with branch"
@@ -10746,6 +10805,10 @@ msgstr "kunde inte öppna temporär fil %s för skrivning"
msgid "could not close refs snapshot tempfile"
msgstr "kunde inte stänga temporär fil för refs-ögonblicksbild"
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "kunde inte ta bort gammal bitkarta: %s"
+
msgid "pack everything in a single pack"
msgstr "packa allt i ett enda paket"
@@ -10818,6 +10881,9 @@ msgstr "hitta ett geometrisk förlopp med faktor <N>"
msgid "write a multi-pack index of the resulting packs"
msgstr "skriv ett flerpaketsindex för de skapade paketen"
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "paketprefix att lagra ett paket som innehåller bortrensade objekt"
+
msgid "cannot delete packs in a precious-objects repo"
msgstr "kan inte ta bort paket i ett \"precious-objects\"-arkiv"
@@ -10829,8 +10895,12 @@ msgid "pack prefix %s does not begin with objdir %s"
msgstr "paketprefixet %s börjar inte med objkat %s"
#, c-format
-msgid "missing required file: %s"
-msgstr "nödvändig fil saknas: %s"
+msgid "renaming pack to '%s' failed"
+msgstr "misslyckades byta namn på paket till \"%s\""
+
+#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "pack-objects skrev inte en \"%s\"-fil för paketet %s-%s"
#, c-format
msgid "could not unlink: %s"
@@ -11024,8 +11094,10 @@ msgstr "--convert-graft-file tar inga argument"
msgid "only one pattern can be given with -l"
msgstr "endast ett mönster kan anges med -l"
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr ""
+"git rerere [clear | forget <sökväg>... | diff | status | remaining | gc]"
msgid "register clean resolutions in index"
msgstr "registrera rena lösningar i indexet"
@@ -11229,6 +11301,15 @@ msgstr "--prefix kräver ett argument"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "okänt läge för --abbrev-ref: %s"
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden kan endast användas tillsammans med --branches"
+
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden kan kan inte användas tillsammans med --tags"
+
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden kan kan inte användas tillsammans med --remotes"
+
msgid "this operation must be run in a work tree"
msgstr "funktionen måste köras i en arbetskatalog"
@@ -11236,17 +11317,25 @@ msgstr "funktionen måste köras i en arbetskatalog"
msgid "unknown mode for --show-object-format: %s"
msgstr "okänt läge för --show-object-format: %s"
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<flaggor>] <incheckning-igt>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <förälder-nummer>] [-s] [-S[<nyckelid>]] "
+"<incheckning>..."
-msgid "git revert <subcommand>"
-msgstr "git revert <underkommando>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<flaggor>] <incheckning-igt>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <förälder-nummer>] [-s] [-x] [--ff]\n"
+" [-S[<nyckelid>]] <incheckning>..."
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <underkommando>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#, c-format
msgid "option `%s' expects a number greater than zero"
@@ -11307,8 +11396,14 @@ msgstr "\"revert\" misslyckades"
msgid "cherry-pick failed"
msgstr "\"cherry-pick\" misslyckades"
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<flaggor>] [--] <fil>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<fil> [--pathspec-file-nul]]\n"
+" [--] [<sökväg>...]"
msgid ""
"the following file has staged content different from both the\n"
@@ -11379,11 +11474,13 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<värd>:]<katalog> (--all | <ref>...)"
msgid "remote name"
@@ -11407,8 +11504,9 @@ msgstr "git log --pretty=short | git shortlog [<flaggor>]"
msgid "using multiple --group options with stdin is not supported"
msgstr "mer än en \"--group\"-flagga stöds inte med standard in"
-msgid "using --group=trailer with stdin is not supported"
-msgstr "att använda --group=trailer stöds inte med standard in"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "använda %s med standard in stöds inte"
#, c-format
msgid "unknown group type: %s"
@@ -11445,12 +11543,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<när>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <mönster>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <mönster>)...]"
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
msgstr "git show-branch (-g | --reflog)[=<n>[,<bas>]] [--list] [<ref>]"
@@ -11550,11 +11650,13 @@ msgid "Unknown hash algorithm"
msgstr "okänd hashningsalgoritm"
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<mönster>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<mönster>...]"
msgid "git show-ref --exclude-existing[=<pattern>]"
msgstr "git show-ref --exclude-existing[=<mönster>]"
@@ -11583,8 +11685,10 @@ msgstr "visa inte resultat på standard ut (användbart med --verify)"
msgid "show refs from stdin that aren't in local repository"
msgstr "visa referenser från standard in som inte finns i lokalt arkiv"
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <flaggor>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) <flaggor>"
msgid "this worktree is not sparse"
msgstr "arbetskatalogen är inte gren"
@@ -11707,67 +11811,58 @@ msgstr ""
msgid "error while refreshing working directory"
msgstr "fel vid uppdatering av arbetskatalog"
-msgid "git stash list [<options>]"
-msgstr "git stash list [<flaggor>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<\"log\"-flaggor>]"
+
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<\"diff\"-"
+"flaggor>] [<stash>]"
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<flaggor>] [<stash>]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<stash>]"
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<stash>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<stash>]"
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<stash>]"
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <grennamn> [<stash>]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr ""
+"git stash store [(-m | --message) <meddelande>] [-q | --quiet] <incheckning>"
+
msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgstr ""
-"git stash [push [-p|--patch] [S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <meddelande>]\n"
+"git stash [push [-p | --patch] [S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message "
+"<meddelande>]\n"
" [--pathspec-from-file=<fil> [--pathspec-file-nul]]\n"
" [--] [<sökväg>...]]"
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<meddelande>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<meddelande>]"
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
-
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
-
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <meddelande>] [-q|--quiet] <incheckning>"
-
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
-msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <meddelande>]\n"
-" [--] [<sökväg>...]]"
-
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<meddelande>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<meddelande>]"
#, c-format
msgid "'%s' is not a stash-like commit"
@@ -12327,9 +12422,6 @@ msgstr "traversera undermoduler rekursivt"
msgid "don't fetch new objects from the remote site"
msgstr "hämta inte nya objekt från fjärrplatsen"
-msgid "path into the working tree"
-msgstr "sökväg inuti arbetskatalogen"
-
msgid "use the 'checkout' update strategy (default)"
msgstr "använd uppdateringsstrategin \"checkout\" (utcheckning; förval)"
@@ -12365,27 +12457,9 @@ msgstr ""
"[no-]recommend-shallow] [--reference <arkiv>] [--recursive] [--[no-]single-"
"branch] [--] [<sökväg>...]"
-msgid "recurse into submodules"
-msgstr "rekursera ner i undermoduler"
-
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [<flaggor>] [<sökväg>...]"
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "se om det är säkert att skriva till .gitmodules-filen"
-
-msgid "unset the config in the .gitmodules file"
-msgstr "ta bort konfigurationen från .gitmodules-filen"
-
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config <namn> [<värde>]"
-
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <namn>"
-
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr "se till att .gitmodules finns i arbetskatalogen"
-
msgid "suppress output for setting url of a submodule"
msgstr "dölj utdata från inställning av url för undermodul"
@@ -12464,6 +12538,9 @@ msgstr "Aktiverar lokal git-katalog för undermodulen \"%s\" på nytt.\n"
msgid "unable to checkout submodule '%s'"
msgstr "Kan inte checka ut undermodulen \"%s\""
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "se till att .gitmodules finns i arbetskatalogen"
+
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "Misslyckades lägga till undermodulen \"%s\""
@@ -12514,19 +12591,21 @@ msgstr "arkiv-URL: \"%s\" måste vara absolut eller börja med ./|../"
msgid "'%s' is not a valid submodule name"
msgstr "\"%s\" är inte ett giltigt namn på undermodul"
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <kommando>"
+
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s stöder inte --super-prefix"
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "\"%s\" är inte ett giltigt underkommando till submodule--helper"
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <orsak>] <namn> <ref>"
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<flaggor>] <namn> [<ref>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <namn>"
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <namn>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <namn>"
msgid "suppress error message for non-symbolic (detached) refs"
msgstr ""
@@ -12538,6 +12617,9 @@ msgstr "ta bort symbolisk referens"
msgid "shorten ref output"
msgstr "förkorta ref-utdata"
+msgid "recursively dereference (default)"
+msgstr "avreferera rekursivt (standard)"
+
msgid "reason"
msgstr "skäl"
@@ -12545,25 +12627,26 @@ msgid "reason of the update"
msgstr "skäl till uppdateringen"
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <nyckel-id>] [-f] [-m <medd> | -F <fil>]\n"
-" <taggnamn> [<huvud>]"
+"git tag [-a | -s | -u <nyckel-id>] [-f] [-m <medd> | -F <fil>] [-e]\n"
+" <taggnamn> [<incheckning> | <objekt>]"
msgid "git tag -d <tagname>..."
msgstr "git tag -d <taggnamn>..."
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<antal>]] [--contains <incheckning>] [--no-contains "
-"<incheckning>] [--points-at <objekt>]\n"
-" [--format=<format>] [--merged <incheckning>] [--no-merged "
-"<incheckning>] [<mönster>...]"
+"git tag [-n[<antal>]] -l [--contains <incheckning>] [--no-contains "
+"<incheckning>\n"
+" [--points-at <objekt>] [--column[=<flaggor>] | --no-column]\n"
+" [--create-reflog] [--sort=<nyckel>] [--format=<format>]\n"
+" [--merged <incheckning>] [--no-merged <incheckning>] [<mönster>...]"
msgid "git tag -v [--format=<format>] <tagname>..."
msgstr "git tag -v [--format=<format>] <taggnamn>..."
@@ -12938,8 +13021,12 @@ msgstr "läs uppdateringar från standard in"
msgid "update the info files from scratch"
msgstr "uppdatera informationsfilerna från grunden"
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<flaggor>] <katalog>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <katalog>"
msgid "quit after a single request/response exchange"
msgstr "avsluta omedelbart efter första anrop/svar-utväxling"
@@ -12953,8 +13040,8 @@ msgstr "testa inte <katalog>/.git/ om <katalog> inte är en Git-katalog"
msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "avbryt överföringen efter <n> sekunders inaktivitet"
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <incheckning>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <incheckning>..."
msgid "print commit contents"
msgstr "visa innehåll för incheckning"
@@ -12962,8 +13049,9 @@ msgstr "visa innehåll för incheckning"
msgid "print raw gpg status output"
msgstr "visa råa gpg-statusdata"
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <paket>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr ""
+"git verify-pack [-v | --verbose] [-s | --stat-only] [--] <paket>.idx..."
msgid "verbose"
msgstr "pratsam"
@@ -12971,35 +13059,39 @@ msgstr "pratsam"
msgid "show statistics only"
msgstr "visa endast statistik"
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<format>] <tagg>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tagg>..."
msgid "print tag contents"
msgstr "visa innehåll för tag"
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<flaggor>] <sökväg> [<incheckning-igt>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <sträng>]]\n"
+" [-b <ny-gren>] <sökväg> [<incheckning-igt>]"
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<flaggor>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<flaggor>] <sökväg>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <sträng>] <arbetskatalog>"
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <arbetskatalog> <ny-sökväg>"
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<flaggor>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <utgår>]"
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<flaggor>] <arbetskatalog>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <arbetskatalog>"
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [<sökväg>...]"
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <sökväg>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <arbetskatalog>"
#, c-format
msgid "Removing %s/%s: %s"
@@ -13235,6 +13327,10 @@ msgstr "endast användbart vid felsökning"
msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch stöds inte på denna plattform"
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "buntlistan på \"%s\" har inget läge"
+
msgid "failed to create temporary file"
msgstr "misslyckades skapa temporär fil"
@@ -13242,16 +13338,29 @@ msgid "insufficient capabilities"
msgstr "otillräckliga kapabiliteter"
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "okänt buntlägre från URI:en \"%s\""
+
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "överskred buntens URI-rekursionsgräns (%d)"
+
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "kunde inte hämta bunt från URI:en \"%s\""
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "filen på URI \"%s\" är inte en bunt"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "filen på URI:en \"%s\" är inte en bunt eller buntlista"
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "misslyckades packa upp bunten från URI:en \"%s\""
+msgid "bundle-uri: got an empty line"
+msgstr "bunt-uri: fick en tom rad"
+
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bunt-uri: raden är inte på formen \"nyckel=värde\""
+
+msgid "bundle-uri: line has empty key or value"
+msgstr "bunt-uri: raden har tom nyckel eller värde"
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
@@ -13822,7 +13931,7 @@ msgstr "Filformat för bunt"
msgid "Chunk-based file formats"
msgstr "Styckebaserade filformat"
-msgid "Git commit graph format"
+msgid "Git commit-graph format"
msgstr "Format för Git-incheckningsgraf"
msgid "Git index format"
@@ -14175,6 +14284,10 @@ msgstr "ohanterat fall i \"has_worktree_moved\": %d"
msgid "health thread wait failed [GLE %ld]"
msgstr "misslyckades vänta på hälsotråden [GLE %ld]"
+#, c-format
+msgid "Invalid path: %s"
+msgstr "ogiltig sökväg: %s"
+
msgid "Unable to create FSEventStream."
msgstr "kunde inte skapa FSEventStream."
@@ -14206,6 +14319,22 @@ msgid "could not read directory changes [GLE %ld]"
msgstr "kunde inte läsa katalogändringar [GLE %ld]"
#, c-format
+msgid "opendir('%s') failed"
+msgstr "opendir('%s') misslyckades"
+
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "lstat('%s') misslyckades"
+
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "strbuf_readlink('%s') misslyckades"
+
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "closedir('%s') misslyckades"
+
+#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] kunde inte öppna \"%ls\" för läsning"
@@ -15804,10 +15933,11 @@ msgstr "det virtuella arkivet \"%s\" är inkompatibelt med fsmonitor"
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
msgstr ""
-"arkivet \"%s\" är inkompatibelt med fsmonitor på grund av avsaknad av Unix-"
-"uttag"
+"uttagskatalogen \"%s\" är inkompatibelt med fsmonitor på grund av avsaknad "
+"av Unix-uttag"
msgid ""
"git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n"
@@ -16128,8 +16258,8 @@ msgstr[1] ""
"\n"
"Mest lika kommandon är"
-msgid "git version [<options>]"
-msgstr "git version [<flaggor>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#, c-format
msgid "%s: %s - %s"
@@ -17041,10 +17171,6 @@ msgstr "kunde inte normalisera supplerande objektsökväg: %s"
msgid "%s: ignoring alternate object stores, nesting too deep"
msgstr "%s: ignorerar supplerande objektlager, för djup nästling"
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "kan inte normalisera objektkatalogen: %s"
-
msgid "unable to fdopen alternates lockfile"
msgstr "kan inte utföra \"fdopen\" på suppleantlåsfil"
@@ -17867,6 +17993,10 @@ msgstr ""
msgid "promisor remote name cannot begin with '/': %s"
msgstr "kontraktsfjärr kan inte börja med \"/\": %s"
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "kunde inte hämta %s från kontraktsfjärr"
+
msgid "object-info: expected flush after arguments"
msgstr "object-info: förväntade \"flush\" efter argument"
@@ -18937,6 +19067,13 @@ msgid "failed to find tree of %s"
msgstr "kunde inte hitta trädet för %s."
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "sktionen för dolda referenser stöds ej: %s"
+
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden= angavs mer än en gång"
+
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo registrerar \"%s\" som saknas"
@@ -19080,6 +19217,14 @@ msgid "--all or <enlistment>, but not both"
msgstr "--all eller <enrollering>, men inte bägge"
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "kunde inte ta bort gammal scalar.repo \"%s\""
+
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "tar bort gammal scalar.repo \"%s\""
+
+#, c-format
msgid "git repository gone in '%s'"
msgstr "git-arkiv försvunnet i \"%s\""
@@ -19702,16 +19847,16 @@ msgstr ""
msgid "illegal label name: '%.*s'"
msgstr "ogiltigt etikettnamn: \"%.*s\""
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "kunde inte upplösa \"%s\""
+
msgid "writing fake root commit"
msgstr "skriver fejkad rotincheckning"
msgid "writing squash-onto"
msgstr "skriver squash-onto"
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "kunde inte upplösa \"%s\""
-
msgid "cannot merge without a current revision"
msgstr "kan inte slå ihop utan en aktuell incheckning"
@@ -20308,6 +20453,15 @@ msgstr "ls-tree returnerade en oväntad returkod %d"
msgid "failed to lstat '%s'"
msgstr "misslyckades ta status (lstat) på \"%s\""
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <flaggor> (control|prime|update)"
+
+msgid "clear the cache tree before each iteration"
+msgstr "töm cacheträdet före varje iteration"
+
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr "antal poster i cacheträdet att ogiltigförklara (förval är 0)"
+
msgid "unhandled options"
msgstr "flaggor som inte hanterats"
diff --git a/po/tr.po b/po/tr.po
index 484e0acf2d..9afdc234b3 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -92,8 +92,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git Turkish Localization Project\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-28 10:54+0300\n"
-"PO-Revision-Date: 2022-09-28 14:00+0300\n"
+"POT-Creation-Date: 2022-12-07 17:32+0300\n"
+"PO-Revision-Date: 2022-12-07 18:00+0300\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: Turkish (https://github.com/bitigchi/git-po/)\n"
"Language: tr\n"
@@ -840,6 +840,9 @@ msgstr "komut satırı \\ ile bitiyor"
msgid "unclosed quote"
msgstr "kapatılmamış tırnak"
+msgid "too many arguments"
+msgstr "pek fazla argüman"
+
#, c-format
msgid "unrecognized whitespace option '%s'"
msgstr "tanımlanamayan boşluk seçeneği '%s'"
@@ -1880,7 +1883,7 @@ msgid "allow updating entries outside of the sparse-checkout cone"
msgstr "aralıklı çıkış konisi dışındaki girdileri güncellemeye izin ver"
msgid "override the executable bit of the listed files"
-msgstr "listelenen dosyaların çalıştırılabilir kısımlarını geçersiz kıl"
+msgstr "listelenen dosyaların yürütülebilir kısımlarını geçersiz kıl"
msgid "warn when adding an embedded repository"
msgstr "gömülü bir depo eklenirken uyar"
@@ -2597,42 +2600,6 @@ msgstr ""
"ikili arama çalıştırılamadı: 'git bisect--helper --bisect-state %s', %d hata "
"koduyla çıktı"
-msgid "reset the bisection state"
-msgstr "ikili arama durumunu sıfırla"
-
-msgid "check whether bad or good terms exist"
-msgstr "iyi veya kötü terimlerin olup olmadığını denetle"
-
-msgid "print out the bisect terms"
-msgstr "ikili arama terimlerini yazdır"
-
-msgid "start the bisect session"
-msgstr "ikili arama oturumunu baÅŸlat"
-
-msgid "find the next bisection commit"
-msgstr "bir sonraki ikili arama iÅŸlemesini bul"
-
-msgid "mark the state of ref (or refs)"
-msgstr "başvurunun (veya başvuruların) durumunu imle"
-
-msgid "list the bisection steps so far"
-msgstr "ÅŸu ana kadarki ikili arama durumunu listele"
-
-msgid "replay the bisection process from the given file"
-msgstr "verilen dosyadan ikili arama iÅŸlemini yeniden oynat"
-
-msgid "skip some commits for checkout"
-msgstr "çıkış için birkaç işlemeyi atla"
-
-msgid "visualize the bisection"
-msgstr "ikili aramayı görselleştir"
-
-msgid "use <cmd>... to automatically bisect"
-msgstr "kendiliğinden ikili aramak için <komut>... kullan"
-
-msgid "no log for BISECT_WRITE"
-msgstr "BISECT_WRITE için günlük yok"
-
msgid "--bisect-reset requires either no argument or a commit"
msgstr "--bisect-reset bir argüman veya işleme gerektirmiyor"
@@ -2651,6 +2618,9 @@ msgstr "hiçbir günlük dosyası verilmedi"
msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<seçenekler>] [<rev-sçnk>] [<rev>] [--] <dosya>"
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<seçenekler>] [<rev-sçnk>] [<rev>] [--] <dosya>"
+
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<rev-sçnk>, git-rev-list(1) içinde belgelendirilmiştir"
@@ -2838,9 +2808,6 @@ msgstr "config-file güncellemesi başarısız"
msgid "cannot use -a with -d"
msgstr "-a, -d ile kullanılamıyor"
-msgid "Couldn't look up commit object for HEAD"
-msgstr "HEAD için işleme nesnesi aranamadı"
-
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "'%s' dalı silinemiyor, şurada çıkış yapılmış: '%s'"
@@ -2879,16 +2846,18 @@ msgstr "%s dalı %s konumunda yeniden temellendiriliyor"
msgid "Branch %s is being bisected at %s"
msgstr "%s dalı %s konumunda ikili aranıyor"
-msgid "cannot copy the current branch while not on any."
-msgstr "Bir dalın üzerinde değilken geçerli dal kopyalanamaz."
-
-msgid "cannot rename the current branch while not on any."
-msgstr "Bir dalın üzerinde değilken geçerli dal yeniden adlandırılamaz."
-
#, c-format
msgid "Invalid branch name: '%s'"
msgstr "Geçersiz dal adı: '%s'"
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "'%s' dalında henüz bir işleme yok."
+
+#, c-format
+msgid "No branch named '%s'."
+msgstr "'%s' adında bir dal yok."
+
msgid "Branch rename failed"
msgstr "Dal yeniden adlandırması başarısız"
@@ -3047,22 +3016,20 @@ msgstr "Ayrılmış HEAD'e açıklama verilemiyor"
msgid "cannot edit description of more than one branch"
msgstr "birden çok dalın açıklaması düzenlenemiyor"
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "'%s' dalında henüz bir işleme yok."
+msgid "cannot copy the current branch while not on any."
+msgstr "Bir dalın üzerinde değilken geçerli dal kopyalanamaz."
-#, c-format
-msgid "No branch named '%s'."
-msgstr "'%s' adında bir dal yok."
+msgid "cannot rename the current branch while not on any."
+msgstr "Bir dalın üzerinde değilken geçerli dal yeniden adlandırılamaz."
msgid "too many branches for a copy operation"
-msgstr "bir kopyalama işlemi için çok fazla dal"
+msgstr "bir kopyalama işlemi için pek fazla dal"
msgid "too many arguments for a rename operation"
-msgstr "bir yeniden adlandırma işlemi için çok fazla argüman"
+msgstr "bir yeniden adlandırma işlemi için pek fazla argüman"
msgid "too many arguments to set new upstream"
-msgstr "yeni üstkaynak ayarlamak için çok fazla argüman"
+msgstr "yeni üstkaynak ayarlamak için pek fazla argüman"
#, c-format
msgid ""
@@ -3080,7 +3047,7 @@ msgid "branch '%s' does not exist"
msgstr "'%s' diye bir dal yok"
msgid "too many arguments to unset upstream"
-msgstr "üst kaynağı kaldırmak için çok fazla argüman"
+msgstr "üst kaynağı kaldırmak için pek fazla argüman"
msgid "could not unset upstream of HEAD when it does not point to any branch."
msgstr ""
@@ -3121,11 +3088,11 @@ msgid "not run from a git repository - no hooks to show\n"
msgstr "bir git deposundan çalıştırılmadı - gösterilecek kanca yok\n"
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <dosya>] [-s|--suffix <biçim>] [--"
-"diagnose[=<kip>]"
+"git bugreport [(-o | --output-directory) <yol>] [(-s | --suffix) <biçim>]\n"
+" [--diagnose[=<kip>]]"
msgid ""
"Thank you for filling out a Git bug report!\n"
@@ -3196,17 +3163,23 @@ msgstr "%s dosyasına yazılamıyor"
msgid "Created new report at '%s'.\n"
msgstr "Hata raporu '%s' dosyasına yazıldı.\n"
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<seçenekler>] <dosya> <git-rev-liste argümanlar>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<sürüm>] <dosya> <git-rev-liste-argümanları>"
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<seçenekler>] <dosya>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <dosya>"
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <dosya> [<başvuru-adı>...]"
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <dosya> [<başvuru-adı>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <dosya> [<başvuru-adı>...]"
msgid "do not show progress meter"
msgstr "ilerleme çubuğunu gösterme"
@@ -3281,12 +3254,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgid ""
"git cat-file (--textconv | --filters)\n"
@@ -3396,9 +3369,6 @@ msgstr "<revizyon>, '%s' ile gerekiyor"
msgid "<object> required with '-%c'"
msgstr "<nesne>, '-%c' ile gerekiyor"
-msgid "too many arguments"
-msgstr "çok fazla argüman"
-
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
msgstr "<tür> <nesne> kipinde yalnızca iki argümana izin veriliyor, %d değil"
@@ -3929,9 +3899,11 @@ msgid "use overlay mode"
msgstr "yerpaylaşım kipini kullan"
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <dizgi>] [-x | -X] [--] <yollar>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <dizgi>] [-x | -X] [--] [<yol-"
+"blrtç>...]"
#, c-format
msgid "Removing %s\n"
@@ -4223,6 +4195,10 @@ msgid "failed to start iterator over '%s'"
msgstr "yineleyici '%s' üzerinden çalıştırılamadı"
#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr "'%s' sembolik bağlantısı var, --local ile klonlama reddediliyor"
+
+#, c-format
msgid "failed to unlink '%s'"
msgstr "'%s' bağlantısı kesilemedi"
@@ -4286,10 +4262,6 @@ msgstr "Çok fazla argüman."
msgid "You must specify a repository to clone."
msgstr "Klonlamak için bir depo belirtmelisiniz."
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "'%s' ve '%s %s' seçenekleri birlikte kullanılamaz"
-
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -4409,18 +4381,24 @@ msgid "--command must be the first argument"
msgstr "--command ilk argüman olmalı"
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <nsndzn>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dizin>] [--shallow] [--[no-]progress]"
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
msgstr ""
-"git commit-graph write [--object-dir <nsndzn>] [--append] [--"
-"split[=<strateji>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <bölme-seçenekleri>"
+"git commit-graph write [--object-dir <dizin>] [--append]\n"
+" [--split[=<<strateji>]] [--reachable | --stdin-packs "
+"| --stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <bölme-seçenekleri>"
msgid "dir"
msgstr "dizin"
@@ -4491,12 +4469,16 @@ msgstr ""
msgid "Collecting commits from input"
msgstr "Girdiden işlemeler toplanıyor"
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <ağaç> [(-p <üst-öge>)...]"
+
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <üst-öge>)...] [-S[<değer-no>]] [(-m <ileti>)...] [(-F "
-"<dosya>)...] <ağaç>"
+"git commit-tree [(-p <üst-öge>)...] [-S[<anahtar-kimliği>]] [(-m "
+"<ileti>)...]\n"
+" [(-F <dosya>)...] <ağaç>"
#, c-format
msgid "duplicate parent %s ignored"
@@ -4538,11 +4520,29 @@ msgstr "bir tam ağaç vermeli"
msgid "git commit-tree: failed to read"
msgstr "git commit-tree: okunamadı"
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<seçenekler>] [--] <yol-blrtç>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<kip>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <iÅŸleme> | --fixup [(amend|"
+"reword):]<iÅŸleme>)]\n"
+" [-F <dosya> | -m <ileti>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<tarih>] [--cleanup=<kip>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<dosya> [--pathspec-file-nul]]\n"
+" [(--trailer <jeton>[(=|:)<deÄŸer>])...] [-S[<anahtar-kimliÄŸi>]]\n"
+" [--] [<yol-blrtç>...]"
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<seçenekler>] [--] <yol-blrtç>..."
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [<seçenekler>] [--] [<yol-blrtç>...]"
msgid ""
"You asked to amend the most recent commit, but doing so would make\n"
@@ -5298,7 +5298,7 @@ msgid ""
"\n"
"\tchmod 0700 %s"
msgstr ""
-"Soket dizininizdeki izinler çok gevşek; diğer kullanıcılar sizin\n"
+"Yuva dizininizdeki izinler çok gevşek; diğer kullanıcılar sizin\n"
"önbelleğe alınmış yetkilerinizi okuyabilirler. Şunu çalıştırmayı düşünün:\n"
"\n"
"\tchmod 0700 %s"
@@ -5307,20 +5307,27 @@ msgid "print debugging messages to stderr"
msgstr "hata ayıklama iletilerini stderr'e yazdır"
msgid "credential-cache--daemon unavailable; no unix socket support"
-msgstr "credential-cache--daemon kullanılamıyor; unix soket desteği yok"
+msgstr "credential-cache--daemon kullanılamıyor; unix yuva desteği yok"
msgid "credential-cache unavailable; no unix socket support"
-msgstr "credential-cache kullanılamıyor; unix soket desteği yok"
+msgstr "credential-cache kullanılamıyor; unix yuva desteği yok"
#, c-format
msgid "unable to get credential storage lock in %d ms"
msgstr "kimlik depo kilidi %d ms içinde alınamadı"
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<seçenekler>] [<işlememsi>...]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<iÅŸlememsi>...]"
+
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<im>]"
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<seçenekler>] --dirty"
+msgid "git describe <blob>"
+msgstr "git describe <ikili>"
msgid "head"
msgstr "dal ucu"
@@ -5442,11 +5449,11 @@ msgid "option '%s' and commit-ishes cannot be used together"
msgstr "'%s' seçeneği ve işlememsiler birlikte kullanılamaz"
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <yol>] [-s|--suffix <biçim>] [--"
-"mode=<kip>]"
+"git diagnose [(-o | --output-directory) <yol>] [(-s | --suffix) <biçim>]\n"
+" [--mode=<kip>]"
msgid "specify a destination for the diagnostics archive"
msgstr "tanı arşivi için bir hedef konum belirtin"
@@ -5464,6 +5471,9 @@ msgstr "--merge-base yalnızca iki işleme ile kullanılabilir"
msgid "'%s': not a regular file or symlink"
msgstr "'%s': Sıradan bir dosya veya sembolik bağ değil"
+msgid "no merge given, only parents."
+msgstr "birleştirme verilmedi, yalnızca üst ögeler."
+
#, c-format
msgid "invalid option: %s"
msgstr "geçersiz seçenek: %s"
@@ -5596,8 +5606,8 @@ msgstr ""
#, c-format
msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
+"option `--default' expects an unsigned long value with `--type=ulong`, not "
+"`%s`"
msgstr ""
"--default seçeneği, --type=ulong ile birlikte bir imzalanmamış uzun değer "
"bekliyor, '%s' deÄŸil"
@@ -6101,8 +6111,8 @@ msgstr "yalnızca işlemeyi içeren başvuruları yazdır"
msgid "print only refs which don't contain the commit"
msgstr "yalnızca işlemeyi içermeyen başvuruları yazdır"
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<yapılandırma> <komut-argümanları>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<yapılandırma> [--] <argümanlar>"
msgid "config"
msgstr "yapılandırma"
@@ -6273,8 +6283,16 @@ msgstr "cache-tree içinde ağaç olmayan öge"
msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s: resolve-undo içinde geçersiz sha1 işaretçisi"
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<seçenekler>] [<nesne>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<nesne>...]"
msgid "show unreachable objects"
msgstr "ulaşılamayan nesneleri göster"
@@ -6329,12 +6347,6 @@ msgstr "git fsmonitor--daemon start [<seçenekler>]"
msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [<seçenekler>]"
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "'%s' değeri erim dışında: %d"
@@ -6574,8 +6586,20 @@ msgstr "belirli bir görevi çalıştır"
msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "tek kezde --auto ve --schedule=<sıklık>'tan birini kullan"
-msgid "failed to run 'git config'"
-msgstr "'git config' çalıştırılamadı"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "şunun için '%s' değeri eklenemiyor: '%s'"
+
+msgid "return success even if repository was not registered"
+msgstr "depo kaydı yapılmamış olsa bile başarılı durum döndür"
+
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "şunun '%s' değeri ayarı kaldırılamıyor: '%s'"
+
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "'%s' deposu kaydı yapılmamış"
#, c-format
msgid "failed to expand path '%s'"
@@ -6863,11 +6887,14 @@ msgid "both --cached and trees are given"
msgstr "hem --cached hem ağaçlar verilmiş"
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <tür>] [-w] [--path=<dosya> | --no-filters] [--stdin] "
-"[--] <dosya>..."
+"git hash-object [-t <tür>] [-w] [--path=<dosya> | --no-filters]\n"
+" [--stdin [--literally]] [--] <dosya>..."
+
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <tür>] [-w] --stdin-paths [--no-filters]"
msgid "object type"
msgstr "nesne türü"
@@ -7295,11 +7322,15 @@ msgid "Initialized empty Git repository in %s%s\n"
msgstr "%s%s içinde boş Git deposu ilklendirildi\n"
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<ÅŸablon-dizini>] [--"
-"shared[=<izinler>]] [<dizin>]"
+"git init [-q | --quiet] [--bare] [--template=<ÅŸablon-dizini>]\n"
+" [--separate-git-dir <git-dizini>] [--object-format=<biçim>]\n"
+" [-b <dal-adı> | --initial-branch=<dal-adı>]\n"
+" [--shared[=<izinler>]] [<dizin>]"
msgid "permissions"
msgstr "izinler"
@@ -7340,11 +7371,13 @@ msgid "--separate-git-dir incompatible with bare repository"
msgstr "--separate-git-dir, çıplak depo ile uyumsuz"
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<jeton>[(=|:)<deÄŸer>])...] [<dosya>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <jeton>[(=|:)<deÄŸer>])...]\n"
+" [--parse] [<dosya>...]"
msgid "edit files in place"
msgstr "dosyaları yerinde düzenle"
@@ -7822,11 +7855,11 @@ msgstr ""
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
-"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<çlştr>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<yürütülebilir>]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<anahtar>]\n"
" [--symref] [<depo> [<baÅŸvurular>...]]"
msgid "do not print remote URL"
@@ -7955,12 +7988,12 @@ msgstr "git merge-base [-a | --all] <iÅŸleme> <iÅŸleme>..."
msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <iÅŸleme>..."
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <iÅŸleme>..."
-
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <iÅŸleme> <iÅŸleme>"
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <iÅŸleme>..."
+
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <baÅŸvuru> [<iÅŸleme>]"
@@ -8068,9 +8101,20 @@ msgstr "kipi/oid'si/hazırlığı olmayan dosya adlarını listele"
msgid "allow merging unrelated histories"
msgstr "birbiriyle ilişkisi olmayan geçmişlerin birleştirilmesine izin ver"
+msgid "perform multiple merges, one per line of input"
+msgstr "girdi satırı başına bir adet çoklu birleştirmeler gerçekleştir"
+
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge, tüm diğer seçeneklerle uyumsuz"
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "hatalı oluşturulmuş girdi satırı: '%s'."
+
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "birleştirme sürdürülemiyor; %d için temiz olmayan sonuçlar alındı"
+
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<seçenekler>] [<işleme>...]"
@@ -8683,10 +8727,6 @@ msgid "cannot read note data from non-blob object '%s'."
msgstr "İkili nesne olmayan '%s' nesnesinden not verisi okunamıyor."
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "hatalı oluşturulmuş girdi satırı: '%s'."
-
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "notlar '%s' konumundan '%s' konumuna kopyalanamadı"
@@ -8875,16 +8915,16 @@ msgstr "notları <not-bşvr>'ndan kullan"
msgid "unknown subcommand: `%s'"
msgstr "bilinmeyen altkomut: '%s'"
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects --stdout [<seçenekler>...] [< <bşvr-liste> | < <nesne-"
-"liste>]"
+"git pack-objects --stdout [<sçnklr>] [< <başvuru-listesi> | < <nesne-"
+"listesi>]"
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
msgstr ""
-"git pack-objects [<sçnklr>...] <base-name> [< <bşvr-liste> | < <nesne-liste>]"
+"git pack-objects [<sçnklr>] <temel-ad> [< <bşvru-listesi> | < <nesne-"
+"listesi>]"
#, c-format
msgid ""
@@ -9262,8 +9302,8 @@ msgstr ""
"<git@vger.kernel.org> adresine bir e-posta atarak\n"
"bize haber verin. SaÄŸ olun.\n"
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<seçenekler>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
msgid "pack everything"
msgstr "her ÅŸeyi paketle"
@@ -9271,6 +9311,18 @@ msgstr "her ÅŸeyi paketle"
msgid "prune loose refs (default)"
msgstr "gevşek başvuruları buda (öntanımlı)"
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+msgid "use the unstable patch-id algorithm"
+msgstr "kararlı olmayan yama kimliği algoritmasını kullan"
+
+msgid "use the stable patch-id algorithm"
+msgstr "kararlı yama kimliği algoritmasını kullan"
+
+msgid "don't strip whitespace from the patch"
+msgstr "yamadan boşlukları çıkarma"
+
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr ""
"git prune [-n] [-v] [--progress] [--expire <zaman>] [--] [<dal-ucu>...]"
@@ -9484,9 +9536,8 @@ msgstr ""
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
@@ -9643,6 +9694,13 @@ msgstr "İtme konumu: %s\n"
msgid "failed to push some refs to '%s'"
msgstr "bazı başvurular '%s' konumuna itilemedi"
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"altmodül içine push.recurseSubmodules=only ile özyineleniyor; yerine talep "
+"başına kullanılıyor"
+
#, c-format
msgid "invalid value for '%s'"
msgstr "'%s' için geçersiz değer"
@@ -9666,7 +9724,7 @@ msgid "force updates"
msgstr "zorla güncelle"
msgid "<refname>:<expect>"
-msgstr "<başvuruadı>:<bekle>"
+msgstr "<bşvr-adı>:<bekle>"
msgid "require old value of ref to be at this value"
msgstr "başvurunun eski değerinin bu değerde olmasını gerektir"
@@ -9779,13 +9837,14 @@ msgid "need two commit ranges"
msgstr "iki iÅŸleme erimi gerekli"
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<önek>) [-"
-"u | -i]] [--no-sparse-checkout] [--index-output=<dosya>] (--empty | "
-"<ağacımsı1> [<ağacımsı2> [<ağacımsı3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<önek>)\n"
+" [-u | -i]] [--index-output=<dosya>] [--no-sparse-checkout]\n"
+" (--empty | <ağacımsı1> [<ağacımsı2> [<ağacımsı3>]])"
msgid "write resulting index to <file>"
msgstr "ortaya çıkan indeksi <dosya>'ya yaz"
@@ -9876,8 +9935,8 @@ msgid "%s requires the merge backend"
msgstr "%s birleÅŸtirme arka ucunu gerektiriyor"
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "'onto' alınamadı: '%s'"
+msgid "invalid onto: '%s'"
+msgstr "üzerine geçersiz: '%s'"
#, c-format
msgid "invalid orig-head: '%s'"
@@ -9928,8 +9987,8 @@ msgstr "şuraya geçilemedi: %s"
#, c-format
msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and "
+"\"ask\"."
msgstr ""
"Tanımlanamayan boş tür '%s'; geçerli türler: \"drop\", \"keep\" ve \"ask\"."
@@ -10186,8 +10245,8 @@ msgstr "böyle bir dal/işleme yok: '%s'"
msgid "No such ref: %s"
msgstr "Böyle bir başvuru yok: %s"
-msgid "Could not resolve HEAD to a revision"
-msgstr "HEAD bir revizyona çözülemedi"
+msgid "Could not resolve HEAD to a commit"
+msgstr "HEAD, bir işlemeye çözülemedi"
#, c-format
msgid "'%s': need exactly one merge base with branch"
@@ -10849,6 +10908,10 @@ msgstr "geçici dosya '%s', yazma için açılamadı"
msgid "could not close refs snapshot tempfile"
msgstr "başvurular anlık görüntü geçici dosyası kapatılamadı"
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "eskimiş biteşlem kaldırılamadı: %s"
+
msgid "pack everything in a single pack"
msgstr "her şeyi tek bir pakete sığdır"
@@ -10921,6 +10984,9 @@ msgstr "<N> faktörlü bir geometrik ilerleme bul"
msgid "write a multi-pack index of the resulting packs"
msgstr "ortaya çıkan paketlerin bir çoklu paket indeksini yaz"
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "budanan nesneler içeren paketi depolamak için paket öneki"
+
msgid "cannot delete packs in a precious-objects repo"
msgstr "bir precious-objects deposundaki paketler silinemiyor"
@@ -10932,8 +10998,12 @@ msgid "pack prefix %s does not begin with objdir %s"
msgstr "paket öneki %s, nesne dizini %s ile başlamıyor"
#, c-format
-msgid "missing required file: %s"
-msgstr "gereken dosya eksik: %s"
+msgid "renaming pack to '%s' failed"
+msgstr "paketi '%s' olarak yeniden adlandırma başarısız"
+
+#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "pack-objects, şu paket için bir '%s' dosyası yazmadı: %s-%s"
#, c-format
msgid "could not unlink: %s"
@@ -11127,8 +11197,10 @@ msgstr "--convert-graft-file argüman almaz"
msgid "only one pattern can be given with -l"
msgstr "-l ile yalnızca bir dizgi verilebilir"
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clear | forget <yol>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr ""
+"git rerere [clear | forget <yol-blrtç>... | diff | status | remaining | gc]"
msgid "register clean resolutions in index"
msgstr "indeksteki temiz çözümlerin kaydını yap"
@@ -11333,6 +11405,15 @@ msgstr "--prefix bir argüman gerektiriyor"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "--abbrev-ref için bilinmeyen kip: %s"
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden, --branches ile birlikte kullanılamıyor"
+
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden, --tags ile birlikte kullanılamıyor"
+
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden, --remotes ile birlikte kullanılamıyor"
+
msgid "this operation must be run in a work tree"
msgstr "bu işlem bir çalışma ağacı içinde çalıştırılmalı"
@@ -11340,17 +11421,25 @@ msgstr "bu işlem bir çalışma ağacı içinde çalıştırılmalı"
msgid "unknown mode for --show-object-format: %s"
msgstr "--show-object-format için bilinmeyen kip: %s"
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<seçenekler>] <işlememsi>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <üst-öge-numarası>] [-s] [-S[<anahtar-"
+"kimliÄŸi>]] <iÅŸleme>..."
-msgid "git revert <subcommand>"
-msgstr "git revert <altkomut>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<seçenekler>] <işlememsi>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <üst-öge-numarası>] [-s] [-x] [--ff]\n"
+" [-S[<anahtar-kimliÄŸi>]] <iÅŸleme>..."
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <altkomut>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#, c-format
msgid "option `%s' expects a number greater than zero"
@@ -11411,8 +11500,14 @@ msgstr "geri al başarısız"
msgid "cherry-pick failed"
msgstr "seç-al başarısız"
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<seçenekler>] [--] <dosya>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<dosya> [--pathspec-file-nul]]\n"
+" [--] [<yol-blrtç>...]"
msgid ""
"the following file has staged content different from both the\n"
@@ -11486,12 +11581,14 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
-" [--receive-pack=<git-receive-pack>]\n"
+" [--receive-pack=<git-paket-al>]\n"
" [--verbose] [--thin] [--atomic]\n"
-" [<makine>:]<dizin> (--all | <baÅŸvurular>...)"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
+" [<makine>:]<dizin> (--all | <baÅŸvuru>...)"
msgid "remote name"
msgstr "uzak konum adı"
@@ -11514,8 +11611,9 @@ msgstr "git log --pretty=short | git shortlog [<seçenekler>]"
msgid "using multiple --group options with stdin is not supported"
msgstr "stdin ile çoklu --group seçenekleri kullanımı desteklenmiyor"
-msgid "using --group=trailer with stdin is not supported"
-msgstr "stdin ile --group=trailer kullanımı desteklenmiyor"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "stdin ile %s kullanma desteklenmiyor"
#, c-format
msgid "unknown group type: %s"
@@ -11546,18 +11644,20 @@ msgid "group by field"
msgstr "alan ile grupla"
msgid "too many arguments given outside repository"
-msgstr "depo dışında çok fazla argüman verildi"
+msgstr "depo dışında pek fazla argüman verildi"
msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-" [--current] [--color[=<nezaman>] | --no-color] [--sparse]\n"
+" [--current] [--color[=<ne-zaman>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<bÅŸvr> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
msgstr "git show-branch (-g | --reflog)[=<n>[,<temel>]] [--list] [<baÅŸvuru>]"
@@ -11657,11 +11757,13 @@ msgid "Unknown hash algorithm"
msgstr "bilinmeyen sağlama algoritması '%s'"
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<dizgi>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<dizgi>...]"
msgid "git show-ref --exclude-existing[=<pattern>]"
msgstr "git show-ref --exclude-existing[=<dizgi>]"
@@ -11690,8 +11792,10 @@ msgstr "sonuçları stdout'a yazdırma (--verify ile birlikte kullanışlı)"
msgid "show refs from stdin that aren't in local repository"
msgstr "stdin'den yerel bir depoda olmayan başvuruları göster"
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <seçenekler>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<sçnklr>]"
msgid "this worktree is not sparse"
msgstr "bu çalışma ağacı aralıklı değil"
@@ -11813,67 +11917,56 @@ msgstr ""
msgid "error while refreshing working directory"
msgstr "çalışma dizini yenilenirken hata"
-msgid "git stash list [<options>]"
-msgstr "git stash list [<seçenekler>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<günlük-seçenekleri>]"
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<seçenekler>] [<zula>]"
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"seçenekleri>] [<zula>]"
+
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<zula>]"
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<zula>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<zula>]"
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<zula>]"
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<zula>]"
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <dal-adı> [<zula>]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr "git stash store [(-m | --message) <ileti>] [-q | --quiet] <iÅŸleme>"
+
msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgstr ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <ileti>]\n"
-" [--pathspec-from-file=<dosya> [--pathspec-file-nul]]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q\n"
+" | --quiet] [-u | --include-untracked] [-a | --all] [(-m | --"
+"message)\n"
+" <ileti>] [--pathspec-from-file=<dosya> [--pathspec-file-nul]]\n"
" [--] [<yol-blrtç>...]]"
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<ileti>]"
-
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<zula>]"
-
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<zula>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"|\n"
+" --quiet] [-u | --include-untracked] [-a | --all] [<ileti>]"
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <ileti>] [-q|--quiet] <iÅŸleme>"
-
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
-msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <ileti>]\n"
-" [--] [<yol-blrtç>...]]"
-
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<ileti>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<ileti>]"
#, c-format
msgid "'%s' is not a stash-like commit"
@@ -12359,7 +12452,7 @@ msgstr "Şu altmodül yolunda '%s' birleştirilemedi: '%s'"
#, c-format
msgid "Execution of '%s %s' failed in submodule path '%s'"
-msgstr "Şu altmodül yolunda '%s %s' çalıştırılamadı: '%s'"
+msgstr "Şu altmodül yolunda '%s %s' yürütülemedi: '%s'"
#, c-format
msgid "Submodule path '%s': checked out '%s'\n"
@@ -12434,9 +12527,6 @@ msgstr "altmodülleri özyineli basamaklandır"
msgid "don't fetch new objects from the remote site"
msgstr "yeni nesneleri uzak konumdan getirme"
-msgid "path into the working tree"
-msgstr "çalışma ağacına giden yol"
-
msgid "use the 'checkout' update strategy (default)"
msgstr "'checkout' güncelleme stratejisini kullan (öntanımlı)"
@@ -12472,27 +12562,9 @@ msgstr ""
"shallow] [--reference <depo>] [--recursive] [--[no-]single-branch] [--] "
"[<yol>...]"
-msgid "recurse into submodules"
-msgstr "altmodüllere özyinele"
-
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [<seçenekler>] [<yol>...]"
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr ".gitmodules dosyasına yazım güvenli mi değil mi denetle"
-
-msgid "unset the config in the .gitmodules file"
-msgstr ".gitmodules dosyasındaki yapılandırmayı kaldır"
-
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config <ad> [<deÄŸer>]"
-
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <ad>"
-
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr ".gitmodules dosyasının çalışma ağacında olduğundan lütfen emin ol"
-
msgid "suppress output for setting url of a submodule"
msgstr "bir altmodül url ayarlanması çıktısını gizle"
@@ -12570,6 +12642,9 @@ msgstr "'%s' altmodülü için yerel git dizini yeniden etkinleştiriliyor\n"
msgid "unable to checkout submodule '%s'"
msgstr "'%s' altmodülü çıkış yapılamıyor"
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr ".gitmodules dosyasının çalışma ağacında olduğundan lütfen emin ol"
+
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "'%s' altmodülü eklenemedi"
@@ -12620,19 +12695,21 @@ msgstr "depo URL'si: '%s' mutlak olmalı veya ./|../ ile başlamalıdır"
msgid "'%s' is not a valid submodule name"
msgstr "'%s' geçerli bir altmodül adı değil"
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <komut>"
+
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s, --super-prefix desteklemiyor"
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "'%s' geçerli bir submodule--helper altkomutu değil"
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <neden>] <ad> <baÅŸvuru>"
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<seçenekler>] <ad> [<başvuru>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <ad>"
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <ad>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <ad>"
msgid "suppress error message for non-symbolic (detached) refs"
msgstr "sembolik olmayan (ayrık) başvurular için hata iletisini gizle"
@@ -12643,6 +12720,9 @@ msgstr "sembolik baÅŸvuruyu sil"
msgid "shorten ref output"
msgstr "başvuru çıktısını kısalt"
+msgid "recursively dereference (default)"
+msgstr "başvuruyu özyineli olarak kaldır (öntanımlı)"
+
msgid "reason"
msgstr "neden"
@@ -12650,24 +12730,26 @@ msgid "reason of the update"
msgstr "güncelleme nedeni"
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <anahtar-kimliÄŸi>] [-f] [-m <ileti> | -F <dosya>]\n"
-" <etiket-adı> [<head>]"
+"git tag [-a | -s | -u <anahtar-kimliÄŸi>] [-f] [-m <ileti> | -F <dosya>] [-"
+"e]\n"
+" <etiket-adı> [<işleme> | <nesne>]"
msgid "git tag -d <tagname>..."
msgstr "git tag -d <etiket-adı>..."
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<sayı>]] [--contains <işleme>] [--no-contains <işleme>]\n"
-" [-- points-at <nesne>] [--format=<biçim>] [--merged <işleme>]\n"
-" [--no-merged <iÅŸleme>] [<dizgi>...]"
+"git tag [-n[<sayı>]] -l [--contains <işleme>] [--no-contains <işleme>]\n"
+" [--points-at <nesne>] [--column[=<seçenekler>] | --no-column]\n"
+" [--create-reflog] [--sort=<anahtar>] [--format=<biçim>]\n"
+" [--merged <iÅŸleme>] [--no-merged <iÅŸleme>] [<dizgi>...]"
msgid "git tag -v [--format=<format>] <tagname>..."
msgstr "git tag -v [--format=<biçim>] <etiket-adı>..."
@@ -13043,8 +13125,12 @@ msgstr "güncellemeleri stdin'den oku"
msgid "update the info files from scratch"
msgstr "bilgi dosyalarını en baştan güncelle"
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<seçenekler>] <dizin>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <dizin>"
msgid "quit after a single request/response exchange"
msgstr "tek bir istek/yanıt değiş tokuşundan sonra çık"
@@ -13058,8 +13144,8 @@ msgstr "eÄŸer <dizin> bir Git dizini deÄŸilse <dizin>/.git/ deneme"
msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "aktarımı <n> saniye hareketsizlikten sonra kes"
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <iÅŸleme>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <iÅŸleme>..."
msgid "print commit contents"
msgstr "işleme içeriğini yazdır"
@@ -13067,8 +13153,9 @@ msgstr "işleme içeriğini yazdır"
msgid "print raw gpg status output"
msgstr "ham gpg durum çıktısını yazdır"
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <paket>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr ""
+"git verify-pack [-v | --verbose] [-s | --stat-only] [--] <paket>.idx..."
msgid "verbose"
msgstr "ayrıntılı anlatım"
@@ -13076,35 +13163,39 @@ msgstr "ayrıntılı anlatım"
msgid "show statistics only"
msgstr "yalnızca istatistikleri göster"
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<biçim>] <etiket>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<biçim>] [--raw] <etiket>..."
msgid "print tag contents"
msgstr "etiket içeriğini yazdır"
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<seçenekler>] <yol> [<işlememsi>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <dizi>]]\n"
+" [-b <yeni-dal>] <yol> [<iÅŸlememsi>]"
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<seçenekler>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<seçenekler>] <yol>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <dizi>] <çalışma-ağacı>"
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <ç-ağacı> <yeni-yol>"
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<seçenekler>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <süre-dolum>]"
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<seçenekler>] <ç-ağacı>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <çalışma-ağacı>"
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [<yol>...]"
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <yol>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <çalışma-ağacı>"
#, c-format
msgid "Removing %s/%s: %s"
@@ -13334,6 +13425,10 @@ msgstr "yalnızca hata ayıklama için yararlı"
msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch, bu platformda desteklenmiyor"
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "'%s' konumundaki demet listesinin kipi yok"
+
msgid "failed to create temporary file"
msgstr "geçici dosya oluşturulamadı"
@@ -13341,16 +13436,29 @@ msgid "insufficient capabilities"
msgstr "yetersiz yetenekler"
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "'%s' URI'sinden tanımlanamayan demet kipi"
+
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "demet URI özyineleme sınırı aşıldı (%d)"
+
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "'%s' URI'sinden demet indirilemedi"
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "'%s' URI'sindeki dosya bir demet deÄŸil"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "'%s' URI'sindeki dosya bir demet veya demet listesi deÄŸil"
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "'%s' URI'sindeki demet çözülemedi"
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri: boş bir satır alındı"
+
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri: satır, 'anahtar=değer' olarak biçimlenmemiş"
+
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri: satırda boş anahtar veya değer var"
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
@@ -13920,8 +14028,8 @@ msgstr "Demet dosya biçimi"
msgid "Chunk-based file formats"
msgstr "geçersiz gitfile biçimi: %s"
-msgid "Git commit graph format"
-msgstr "Git işleme grafiği biçimi"
+msgid "Git commit-graph format"
+msgstr "Git commit-graph biçimi"
msgid "Git index format"
msgstr "Git indeks biçimi"
@@ -14115,7 +14223,7 @@ msgstr ""
"bir commit-graph yazılmaya çalışılıyor; ancak 'core.commitGraph' devre dışı"
msgid "too many commits to write graph"
-msgstr "grafik yazımı için çok fazla işleme"
+msgstr "grafik yazımı için pek fazla işleme"
msgid "the commit-graph file has incorrect checksum and is likely corrupt"
msgstr ""
@@ -14269,6 +14377,10 @@ msgstr "'has_worktree_moved' içinde işlenmemiş senaryo: %d"
msgid "health thread wait failed [GLE %ld]"
msgstr "sağlık iş parçacığı bekleme başarısız oldu [GLE %ld]"
+#, c-format
+msgid "Invalid path: %s"
+msgstr "Geçersiz yol %s"
+
msgid "Unable to create FSEventStream."
msgstr "FSEventStream oluşturulamadı."
@@ -14300,6 +14412,22 @@ msgid "could not read directory changes [GLE %ld]"
msgstr "dizin değişiklikleri okunamadı [GLE %ld]"
#, c-format
+msgid "opendir('%s') failed"
+msgstr "opendir('%s') başarısız oldu"
+
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "lstat('%s') başarısız oldu"
+
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "strbuf_readlink('%s') başarısız oldu"
+
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "closedir('%s') başarısız oldu"
+
+#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] '%ls', okuma için açılamıyor"
@@ -14484,7 +14612,7 @@ msgstr "%s içinde düzmece sayım"
#, c-format
msgid "too many entries in %s"
-msgstr "%s içinde çok fazla girdi"
+msgstr "%s içinde pek fazla girdi"
#, c-format
msgid "missing config key %s"
@@ -14768,7 +14896,7 @@ msgid "protocol '%s' is not supported"
msgstr "'%s' protokolü desteklenmiyor"
msgid "unable to set SO_KEEPALIVE on socket"
-msgstr "soket üzerinde SO_KEEPALIVE ayarlanamıyor"
+msgstr "yuva üzerinde SO_KEEPALIVE ayarlanamıyor"
#, c-format
msgid "Looking up %s ... "
@@ -15049,7 +15177,7 @@ msgstr "'%s' için delta adası düzenli ifadesi yüklenemedi: %s"
#, c-format
msgid "island regex from config has too many capture groups (max=%d)"
msgstr ""
-"yapılandırmanın delta adası düzenli ifadesinde çok fazla yakalama grubu var "
+"yapılandırmanın delta adası düzenli ifadesinde pek fazla yakalama grubu var "
"(en çok %d)"
#, c-format
@@ -15504,7 +15632,7 @@ msgid "disable all output of the program"
msgstr "tüm program çıktısını devre dışı bırak"
msgid "allow an external diff helper to be executed"
-msgstr "bir dış diff yardımcısının çalıştırılmasına izin ver"
+msgstr "bir dış diff yardımcısının yürütülmesine izin ver"
msgid "run external text conversion filters when comparing binary files"
msgstr ""
@@ -15581,7 +15709,7 @@ msgstr "belirli bir dosyaya çıktıla"
msgid "exhaustive rename detection was skipped due to too many files."
msgstr ""
-"Geniş kapsamlı yeniden adlandırma algılaması çok fazla dosya olmasından "
+"Geniş kapsamlı yeniden adlandırma algılaması pek fazla dosya olmasından "
"dolayı atlandı."
msgid "only found copies from modified paths due to too many files."
@@ -15672,7 +15800,7 @@ msgstr "hatalı git ad alanı yolu \"%s\""
#, c-format
msgid "too many args to run %s"
-msgstr "%s çalıştırmak için çok fazla argüman"
+msgstr "%s çalıştırmak için pek fazla argüman"
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: sığ bir liste bekleniyordu"
@@ -15902,9 +16030,10 @@ msgstr "sanal depo '%s', fsmonitor ile uyumsuz"
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
msgstr ""
-"Unix soketleri eksik olduğundan dolayı; '%s' deposu, fsmonitor ile uyumsuz"
+"yuva dizini '%s', Unix yuva dasteği olmadığından dolayı fsmonitor ile uyumsuz"
msgid ""
"git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n"
@@ -16189,7 +16318,7 @@ msgid ""
"able to execute it. Maybe git-%s is broken?"
msgstr ""
"'%s' bir git komutu gibi görünüyor; ancak biz onu\n"
-"çalıştıramadık. git-%s bozuk olabilir mi?"
+"yürütemedik. git-%s bozuk olabilir mi?"
#, c-format
msgid "git: '%s' is not a git command. See 'git --help'."
@@ -16228,8 +16357,8 @@ msgstr[1] ""
"\n"
"Buna en yakın komutlar:"
-msgid "git version [<options>]"
-msgstr "git version [<seçenekler>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#, c-format
msgid "%s: %s - %s"
@@ -16253,7 +16382,7 @@ msgid ""
"The '%s' hook was ignored because it's not set as executable.\n"
"You can disable this warning with `git config advice.ignoredHook false`."
msgstr ""
-"'%s' kancası yok sayıldı; çünkü bir çalıştırılabilir olarak ayarlanmamış.\n"
+"'%s' kancası yok sayıldı; çünkü bir yürütülebilir olarak ayarlanmamış.\n"
"Bu uyarıyı 'git config advice.ignoredHook false' ile kapatabilirsiniz."
#, c-format
@@ -16479,7 +16608,7 @@ msgstr ""
"%s"
msgid "Failed to execute internal merge"
-msgstr "İç birleştirme çalıştırılamadı"
+msgstr "İç birleştirme yürütülemedi"
#, c-format
msgid "Unable to add %s to database"
@@ -16833,8 +16962,8 @@ msgstr ""
#, c-format
msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename "
+"\"%s\"->\"%s\" in \"%s\"%s"
msgstr ""
"ÇAKIŞMA (y. adlandır/y. adlandır): \"%s\"->\"%s\" olarak adlandır (\"%s\" "
"dalında), \"%s\"->\"%s\" olarak adlandır (\"%s\"%s içinde)"
@@ -16845,8 +16974,8 @@ msgstr " (çözülmeden bırakıldı)"
#, c-format
msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s"
msgstr ""
-"ÇAKIŞMA (y. adlandır/y. adlandır): %s->%s olarak adlandır (%s içinde). %s->"
-"%s olarak adlandır (%s içinde)"
+"ÇAKIŞMA (y. adlandır/y. adlandır): %s->%s olarak adlandır (%s içinde). %s-"
+">%s olarak adlandır (%s içinde)"
#, c-format
msgid ""
@@ -17148,10 +17277,6 @@ msgstr "alternatif nesne yolu olağanlaştırılamıyor: %s"
msgid "%s: ignoring alternate object stores, nesting too deep"
msgstr "%s: alternatif nesne depoları yok sayılıyor, iç içe geçme pek derin"
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "nesne dizini olağanlaştırılamıyor: %s"
-
msgid "unable to fdopen alternates lockfile"
msgstr "alternatifler kilit dosyası fdopen yapılamıyor"
@@ -17974,6 +18099,10 @@ msgstr "promisor-remote: alt sürecine getirmek için stdin kapatılamıyor"
msgid "promisor remote name cannot begin with '/': %s"
msgstr "vaatçi uzak konum adı '/' ile başlayamaz: %s"
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "vaatçi uzak konumundan %s getirilemedi"
+
msgid "object-info: expected flush after arguments"
msgstr "object-info: argümanlardan sonra floş bekleniyordu"
@@ -18225,7 +18354,7 @@ msgstr ""
" bir yer tutucu izle. <baÅŸ>, yeniden temellendirmenin\n"
" sonunda güncellenir\n"
"\n"
-"Bu satırlar yeniden sıralanabilirler, yukarıdan aşağıya çalıştırılırlar.\n"
+"Bu satırlar yeniden sıralanabilirler, yukarıdan aşağıya yürütülürler.\n"
#, c-format
msgid "Rebase %s onto %s (%d command)"
@@ -19038,6 +19167,13 @@ msgid "failed to find tree of %s"
msgstr "%s ögesinin ağacı bulunamadı"
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "gizli başvurular için desteklenmeyen bölüm: %s"
+
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden=, birden çok kez geçirildi"
+
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo, kayıp olan '%s' ögesini kaydetmiş"
@@ -19181,6 +19317,14 @@ msgid "--all or <enlistment>, but not both"
msgstr "--all veya <gönüllükayıt>; ancak ikisi değil"
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "eskimiş scalar.repo '%s' kaldırılamadı"
+
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "eskimiş scalar.repo '%s' kaldırılıyor"
+
+#, c-format
msgid "git repository gone in '%s'"
msgstr "git deposu '%s' içinde gitti"
@@ -19761,7 +19905,7 @@ msgstr "%.*s birleÅŸtirilemedi"
#, c-format
msgid "Executing: %s\n"
-msgstr "Çalıştırılıyor: %s\n"
+msgstr "Yürütülüyor: %s\n"
#, c-format
msgid ""
@@ -19771,7 +19915,7 @@ msgid ""
" git rebase --continue\n"
"\n"
msgstr ""
-"Çalıştırma başarısız: %s\n"
+"Yürütme başarısız: %s\n"
"%sSorunu çözüp sürdürmek için şunu çalıştırın:\n"
"\n"
"\tgit rebase --continue\n"
@@ -19789,7 +19933,7 @@ msgid ""
" git rebase --continue\n"
"\n"
msgstr ""
-"Çalıştırma başarılı oldu: %s,\n"
+"Yürütme başarılı oldu: %s,\n"
"ancak indeksinize ve/veya çalışma ağacınıza değişiklikler bıraktı\n"
"Değişikliklerinizi işleyin veya zulalayın, ardından şunu çalıştırın:\n"
"\n"
@@ -19800,16 +19944,16 @@ msgstr ""
msgid "illegal label name: '%.*s'"
msgstr "izin verilmeyen etiket adı: '%.*s'"
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "'%s' çözülemedi"
+
msgid "writing fake root commit"
msgstr "sahte kök işlemesi yazılıyor"
msgid "writing squash-onto"
msgstr "squash-onto yazılıyor"
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "'%s' çözülemedi"
-
msgid "cannot merge without a current revision"
msgstr "güncel bir revizyon olmadan birleştirilemiyor"
@@ -19822,7 +19966,7 @@ msgid "nothing to merge: '%.*s'"
msgstr "birleÅŸtirilecek bir ÅŸey yok: '%.*s'"
msgid "octopus merge cannot be executed on top of a [new root]"
-msgstr "ahtapot birleştirmesi bir [yeni kök]ün üzerinde çalıştırılamaz"
+msgstr "ahtapot birleştirmesi bir [yeni kök]ün üzerinde yürütülemez"
#, c-format
msgid "could not get commit message of '%s'"
@@ -19920,7 +20064,7 @@ msgid ""
" git rebase --edit-todo\n"
" git rebase --continue\n"
msgstr ""
-"todo komutu çalıştırılamadı.\n"
+"todo komutu yürütülemedi.\n"
"\n"
"\t%.*s\n"
"Yeniden zamanlandı; sürdürmeden önce komutu düzenlemek için lütfen\n"
@@ -20405,6 +20549,15 @@ msgstr "ls-tree beklenmedik bir biçimde %d kodu ile çıktı"
msgid "failed to lstat '%s'"
msgstr "'%s', lstat yapılamadı"
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <seçenekler> (control|prime|update)"
+
+msgid "clear the cache tree before each iteration"
+msgstr "her bir yinelemeden önce önbellek ağacını temizle"
+
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr "önbellek ağacındaki geçersizleştirilecek girdi sayısı (öntanımlı 0)"
+
msgid "unhandled options"
msgstr "beklenmeyen seçenekler"
@@ -20416,7 +20569,7 @@ msgid "commit %s is not marked reachable"
msgstr "%s işlemesi ulaşılabilir olarak imlenmedi"
msgid "too many commits marked reachable"
-msgstr "çok fazla işleme ulaşılabilir olarak imlenmiş"
+msgstr "pek fazla işleme ulaşılabilir olarak imlenmiş"
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<seçenekler>]"
@@ -21175,8 +21328,8 @@ msgstr " (işlenecekleri güncellemek için \"git add/rm <dosya>...\" kullanın
msgid ""
" (use \"git restore <file>...\" to discard changes in working directory)"
msgstr ""
-" (çalışma dizinindeki değişiklikleri atmak için \"git restore <dosya>...\" "
-"kullanın)"
+" (çalışma dizinindeki değişiklikleri atmak için\n"
+" \"git restore <dosya>...\" kullanın)"
msgid " (commit or discard the untracked or modified content in submodules)"
msgstr " (altmodüllerdeki izlenmeyen/değiştirilen içeriği gönder veya at)"
@@ -21497,8 +21650,7 @@ msgstr "DeÄŸiÅŸiklik yok"
#, c-format
msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n"
msgstr ""
-"İşlemeye eklenen değişiklik yok (\"git add\" ve/veya \"git commit -a\" "
-"kullanın)\n"
+"İşlemeye eklenen değişiklik yok (\"git add\" ve/veya \"git commit -a\" kullanın)\n"
#, c-format
msgid "no changes added to commit\n"
@@ -21509,8 +21661,8 @@ msgid ""
"nothing added to commit but untracked files present (use \"git add\" to "
"track)\n"
msgstr ""
-"işlemeye bir şey eklenmedi; ancak izlenmeyen dosyalar var (izlemek için "
-"\"git add\" kullanın)\n"
+"iÅŸlemeye bir ÅŸey eklenmedi; ancak izlenmeyen dosyalar var\n"
+" (izlemek için \"git add\" kullanın)\n"
#, c-format
msgid "nothing added to commit but untracked files present\n"
@@ -21519,8 +21671,8 @@ msgstr "iÅŸlemeye bir ÅŸey eklenmedi; ancak izlenmeyen dosyalar var\n"
#, c-format
msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
msgstr ""
-"İşlenecek bir şey yok (dosyalar oluşturun/kopyalayın ve izlemek için \"git "
-"add\" kullanın)\n"
+"İşlenecek bir şey yok\n"
+" (dosyalar oluşturun/kopyalayın ve izlemek için \"git add\" kullanın)\n"
#, c-format
msgid "nothing to commit\n"
@@ -22169,7 +22321,7 @@ msgstr "(body) Cc: %s, '%s' satırından ekleniyor\n"
#, perl-format
msgid "(%s) Could not execute '%s'"
-msgstr "(%s) '%s' çalıştırılamadı"
+msgstr "(%s) '%s' yürütülemedi"
#, perl-format
msgid "(%s) Adding %s: %s from: '%s'\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index b0832be695..1a0026a7dc 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -119,6 +119,7 @@
# smart HTTP protocol | 智能 HTTP åè®®
# squash | 挤压
# stage | n. 暂存区(å³ç´¢å¼•); v. 暂存
+# stale | 过期的
# stash | n. è´®è—区; v. è´®è—
# submodule | å­æ¨¡ç»„
# symref | 符å·å¼•用
@@ -144,8 +145,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-28 15:50+0100\n"
-"PO-Revision-Date: 2022-09-23 14:53+0100\n"
+"POT-Creation-Date: 2022-12-01 14:04+0000\n"
+"PO-Revision-Date: 2022-12-01 14:17+0000\n"
"Last-Translator: Fangyi Zhou <me@fangyi.io>\n"
"Language-Team: GitHub <https://github.com/fangyi-zhou/git-po/>\n"
"Language: zh_CN\n"
@@ -1016,6 +1017,11 @@ msgstr "命令行以 \\ 结尾"
msgid "unclosed quote"
msgstr "未关闭的引å·"
+#: alias.c builtin/cat-file.c builtin/notes.c builtin/prune-packed.c
+#: builtin/receive-pack.c builtin/tag.c
+msgid "too many arguments"
+msgstr "å¤ªå¤šå‚æ•°"
+
#: apply.c
#, c-format
msgid "unrecognized whitespace option '%s'"
@@ -1467,7 +1473,7 @@ msgstr "ç•¥è¿‡è¡¥ä¸ '%s'。"
msgid "No valid patches in input (allow with \"--allow-empty\")"
msgstr "è¾“å…¥ä¸­æ²¡æœ‰åˆæ³•çš„è¡¥ä¸ ï¼ˆä½¿ç”¨ \"--allow-empty\" æ¥å…许)"
-#: apply.c
+#: apply.c t/helper/test-cache-tree.c
msgid "unable to read index file"
msgstr "无法读å–索引文件"
@@ -1700,7 +1706,7 @@ msgstr "无此引用:%.*s"
msgid "not a valid object name: %s"
msgstr "䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„对象å:%s"
-#: archive.c
+#: archive.c t/helper/test-cache-tree.c
#, c-format
msgid "not a tree object: %s"
msgstr "䏿˜¯ä¸€ä¸ªæ ‘对象:%s"
@@ -1751,7 +1757,7 @@ msgid "prepend prefix to each pathname in the archive"
msgstr "为归档中æ¯ä¸ªè·¯å¾„å加上å‰ç¼€"
#: archive.c builtin/blame.c builtin/commit-tree.c builtin/config.c
-#: builtin/fast-export.c builtin/grep.c builtin/hash-object.c
+#: builtin/fast-export.c builtin/gc.c builtin/grep.c builtin/hash-object.c
#: builtin/ls-files.c builtin/notes.c builtin/read-tree.c parse-options.h
msgid "file"
msgstr "文件"
@@ -3176,54 +3182,6 @@ msgid ""
msgstr "二分查找è¿è¡Œå¤±è´¥ï¼š'git bisect--helper --bisect-state %s' 退出ç ä¸º %d"
#: builtin/bisect--helper.c
-msgid "reset the bisection state"
-msgstr "清除二分查找状æ€"
-
-#: builtin/bisect--helper.c
-msgid "check whether bad or good terms exist"
-msgstr "检查å的或好的术语是å¦å­˜åœ¨"
-
-#: builtin/bisect--helper.c
-msgid "print out the bisect terms"
-msgstr "打å°äºŒåˆ†æŸ¥æ‰¾æœ¯è¯­"
-
-#: builtin/bisect--helper.c
-msgid "start the bisect session"
-msgstr "å¯åŠ¨äºŒåˆ†æŸ¥æ‰¾è¿‡ç¨‹"
-
-#: builtin/bisect--helper.c
-msgid "find the next bisection commit"
-msgstr "查询下一个二分查找æäº¤"
-
-#: builtin/bisect--helper.c
-msgid "mark the state of ref (or refs)"
-msgstr "标记引用的状æ€"
-
-#: builtin/bisect--helper.c
-msgid "list the bisection steps so far"
-msgstr "列出到目å‰ä¸ºæ­¢çš„二分查找步骤"
-
-#: builtin/bisect--helper.c
-msgid "replay the bisection process from the given file"
-msgstr "ä»Žç»™å®šæ–‡ä»¶é‡æ”¾äºŒåˆ†æŸ¥æ‰¾è¿›ç¨‹"
-
-#: builtin/bisect--helper.c
-msgid "skip some commits for checkout"
-msgstr "è·³è¿‡è¦æ£€å‡ºçš„一些æäº¤"
-
-#: builtin/bisect--helper.c
-msgid "visualize the bisection"
-msgstr "å¯è§†åŒ–二分查找过程"
-
-#: builtin/bisect--helper.c
-msgid "use <cmd>... to automatically bisect"
-msgstr "使用 <命令>... æ¥è‡ªåŠ¨äºŒåˆ†æŸ¥æ‰¾"
-
-#: builtin/bisect--helper.c
-msgid "no log for BISECT_WRITE"
-msgstr "BISECT_WRITE 无日志"
-
-#: builtin/bisect--helper.c
msgid "--bisect-reset requires either no argument or a commit"
msgstr "--bisect-reset æ— éœ€å‚æ•°æˆ–者需è¦ä¸€ä¸ªæäº¤"
@@ -3248,6 +3206,10 @@ msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<选项>] [<版本选项>] [<版本>] [--] <文件>"
#: builtin/blame.c
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<选项>] [<版本选项>] [<版本>] [--] <文件>"
+
+#: builtin/blame.c
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<版本选项> 的文档记录在 git-rev-list(1) 中"
@@ -3487,10 +3449,6 @@ msgid "cannot use -a with -d"
msgstr "ä¸èƒ½å°† -a å’Œ -d åŒæ—¶ä½¿ç”¨"
#: builtin/branch.c
-msgid "Couldn't look up commit object for HEAD"
-msgstr "无法查询 HEAD 指å‘çš„æäº¤å¯¹è±¡"
-
-#: builtin/branch.c
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "无法删除检出于 '%2$s' 的分支 '%1$s'。"
@@ -3539,17 +3497,19 @@ msgid "Branch %s is being bisected at %s"
msgstr "分支 %s 正被二分查找于 %s"
#: builtin/branch.c
-msgid "cannot copy the current branch while not on any."
-msgstr "无法拷è´å½“å‰åˆ†æ”¯å› ä¸ºä¸å¤„于任何分支上。"
+#, c-format
+msgid "Invalid branch name: '%s'"
+msgstr "无效的分支å:'%s'"
#: builtin/branch.c
-msgid "cannot rename the current branch while not on any."
-msgstr "无法é‡å‘½å当å‰åˆ†æ”¯å› ä¸ºä¸å¤„于任何分支上。"
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "分支 '%s' å°šæ— æäº¤ã€‚"
#: builtin/branch.c
#, c-format
-msgid "Invalid branch name: '%s'"
-msgstr "无效的分支å:'%s'"
+msgid "No branch named '%s'."
+msgstr "没有分支 '%s'。"
#: builtin/branch.c
msgid "Branch rename failed"
@@ -3758,14 +3718,12 @@ msgid "cannot edit description of more than one branch"
msgstr "ä¸èƒ½ä¸ºä¸€ä¸ªä»¥ä¸Šçš„分支编辑æè¿°"
#: builtin/branch.c
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "分支 '%s' å°šæ— æäº¤ã€‚"
+msgid "cannot copy the current branch while not on any."
+msgstr "ä¸å¤„于任何分支上,无法拷è´å½“å‰åˆ†æ”¯ã€‚"
#: builtin/branch.c
-#, c-format
-msgid "No branch named '%s'."
-msgstr "没有分支 '%s'。"
+msgid "cannot rename the current branch while not on any."
+msgstr "ä¸å¤„于任何分支上,无法é‡å‘½å当å‰åˆ†æ”¯ã€‚"
#: builtin/branch.c
msgid "too many branches for a copy operation"
@@ -3846,11 +3804,11 @@ msgstr "䏿˜¯åœ¨ git 仓库中执行 - æ²¡æœ‰å¯æ˜¾ç¤ºçš„é’©å­\n"
#: builtin/bugreport.c
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <文件>] [-s|--suffix <æ ¼å¼>] [--"
-"diagnose[=<模å¼>]"
+"git bugreport [-o|--output-directory <文件>] [(-s|--suffix) <æ ¼å¼>]\n"
+" [--diagnose[=<模å¼>]"
#: builtin/bugreport.c
msgid ""
@@ -3933,20 +3891,26 @@ msgid "Created new report at '%s'.\n"
msgstr "在 '%s' 创建了新报告。\n"
#: builtin/bundle.c
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<选项>] <文件> <git-rev-list 傿•°>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<版本>] <文件> <git-rev-list-傿•°>"
#: builtin/bundle.c
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<选项>] <文件>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <文件>"
#: builtin/bundle.c
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <文件> [<引用å>...]"
#: builtin/bundle.c
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <文件> [<引用å>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <文件> [<引用å>...]"
#: builtin/bundle.c builtin/pack-objects.c
msgid "do not show progress meter"
@@ -4043,12 +4007,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
#: builtin/cat-file.c
msgid ""
@@ -4185,11 +4149,6 @@ msgstr "'%s' éœ€è¦ <版本>"
msgid "<object> required with '-%c'"
msgstr "'-%c' éœ€è¦ <对象>"
-#: builtin/cat-file.c builtin/notes.c builtin/prune-packed.c
-#: builtin/receive-pack.c builtin/tag.c
-msgid "too many arguments"
-msgstr "å¤ªå¤šå‚æ•°"
-
#: builtin/cat-file.c
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
@@ -4847,9 +4806,10 @@ msgstr "使用å åŠ æ¨¡å¼"
#: builtin/clean.c
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <模å¼>] [-x | -X] [--] <路径>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <模å¼>] [-x | -X] [--] <路径规格>..."
#: builtin/clean.c
#, c-format
@@ -5215,6 +5175,11 @@ msgstr "%s å­˜åœ¨ä¸”ä¸æ˜¯ä¸€ä¸ªç›®å½•"
msgid "failed to start iterator over '%s'"
msgstr "无法在 '%s' 上å¯åŠ¨è¿­ä»£å™¨"
+#: builtin/clone.c
+#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr "符å·é“¾æŽ¥ '%s' 存在,拒ç»ç”¨ --local 克隆"
+
#: builtin/clone.c compat/precompose_utf8.c
#, c-format
msgid "failed to unlink '%s'"
@@ -5297,11 +5262,6 @@ msgid "You must specify a repository to clone."
msgstr "您必须指定一个仓库æ¥å…‹éš†ã€‚"
#: builtin/clone.c
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "选项 '%s' å’Œ '%s %s' ä¸èƒ½åŒæ—¶ä½¿ç”¨"
-
-#: builtin/clone.c
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -5451,22 +5411,27 @@ msgstr "--command å¿…é¡»æ˜¯ç¬¬ä¸€ä¸ªå‚æ•°"
#: builtin/commit-graph.c
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <对象目录>] [--shallow] [--"
-"[no-]progress]"
+"git commit-graph verify [--object-dir <目录>] [--shallow] [--[no-]progress]"
#: builtin/commit-graph.c
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-msgstr ""
-"git commit-graph write [--object-dir <对象目录>] [--append] [--split[=<策略"
-">]] [--reachable|--stdin-packs|--stdin-commits] [--changed-paths] [--"
-"[no-]max-new-filters <n>] [--[no-]progress] <切分选项>"
-
-#: builtin/commit-graph.c builtin/fetch.c builtin/log.c
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
+msgstr ""
+"git commit-graph write [--object-dir <目录>] [--append]\n"
+" [--split[=<ç­–ç•¥>]] [--reachable | --stdin-packs | --"
+"stdin-commits] \n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <切分选项>"
+
+#: builtin/commit-graph.c builtin/fetch.c builtin/log.c builtin/repack.c
msgid "dir"
msgstr "目录"
@@ -5552,12 +5517,16 @@ msgid "Collecting commits from input"
msgstr "正从标准输入收集æäº¤"
#: builtin/commit-tree.c
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <æ ‘> [(-p <父æäº¤>)...]"
+
+#: builtin/commit-tree.c
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <父æäº¤>)...] [-S[<keyid>]] [(-m <消æ¯>)...] [(-F <文件"
-">)...] <æ ‘>"
+"git commit-tree [(-p <父æäº¤>)...] [-S[<ç§é’¥ ID>]] [(-m <消æ¯>)...]\n"
+" [(-F <文件>)...] <树>"
#: builtin/commit-tree.c
#, c-format
@@ -5614,12 +5583,30 @@ msgid "git commit-tree: failed to read"
msgstr "git commit-tree:无法读å–"
#: builtin/commit.c
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<选项>] [--] <路径规格>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<模å¼>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <æäº¤> | --fixup [(amend|"
+"reword):]<æäº¤>)]\n"
+" [-F <文件> | -m <消æ¯>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<作者>]\n"
+" [--date=<日期>] [--cleanup=<模å¼>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<文件> [--pathspec-file-nul]]\n"
+" [(--trailer <é”®>[(=|:)<值>])...] [-S[<ç§é’¥ ID>]]\n"
+" [--] [<路径规格>...]"
#: builtin/commit.c
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<选项>] [--] <路径规格>..."
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [<选项>] [--] [<路径规格>...]"
#: builtin/commit.c
msgid ""
@@ -6228,7 +6215,7 @@ msgstr "使用仓库级é…置文件"
msgid "use per-worktree config file"
msgstr "使用工作区级别的é…置文件"
-#: builtin/config.c
+#: builtin/config.c builtin/gc.c
msgid "use given config file"
msgstr "使用指定的é…置文件"
@@ -6449,7 +6436,7 @@ msgstr "--blob åªèƒ½åœ¨ git 仓库内使用"
msgid "--worktree can only be used inside a git repository"
msgstr "--worktree åªèƒ½åœ¨ git 仓库内使用"
-#: builtin/config.c
+#: builtin/config.c builtin/gc.c
msgid "$HOME not set"
msgstr "$HOME 未设置"
@@ -6559,12 +6546,20 @@ msgid "unable to get credential storage lock in %d ms"
msgstr "无法在 %d ms 获得凭è¯å­˜å‚¨é”"
#: builtin/describe.c
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<选项>] [<æäº¤å·>...]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<æäº¤å·>...]"
+
+#: builtin/describe.c
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<标记>]"
#: builtin/describe.c
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<选项>] --dirty"
+msgid "git describe <blob>"
+msgstr "git describe <æ•°æ®å¯¹è±¡>"
#: builtin/describe.c
msgid "head"
@@ -6717,11 +6712,11 @@ msgstr "选项 '%s' å’Œæäº¤å·ä¸èƒ½åŒæ—¶ä½¿ç”¨"
#: builtin/diagnose.c
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <文件>] [-s|--suffix <æ ¼å¼>] [--mode=<模"
-"å¼>]"
+"git diagnose [(-o | --output-directory) <路径>] [(-s | --suffix) <æ ¼å¼>]\n"
+" [--mode=<模å¼>]"
#: builtin/diagnose.c
msgid "specify a destination for the diagnostics archive"
@@ -6745,6 +6740,10 @@ msgid "'%s': not a regular file or symlink"
msgstr "'%s'ï¼šä¸æ˜¯ä¸€ä¸ªæ­£è§„文件或符å·é“¾æŽ¥"
#: builtin/diff.c
+msgid "no merge given, only parents."
+msgstr "没有给出åˆå¹¶ï¼Œåªæœ‰çˆ¶æäº¤ã€‚"
+
+#: builtin/diff.c
#, c-format
msgid "invalid option: %s"
msgstr "无效选项:%s"
@@ -7533,8 +7532,8 @@ msgid "print only refs which don't contain the commit"
msgstr "åªæ‰“å°ä¸åŒ…å«è¯¥æäº¤çš„引用"
#: builtin/for-each-repo.c
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<é…ç½®> <命令傿•°>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<é…ç½®> [--] <命令傿•°>"
#: builtin/for-each-repo.c
msgid "config"
@@ -7751,8 +7750,16 @@ msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s:resolve-undo 中无效的 sha1 指针"
#: builtin/fsck.c
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<选项>] [<对象>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<对象>...]"
#: builtin/fsck.c
msgid "show unreachable objects"
@@ -7825,14 +7832,6 @@ msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [<选项>]"
#: builtin/fsmonitor--daemon.c
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-#: builtin/fsmonitor--daemon.c
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
-#: builtin/fsmonitor--daemon.c
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "'%s' 的值超出范围:%d"
@@ -7932,7 +7931,7 @@ msgstr "等待守护进程å¯åŠ¨çš„æœ€å¤§ç§’æ•°"
msgid "invalid 'ipc-threads' value (%d)"
msgstr "无效的 'ipc-threads' 值(%d)"
-#: builtin/fsmonitor--daemon.c
+#: builtin/fsmonitor--daemon.c t/helper/test-cache-tree.c
#, c-format
msgid "Unhandled subcommand '%s'"
msgstr "未处ç†çš„å­å‘½ä»¤ '%s'"
@@ -8132,8 +8131,23 @@ msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "最多使用 --auto 和 --schedule=<频率> 其中之一"
#: builtin/gc.c
-msgid "failed to run 'git config'"
-msgstr "无法è¿è¡Œ 'git config'"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "无法添加 '%2$s' 的 '%1$s' 值"
+
+#: builtin/gc.c
+msgid "return success even if repository was not registered"
+msgstr "å³ä¾¿ä»“åº“éžæ³¨å†Œä»ç„¶è¿”回æˆåŠŸ"
+
+#: builtin/gc.c
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "æ— æ³•å–æ¶ˆè®¾ç½® '%2$s' çš„ '%1$s' 值"
+
+#: builtin/gc.c
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "仓库 '%s' 未注册"
#: builtin/gc.c
#, c-format
@@ -8509,11 +8523,15 @@ msgstr "åŒæ—¶ç»™å‡ºäº† --cached 和树对象"
#: builtin/hash-object.c
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <类型>] [-w] [--path=<文件> | --no-filters] [--stdin] "
-"[--] <文件>..."
+"git hash-object [-t <类型>] [-w] [--path=<文件> | --no-filters]\n"
+" [--stdin [--literally]] [--] <文件>..."
+
+#: builtin/hash-object.c
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <类型>] [-w] --stdin-paths [--no-filters]"
#: builtin/hash-object.c
msgid "object type"
@@ -9047,11 +9065,15 @@ msgstr "å·²åˆå§‹åŒ–空的 Git 仓库于 %s%s\n"
#: builtin/init-db.c
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<模æ¿ç›®å½•>] [--shared[=<æƒé™>]] "
-"[<目录>]"
+"git init [-q | --quiet] [--bare] [--template=<模æ¿ç›®å½•>]\n"
+" [--separate-git-dir <git 目录>] [--object-format=<æ ¼å¼>]\n"
+" [-b <分支å> | --initial-branch=<分支å>]\n"
+" [--shared[=<æƒé™>]] [<目录>]"
#: builtin/init-db.c
msgid "permissions"
@@ -9101,11 +9123,13 @@ msgstr "--separate-git-dir ä¸èƒ½ç”¨äºŽçº¯ä»“库"
#: builtin/interpret-trailers.c
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <键>[(=|:)<值"
-">])...] [<文件>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <键>[(=|:)<值>])...]\n"
+" [--parse] [<文件>...]"
#: builtin/interpret-trailers.c
msgid "edit files in place"
@@ -9724,11 +9748,11 @@ msgstr ""
#: builtin/ls-remote.c
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
-"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<坿‰§è¡Œæ–‡ä»¶>]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<é”®>]\n"
" [--symref] [<仓库> [<引用>...]]"
#: builtin/ls-remote.c
@@ -9898,14 +9922,14 @@ msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <æäº¤>..."
#: builtin/merge-base.c
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <æäº¤>..."
-
-#: builtin/merge-base.c
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <æäº¤> <æäº¤>"
#: builtin/merge-base.c
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <æäº¤>..."
+
+#: builtin/merge-base.c
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <引用> [<æäº¤>]"
@@ -10045,9 +10069,23 @@ msgid "allow merging unrelated histories"
msgstr "å…许åˆå¹¶ä¸ç›¸å…³çš„历å²"
#: builtin/merge-tree.c
+msgid "perform multiple merges, one per line of input"
+msgstr "实施多个åˆå¹¶ï¼Œæ¯è¾“入行一个"
+
+#: builtin/merge-tree.c
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge 与其他所有选项ä¸å…¼å®¹"
+#: builtin/merge-tree.c builtin/notes.c
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "æ ¼å¼é”™è¯¯çš„输入行:'%s'。"
+
+#: builtin/merge-tree.c
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "åˆå¹¶æ— æ³•继续;得到ä¸å¹²å‡€çš„结果 %d"
+
#: builtin/merge.c
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<选项>] [<æäº¤>...]"
@@ -10620,7 +10658,7 @@ msgstr "%s,æº=%s,目标=%s"
msgid "Renaming %s to %s\n"
msgstr "é‡å‘½å %s 至 %s\n"
-#: builtin/mv.c builtin/remote.c builtin/repack.c
+#: builtin/mv.c builtin/remote.c
#, c-format
msgid "renaming '%s' failed"
msgstr "é‡å‘½å '%s' 失败"
@@ -10823,11 +10861,6 @@ msgstr "ä¸èƒ½ä»Žéžæ•°æ®å¯¹è±¡ '%s' ä¸­è¯»å–æ³¨è§£æ•°æ®ã€‚"
#: builtin/notes.c
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "æ ¼å¼é”™è¯¯çš„输入行:'%s'。"
-
-#: builtin/notes.c
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "无法把注解从 '%s' æ‹·è´åˆ° '%s'"
@@ -11058,14 +11091,13 @@ msgid "unknown subcommand: `%s'"
msgstr "未知å­å‘½ä»¤ï¼š`%s'"
#: builtin/pack-objects.c
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr "git pack-objects --stdout [<选项>...] [< <引用列表> | < <对象列表>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects --stdout [<选项>] [< <引用列表> | < <对象列表>]"
#: builtin/pack-objects.c
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
-msgstr "git pack-objects [<选项>...] <å‰ç¼€åç§°> [< <引用列表> | < <对象列表>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects [<选项>] <å‰ç¼€åç§°> [< <引用列表> | < <对象列表>]"
#: builtin/pack-objects.c
#, c-format
@@ -11535,8 +11567,8 @@ msgstr ""
"使用它。 谢谢。\n"
#: builtin/pack-refs.c
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<选项>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
#: builtin/pack-refs.c
msgid "pack everything"
@@ -11546,6 +11578,22 @@ msgstr "打包一切"
msgid "prune loose refs (default)"
msgstr "æ¸…é™¤æ¾æ•£çš„引用(默认)"
+#: builtin/patch-id.c
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+#: builtin/patch-id.c
+msgid "use the unstable patch-id algorithm"
+msgstr "使用ä¸ç¨³å®šçš„ patch-id 算法"
+
+#: builtin/patch-id.c
+msgid "use the stable patch-id algorithm"
+msgstr "使用稳定的 patch-id 算法"
+
+#: builtin/patch-id.c
+msgid "don't strip whitespace from the patch"
+msgstr "ä¸è¦ä»Žè¡¥ä¸ä¸­åˆ é™¤ç©ºç™½å­—符"
+
#: builtin/prune.c
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire <æ—¶é—´>] [--] [<head>...]"
@@ -11793,9 +11841,8 @@ msgstr ""
#: builtin/push.c
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
@@ -11953,6 +12000,13 @@ msgstr "推é€åˆ° %s\n"
msgid "failed to push some refs to '%s'"
msgstr "无法推é€ä¸€äº›å¼•用到 '%s'"
+#: builtin/push.c
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr ""
+"在 push.recurseSubmodules=only æ—¶é€’å½’è¿›å…¥å­æ¨¡ç»„ï¼›å–而代之使用 on-demand"
+
#: builtin/push.c builtin/send-pack.c submodule-config.c
#, c-format
msgid "invalid value for '%s'"
@@ -12125,13 +12179,14 @@ msgstr "需è¦ä¸¤ä¸ªæäº¤èŒƒå›´"
#: builtin/read-tree.c
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<å‰ç¼€>) [-"
-"u | -i]] [--no-sparse-checkout] [--index-output=<文件>] (--empty | <树对象一"
-"> [<树对象二> [<树对象三>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<å‰ç¼€>)\n"
+" [-u | -i]] [--index-output=<文件>] [--no-sparse-checkout]\n"
+" (--empty | <树对象一> [<树对象二> [<树对象三>]])"
#: builtin/read-tree.c
msgid "write resulting index to <file>"
@@ -12248,8 +12303,8 @@ msgstr "%s 需è¦åˆå¹¶åŽç«¯"
#: builtin/rebase.c
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "æ— æ³•èŽ·å– 'onto':'%s'"
+msgid "invalid onto: '%s'"
+msgstr "无效新基线:'%s'"
#: builtin/rebase.c
#, c-format
@@ -12613,8 +12668,8 @@ msgid "No such ref: %s"
msgstr "没有这样的引用:%s"
#: builtin/rebase.c
-msgid "Could not resolve HEAD to a revision"
-msgstr "无法将 HEAD è§£æžä¸ºä¸€ä¸ªç‰ˆæœ¬"
+msgid "Could not resolve HEAD to a commit"
+msgstr "ä¸èƒ½è§£æž HEAD 至一个æäº¤"
#: builtin/rebase.c
#, c-format
@@ -13084,7 +13139,7 @@ msgstr " 已跳过"
#: builtin/remote.c
msgid " stale (use 'git remote prune' to remove)"
-msgstr " 过时(使用 'git remote prune' æ¥ç§»é™¤ï¼‰"
+msgstr " 已过期(使用 'git remote prune' æ¥ç§»é™¤ï¼‰"
#: builtin/remote.c
msgid " ???"
@@ -13416,6 +13471,11 @@ msgid "could not close refs snapshot tempfile"
msgstr "ä¸èƒ½å…³é—­å¼•用快照临时文件"
#: builtin/repack.c
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "无法删除过期的ä½å›¾ï¼š %s"
+
+#: builtin/repack.c
msgid "pack everything in a single pack"
msgstr "所有内容打包到一个包文件中"
@@ -13512,6 +13572,10 @@ msgid "write a multi-pack index of the resulting packs"
msgstr "写入结果包的多包索引"
#: builtin/repack.c
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "储存被清除的对象的包的å‰ç¼€"
+
+#: builtin/repack.c
msgid "cannot delete packs in a precious-objects repo"
msgstr "ä¸èƒ½åˆ é™¤çå“仓库中的打包文件"
@@ -13526,11 +13590,16 @@ msgstr "包å‰ç¼€ %s 没有以对象目录 .%s 开始"
#: builtin/repack.c
#, c-format
-msgid "missing required file: %s"
-msgstr "缺少需è¦çš„æ–‡ä»¶ï¼š%s"
+msgid "renaming pack to '%s' failed"
+msgstr "é‡å‘½å包至 '%s' 失败"
#: builtin/repack.c
#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "pack-objects 未为包 %2$s-%3$s 写入 '%1$s' 文件"
+
+#: builtin/repack.c sequencer.c
+#, c-format
msgid "could not unlink: %s"
msgstr "ä¸èƒ½åˆ é™¤ï¼š%s"
@@ -13771,8 +13840,10 @@ msgid "only one pattern can be given with -l"
msgstr "åªèƒ½ä¸º -l æä¾›ä¸€ä¸ªæ¨¡å¼"
#: builtin/rerere.c
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clear | forget <路径>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr ""
+"git rerere [clear | forget <路径规格>... | diff | status | remaining | gc]"
#: builtin/rerere.c
msgid "register clean resolutions in index"
@@ -14027,6 +14098,18 @@ msgstr "--prefix 需è¦ä¸€ä¸ªå‚æ•°"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "未知的 --abbrev-ref 模å¼ï¼š%s"
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden ä¸èƒ½ä¸Ž --branches 一起使用"
+
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden ä¸èƒ½ä¸Ž --tags 一起使用"
+
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden ä¸èƒ½ä¸Ž --remotes 一起使用"
+
#: builtin/rev-parse.c setup.c
msgid "this operation must be run in a work tree"
msgstr "该æ“作必须在一个工作区中è¿è¡Œ"
@@ -14037,20 +14120,27 @@ msgid "unknown mode for --show-object-format: %s"
msgstr "未知的 --show-object-format 模å¼ï¼š%s"
#: builtin/revert.c
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<选项>] <æäº¤å·>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <父编å·>] [-s] [-S[<ç§é’¥ ID>]] <æäº¤>..."
#: builtin/revert.c
-msgid "git revert <subcommand>"
-msgstr "git revert <å­å‘½ä»¤>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
#: builtin/revert.c
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<选项>] <æäº¤å·>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <父编å·>] [-s] [-x] [--ff]\n"
+" [-S[<ç§é’¥ ID>]] <æäº¤>..."
#: builtin/revert.c
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <å­å‘½ä»¤>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#: builtin/revert.c
#, c-format
@@ -14131,8 +14221,14 @@ msgid "cherry-pick failed"
msgstr "拣选失败"
#: builtin/rm.c
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<选项>] [--] <文件>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<文件> [--pathspec-file-nul]]\n"
+" [--] [<路径规格>...]"
#: builtin/rm.c
msgid ""
@@ -14215,11 +14311,13 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<主机>:]<目录> (--all | <引用>...)"
#: builtin/send-pack.c
@@ -14251,8 +14349,9 @@ msgid "using multiple --group options with stdin is not supported"
msgstr "䏿”¯æŒå’Œæ ‡å‡†è¾“入一起使用多个 --group 选项"
#: builtin/shortlog.c
-msgid "using --group=trailer with stdin is not supported"
-msgstr "䏿”¯æŒå’Œæ ‡å‡†è¾“入一起使用 --group=trailer"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "䏿”¯æŒå¯¹ %s 使用标准输入"
#: builtin/shortlog.c
#, c-format
@@ -14300,12 +14399,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<何时>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<版本> | <通é…符>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<版本> | <通é…符>)...]"
#: builtin/show-branch.c
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
@@ -14434,11 +14535,13 @@ msgstr "未知的哈希算法"
#: builtin/show-ref.c
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<模å¼>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<模å¼>...]"
#: builtin/show-ref.c
msgid "git show-ref --exclude-existing[=<pattern>]"
@@ -14477,8 +14580,10 @@ msgid "show refs from stdin that aren't in local repository"
msgstr "显示从标准输入中读入的ä¸åœ¨æœ¬åœ°ä»“库中的引用"
#: builtin/sparse-checkout.c
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <选项>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<选项>]"
#: builtin/sparse-checkout.c
msgid "this worktree is not sparse"
@@ -14619,78 +14724,65 @@ msgid "error while refreshing working directory"
msgstr "刷新工作目录时出错"
#: builtin/stash.c
-msgid "git stash list [<options>]"
-msgstr "git stash list [<选项>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<日志选项>]"
+
+#: builtin/stash.c
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<差异选项>] [<"
+"贮存>]"
#: builtin/stash.c
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<选项>] [<stash>]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<贮存>]"
#: builtin/stash.c
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<stash>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<贮存>]"
#: builtin/stash.c
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<贮存>]"
#: builtin/stash.c
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <分支å> [<stash>]"
#: builtin/stash.c
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr "git stash store [(-m | --message) <消æ¯>] [-q | --quiet] <æäº¤>"
+
+#: builtin/stash.c
msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
" [--] [<pathspec>...]]"
msgstr ""
-"git stash [push [-p|--patch] [[-S|--staged] -k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <消æ¯>]\n"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message <消æ¯>]\n"
" [--pathspec-from-file=<文件> [--pathspec-file-nul]]\n"
" [--] [<路径规格>...]]"
#: builtin/stash.c
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<消æ¯>]"
-
-#: builtin/stash.c
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
-
-#: builtin/stash.c
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<消æ¯>]"
#: builtin/stash.c
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <消æ¯>] [-q|--quiet] <æäº¤>"
-
-#: builtin/stash.c
-msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
-msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <消æ¯>]\n"
-" [--] [<路径规格>...]]"
-
-#: builtin/stash.c
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<消æ¯>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<消æ¯>]"
#: builtin/stash.c
#, c-format
@@ -15379,10 +15471,6 @@ msgid "don't fetch new objects from the remote site"
msgstr "ä¸è¦ä»Žè¿œç¨‹åœ°å€èŽ·å–æ–°å¯¹è±¡"
#: builtin/submodule--helper.c
-msgid "path into the working tree"
-msgstr "到工作区的路径"
-
-#: builtin/submodule--helper.c
msgid "use the 'checkout' update strategy (default)"
msgstr "使用 'checkout' 更新策略(默认)"
@@ -15427,34 +15515,10 @@ msgstr ""
"径>...]"
#: builtin/submodule--helper.c
-msgid "recurse into submodules"
-msgstr "åœ¨å­æ¨¡ç»„中递归"
-
-#: builtin/submodule--helper.c
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [<选项>] [<路径>...]"
#: builtin/submodule--helper.c
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "检查写入 .gitmodules 文件是å¦å®‰å…¨"
-
-#: builtin/submodule--helper.c
-msgid "unset the config in the .gitmodules file"
-msgstr "å–æ¶ˆ .gitmodules 文件中的设置"
-
-#: builtin/submodule--helper.c
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config <åç§°> [<值>]"
-
-#: builtin/submodule--helper.c
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <åç§°>"
-
-#: builtin/submodule--helper.c
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr "请确认 .gitmodules 文件在工作区里"
-
-#: builtin/submodule--helper.c
msgid "suppress output for setting url of a submodule"
msgstr "æŠ‘åˆ¶è®¾ç½®å­æ¨¡ç»„ URL 的输出"
@@ -15548,6 +15612,10 @@ msgid "unable to checkout submodule '%s'"
msgstr "æ— æ³•æ£€å‡ºå­æ¨¡ç»„ '%s'"
#: builtin/submodule--helper.c
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "请确认 .gitmodules 文件在工作区里"
+
+#: builtin/submodule--helper.c
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "æ— æ³•æ·»åŠ å­æ¨¡ç»„ '%s'"
@@ -15608,23 +15676,26 @@ msgstr "仓库 URL:'%s' 必须是ç»å¯¹è·¯å¾„或以 ./|../ èµ·å§‹"
msgid "'%s' is not a valid submodule name"
msgstr "'%s' 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„å­æ¨¡ç»„åç§°"
+#: builtin/submodule--helper.c
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <命令>"
+
#: builtin/submodule--helper.c git.c
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s 䏿”¯æŒ --super-prefix"
-#: builtin/submodule--helper.c
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "'%s' 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ submodule--helper å­å‘½ä»¤"
+#: builtin/symbolic-ref.c
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <ç†ç”±>] <åç§°> <引用>"
#: builtin/symbolic-ref.c
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<选项>] <åç§°> [<引用>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <åç§°>"
#: builtin/symbolic-ref.c
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <åç§°>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <åç§°>"
#: builtin/symbolic-ref.c
msgid "suppress error message for non-symbolic (detached) refs"
@@ -15638,6 +15709,10 @@ msgstr "删除符å·å¼•用"
msgid "shorten ref output"
msgstr "缩短引用输出"
+#: builtin/symbolic-ref.c
+msgid "recursively dereference (default)"
+msgstr "递归解引用(默认)"
+
#: builtin/symbolic-ref.c builtin/update-ref.c
msgid "reason"
msgstr "原因"
@@ -15648,11 +15723,11 @@ msgstr "更新的原因"
#: builtin/tag.c
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <消æ¯> | -F <文件>]\n"
-" <标签å> [<头>]"
+"git tag [-a | -s | -u <ç§é’¥ ID>] [-f] [-m <消æ¯> | -F <文件>] [-e]\n"
+" <标签å> [<æäº¤> | <对象>]"
#: builtin/tag.c
msgid "git tag -d <tagname>..."
@@ -15660,14 +15735,15 @@ msgstr "git tag -d <标签å>..."
#: builtin/tag.c
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<æ•°å­—>]] [--contains <æäº¤>] [--no-contains <æäº¤>] [--points-"
-"at <对象>]\n"
-" [--format=<æ ¼å¼>] [--merged <æäº¤>] [--no-merged <æäº¤>] [<模å¼>...]"
+"git tag [-n[<æ•°å­—>]] -l [--contains <æäº¤>] [--no-contains <æäº¤>]\n"
+" [--points-at <对象>] [--column[=<选项>] | --no-column]\n"
+" [--create-reflog] [--sort=<é”®>] [--format=<æ ¼å¼>]\n"
+" [--merged <æäº¤>] [--no-merged <æäº¤>] [<模å¼>...]"
#: builtin/tag.c
msgid "git tag -v [--format=<format>] <tagname>..."
@@ -16139,8 +16215,12 @@ msgid "update the info files from scratch"
msgstr "从头开始更新文件信æ¯"
#: builtin/upload-pack.c
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<选项>] <目录>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <目录>"
#: builtin/upload-pack.c t/helper/test-serve-v2.c
msgid "quit after a single request/response exchange"
@@ -16159,8 +16239,8 @@ msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "䏿´»åЍ <n> ç§’é’ŸåŽç»ˆæ­¢ä¼ è¾“"
#: builtin/verify-commit.c
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <æäº¤>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <æäº¤>..."
#: builtin/verify-commit.c
msgid "print commit contents"
@@ -16171,8 +16251,8 @@ msgid "print raw gpg status output"
msgstr "打å°åŽŸå§‹ gpg 状æ€è¾“出"
#: builtin/verify-pack.c
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <包>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <包>.idx..."
#: builtin/verify-pack.c
msgid "verbose"
@@ -16183,44 +16263,48 @@ msgid "show statistics only"
msgstr "åªæ˜¾ç¤ºç»Ÿè®¡"
#: builtin/verify-tag.c
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<æ ¼å¼>] <标签>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<æ ¼å¼>] [--raw] <标签>..."
#: builtin/verify-tag.c
msgid "print tag contents"
msgstr "æ‰“å°æ ‡ç­¾å†…容"
#: builtin/worktree.c
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<选项>] <路径> [<æäº¤>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <字符串>]]\n"
+" [-b <新分支>] <路径> [<æäº¤å·>]"
#: builtin/worktree.c
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<选项>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
#: builtin/worktree.c
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<选项>] <路径>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <字符串>] <工作区>"
#: builtin/worktree.c
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <工作区> <新路径>"
#: builtin/worktree.c
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<选项>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <过期>]"
#: builtin/worktree.c
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<选项>] <工作区>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <工作区>"
#: builtin/worktree.c
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [<路径>...]"
#: builtin/worktree.c
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <路径>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <工作区>"
#: builtin/worktree.c
#, c-format
@@ -16505,6 +16589,11 @@ msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch 䏿”¯æŒæœ¬å¹³å°"
#: bundle-uri.c
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "在 '%s' 的归档包列表没有模å¼"
+
+#: bundle-uri.c
msgid "failed to create temporary file"
msgstr "无法创建临时文件"
@@ -16514,18 +16603,35 @@ msgstr "缺ä¹èƒ½åŠ›"
#: bundle-uri.c
#, c-format
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "ä¸å¯è¾¨è®¤çš„å½’æ¡£åŒ…æ¨¡å¼æ¥è‡ª URI '%s'"
+
+#: bundle-uri.c
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "超过了 URI 递归é™åˆ¶ (%d)"
+
+#: bundle-uri.c
+#, c-format
msgid "failed to download bundle from URI '%s'"
msgstr "无法从 URI '%s' 下载归档包"
#: bundle-uri.c
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "ä½äºŽ URI '%s' çš„æ–‡ä»¶ä¸æ˜¯å½’档包"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "ä½äºŽ URI '%s' çš„æ–‡ä»¶ä¸æ˜¯å½’档包或归档包列表"
#: bundle-uri.c
-#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "无法从 URI '%s' 解开归档包"
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri: 获得了空行"
+
+#: bundle-uri.c
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri: è¡Œä¸æ˜¯ä»¥ 'key=value' æ ¼å¼"
+
+#: bundle-uri.c
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri: 行有空的键或值"
#: bundle.c
#, c-format
@@ -17280,7 +17386,7 @@ msgid "Chunk-based file formats"
msgstr "å—弿–‡ä»¶æ ¼å¼"
#: command-list.h
-msgid "Git commit graph format"
+msgid "Git commit-graph format"
msgstr "Git æäº¤å›¾æ ¼å¼"
#: command-list.h
@@ -17707,6 +17813,11 @@ msgstr "'has_worktree_moved' 中未处ç†çš„æƒ…况:%d"
msgid "health thread wait failed [GLE %ld]"
msgstr "å¥åº·ç›‘测线程等待失败 [GLE %ld]"
+#: compat/fsmonitor/fsm-ipc-darwin.c
+#, c-format
+msgid "Invalid path: %s"
+msgstr "无效路径: %s"
+
#: compat/fsmonitor/fsm-listen-darwin.c
msgid "Unable to create FSEventStream."
msgstr "无法创建 FSEventStream。"
@@ -17745,12 +17856,32 @@ msgstr "GetOverlappedResult 失败于 '%s' [GLE %ld]"
msgid "could not read directory changes [GLE %ld]"
msgstr "无法获å–ç›®å½•å˜æ›´ [GLE %ld]"
-#: compat/fsmonitor/fsm-settings-win32.c
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "opendir('%s') failed"
+msgstr "opendir('%s') 失败"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "lstat('%s') 失败"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "strbuf_readlink('%s') 失败"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "closedir('%s') 失败"
+
+#: compat/fsmonitor/fsm-path-utils-win32.c
#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] 无法打开è¦è¯»å–çš„ '%ls'"
-#: compat/fsmonitor/fsm-settings-win32.c
+#: compat/fsmonitor/fsm-path-utils-win32.c
#, c-format
msgid "[GLE %ld] unable to get protocol information for '%ls'"
msgstr "[GLE %ld] æ— æ³•èŽ·å– '%ls' çš„åè®®ä¿¡æ¯ "
@@ -19719,8 +19850,9 @@ msgstr "虚拟仓库 '%s' 与 fsmonitor ä¸å…¼å®¹"
#: fsmonitor-settings.c
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
-msgstr "因为缺少 Unix 套接字,仓库 '%s' 与 fsmonitor ä¸å…¼å®¹"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
+msgstr "因为缺少 Unix 套接字支æŒï¼Œå¥—接字目录 '%s' 与 fsmonitor ä¸å…¼å®¹"
#: git.c
msgid ""
@@ -20107,8 +20239,8 @@ msgstr[1] ""
"最相似的命令是"
#: help.c
-msgid "git version [<options>]"
-msgstr "git version [<选项>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#: help.c
#, c-format
@@ -21181,11 +21313,6 @@ msgid "%s: ignoring alternate object stores, nesting too deep"
msgstr "%s:忽略备用对象库,嵌套太深"
#: object-file.c
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "无法规范化对象目录: %s"
-
-#: object-file.c
msgid "unable to fdopen alternates lockfile"
msgstr "无法 fdopen 替æ¢é”文件"
@@ -22194,6 +22321,11 @@ msgstr "promisor-remote:无法关闭至 fetch å­è¿›ç¨‹çš„æ ‡å‡†è¾“å…¥"
msgid "promisor remote name cannot begin with '/': %s"
msgstr "promisor 远程åç§°ä¸èƒ½ä»¥ '/' 开始:%s"
+#: promisor-remote.c
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "æ— æ³•ä»Žæ‰¿è¯ºè€…è¿œç¨‹èŽ·å– %s"
+
#: protocol-caps.c
msgid "object-info: expected flush after arguments"
msgstr "object-infoï¼šåœ¨å‚æ•°ä¹‹åŽåº”有一个 flush"
@@ -23468,6 +23600,15 @@ msgstr "无法找到 %s 指å‘的树"
#: revision.c
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "䏿”¯æŒçš„éšè—引用片段: %s"
+
+#: revision.c
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden= ä¼ é€’äº†ä¸æ­¢ä¸€æ¬¡"
+
+#: revision.c
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo 记录 `%s`,现缺失"
@@ -23653,6 +23794,16 @@ msgstr "--all 或者 <登记>ï¼Œè€Œä¸æ˜¯ä¸¤ä¸ªä¸€èµ·"
#: scalar.c
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "无法删除过期的 scalar.repo '%s'"
+
+#: scalar.c
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "正在删除过期的 scalar.repo '%s'"
+
+#: scalar.c
+#, c-format
msgid "git repository gone in '%s'"
msgstr "在 '%s' 的 git 仓库已消失"
@@ -24398,6 +24549,11 @@ msgid "illegal label name: '%.*s'"
msgstr "éžæ³•的标签å称:'%.*s'"
#: sequencer.c
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "æ— æ³•è§£æž '%s'"
+
+#: sequencer.c
msgid "writing fake root commit"
msgstr "写伪根æäº¤"
@@ -24406,11 +24562,6 @@ msgid "writing squash-onto"
msgstr "写入 squash-onto"
#: sequencer.c
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "æ— æ³•è§£æž '%s'"
-
-#: sequencer.c
msgid "cannot merge without a current revision"
msgstr "没有当å‰ç‰ˆæœ¬ä¸èƒ½åˆå¹¶"
@@ -25123,6 +25274,18 @@ msgstr "ls-tree 返回未知返回值 %d"
msgid "failed to lstat '%s'"
msgstr "无法执行 lstat '%s'"
+#: t/helper/test-cache-tree.c
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <选项> (control|prime|update)"
+
+#: t/helper/test-cache-tree.c
+msgid "clear the cache tree before each iteration"
+msgstr "åœ¨æ¯æ¬¡è¿­ä»£å‰æ¸…除缓存树"
+
+#: t/helper/test-cache-tree.c
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr "缓存树中无效化的æ¡ç›®æ•°é‡ï¼ˆé»˜è®¤ 0)"
+
#: t/helper/test-fast-rebase.c
msgid "unhandled options"
msgstr "未处ç†çš„选项"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 29b8089141..aa59a8e933 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -1,9 +1,11 @@
# Chinese (traditional) translations for Git package
# Git 套è£è»Ÿé«”çš„ç¹é«”中文翻譯。
# Copyright (C) 2012-2021 Jiang Xin <worldhello.net AT gmail.com>
-# Copyright (C) 2019-2021 Yi-Jyun Pan <pan93412@gmail.com>
+# Copyright (C) 2019-2022 Yi-Jyun Pan <pan93412@gmail.com>
# This file is distributed under the same license as the Git package.
#
+# The glossary can be found on https://github.com/l10n-tw/git-glossary
+#
# Contributors (CN):
# - Fangyi Zhou <me AT fangyi.io>
# - Jiang Xin <worldhello.net AT gmail.com>
@@ -18,12 +20,13 @@
# - Zhuang Ya <zhuangya AT me.com>
#
# Yi-Jyun Pan <pan93412@gmail.com>, 2021, 2022.
+# Kaiyang Wu <self@origincode.me>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2022-09-23 21:57+0000\n"
-"PO-Revision-Date: 2022-10-01 19:02+0800\n"
+"POT-Creation-Date: 2022-12-11 00:28+0800\n"
+"PO-Revision-Date: 2022-12-10 17:12+0000\n"
"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
"Language-Team: Chinese (Traditional) <http://weblate.slat.org/projects/git-"
"po/git-cli/zh_Hant/>\n"
@@ -32,7 +35,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 3.1.1\n"
+"X-Generator: Weblate 4.14.2\n"
"X-ZhConverter: ç¹åŒ–姬 dict-f4bc617e-r910 @ 2019/11/16 20:23:12 | https://"
"zhconvert.org\n"
@@ -64,7 +67,7 @@ msgstr "æ›´æ–°"
#: add-interactive.c
#, c-format
msgid "could not stage '%s'"
-msgstr "無法暫存「%sã€"
+msgstr "無法暫存 “%sâ€"
#: add-interactive.c builtin/stash.c reset.c sequencer.c
msgid "could not write index"
@@ -79,12 +82,12 @@ msgstr[0] "已更新 %d 個路徑\n"
#: add-interactive.c git-add--interactive.perl
#, c-format, perl-format
msgid "note: %s is untracked now.\n"
-msgstr "注æ„:%s ç¾å·²ä¸å†è¿½è¹¤ã€‚\n"
+msgstr "註:ç¾å·²ä¸å†è¿½è¹¤ %s。\n"
#: add-interactive.c apply.c builtin/checkout.c builtin/reset.c
#, c-format
msgid "make_cache_entry failed for path '%s'"
-msgstr "「%sã€è·¯å¾‘執行 make_cache_entry 失敗"
+msgstr "å° â€œ%s†路徑執行 make_cache_entry 失敗"
#: add-interactive.c git-add--interactive.perl
msgid "Revert"
@@ -92,13 +95,13 @@ msgstr "還原"
#: add-interactive.c
msgid "Could not parse HEAD^{tree}"
-msgstr "ä¸èƒ½è§£æž HEAD^{樹}"
+msgstr "ç„¡æ³•è§£æž HEAD^{tree}"
#: add-interactive.c git-add--interactive.perl
#, c-format, perl-format
msgid "reverted %d path\n"
msgid_plural "reverted %d paths\n"
-msgstr[0] "還原了 %d 個路徑\n"
+msgstr[0] "已還原 %d 個路徑\n"
#: add-interactive.c git-add--interactive.perl
#, c-format
@@ -107,28 +110,28 @@ msgstr "沒有未追蹤的檔案。\n"
#: add-interactive.c git-add--interactive.perl
msgid "Add untracked"
-msgstr "新增未追蹤的"
+msgstr "加入未追蹤項目"
#: add-interactive.c git-add--interactive.perl
#, c-format, perl-format
msgid "added %d path\n"
msgid_plural "added %d paths\n"
-msgstr[0] "增加了 %d 個路徑\n"
+msgstr[0] "已加入 %d 個路徑\n"
#: add-interactive.c
#, c-format
msgid "ignoring unmerged: %s"
-msgstr "忽略未åˆä½µï¼š%s"
+msgstr "忽略未åˆä½µé …目:%s"
#: add-interactive.c add-patch.c git-add--interactive.perl
#, c-format
msgid "Only binary files changed.\n"
-msgstr "åªæœ‰äºŒé€²ä½æª”案被修改。\n"
+msgstr "åªè®Šæ›´äºŒé€²ä½æª”案。\n"
#: add-interactive.c add-patch.c git-add--interactive.perl
#, c-format
msgid "No changes.\n"
-msgstr "沒有修改。\n"
+msgstr "沒有更動。\n"
#: add-interactive.c git-add--interactive.perl
msgid "Patch update"
@@ -136,19 +139,19 @@ msgstr "修補檔更新"
#: add-interactive.c git-add--interactive.perl
msgid "Review diff"
-msgstr "檢視 diff"
+msgstr "檢閱差異"
#: add-interactive.c
msgid "show paths with changes"
-msgstr "顯示有變更的路徑"
+msgstr "顯示有更動的路徑"
#: add-interactive.c
msgid "add working tree state to the staged set of changes"
-msgstr "加入工作å€ç‹€æ…‹è‡³æš«å­˜åˆ—表"
+msgstr "將工作å€ç‹€æ…‹åŠ å…¥è‡³æš«å­˜æ›´å‹•é›†"
#: add-interactive.c
msgid "revert staged set of changes back to the HEAD version"
-msgstr "還原修改的暫存集至 HEAD 版本"
+msgstr "將暫存的更動集還原回 HEAD 版本"
#: add-interactive.c
msgid "pick hunks and update selectively"
@@ -160,7 +163,7 @@ msgstr "檢視 HEAD åŠç´¢å¼•之間的差異"
#: add-interactive.c
msgid "add contents of untracked files to the staged set of changes"
-msgstr "加入未追蹤檔案的內容至暫存列表"
+msgstr "將未追蹤檔案的內容加入至更動暫存集"
#: add-interactive.c
msgid "Prompt help:"
@@ -168,23 +171,23 @@ msgstr "æç¤ºèªªæ˜Žï¼š"
#: add-interactive.c
msgid "select a single item"
-msgstr "鏿“‡å–®ä¸€é …ç›®"
+msgstr "é¸å–一個項目"
#: add-interactive.c
msgid "select a range of items"
-msgstr "鏿“‡é …目範åœ"
+msgstr "é¸å–範åœä¸­é …ç›®"
#: add-interactive.c
msgid "select multiple ranges"
-msgstr "鏿“‡å¤šå€‹ç¯„åœ"
+msgstr "é¸å–多個範åœ"
#: add-interactive.c
msgid "select item based on unique prefix"
-msgstr "基於唯一å‰ç¶´é¸æ“‡é …ç›®"
+msgstr "根據ç¨ç‰¹å‰ç¶´é¸å–é …ç›®"
#: add-interactive.c
msgid "unselect specified items"
-msgstr "å–æ¶ˆé¸æ“‡æŒ‡å®šé …ç›®"
+msgstr "å–æ¶ˆé¸å–指定項目"
#: add-interactive.c
msgid "choose all items"
@@ -196,15 +199,15 @@ msgstr "(空)完æˆé¸å–"
#: add-interactive.c
msgid "select a numbered item"
-msgstr "鏿“‡ç·¨è™ŸéŽçš„é …ç›®"
+msgstr "é¸å–編號éŽçš„é …ç›®"
#: add-interactive.c
msgid "(empty) select nothing"
-msgstr "(空)全ä¸é¸å–"
+msgstr "(空)全部ä¸é¸å–"
#: add-interactive.c builtin/clean.c git-add--interactive.perl
msgid "*** Commands ***"
-msgstr "*** 指令 ***"
+msgstr "*** 命令 ***"
#: add-interactive.c builtin/clean.c git-add--interactive.perl
msgid "What now"
@@ -212,11 +215,11 @@ msgstr "è«‹é¸æ“‡"
#: add-interactive.c git-add--interactive.perl
msgid "staged"
-msgstr "å¿«å–"
+msgstr "已暫存"
#: add-interactive.c git-add--interactive.perl
msgid "unstaged"
-msgstr "未快å–"
+msgstr "未暫存"
#: add-interactive.c apply.c builtin/am.c builtin/bugreport.c builtin/clone.c
#: builtin/diagnose.c builtin/fetch.c builtin/merge.c builtin/pull.c
@@ -236,17 +239,17 @@ msgstr "å†è¦‹ã€‚\n"
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr "暫存模å¼è®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "æš«å­˜æ¨¡å¼æ›´å‹• [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr "暫存刪除變更 [y,n,q,a,d%s,?]? "
+msgstr "暫存刪除動作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Stage addition [y,n,q,a,d%s,?]? "
-msgstr "暫存新增變更 [y,n,q,a,d%s,?]? "
+msgstr "暫存加入動作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
@@ -257,7 +260,7 @@ msgstr "暫存此å€å¡Š [y,n,q,a,d%s,?]? "
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"staging."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæš«å­˜ã€‚"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæš«å­˜ã€‚"
#: add-patch.c
msgid ""
@@ -276,28 +279,28 @@ msgstr ""
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr "å„²è—æ¨¡å¼è®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "è²¯å­˜æ¨¡å¼æ›´å‹• [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr "儲è—刪除變更 [y,n,q,a,d%s,?]? "
+msgstr "貯存刪除動作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Stash addition [y,n,q,a,d%s,?]? "
-msgstr "å„²è—æ–°å¢žè®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "貯存加入動作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr "å„²è—æ­¤å€å¡Š [y,n,q,a,d%s,?]? "
+msgstr "貯存此å€å¡Š [y,n,q,a,d%s,?]? "
#: add-patch.c
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"stashing."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºå„²è—。"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºè²¯å­˜ã€‚"
#: add-patch.c
msgid ""
@@ -307,26 +310,26 @@ msgid ""
"a - stash this hunk and all later hunks in the file\n"
"d - do not stash this hunk or any of the later hunks in the file\n"
msgstr ""
-"y - å„²è—æ­¤å€å¡Š\n"
-"n - ä¸è¦å„²è—æ­¤å€å¡Š\n"
-"q - 離開。ä¸å„²è—æ­¤å€å¡ŠåŠå¾Œé¢çš„全部å€å¡Š\n"
-"a - å„²è—æ­¤å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š\n"
-"d - ä¸å„²è—æ­¤å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š\n"
+"y - 貯存此å€å¡Š\n"
+"n - ä¸è¦è²¯å­˜æ­¤å€å¡Š\n"
+"q - 離開。ä¸è²¯å­˜æ­¤å€å¡ŠåŠå¾Œé¢çš„全部å€å¡Š\n"
+"a - 貯存此å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š\n"
+"d - ä¸è²¯å­˜æ­¤å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š\n"
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr "å–æ¶ˆæš«å­˜æ¨¡å¼è®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "å–æ¶ˆæš«å­˜æ¨¡å¼æ›´å‹• [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr "å–æ¶ˆæš«å­˜åˆªé™¤è®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "å–æ¶ˆæš«å­˜åˆªé™¤å‹•作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Unstage addition [y,n,q,a,d%s,?]? "
-msgstr "å–æ¶ˆæš«å­˜æ–°å¢žè®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "å–æ¶ˆæš«å­˜åŠ å…¥å‹•ä½œ [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
@@ -337,7 +340,7 @@ msgstr "å–æ¶ˆæš«å­˜æ­¤å€å¡Š [y,n,q,a,d%s,?]? "
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"unstaging."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæœªæš«å­˜ã€‚"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæœªæš«å­˜ã€‚"
#: add-patch.c
msgid ""
@@ -356,17 +359,17 @@ msgstr ""
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr "將模å¼è®Šæ›´å¥—用到索引 [y,n,q,a,d%s,?]? "
+msgstr "å°‡æ¨¡å¼æ›´å‹•套用到索引 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr "將刪除變更套用到索引 [y,n,q,a,d%s,?]? "
+msgstr "將刪除動作套用至索引 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply addition to index [y,n,q,a,d%s,?]? "
-msgstr "套用新增變更至索引 [y,n,q,a,d%s,?]? "
+msgstr "將加入動作套用至索引 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
@@ -377,7 +380,7 @@ msgstr "將此å€å¡Šå¥—用到索引 [y,n,q,a,d%s,?]? "
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"applying."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºå¥—用。"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºå¥—用。"
#: add-patch.c
msgid ""
@@ -396,28 +399,28 @@ msgstr ""
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr "從工作å€ä¸­æ¨æ£„模å¼è®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "å¾žå·¥ä½œå€æ¨æ£„æ¨¡å¼æ›´å‹• [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr "從工作å€ä¸­æ¨æ£„刪除變更 [y,n,q,a,d%s,?]? "
+msgstr "å¾žå·¥ä½œå€æ¨æ£„刪除動作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
-msgstr "放棄工作目錄的新增變更 [y,n,q,a,d%s,?]? "
+msgstr "å¾žå·¥ä½œå€æ¨æ£„加入動作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr "從工作å€ä¸­æ¨æ£„æ­¤å€å¡Š [y,n,q,a,d%s,?]? "
+msgstr "å¾žå·¥ä½œå€æ¨æ£„æ­¤å€å¡Š [y,n,q,a,d%s,?]? "
#: add-patch.c
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"discarding."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæ¨æ£„。"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæ¨æ£„。"
#: add-patch.c
msgid ""
@@ -436,22 +439,22 @@ msgstr ""
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "從索引和工作å€ä¸­æ¨æ£„模å¼è®Šæ›´ [y,n,q,a,d%s,?]? "
+msgstr "å¾žç´¢å¼•å’Œå·¥ä½œå€æ¨æ£„æ¨¡å¼æ›´å‹• [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "從索引和工作å€ä¸­æ¨æ£„刪除 [y,n,q,a,d%s,?]? "
+msgstr "å¾žç´¢å¼•å’Œå·¥ä½œå€æ¨æ£„刪除 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "放棄索引åŠå·¥ä½œç›®éŒ„的新增變更 [y,n,q,a,d%s,?]? "
+msgstr "å¾žç´¢å¼•å’Œå·¥ä½œå€æ¨æ£„加入動作 [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "從索引和工作å€ä¸­æ¨æ£„æ­¤å€å¡Š [y,n,q,a,d%s,?]? "
+msgstr "å¾žç´¢å¼•å’Œå·¥ä½œå€æ¨æ£„æ­¤å€å¡Š [y,n,q,a,d%s,?]? "
#: add-patch.c
msgid ""
@@ -470,17 +473,17 @@ msgstr ""
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "將模å¼è®Šæ›´å¥—ç”¨åˆ°ç´¢å¼•å’Œå·¥ä½œå€ [y,n,q,a,d%s,?]? "
+msgstr "å°‡æ¨¡å¼æ›´å‹•å¥—ç”¨åˆ°ç´¢å¼•å’Œå·¥ä½œå€ [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "å°‡åˆªé™¤è®Šæ›´å¥—ç”¨åˆ°ç´¢å¼•å’Œå·¥ä½œå€ [y,n,q,a,d%s,?]? "
+msgstr "å°‡åˆªé™¤å‹•ä½œå¥—ç”¨åˆ°ç´¢å¼•å’Œå·¥ä½œå€ [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
-msgstr "套用索引åŠå·¥ä½œç›®éŒ„的新增變更 [y,n,q,a,d%s,?]? "
+msgstr "å°‡åŠ å…¥å‹•ä½œå¥—ç”¨åˆ°ç´¢å¼•å’Œå·¥ä½œå€ [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
@@ -504,17 +507,17 @@ msgstr ""
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
-msgstr "將模å¼è®Šæ›´å¥—ç”¨åˆ°å·¥ä½œå€ [y,n,q,a,d%s,?]? "
+msgstr "å°‡æ¨¡å¼æ›´å‹•å¥—ç”¨åˆ°å·¥ä½œå€ [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
-msgstr "å°‡åˆªé™¤è®Šæ›´å¥—ç”¨åˆ°å·¥ä½œå€ [y,n,q,a,d%s,?]? "
+msgstr "å°‡åˆªé™¤å‹•ä½œå¥—ç”¨åˆ°å·¥ä½œå€ [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
-msgstr "å°‡æ–°å¢žè®Šæ›´å¥—ç”¨åˆ°å·¥ä½œå€ [y,n,q,a,d%s,?]? "
+msgstr "å°‡åŠ å…¥å‹•ä½œå¥—ç”¨åˆ°å·¥ä½œå€ [y,n,q,a,d%s,?]? "
#: add-patch.c git-add--interactive.perl
#, c-format, perl-format
@@ -538,20 +541,20 @@ msgstr ""
#: add-patch.c
#, c-format
msgid "could not parse hunk header '%.*s'"
-msgstr "無法解æžå€å¡Šæ¨™é ­ '%.*s'"
+msgstr "無法解æžå€å¡Šæ¨™é ­ “%.*sâ€"
#: add-patch.c
msgid "could not parse diff"
-msgstr "無法解æžå·®ç•° (diff)"
+msgstr "無法解æžå·®ç•°"
#: add-patch.c
msgid "could not parse colored diff"
-msgstr "無法解æžä¸Šè‰²éŽçš„差異 (diff)"
+msgstr "無法解æžä¸Šè‰²éŽçš„差異"
#: add-patch.c
#, c-format
msgid "failed to run '%s'"
-msgstr "無法執行 '%s'"
+msgstr "無法執行 “%sâ€"
#: add-patch.c
msgid "mismatched output from interactive.diffFilter"
@@ -562,7 +565,7 @@ msgid ""
"Your filter must maintain a one-to-one correspondence\n"
"between its input and output lines."
msgstr ""
-"æ‚¨çš„éŽæ¿¾å™¨å¿…須在其輸入åŠè¼¸å‡ºè¡Œ\n"
+"æ‚¨çš„éŽæ¿¾å™¨å¿…須在其輸入åŠè¼¸å‡ºåˆ—\n"
"ç¶­æŒä¸€å°ä¸€çš„å°æ‡‰é—œä¿‚。"
#: add-patch.c
@@ -571,7 +574,7 @@ msgid ""
"expected context line #%d in\n"
"%.*s"
msgstr ""
-"應有上下文行 #%d 於\n"
+"é æœŸåœ¨ä¸‹è¿°ä½ç½®æœ‰ä¸Šä¸‹æ–‡åˆ— #%d:\n"
"%.*s"
#: add-patch.c
@@ -584,12 +587,12 @@ msgid ""
msgstr ""
"å€å¡Šæœªé‡ç–Šï¼š\n"
"%.*s\n"
-"\tä¸ä»¥ä¸‹è¿°çµå°¾ï¼š\n"
+"\tçµå°¾ä¸æ˜¯ï¼š\n"
"%.*s"
#: add-patch.c git-add--interactive.perl
msgid "Manual hunk edit mode -- see bottom for a quick guide.\n"
-msgstr "手動å€å¡Šç·¨è¼¯æ¨¡å¼ -- 檢視底部的快速指å—。\n"
+msgstr "手動å€å¡Šç·¨è¼¯æ¨¡å¼â€”—檢視底部的快速指引。\n"
#: add-patch.c
#, c-format
@@ -600,9 +603,9 @@ msgid ""
"Lines starting with %c will be removed.\n"
msgstr ""
"---\n"
-"è¦åˆªé™¤ '%c' 開始的行,使其æˆç‚º ' ' 開始的行(上下文)。\n"
-"è¦åˆªé™¤ '%c' 開始的行,刪除它們。\n"
-"以 %c 開始的行將被刪除。\n"
+"è¦åˆªé™¤ “%c†開頭的列,請將列首(上下文)改æˆç©ºç™½ã€‚\n"
+"è¦åˆªé™¤ “%c†開頭的列,請直接刪除。\n"
+"開頭是 %c 的列將會被移除。\n"
#. #-#-#-#-# git-add--interactive.perl.po #-#-#-#-#
#. TRANSLATORS: 'it' refers to the patch mentioned in the previous messages.
@@ -612,9 +615,9 @@ msgid ""
"edit again. If all lines of the hunk are removed, then the edit is\n"
"aborted and the hunk is left unchanged.\n"
msgstr ""
-"å¦‚æžœæœªä¹¾æ·¨å¥—ç”¨ï¼Œæ‚¨å°±æœ‰æ©Ÿæœƒé‡æ–°ç·¨è¼¯ã€‚\n"
-"若刪掉此å€å¡Šçš„全部內容,則會中止\n"
-"本次編輯,å€å¡Šå‰‡ä¸æœƒè¢«ä¿®æ”¹ã€‚\n"
+"如果沒有完全套用,您å¯ä»¥å†æ¬¡ç·¨è¼¯ã€‚\n"
+"若刪掉此å€å¡Šçš„æ‰€æœ‰å…§å®¹ï¼Œå‰‡æœƒä¸­æ­¢ç·¨è¼¯ï¼Œ\n"
+"å€å¡Šå‰‡ä¸æœƒè®Šæ›´ã€‚\n"
#: add-patch.c
msgid "could not parse hunk header"
@@ -622,7 +625,7 @@ msgstr "無法解æžå€å¡Šæ¨™é ­"
#: add-patch.c
msgid "'git apply --cached' failed"
-msgstr "「git apply --cachedã€å¤±æ•—"
+msgstr "“git apply --cached†失敗"
#. #-#-#-#-# add-patch.c.po #-#-#-#-#
#. TRANSLATORS: do not translate [y/n]
@@ -641,15 +644,15 @@ msgstr "「git apply --cachedã€å¤±æ•—"
#: add-patch.c git-add--interactive.perl
msgid ""
"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? "
-msgstr "未套用編輯å€å¡Šã€‚是å¦é‡æ–°ç·¨è¼¯ï¼ˆè¼¸å…¥ “noâ€ æ¨æ£„ï¼ï¼‰ [y/n]? "
+msgstr "未套用您編輯的å€å¡Šã€‚是å¦é‡æ–°ç·¨è¼¯ï¼ˆè¼¸å…¥ “noâ€ æ¨æ£„ï¼ï¼‰ [y/n]? "
#: add-patch.c
msgid "The selected hunks do not apply to the index!"
-msgstr "é¸å–çš„å€å¡Šä¸æœƒå¥—用進索引ï¼"
+msgstr "é¸å–çš„å€å¡Šç„¡æ³•套用至索引ï¼"
#: add-patch.c git-add--interactive.perl
msgid "Apply them to the worktree anyway? "
-msgstr "無論如何都è¦å¥—用到工作å€å—Žï¼Ÿ "
+msgstr "無論如何都è¦å¥—用到工作å€å—Ž? "
#: add-patch.c git-add--interactive.perl
msgid "Nothing was applied.\n"
@@ -687,20 +690,20 @@ msgstr "沒有下一個å€å¡Š"
#: add-patch.c
msgid "No other hunks to goto"
-msgstr "沒有其它å¯ä¾›è·³è½‰çš„å€å¡Š"
+msgstr "沒有其它å¯ä»¥è·³è½‰çš„å€å¡Š"
#: add-patch.c git-add--interactive.perl
msgid "go to which hunk (<ret> to see more)? "
-msgstr "è¦è·³è½‰åˆ°å“ªå€‹å€å¡Šï¼ˆ<Enter> 檢視更多)? "
+msgstr "è¦è·³è½‰åˆ°å“ªå€‹å€å¡Šï¼ˆ<ret> 檢視更多)? "
#: add-patch.c git-add--interactive.perl
msgid "go to which hunk? "
-msgstr "跳轉到哪個å€å¡Šï¼Ÿ "
+msgstr "跳轉到哪個å€å¡Š? "
#: add-patch.c
#, c-format
msgid "Invalid number: '%s'"
-msgstr "無效數字:'%s'"
+msgstr "無效數字:“%sâ€"
#: add-patch.c
#, c-format
@@ -710,20 +713,20 @@ msgstr[0] "å°ä¸èµ·ï¼Œåªæœ‰ %d 個å¯ç”¨å€å¡Šã€‚"
#: add-patch.c
msgid "No other hunks to search"
-msgstr "沒有其它å¯ä¾›å°‹æ‰¾çš„å€å¡Š"
+msgstr "沒有其它å¯ä»¥å°‹æ‰¾çš„å€å¡Š"
#: add-patch.c git-add--interactive.perl
msgid "search for regex? "
-msgstr "使用常è¦è¡¨ç¤ºå¼æœå°‹ï¼Ÿ "
+msgstr "使用常è¦è¡¨ç¤ºå¼æœå°‹? "
#: add-patch.c
#, c-format
msgid "Malformed search regexp %s: %s"
-msgstr "錯誤的常è¦è¡¨ç¤ºå¼ %s:%s"
+msgstr "æ ¼å¼éŒ¯èª¤çš„常è¦è¡¨ç¤ºå¼ %s:%s"
#: add-patch.c
msgid "No hunk matches the given pattern"
-msgstr "沒有和æä¾›æ¨¡å¼ç›¸ç¬¦åˆçš„å€å¡Š"
+msgstr "æ²’æœ‰ç¬¦åˆæä¾›æ¨¡å¼çš„å€å¡Š"
#: add-patch.c
msgid "Sorry, cannot split this hunk"
@@ -736,11 +739,11 @@ msgstr "分割為 %d 個å€å¡Šã€‚"
#: add-patch.c
msgid "Sorry, cannot edit this hunk"
-msgstr "å°ä¸èµ·ï¼Œä¸èƒ½ç·¨è¼¯é€™å€‹å€å¡Š"
+msgstr "å°ä¸èµ·ï¼Œç„¡æ³•編輯這個å€å¡Š"
#: add-patch.c
msgid "'git apply' failed"
-msgstr "'git apply' 失敗"
+msgstr "“git apply†失敗"
#: advice.c
#, c-format
@@ -749,7 +752,7 @@ msgid ""
"Disable this message with \"git config advice.%s false\""
msgstr ""
"\n"
-"請使用「git config advice.%s falseã€ä¾†åœç”¨æ­¤è¨Šæ¯"
+"請使用 “git config advice.%s false†åœç”¨æ­¤è¨Šæ¯"
#: advice.c
#, c-format
@@ -758,56 +761,56 @@ msgstr "%sæç¤ºï¼š%.*s%s\n"
#: advice.c
msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr "無法æ€é¸ï¼Œå› ç‚ºæ‚¨æœ‰æœªåˆä½µçš„æª”案。"
+msgstr "無法æ€é¸ï¼Œæœ‰æœªåˆä½µçš„æª”案。"
#: advice.c
msgid "Committing is not possible because you have unmerged files."
-msgstr "無法æäº¤ï¼Œå› ç‚ºæ‚¨æœ‰æœªåˆä½µçš„æª”案。"
+msgstr "無法æäº¤ï¼Œæœ‰æœªåˆä½µçš„æª”案。"
#: advice.c
msgid "Merging is not possible because you have unmerged files."
-msgstr "無法åˆä½µï¼Œå› ç‚ºæ‚¨æœ‰æœªåˆä½µçš„æª”案。"
+msgstr "無法åˆä½µï¼Œæœ‰æœªåˆä½µçš„æª”案。"
#: advice.c
msgid "Pulling is not possible because you have unmerged files."
-msgstr "無法拉å–,因為您有未åˆä½µçš„æª”案。"
+msgstr "無法拉å–,有未åˆä½µçš„æª”案。"
#: advice.c
msgid "Reverting is not possible because you have unmerged files."
-msgstr "無法還原æäº¤ï¼Œå› ç‚ºæ‚¨æœ‰æœªåˆä½µçš„æª”案。"
+msgstr "無法還原æäº¤ï¼Œæœ‰æœªåˆä½µçš„æª”案。"
#: advice.c
#, c-format
msgid "It is not possible to %s because you have unmerged files."
-msgstr "無法 %s,因為您有未åˆä½µçš„æª”案。"
+msgstr "無法 %s,有未åˆä½µçš„æª”案。"
#: advice.c
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 ""
-"è«‹åœ¨å·¥ä½œå€æ”¹æ­£æª”案,然後酌情使用 'git add/rm <檔案>' 指令標記\n"
-"解決方案並æäº¤ã€‚"
+"請在工作å€ä¿®æ­£æª”案,然後視情æ³ä½¿ç”¨ “git add/rm <file>â€\n"
+"命令標記解決方案並æäº¤ã€‚"
#: advice.c
msgid "Exiting because of an unresolved conflict."
-msgstr "因為存在未解決的è¡çªè€Œé›¢é–‹ã€‚"
+msgstr "存在未解決的è¡çªï¼Œé›¢é–‹ã€‚"
#: advice.c builtin/merge.c
msgid "You have not concluded your merge (MERGE_HEAD exists)."
-msgstr "æ‚¨å°šæœªçµæŸæ‚¨çš„åˆä½µï¼ˆå­˜åœ¨ MERGE_HEAD)。"
+msgstr "åˆä½µå°šæœªçµæŸï¼ˆæœ‰ MERGE_HEAD)。"
#: advice.c
msgid "Please, commit your changes before merging."
-msgstr "請在åˆä½µå‰å…ˆæäº¤æ‚¨çš„修改。"
+msgstr "請在åˆä½µå‰å…ˆæäº¤æ‚¨çš„æ›´å‹•。"
#: advice.c
msgid "Exiting because of unfinished merge."
-msgstr "因為存在未完æˆçš„åˆä½µè€Œé›¢é–‹ã€‚"
+msgstr "存在未完æˆçš„åˆä½µï¼Œé›¢é–‹ã€‚"
#: advice.c
msgid "Not possible to fast-forward, aborting."
-msgstr "無法快轉,終止。"
+msgstr "無法快轉,中止。"
#: advice.c
#, c-format
@@ -852,18 +855,18 @@ msgid ""
"false\n"
"\n"
msgstr ""
-"注æ„:正在切æ›åˆ° '%s'。\n"
+"註:切æ›è‡³ “%sâ€ã€‚\n"
"\n"
-"您正處於分離開頭指標狀態。您å¯ä»¥æª¢è¦–ã€é€²è¡Œå¯¦é©—性修改並æäº¤ï¼Œ\n"
-"而且您å¯ä»¥åœ¨åˆ‡æ›å›žä¸€å€‹åˆ†æ”¯æ™‚,\n"
-"æ¨æ£„在此狀態下所åšçš„æäº¤è€Œä¸å°åˆ†æ”¯é€ æˆå½±éŸ¿ã€‚\n"
+"您正處於「分離 HEADã€ç‹€æ…‹ã€‚您å¯ä»¥æª¢è¦–ã€é€²è¡Œå¯¦é©—性修改並æäº¤ï¼Œ\n"
+"而且您å¯ä»¥åœ¨åˆ‡å›žåˆ†æ”¯æ™‚ï¼Œæ¨æ£„在此狀態下所åšçš„æäº¤\n"
+"而ä¸å°åˆ†æ”¯é€ æˆå½±éŸ¿ã€‚\n"
"\n"
"如果您想è¦é€éŽå»ºç«‹åˆ†æ”¯ä¾†ä¿ç•™åœ¨æ­¤ç‹€æ…‹ä¸‹æ‰€åšçš„æäº¤ï¼Œ\n"
"您å¯ä»¥ç¾åœ¨æˆ–ç¨å¾Œåœ¨ switch 指令使用 -c é¸é …。例如:\n"
"\n"
" git switch -c <新分支å稱>\n"
"\n"
-"或者是復原此動作:\n"
+"或者是使用下述命令復原此動作:\n"
"\n"
" git switch -\n"
"\n"
@@ -887,26 +890,31 @@ msgid ""
"* Use \"git sparse-checkout reapply\" to apply the sparsity rules"
msgstr ""
"è‹¥è¦æ›´æ­£é€™äº›è·¯å¾‘的稀ç–狀態,請:\n"
-"* 使用 `git add --sparse <路徑>` 更新索引\n"
-"* 使用 `git sparse-checkout reapply` 套用稀ç–è¦å‰‡"
+"* 使用 “git add --sparse <路徑†更新索引\n"
+"* 使用 “git sparse-checkout reapply†套用稀ç–è¦å‰‡"
#: alias.c
msgid "cmdline ends with \\"
-msgstr "指令列以 \\ çµå°¾"
+msgstr "命令列以 \\ çµå°¾"
#: alias.c
msgid "unclosed quote"
msgstr "未閉åˆçš„引號"
+#: alias.c builtin/cat-file.c builtin/notes.c builtin/prune-packed.c
+#: builtin/receive-pack.c builtin/tag.c
+msgid "too many arguments"
+msgstr "引數éŽå¤š"
+
#: apply.c
#, c-format
msgid "unrecognized whitespace option '%s'"
-msgstr "無法識別的空白字元é¸é … '%s'"
+msgstr "空白字元é¸é … “%s†無法識別"
#: apply.c
#, c-format
msgid "unrecognized whitespace ignore option '%s'"
-msgstr "無法識別的空白字元忽略é¸é … '%s'"
+msgstr "空白字元忽略é¸é … “%s†無法識別"
#: apply.c archive.c builtin/add.c builtin/branch.c builtin/checkout.c
#: builtin/clone.c builtin/commit.c builtin/describe.c builtin/diff-tree.c
@@ -918,12 +926,12 @@ msgstr "無法識別的空白字元忽略é¸é … '%s'"
#: builtin/tag.c builtin/worktree.c parse-options.c range-diff.c revision.c
#, c-format
msgid "options '%s' and '%s' cannot be used together"
-msgstr "ä¸èƒ½åŒæ™‚使用 '%s' å’Œ '%s' é¸é …"
+msgstr "ç„¡æ³•åŒæ™‚使用 “%s†和 “%s†é¸é …"
#: apply.c
#, c-format
msgid "'%s' outside a repository"
-msgstr "'%s' 在版本庫之外"
+msgstr "“%s†在版本庫之外"
#: apply.c
#, c-format
@@ -933,42 +941,42 @@ msgstr "無法準備時間戳常è¦è¡¨ç¤ºå¼ %s"
#: apply.c
#, c-format
msgid "regexec returned %d for input: %s"
-msgstr "regexec 返回 %d,輸入為:%s"
+msgstr "regexec 回傳 %d,輸入為:%s"
#: apply.c
#, c-format
msgid "unable to find filename in patch at line %d"
-msgstr "ä¸èƒ½åœ¨ä¿®è£œæª”的第 %d 行找到檔案å"
+msgstr "無法在修補檔的第 %d 列找到檔案å稱"
#: apply.c
#, c-format
msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
-msgstr "git apply:錯誤的 git-diff - 應為 /dev/null,但在第 %2$d 行得到 %1$s"
+msgstr "git apply:無效的 git-diff — 應為 /dev/null,但在第 %2$d 列得到 %1$s"
#: apply.c
#, 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 列的新檔案å稱ä¸ä¸€è‡´"
#: apply.c
#, 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 列上舊檔案å稱ä¸ä¸€è‡´"
#: apply.c
#, c-format
msgid "git apply: bad git-diff - expected /dev/null on line %d"
-msgstr "git apply:錯誤的 git-diff - 第 %d 行處應為 /dev/null"
+msgstr "git apply:無效的 git-diff — 第 %d åˆ—è™•é æœŸæ˜¯ /dev/null"
#: apply.c
#, c-format
msgid "invalid mode on line %d: %s"
-msgstr "第 %d 行包å«ç„¡æ•ˆæª”案模å¼ï¼š%s"
+msgstr "第 %d 列包å«ç„¡æ•ˆæª”案模å¼ï¼š%s"
#: apply.c
#, c-format
msgid "inconsistent header lines %d and %d"
-msgstr "ä¸ä¸€è‡´çš„æª”案頭,%d 行和 %d 行"
+msgstr "ä¸ä¸€è‡´çš„æª”案標頭(%d 列和 %d 列)"
#: apply.c
#, c-format
@@ -978,22 +986,22 @@ msgid ""
msgid_plural ""
"git diff header lacks filename information when removing %d leading pathname "
"components (line %d)"
-msgstr[0] "當移除 %d 個å‰å°Žè·¯å¾‘後 git diff é ­ç¼ºä¹æª”案å訊æ¯ï¼ˆç¬¬ %d 行)"
+msgstr[0] "移除 %d 個å‰å°Žè·¯å¾‘部分後,git diff 標頭缺少檔案å稱資訊(第 %d 列)"
#: apply.c
#, c-format
msgid "git diff header lacks filename information (line %d)"
-msgstr "git diff 的標頭訊æ¯ä¸­ç¼ºä¹æª”案å訊æ¯ï¼ˆç¬¬ %d 行)"
+msgstr "git diff 標頭缺少檔案å稱資訊(第 %d 列)"
#: apply.c
#, c-format
msgid "recount: unexpected line: %.*s"
-msgstr "recount:æ„外的行:%.*s"
+msgstr "recount:é‡åˆ°éžé æœŸçš„列:%.*s"
#: apply.c
#, c-format
msgid "patch fragment without header at line %d: %.*s"
-msgstr "第 %d 行的修補檔å€å¡Šæ²’有標頭訊æ¯ï¼š%.*s"
+msgstr "第 %d åˆ—çš„ä¿®è£œæª”å€æ®µæ²’有標頭:%.*s"
#: apply.c
msgid "new file depends on old contents"
@@ -1006,7 +1014,7 @@ msgstr "åˆªé™¤çš„æª”æ¡ˆä»æœ‰å…§å®¹"
#: apply.c
#, c-format
msgid "corrupt patch at line %d"
-msgstr "修補檔在第 %d è¡Œç™¼ç¾æå£ž"
+msgstr "修補檔在第 %d åˆ—ç™¼ç¾æå£ž"
#: apply.c
#, c-format
@@ -1026,17 +1034,17 @@ msgstr "** 警告:檔案 %s æˆç‚ºç©ºæª”案但並未刪除"
#: apply.c
#, c-format
msgid "corrupt binary patch at line %d: %.*s"
-msgstr "二進ä½ä¿®è£œæª”在第 %d 行æå£žï¼š%.*s"
+msgstr "二進ä½ä¿®è£œæª”在第 %d 列æå£žï¼š%.*s"
#: apply.c
#, c-format
msgid "unrecognized binary patch at line %d"
-msgstr "無法識別的二進ä½ä¿®è£œæª”使–¼ç¬¬ %d 行"
+msgstr "第 %d 列的二進ä½ä¿®è£œæª”無法識別"
#: apply.c
#, c-format
msgid "patch with only garbage at line %d"
-msgstr "修補檔案的第 %d è¡Œåªæœ‰åžƒåœ¾è³‡æ–™"
+msgstr "修補檔案的第 %d åˆ—åªæœ‰åžƒåœ¾è³‡æ–™"
#: apply.c
#, c-format
@@ -1046,23 +1054,23 @@ msgstr "無法讀å–ç¬¦è™Ÿé€£çµ %s"
#: apply.c
#, c-format
msgid "unable to open or read %s"
-msgstr "ä¸èƒ½é–‹å•Ÿæˆ–è®€å– %s"
+msgstr "ç„¡æ³•é–‹å•Ÿæˆ–è®€å– %s"
#: apply.c
#, c-format
msgid "invalid start of line: '%c'"
-msgstr "無效的行首字元:'%c'"
+msgstr "無效的列首字元:“%câ€"
#: apply.c
#, c-format
msgid "Hunk #%d succeeded at %d (offset %d line)."
msgid_plural "Hunk #%d succeeded at %d (offset %d lines)."
-msgstr[0] "å€å¡Š #%d æˆåŠŸå¥—ç”¨æ–¼ %d(ä½ç§» %d 行)。"
+msgstr[0] "å€å¡Š #%d æˆåŠŸå¥—ç”¨æ–¼ %d(åç§» %d 列)。"
#: apply.c
#, c-format
msgid "Context reduced to (%ld/%ld) to apply fragment at %d"
-msgstr "上下文減少到(%ld/%ld)以在第 %d 行套用修補檔å€å¡Š"
+msgstr "上下文減少到(%ld/%ld)以在第 %d 列套用修補檔å€å¡Š"
#: apply.c
#, c-format
@@ -1076,53 +1084,53 @@ msgstr ""
#: apply.c
#, c-format
msgid "missing binary patch data for '%s'"
-msgstr "缺少 '%s' 的二進ä½ä¿®è£œæª”資料"
+msgstr "缺少 “%s†的二進ä½ä¿®è£œæª”資料"
#: apply.c
#, c-format
msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
-msgstr "ä¸èƒ½åå‘套用一個缺少到 '%s' çš„åå‘資料å€å¡Šçš„二進ä½ä¿®è£œæª”"
+msgstr "無法åå‘套用一個缺少至 “%s†的åå‘資料å€å¡Šçš„二進ä½ä¿®è£œæª”"
#: apply.c
#, c-format
msgid "cannot apply binary patch to '%s' without full index line"
-msgstr "ä¸èƒ½åœ¨ '%s' 上套用沒有完整索引行的二進ä½ä¿®è£œæª”"
+msgstr "無法在 “%s†上套用沒有完整索引列的二進ä½ä¿®è£œæª”"
#: apply.c
#, c-format
msgid ""
"the patch applies to '%s' (%s), which does not match the current contents."
-msgstr "修補檔套用到 '%s'(%s),但是和目å‰å…§å®¹ä¸ç¬¦åˆã€‚"
+msgstr "修補檔è¦å¥—用到 “%sâ€ï¼ˆ%s),但與目å‰å…§å®¹ä¸ç¬¦ã€‚"
#: apply.c
#, c-format
msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr "修補檔套用到空檔案 '%s',但其並éžç©ºæª”案"
+msgstr "修補檔è¦å¥—用至空檔案 “%sâ€ï¼Œä½†å…¶éžç©ºæª”案"
#: apply.c
#, c-format
msgid "the necessary postimage %s for '%s' cannot be read"
-msgstr "ç„¡æ³•è®€å– '%2$s' 必需的目標檔案 %1$s"
+msgstr "ç„¡æ³•è®€å– â€œ%2$s†必須的目標檔案 %1$s"
#: apply.c
#, c-format
msgid "binary patch does not apply to '%s'"
-msgstr "二進ä½ä¿®è£œæª”未套用到 '%s'"
+msgstr "二進ä½ä¿®è£œæª”未套用到 “%sâ€"
#: apply.c
#, c-format
msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
-msgstr "到 '%s' 的二進ä½ä¿®è£œæª”ç”¢ç”Ÿäº†ä¸æ­£ç¢ºçš„çµæžœï¼ˆæ‡‰ç‚º %s,å»ç‚º %s)"
+msgstr "修補 “%s†的二進ä½ä¿®è£œæª”ï¼Œç”¢ç”Ÿäº†ä¸æ­£ç¢ºçš„çµæžœï¼ˆé æœŸ %s,å»ç‚º %s)"
#: apply.c
#, c-format
msgid "patch failed: %s:%ld"
-msgstr "打修補檔失敗:%s:%ld"
+msgstr "修補失敗:%s:%ld"
#: apply.c builtin/mv.c
#, c-format
msgid "cannot checkout %s"
-msgstr "ä¸èƒ½ç°½å‡º %s"
+msgstr "無法簽出 %s"
#: apply.c midx.c pack-mtimes.c pack-revindex.c setup.c
#, c-format
@@ -1132,51 +1140,51 @@ msgstr "ç„¡æ³•è®€å– %s"
#: apply.c
#, c-format
msgid "reading from '%s' beyond a symbolic link"
-msgstr "讀å–使–¼ç¬¦è™Ÿé€£çµä¸­çš„ '%s'"
+msgstr "讀å–符號連çµèƒŒå¾Œçš„ “%sâ€"
#: apply.c
#, c-format
msgid "path %s has been renamed/deleted"
-msgstr "路徑 %s å·²ç¶“è¢«é‡æ–°å‘½å/刪除"
+msgstr "路徑 %s å·²è¢«é‡æ–°å‘½å或刪除"
#: apply.c
#, c-format
msgid "%s: does not exist in index"
-msgstr "%s:ä¸å­˜åœ¨æ–¼ç´¢å¼•中"
+msgstr "%s:ä¸åœ¨ç´¢å¼•中"
#: apply.c
#, c-format
msgid "%s: does not match index"
-msgstr "%s:和索引ä¸ç¬¦åˆ"
+msgstr "%s:與索引ä¸ç¬¦"
#: apply.c
msgid "repository lacks the necessary blob to perform 3-way merge."
-msgstr "版本庫缺少用來進行三方åˆä½µæ‰€éœ€è¦çš„資料物件。"
+msgstr "版本庫缺少用來進行三方åˆä½µï¼Œæ‰€éœ€è¦çš„資料物件。"
#: apply.c
#, c-format
msgid "Performing three-way merge...\n"
-msgstr "正在進行三方åˆä½µâ‹¯â‹¯\n"
+msgstr "正在進行三方åˆä½µâ€¦â€¦\n"
#: apply.c
#, c-format
msgid "cannot read the current contents of '%s'"
-msgstr "ç„¡æ³•è®€å– '%s' 的目å‰å…§å®¹"
+msgstr "ç„¡æ³•è®€å– â€œ%s†目å‰çš„內容"
#: apply.c
#, c-format
msgid "Failed to perform three-way merge...\n"
-msgstr "無法進行三方åˆä½µâ‹¯â‹¯\n"
+msgstr "無法進行三方åˆä½µâ€¦â€¦\n"
#: apply.c
#, c-format
msgid "Applied patch to '%s' with conflicts.\n"
-msgstr "套用修補檔到 '%s' 存在è¡çªã€‚\n"
+msgstr "å·²å¥—ç”¨å° â€œ%s†的修補檔,但有è¡çªã€‚\n"
#: apply.c
#, c-format
msgid "Applied patch to '%s' cleanly.\n"
-msgstr "æˆåŠŸå¥—ç”¨ä¿®è£œæª”åˆ° '%s'。\n"
+msgstr "å·²å®Œå…¨å¥—ç”¨å° â€œ%s†的修補檔。\n"
#: apply.c
#, c-format
@@ -1185,7 +1193,7 @@ msgstr "回復至直接套用模å¼â‹¯â‹¯\n"
#: apply.c
msgid "removal patch leaves file contents"
-msgstr "移除修補檔ä»ç•™ä¸‹äº†æª”案內容"
+msgstr "ç§»é™¤æ€§çš„ä¿®è£œæª”ä»æœ‰ç•™ä¸‹æª”案內容"
#: apply.c
#, c-format
@@ -1195,117 +1203,117 @@ msgstr "%s:錯誤類型"
#: apply.c
#, c-format
msgid "%s has type %o, expected %o"
-msgstr "%s 的類型是 %o,應為 %o"
+msgstr "%s 的類型是 %oï¼Œé æœŸæ˜¯ %o"
#: apply.c read-cache.c
#, c-format
msgid "invalid path '%s'"
-msgstr "無效路徑 '%s'"
+msgstr "路徑 “%s†無效"
#: apply.c
#, c-format
msgid "%s: already exists in index"
-msgstr "%s:已經存在於索引中"
+msgstr "%s:已存在於索引中"
#: apply.c
#, c-format
msgid "%s: already exists in working directory"
-msgstr "%s:已經存在於工作å€ä¸­"
+msgstr "%s:已存在於工作å€ä¸­"
#: apply.c
#, c-format
msgid "new mode (%o) of %s does not match old mode (%o)"
-msgstr "%2$s 的新模å¼ï¼ˆ%1$o)和舊模å¼ï¼ˆ%3$o)ä¸ç¬¦åˆ"
+msgstr "%2$s çš„æ–°æ¨¡å¼ (%1$o) å’ŒèˆŠæ¨¡å¼ (%3$o) ä¸ç¬¦"
#: apply.c
#, c-format
msgid "new mode (%o) of %s does not match old mode (%o) of %s"
-msgstr "%2$s 的新模å¼ï¼ˆ%1$o)和 %4$s 的舊模å¼ï¼ˆ%3$o)ä¸ç¬¦åˆ"
+msgstr "%2$s çš„æ–°æ¨¡å¼ (%1$o) å’Œ %4$s çš„èˆŠæ¨¡å¼ (%3$o) ä¸ç¬¦"
#: apply.c
#, c-format
msgid "affected file '%s' is beyond a symbolic link"
-msgstr "å—影響的檔案 '%s' 使–¼ç¬¦è™Ÿé€£çµä¸­"
+msgstr "å—影響的檔案 “%s†在符號連çµå¾Œ"
#: apply.c
#, c-format
msgid "%s: patch does not apply"
-msgstr "%s:修補檔未套用"
+msgstr "%s:未套用修補檔"
#: apply.c
#, c-format
msgid "Checking patch %s..."
-msgstr "正在檢查修補檔 %s..."
+msgstr "正在檢查修補檔 %s……"
#: apply.c
#, c-format
msgid "sha1 information is lacking or useless for submodule %s"
-msgstr "å­æ¨¡çµ„ %s çš„ sha1 訊æ¯ç¼ºå°‘或無效"
+msgstr "%s å­æ¨¡çµ„缺少 sha1 資訊或沒有幫助"
#: apply.c
#, c-format
msgid "mode change for %s, which is not in current HEAD"
-msgstr "%s 的模å¼è®Šæ›´ï¼Œä½†å®ƒä¸åœ¨ç›®å‰ HEAD 中"
+msgstr "%s çš„æ¨¡å¼æœ‰æ›´å‹•,但其ä¸åœ¨ç›®å‰ HEAD 中"
#: apply.c
#, c-format
msgid "sha1 information is lacking or useless (%s)."
-msgstr "sha1 訊æ¯ç¼ºå°‘或無效(%s)。"
+msgstr "缺少 sha1 資訊或沒有幫助 (%s)。"
#: apply.c
#, c-format
msgid "could not add %s to temporary index"
-msgstr "ä¸èƒ½åœ¨æš«æ™‚索引中新增 %s"
+msgstr "無法將 %s 加進暫存索引"
#: apply.c
#, c-format
msgid "could not write temporary index to %s"
-msgstr "ä¸èƒ½æŠŠæš«æ™‚索引寫入到 %s"
+msgstr "無法將暫存索引寫入 %s"
#: apply.c
#, c-format
msgid "unable to remove %s from index"
-msgstr "ä¸èƒ½å¾žç´¢å¼•中移除 %s"
+msgstr "無法從索引移除 %s"
#: apply.c
#, c-format
msgid "corrupt patch for submodule %s"
-msgstr "å­æ¨¡çµ„ %s æå£žçš„修補檔"
+msgstr "修補 %s å­æ¨¡çµ„的修補檔æå£ž"
#: apply.c
#, c-format
msgid "unable to stat newly created file '%s'"
-msgstr "ä¸èƒ½å°å»ºç«‹æª”案 '%s' å‘¼å« stat"
+msgstr "無法å°å‰›å»ºç«‹çš„æª”案 “%s†執行 stat"
#: apply.c
#, c-format
msgid "unable to create backing store for newly created file %s"
-msgstr "ä¸èƒ½ç‚ºå»ºç«‹æª”案 %s 建立後端儲存"
+msgstr "無法å°å‰›å»ºç«‹çš„æª”案 %s 建立後端儲存"
#: apply.c
#, c-format
msgid "unable to add cache entry for %s"
-msgstr "無法為 %s æ–°å¢žå¿«å–æ¢ç›®"
+msgstr "無法為 %s 加入快å–é …ç›®"
#: apply.c builtin/bisect--helper.c builtin/gc.c
#, c-format
msgid "failed to write to '%s'"
-msgstr "寫入 '%s' 失敗"
+msgstr "無法寫入 “%sâ€"
#: apply.c
#, c-format
msgid "closing file '%s'"
-msgstr "關閉檔案 '%s'"
+msgstr "關閉檔案 “%sâ€"
#: apply.c
#, c-format
msgid "unable to write file '%s' mode %o"
-msgstr "ä¸èƒ½å¯«å…¥æª”案 '%s' æ¬Šé™ %o"
+msgstr "ç„¡æ³•ä»¥æ¨¡å¼ %2$o 寫入 “%1$s†檔案"
#: apply.c
#, c-format
msgid "Applied patch %s cleanly."
-msgstr "æˆåŠŸå¥—ç”¨ä¿®è£œæª” %s。"
+msgstr "已完全套用 %s 修補檔。"
#: apply.c
msgid "internal error"
@@ -1315,22 +1323,22 @@ msgstr "內部錯誤"
#, c-format
msgid "Applying patch %%s with %d reject..."
msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] "套用 %%s 個修補檔,其中 %d 個被拒絕..."
+msgstr[0] "套用 %%s 個修補檔,其中 %d 個被拒絕……"
#: apply.c
#, c-format
msgid "truncating .rej filename to %.*s.rej"
-msgstr "截短 .rej 檔案å為 %.*s.rej"
+msgstr "正在將 .rej 檔案å稱截短為 %.*s.rej"
#: apply.c
#, c-format
msgid "cannot open %s"
-msgstr "ä¸èƒ½é–‹å•Ÿ %s"
+msgstr "無法開啟 %s"
#: apply.c
#, c-format
msgid "Hunk #%d applied cleanly."
-msgstr "æˆåŠŸå¥—ç”¨ç¬¬ #%d 個å€å¡Šã€‚"
+msgstr "æˆåŠŸå®Œå…¨å¥—ç”¨ç¬¬ #%d 個å€å¡Šã€‚"
#: apply.c
#, c-format
@@ -1340,20 +1348,20 @@ msgstr "拒絕第 #%d 個å€å¡Šã€‚"
#: apply.c
#, c-format
msgid "Skipped patch '%s'."
-msgstr "ç•¥éŽä¿®è£œæª” '%s'。"
+msgstr "ç•¥éŽä¿®è£œæª” “%sâ€ã€‚"
#: apply.c
msgid "No valid patches in input (allow with \"--allow-empty\")"
-msgstr "輸入中沒有有效的修補檔內容(傳入「--allow-emptyã€å…許)"
+msgstr "輸入沒有有效的修補檔內容(傳入 “--allow-empty†å…許此行為)"
-#: apply.c
+#: apply.c t/helper/test-cache-tree.c
msgid "unable to read index file"
msgstr "無法讀å–索引檔案"
#: apply.c
#, c-format
msgid "can't open patch '%s': %s"
-msgstr "ä¸èƒ½é–‹å•Ÿä¿®è£œæª” '%s':%s"
+msgstr "無法開啟修補檔 “%sâ€ï¼š%s"
#: apply.c
#, c-format
@@ -1365,13 +1373,13 @@ msgstr[0] "æŠ‘åˆ¶ä¸‹ä»æœ‰ %d 個空白字元誤用"
#, c-format
msgid "%d line adds whitespace errors."
msgid_plural "%d lines add whitespace errors."
-msgstr[0] "%d 行新增了空白字元誤用。"
+msgstr[0] "%d 列加入了空白字元誤用。"
#: apply.c
#, c-format
msgid "%d line applied after fixing whitespace errors."
msgid_plural "%d lines applied after fixing whitespace errors."
-msgstr[0] "修復空白錯誤後,套用了 %d 行。"
+msgstr[0] "修正空白誤用後,套用了 %d 列。"
#: apply.c builtin/add.c builtin/mv.c builtin/rm.c
msgid "Unable to write new index file"
@@ -1379,11 +1387,11 @@ msgstr "無法寫入新索引檔案"
#: apply.c
msgid "don't apply changes matching the given path"
-msgstr "ä¸è¦å¥—ç”¨ç¬¦åˆæä¾›è·¯å¾‘çš„è®Šæ›´"
+msgstr "ä¸è¦å¥—ç”¨ç¬¦åˆæä¾›è·¯å¾‘çš„æ›´å‹•"
#: apply.c
msgid "apply changes matching the given path"
-msgstr "å¥—ç”¨ç¬¦åˆæä¾›è·¯å¾‘çš„è®Šæ›´"
+msgstr "å¥—ç”¨ç¬¦åˆæä¾›è·¯å¾‘çš„æ›´å‹•"
#: apply.c builtin/am.c
msgid "num"
@@ -1391,19 +1399,19 @@ msgstr "數字"
#: apply.c
msgid "remove <num> leading slashes from traditional diff paths"
-msgstr "從傳統的 diff 路徑中移除指定數é‡çš„å‰å°Žæ–œç·š"
+msgstr "從傳統的 diff 路徑中移除 <num> 個å‰å°Žæ–œç·š"
#: apply.c
msgid "ignore additions made by the patch"
-msgstr "忽略修補檔中的新增的檔案"
+msgstr "忽略修補檔中的加入內容"
#: apply.c
msgid "instead of applying the patch, output diffstat for the input"
-msgstr "ä¸å¥—用修補檔,而是顯示輸入的差異統計(diffstat)"
+msgstr "ä¸å¥—用修補檔,而是顯示輸入的差異統計 (diffstat)"
#: apply.c
msgid "show number of added and deleted lines in decimal notation"
-msgstr "以å進使•¸é¡¯ç¤ºæ–°å¢žå’Œåˆªé™¤çš„行數"
+msgstr "以å進使•¸å­—,顯示加入和刪除的列數"
#: apply.c
msgid "instead of applying the patch, output a summary for the input"
@@ -1419,7 +1427,7 @@ msgstr "確èªä¿®è£œæª”å¯ä»¥å¥—用到目å‰ç´¢å¼•"
#: apply.c
msgid "mark new files with `git add --intent-to-add`"
-msgstr "使用指令 `git add --intent-to-add` 標記新增檔案"
+msgstr "使用 `git add --intent-to-add` 命令標記新檔案"
#: apply.c
msgid "apply a patch without touching the working tree"
@@ -1431,15 +1439,15 @@ msgstr "接å—修改工作å€ä¹‹å¤–檔案的修補檔"
#: apply.c
msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr "還套用此修補檔(與 --stat/--summary/--check é¸é …åŒæ™‚使用)"
+msgstr "亦套用修補檔(與 --stat/--summary/--check é¸é …åŒæ™‚使用)"
#: apply.c
msgid "attempt three-way merge, fall back on normal patch if that fails"
-msgstr "嘗試三方åˆä½µã€‚如果失敗,則回到正常修補檔 (patch) 模å¼"
+msgstr "嘗試三方åˆä½µï¼Œè‹¥å¤±æ•—則回到正常修補模å¼"
#: apply.c
msgid "build a temporary index based on embedded index information"
-msgstr "建立一個暫時索引基於嵌入的索引訊æ¯"
+msgstr "組建以嵌入索引資訊為基礎的暫存索引"
#: apply.c builtin/checkout-index.c
msgid "paths are separated with NUL character"
@@ -1447,7 +1455,7 @@ msgstr "路徑以 NUL 字元分隔"
#: apply.c
msgid "ensure at least <n> lines of context match"
-msgstr "確ä¿è‡³å°‘ç¬¦åˆ <n> 行上下文"
+msgstr "確ä¿è‡³å°‘ç¬¦åˆ <n> 列上下文"
#: apply.c builtin/am.c builtin/interpret-trailers.c builtin/pack-objects.c
#: builtin/rebase.c
@@ -1456,11 +1464,11 @@ msgstr "動作"
#: apply.c
msgid "detect new or modified lines that have whitespace errors"
-msgstr "檢查新增和修改的行中間的空白字元濫用"
+msgstr "æª¢æŸ¥æ–°å¢žå’Œä¿®æ”¹çš„åˆ—ä¸­é–“ï¼Œæ˜¯å¦æœ‰ç©ºç™½å­—元誤用"
#: apply.c
msgid "ignore changes in whitespace when finding context"
-msgstr "尋找上下文時忽略空白字元的變更"
+msgstr "尋找上下文時忽略空白字元更動"
#: apply.c
msgid "apply the patch in reverse"
@@ -1468,23 +1476,23 @@ msgstr "åå‘套用修補檔"
#: apply.c
msgid "don't expect at least one line of context"
-msgstr "無需至少一行上下文"
+msgstr "無需至少一列上下文"
#: apply.c
msgid "leave the rejected hunks in corresponding *.rej files"
-msgstr "將拒絕的修補檔å€å¡Šå„²å­˜åœ¨å°æ‡‰çš„ *.rej 檔案中"
+msgstr "將拒絕的修補檔å€å¡Šï¼Œç•™åœ¨å°æ‡‰çš„ *.rej 檔案中"
#: apply.c
msgid "allow overlapping hunks"
-msgstr "å…許é‡ç–Šçš„修補檔å€å¡Š"
+msgstr "å…許é‡ç–Šå€å¡Š"
#: apply.c
msgid "tolerate incorrectly detected missing new-line at the end of file"
-msgstr "å…è¨±ä¸æ­£ç¢ºçš„æª”案末尾æ›è¡Œç¬¦è™Ÿ"
+msgstr "å…è¨±ä¸æ­£ç¢ºçš„æª”案末尾æ›åˆ—符號"
#: apply.c
msgid "do not trust the line counts in the hunk headers"
-msgstr "ä¸ä¿¡ä»»ä¿®è£œæª”å€å¡Šçš„æ¨™é ­è¨Šæ¯ä¸­çš„行號"
+msgstr "ä¸ä¿¡ä»»å€å¡Šæ¨™é ­ä¸­çš„列號"
#: apply.c builtin/am.c
msgid "root"
@@ -1492,21 +1500,21 @@ msgstr "根目錄"
#: apply.c
msgid "prepend <root> to all filenames"
-msgstr "為所有檔案å剿–°å¢ž <根目錄>"
+msgstr "在所有檔案å稱å‰åŠ ä¸Š <root>"
#: apply.c
msgid "don't return error for empty patches"
-msgstr "é‡åˆ°ç©ºç™½ä¿®è£œæª”時ä¸å›žå‚³éŒ¯èª¤"
+msgstr "é‡åˆ°ç©ºç™½ä¿®è£œæª”時,ä¸å›žå‚³éŒ¯èª¤"
#: archive-tar.c archive-zip.c
#, c-format
msgid "cannot stream blob %s"
-msgstr "ä¸èƒ½é–‹å•Ÿè³‡æ–™ç‰©ä»¶ %s"
+msgstr "無法串æµè³‡æ–™ç‰©ä»¶ %s"
#: archive-tar.c archive-zip.c
#, c-format
msgid "unsupported file mode: 0%o (SHA1: %s)"
-msgstr "䏿”¯æ´çš„æª”案模å¼ï¼š0%o (SHA1: %s)"
+msgstr "䏿”¯æ´çš„æª”案模å¼ï¼š0%o (SHA1:%s)"
#: archive-tar.c archive-zip.c builtin/pack-objects.c
#, c-format
@@ -1516,16 +1524,16 @@ msgstr "壓縮錯誤 (%d)"
#: archive-tar.c
#, c-format
msgid "unable to start '%s' filter"
-msgstr "無法啟動 '%s' éŽæ¿¾å™¨"
+msgstr "無法啟動 “%sâ€ éŽæ¿¾å™¨"
#: archive-tar.c
msgid "unable to redirect descriptor"
-msgstr "無法é‡å®šå‘æè¿°ç¬¦"
+msgstr "ç„¡æ³•é‡æ–°å°Žå‘æè¿°å…ƒ"
#: archive-tar.c
#, c-format
msgid "'%s' filter reported error"
-msgstr "'%s' éŽæ¿¾å™¨å ±å‘Šäº†éŒ¯èª¤"
+msgstr "“%sâ€ éŽæ¿¾å™¨å›žå ±éŒ¯èª¤"
#: archive-zip.c
#, c-format
@@ -1535,36 +1543,36 @@ msgstr "è·¯å¾‘ä¸æ˜¯æœ‰æ•ˆçš„ UTF-8:%s"
#: archive-zip.c
#, c-format
msgid "path too long (%d chars, SHA1: %s): %s"
-msgstr "路徑太長(%d 字元,SHA1:%s):%s"
+msgstr "路徑太長(%d 個字元,SHA1:%s):%s"
#: archive-zip.c
#, c-format
msgid "timestamp too large for this system: %<PRIuMAX>"
-msgstr "å°æ–¼æœ¬ç³»çµ±æ™‚間戳太大:%<PRIuMAX>"
+msgstr "å°æœ¬ç³»çµ±è€Œè¨€æ™‚間戳太大:%<PRIuMAX>"
#: archive.c
msgid "git archive [<options>] <tree-ish> [<path>...]"
-msgstr "git archive [<é¸é …>] <樹或æäº¤> [<路徑>...]"
+msgstr "git archive [<options>] <tree-ish> [<path>...]"
#: archive.c
msgid ""
"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
msgstr ""
-"git archive --remote <版本庫> [--exec <命令>] [<é¸é …>] <樹或æäº¤> [<路徑>...]"
+"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"
#: archive.c
msgid "git archive --remote <repo> [--exec <cmd>] --list"
-msgstr "git archive --remote <版本庫> [--exec <命令>] --list"
+msgstr "git archive --remote <repo> [--exec <cmd>] --list"
#: archive.c builtin/gc.c builtin/notes.c builtin/tag.c
#, c-format
msgid "cannot read '%s'"
-msgstr "ä¸èƒ½è®€å– '%s'"
+msgstr "ç„¡æ³•è®€å– â€œ%sâ€"
#: archive.c builtin/add.c builtin/rm.c
#, c-format
msgid "pathspec '%s' did not match any files"
-msgstr "è·¯å¾‘è¦æ ¼ '%s' 未符åˆä»»ä½•檔案"
+msgstr "è·¯å¾‘è¦æ ¼ “%s†未符åˆä»»ä½•檔案"
#: archive.c
#, c-format
@@ -1574,16 +1582,16 @@ msgstr "無此引用:%.*s"
#: archive.c
#, c-format
msgid "not a valid object name: %s"
-msgstr "䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„物件å:%s"
+msgstr "éžæœ‰æ•ˆç‰©ä»¶å稱:%s"
-#: archive.c
+#: archive.c t/helper/test-cache-tree.c
#, c-format
msgid "not a tree object: %s"
-msgstr "䏿˜¯ä¸€å€‹æ¨¹ç‹€ç‰©ä»¶ï¼š%s"
+msgstr "éžæ¨¹ç‹€ç‰©ä»¶ï¼š%s"
#: archive.c
msgid "current working directory is untracked"
-msgstr "ç›®å‰å·¥ä½œç›®éŒ„未被追蹤"
+msgstr "尚未追蹤目å‰çš„工作目錄"
#: archive.c
#, c-format
@@ -1598,25 +1606,25 @@ msgstr "䏿˜¯ä¸€èˆ¬æª”案:%s"
#: archive.c
#, c-format
msgid "unclosed quote: '%s'"
-msgstr "未閉åˆçš„引號:「%sã€"
+msgstr "未閉åˆçš„引號:“%sâ€"
#: archive.c
#, c-format
msgid "missing colon: '%s'"
-msgstr "缺少冒號:「%sã€"
+msgstr "缺少冒號:“%sâ€"
#: archive.c
#, c-format
msgid "empty file name: '%s'"
-msgstr "檔案å稱空白:「%sã€"
+msgstr "檔案å稱空白:“%sâ€"
#: archive.c
msgid "fmt"
-msgstr "æ ¼å¼"
+msgstr "fmt"
#: archive.c
msgid "archive format"
-msgstr "歸檔格å¼"
+msgstr "å°å­˜æ ¼å¼"
#: archive.c builtin/log.c
msgid "prefix"
@@ -1624,33 +1632,33 @@ msgstr "å‰ç¶´"
#: archive.c
msgid "prepend prefix to each pathname in the archive"
-msgstr "為歸檔中æ¯å€‹è·¯å¾‘å加上å‰ç¶´"
+msgstr "為å°å­˜ä¸­çš„æ¯å€‹è·¯å¾‘å稱加上å‰ç¶´"
#: archive.c builtin/blame.c builtin/commit-tree.c builtin/config.c
-#: builtin/fast-export.c builtin/grep.c builtin/hash-object.c
+#: builtin/fast-export.c builtin/gc.c builtin/grep.c builtin/hash-object.c
#: builtin/ls-files.c builtin/notes.c builtin/read-tree.c parse-options.h
msgid "file"
-msgstr "檔案"
+msgstr "file"
#: archive.c
msgid "add untracked file to archive"
-msgstr "將未追蹤檔案加入歸檔"
+msgstr "將未追蹤檔案加進å°å­˜"
#: archive.c
msgid "path:content"
-msgstr "路徑:內容"
+msgstr "path:content"
#: archive.c builtin/archive.c
msgid "write the archive to this file"
-msgstr "歸檔寫入此檔案"
+msgstr "å°‡å°å­˜å¯«å…¥æ­¤æª”案"
#: archive.c
msgid "read .gitattributes in working directory"
-msgstr "讀å–工作å€ä¸­çš„ .gitattributes"
+msgstr "讀å–工作目錄中的 .gitattributes"
#: archive.c
msgid "report archived files on stderr"
-msgstr "在標準錯誤上報告歸檔檔案"
+msgstr "在 stderr 上回報å°å­˜çš„æª”案"
#: archive.c
msgid "set compression level"
@@ -1658,27 +1666,27 @@ msgstr "設定壓縮級別"
#: archive.c
msgid "list supported archive formats"
-msgstr "列出支æ´çš„æ­¸æª”æ ¼å¼"
+msgstr "列出支æ´çš„å°å­˜æ ¼å¼"
#: archive.c builtin/archive.c builtin/clone.c builtin/submodule--helper.c
msgid "repo"
-msgstr "版本庫"
+msgstr "repo"
#: archive.c builtin/archive.c
msgid "retrieve the archive from remote repository <repo>"
-msgstr "從é ç«¯ç‰ˆæœ¬åº«ï¼ˆ<版本庫>ï¼‰æ“·å–æ­¸æª”檔案"
+msgstr "從é ç«¯ç‰ˆæœ¬åº« <repo> æ“·å–å°å­˜æª”案"
#: archive.c builtin/archive.c builtin/difftool.c builtin/notes.c
msgid "command"
-msgstr "指令"
+msgstr "command"
#: archive.c builtin/archive.c
msgid "path to the remote git-upload-archive command"
-msgstr "é ç«¯ git-upload-archive 指令的路徑"
+msgstr "é ç«¯ git-upload-archive 命令的路徑"
#: archive.c
msgid "Unexpected option --remote"
-msgstr "æœªçŸ¥åƒæ•¸ --remote"
+msgstr "éžé æœŸé¸é … --remote"
#: archive.c builtin/add.c builtin/checkout.c builtin/clone.c builtin/commit.c
#: builtin/fast-export.c builtin/index-pack.c builtin/log.c builtin/reset.c
@@ -1686,26 +1694,26 @@ msgstr "æœªçŸ¥åƒæ•¸ --remote"
#: revision.c
#, c-format
msgid "the option '%s' requires '%s'"
-msgstr "「%sã€é¸é …需è¦ã€Œ%sã€"
+msgstr "“%s†é¸é …éœ€è¦ â€œ%sâ€"
#: archive.c
msgid "Unexpected option --output"
-msgstr "æœªçŸ¥åƒæ•¸ --output"
+msgstr "éžé æœŸé¸é … --output"
#: archive.c
#, c-format
msgid "Unknown archive format '%s'"
-msgstr "æœªçŸ¥æ­¸æª”æ ¼å¼ '%s'"
+msgstr "å°å­˜æ ¼å¼ “%s†未知"
#: archive.c
#, c-format
msgid "Argument not supported for format '%s': -%d"
-msgstr "åƒæ•¸ä¸æ”¯æ´æ­¤æ ¼å¼ '%s':-%d"
+msgstr "å¼•æ•¸ä¸æ”¯æ´ “%s†格å¼ï¼š-%d"
#: attr.c
#, c-format
msgid "%.*s is not a valid attribute name"
-msgstr "%.*s 䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„屬性å"
+msgstr "%.*s 䏿˜¯æœ‰æ•ˆçš„屬性å稱"
#: attr.c
#, c-format
@@ -1717,23 +1725,23 @@ msgid ""
"Negative patterns are ignored in git attributes\n"
"Use '\\!' for literal leading exclamation."
msgstr ""
-"å呿¨¡å¼åœ¨ git attributes 中被忽略\n"
-"當字串確定è¦ä»¥é©šå˜†è™Ÿé–‹å§‹æ™‚,使用 '\\!'。"
+"git attributes 會忽略å呿¨¡å¼\n"
+"當字串確定è¦ä»¥é©šå˜†è™Ÿé–‹å§‹æ™‚,請使用 “\\!â€ã€‚"
#: bisect.c
#, c-format
msgid "Badly quoted content in file '%s': %s"
-msgstr "檔案 '%s' 包å«éŒ¯èª¤çš„引用格å¼ï¼š%s"
+msgstr "檔案 “%s†包å«ç„¡æ•ˆçš„引用內容:%s"
#: bisect.c
#, c-format
msgid "We cannot bisect more!\n"
-msgstr "我們無法進行更多的二分æœå°‹ï¼\n"
+msgstr "已經無法繼續二分æœå°‹ï¼\n"
#: bisect.c
#, c-format
msgid "Not a valid commit name %s"
-msgstr "䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„æäº¤å %s"
+msgstr "%s 䏿˜¯æœ‰æ•ˆçš„æäº¤å稱"
#: bisect.c
#, c-format
@@ -1742,7 +1750,7 @@ msgid ""
"This means the bug has been fixed between %s and [%s].\n"
msgstr ""
"åˆä½µåŸºç¤Ž %s 是壞的。\n"
-"這æ„味著介於 %s å’Œ [%s] 之間的 bug 已經被修復。\n"
+"這æ„味著 bug 已經在 %s å’Œ [%s] 之間被修正。\n"
#: bisect.c
#, c-format
@@ -1751,7 +1759,7 @@ msgid ""
"The property has changed between %s and [%s].\n"
msgstr ""
"åˆä½µåŸºç¤Ž %s 是新的。\n"
-"介於 %s 和 [%s] 之間的屬性已經被修改。\n"
+"介於 %s 和 [%s] 之間的屬性已被修改。\n"
#: bisect.c
#, c-format
@@ -1760,7 +1768,7 @@ msgid ""
"This means the first '%s' commit is between %s and [%s].\n"
msgstr ""
"åˆä½µåŸºç¤Ž %s 是 %s。\n"
-"這æ„味著第一個 '%s' æäº¤ä½æ–¼ %s å’Œ [%s] 之間。\n"
+"這æ„味著第一個 “%s†æäº¤ä½æ–¼ %s å’Œ [%s] 之間。\n"
#: bisect.c
#, c-format
@@ -1769,9 +1777,9 @@ msgid ""
"git bisect cannot work properly in this case.\n"
"Maybe you mistook %s and %s revs?\n"
msgstr ""
-"一些 %s ç‰ˆæœ¬ä¸æ˜¯ %s 版本的祖先。\n"
-"這種情æ³ä¸‹ git 二分æœå°‹ç„¡æ³•正常工作。\n"
-"您å¯èƒ½å¼„錯了 %s å’Œ %s 版本?\n"
+"部分 %s ä¿®è¨‚ç‰ˆä¸æ˜¯ %s 修訂版的祖先。\n"
+"這種情æ³ä¸‹ git bisect 無法正常é‹ä½œã€‚\n"
+"您å¯èƒ½å¼„錯了 %s å’Œ %s 修訂版?\n"
#: bisect.c
#, c-format
@@ -1780,33 +1788,33 @@ msgid ""
"So we cannot be sure the first %s commit is between %s and %s.\n"
"We continue anyway."
msgstr ""
-"介於 %s å’Œ [%s] çš„åˆä½µåŸºç¤Žä¸€å®šè¢«å¿½ç•¥äº†ã€‚\n"
+"介於 %s å’Œ [%s] çš„åˆä½µåŸºç¤Žä¸€å®šè¢«ç•¥éŽäº†ã€‚\n"
"所以我們無法確èªç¬¬ä¸€å€‹ %s æäº¤æ˜¯å¦ä»‹æ–¼ %s å’Œ %s 之間。\n"
"我們ä»èˆŠç¹¼çºŒã€‚"
#: bisect.c
#, c-format
msgid "Bisecting: a merge base must be tested\n"
-msgstr "二分æœå°‹ä¸­ï¼šåˆä½µåŸºç¤Žå¿…é ˆæ˜¯ç¶“éŽæ¸¬è©¦çš„\n"
+msgstr "二分æœå°‹ä¸­ï¼šåˆä½µåŸºç¤Žå¿…é ˆç¶“éŽæ¸¬è©¦\n"
#: bisect.c
#, c-format
msgid "a %s revision is needed"
-msgstr "需è¦ä¸€å€‹ %s 版本"
+msgstr "需è¦ä¸€å€‹ %s 修訂版"
#: bisect.c
#, c-format
msgid "could not create file '%s'"
-msgstr "ä¸èƒ½å»ºç«‹æª”案 '%s'"
+msgstr "無法建立 “%s†檔案"
#: bisect.c builtin/merge.c
#, c-format
msgid "could not read file '%s'"
-msgstr "ä¸èƒ½è®€å–檔案 '%s'"
+msgstr "ç„¡æ³•è®€å– â€œ%s†檔案"
#: bisect.c
msgid "reading bisect refs failed"
-msgstr "讀å–二分æœå°‹å¼•用失敗"
+msgstr "無法讀å–二分æœå°‹çš„引用"
#: bisect.c
#, c-format
@@ -1820,13 +1828,13 @@ msgid ""
"Maybe you started with bad path arguments?\n"
msgstr ""
"沒找到能夠測試的æäº¤ã€‚\n"
-"å¯èƒ½æ˜¯åŸ·è¡Œå‚³å…¥çš„路徑引數是錯誤的?\n"
+"å¯èƒ½æ˜¯å‚³å…¥çš„路徑引數有誤?\n"
#: bisect.c
#, c-format
msgid "(roughly %d step)"
msgid_plural "(roughly %d steps)"
-msgstr[0] "(大概 %d 步)"
+msgstr[0] "(大約 %d 步)"
#. TRANSLATORS: the last %s will be replaced with "(roughly %d
#. steps)" translation.
@@ -1835,7 +1843,7 @@ msgstr[0] "(大概 %d 步)"
#, c-format
msgid "Bisecting: %d revision left to test after this %s\n"
msgid_plural "Bisecting: %d revisions left to test after this %s\n"
-msgstr[0] "二分æœå°‹ä¸­ï¼šåœ¨æ­¤ä¹‹å¾Œï¼Œé‚„剩 %d 個版本待測試 %s\n"
+msgstr[0] "二分æœå°‹ä¸­ï¼šåœ¨æ­¤ (%2$s) 之後,尚餘 %1$d 個版本待測試\n"
#: blame.c
msgid "--contents and --reverse do not blend well."
@@ -1843,7 +1851,7 @@ msgstr "--contents å’Œ --reverse ä¸èƒ½æ··ç”¨ã€‚"
#: blame.c
msgid "cannot use --contents with final commit object name"
-msgstr "ä¸èƒ½å°‡ --contents 和最終的æäº¤ç‰©ä»¶å共用"
+msgstr "無法將 --contents 與最終的æäº¤ç‰©ä»¶å稱共用"
#: blame.c
msgid "--reverse and --first-parent together require specified latest commit"
@@ -1853,48 +1861,48 @@ msgstr "--reverse å’Œ --first-parent å…±ç”¨ï¼Œéœ€è¦æŒ‡å®šæœ€æ–°çš„æäº¤"
#: builtin/pack-objects.c builtin/shortlog.c bundle.c midx.c pack-bitmap.c
#: ref-filter.c remote.c sequencer.c submodule.c
msgid "revision walk setup failed"
-msgstr "ç‰ˆæœ¬éæ­·è¨­å®šå¤±æ•—"
+msgstr "ä¿®è¨‚ç‰ˆéæ­·è¨­å®šå¤±æ•—"
#: blame.c
msgid ""
"--reverse --first-parent together require range along first-parent chain"
-msgstr "--reverse å’Œ --first-parent 共用,需è¦ç¬¬ä¸€ç¥–å…ˆéˆä¸Šçš„æäº¤ç¯„åœ"
+msgstr "--reverse å’Œ --first-parent 共用,需è¦ç¬¬ä¸€ä¸Šç´šéˆçš„æäº¤ç¯„åœ"
#: blame.c
#, c-format
msgid "no such path %s in %s"
-msgstr "在 %2$s 中無此路徑 %1$s"
+msgstr "在 %2$s 中,沒有路徑 %1$s"
#: blame.c
#, c-format
msgid "cannot read blob %s for path %s"
-msgstr "ä¸èƒ½ç‚ºè·¯å¾‘ %2$s 讀å–資料物件 %1$s"
+msgstr "無法為 %2$s 路徑讀å–資料物件 %1$s"
#: branch.c
msgid ""
"cannot inherit upstream tracking configuration of multiple refs when "
"rebasing is requested"
-msgstr "請求é‡å®šåŸºåº•時,無法繼承多個åƒç…§çš„上游追蹤設定"
+msgstr "請求é‡å®šåŸºåº•時,無法繼承多個引用的上游追蹤設定"
#: branch.c
#, c-format
msgid "not setting branch '%s' as its own upstream"
-msgstr "未將「%sã€åˆ†æ”¯è¨­å®šç‚ºå…¶è‡ªå·±çš„上游"
+msgstr "未將 “%s†分支設為其自己的上游"
#: branch.c
#, c-format
msgid "branch '%s' set up to track '%s' by rebasing."
-msgstr "已將「%sã€åˆ†æ”¯è¨­å®šç‚ºé€éŽé‡å®šåŸºåº•追蹤「%sã€ã€‚"
+msgstr "已藉由é‡è¨‚基底,將 “%s†分支設定為追蹤 “%sâ€ã€‚"
#: branch.c
#, c-format
msgid "branch '%s' set up to track '%s'."
-msgstr "已將「%sã€åˆ†æ”¯è¨­å®šç‚ºè¿½è¹¤ã€Œ%sã€ã€‚"
+msgstr "已將 “%s†分支設定為追蹤 “%sâ€ã€‚"
#: branch.c
#, c-format
msgid "branch '%s' set up to track:"
-msgstr "「%sã€åˆ†æ”¯å·²è¨­å®šè¿½è¹¤ï¼š"
+msgstr "“%s†分支已設定追蹤:"
#: branch.c
msgid "unable to write upstream branch configuration"
@@ -1907,23 +1915,23 @@ msgid ""
"the remote tracking information by invoking:"
msgstr ""
"\n"
-"修正錯誤後,您å¯ä»¥åŸ·è¡Œä¸‹è¿°å‘½ä»¤\n"
-"命令修正é ç«¯è¿½è¹¤è³‡è¨Šï¼š"
+"修正病ç¶å¾Œï¼Œæ‚¨å¯ä»¥åŸ·è¡Œä¸‹è¿°å‘½ä»¤\n"
+"修正é ç«¯è¿½è¹¤è³‡è¨Šï¼š"
#: branch.c
#, c-format
msgid "asked to inherit tracking from '%s', but no remote is set"
-msgstr "請求繼承「%sã€çš„追蹤設定,但未設定é ç«¯"
+msgstr "請求繼承 “%s†的追蹤設定,但未設定é ç«¯"
#: branch.c
#, c-format
msgid "asked to inherit tracking from '%s', but no merge configuration is set"
-msgstr "請求繼承「%sã€çš„追蹤設定,但未設定åˆä½µè¨­å®š"
+msgstr "請求繼承 “%s†的追蹤設定,但未設定åˆä½µè¨­å®š"
#: branch.c
#, c-format
msgid "not tracking: ambiguous information for ref '%s'"
-msgstr "未追蹤:「%sã€å¼•用有歧義"
+msgstr "未追蹤:“%s†引用有歧義"
# 譯者:為ä¿è­‰åœ¨è¼¸å‡ºä¸­å°é½Šï¼Œæ³¨æ„調整å¥ä¸­ç©ºæ ¼ï¼
#. #-#-#-#-# branch.c.po #-#-#-#-#
@@ -1957,37 +1965,38 @@ msgid ""
"different remotes' fetch refspecs map into different\n"
"tracking namespaces."
msgstr ""
-"有多個é ç«¯çš„æŠ“å–å¼•ç”¨è¦æ ¼æ˜ å°„到é ç«¯è¿½è¹¤å¼•用「%sã€çš„è¦æ ¼ï¼š\n"
+"有多個é ç«¯çš„æŠ“å–å¼•ç”¨è¦æ ¼ï¼Œæ˜ å°„到\n"
+"é ç«¯è¿½è¹¤å¼•用 “%sâ€ çš„è¦æ ¼ï¼š\n"
"%s\n"
"這通常是設定錯誤。\n"
"\n"
-"è‹¥è¦æ”¯æ´è¨­å®šè¿½è¹¤åˆ†æ”¯ï¼Œè«‹ç¢ºå®šä¸åŒé ç«¯çš„æŠ“å–å¼•ç”¨è¦æ ¼\n"
-"映射到ä¸åŒçš„追蹤命å空間。"
+"è‹¥è¦æ”¯æ´è¨­å®šè¿½è¹¤åˆ†æ”¯ï¼Œè«‹ç¢ºå®šä¸åŒé ç«¯çš„\n"
+"抓å–å¼•ç”¨è¦æ ¼ï¼Œæ˜ å°„到ä¸åŒçš„追蹤命å空間。"
#: branch.c
#, c-format
msgid "'%s' is not a valid branch name"
-msgstr "「%sã€ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„分支å稱"
+msgstr "“%sâ€ ä¸æ˜¯æœ‰æ•ˆçš„分支å稱"
#: branch.c
#, c-format
msgid "a branch named '%s' already exists"
-msgstr "已有åŒå「%sã€åˆ†æ”¯"
+msgstr "已有åŒå “%s†分支"
#: branch.c
#, c-format
msgid "cannot force update the branch '%s' checked out at '%s'"
-msgstr "無法強制更新在「%2$sã€ç°½å‡ºçš„「%1$sã€åˆ†æ”¯"
+msgstr "無法強制更新在 “%2$s†簽出的 “%1$s†分支"
#: branch.c
#, c-format
msgid "cannot set up tracking information; starting point '%s' is not a branch"
-msgstr "無法設定追蹤資訊:起始點「%sã€ä¸æ˜¯åˆ†æ”¯"
+msgstr "無法設定追蹤資訊:起始點 “%sâ€ ä¸æ˜¯åˆ†æ”¯"
#: branch.c
#, c-format
msgid "the requested upstream branch '%s' does not exist"
-msgstr "請求的上游分支 '%s' ä¸å­˜åœ¨"
+msgstr "請求的上游分支 “%s†ä¸å­˜åœ¨"
#: branch.c
msgid ""
@@ -2002,31 +2011,31 @@ msgid ""
msgstr ""
"\n"
"如果您打算以é ç«¯ç¾å­˜çš„上游分支為基礎進行修改,\n"
-"您或許需è¦åŸ·è¡Œã€Œgit fetchã€å–得分支。\n"
+"您或許需è¦åŸ·è¡Œ `git fetch` å–得分支。\n"
"\n"
-"如果您打算將新建立的本機分支推é€è‡³å°æ‡‰çš„é ç«¯åˆ†æ”¯ï¼Œ\n"
-"且建立兩個分支間的追蹤關係,\n"
-"您å¯èƒ½éœ€è¦ä½¿ç”¨ã€Œgit push -uã€æŽ¨é€åˆ†æ”¯ä¸¦è¨­å®šå’Œä¸Šæ¸¸çš„é—œè¯ã€‚"
+"如果您打算將新建立的本機分支,推é€è‡³å°æ‡‰çš„é ç«¯åˆ†æ”¯ï¼Œ\n"
+"並建立兩個分支間的追蹤關係,您å¯èƒ½éœ€è¦ä½¿ç”¨ `git push -u`\n"
+"推é€åˆ†æ”¯ä¸¦è¨­å®šå’Œä¸Šæ¸¸çš„é—œè¯ã€‚"
#: branch.c builtin/replace.c
#, c-format
msgid "not a valid object name: '%s'"
-msgstr "䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„物件å:'%s'"
+msgstr "物件å稱無效:“%sâ€"
#: branch.c
#, c-format
msgid "ambiguous object name: '%s'"
-msgstr "物件å稱有歧義:「%sã€"
+msgstr "物件å稱有歧義:“%sâ€"
#: branch.c
#, c-format
msgid "not a valid branch point: '%s'"
-msgstr "無效的分支點:「%sã€"
+msgstr "分支點無效:“%sâ€"
#: branch.c
#, c-format
msgid "submodule '%s': unable to find submodule"
-msgstr "「%sã€å­æ¨¡çµ„:找ä¸åˆ°å­æ¨¡çµ„"
+msgstr "“%sâ€ å­æ¨¡çµ„:找ä¸åˆ°å­æ¨¡çµ„"
#: branch.c
#, c-format
@@ -2034,37 +2043,37 @@ msgid ""
"You may try updating the submodules using 'git checkout %s && git submodule "
"update --init'"
msgstr ""
-"您å¯ä»¥å˜—試使用「git checkout %s && git submodule update --initã€å‘½ä»¤æ›´æ–°å­æ¨¡"
-"組"
+"您å¯ä»¥å˜—試使用 “git checkout %s && git submodule update --init†命令,更新å­"
+"模組"
#: branch.c
#, c-format
msgid "submodule '%s': cannot create branch '%s'"
-msgstr "「%sã€å­æ¨¡çµ„:無法建立「%sã€åˆ†æ”¯"
+msgstr "“%sâ€ å­æ¨¡çµ„:無法建立 “%s†分支"
#: branch.c
#, c-format
msgid "'%s' is already checked out at '%s'"
-msgstr "'%s' 已經簽出到 '%s'"
+msgstr "“%s†已在 “%s†點簽出"
#: branch.c
#, c-format
msgid "HEAD of working tree %s is not updated"
-msgstr "å·¥ä½œå€ %s çš„ HEAD æŒ‡å‘æ²’有被更新"
+msgstr "%s 工作å€çš„ HEAD æŒ‡é‡æœªè¢«æ›´æ–°"
#: builtin/add.c
msgid "git add [<options>] [--] <pathspec>..."
-msgstr "git add [<é¸é …>] [--] <è·¯å¾‘è¦æ ¼>..."
+msgstr "git add [<options>] [--] <pathspec>..."
#: builtin/add.c
#, c-format
msgid "cannot chmod %cx '%s'"
-msgstr "無法 chmod %cx ‘%s’"
+msgstr "無法 chmod %cx '%s'"
#: builtin/add.c
#, c-format
msgid "unexpected diff status %c"
-msgstr "æ„外的差異狀態 %c"
+msgstr "éžé æœŸçš„ diff 狀態 %c"
#: builtin/add.c builtin/commit.c
msgid "updating files failed"
@@ -2073,19 +2082,19 @@ msgstr "更新檔案失敗"
#: builtin/add.c
#, c-format
msgid "remove '%s'\n"
-msgstr "刪除 '%s'\n"
+msgstr "移除 “%sâ€\n"
#: builtin/add.c
msgid "Unstaged changes after refreshing the index:"
-msgstr "釿–°æ•´ç†ç´¢å¼•之後尚未被暫存的變更:"
+msgstr "釿–°æ•´ç†ç´¢å¼•之後,尚未被暫存的更動:"
#: builtin/add.c builtin/rev-parse.c
msgid "Could not read the index"
-msgstr "ä¸èƒ½è®€å–索引"
+msgstr "無法讀å–索引"
#: builtin/add.c
msgid "Could not write patch"
-msgstr "ä¸èƒ½ç”Ÿæˆä¿®è£œæª”"
+msgstr "無法寫入修補檔"
#: builtin/add.c
msgid "editing patch failed"
@@ -2094,20 +2103,20 @@ msgstr "編輯修補檔失敗"
#: builtin/add.c
#, c-format
msgid "Could not stat '%s'"
-msgstr "ä¸èƒ½å° '%s' å‘¼å« stat"
+msgstr "ä¸èƒ½å° “%s†執行 stat"
#: builtin/add.c
msgid "Empty patch. Aborted."
-msgstr "空修補檔。異常終止。"
+msgstr "修補檔空白。中止。"
#: builtin/add.c
#, c-format
msgid "Could not apply '%s'"
-msgstr "ä¸èƒ½å¥—用 '%s'"
+msgstr "無法套用 “%sâ€"
#: builtin/add.c
msgid "The following paths are ignored by one of your .gitignore files:\n"
-msgstr "下列路徑根據您的一個 .gitignore 檔案而被忽略:\n"
+msgstr "下列路徑根據其中一個 .gitignore 檔案而被忽略:\n"
#: builtin/add.c builtin/clean.c builtin/fetch.c builtin/mv.c
#: builtin/prune-packed.c builtin/pull.c builtin/push.c builtin/remote.c
@@ -2123,11 +2132,11 @@ msgstr "詳細輸出"
#: builtin/add.c
msgid "interactive picking"
-msgstr "äº’å‹•å¼æ€é¸"
+msgstr "äº’å‹•å¼æŒ‘é¸"
#: builtin/add.c builtin/checkout.c builtin/reset.c
msgid "select hunks interactively"
-msgstr "äº’å‹•å¼æŒ‘é¸è³‡æ–™å€å¡Š"
+msgstr "互動å¼é¸å–å€å¡Š"
#: builtin/add.c
msgid "edit current diff and apply"
@@ -2135,7 +2144,7 @@ msgstr "編輯目å‰å·®ç•°ä¸¦å¥—用"
#: builtin/add.c
msgid "allow adding otherwise ignored files"
-msgstr "å…許新增忽略的檔案"
+msgstr "å…許加入原先被忽略的檔案"
#: builtin/add.c
msgid "update tracked files"
@@ -2143,15 +2152,15 @@ msgstr "更新已追蹤的檔案"
#: builtin/add.c
msgid "renormalize EOL of tracked files (implies -u)"
-msgstr "å°å·²è¿½è¹¤æª”æ¡ˆï¼ˆéš±å« -uï¼‰é‡æ–°æ­¸ä¸€æ›è¡Œç¬¦è™Ÿ"
+msgstr "å°å·²è¿½è¹¤æª”æ¡ˆï¼ˆéš±å« -uï¼‰é‡æ–°æ¨™æº–化 EOL"
#: builtin/add.c
msgid "record only the fact that the path will be added later"
-msgstr "åªè¨˜éŒ„,該路徑ç¨å¾Œå†æ–°å¢ž"
+msgstr "åªè¨˜éŒ„「路徑ç¨å¾Œæœƒå†åŠ å…¥ã€"
#: builtin/add.c
msgid "add changes from all tracked and untracked files"
-msgstr "新增所有改變的已追蹤檔案和未追蹤檔案"
+msgstr "從所有已追蹤和未追蹤檔案加入更動"
#: builtin/add.c
msgid "ignore paths removed in the working tree (same as --no-all)"
@@ -2167,7 +2176,7 @@ msgstr "ç•¥éŽå› ç™¼ç”ŸéŒ¯èª¤ä¸èƒ½æ–°å¢žçš„æª”案"
#: builtin/add.c
msgid "check if - even missing - files are ignored in dry run"
-msgstr "檢查在測試執行模å¼ä¸‹æª”案(å³ä½¿ä¸å­˜åœ¨ï¼‰æ˜¯å¦è¢«å¿½ç•¥"
+msgstr "檢查(å³ä½¿ä¸å­˜åœ¨çš„)檔案是å¦åœ¨æ¸¬è©¦åŸ·è¡Œæ¨¡å¼ä¸­è¢«å¿½ç•¥"
#: builtin/add.c builtin/mv.c builtin/rm.c
msgid "allow updating entries outside of the sparse-checkout cone"
@@ -2175,11 +2184,11 @@ msgstr "å…許更新稀ç–簽出 cone 外的項目"
#: builtin/add.c builtin/update-index.c
msgid "override the executable bit of the listed files"
-msgstr "覆蓋列表裡檔案的å¯åŸ·è¡Œä½"
+msgstr "覆寫列出檔案中的å¯åŸ·è¡Œä½å…ƒ"
#: builtin/add.c
msgid "warn when adding an embedded repository"
-msgstr "建立一個嵌入å¼ç‰ˆæœ¬åº«æ™‚給予警告"
+msgstr "嵌入版本庫時發出警告"
#: builtin/add.c
#, c-format
@@ -2198,22 +2207,24 @@ msgid ""
"\n"
"See \"git help submodule\" for more information."
msgstr ""
-"您在目å‰ç‰ˆæœ¬åº«ä¸­æ–°å¢žäº†å¦å¤–一個 Git 版本庫。複製外層的版本庫將ä¸åŒ…å«åµŒå…¥ç‰ˆæœ¬åº«"
-"的內容,並且ä¸çŸ¥é“該如何å–得它。\n"
-"å¦‚æžœæ‚¨è¦æ–°å¢žä¸€å€‹å­æ¨¡çµ„,使用:\n"
+"您在目å‰çš„版本庫中加進å¦ä¸€å€‹ Git 版本庫。\n"
+"複製外層的版本庫,將ä¸åŒ…å«åµŒå…¥ç‰ˆæœ¬åº«çš„內容,\n"
+"並且ä¸åŒ…å«å–得此版本庫的方å¼ã€‚\n"
+"如果您è¦åР入孿¨¡çµ„,請使用:\n"
"\n"
"\tgit submodule add <url> %s\n"
"\n"
-"如果您ä¸å°å¿ƒæ–°å¢žäº†é€™å€‹è·¯å¾‘,å¯ä»¥ç”¨ä¸‹é¢çš„æŒ‡ä»¤å°‡å…¶å¾žç´¢å¼•中刪除:\n"
+"如果您ä¸å°å¿ƒåŠ å…¥äº†é€™å€‹è·¯å¾‘ï¼Œ\n"
+"å¯ä»¥ç”¨ä¸‹é¢çš„命令,將其從索引中移除:\n"
"\n"
"\tgit rm --cached %s\n"
"\n"
-"åƒè¦‹ \"git help submodule\" å–得更多訊æ¯ã€‚"
+"åƒè¦‹ “git help submodule†深入了解。"
#: builtin/add.c
#, c-format
msgid "adding embedded git repository: %s"
-msgstr "æ­£åœ¨æ–°å¢žåµŒå…¥å¼ git 版本庫:%s"
+msgstr "æ­£åœ¨åŠ å…¥åµŒå…¥å¼ git 版本庫:%s"
#: builtin/add.c
msgid ""
@@ -2221,29 +2232,29 @@ msgid ""
"Turn this message off by running\n"
"\"git config advice.addIgnoredFile false\""
msgstr ""
-"如果您真的想加入,請使用 -f。\n"
+"若您真的想加入,請傳入 -f。\n"
"如è¦é—œé–‰æ­¤è¨Šæ¯ï¼Œè«‹åŸ·è¡Œ\n"
-"\"git config advice.addIgnoredFile false\""
+"“git config advice.addIgnoredFile falseâ€"
#: builtin/add.c
msgid "adding files failed"
-msgstr "新增檔案失敗"
+msgstr "加入檔案失敗"
#: builtin/add.c
#, c-format
msgid "--chmod param '%s' must be either -x or +x"
-msgstr "åƒæ•¸ --chmod å–值 '%s' 必須是 -x 或 +x"
+msgstr "--chmod çš„åƒæ•¸ “%s†必須是 -x 或 +x"
#: builtin/add.c builtin/checkout.c builtin/commit.c builtin/reset.c
#: builtin/rm.c builtin/stash.c
#, c-format
msgid "'%s' and pathspec arguments cannot be used together"
-msgstr "「%sã€å’Œè·¯å¾‘è¦æ ¼å¼•數ä¸å¾—åŒæ™‚使用"
+msgstr "“%sâ€ å’Œè·¯å¾‘è¦æ ¼å¼•數ä¸å¾—åŒæ™‚使用"
#: builtin/add.c
#, c-format
msgid "Nothing specified, nothing added.\n"
-msgstr "沒有指定檔案,也沒有檔案被新增。\n"
+msgstr "沒有指定,亦未加入檔案。\n"
#: builtin/add.c
msgid ""
@@ -2251,9 +2262,9 @@ msgid ""
"Turn this message off by running\n"
"\"git config advice.addEmptyPathspec false\""
msgstr ""
-"å¯èƒ½ä½ è¦åšçš„æ˜¯ 'git add .'?\n"
+"å¯èƒ½æ‚¨æƒ³åš “git add .â€ï¼Ÿ\n"
"如è¦é—œé–‰æ­¤è¨Šæ¯ï¼Œè«‹åŸ·è¡Œ\n"
-"\"git config advice.addEmptyPathspec false\""
+"“git config advice.addEmptyPathspec falseâ€"
#: builtin/add.c builtin/check-ignore.c builtin/checkout.c builtin/clean.c
#: builtin/commit.c builtin/diff-tree.c builtin/grep.c builtin/mv.c
@@ -2265,43 +2276,43 @@ msgstr "索引檔案æå£ž"
#: builtin/am.c builtin/mailinfo.c mailinfo.c
#, c-format
msgid "bad action '%s' for '%s'"
-msgstr "「%sã€å‹•作å°ã€Œ%sã€ç„¡æ•ˆ"
+msgstr "“%sâ€ å‹•ä½œå° â€œ%s†無效"
#: builtin/am.c builtin/blame.c builtin/fetch.c builtin/pack-objects.c
#: builtin/pull.c diff-merges.c gpg-interface.c ls-refs.c parallel-checkout.c
#: sequencer.c setup.c
#, c-format
msgid "invalid value for '%s': '%s'"
-msgstr "「%sã€çš„值無效:「%sã€"
+msgstr "“%s†的值無效:“%sâ€"
#: builtin/am.c builtin/commit.c builtin/merge.c sequencer.c
#, c-format
msgid "could not read '%s'"
-msgstr "ä¸èƒ½è®€å– '%s'"
+msgstr "ç„¡æ³•è®€å– â€œ%sâ€"
#: builtin/am.c
msgid "could not parse author script"
-msgstr "ä¸èƒ½è§£æžä½œè€…腳本"
+msgstr "無法解æžä½œè€…文稿"
#: builtin/am.c builtin/replace.c commit.c sequencer.c
#, c-format
msgid "could not parse %s"
-msgstr "ä¸èƒ½è§£æž %s"
+msgstr "ç„¡æ³•è§£æž %s"
#: builtin/am.c
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
-msgstr "'%s' 被 applypatch-msg 掛鉤刪除"
+msgstr "“%s†被 applypatch-msg 掛鉤刪除"
#: builtin/am.c
#, c-format
msgid "Malformed input line: '%s'."
-msgstr "éžæ³•的輸入行:'%s'。"
+msgstr "æ ¼å¼éŒ¯èª¤çš„輸入列:“%sâ€ã€‚"
#: builtin/am.c
#, c-format
msgid "Failed to copy notes from '%s' to '%s'"
-msgstr "從 '%s' 複製註解到 '%s' 時失敗"
+msgstr "從 “%s†拷è²è¨»è§£åˆ° “%s†失敗"
#: builtin/am.c
msgid "fseek failed"
@@ -2310,21 +2321,21 @@ msgstr "fseek 失敗"
#: builtin/am.c builtin/rebase.c sequencer.c wrapper.c
#, c-format
msgid "could not open '%s' for reading"
-msgstr "無法開啟 '%s' 進行讀å–"
+msgstr "無法開啟 “%s†進行讀å–"
#: builtin/am.c builtin/rebase.c sequencer.c strbuf.c wrapper.c
#, c-format
msgid "could not open '%s' for writing"
-msgstr "無法開啟 '%s' 進行寫入"
+msgstr "無法開啟 “%s†進行寫入"
#: builtin/am.c
#, c-format
msgid "could not parse patch '%s'"
-msgstr "無法解æžä¿®è£œæª” '%s'"
+msgstr "無法解æžä¿®è£œæª” “%sâ€"
#: builtin/am.c
msgid "Only one StGIT patch series can be applied at once"
-msgstr "一次åªèƒ½æœ‰ä¸€å€‹ StGIT 修補檔佇列被套用"
+msgstr "一次åªèƒ½å¥—用一個 StGIT 修補檔åºåˆ—"
#: builtin/am.c
msgid "invalid timestamp"
@@ -2332,11 +2343,11 @@ msgstr "無效的時間戳"
#: builtin/am.c
msgid "invalid Date line"
-msgstr "無效的日期行"
+msgstr "無效的 Date 列"
#: builtin/am.c
msgid "invalid timezone offset"
-msgstr "無效的時å€ä½ç§»å€¼"
+msgstr "無效的時å€åç§»"
#: builtin/am.c
msgid "Patch format detection failed."
@@ -2345,74 +2356,74 @@ msgstr "修補檔格å¼åµæ¸¬å¤±æ•—。"
#: builtin/am.c builtin/clone.c
#, c-format
msgid "failed to create directory '%s'"
-msgstr "建立目錄 '%s' 失敗"
+msgstr "無法建立目錄 “%sâ€"
#: builtin/am.c
msgid "Failed to split patches."
-msgstr "分割修補檔失敗。"
+msgstr "無法切割修補檔。"
#: builtin/am.c
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\"."
-msgstr "當您解決這一å•題,執行 \"%s --continue\"。"
+msgstr "解決此å•題後,請執行 “%s --continueâ€ã€‚"
#: builtin/am.c
#, c-format
msgid "If you prefer to skip this patch, run \"%s --skip\" instead."
-msgstr "如果您想è¦ç•¥éŽé€™ä¸€ä¿®è£œæª”,則執行 \"%s --skip\"。"
+msgstr "è‹¥è¦ç•¥éŽæ­¤ä¿®è£œï¼Œè«‹æ”¹åŸ·è¡Œ “%s --skipâ€ã€‚"
#: builtin/am.c
#, c-format
msgid "To record the empty patch as an empty commit, run \"%s --allow-empty\"."
-msgstr "è‹¥è¦å°‡ç©ºç™½ä¿®è£œæª”錄製為空白æäº¤ï¼Œè«‹åŸ·è¡Œã€Œ%s --allow-emptyã€ã€‚"
+msgstr "è‹¥è¦å°‡ç©ºç™½ä¿®è£œæª”錄入為空白æäº¤ï¼Œè«‹åŸ·è¡Œ “%s --allow-emptyâ€ã€‚"
#: builtin/am.c
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
-msgstr "è‹¥è¦å¾©åŽŸè‡³åŽŸå§‹åˆ†æ”¯ä¸¦åœæ­¢ä¿®è£œå‹•作,執行 \"%s --abort\"。"
+msgstr "è‹¥è¦é‚„åŽŸè‡³åŽŸå§‹åˆ†æ”¯ï¼Œä¸¦åœæ­¢ä¿®è£œå‹•作,請執行 “%s --abortâ€ã€‚"
#: builtin/am.c
msgid "Patch sent with format=flowed; space at the end of lines might be lost."
-msgstr "修補檔使用 format=flowed æ ¼å¼å‚³é€ï¼Œè¡Œå°¾çš„空格å¯èƒ½æœƒéºå¤±ã€‚"
+msgstr "修補檔使用 format=flowed æ ¼å¼å‚³é€ï¼šåˆ—尾的空格å¯èƒ½æœƒéºå¤±ã€‚"
#: builtin/am.c
#, c-format
msgid "missing author line in commit %s"
-msgstr "在æäº¤ %s 中缺少作者行"
+msgstr "在æäº¤ %s 中缺少作者列"
#: builtin/am.c
#, c-format
msgid "invalid ident line: %.*s"
-msgstr "無效的身份標記:%.*s"
+msgstr "ident 列無效:%.*s"
#: builtin/am.c builtin/checkout.c builtin/clone.c commit-graph.c
#, c-format
msgid "unable to parse commit %s"
-msgstr "ä¸èƒ½è§£æžæäº¤ %s"
+msgstr "ç„¡æ³•è§£æž %s æäº¤"
#: builtin/am.c
msgid "Repository lacks necessary blobs to fall back on 3-way merge."
-msgstr "版本庫缺ä¹å¿…è¦çš„資料物件以進行三方åˆä½µã€‚"
+msgstr "版本庫缺少必è¦çš„資料物件,無法進行三方åˆä½µã€‚"
#: builtin/am.c
msgid "Using index info to reconstruct a base tree..."
-msgstr "使用索引來é‡å»ºä¸€å€‹ï¼ˆä¸‰æ–¹åˆä½µçš„)基礎目錄樹..."
+msgstr "正在使用索引資訊é‡å»ºåŸºç¤Žæ¨¹â€¦â€¦"
#: builtin/am.c
msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
msgstr ""
-"æ‚¨æ˜¯å¦æ›¾æ‰‹å‹•ç·¨è¼¯éŽæ‚¨çš„修補檔?\n"
-"無法套用修補檔到索引中的資料物件上。"
+"æ‚¨æ˜¯å¦æ›¾è‡ªè¡Œç·¨è¼¯éŽæ‚¨çš„修補檔?\n"
+"未能套用至索引錄入的資料物件。"
#: builtin/am.c
msgid "Falling back to patching base and 3-way merge..."
-msgstr "回è½åˆ°åŸºç¤Žç‰ˆæœ¬ä¸Šä¿®è£œåŠé€²è¡Œä¸‰æ–¹åˆä½µ..."
+msgstr "正在回復到修補基礎處,並進行三方åˆä½µâ€¦â€¦"
#: builtin/am.c
msgid "Failed to merge in the changes."
-msgstr "無法åˆä½µè®Šæ›´ã€‚"
+msgstr "無法åˆä½µæ›´å‹•。"
#: builtin/am.c builtin/merge.c sequencer.c
msgid "git write-tree failed to write a tree"
@@ -2420,12 +2431,12 @@ msgstr "git write-tree 無法寫入樹狀物件"
#: builtin/am.c
msgid "applying to an empty history"
-msgstr "正套用到一個空歷å²ä¸Š"
+msgstr "正在套用至空白歷å²è¨˜éŒ„上"
#: builtin/am.c builtin/commit.c builtin/merge.c sequencer.c
#: t/helper/test-fast-rebase.c
msgid "failed to write commit object"
-msgstr "寫æäº¤ç‰©ä»¶å¤±æ•—"
+msgstr "無法寫入æäº¤ç‰©ä»¶"
#: builtin/am.c
#, c-format
@@ -2434,7 +2445,7 @@ msgstr "無法繼續:%s ä¸å­˜åœ¨ã€‚"
#: builtin/am.c
msgid "Commit Body is:"
-msgstr "æäº¤å…§å®¹ç‚ºï¼š"
+msgstr "æäº¤å…§æ–‡ç‚ºï¼š"
# 譯者:請維æŒå¥å°¾ç©ºæ ¼
#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
@@ -2444,7 +2455,7 @@ msgstr "æäº¤å…§å®¹ç‚ºï¼š"
#: builtin/am.c
#, c-format
msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: "
-msgstr "套用?是[y]/å¦[n]/編輯[e]/檢視修補檔[v]/全部接å—[a]: "
+msgstr "是å¦å¥—用?是[y]/å¦[n]/編輯[e]/檢視修補檔[v]/全部接å—[a]: "
#: builtin/am.c builtin/commit.c
msgid "unable to write index file"
@@ -2453,7 +2464,7 @@ msgstr "無法寫入索引檔案"
#: builtin/am.c
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr "髒索引:ä¸èƒ½å¥—用修補檔(髒檔案:%s)"
+msgstr "有異動索引:無法套用修補檔(異動處:%s)"
#: builtin/am.c
#, c-format
@@ -2467,7 +2478,7 @@ msgstr "建立空白æäº¤ï¼š%.*s"
#: builtin/am.c
msgid "Patch is empty."
-msgstr "修補檔為空。"
+msgstr "修補檔空白。"
#: builtin/am.c
#, c-format
@@ -2476,20 +2487,20 @@ msgstr "套用:%.*s"
#: builtin/am.c
msgid "No changes -- Patch already applied."
-msgstr "沒有變更——修補檔已經套用éŽã€‚"
+msgstr "沒有變更——修補檔已套用éŽã€‚"
#: builtin/am.c
#, c-format
msgid "Patch failed at %s %.*s"
-msgstr "打修補檔失敗於 %s %.*s"
+msgstr "在 %s %.*s 處修補失敗"
#: builtin/am.c
msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
-msgstr "用 'git am --show-current-patch=diff' 命令檢視失敗的修補檔"
+msgstr "使用 “git am --show-current-patch=diff†命令檢視失敗的修補檔"
#: builtin/am.c
msgid "No changes - recorded it as an empty commit."
-msgstr "沒有變更 ï¼ å°‡å…¶éŒ„è£½ç‚ºç©ºç™½æäº¤ã€‚"
+msgstr "沒有變更:將其錄入為空白æäº¤ã€‚"
#: builtin/am.c
msgid ""
@@ -2497,9 +2508,9 @@ msgid ""
"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"
-"å¦‚æžœæ²’æœ‰ä»€éº¼è¦æ–°å¢žåˆ°æš«å­˜å€çš„,則很å¯èƒ½æ˜¯å…¶å®ƒæäº¤å·²ç¶“引入了相åŒçš„變更。\n"
-"您也許想è¦ç•¥éŽé€™å€‹ä¿®è£œæª”。"
+"沒有變更:是å¦å¿˜è¨˜åŸ·è¡Œ “git addâ€ï¼Ÿ\n"
+"å¦‚æžœæ²’æœ‰å…¶ä»–è¦æ–°å¢žåˆ°æš«å­˜å€çš„,則很å¯èƒ½æ˜¯å…¶å®ƒæäº¤\n"
+"已經引入了相åŒçš„變更。您也許想è¦ç•¥éŽé€™å€‹ä¿®è£œæª”。"
#: builtin/am.c
msgid ""
@@ -2508,59 +2519,61 @@ msgid ""
"such.\n"
"You might run `git rm` on a file to accept \"deleted by them\" for it."
msgstr ""
-"在您的索引中ä»å­˜åœ¨æœªåˆä½µçš„路徑。\n"
-"您應該å°å·²ç¶“è¡çªè§£æ±ºçš„æ¯ä¸€å€‹æª”æ¡ˆåŸ·è¡Œ 'git add' 來標記已經完æˆã€‚ \n"
-"ä½ å¯ä»¥å° \"由他們刪除\" 的檔案執行 `git rm` 指令。"
+"ç´¢å¼•ä¸­ä»æœ‰æœªåˆä½µè·¯å¾‘。\n"
+"您應該å°å·²ç¶“解決è¡çªçš„æ¯ä¸€å€‹æª”æ¡ˆåŸ·è¡Œ `git add`,標記為已經完æˆã€‚\n"
+"ä½ å¯ä»¥å°ã€Œç”±ä»–們刪除ã€çš„æª”案,執行 `git rm` 指令。"
#: builtin/am.c builtin/checkout.c builtin/clone.c builtin/stash.c merge.c
#: rerere.c
msgid "unable to write new index file"
-msgstr "無法寫新的索引檔案"
+msgstr "無法寫入新的索引檔案"
#: builtin/am.c builtin/reset.c
#, c-format
msgid "Could not parse object '%s'."
-msgstr "ä¸èƒ½è§£æžç‰©ä»¶ '%s'。"
+msgstr "ç„¡æ³•è§£æž â€œ%s†物件。"
#: builtin/am.c
msgid "failed to clean index"
-msgstr "清空索引失敗"
+msgstr "無法清除索引"
#: builtin/am.c
msgid ""
"You seem to have moved HEAD since the last 'am' failure.\n"
"Not rewinding to ORIG_HEAD"
-msgstr "您好åƒåœ¨ä¸Šä¸€æ¬¡ 'am' 失敗後移動了 HEAD。未還原至 ORIG_HEAD"
+msgstr ""
+"您似乎在上一次 “am†失敗後移動了 HEAD。\n"
+"未倒轉回 ORIG_HEAD"
#: builtin/am.c builtin/bisect--helper.c worktree.c
#, c-format
msgid "failed to read '%s'"
-msgstr "è®€å– '%s' 失敗"
+msgstr "ç„¡æ³•è®€å– â€œ%sâ€"
#: builtin/am.c
#, c-format
msgid "options '%s=%s' and '%s=%s' cannot be used together"
-msgstr "「%s=%sã€å’Œã€Œ%s=%sã€é¸é …ä¸å¾—åŒæ™‚使用"
+msgstr "“%s=%s†和 “%s=%s†é¸é …ä¸å¾—åŒæ™‚使用"
#: builtin/am.c
msgid "git am [<options>] [(<mbox> | <Maildir>)...]"
-msgstr "git am [<é¸é …>] [(<mbox> | <Maildir>)...]"
+msgstr "git am [<options>] [(<mbox> | <Maildir>)...]"
#: builtin/am.c
msgid "git am [<options>] (--continue | --skip | --abort)"
-msgstr "git am [<é¸é …>] (--continue | --skip | --abort)"
+msgstr "git am [<options>] (--continue | --skip | --abort)"
#: builtin/am.c
msgid "run interactively"
-msgstr "ä»¥äº’å‹•å¼æ–¹å¼åŸ·è¡Œ"
+msgstr "互動å¼åŸ·è¡Œ"
#: builtin/am.c
msgid "historical option -- no-op"
-msgstr "è€çš„åƒæ•¸ —— 無作用"
+msgstr "æ­·å²éºç•™é¸é …——無作用"
#: builtin/am.c
msgid "allow fall back on 3way merging if needed"
-msgstr "如果必è¦ï¼Œå…許使用三方åˆä½µ"
+msgstr "å¿…è¦æ™‚å…許回復至三方åˆä½µ"
#: builtin/am.c builtin/init-db.c builtin/prune-packed.c builtin/repack.c
#: builtin/stash.c
@@ -2569,7 +2582,7 @@ msgstr "éœé»˜æ¨¡å¼"
#: builtin/am.c
msgid "add a Signed-off-by trailer to the commit message"
-msgstr "在æäº¤èªªæ˜Žçµå°¾åŠ å…¥ Signed-off-by"
+msgstr "在æäº¤èªªæ˜Žçµå°¾è™•加入 Signed-off-by"
#: builtin/am.c
msgid "recode into utf8 (default)"
@@ -2577,35 +2590,35 @@ msgstr "使用 utf8 字元集(é è¨­ï¼‰"
#: builtin/am.c
msgid "pass -k flag to git-mailinfo"
-msgstr "å‘ git-mailinfo å‚³éž -k åƒæ•¸"
+msgstr "å‘ git-mailinfo 傳入 -k åƒæ•¸"
#: builtin/am.c
msgid "pass -b flag to git-mailinfo"
-msgstr "å‘ git-mailinfo å‚³éž -b åƒæ•¸"
+msgstr "å‘ git-mailinfo 傳入 -b åƒæ•¸"
#: builtin/am.c
msgid "pass -m flag to git-mailinfo"
-msgstr "å‘ git-mailinfo å‚³éž -m åƒæ•¸"
+msgstr "å‘ git-mailinfo 傳入 -m åƒæ•¸"
#: builtin/am.c
msgid "pass --keep-cr flag to git-mailsplit for mbox format"
-msgstr "é‡å° mbox æ ¼å¼ï¼Œå‘ git-mailsplit å‚³éž --keep-cr åƒæ•¸"
+msgstr "若為 mbox æ ¼å¼ï¼Œå‘ git-mailsplit 傳入 --keep-cr 標記"
#: builtin/am.c
msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
-msgstr "ä¸å‘ git-mailsplit å‚³éž --keep-cr åƒæ•¸ï¼Œè¦†è“‹ am.keepcr 的設定"
+msgstr "ä¸å‘ git-mailsplit 傳入 --keep-cr 標記,無視 am.keepcr 的設定"
#: builtin/am.c
msgid "strip everything before a scissors line"
-msgstr "æ¨æ£„è£åˆ‡ç·šå‰çš„æ‰€æœ‰å…§å®¹"
+msgstr "截掉è£åˆ‡ç·šå‰çš„æ‰€æœ‰å…§å®¹"
#: builtin/am.c
msgid "pass it through git-mailinfo"
-msgstr "é€éŽ git-mailinfo 傳éž"
+msgstr "é€éŽ git-mailinfo 傳入"
#: builtin/am.c
msgid "pass it through git-apply"
-msgstr "傳éžçµ¦ git-apply"
+msgstr "é€éŽ git-apply 傳入"
#: builtin/am.c builtin/commit.c builtin/fmt-merge-msg.c builtin/grep.c
#: builtin/merge.c builtin/pull.c builtin/rebase.c builtin/repack.c
@@ -2617,7 +2630,7 @@ msgstr "n"
#: builtin/diagnose.c builtin/for-each-ref.c builtin/ls-files.c
#: builtin/ls-tree.c builtin/replace.c builtin/tag.c builtin/verify-tag.c
msgid "format"
-msgstr "æ ¼å¼"
+msgstr "format"
#: builtin/am.c
msgid "format the patch(es) are in"
@@ -2625,7 +2638,7 @@ msgstr "修補檔的格å¼"
#: builtin/am.c
msgid "override error message when patch failure occurs"
-msgstr "打修補檔失敗時顯示的錯誤訊æ¯"
+msgstr "覆蓋修補失敗時顯示的錯誤訊æ¯"
#: builtin/am.c
msgid "continue applying patches after resolving a conflict"
@@ -2645,7 +2658,7 @@ msgstr "還原原始分支並中止修補動作"
#: builtin/am.c
msgid "abort the patching operation but keep HEAD where it is"
-msgstr "çµ‚æ­¢ä¿®è£œå‹•ä½œä½†ä¿æŒ HEAD ä¸è®Š"
+msgstr "ä¸­æ­¢ä¿®è£œå‹•ä½œä½†ä¿æŒ HEAD ä¸è®Š"
#: builtin/am.c
msgid "show the patch being applied"
@@ -2653,15 +2666,15 @@ msgstr "顯示正在套用的修補檔"
#: builtin/am.c
msgid "record the empty patch as an empty commit"
-msgstr "將空白修補檔錄製為空白æäº¤"
+msgstr "將空白修補檔錄入為空白æäº¤"
#: builtin/am.c
msgid "lie about committer date"
-msgstr "將作者日期作為æäº¤æ—¥æœŸ"
+msgstr "將作者日期當作æäº¤æ—¥æœŸ"
#: builtin/am.c
msgid "use current timestamp for author date"
-msgstr "ç”¨ç›®å‰æ™‚間作為作者日期"
+msgstr "æŠŠç›®å‰æ™‚間戳當作是作者日期"
#: builtin/am.c builtin/commit-tree.c builtin/commit.c builtin/merge.c
#: builtin/pull.c builtin/rebase.c builtin/revert.c builtin/tag.c
@@ -2685,8 +2698,8 @@ 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 已經很長時間ä¸åšä»»ä½•實質動作了,並且將被移除。\n"
-"è«‹ä¸è¦å†ä½¿ç”¨å®ƒäº†ã€‚"
+"-b/--binary é¸é …已經有很長時間ä¸åšä»»ä½•實質動作了,\n"
+"並且將被移除。請ä¸è¦å†ä½¿ç”¨å®ƒäº†ã€‚"
#: builtin/am.c
msgid "failed to read the index"
@@ -2703,49 +2716,49 @@ msgid ""
"Stray %s directory found.\n"
"Use \"git am --abort\" to remove it."
msgstr ""
-"發ç¾äº†éŒ¯èª¤çš„ %s 目錄。\n"
-"使用 \"git am --abort\" 刪除它。"
+"發ç¾å¤±æ•£çš„ %s 目錄。\n"
+"使用 “git am --abort†移除。"
#: builtin/am.c
msgid "Resolve operation not in progress, we are not resuming."
-msgstr "è§£æ±ºå‹•ä½œæœªé€²è¡Œï¼Œæˆ‘å€‘ä¸æœƒç¹¼çºŒã€‚"
+msgstr "æœªåœ¨é€²è¡Œè§£æ±ºå‹•ä½œï¼Œä¸æœƒç¹¼çºŒã€‚"
#: builtin/am.c
msgid "interactive mode requires patches on the command line"
-msgstr "äº’å‹•å¼æ¨¡å¼éœ€è¦æŒ‡ä»¤åˆ—上æä¾›ä¿®è£œæª”"
+msgstr "互動模å¼éœ€è¦å‘½ä»¤åˆ—上æä¾›ä¿®è£œæª”"
#: builtin/apply.c
msgid "git apply [<options>] [<patch>...]"
-msgstr "git apply [<é¸é …>] [<修補檔>...]"
+msgstr "git apply [<options>] [<patch>...]"
#: builtin/archive.c diagnose.c
msgid "could not redirect output"
-msgstr "ä¸èƒ½é‡å®šå‘輸出"
+msgstr "ç„¡æ³•é‡æ–°å°Žå‘輸出"
#: builtin/archive.c
msgid "git archive: Remote with no URL"
-msgstr "git archive:未æä¾›é ç«¯ URL"
+msgstr "git archive: 未æä¾›é ç«¯ URL"
#: builtin/archive.c
msgid "git archive: expected ACK/NAK, got a flush packet"
-msgstr "git archive:期望是 ACK/NAK,å»å¾—到 flush 包"
+msgstr "git archiveï¼šé æœŸæ˜¯ ACK/NAKï¼Œå»æ”¶åˆ° flush å°åŒ…"
#: builtin/archive.c
#, c-format
msgid "git archive: NACK %s"
-msgstr "git archive:NACK %s"
+msgstr "git archive: NACK %s"
#: builtin/archive.c
msgid "git archive: protocol error"
-msgstr "git archive:å”定錯誤"
+msgstr "git archive:通訊å”定錯誤"
#: builtin/archive.c
msgid "git archive: expected a flush"
-msgstr "git archive:應有一個 flush 包"
+msgstr "git archiveï¼šé æœŸæ”¶åˆ° flush å°åŒ…"
#: builtin/bisect--helper.c
msgid "git bisect--helper --bisect-reset [<commit>]"
-msgstr "git bisect--helper --bisect-reset [<æäº¤>]"
+msgstr "git bisect--helper --bisect-reset [<commit>]"
#: builtin/bisect--helper.c
msgid ""
@@ -2753,24 +2766,25 @@ msgid ""
"=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
"[<paths>...]"
msgstr ""
-"git bisect--helper --bisect-start [--term-{new,bad}=<術語> --term-{old,good}"
-"=<術語>] [--no-checkout] [--first-parent] [<壞> [<好>...]] [--] [<路徑>...]"
+"git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}"
+"=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
+"[<paths>...]"
#: builtin/bisect--helper.c
msgid "git bisect--helper --bisect-state (bad|new) [<rev>]"
-msgstr "git bisect--helper --bisect-state (bad|new) [<修訂版>]"
+msgstr "git bisect--helper --bisect-state (bad|new) [<rev>]"
#: builtin/bisect--helper.c
msgid "git bisect--helper --bisect-state (good|old) [<rev>...]"
-msgstr "git bisect--helper --bisect-state (good|old) [<修訂版>...]"
+msgstr "git bisect--helper --bisect-state (good|old) [<rev>...]"
#: builtin/bisect--helper.c
msgid "git bisect--helper --bisect-replay <filename>"
-msgstr "git bisect--helper --bisect-replay <檔å>"
+msgstr "git bisect--helper --bisect-replay <filename>"
#: builtin/bisect--helper.c
msgid "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
-msgstr "git bisect--helper --bisect-skip [(<修訂版>|<範åœ>)...]"
+msgstr "git bisect--helper --bisect-skip [(<rev>|<range>)...]"
#: builtin/bisect--helper.c
msgid "git bisect--helper --bisect-run <cmd>..."
@@ -2779,32 +2793,32 @@ msgstr "git bisect--helper --bisect-run <cmd>..."
#: builtin/bisect--helper.c
#, c-format
msgid "cannot open file '%s' in mode '%s'"
-msgstr "無法以 '%2$s' 模å¼é–‹å•Ÿ '%1$s' 檔案"
+msgstr "無法以 “%2$s†模å¼é–‹å•Ÿ “%1$s†檔案"
#: builtin/bisect--helper.c
#, c-format
msgid "could not write to file '%s'"
-msgstr "無法寫入 '%s' 檔案"
+msgstr "無法寫入 “%s†檔案"
#: builtin/bisect--helper.c
#, c-format
msgid "cannot open file '%s' for reading"
-msgstr "無法開啟「%sã€æª”案進行讀å–"
+msgstr "無法開啟 “%s†檔案進行讀å–"
#: builtin/bisect--helper.c
#, c-format
msgid "'%s' is not a valid term"
-msgstr "'%s' 䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„術語"
+msgstr "“%sâ€ ä¸æ˜¯æœ‰æ•ˆè¡“語"
#: builtin/bisect--helper.c
#, c-format
msgid "can't use the builtin command '%s' as a term"
-msgstr "ä¸èƒ½ä½¿ç”¨å…§å»ºæŒ‡ä»¤ '%s' 作為術語"
+msgstr "ä¸èƒ½å°‡å…§å»ºå‘½ä»¤ “%s†當作術語使用"
#: builtin/bisect--helper.c
#, c-format
msgid "can't change the meaning of the term '%s'"
-msgstr "ä¸èƒ½ä¿®æ”¹è¡“語 '%s' çš„å«ç¾©"
+msgstr "ä¸èƒ½è®Šæ›´è¡“語 “%s†的å«ç¾©"
#: builtin/bisect--helper.c
msgid "please use two different terms"
@@ -2818,33 +2832,33 @@ msgstr "我們沒有在二分æœå°‹ã€‚\n"
#: builtin/bisect--helper.c
#, c-format
msgid "'%s' is not a valid commit"
-msgstr "'%s' 䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„æäº¤"
+msgstr "“%sâ€ ä¸æ˜¯æœ‰æ•ˆçš„æäº¤"
#: builtin/bisect--helper.c
#, c-format
msgid ""
"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
-msgstr "ä¸èƒ½ç°½å‡ºåŽŸå§‹ HEAD '%s'。嘗試 'git bisect reset <æäº¤>'。"
+msgstr "ä¸èƒ½ç°½å‡ºåŽŸå§‹ HEAD “%sâ€ã€‚請嘗試 “git bisect reset <commit>â€ã€‚"
#: builtin/bisect--helper.c
#, c-format
msgid "Bad bisect_write argument: %s"
-msgstr "壞的 bisect_write åƒæ•¸ï¼š%s"
+msgstr "bisect_write 引數無效:%s"
#: builtin/bisect--helper.c
#, c-format
msgid "couldn't get the oid of the rev '%s'"
-msgstr "無法å–得版本 '%s' 的物件 ID"
+msgstr "無法å–得修訂版 “%s†的物件 ID"
#: builtin/bisect--helper.c
#, c-format
msgid "couldn't open the file '%s'"
-msgstr "無法開啟檔案 '%s'"
+msgstr "無法開啟檔案 “%sâ€"
#: builtin/bisect--helper.c
#, c-format
msgid "Invalid command: you're currently in a %s/%s bisect"
-msgstr "ç„¡æ•ˆçš„æŒ‡ä»¤ï¼šæ‚¨ç›®å‰æ­£è™•於一個 %s/%s 二分æœå°‹ä¸­"
+msgstr "å‘½ä»¤ç„¡æ•ˆï¼šæ‚¨ç›®å‰æ­£è™•於二分æœå°‹ %s/%s 的狀態"
#: builtin/bisect--helper.c
#, c-format
@@ -2852,8 +2866,8 @@ msgid ""
"You need to give me at least one %s and %s revision.\n"
"You can use \"git bisect %s\" and \"git bisect %s\" for that."
msgstr ""
-"您需è¦çµ¦æˆ‘至少一個 %s 和一個 %s 版本。\n"
-"為此您å¯ä»¥ç”¨ \"git bisect %s\" å’Œ \"git bisect %s\"。"
+"需指定至少一個 %s 和一個 %s 修訂版。\n"
+"為此您å¯ä»¥ç”¨ “git bisect %s†和 “git bisect %sâ€ã€‚"
#: builtin/bisect--helper.c
#, c-format
@@ -2862,9 +2876,9 @@ msgid ""
"You then need to give me at least one %s and %s revision.\n"
"You can use \"git bisect %s\" and \"git bisect %s\" for that."
msgstr ""
-"您需è¦åŸ·è¡Œ \"git bisect start\" 來開始。\n"
-"ç„¶å¾Œéœ€è¦æä¾›æˆ‘è‡³å°‘ä¸€å€‹ %s 和一個 %s 版本。\n"
-"為此您å¯ä»¥ç”¨ \"git bisect %s\" å’Œ \"git bisect %s\" 指令。"
+"è¦é–‹å§‹ï¼Œè«‹åŸ·è¡Œ “git bisect startâ€ã€‚\n"
+"接著æä¾›è‡³å°‘一個 %s 和一個 %s 修訂版。\n"
+"為此您å¯ä»¥ç”¨ “git bisect %s†和 “git bisect %sâ€ã€‚"
#: builtin/bisect--helper.c
#, c-format
@@ -2878,7 +2892,7 @@ msgstr "åœ¨åªæœ‰ä¸€å€‹ %s æäº¤çš„æƒ…æ³ä¸‹äºŒåˆ†æœå°‹"
#.
#: builtin/bisect--helper.c
msgid "Are you sure [Y/n]? "
-msgstr "您確èªå—Ž[Y/n]? "
+msgstr "是å¦ç¢ºå®š [Y/n]? "
#: builtin/bisect--helper.c
msgid "status: waiting for both good and bad commits\n"
@@ -2903,7 +2917,9 @@ msgstr "未定義術語"
msgid ""
"Your current terms are %s for the old state\n"
"and %s for the new state.\n"
-msgstr "您目å‰é‡å°èˆŠç‹€æ…‹çš„術語是 %sï¼Œå°æ–°ç‹€æ…‹çš„術語是 %s。\n"
+msgstr ""
+"您目å‰é‡å°èˆŠç‹€æ…‹çš„術語是 %sï¼›\n"
+"å°æ–°ç‹€æ…‹çš„術語是 %s。\n"
#: builtin/bisect--helper.c
#, c-format
@@ -2911,57 +2927,57 @@ msgid ""
"invalid argument %s for 'git bisect terms'.\n"
"Supported options are: --term-good|--term-old and --term-bad|--term-new."
msgstr ""
-"指令 'git bisect terms' çš„åƒæ•¸ %s 無效。\n"
+"傳入 “git bisect terms†的 %s 引數無效。\n"
"支æ´çš„é¸é …有:--term-good|--term-old å’Œ --term-bad|--term-new。"
#: builtin/bisect--helper.c
msgid "revision walk setup failed\n"
-msgstr "ç‰ˆæœ¬éæ­·è¨­å®šå¤±æ•—\n"
+msgstr "ä¿®è¨‚ç‰ˆéæ­·è¨­å®šå¤±æ•—\n"
#: builtin/bisect--helper.c
#, c-format
msgid "could not open '%s' for appending"
-msgstr "無法開啟 '%s' 進行附加"
+msgstr "無法開啟 “%s†進行附加"
#: builtin/bisect--helper.c
msgid "'' is not a valid term"
-msgstr "'' 䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„術語"
+msgstr "“ â€ ä¸æ˜¯æœ‰æ•ˆè¡“語"
#: builtin/bisect--helper.c
#, c-format
msgid "unrecognized option: '%s'"
-msgstr "未識別的é¸é …:'%s'"
+msgstr "無法識別é¸é …:“%sâ€"
#: builtin/bisect--helper.c
#, c-format
msgid "'%s' does not appear to be a valid revision"
-msgstr "'%s' çœ‹èµ·ä¾†ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„版本"
+msgstr "“%sâ€ ä¼¼ä¹Žä¸æ˜¯æœ‰æ•ˆä¿®è¨‚版"
#: builtin/bisect--helper.c
msgid "bad HEAD - I need a HEAD"
-msgstr "壞的 HEAD - 我需è¦ä¸€å€‹ HEAD"
+msgstr "HEAD 無效 — 需è¦ä¸€å€‹ HEAD"
#: builtin/bisect--helper.c
#, c-format
msgid "checking out '%s' failed. Try 'git bisect start <valid-branch>'."
-msgstr "簽出 '%s' 失敗。嘗試 'git bisect start <有效分支>'。"
+msgstr "簽出 “%s†失敗。請嘗試 “git bisect start <valid-branch>â€ã€‚"
#: builtin/bisect--helper.c
msgid "won't bisect on cg-seek'ed tree"
-msgstr "䏿œƒåœ¨åšäº† cg-seek 的樹上åšäºŒåˆ†æœå°‹"
+msgstr "䏿œƒåœ¨åšäº† cg-seek 的樹狀物件上進行二分æœå°‹"
#: builtin/bisect--helper.c
msgid "bad HEAD - strange symbolic ref"
-msgstr "壞的 HEAD - 奇怪的符號引用"
+msgstr "HEAD 無效 — 異常符號引用"
#: builtin/bisect--helper.c
#, c-format
msgid "invalid ref: '%s'"
-msgstr "無效的引用:'%s'"
+msgstr "引用無效:“%sâ€"
#: builtin/bisect--helper.c
msgid "You need to start by \"git bisect start\"\n"
-msgstr "您需è¦åŸ·è¡Œ \"git bisect start\" 來開始\n"
+msgstr "è¦é–‹å§‹ï¼Œè«‹åŸ·è¡Œ “git bisect startâ€\n"
# 譯者:請維æŒå¥å°¾ç©ºæ ¼
#. TRANSLATORS: Make sure to include [Y] and [n] in your
@@ -2970,7 +2986,7 @@ msgstr "您需è¦åŸ·è¡Œ \"git bisect start\" 來開始\n"
#.
#: builtin/bisect--helper.c
msgid "Do you want me to do it for you [Y/n]? "
-msgstr "您想讓我為您這樣åšå—Ž[Y/n]? "
+msgstr "是å¦è¦é€™éº¼åš [Y/n]? "
#: builtin/bisect--helper.c
msgid "Please call `--bisect-state` with at least one argument"
@@ -2979,17 +2995,17 @@ msgstr "è¦å‘¼å« `--bisect-state`,請傳入一個以上的引數"
#: builtin/bisect--helper.c
#, c-format
msgid "'git bisect %s' can take only one argument."
-msgstr "'git bisect %s' åªèƒ½æœ‰ä¸€å€‹åƒæ•¸ã€‚"
+msgstr "“git bisect %s†åªå–一個引數。"
#: builtin/bisect--helper.c
#, c-format
msgid "Bad rev input: %s"
-msgstr "<修訂版> 輸入格å¼éŒ¯èª¤ï¼š%s"
+msgstr "rev 輸入格å¼éŒ¯èª¤ï¼š%s"
#: builtin/bisect--helper.c
#, c-format
msgid "Bad rev input (not a commit): %s"
-msgstr "ä¿®è¨‚ç‰ˆè¼¸å…¥æœ‰èª¤ï¼ˆä¸æ˜¯æäº¤ï¼‰ï¼š%s"
+msgstr "rev è¼¸å…¥æœ‰èª¤ï¼ˆä¸æ˜¯æäº¤ï¼‰ï¼š%s"
#: builtin/bisect--helper.c
msgid "We are not bisecting."
@@ -3003,7 +3019,7 @@ msgstr "「%sã€ï¼Ÿï¼Ÿæ‚¨åœ¨èªªä»€éº¼ï¼Ÿ"
#: builtin/bisect--helper.c
#, c-format
msgid "cannot read file '%s' for replaying"
-msgstr "無法讀å–「%sã€æª”æ¡ˆä¾†é‡æ”¾"
+msgstr "無法讀å–「%sã€æª”æ¡ˆé€²è¡Œé‡æ”¾"
#: builtin/bisect--helper.c
#, c-format
@@ -3012,27 +3028,27 @@ msgstr "正在執行 %s\n"
#: builtin/bisect--helper.c
msgid "bisect run failed: no command provided."
-msgstr "二分æœå°‹åŸ·è¡Œå¤±æ•—:沒有æä¾›æŒ‡ä»¤ã€‚"
+msgstr "二分æœå°‹åŸ·è¡Œå¤±æ•—:沒有æä¾›å‘½ä»¤ã€‚"
#: builtin/bisect--helper.c
#, c-format
msgid "unable to verify '%s' on good revision"
-msgstr "無法在正確修訂版上驗證「%sã€"
+msgstr "無法在好的修訂版上驗證 “%sâ€"
#: builtin/bisect--helper.c
#, c-format
msgid "bogus exit code %d for good revision"
-msgstr "正確修訂版回傳å½é€ çš„錯誤代碼 %d"
+msgstr "好的修訂版回傳å½é€ çš„錯誤碼 %d"
#: builtin/bisect--helper.c
#, c-format
msgid "bisect run failed: exit code %d from '%s' is < 0 or >= 128"
-msgstr "二分æœå°‹åŸ·è¡Œå¤±æ•—:「%2$sã€è¿”回的離開碼 %1$d å°æ–¼ 0 或 >= 128"
+msgstr "二分æœå°‹åŸ·è¡Œå¤±æ•—:“%2$s†回傳的離開碼 %1$d å°æ–¼ 0 或 >= 128"
#: builtin/bisect--helper.c
#, c-format
msgid "cannot open file '%s' for writing"
-msgstr "無法開啟「%sã€æª”案進行寫入"
+msgstr "無法開啟 “%s†檔案進行寫入"
#: builtin/bisect--helper.c
msgid "bisect run cannot continue any more"
@@ -3054,63 +3070,15 @@ msgid ""
"bisect run failed: 'git bisect--helper --bisect-state %s' exited with error "
"code %d"
msgstr ""
-"二分æœå°‹åŸ·è¡Œå¤±æ•—:'git bisect--helper --bisect-state %s' 以錯誤代碼 %d 離開"
-
-#: builtin/bisect--helper.c
-msgid "reset the bisection state"
-msgstr "清除二分æœå°‹ç‹€æ…‹"
-
-#: builtin/bisect--helper.c
-msgid "check whether bad or good terms exist"
-msgstr "檢查壞的或好的術語是å¦å­˜åœ¨"
-
-#: builtin/bisect--helper.c
-msgid "print out the bisect terms"
-msgstr "列å°äºŒåˆ†æœå°‹è¡“語"
-
-#: builtin/bisect--helper.c
-msgid "start the bisect session"
-msgstr "啟動二分æœå°‹éŽç¨‹"
-
-#: builtin/bisect--helper.c
-msgid "find the next bisection commit"
-msgstr "尋找下一個二分æœå°‹æäº¤"
-
-#: builtin/bisect--helper.c
-msgid "mark the state of ref (or refs)"
-msgstr "標記 ref (或 refs) 的狀態"
-
-#: builtin/bisect--helper.c
-msgid "list the bisection steps so far"
-msgstr "列出迄今的二分æœå°‹æ­¥é©Ÿ"
-
-#: builtin/bisect--helper.c
-msgid "replay the bisection process from the given file"
-msgstr "å¾žæŒ‡å®šæª”æ¡ˆé‡æ”¾äºŒåˆ†æœå°‹éŽç¨‹"
-
-#: builtin/bisect--helper.c
-msgid "skip some commits for checkout"
-msgstr "ç•¥éŽè¦ç°½å‡ºçš„部分æäº¤"
-
-#: builtin/bisect--helper.c
-msgid "visualize the bisection"
-msgstr "視覺化二分æœå°‹éŽç¨‹"
-
-#: builtin/bisect--helper.c
-msgid "use <cmd>... to automatically bisect"
-msgstr "使用 <cmd>... 自動進行二分æœå°‹"
-
-#: builtin/bisect--helper.c
-msgid "no log for BISECT_WRITE"
-msgstr "BISECT_WRITE 無日誌"
+"二分æœå°‹åŸ·è¡Œå¤±æ•—:“git bisect--helper --bisect-state %s†以錯誤碼 %d 離開"
#: builtin/bisect--helper.c
msgid "--bisect-reset requires either no argument or a commit"
-msgstr "--bisect-reset ç„¡éœ€åƒæ•¸æˆ–者需è¦ä¸€å€‹æäº¤"
+msgstr "--bisect-reset å¯ä»¥ä¸éœ€è¦å¼•數,或者得傳入一個æäº¤"
#: builtin/bisect--helper.c
msgid "--bisect-terms requires 0 or 1 argument"
-msgstr "--bisect-terms éœ€è¦ 0 或 1 å€‹åƒæ•¸"
+msgstr "--bisect-terms éœ€è¦ 0 或 1 個引數"
#: builtin/bisect--helper.c
msgid "--bisect-next requires 0 arguments"
@@ -3129,6 +3097,10 @@ msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>"
msgstr "git blame [<é¸é …>] [<版本é¸é …>] [<版本>] [--] <檔案>"
#: builtin/blame.c
+msgid "git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>"
+msgstr "git annotate [<é¸é …>] [<版本é¸é …>] [<版本>] [--] <檔案>"
+
+#: builtin/blame.c
msgid "<rev-opts> are documented in git-rev-list(1)"
msgstr "<版本é¸é …> 的檔案記錄在 git-rev-list(1) 中"
@@ -3367,10 +3339,6 @@ msgid "cannot use -a with -d"
msgstr "ä¸èƒ½å°‡ -a å’Œ -d åŒæ™‚使用"
#: builtin/branch.c
-msgid "Couldn't look up commit object for HEAD"
-msgstr "無法查詢 HEAD 指å‘çš„æäº¤ç‰©ä»¶"
-
-#: builtin/branch.c
#, c-format
msgid "Cannot delete branch '%s' checked out at '%s'"
msgstr "無法刪除在「%2$sã€ç°½å‡ºçš„「%1$sã€åˆ†æ”¯"
@@ -3419,17 +3387,19 @@ msgid "Branch %s is being bisected at %s"
msgstr "分支 %s 正被二分æœå°‹æ–¼ %s"
#: builtin/branch.c
-msgid "cannot copy the current branch while not on any."
-msgstr "無法複製目å‰åˆ†æ”¯å› ç‚ºä¸è™•於任何分支上。"
+#, c-format
+msgid "Invalid branch name: '%s'"
+msgstr "無效的分支å:'%s'"
#: builtin/branch.c
-msgid "cannot rename the current branch while not on any."
-msgstr "ç„¡æ³•é‡æ–°å‘½åç›®å‰åˆ†æ”¯å› ç‚ºä¸è™•於任何分支上。"
+#, c-format
+msgid "No commit on branch '%s' yet."
+msgstr "分支 '%s' å°šç„¡æäº¤ã€‚"
#: builtin/branch.c
#, c-format
-msgid "Invalid branch name: '%s'"
-msgstr "無效的分支å:'%s'"
+msgid "No branch named '%s'."
+msgstr "沒有分支 '%s'。"
#: builtin/branch.c
msgid "Branch rename failed"
@@ -3638,14 +3608,12 @@ msgid "cannot edit description of more than one branch"
msgstr "ä¸èƒ½ç‚ºä¸€å€‹ä»¥ä¸Šçš„分支編輯æè¿°"
#: builtin/branch.c
-#, c-format
-msgid "No commit on branch '%s' yet."
-msgstr "分支 '%s' å°šç„¡æäº¤ã€‚"
+msgid "cannot copy the current branch while not on any."
+msgstr "無法複製目å‰åˆ†æ”¯å› ç‚ºä¸è™•於任何分支上。"
#: builtin/branch.c
-#, c-format
-msgid "No branch named '%s'."
-msgstr "沒有分支 '%s'。"
+msgid "cannot rename the current branch while not on any."
+msgstr "ç„¡æ³•é‡æ–°å‘½åç›®å‰åˆ†æ”¯å› ç‚ºä¸è™•於任何分支上。"
#: builtin/branch.c
msgid "too many branches for a copy operation"
@@ -3726,11 +3694,11 @@ msgstr "䏿˜¯å¾ž git 版本庫執行 - 沒有å¯é¡¯ç¤ºçš„æŽ›é‰¤\n"
#: builtin/bugreport.c
msgid ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
msgstr ""
-"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>] [--"
-"diagnose[=<mode>]"
+"git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--diagnose[=<mode>]]"
#: builtin/bugreport.c
msgid ""
@@ -3778,7 +3746,7 @@ msgstr "建立詳細診斷資訊的é¡å¤– zip å°å­˜æª”案(é è¨­å€¼æ˜¯ “sta
#: builtin/bugreport.c
msgid "specify a destination for the bugreport file(s)"
-msgstr "指定錯誤報告檔案的目的地"
+msgstr "請指定臭蟲報告檔案的目的地"
#: builtin/bugreport.c
msgid "specify a strftime format suffix for the filename(s)"
@@ -3813,20 +3781,26 @@ msgid "Created new report at '%s'.\n"
msgstr "已在「%sã€å»ºç«‹æ–°å ±å‘Šã€‚\n"
#: builtin/bundle.c
-msgid "git bundle create [<options>] <file> <git-rev-list args>"
-msgstr "git bundle create [<é¸é …>] <檔案> <git-rev-list åƒæ•¸>"
+msgid ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
+msgstr ""
+"git bundle create [-q | --quiet | --progress | --all-progress] [--all-"
+"progress-implied]\n"
+" [--version=<version>] <file> <git-rev-list-args>"
#: builtin/bundle.c
-msgid "git bundle verify [<options>] <file>"
-msgstr "git bundle verify [<é¸é …>] <檔案>"
+msgid "git bundle verify [-q | --quiet] <file>"
+msgstr "git bundle verify [-q | --quiet] <file>"
#: builtin/bundle.c
msgid "git bundle list-heads <file> [<refname>...]"
msgstr "git bundle list-heads <檔案> [<引用å稱>...]"
#: builtin/bundle.c
-msgid "git bundle unbundle <file> [<refname>...]"
-msgstr "git bundle unbundle <檔案> [<引用å稱>...]"
+msgid "git bundle unbundle [--progress] <file> [<refname>...]"
+msgstr "git bundle unbundle [--progress] <file> [<refname>...]"
#: builtin/bundle.c builtin/pack-objects.c
msgid "do not show progress meter"
@@ -3846,15 +3820,15 @@ msgstr "當進度表顯示時類似於 --all-progress"
#: builtin/bundle.c
msgid "specify bundle format version"
-msgstr "指定套件的格å¼ç‰ˆæœ¬"
+msgstr "指定套件包的格å¼ç‰ˆæœ¬"
#: builtin/bundle.c
msgid "Need a repository to create a bundle."
-msgstr "需è¦ç‰ˆæœ¬åº«ä¾†å»ºç«‹å¥—件。"
+msgstr "需è¦ç‰ˆæœ¬åº«ä¾†å»ºç«‹å¥—件包。"
#: builtin/bundle.c
msgid "do not show bundle details"
-msgstr "ä¸é¡¯ç¤ºå¥—件詳細資訊"
+msgstr "ä¸é¡¯ç¤ºå¥—件包的詳細資訊"
#: builtin/bundle.c
#, c-format
@@ -3863,7 +3837,7 @@ msgstr "%s å¯ä»¥\n"
#: builtin/bundle.c
msgid "Need a repository to unbundle."
-msgstr "需è¦ç‰ˆæœ¬åº«æ‰èƒ½æ‹†åˆ†å¥—件。"
+msgstr "需è¦ç‰ˆæœ¬åº«æ‰èƒ½æ‹†åˆ†å¥—件包。"
#: builtin/bundle.c
msgid "Unbundling objects"
@@ -3923,12 +3897,12 @@ msgid ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
msgstr ""
"git cat-file (--batch | --batch-check | --batch-command) [--batch-all-"
"objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
-" [--textconv | --filters]"
+" [--textconv | --filters] [-z]"
#: builtin/cat-file.c
msgid ""
@@ -3984,7 +3958,7 @@ msgstr "類似 --batch 但ä¸è¼¸å‡º <contents>"
#: builtin/cat-file.c
msgid "stdin is NUL-terminated"
-msgstr "標準輸入的çµå°¾æ˜¯ NUL"
+msgstr "標準輸入以 NUL 字元終止"
#: builtin/cat-file.c
msgid "read commands from stdin"
@@ -4065,11 +4039,6 @@ msgstr "<rev> éœ€è¦æ­é…「%sã€"
msgid "<object> required with '-%c'"
msgstr "<object> éœ€è¦æ­é…「-%cã€"
-#: builtin/cat-file.c builtin/notes.c builtin/prune-packed.c
-#: builtin/receive-pack.c builtin/tag.c
-msgid "too many arguments"
-msgstr "å¤ªå¤šåƒæ•¸"
-
#: builtin/cat-file.c
#, c-format
msgid "only two arguments allowed in <type> <object> mode, not %d"
@@ -4714,9 +4683,10 @@ msgstr "使用疊加模å¼"
#: builtin/clean.c
msgid ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] "
+"[<pathspec>...]"
msgstr ""
-"git clean [-d] [-f] [-i] [-n] [-q] [-e <模å¼>] [-x | -X] [--] <路徑>..."
+"git clean [-d] [-f] [-i] [-n] [-q] [-e <模å¼>] [-x | -X] [--] [<è·¯å¾‘è¦æ ¼>...]"
#: builtin/clean.c
#, c-format
@@ -5059,7 +5029,7 @@ msgstr "uri"
#: builtin/clone.c
msgid "a URI for downloading bundles before fetching from origin remote"
-msgstr "在從 origin é ç«¯æŠ“å–å‰ï¼Œç”¨ä¾†ä¸‹è¼‰å¥—ä»¶çš„ URI"
+msgstr "在從 origin é ç«¯æŠ“å–å‰ï¼Œç”¨ä¾†ä¸‹è¼‰å¥—件包的 URI"
#: builtin/clone.c
#, c-format
@@ -5081,6 +5051,11 @@ msgstr "%s å­˜åœ¨ä¸”ä¸æ˜¯ä¸€å€‹ç›®éŒ„"
msgid "failed to start iterator over '%s'"
msgstr "無法在 '%s' 上啟動疊代器"
+#: builtin/clone.c
+#, c-format
+msgid "symlink '%s' exists, refusing to clone with --local"
+msgstr "「%sã€ç¬¦è™Ÿé€£çµå·²å­˜åœ¨ï¼Œæ‹’絕使用 --local 複製"
+
#: builtin/clone.c compat/precompose_utf8.c
#, c-format
msgid "failed to unlink '%s'"
@@ -5136,7 +5111,7 @@ msgstr "無法åˆå§‹åŒ–稀ç–簽出"
#: builtin/clone.c
msgid "remote HEAD refers to nonexistent ref, unable to checkout"
-msgstr "é ç«¯ HEAD 指å‘ä¸å­˜åœ¨çš„引用,無法簽出"
+msgstr "é ç«¯ HEAD 指å‘一個ä¸å­˜åœ¨çš„引用,無法簽出"
#: builtin/clone.c
msgid "unable to checkout working tree"
@@ -5163,11 +5138,6 @@ msgid "You must specify a repository to clone."
msgstr "您必須指定è¦è¤‡è£½çš„版本庫。"
#: builtin/clone.c
-#, c-format
-msgid "options '%s' and '%s %s' cannot be used together"
-msgstr "「%sã€å’Œã€Œ%s %sã€é¸é …ä¸å¾—åŒæ™‚使用"
-
-#: builtin/clone.c
msgid ""
"--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
"exclude"
@@ -5259,16 +5229,16 @@ msgstr "--local 被忽略"
#: builtin/clone.c
msgid "cannot clone from filtered bundle"
-msgstr "ç„¡æ³•å¾žéŽæ¿¾å¾Œçš„套件複製"
+msgstr "ç„¡æ³•å¾žéŽæ¿¾å¾Œçš„套件包複製"
#: builtin/clone.c
msgid "failed to initialize the repo, skipping bundle URI"
-msgstr "無法åˆå§‹åŒ–版本庫,略éŽå¥—ä»¶ URI"
+msgstr "無法åˆå§‹åŒ–版本庫,略éŽå¥—件包 URI"
#: builtin/clone.c
#, c-format
msgid "failed to fetch objects from bundle URI '%s'"
-msgstr "無法從套件 URL “%s†抓å–物件"
+msgstr "無法從套件包 URL “%s†抓å–物件"
#: builtin/clone.c
msgid "remote transport reported error"
@@ -5317,22 +5287,27 @@ msgstr "--command å¿…é ˆæ˜¯ç¬¬ä¸€å€‹åƒæ•¸"
#: builtin/commit-graph.c
msgid ""
-"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]"
+"git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress]"
msgstr ""
-"git commit-graph verify [--object-dir <物件目錄>] [--shallow] [--"
-"[no-]progress]"
+"git commit-graph verify [--object-dir <目錄>] [--shallow] [--[no-]progress]"
#: builtin/commit-graph.c
msgid ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-msgstr ""
-"git commit-graph write [--object-dir <objdir>] [--append] [--"
-"split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-"
-"paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>"
-
-#: builtin/commit-graph.c builtin/fetch.c builtin/log.c
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
+msgstr ""
+"git commit-graph write [--object-dir <dir>] [--append]\n"
+" [--split[=<strategy>]] [--reachable | --stdin-packs | "
+"--stdin-commits]\n"
+" [--changed-paths] [--[no-]max-new-filters <n>] [--"
+"[no-]progress]\n"
+" <split options>"
+
+#: builtin/commit-graph.c builtin/fetch.c builtin/log.c builtin/repack.c
msgid "dir"
msgstr "目錄"
@@ -5418,12 +5393,16 @@ msgid "Collecting commits from input"
msgstr "正在從輸入收集æäº¤"
#: builtin/commit-tree.c
+msgid "git commit-tree <tree> [(-p <parent>)...]"
+msgstr "git commit-tree <tree> [(-p <parent>)...]"
+
+#: builtin/commit-tree.c
msgid ""
-"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F "
-"<file>)...] <tree>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
msgstr ""
-"git commit-tree [(-p <父æäº¤>)...] [-S[<keyid>]] [(-m <消æ¯>)...] [(-F <檔案"
-">)...] <樹>"
+"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]\n"
+" [(-F <file>)...] <tree>"
#: builtin/commit-tree.c
#, c-format
@@ -5480,12 +5459,30 @@ msgid "git commit-tree: failed to read"
msgstr "git commit-tree:讀å–失敗"
#: builtin/commit.c
-msgid "git commit [<options>] [--] <pathspec>..."
-msgstr "git commit [<é¸é …>] [--] <è·¯å¾‘è¦æ ¼>..."
+msgid ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
+" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
+"reword):]<commit>)]\n"
+" [-F <file> | -m <msg>] [--reset-author] [--allow-empty]\n"
+" [--allow-empty-message] [--no-verify] [-e] [--author=<author>]\n"
+" [--date=<date>] [--cleanup=<mode>] [--[no-]status]\n"
+" [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]\n"
+" [--] [<pathspec>...]"
#: builtin/commit.c
-msgid "git status [<options>] [--] <pathspec>..."
-msgstr "git status [<é¸é …>] [--] <è·¯å¾‘è¦æ ¼>..."
+msgid "git status [<options>] [--] [<pathspec>...]"
+msgstr "git status [<é¸é …>] [--] [<è·¯å¾‘è¦æ ¼>...]"
#: builtin/commit.c
msgid ""
@@ -5827,7 +5824,7 @@ msgstr "顯示分支訊æ¯"
#: builtin/commit.c
msgid "show stash information"
-msgstr "顯示儲è—å€è¨Šæ¯"
+msgstr "顯示貯存å€è¨Šæ¯"
#: builtin/commit.c
msgid "compute full ahead/behind values"
@@ -6100,7 +6097,7 @@ msgstr "使用版本庫級設定檔案"
msgid "use per-worktree config file"
msgstr "使用工作å€ç´šåˆ¥çš„設定檔案"
-#: builtin/config.c
+#: builtin/config.c builtin/gc.c
msgid "use given config file"
msgstr "使用指定的設定檔案"
@@ -6226,11 +6223,11 @@ msgstr "åªé¡¯ç¤ºè®Šæ•¸å"
#: builtin/config.c
msgid "respect include directives on lookup"
-msgstr "查詢時åƒç…§ include 指令éžè¿´å°‹æ‰¾"
+msgstr "查詢時引用 include 指令éžè¿´å°‹æ‰¾"
#: builtin/config.c
msgid "show origin of config (file, standard input, blob, command line)"
-msgstr "顯示設定的來æºï¼ˆæª”æ¡ˆã€æ¨™æº–輸入ã€è³‡æ–™ç‰©ä»¶ï¼Œæˆ–指令列)"
+msgstr "顯示設定的來æºï¼ˆæª”æ¡ˆã€æ¨™æº–輸入ã€è³‡æ–™ç‰©ä»¶ï¼Œæˆ–命令列)"
#: builtin/config.c
msgid "show scope of config (worktree, local, global, system, command)"
@@ -6323,7 +6320,7 @@ msgstr "--blob åªèƒ½åœ¨ä¸€å€‹ç‰ˆæœ¬åº«å…§ä½¿ç”¨"
msgid "--worktree can only be used inside a git repository"
msgstr "--worktree åªèƒ½åœ¨ git 版本庫中使用"
-#: builtin/config.c
+#: builtin/config.c builtin/gc.c
msgid "$HOME not set"
msgstr "$HOME 未設定"
@@ -6433,12 +6430,20 @@ msgid "unable to get credential storage lock in %d ms"
msgstr "無法在 %d 毫秒內å–得憑證儲存空間的鎖"
#: builtin/describe.c
-msgid "git describe [<options>] [<commit-ish>...]"
-msgstr "git describe [<é¸é …>] [<æäº¤è™Ÿ>...]"
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
+
+#: builtin/describe.c
+msgid ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
+msgstr ""
+"git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]"
#: builtin/describe.c
-msgid "git describe [<options>] --dirty"
-msgstr "git describe [<é¸é …>] --dirty"
+msgid "git describe <blob>"
+msgstr "git describe <blob>"
#: builtin/describe.c
msgid "head"
@@ -6591,15 +6596,15 @@ msgstr "「%sã€é¸é …å’Œæäº¤è™Ÿä¸å¾—åŒæ™‚使用"
#: builtin/diagnose.c
msgid ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
msgstr ""
-"git diagnose [-o|--output-directory <path>] [-s|--suffix <format>] [--"
-"mode=<mode>]"
+"git diagnose [(-o | --output-directory) <path>] [(-s | --suffix) <format>]\n"
+" [--mode=<mode>]"
#: builtin/diagnose.c
msgid "specify a destination for the diagnostics archive"
-msgstr "指定診斷å°å­˜æª”的目的地"
+msgstr "請指定診斷å°å­˜æª”的目的地"
#: builtin/diagnose.c
msgid "specify a strftime format suffix for the filename"
@@ -6619,6 +6624,10 @@ msgid "'%s': not a regular file or symlink"
msgstr "'%s'ï¼šä¸æ˜¯ä¸€å€‹æ­£è¦æª”案或符號連çµ"
#: builtin/diff.c
+msgid "no merge given, only parents."
+msgstr "沒有æä¾›åˆä½µæäº¤ï¼Œåªæœ‰æä¾›çˆ¶æäº¤ã€‚"
+
+#: builtin/diff.c
#, c-format
msgid "invalid option: %s"
msgstr "無效é¸é …:%s"
@@ -6781,8 +6790,8 @@ msgstr "é¸é …「--defaultã€é æœŸæ”¶åˆ°ã€Œ--type=boolã€çš„布林值,而éžã
#: builtin/env--helper.c
#, c-format
msgid ""
-"option `--default' expects an unsigned long value with `--type=ulong`, not `"
-"%s`"
+"option `--default' expects an unsigned long value with `--type=ulong`, not "
+"`%s`"
msgstr "é¸é …「--defaultã€é æœŸæ”¶åˆ°ã€Œ--type=ulongã€çš„無號 long 數值,而éžã€Œ%sã€"
#: builtin/fast-export.c
@@ -7410,8 +7419,8 @@ msgid "print only refs which don't contain the commit"
msgstr "åªåˆ—å°ä¸åŒ…å«è©²æäº¤çš„引用"
#: builtin/for-each-repo.c
-msgid "git for-each-repo --config=<config> <command-args>"
-msgstr "git for-each-repo --config=<設定> <命令引數>"
+msgid "git for-each-repo --config=<config> [--] <arguments>"
+msgstr "git for-each-repo --config=<config> [--] <arguments>"
#: builtin/for-each-repo.c
msgid "config"
@@ -7628,8 +7637,16 @@ msgid "%s: invalid sha1 pointer in resolve-undo"
msgstr "%s:resolve-undo çš„ sha1 指é‡ç„¡æ•ˆ"
#: builtin/fsck.c
-msgid "git fsck [<options>] [<object>...]"
-msgstr "git fsck [<é¸é …>] [<物件>...]"
+msgid ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
+msgstr ""
+"git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
+" [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
+" [--[no-]dangling] [--[no-]progress] [--connectivity-only]\n"
+" [--[no-]name-objects] [<object>...]"
#: builtin/fsck.c
msgid "show unreachable objects"
@@ -7702,14 +7719,6 @@ msgid "git fsmonitor--daemon run [<options>]"
msgstr "git fsmonitor--daemon run [<options>]"
#: builtin/fsmonitor--daemon.c
-msgid "git fsmonitor--daemon stop"
-msgstr "git fsmonitor--daemon stop"
-
-#: builtin/fsmonitor--daemon.c
-msgid "git fsmonitor--daemon status"
-msgstr "git fsmonitor--daemon status"
-
-#: builtin/fsmonitor--daemon.c
#, c-format
msgid "value of '%s' out of range: %d"
msgstr "「%sã€çš„æ•¸å€¼è¶…出範åœï¼š%d"
@@ -7809,7 +7818,7 @@ msgstr "è¦ç­‰å¾…背景守護程å¼å•Ÿå‹•的最長秒數"
msgid "invalid 'ipc-threads' value (%d)"
msgstr "無效的「ipc-threadsã€æ•¸å€¼ï¼ˆ%d)"
-#: builtin/fsmonitor--daemon.c
+#: builtin/fsmonitor--daemon.c t/helper/test-cache-tree.c
#, c-format
msgid "Unhandled subcommand '%s'"
msgstr "未處ç†çš„å­å‘½ä»¤ã€Œ%sã€"
@@ -7857,7 +7866,7 @@ msgstr "清除未引用的物件"
#: builtin/gc.c
msgid "pack unreferenced objects separately"
-msgstr "ç¨ç«‹å°è£ç„¡åƒç…§ç‰©ä»¶"
+msgstr "ç¨ç«‹å°è£ç„¡å¼•用物件"
#: builtin/gc.c
msgid "be more thorough (increased runtime)"
@@ -8008,8 +8017,23 @@ msgid "use at most one of --auto and --schedule=<frequency>"
msgstr "--auto å’Œ --schedule=<頻率> è«‹ä»»é¸ä¸€"
#: builtin/gc.c
-msgid "failed to run 'git config'"
-msgstr "無法執行 ‘git config’"
+#, c-format
+msgid "unable to add '%s' value of '%s'"
+msgstr "無法為「%2$sã€çš„值加上「%1$sã€"
+
+#: builtin/gc.c
+msgid "return success even if repository was not registered"
+msgstr "å³ä¾¿ç‰ˆæœ¬åº«æœªè¨»å†Šä»å›žå‚³æˆåŠŸç‹€æ…‹"
+
+#: builtin/gc.c
+#, c-format
+msgid "unable to unset '%s' value of '%s'"
+msgstr "ç„¡æ³•å–æ¶ˆè¨­å®šã€Œ%2$sã€çš„「%1$sã€å€¼"
+
+#: builtin/gc.c
+#, c-format
+msgid "repository '%s' is not registered"
+msgstr "版本庫「%sã€æœªè¨»å†Š"
#: builtin/gc.c
#, c-format
@@ -8386,11 +8410,15 @@ msgstr "åŒæ™‚給出了 --cached 和樹狀物件"
#: builtin/hash-object.c
msgid ""
-"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] "
-"[--] <file>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
msgstr ""
-"git hash-object [-t <類型>] [-w] [--path=<檔案> | --no-filters] [--stdin] "
-"[--] <檔案>..."
+"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]\n"
+" [--stdin [--literally]] [--] <file>..."
+
+#: builtin/hash-object.c
+msgid "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
+msgstr "git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]"
#: builtin/hash-object.c
msgid "object type"
@@ -8918,11 +8946,15 @@ msgstr "å·²åˆå§‹åŒ–空的 Git 版本庫於 %s%s\n"
#: builtin/init-db.c
msgid ""
-"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--"
-"shared[=<permissions>]] [<directory>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
msgstr ""
-"git init [-q | --quiet] [--bare] [--template=<範本目錄>] [--shared[=<權é™>]] "
-"[<目錄>]"
+"git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
+" [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
+" [-b <branch-name> | --initial-branch=<branch-name>]\n"
+" [--shared[=<permissions>]] [<directory>]"
#: builtin/init-db.c
msgid "permissions"
@@ -8972,11 +9004,13 @@ msgstr "--separate-git-dir 與純版本庫ä¸ç›¸å®¹"
#: builtin/interpret-trailers.c
msgid ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer "
-"<token>[(=|:)<value>])...] [<file>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
msgstr ""
-"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <éµ>[(=|:)<值"
-">])...] [<檔案>...]"
+"git interpret-trailers [--in-place] [--trim-empty]\n"
+" [(--trailer <token>[(=|:)<value>])...]\n"
+" [--parse] [<file>...]"
#: builtin/interpret-trailers.c
msgid "edit files in place"
@@ -9594,12 +9628,12 @@ msgstr ""
#: builtin/ls-remote.c
msgid ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<refs>...]]"
msgstr ""
"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n"
-" [-q | --quiet] [--exit-code] [--get-url]\n"
-" [--symref] [<版本庫> [<引用>...]]"
+" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
+" [--symref] [<repository> [<refs>...]]"
#: builtin/ls-remote.c
msgid "do not print remote URL"
@@ -9752,7 +9786,7 @@ msgstr "在訊æ¯å…§æ–‡ä¸­ä½¿ç”¨æ¨™é ­"
#: builtin/mailsplit.c
msgid "reading patches from stdin/tty..."
-msgstr "正在從標準輸入或 tty 讀å–修補檔內容⋯⋯"
+msgstr "正在從標準輸入或 tty 讀å–修補檔內容……"
#: builtin/mailsplit.c
#, c-format
@@ -9768,14 +9802,14 @@ msgid "git merge-base [-a | --all] --octopus <commit>..."
msgstr "git merge-base [-a | --all] --octopus <æäº¤>..."
#: builtin/merge-base.c
-msgid "git merge-base --independent <commit>..."
-msgstr "git merge-base --independent <æäº¤>..."
-
-#: builtin/merge-base.c
msgid "git merge-base --is-ancestor <commit> <commit>"
msgstr "git merge-base --is-ancestor <æäº¤> <æäº¤>"
#: builtin/merge-base.c
+msgid "git merge-base --independent <commit>..."
+msgstr "git merge-base --independent <æäº¤>..."
+
+#: builtin/merge-base.c
msgid "git merge-base --fork-point <ref> [<commit>]"
msgstr "git merge-base --fork-point <引用> [<æäº¤>]"
@@ -9914,9 +9948,23 @@ msgid "allow merging unrelated histories"
msgstr "å…許åˆä¸¦ä¸ç›¸é—œçš„æ­·å²"
#: builtin/merge-tree.c
+msgid "perform multiple merges, one per line of input"
+msgstr "執行多次åˆä½µï¼Œä¸€æ¬¡åŸ·è¡Œè¼¸å…¥ä¸€åˆ—"
+
+#: builtin/merge-tree.c
msgid "--trivial-merge is incompatible with all other options"
msgstr "--trivial-merge 和其他所有é¸é …都ä¸ç›¸å®¹"
+#: builtin/merge-tree.c builtin/notes.c
+#, c-format
+msgid "malformed input line: '%s'."
+msgstr "æ ¼å¼éŒ¯èª¤çš„輸入行:'%s'。"
+
+#: builtin/merge-tree.c
+#, c-format
+msgid "merging cannot continue; got unclean result of %d"
+msgstr "無法繼續åˆä½µï¼šå¾ž %d æ”¶åˆ°çš„çµæžœä¸ä¹¾æ·¨"
+
#: builtin/merge.c
msgid "git merge [<options>] [<commit>...]"
msgstr "git merge [<é¸é …>] [<æäº¤>...]"
@@ -10029,11 +10077,11 @@ msgstr "ç¹žéŽ pre-merge-commit å’Œ commit-msg 掛鉤"
#: builtin/merge.c
msgid "could not run stash."
-msgstr "ä¸èƒ½åŸ·è¡Œå„²è—。"
+msgstr "ä¸èƒ½åŸ·è¡Œè²¯å­˜ã€‚"
#: builtin/merge.c
msgid "stash failed"
-msgstr "儲è—失敗"
+msgstr "貯存失敗"
#: builtin/merge.c
#, c-format
@@ -10286,7 +10334,7 @@ msgstr "自動åˆä½µé€²å±•é †åˆ©ï¼ŒæŒ‰è¦æ±‚在æäº¤å‰åœæ­¢\n"
#: builtin/merge.c
#, c-format
msgid "When finished, apply stashed changes with `git stash pop`\n"
-msgstr "å®Œæˆæ™‚,使用 `git stash pop` å¥—ç”¨å„²è—æ›´æ”¹\n"
+msgstr "å®Œæˆæ™‚,使用 `git stash pop` 套用貯存更改\n"
#: builtin/mktag.c
#, c-format
@@ -10406,7 +10454,7 @@ msgstr "目錄 %s åœ¨ç´¢å¼•ä¸­ä¸¦ä¸”ä¸æ˜¯å­æ¨¡çµ„?"
#: builtin/mv.c
msgid "Please stage your changes to .gitmodules or stash them to proceed"
-msgstr "請將您的修改暫存到 .gitmodules 中或儲è—後å†ç¹¼çºŒ"
+msgstr "請將您的修改暫存到 .gitmodules 中或貯存後å†ç¹¼çºŒ"
#: builtin/mv.c
#, c-format
@@ -10490,7 +10538,7 @@ msgstr "%s,來æº=%s,目的地=%s"
msgid "Renaming %s to %s\n"
msgstr "釿–°å‘½å %s 至 %s\n"
-#: builtin/mv.c builtin/remote.c builtin/repack.c
+#: builtin/mv.c builtin/remote.c
#, c-format
msgid "renaming '%s' failed"
msgstr "釿–°å‘½å '%s' 失敗"
@@ -10693,11 +10741,6 @@ msgstr "ä¸èƒ½å¾žéžè³‡æ–™ç‰©ä»¶ '%s' 中讀å–註解資料。"
#: builtin/notes.c
#, c-format
-msgid "malformed input line: '%s'."
-msgstr "æ ¼å¼éŒ¯èª¤çš„輸入行:'%s'。"
-
-#: builtin/notes.c
-#, c-format
msgid "failed to copy notes from '%s' to '%s'"
msgstr "從 '%s' 複製註解到 '%s' 時失敗"
@@ -10928,14 +10971,13 @@ msgid "unknown subcommand: `%s'"
msgstr "æœªçŸ¥å­æŒ‡ä»¤ï¼šã€Œ%sã€"
#: builtin/pack-objects.c
-msgid ""
-"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]"
-msgstr "git pack-objects --stdout [<é¸é …>...] [< <引用列表> | < <物件列表>]"
+msgid "git pack-objects --stdout [<options>] [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects --stdout [<é¸é …>] [< <引用列表> | < <物件列表>]"
#: builtin/pack-objects.c
msgid ""
-"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]"
-msgstr "git pack-objects [<é¸é …>...] <å‰ç¶´å稱> [< <引用列表> | < <物件列表>]"
+"git pack-objects [<options>] <base-name> [< <ref-list> | < <object-list>]"
+msgstr "git pack-objects [<é¸é …>] <å‰ç¶´å稱> [< <引用列表> | < <物件列表>]"
#: builtin/pack-objects.c
#, c-format
@@ -11406,8 +11448,8 @@ msgstr ""
"感è¬ã€‚\n"
#: builtin/pack-refs.c
-msgid "git pack-refs [<options>]"
-msgstr "git pack-refs [<é¸é …>]"
+msgid "git pack-refs [--all] [--no-prune]"
+msgstr "git pack-refs [--all] [--no-prune]"
#: builtin/pack-refs.c
msgid "pack everything"
@@ -11417,6 +11459,22 @@ msgstr "打包一切"
msgid "prune loose refs (default)"
msgstr "剪除鬆散引用(é è¨­ï¼‰"
+#: builtin/patch-id.c
+msgid "git patch-id [--stable | --unstable | --verbatim]"
+msgstr "git patch-id [--stable | --unstable | --verbatim]"
+
+#: builtin/patch-id.c
+msgid "use the unstable patch-id algorithm"
+msgstr "使用ä¸ç©©å®šçš„ patch-id 演算法"
+
+#: builtin/patch-id.c
+msgid "use the stable patch-id algorithm"
+msgstr "使用穩定的 patch-id 演算法"
+
+#: builtin/patch-id.c
+msgid "don't strip whitespace from the patch"
+msgstr "ä¸è¦åŽ»é™¤ä¿®è£œæª”çš„ç©ºç™½å­—å…ƒ"
+
#: builtin/prune.c
msgid "git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]"
msgstr "git prune [-n] [-v] [--progress] [--expire <時間>] [--] [<head>...]"
@@ -11463,7 +11521,7 @@ msgstr "控制 pre-merge-commit 和 commit-msg 掛鉤的使用"
#: builtin/pull.c parse-options.h
msgid "automatically stash/stash pop before and after"
-msgstr "在動作å‰å¾ŒåŸ·è¡Œè‡ªå‹•儲è—和彈出儲è—"
+msgstr "在動作å‰å¾ŒåŸ·è¡Œè‡ªå‹•貯存和彈出貯存"
#: builtin/pull.c
msgid "Options related to fetching"
@@ -11502,7 +11560,7 @@ msgid ""
"for your current branch, you must specify a branch on the command line."
msgstr ""
"æ‚¨è¦æ±‚從é ç«¯ '%s' 拉å–ï¼Œä½†æ˜¯æœªæŒ‡å®šä¸€å€‹åˆ†æ”¯ã€‚å› ç‚ºé€™ä¸æ˜¯ç›®å‰\n"
-"分支é è¨­çš„é ç«¯ç‰ˆæœ¬åº«ï¼Œæ‚¨å¿…須在指令列中指定一個分支å。"
+"分支é è¨­çš„é ç«¯ç‰ˆæœ¬åº«ï¼Œæ‚¨å¿…須在命令列中指定一個分支å。"
#: builtin/pull.c builtin/rebase.c
msgid "You are not currently on a branch."
@@ -11594,7 +11652,7 @@ msgstr "é‡å®šåŸºåº•弿‹‰å–"
#: builtin/pull.c
msgid "please commit or stash them."
-msgstr "è«‹æäº¤æˆ–儲è—它們。"
+msgstr "è«‹æäº¤æˆ–貯存它們。"
#: builtin/pull.c
#, c-format
@@ -11666,14 +11724,14 @@ msgstr ""
#: builtin/push.c
msgid ""
"\n"
-"To avoid automatically configuring upstream branches when their name\n"
-"doesn't match the local branch, see option 'simple' of branch."
-"autoSetupMerge\n"
+"To avoid automatically configuring an upstream branch when its name\n"
+"won't match the local branch, see option 'simple' of branch.autoSetupMerge\n"
"in 'git help config'.\n"
msgstr ""
"\n"
-"為了é¿å…自動在上游分支的å稱與本機ä¸ç¬¦æ™‚,設定上游的分支,請åƒé–±\n"
-"“git help config†中 branch.autoSetupMerge çš„ “simple†é¸é …。\n"
+"è‹¥è¦é¿å…在å稱與本機分支ä¸åŒæ™‚自動設定上游分支,\n"
+"è«‹åƒé–± “git help config†中 branch.autoSetupMerge çš„\n"
+"“simple†é¸é …。\n"
#: builtin/push.c
#, c-format
@@ -11827,6 +11885,12 @@ msgstr "推é€åˆ° %s\n"
msgid "failed to push some refs to '%s'"
msgstr "推é€ä¸€äº›å¼•用到 '%s' 失敗"
+#: builtin/push.c
+msgid ""
+"recursing into submodule with push.recurseSubmodules=only; using on-demand "
+"instead"
+msgstr "在有 push.recurseSubmodules=only; 的情æ³å˜—試éžè¿´å­æ¨¡çµ„;改用 on-demand"
+
#: builtin/push.c builtin/send-pack.c submodule-config.c
#, c-format
msgid "invalid value for '%s'"
@@ -11999,13 +12063,15 @@ msgstr "需è¦å…©å€‹æäº¤ç¯„åœ"
#: builtin/read-tree.c
msgid ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) "
-"[-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-"
-"ish1> [<tree-ish2> [<tree-ish3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
msgstr ""
-"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<å‰ç¶´>) [-"
-"u | -i]] [--no-sparse-checkout] [--index-output=<檔案>] (--empty | <樹狀物件"
-"1> [<樹狀物件2> [<樹狀物件3>]])"
+"git read-tree [(-m [--trivial] [--aggressive] | --reset | --"
+"prefix=<prefix>)\n"
+" [-u | -i]] [--index-output=<file>] [--no-sparse-checkout]\n"
+" (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])"
#: builtin/read-tree.c
msgid "write resulting index to <file>"
@@ -12122,8 +12188,8 @@ msgstr "%s 需è¦åˆä½µå¾Œç«¯"
#: builtin/rebase.c
#, c-format
-msgid "could not get 'onto': '%s'"
-msgstr "無法å–å¾— 'onto':'%s'"
+msgid "invalid onto: '%s'"
+msgstr "無效的 onto:「%sã€"
#: builtin/rebase.c
#, c-format
@@ -12179,8 +12245,8 @@ msgstr "無法切æ›åˆ° %s"
#: builtin/rebase.c
#, c-format
msgid ""
-"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and \"ask"
-"\"."
+"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and "
+"\"ask\"."
msgstr "無法識別的 '%s' 空類型;有效的數值有 \"drop\"ã€\"keep\" è·Ÿ \"ask\"。"
#: builtin/rebase.c
@@ -12488,8 +12554,8 @@ msgid "No such ref: %s"
msgstr "沒有這樣的引用:%s"
#: builtin/rebase.c
-msgid "Could not resolve HEAD to a revision"
-msgstr "無法將 HEAD è§£æžç‚ºä¸€å€‹ç‰ˆæœ¬"
+msgid "Could not resolve HEAD to a commit"
+msgstr "無法將 HEAD è§£æžæˆæäº¤"
#: builtin/rebase.c
#, c-format
@@ -12508,7 +12574,7 @@ msgstr "沒有指å‘一個有效的æäº¤ '%s'"
#: builtin/rebase.c
msgid "Please commit or stash them."
-msgstr "è«‹æäº¤æˆ–儲è—修改。"
+msgstr "è«‹æäº¤æˆ–貯存修改。"
#: builtin/rebase.c
msgid "HEAD is up to date."
@@ -13288,6 +13354,11 @@ msgid "could not close refs snapshot tempfile"
msgstr "無法關閉 refs 的快照暫存檔"
#: builtin/repack.c
+#, c-format
+msgid "could not remove stale bitmap: %s"
+msgstr "ç„¡æ³•ç§»é™¤éŽæ™‚ä½åœ–:%s"
+
+#: builtin/repack.c
msgid "pack everything in a single pack"
msgstr "所有內容打包到一個包檔案中"
@@ -13384,6 +13455,10 @@ msgid "write a multi-pack index of the resulting packs"
msgstr "å¯«å…¥çµæžœåŒ…的多包索引"
#: builtin/repack.c
+msgid "pack prefix to store a pack containing pruned objects"
+msgstr "å°è£å‰ç¶´ï¼Œå„²å­˜ç‚ºåŒ…å«éŽæ™‚物件的套件包"
+
+#: builtin/repack.c
msgid "cannot delete packs in a precious-objects repo"
msgstr "ä¸èƒ½åˆªé™¤çå“版本庫中的å°åŒ…"
@@ -13398,11 +13473,16 @@ msgstr "å°åŒ…å‰ç¶´ %s ä¸ä»¥ objdir %s é–‹é ­"
#: builtin/repack.c
#, c-format
-msgid "missing required file: %s"
-msgstr "ç¼ºå°‘å¿…è¦æª”案:%s"
+msgid "renaming pack to '%s' failed"
+msgstr "ç„¡æ³•å°‡åŒ…é‡æ–°å‘½å為「%sã€"
#: builtin/repack.c
#, c-format
+msgid "pack-objects did not write a '%s' file for pack %s-%s"
+msgstr "pack-objects 沒有為 %2$s-%3$s 套件包寫入 “%1$s†檔案"
+
+#: builtin/repack.c sequencer.c
+#, c-format
msgid "could not unlink: %s"
msgstr "ç„¡æ³•å–æ¶ˆé€£çµï¼š%s"
@@ -13643,8 +13723,10 @@ msgid "only one pattern can be given with -l"
msgstr "åªèƒ½ç‚º -l æä¾›ä¸€å€‹æ¨¡å¼"
#: builtin/rerere.c
-msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]"
-msgstr "git rerere [clear | forget <路徑>... | status | remaining | diff | gc]"
+msgid ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
+msgstr ""
+"git rerere [clear | forget <pathspec>... | diff | status | remaining | gc]"
#: builtin/rerere.c
msgid "register clean resolutions in index"
@@ -13902,6 +13984,18 @@ msgstr "--prefix éœ€è¦ 1 個引數"
msgid "unknown mode for --abbrev-ref: %s"
msgstr "--abbrev-ref çš„æ¨¡å¼æœªçŸ¥ï¼š%s"
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --branches"
+msgstr "--exclude-hidden 無法與 --branches åŒæ™‚使用"
+
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --tags"
+msgstr "--exclude-hidden 無法與 --tags åŒæ™‚使用"
+
+#: builtin/rev-parse.c revision.c
+msgid "--exclude-hidden cannot be used together with --remotes"
+msgstr "--exclude-hidden 無法與 --remotes åŒæ™‚使用"
+
#: builtin/rev-parse.c setup.c
msgid "this operation must be run in a work tree"
msgstr "該動作必須在一個工作å€ä¸­åŸ·è¡Œ"
@@ -13912,20 +14006,28 @@ msgid "unknown mode for --show-object-format: %s"
msgstr "--show-object-format çš„æ¨¡å¼æœªçŸ¥ï¼š%s"
#: builtin/revert.c
-msgid "git revert [<options>] <commit-ish>..."
-msgstr "git revert [<é¸é …>] <æäº¤è™Ÿ>..."
+msgid ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
+msgstr ""
+"git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] "
+"<commit>..."
#: builtin/revert.c
-msgid "git revert <subcommand>"
-msgstr "git revert <å­æŒ‡ä»¤>"
+msgid "git revert (--continue | --skip | --abort | --quit)"
+msgstr "git revert (--continue | --skip | --abort | --quit)"
#: builtin/revert.c
-msgid "git cherry-pick [<options>] <commit-ish>..."
-msgstr "git cherry-pick [<é¸é …>] <æäº¤è™Ÿ>..."
+msgid ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
+msgstr ""
+"git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]\n"
+" [-S[<keyid>]] <commit>..."
#: builtin/revert.c
-msgid "git cherry-pick <subcommand>"
-msgstr "git cherry-pick <å­æŒ‡ä»¤>"
+msgid "git cherry-pick (--continue | --skip | --abort | --quit)"
+msgstr "git cherry-pick (--continue | --skip | --abort | --quit)"
#: builtin/revert.c
#, c-format
@@ -14006,8 +14108,14 @@ msgid "cherry-pick failed"
msgstr "æ€é¸å¤±æ•—"
#: builtin/rm.c
-msgid "git rm [<options>] [--] <file>..."
-msgstr "git rm [<é¸é …>] [--] <檔案>..."
+msgid ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
+msgstr ""
+"git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]\n"
+" [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]"
#: builtin/rm.c
msgid ""
@@ -14070,7 +14178,7 @@ msgstr "沒有æä¾›è·¯å¾‘è¦æ ¼ã€‚我該移除哪個檔案?"
#: builtin/rm.c
msgid "please stage your changes to .gitmodules or stash them to proceed"
-msgstr "請將您的修改暫存到 .gitmodules 中或儲è—後å†ç¹¼çºŒ"
+msgstr "請將您的修改暫存到 .gitmodules 中或貯存後å†ç¹¼çºŒ"
#: builtin/rm.c
#, c-format
@@ -14087,12 +14195,14 @@ msgid ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
" [<host>:]<directory> (--all | <ref>...)"
msgstr ""
"git send-pack [--mirror] [--dry-run] [--force]\n"
" [--receive-pack=<git-receive-pack>]\n"
" [--verbose] [--thin] [--atomic]\n"
-" [<主機>:]<目錄> (--all | <引用>...)"
+" [--[no-]signed | --signed=(true|false|if-asked)]\n"
+" [<host>:]<directory> (--all | <ref>...)"
#: builtin/send-pack.c
msgid "remote name"
@@ -14123,8 +14233,9 @@ msgid "using multiple --group options with stdin is not supported"
msgstr "䏿”¯æ´åœ¨æ¨™æº–輸入使用多個 --group é¸é …"
#: builtin/shortlog.c
-msgid "using --group=trailer with stdin is not supported"
-msgstr "䏿”¯æ´åœ¨æ¨™æº–輸入使用 --group=trailer"
+#, c-format
+msgid "using %s with stdin is not supported"
+msgstr "䏿”¯æ´å° %s 使用 stdin"
#: builtin/shortlog.c
#, c-format
@@ -14172,13 +14283,14 @@ msgid ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
msgstr ""
"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
-" [--current] [--color[=<何時>] | --no-color] [--sparse]\n"
+" [--current] [--color[=<when>] | --no-color] [--sparse]\n"
" [--more=<n> | --list | --independent | --merge-base]\n"
-" [--no-name | --sha1-name] [--topics] [(<版本> | <è¬ç”¨å­—å…ƒ"
-">)...]"
+" [--no-name | --sha1-name] [--topics]\n"
+" [(<rev> | <glob>)...]"
#: builtin/show-branch.c
msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"
@@ -14304,11 +14416,13 @@ msgstr "未知的雜湊算法"
#: builtin/show-ref.c
msgid ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
msgstr ""
-"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --"
-"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<模å¼>...]"
+"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference]\n"
+" [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags]\n"
+" [--heads] [--] [<pattern>...]"
#: builtin/show-ref.c
msgid "git show-ref --exclude-existing[=<pattern>]"
@@ -14347,8 +14461,10 @@ msgid "show refs from stdin that aren't in local repository"
msgstr "顯示從標準輸入中讀入的ä¸åœ¨æœ¬æ©Ÿç‰ˆæœ¬åº«ä¸­çš„引用"
#: builtin/sparse-checkout.c
-msgid "git sparse-checkout (init|list|set|add|reapply|disable) <options>"
-msgstr "git sparse-checkout (init|list|set|add|reapply|disable) <é¸é …>"
+msgid ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
+msgstr ""
+"git sparse-checkout (init | list | set | add | reapply | disable) [<options>]"
#: builtin/sparse-checkout.c
msgid "this worktree is not sparse"
@@ -14490,83 +14606,71 @@ msgid "error while refreshing working directory"
msgstr "釿–°æ•´ç†å·¥ä½œç›®éŒ„時發生錯誤"
#: builtin/stash.c
-msgid "git stash list [<options>]"
-msgstr "git stash list [<é¸é …>]"
+msgid "git stash list [<log-options>]"
+msgstr "git stash list [<log-options>]"
#: builtin/stash.c
-msgid "git stash show [<options>] [<stash>]"
-msgstr "git stash show [<é¸é …>] [<stash>]"
+msgid ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
+msgstr ""
+"git stash show [-u | --include-untracked | --only-untracked] [<diff-"
+"options>] [<stash>]"
#: builtin/stash.c
-msgid "git stash drop [-q|--quiet] [<stash>]"
-msgstr "git stash drop [-q|--quiet] [<stash>]"
+msgid "git stash drop [-q | --quiet] [<stash>]"
+msgstr "git stash drop [-q | --quiet] [<stash>]"
#: builtin/stash.c
-msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+msgid "git stash pop [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash pop [--index] [-q | --quiet] [<stash>]"
+
+#: builtin/stash.c
+msgid "git stash apply [--index] [-q | --quiet] [<stash>]"
+msgstr "git stash apply [--index] [-q | --quiet] [<stash>]"
#: builtin/stash.c
msgid "git stash branch <branchname> [<stash>]"
msgstr "git stash branch <分支å> [<stash>]"
#: builtin/stash.c
-msgid ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
-" [--] [<pathspec>...]]"
-msgstr ""
-"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <訊æ¯>]\n"
-" [--pathspec-from-file=<檔案> [--pathspec-file-nul]]\n"
-" [--] [<è·¯å¾‘è¦æ ¼>...]]"
+msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
+msgstr "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
#: builtin/stash.c
msgid ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
+" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]]"
msgstr ""
-"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--"
-"quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<訊æ¯>]"
-
-#: builtin/stash.c
-msgid "git stash pop [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash pop [--index] [-q|--quiet] [<stash>]"
-
-#: builtin/stash.c
-msgid "git stash apply [--index] [-q|--quiet] [<stash>]"
-msgstr "git stash apply [--index] [-q|--quiet] [<stash>]"
-
-#: builtin/stash.c
-msgid "git stash store [-m|--message <message>] [-q|--quiet] <commit>"
-msgstr "git stash store [-m|--message <消æ¯>] [-q|--quiet] <æäº¤>"
+"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"| --quiet]\n"
+" [-u | --include-untracked] [-a | --all] [(-m | --message) "
+"<message>]\n"
+" [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
+" [--] [<pathspec>...]]"
#: builtin/stash.c
msgid ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
-" [--] [<pathspec>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
msgstr ""
-"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [-m|--message <消æ¯>]\n"
-" [--] [<è·¯å¾‘è¦æ ¼>...]]"
+"git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
+"--quiet]\n"
+" [-u | --include-untracked] [-a | --all] [<message>]"
#: builtin/stash.c
-msgid ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<message>]"
-msgstr ""
-"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
-" [-u|--include-untracked] [-a|--all] [<消æ¯>]"
+msgid "git stash create [<message>]"
+msgstr "git stash create [<message>]"
#: builtin/stash.c
#, c-format
msgid "'%s' is not a stash-like commit"
-msgstr "'%s' ä¸åƒæ˜¯ä¸€å€‹å„²è—æäº¤"
+msgstr "'%s' ä¸åƒæ˜¯ä¸€å€‹è²¯å­˜æäº¤"
#: builtin/stash.c
#, c-format
@@ -14575,7 +14679,7 @@ msgstr "指定了太多的版本:%s"
#: builtin/stash.c
msgid "No stash entries found."
-msgstr "未發ç¾å„²è—æ¢ç›®ã€‚"
+msgstr "未發ç¾è²¯å­˜æ¢ç›®ã€‚"
#: builtin/stash.c
#, c-format
@@ -14599,7 +14703,7 @@ msgstr ""
#: builtin/stash.c
msgid "cannot apply a stash in the middle of a merge"
-msgstr "無法在åˆä½µéŽç¨‹å¥—用儲è—"
+msgstr "無法在åˆä½µéŽç¨‹å¥—用貯存"
#: builtin/stash.c
#, c-format
@@ -14621,11 +14725,11 @@ msgstr "正在åˆä½µ %s å’Œ %s"
#: builtin/stash.c
msgid "Index was not unstashed."
-msgstr "索引未從儲è—中復原。"
+msgstr "索引未從貯存中復原。"
#: builtin/stash.c
msgid "could not restore untracked files from stash"
-msgstr "ç„¡æ³•å¾žå„²è—æ¢ç›®ä¸­å¾©åŽŸæœªè¿½è¹¤æª”æ¡ˆ"
+msgstr "無法從貯存æ¢ç›®ä¸­å¾©åŽŸæœªè¿½è¹¤æª”æ¡ˆ"
#: builtin/stash.c
msgid "attempt to recreate the index"
@@ -14639,16 +14743,16 @@ msgstr "æ¨æ£„了 %s(%s)"
#: builtin/stash.c
#, c-format
msgid "%s: Could not drop stash entry"
-msgstr "%sï¼šç„¡æ³•æ¨æ£„å„²è—æ¢ç›®"
+msgstr "%sï¼šç„¡æ³•æ¨æ£„貯存æ¢ç›®"
#: builtin/stash.c
#, c-format
msgid "'%s' is not a stash reference"
-msgstr "'%s' 䏿˜¯ä¸€å€‹å„²è—引用"
+msgstr "'%s' 䏿˜¯ä¸€å€‹è²¯å­˜å¼•用"
#: builtin/stash.c
msgid "The stash entry is kept in case you need it again."
-msgstr "å„²è—æ¢ç›®è¢«ä¿ç•™ä»¥å‚™æ‚¨å†æ¬¡éœ€è¦ã€‚"
+msgstr "貯存æ¢ç›®è¢«ä¿ç•™ä»¥å‚™æ‚¨å†æ¬¡éœ€è¦ã€‚"
#: builtin/stash.c
msgid "No branch name specified"
@@ -14664,11 +14768,11 @@ msgstr "無法解包樹"
#: builtin/stash.c
msgid "include untracked files in the stash"
-msgstr "在儲è—å€åŒ…嫿œªè¿½è¹¤æª”案"
+msgstr "在貯存å€åŒ…嫿œªè¿½è¹¤æª”案"
#: builtin/stash.c
msgid "only show untracked files in the stash"
-msgstr "åªåœ¨å„²è—å€é¡¯ç¤ºæœªè¿½è¹¤æª”案"
+msgstr "åªåœ¨è²¯å­˜å€é¡¯ç¤ºæœªè¿½è¹¤æª”案"
#: builtin/stash.c
#, c-format
@@ -14677,7 +14781,7 @@ msgstr "無法用 %2$s 更新 %1$s"
#: builtin/stash.c
msgid "stash message"
-msgstr "儲è—說明"
+msgstr "貯存說明"
#: builtin/stash.c
msgid "\"git stash store\" requires one <commit> argument"
@@ -14733,7 +14837,7 @@ msgstr "沒有è¦å„²å­˜çš„æœ¬æ©Ÿä¿®æ”¹"
#: builtin/stash.c
msgid "Cannot initialize stash"
-msgstr "無法åˆå§‹åŒ–儲è—"
+msgstr "無法åˆå§‹åŒ–貯存"
#: builtin/stash.c
msgid "Cannot save the current status"
@@ -14754,11 +14858,11 @@ msgstr "ä¿æŒç´¢å¼•"
#: builtin/stash.c
msgid "stash staged changes only"
-msgstr "åªå„²è—暫存變更"
+msgstr "åªè²¯å­˜æš«å­˜è®Šæ›´"
#: builtin/stash.c
msgid "stash in patch mode"
-msgstr "以修補檔模å¼å„²è—"
+msgstr "以修補檔模å¼è²¯å­˜"
#: builtin/stash.c
msgid "quiet mode"
@@ -14766,7 +14870,7 @@ msgstr "éœé»˜æ¨¡å¼"
#: builtin/stash.c
msgid "include untracked files in stash"
-msgstr "儲è—ä¸­åŒ…å«æœªè¿½è¹¤æª”案"
+msgstr "è²¯å­˜ä¸­åŒ…å«æœªè¿½è¹¤æª”案"
#: builtin/stash.c
msgid "include ignore files"
@@ -15249,10 +15353,6 @@ msgid "don't fetch new objects from the remote site"
msgstr "ä¸å¾žé ç«¯ç«™å°å–得新物件"
#: builtin/submodule--helper.c
-msgid "path into the working tree"
-msgstr "到工作å€çš„路徑"
-
-#: builtin/submodule--helper.c
msgid "use the 'checkout' update strategy (default)"
msgstr "使用 “checkout†更新策略(é è¨­å€¼ï¼‰"
@@ -15297,34 +15397,10 @@ msgstr ""
"[--] [<path>...]"
#: builtin/submodule--helper.c
-msgid "recurse into submodules"
-msgstr "åœ¨å­æ¨¡çµ„中éžè¿´"
-
-#: builtin/submodule--helper.c
msgid "git submodule absorbgitdirs [<options>] [<path>...]"
msgstr "git submodule absorbgitdirs [<options>] [<path>...]"
#: builtin/submodule--helper.c
-msgid "check if it is safe to write to the .gitmodules file"
-msgstr "檢查寫入 .gitmodules 檔案是å¦å®‰å…¨"
-
-#: builtin/submodule--helper.c
-msgid "unset the config in the .gitmodules file"
-msgstr "å–æ¶ˆ .gitmodules 檔案中的設定"
-
-#: builtin/submodule--helper.c
-msgid "git submodule--helper config <name> [<value>]"
-msgstr "git submodule--helper config <å稱> [<值>]"
-
-#: builtin/submodule--helper.c
-msgid "git submodule--helper config --unset <name>"
-msgstr "git submodule--helper config --unset <å稱>"
-
-#: builtin/submodule--helper.c
-msgid "please make sure that the .gitmodules file is in the working tree"
-msgstr "è«‹ç¢ºèª .gitmodules 檔案在工作å€è£¡"
-
-#: builtin/submodule--helper.c
msgid "suppress output for setting url of a submodule"
msgstr "éš±è—å­æ¨¡çµ„設定 URL 的輸出"
@@ -15418,6 +15494,10 @@ msgid "unable to checkout submodule '%s'"
msgstr "無法簽出「%sã€å­æ¨¡çµ„"
#: builtin/submodule--helper.c
+msgid "please make sure that the .gitmodules file is in the working tree"
+msgstr "è«‹ç¢ºèª .gitmodules 檔案在工作å€è£¡"
+
+#: builtin/submodule--helper.c
#, c-format
msgid "Failed to add submodule '%s'"
msgstr "ç„¡æ³•åŠ å…¥å­æ¨¡çµ„「%sã€"
@@ -15478,23 +15558,26 @@ msgstr "版本庫 URL:「%sã€å¿…須是絕å°è·¯å¾‘,或開頭是 ./|../"
msgid "'%s' is not a valid submodule name"
msgstr "「%sã€ä¸æ˜¯æœ‰æ•ˆçš„å­æ¨¡çµ„å稱"
+#: builtin/submodule--helper.c
+msgid "git submodule--helper <command>"
+msgstr "git submodule--helper <command>"
+
#: builtin/submodule--helper.c git.c
#, c-format
msgid "%s doesn't support --super-prefix"
msgstr "%s 䏿”¯æ´ --super-prefix"
-#: builtin/submodule--helper.c
-#, c-format
-msgid "'%s' is not a valid submodule--helper subcommand"
-msgstr "'%s' 䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„ submodule--helper å­æŒ‡ä»¤"
+#: builtin/symbolic-ref.c
+msgid "git symbolic-ref [-m <reason>] <name> <ref>"
+msgstr "git symbolic-ref [-m <reason>] <name> <ref>"
#: builtin/symbolic-ref.c
-msgid "git symbolic-ref [<options>] <name> [<ref>]"
-msgstr "git symbolic-ref [<é¸é …>] <å稱> [<引用>]"
+msgid "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
+msgstr "git symbolic-ref [-q] [--short] [--no-recurse] <name>"
#: builtin/symbolic-ref.c
-msgid "git symbolic-ref -d [-q] <name>"
-msgstr "git symbolic-ref -d [-q] <å稱>"
+msgid "git symbolic-ref --delete [-q] <name>"
+msgstr "git symbolic-ref --delete [-q] <name>"
#: builtin/symbolic-ref.c
msgid "suppress error message for non-symbolic (detached) refs"
@@ -15508,6 +15591,10 @@ msgstr "刪除符號引用"
msgid "shorten ref output"
msgstr "縮短引用輸出"
+#: builtin/symbolic-ref.c
+msgid "recursively dereference (default)"
+msgstr "éžè¿´å解引用(é è¨­ï¼‰"
+
#: builtin/symbolic-ref.c builtin/update-ref.c
msgid "reason"
msgstr "原因"
@@ -15518,11 +15605,11 @@ msgstr "更新的原因"
#: builtin/tag.c
msgid ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n"
-" <tagname> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
msgstr ""
-"git tag [-a | -s | -u <key-id>] [-f] [-m <消æ¯> | -F <檔案>]\n"
-" <標籤å> [<head>]"
+"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] [-e]\n"
+" <tagname> [<commit> | <object>]"
#: builtin/tag.c
msgid "git tag -d <tagname>..."
@@ -15530,14 +15617,15 @@ msgstr "git tag -d <標籤å>..."
#: builtin/tag.c
msgid ""
-"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--"
-"points-at <object>]\n"
-" [--format=<format>] [--merged <commit>] [--no-merged <commit>] "
-"[<pattern>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
msgstr ""
-"git tag -l [-n[<數字>]] [--contains <æäº¤>] [--no-contains <æäº¤>] [--points-"
-"at <物件>]\n"
-" [--format=<æ ¼å¼>] [--merged <æäº¤>] [--no-merged <æäº¤>] [<模å¼>...]"
+"git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]\n"
+" [--points-at <object>] [--column[=<options>] | --no-column]\n"
+" [--create-reflog] [--sort=<key>] [--format=<format>]\n"
+" [--merged <commit>] [--no-merged <commit>] [<pattern>...]"
#: builtin/tag.c
msgid "git tag -v [--format=<format>] <tagname>..."
@@ -16007,8 +16095,12 @@ msgid "update the info files from scratch"
msgstr "從頭開始更新檔案訊æ¯"
#: builtin/upload-pack.c
-msgid "git upload-pack [<options>] <dir>"
-msgstr "git upload-pack [<é¸é …>] <目錄>"
+msgid ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
+msgstr ""
+"git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc]\n"
+" [--advertise-refs] <directory>"
#: builtin/upload-pack.c t/helper/test-serve-v2.c
msgid "quit after a single request/response exchange"
@@ -16027,8 +16119,8 @@ msgid "interrupt transfer after <n> seconds of inactivity"
msgstr "䏿´»å‹• <n> ç§’é˜å¾Œçµ‚止傳輸"
#: builtin/verify-commit.c
-msgid "git verify-commit [-v | --verbose] <commit>..."
-msgstr "git verify-commit [-v | --verbose] <æäº¤>..."
+msgid "git verify-commit [-v | --verbose] [--raw] <commit>..."
+msgstr "git verify-commit [-v | --verbose] [--raw] <commit>..."
#: builtin/verify-commit.c
msgid "print commit contents"
@@ -16039,8 +16131,8 @@ msgid "print raw gpg status output"
msgstr "列å°åŽŸå§‹ gpg 狀態輸出"
#: builtin/verify-pack.c
-msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..."
-msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <包>..."
+msgid "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
+msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx..."
#: builtin/verify-pack.c
msgid "verbose"
@@ -16051,44 +16143,48 @@ msgid "show statistics only"
msgstr "åªé¡¯ç¤ºçµ±è¨ˆ"
#: builtin/verify-tag.c
-msgid "git verify-tag [-v | --verbose] [--format=<format>] <tag>..."
-msgstr "git verify-tag [-v | --verbose] [--format=<æ ¼å¼>] <標籤>..."
+msgid "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
+msgstr "git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."
#: builtin/verify-tag.c
msgid "print tag contents"
msgstr "åˆ—å°æ¨™ç±¤å…§å®¹"
#: builtin/worktree.c
-msgid "git worktree add [<options>] <path> [<commit-ish>]"
-msgstr "git worktree add [<é¸é …>] <路徑> [<æäº¤>]"
+msgid ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
+msgstr ""
+"git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]]\n"
+" [-b <new-branch>] <path> [<commit-ish>]"
#: builtin/worktree.c
-msgid "git worktree list [<options>]"
-msgstr "git worktree list [<é¸é …>]"
+msgid "git worktree list [-v | --porcelain [-z]]"
+msgstr "git worktree list [-v | --porcelain [-z]]"
#: builtin/worktree.c
-msgid "git worktree lock [<options>] <path>"
-msgstr "git worktree lock [<é¸é …>] <路徑>"
+msgid "git worktree lock [--reason <string>] <worktree>"
+msgstr "git worktree lock [--reason <string>] <worktree>"
#: builtin/worktree.c
msgid "git worktree move <worktree> <new-path>"
msgstr "git worktree move <工作å€> <新路徑>"
#: builtin/worktree.c
-msgid "git worktree prune [<options>]"
-msgstr "git worktree prune [<é¸é …>]"
+msgid "git worktree prune [-n] [-v] [--expire <expire>]"
+msgstr "git worktree prune [-n] [-v] [--expire <expire>]"
#: builtin/worktree.c
-msgid "git worktree remove [<options>] <worktree>"
-msgstr "git worktree remove [<é¸é …>] <工作å€>"
+msgid "git worktree remove [-f] <worktree>"
+msgstr "git worktree remove [-f] <worktree>"
#: builtin/worktree.c
msgid "git worktree repair [<path>...]"
msgstr "git worktree repair [<路徑>...]"
#: builtin/worktree.c
-msgid "git worktree unlock <path>"
-msgstr "git worktree unlock <路徑>"
+msgid "git worktree unlock <worktree>"
+msgstr "git worktree unlock <worktree>"
#: builtin/worktree.c
#, c-format
@@ -16373,6 +16469,11 @@ msgid "core.fsyncMethod = batch is unsupported on this platform"
msgstr "core.fsyncMethod = batch 䏿”¯æ´æœ¬å¹³å°"
#: bundle-uri.c
+#, c-format
+msgid "bundle list at '%s' has no mode"
+msgstr "使–¼ “%s†的套件包清單沒有模å¼"
+
+#: bundle-uri.c
msgid "failed to create temporary file"
msgstr "無法建立暫存檔"
@@ -16382,23 +16483,40 @@ msgstr "功能ä¸è¶³"
#: bundle-uri.c
#, c-format
-msgid "failed to download bundle from URI '%s'"
-msgstr "無法從 “%s†URI 下載套件"
+msgid "unrecognized bundle mode from URI '%s'"
+msgstr "無法識別從 URI “%s†å–回的套件包模å¼"
+
+#: bundle-uri.c
+#, c-format
+msgid "exceeded bundle URI recursion limit (%d)"
+msgstr "超出套件包 URI éžè¿´é™åˆ¶ (%d)"
#: bundle-uri.c
#, c-format
-msgid "file at URI '%s' is not a bundle"
-msgstr "使–¼ URI “%sâ€ çš„æª”æ¡ˆä¸æ˜¯å¥—ä»¶"
+msgid "failed to download bundle from URI '%s'"
+msgstr "無法從 “%s†URI 下載套件包"
#: bundle-uri.c
#, c-format
-msgid "failed to unbundle bundle from URI '%s'"
-msgstr "無法解開æºè‡ª URI “%s†的套件"
+msgid "file at URI '%s' is not a bundle or bundle list"
+msgstr "使–¼ URI “%sâ€ çš„æª”æ¡ˆä¸æ˜¯å¥—件包或套件包清單"
+
+#: bundle-uri.c
+msgid "bundle-uri: got an empty line"
+msgstr "bundle-uri: 收到空白列"
+
+#: bundle-uri.c
+msgid "bundle-uri: line is not of the form 'key=value'"
+msgstr "bundle-uri: 列的格å¼ä¸æ˜¯ “key=valueâ€"
+
+#: bundle-uri.c
+msgid "bundle-uri: line has empty key or value"
+msgstr "bundle-uri: åˆ—æœ‰ç©ºéµæˆ–空值"
#: bundle.c
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
-msgstr "無法識別的套件雜湊演算法:%s"
+msgstr "無法識別的套件包雜湊演算法:%s"
#: bundle.c
#, c-format
@@ -16408,7 +16526,7 @@ msgstr "未知功能 '%s'"
#: bundle.c
#, c-format
msgid "'%s' does not look like a v2 or v3 bundle file"
-msgstr "'%s' ä¸åƒæ˜¯ä¸€å€‹ v2 或 v3 版本的套件檔案"
+msgstr "“%s†ä¸åƒæ˜¯ä¸€å€‹ v2 或 v3 版本的套件包檔案"
#: bundle.c
#, c-format
@@ -16421,27 +16539,27 @@ msgstr "版本庫中缺少這些必備的æäº¤ï¼š"
#: bundle.c
msgid "need a repository to verify a bundle"
-msgstr "需è¦ç‰ˆæœ¬åº«é©—證套件"
+msgstr "需è¦ç‰ˆæœ¬åº«é©—證套件包"
#: bundle.c
#, c-format
msgid "The bundle contains this ref:"
msgid_plural "The bundle contains these %<PRIuMAX> refs:"
-msgstr[0] "這個套件嫿œ‰é€™ %<PRIuMAX> 個引用:"
+msgstr[0] "é€™å€‹å¥—ä»¶åŒ…ï¼Œå«æœ‰é€™ %<PRIuMAX> 個引用:"
#: bundle.c
msgid "The bundle records a complete history."
-msgstr "這個套件記錄完整歷å²ç´€éŒ„。"
+msgstr "這個套件包記下了完整歷å²ç´€éŒ„。"
#: bundle.c
#, c-format
msgid "The bundle requires this ref:"
msgid_plural "The bundle requires these %<PRIuMAX> refs:"
-msgstr[0] "這個套件需è¦é€™ %<PRIuMAX> 個引用:"
+msgstr[0] "這個套件包需è¦é€™ %<PRIuMAX> 個引用:"
#: bundle.c
msgid "unable to dup bundle descriptor"
-msgstr "無法複製套件æè¿°ç¬¦"
+msgstr "無法複製套件包æè¿°å…ƒ"
#: bundle.c
msgid "Could not spawn pack-objects"
@@ -16459,16 +16577,16 @@ msgstr "引用 '%s' 被 rev-list é¸é …排除"
#: bundle.c
#, c-format
msgid "unsupported bundle version %d"
-msgstr "䏿”¯æ´çš„套件版本 %d"
+msgstr "䏿”¯æ´çš„套件包版本 %d"
#: bundle.c
#, c-format
msgid "cannot write bundle version %d with algorithm %s"
-msgstr "無法寫入 %2$s 演算法的套件版本 %1$d"
+msgstr "無法寫入使用 %2$s 演算法的套件包版本 %1$d"
#: bundle.c
msgid "Refusing to create empty bundle."
-msgstr "ä¸èƒ½å»ºç«‹ç©ºå¥—件。"
+msgstr "ä¸èƒ½å»ºç«‹ç©ºå¥—件包。"
#: bundle.c
#, c-format
@@ -17015,7 +17133,7 @@ msgstr "將檔案內容新增到索引"
#: command-list.h
msgid "Stash the changes in a dirty working directory away"
-msgstr "儲è—髒工作å€ä¸­çš„修改"
+msgstr "貯存髒工作å€ä¸­çš„修改"
#: command-list.h
msgid "Show the working tree status"
@@ -17111,7 +17229,7 @@ msgstr "定義路徑的屬性"
#: command-list.h
msgid "Git command-line interface and conventions"
-msgstr "Git 指令列介é¢å’Œç´„定"
+msgstr "Git 命令列介é¢å’Œç´„定"
#: command-list.h
msgid "A Git core tutorial for developers"
@@ -17139,14 +17257,14 @@ msgstr "Git 使用的常見å•題"
#: command-list.h
msgid "The bundle file format"
-msgstr "套件檔案格å¼"
+msgstr "套件包檔案格å¼"
#: command-list.h
msgid "Chunk-based file formats"
msgstr "以å€å¡Šç‚ºåŸºç¤Žçš„æª”案格å¼"
#: command-list.h
-msgid "Git commit graph format"
+msgid "Git commit-graph format"
msgstr "Git æäº¤åœ–æ ¼å¼"
#: command-list.h
@@ -17571,6 +17689,11 @@ msgstr "“has_worktree_moved†中有未處置的情æ³ï¼š%d"
msgid "health thread wait failed [GLE %ld]"
msgstr "å¥åº·ç›£è½åŸ·è¡Œç·’等待失敗 [GLE %ld]"
+#: compat/fsmonitor/fsm-ipc-darwin.c
+#, c-format
+msgid "Invalid path: %s"
+msgstr "無效路徑:%s"
+
#: compat/fsmonitor/fsm-listen-darwin.c
msgid "Unable to create FSEventStream."
msgstr "無法建立 FSEventStream。"
@@ -17609,12 +17732,32 @@ msgstr "在 “%sâ€ ä¸Šå‘¼å« GetOverlappedResult 失敗 [GLE %ld]"
msgid "could not read directory changes [GLE %ld]"
msgstr "無法讀å–目錄變化 [GLE %ld]"
-#: compat/fsmonitor/fsm-settings-win32.c
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "opendir('%s') failed"
+msgstr "opendir('%s') 失敗"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "lstat('%s') failed"
+msgstr "lstat('%s') 失敗"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "strbuf_readlink('%s') failed"
+msgstr "strbuf_readlink('%s') 失敗"
+
+#: compat/fsmonitor/fsm-path-utils-darwin.c
+#, c-format
+msgid "closedir('%s') failed"
+msgstr "closedir('%s') 失敗"
+
+#: compat/fsmonitor/fsm-path-utils-win32.c
#, c-format
msgid "[GLE %ld] unable to open for read '%ls'"
msgstr "[GLE %ld] 無法開啟以讀å–「%lsã€"
-#: compat/fsmonitor/fsm-settings-win32.c
+#: compat/fsmonitor/fsm-path-utils-win32.c
#, c-format
msgid "[GLE %ld] unable to get protocol information for '%ls'"
msgstr "[GLE %ld] 無法å–得「%lsã€çš„通訊å”定資訊"
@@ -17879,7 +18022,7 @@ msgstr "å­æ¨¡çµ„資料物件 %2$s 中錯誤的設定行 %1$d"
#: config.c
#, c-format
msgid "bad config line %d in command line %s"
-msgstr "指令列 %2$s 中錯誤的設定行 %1$d"
+msgstr "命令列 %2$s 中錯誤的設定行 %1$d"
#: config.c
#, c-format
@@ -17922,7 +18065,7 @@ msgstr "å­æ¨¡çµ„資料 %3$s 中設定變數 '%2$s' 錯誤的å–值 '%1$s':%4$
#: config.c
#, c-format
msgid "bad numeric config value '%s' for '%s' in command line %s: %s"
-msgstr "指令列 %3$s 中設定變數 '%2$s' 錯誤的å–值 '%1$s':%4$s"
+msgstr "命令列 %3$s 中設定變數 '%2$s' 錯誤的å–值 '%1$s':%4$s"
#: config.c
#, c-format
@@ -18018,7 +18161,7 @@ msgstr "è§£æž %s 失敗"
#: config.c
msgid "unable to parse command-line config"
-msgstr "ç„¡æ³•è§£æžæŒ‡ä»¤åˆ—中的設定"
+msgstr "無法解æžå‘½ä»¤åˆ—中的設定"
#: config.c
msgid "unknown error occurred while reading the configuration files"
@@ -18037,7 +18180,7 @@ msgstr "splitIndex.maxPercentChange çš„å–值 '%d' 應該介於 0 å’Œ 100 之間
#: config.c
#, c-format
msgid "unable to parse '%s' from command-line config"
-msgstr "ç„¡æ³•è§£æžæŒ‡ä»¤åˆ—設定中的 '%s'"
+msgstr "無法解æžå‘½ä»¤åˆ—設定中的 '%s'"
#: config.c
#, c-format
@@ -19242,7 +19385,7 @@ msgid ""
"Please specify a directory on the command line"
msgstr ""
"無法猜到目錄å。\n"
-"請在指令列指定一個目錄"
+"請在命令列指定一個目錄"
#: dir.c
#, c-format
@@ -19573,8 +19716,9 @@ msgstr "虛擬版本庫 “%s†與 fsmonitor ä¸ç›¸å®¹"
#: fsmonitor-settings.c
#, c-format
msgid ""
-"repository '%s' is incompatible with fsmonitor due to lack of Unix sockets"
-msgstr "版本庫 “%s†因缺少 Unix 通訊端而與 fsmonitor ä¸ç›¸å®¹"
+"socket directory '%s' is incompatible with fsmonitor due to lack of Unix "
+"sockets support"
+msgstr "通訊端 “%s†因缺少 Unix 通訊端支æ´ï¼Œè€Œèˆ‡ fsmonitor ä¸ç›¸å®¹"
#: git.c
msgid ""
@@ -19609,7 +19753,7 @@ msgstr ""
#: git.c help.c
#, c-format
msgid "unsupported command listing type '%s'"
-msgstr "䏿”¯æ´çš„æŒ‡ä»¤åˆ—表類型 '%s'"
+msgstr "䏿”¯æ´çš„命令列表類型 '%s'"
#: git.c
#, c-format
@@ -19958,8 +20102,8 @@ msgstr[0] ""
"最類似的指令有"
#: help.c
-msgid "git version [<options>]"
-msgstr "git version [<é¸é …>]"
+msgid "git version [--build-options]"
+msgstr "git version [--build-options]"
#: help.c
#, c-format
@@ -20642,8 +20786,8 @@ msgstr "拒絕éºå¤±æœªè¿½è¹¤æª”案 '%s',而是新增為 %s"
#: merge-recursive.c
#, c-format
msgid ""
-"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s"
-"\"->\"%s\" in \"%s\"%s"
+"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename "
+"\"%s\"->\"%s\" in \"%s\"%s"
msgstr ""
"è¡çªï¼ˆé‡æ–°å‘½å/釿–°å‘½å):在分支 \"%3$s\" 䏭釿–°å‘½å \"%1$s\"->\"%2$s\",在"
"分支 \"%6$s\" 䏭釿–°å‘½å \"%4$s\"->\"%5$s\"%7$s"
@@ -21033,11 +21177,6 @@ msgid "%s: ignoring alternate object stores, nesting too deep"
msgstr "%s:忽略備用物件庫,嵌套太深"
#: object-file.c
-#, c-format
-msgid "unable to normalize object directory: %s"
-msgstr "無法è¦ç¯„化物件目錄: %s"
-
-#: object-file.c
msgid "unable to fdopen alternates lockfile"
msgstr "無法 fdopen å–代鎖檔案"
@@ -22047,6 +22186,11 @@ msgstr "promisor-remote: 無法關閉 fetch å­è™•ç†ç¨‹åºçš„ stdin"
msgid "promisor remote name cannot begin with '/': %s"
msgstr "promisor é ç«¯å稱ä¸èƒ½ä»¥ '/' 開始:%s"
+#: promisor-remote.c
+#, c-format
+msgid "could not fetch %s from promisor remote"
+msgstr "無法從承諾者é ç«¯æŠ“å– %s"
+
#: protocol-caps.c
msgid "object-info: expected flush after arguments"
msgstr "object-infoï¼šå¼•æ•¸å¾Œé æœŸè¦æœ‰ flush"
@@ -23320,6 +23464,15 @@ msgstr "無法找到 %s 指å‘的樹"
#: revision.c
#, c-format
+msgid "unsupported section for hidden refs: %s"
+msgstr "䏿”¯æ´çš„éš±è—引用å€å¡Šï¼š%s"
+
+#: revision.c
+msgid "--exclude-hidden= passed more than once"
+msgstr "--exclude-hidden= å‚³å…¥äº†ä¸æ­¢ä¸€æ¬¡"
+
+#: revision.c
+#, c-format
msgid "resolve-undo records `%s` which is missing"
msgstr "resolve-undo ä¸å­˜åœ¨çš„「%sã€è¨˜éŒ„"
@@ -23505,6 +23658,16 @@ msgstr "--all 或 <enlistment> 但ä¸èƒ½å‚³å…¥å…©è€…"
#: scalar.c
#, c-format
+msgid "could not remove stale scalar.repo '%s'"
+msgstr "ç„¡æ³•ç§»é™¤éŽæ™‚çš„ scalar.repo “%sâ€"
+
+#: scalar.c
+#, c-format
+msgid "removing stale scalar.repo '%s'"
+msgstr "æ­£åœ¨ç§»é™¤éŽæ™‚çš„ scalar.repo “%sâ€"
+
+#: scalar.c
+#, c-format
msgid "git repository gone in '%s'"
msgstr "git 版本庫在「%sã€éºå¤±"
@@ -23636,7 +23799,7 @@ msgstr "摘å–"
#: sequencer.c
msgid "rebase"
-msgstr "rebase"
+msgstr "é‡å®šåŸºåº•"
#: sequencer.c
#, c-format
@@ -23710,7 +23873,7 @@ msgstr "您的本機修改將被%s覆蓋。"
#: sequencer.c
msgid "commit your changes or stash them to proceed."
-msgstr "æäº¤æ‚¨çš„修改或儲è—後å†ç¹¼çºŒã€‚"
+msgstr "æäº¤æ‚¨çš„修改或貯存後å†ç¹¼çºŒã€‚"
#. TRANSLATORS: %s will be "revert", "cherry-pick" or
#. "rebase".
@@ -24244,7 +24407,7 @@ msgid ""
msgstr ""
"執行æˆåŠŸï¼š%s\n"
"但是在索引和/或工作å€ä¸­å­˜åœ¨è®Šæ›´\n"
-"æäº¤æˆ–儲è—修改,然後執行\n"
+"æäº¤æˆ–貯存修改,然後執行\n"
"\n"
" git rebase --continue\n"
"\n"
@@ -24255,6 +24418,11 @@ msgid "illegal label name: '%.*s'"
msgstr "éžæ³•的標籤å稱:'%.*s'"
#: sequencer.c
+#, c-format
+msgid "could not resolve '%s'"
+msgstr "ç„¡æ³•è§£æž '%s'"
+
+#: sequencer.c
msgid "writing fake root commit"
msgstr "坫彿 ¹æäº¤"
@@ -24263,11 +24431,6 @@ msgid "writing squash-onto"
msgstr "寫入 squash-onto"
#: sequencer.c
-#, c-format
-msgid "could not resolve '%s'"
-msgstr "ç„¡æ³•è§£æž '%s'"
-
-#: sequencer.c
msgid "cannot merge without a current revision"
msgstr "沒有目å‰ç‰ˆæœ¬ä¸èƒ½åˆä½µ"
@@ -24364,16 +24527,16 @@ msgid ""
"You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
msgstr ""
"%s\n"
-"您的修改安全地儲存在儲è—å€ä¸­ã€‚\n"
+"您的修改安全地儲存在貯存å€ä¸­ã€‚\n"
"您å¯ä»¥åœ¨ä»»ä½•時候執行 \"git stash pop\" 或 \"git stash drop\"。\n"
#: sequencer.c
msgid "Applying autostash resulted in conflicts."
-msgstr "因套用自動儲è—而導致è¡çªã€‚"
+msgstr "因套用自動貯存而導致è¡çªã€‚"
#: sequencer.c
msgid "Autostash exists; creating a new stash entry."
-msgstr "已有自動儲è—;建立新儲è—項目。"
+msgstr "已有自動貯存;建立新貯存項目。"
#: sequencer.c
msgid "could not detach HEAD"
@@ -24778,7 +24941,7 @@ msgstr "submodule.fetchJobs ä¸å…許為負值"
#: submodule-config.c
#, c-format
msgid "ignoring '%s' which may be interpreted as a command-line option: %s"
-msgstr "忽略å¯èƒ½è¢«è§£æžç‚ºæŒ‡ä»¤åˆ—é¸é …çš„ '%s':%s"
+msgstr "忽略å¯èƒ½è¢«è§£æžç‚ºå‘½ä»¤åˆ—é¸é …çš„ '%s':%s"
#: submodule-config.c
#, c-format
@@ -24976,6 +25139,18 @@ msgstr "ls-tree 返回未知返回值 %d"
msgid "failed to lstat '%s'"
msgstr "無法 lstat “%sâ€"
+#: t/helper/test-cache-tree.c
+msgid "test-tool cache-tree <options> (control|prime|update)"
+msgstr "test-tool cache-tree <options> (control|prime|update)"
+
+#: t/helper/test-cache-tree.c
+msgid "clear the cache tree before each iteration"
+msgstr "æ¯æ¬¡è¿­ä»£å‰æ¸…é™¤å¿«å–æ¨¹ç‹€ç‰©ä»¶"
+
+#: t/helper/test-cache-tree.c
+msgid "number of entries in the cache tree to invalidate (default 0)"
+msgstr "åœ¨å¿«å–æ¨¹ç‹€ç‰©ä»¶ä¸­ï¼Œè¦ä½¿å¤±æ•ˆçš„項目數é‡ï¼ˆé è¨­å€¼ç‚º 0)"
+
#: t/helper/test-fast-rebase.c
msgid "unhandled options"
msgstr "未處ç†é¸é …"
@@ -25317,7 +25492,7 @@ msgstr "å°‡è¦è¨­å®š '%1$s' 的上游為 '%3$s' çš„ '%2$s'\n"
#: transport.c
#, c-format
msgid "could not read bundle '%s'"
-msgstr "無法讀å–「%sã€å¥—ä»¶"
+msgstr "無法讀å–「%sã€å¥—件包"
#: transport.c
#, c-format
@@ -25423,7 +25598,7 @@ msgid ""
"%%sPlease commit your changes or stash them before you switch branches."
msgstr ""
"您å°ä¸‹åˆ—檔案的本機修改將被簽出動作覆蓋:\n"
-"%%s請在切æ›åˆ†æ”¯å‰æäº¤æˆ–å„²è—æ‚¨çš„修改。"
+"%%s請在切æ›åˆ†æ”¯å‰æäº¤æˆ–貯存您的修改。"
#: unpack-trees.c
#, c-format
@@ -25441,7 +25616,7 @@ msgid ""
"%%sPlease commit your changes or stash them before you merge."
msgstr ""
"您å°ä¸‹åˆ—檔案的本機修改將被åˆä½µå‹•作覆蓋:\n"
-"%%s請在åˆä½µå‰æäº¤æˆ–å„²è—æ‚¨çš„修改。"
+"%%s請在åˆä½µå‰æäº¤æˆ–貯存您的修改。"
#: unpack-trees.c
#, c-format
@@ -25459,7 +25634,7 @@ msgid ""
"%%sPlease commit your changes or stash them before you %s."
msgstr ""
"您å°ä¸‹åˆ—檔案的本機修改將被 %s 覆蓋:\n"
-"%%s請在 %s ä¹‹å‰æäº¤æˆ–å„²è—æ‚¨çš„修改。"
+"%%s請在 %s ä¹‹å‰æäº¤æˆ–è²¯å­˜æ‚¨çš„ä¿®æ”¹ã€‚"
#: unpack-trees.c
#, c-format
@@ -25710,19 +25885,19 @@ msgstr "無效的 '..' 路徑å€å¡Š"
#: usage.c
msgid "usage: "
-msgstr "用法:"
+msgstr "用法: "
#: usage.c
msgid "fatal: "
-msgstr "致命錯誤:"
+msgstr "致命錯誤: "
#: usage.c
msgid "error: "
-msgstr "錯誤:"
+msgstr "錯誤: "
#: usage.c
msgid "warning: "
-msgstr "警告:"
+msgstr "警告: "
#: walker.c
msgid "Fetching objects"
@@ -26001,7 +26176,7 @@ msgstr "未追蹤的內容, "
#, c-format
msgid "Your stash currently has %d entry"
msgid_plural "Your stash currently has %d entries"
-msgstr[0] "您的儲è—å€ç›®å‰æœ‰ %d æ¢ç´€éŒ„"
+msgstr[0] "您的貯存å€ç›®å‰æœ‰ %d æ¢ç´€éŒ„"
#: wt-status.c
msgid "Submodules changed but not updated:"
@@ -26511,31 +26686,31 @@ msgstr[0] "建立了 %d 個路徑\n"
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be\n"
"marked for staging."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæš«å­˜ã€‚"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæš«å­˜ã€‚"
#: git-add--interactive.perl
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be\n"
"marked for stashing."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºå„²è—。"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºè²¯å­˜ã€‚"
#: git-add--interactive.perl
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be\n"
"marked for unstaging."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæœªæš«å­˜ã€‚"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæœªæš«å­˜ã€‚"
#: git-add--interactive.perl
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be\n"
"marked for applying."
-msgstr "如果修補檔能乾淨地套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºå¥—用。"
+msgstr "如果修補檔能完全套用,編輯å€å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºå¥—用。"
#: git-add--interactive.perl
msgid ""
"If the patch applies cleanly, the edited hunk will immediately be\n"
"marked for discarding."
-msgstr "å¦‚æžœä¿®è£œæª”èƒ½ä¹¾æ·¨åœ°å¥—ç”¨ï¼Œç·¨è¼¯å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæ¨æ£„。"
+msgstr "å¦‚æžœä¿®è£œæª”èƒ½å®Œå…¨å¥—ç”¨ï¼Œç·¨è¼¯å¡Šå°‡ç«‹å³æ¨™è¨˜ç‚ºæ¨æ£„。"
#: git-add--interactive.perl
#, perl-format
@@ -26582,11 +26757,11 @@ msgid ""
"a - stash this hunk and all later hunks in the file\n"
"d - do not stash this hunk or any of the later hunks in the file"
msgstr ""
-"y - å„²è—æ­¤å€å¡Š\n"
-"n - ä¸è¦å„²è—æ­¤å€å¡Š\n"
-"q - 離開。ä¸å„²è—æ­¤å€å¡ŠåŠå¾Œé¢çš„全部å€å¡Š\n"
-"a - å„²è—æ­¤å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š\n"
-"d - ä¸å„²è—æ­¤å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š"
+"y - 貯存此å€å¡Š\n"
+"n - ä¸è¦è²¯å­˜æ­¤å€å¡Š\n"
+"q - 離開。ä¸è²¯å­˜æ­¤å€å¡ŠåŠå¾Œé¢çš„全部å€å¡Š\n"
+"a - 貯存此å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š\n"
+"d - ä¸è²¯å­˜æ­¤å€å¡Šå’Œæœ¬æª”案中後é¢çš„全部å€å¡Š"
#: git-add--interactive.perl
msgid ""
@@ -26801,7 +26976,7 @@ msgstr "致命錯誤:命令「%sã€ä¸­æ­¢ï¼ŒçµæŸç¢¼ï¼š%d"
#: git-send-email.perl
msgid "the editor exited uncleanly, aborting everything"
-msgstr "ç·¨è¼¯å™¨éžæ­£å¸¸é›¢é–‹ï¼Œçµ‚止所有動作"
+msgstr "ç·¨è¼¯å™¨éžæ­£å¸¸é›¢é–‹ï¼Œä¸­æ­¢æ‰€æœ‰å‹•作"
#: git-send-email.perl
#, perl-format
@@ -26836,7 +27011,7 @@ msgstr "ä¸èƒ½åœ¨ç‰ˆæœ¬åº«ä¹‹å¤–執行 git format-patch\n"
msgid ""
"`batch-size` and `relogin` must be specified together (via command-line or "
"configuration option)\n"
-msgstr "`batch-size` å’Œ `relogin` å¿…é ˆåŒæ™‚定義(é€éŽæŒ‡ä»¤åˆ—或者設定é¸é …)\n"
+msgstr "`batch-size` å’Œ `relogin` å¿…é ˆåŒæ™‚定義(é€éŽå‘½ä»¤åˆ—或者設定é¸é …)\n"
#: git-send-email.perl
#, perl-format
@@ -27158,3 +27333,147 @@ msgstr "ç•¥éŽ %s å«å‚™ä»½å¾Œç¶´ '%s'。\n"
#, perl-format
msgid "Do you really want to send %s? [y|N]: "
msgstr "您真的è¦å‚³é€ %s?[y|N]: "
+
+#, c-format
+#~ msgid "unable to normalize object directory: %s"
+#~ msgstr "無法è¦ç¯„化物件目錄: %s"
+
+#~ msgid "reset the bisection state"
+#~ msgstr "清除二分æœå°‹ç‹€æ…‹"
+
+#~ msgid "check whether bad or good terms exist"
+#~ msgstr "檢查壞的或好的術語是å¦å­˜åœ¨"
+
+#~ msgid "print out the bisect terms"
+#~ msgstr "列å°äºŒåˆ†æœå°‹è¡“語"
+
+#~ msgid "start the bisect session"
+#~ msgstr "啟動二分æœå°‹éŽç¨‹"
+
+#~ msgid "find the next bisection commit"
+#~ msgstr "尋找下一個二分æœå°‹æäº¤"
+
+#~ msgid "mark the state of ref (or refs)"
+#~ msgstr "標記 ref (或 refs) 的狀態"
+
+#~ msgid "list the bisection steps so far"
+#~ msgstr "列出迄今的二分æœå°‹æ­¥é©Ÿ"
+
+#~ msgid "replay the bisection process from the given file"
+#~ msgstr "å¾žæŒ‡å®šæª”æ¡ˆé‡æ”¾äºŒåˆ†æœå°‹éŽç¨‹"
+
+#~ msgid "skip some commits for checkout"
+#~ msgstr "ç•¥éŽè¦ç°½å‡ºçš„部分æäº¤"
+
+#~ msgid "visualize the bisection"
+#~ msgstr "視覺化二分æœå°‹éŽç¨‹"
+
+#~ msgid "use <cmd>... to automatically bisect"
+#~ msgstr "使用 <cmd>... 自動進行二分æœå°‹"
+
+#~ msgid "no log for BISECT_WRITE"
+#~ msgstr "BISECT_WRITE 無日誌"
+
+#~ msgid "Couldn't look up commit object for HEAD"
+#~ msgstr "無法查詢 HEAD 指å‘çš„æäº¤ç‰©ä»¶"
+
+#~ msgid "git bundle create [<options>] <file> <git-rev-list args>"
+#~ msgstr "git bundle create [<é¸é …>] <檔案> <git-rev-list åƒæ•¸>"
+
+#, c-format
+#~ msgid "options '%s' and '%s %s' cannot be used together"
+#~ msgstr "「%sã€å’Œã€Œ%s %sã€é¸é …ä¸å¾—åŒæ™‚使用"
+
+#~ msgid "git commit [<options>] [--] <pathspec>..."
+#~ msgstr "git commit [<é¸é …>] [--] <è·¯å¾‘è¦æ ¼>..."
+
+#~ msgid "git fsck [<options>] [<object>...]"
+#~ msgstr "git fsck [<é¸é …>] [<物件>...]"
+
+#~ msgid "git fsmonitor--daemon stop"
+#~ msgstr "git fsmonitor--daemon stop"
+
+#~ msgid "git fsmonitor--daemon status"
+#~ msgstr "git fsmonitor--daemon status"
+
+#~ msgid "failed to run 'git config'"
+#~ msgstr "無法執行 ‘git config’"
+
+#, c-format
+#~ msgid "could not get 'onto': '%s'"
+#~ msgstr "無法å–å¾— 'onto':'%s'"
+
+#~ msgid "Could not resolve HEAD to a revision"
+#~ msgstr "無法將 HEAD è§£æžç‚ºä¸€å€‹ç‰ˆæœ¬"
+
+#, c-format
+#~ msgid "missing required file: %s"
+#~ msgstr "ç¼ºå°‘å¿…è¦æª”案:%s"
+
+#~ msgid "git revert [<options>] <commit-ish>..."
+#~ msgstr "git revert [<é¸é …>] <æäº¤è™Ÿ>..."
+
+#~ msgid "git revert <subcommand>"
+#~ msgstr "git revert <å­æŒ‡ä»¤>"
+
+#~ msgid "git cherry-pick [<options>] <commit-ish>..."
+#~ msgstr "git cherry-pick [<é¸é …>] <æäº¤è™Ÿ>..."
+
+#~ msgid "git cherry-pick <subcommand>"
+#~ msgstr "git cherry-pick <å­æŒ‡ä»¤>"
+
+#~ msgid "git rm [<options>] [--] <file>..."
+#~ msgstr "git rm [<é¸é …>] [--] <檔案>..."
+
+#~ msgid "using --group=trailer with stdin is not supported"
+#~ msgstr "䏿”¯æ´åœ¨æ¨™æº–輸入使用 --group=trailer"
+
+#~ msgid "git stash show [<options>] [<stash>]"
+#~ msgstr "git stash show [<é¸é …>] [<stash>]"
+
+#~ msgid "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+#~ msgstr "git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]"
+
+#~ msgid ""
+#~ "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
+#~ " [--] [<pathspec>...]]"
+#~ msgstr ""
+#~ "git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [-m|--message <消æ¯>]\n"
+#~ " [--] [<è·¯å¾‘è¦æ ¼>...]]"
+
+#~ msgid ""
+#~ "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [<message>]"
+#~ msgstr ""
+#~ "git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
+#~ " [-u|--include-untracked] [-a|--all] [<消æ¯>]"
+
+#~ msgid "path into the working tree"
+#~ msgstr "到工作å€çš„路徑"
+
+#~ msgid "recurse into submodules"
+#~ msgstr "åœ¨å­æ¨¡çµ„中éžè¿´"
+
+#~ msgid "check if it is safe to write to the .gitmodules file"
+#~ msgstr "檢查寫入 .gitmodules 檔案是å¦å®‰å…¨"
+
+#~ msgid "unset the config in the .gitmodules file"
+#~ msgstr "å–æ¶ˆ .gitmodules 檔案中的設定"
+
+#~ msgid "git submodule--helper config --unset <name>"
+#~ msgstr "git submodule--helper config --unset <å稱>"
+
+#, c-format
+#~ msgid "'%s' is not a valid submodule--helper subcommand"
+#~ msgstr "'%s' 䏿˜¯ä¸€å€‹æœ‰æ•ˆçš„ submodule--helper å­æŒ‡ä»¤"
+
+#~ msgid "git upload-pack [<options>] <dir>"
+#~ msgstr "git upload-pack [<é¸é …>] <目錄>"
+
+#~ msgid "git worktree add [<options>] <path> [<commit-ish>]"
+#~ msgstr "git worktree add [<é¸é …>] <路徑> [<æäº¤>]"
+
+#~ msgid "git worktree lock [<options>] <path>"
+#~ msgstr "git worktree lock [<é¸é …>] <路徑>"
diff --git a/read-cache.c b/read-cache.c
index 3202402927..1ff518b2a7 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -2531,7 +2531,7 @@ int is_index_unborn(struct index_state *istate)
return (!istate->cache_nr && !istate->timestamp.sec);
}
-int discard_index(struct index_state *istate)
+void discard_index(struct index_state *istate)
{
/*
* Cache entries in istate->cache[] should have been allocated
@@ -2558,12 +2558,15 @@ int discard_index(struct index_state *istate)
free_untracked_cache(istate->untracked);
istate->untracked = NULL;
+ if (istate->sparse_checkout_patterns) {
+ clear_pattern_list(istate->sparse_checkout_patterns);
+ FREE_AND_NULL(istate->sparse_checkout_patterns);
+ }
+
if (istate->ce_mem_pool) {
mem_pool_discard(istate->ce_mem_pool, should_validate_cache_entries());
FREE_AND_NULL(istate->ce_mem_pool);
}
-
- return 0;
}
/*
diff --git a/ref-filter.c b/ref-filter.c
index 9dc2cd1451..caf10ab23e 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -1358,6 +1358,7 @@ static void find_subpos(const char *buf,
/* parse signature first; we might not even have a subject line */
parse_signature(buf, end - buf, &payload, &signature);
+ strbuf_release(&payload);
/* skip past header until we hit empty line */
while (*buf && *buf != '\n') {
diff --git a/repository.c b/repository.c
index 5d166b692c..3427085fd6 100644
--- a/repository.c
+++ b/repository.c
@@ -2,7 +2,7 @@
* not really _using_ the compat macros, just make sure the_index
* declaration matches the definition in this file.
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "cache.h"
#include "repository.h"
#include "object-store.h"
diff --git a/revision.c b/revision.c
index 439e34a7c5..c86e76e471 100644
--- a/revision.c
+++ b/revision.c
@@ -3054,6 +3054,7 @@ void release_revisions(struct rev_info *revs)
date_mode_release(&revs->date_mode);
release_revisions_mailmap(revs->mailmap);
free_grep_patterns(&revs->grep_filter);
+ graph_clear(revs->graph);
/* TODO (need to handle "no_free"): diff_free(&revs->diffopt) */
diff_free(&revs->pruning);
reflog_walk_info_release(revs->reflog_info);
diff --git a/run-command.c b/run-command.c
index 48b9ba6d6f..756f1839aa 100644
--- a/run-command.c
+++ b/run-command.c
@@ -1019,7 +1019,7 @@ static void *run_thread(void *data)
sigset_t mask;
sigemptyset(&mask);
sigaddset(&mask, SIGPIPE);
- if (pthread_sigmask(SIG_BLOCK, &mask, NULL) < 0) {
+ if (pthread_sigmask(SIG_BLOCK, &mask, NULL)) {
ret = error("unable to block SIGPIPE in async thread");
return (void *)ret;
}
diff --git a/sequencer.c b/sequencer.c
index 54ec90434d..dbd56121e2 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -2897,6 +2897,7 @@ static void read_strategy_opts(struct replay_opts *opts, struct strbuf *buf)
strbuf_reset(buf);
if (!read_oneliner(buf, rebase_path_strategy(), 0))
return;
+ free(opts->strategy);
opts->strategy = strbuf_detach(buf, NULL);
if (!read_oneliner(buf, rebase_path_strategy_opts(), 0))
return;
@@ -3567,7 +3568,8 @@ static int do_exec(struct repository *r, const char *command_line)
status = run_command(&cmd);
/* force re-reading of the cache */
- if (discard_index(r->index) < 0 || repo_read_index(r) < 0)
+ discard_index(r->index);
+ if (repo_read_index(r) < 0)
return error(_("could not read index"));
dirty = require_clean_work_tree(r, "rebase", NULL, 1, 1);
@@ -4046,9 +4048,11 @@ static int do_merge(struct repository *r,
ret = run_command(&cmd);
/* force re-reading of the cache */
- if (!ret && (discard_index(r->index) < 0 ||
- repo_read_index(r) < 0))
- ret = error(_("could not read index"));
+ if (!ret) {
+ discard_index(r->index);
+ if (repo_read_index(r) < 0)
+ ret = error(_("could not read index"));
+ }
goto leave_merge;
}
@@ -4421,8 +4425,8 @@ void create_autostash(struct repository *r, const char *path)
printf(_("Created autostash: %s\n"), buf.buf);
if (reset_head(r, &ropts) < 0)
die(_("could not reset --hard"));
- if (discard_index(r->index) < 0 ||
- repo_read_index(r) < 0)
+ discard_index(r->index);
+ if (repo_read_index(r) < 0)
die(_("could not read index"));
}
strbuf_release(&buf);
diff --git a/shared.mak b/shared.mak
index be1f30ff20..aeb80fc4d5 100644
--- a/shared.mak
+++ b/shared.mak
@@ -37,13 +37,13 @@ space := $(empty) $(empty)
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
QUIET_SUBDIR1 =
-ifneq ($(findstring w,$(MAKEFLAGS)),w)
+ifneq ($(findstring w,$(firstword -$(MAKEFLAGS))),w)
PRINT_DIR = --no-print-directory
else # "make -w"
NO_SUBDIR = :
endif
-ifneq ($(findstring s,$(MAKEFLAGS)),s)
+ifneq ($(findstring s,$(firstword -$(MAKEFLAGS))),s)
ifndef V
## common
QUIET_SUBDIR0 = +@subdir=
diff --git a/t/chainlint.pl b/t/chainlint.pl
index 4e47e808d0..e966412999 100755
--- a/t/chainlint.pl
+++ b/t/chainlint.pl
@@ -709,7 +709,7 @@ sub ncores {
# Windows
return $ENV{NUMBER_OF_PROCESSORS} if exists($ENV{NUMBER_OF_PROCESSORS});
# Linux / MSYS2 / Cygwin / WSL
- do { local @ARGV='/proc/cpuinfo'; return scalar(grep(/^processor\s*:/, <>)); } if -r '/proc/cpuinfo';
+ do { local @ARGV='/proc/cpuinfo'; return scalar(grep(/^processor[\s\d]*:/, <>)); } if -r '/proc/cpuinfo';
# macOS & BSD
return qx/sysctl -n hw.ncpu/ if $^O =~ /(?:^darwin$|bsd)/;
return 1;
diff --git a/t/helper/test-cache-tree.c b/t/helper/test-cache-tree.c
index 93051b25f5..9159a17301 100644
--- a/t/helper/test-cache-tree.c
+++ b/t/helper/test-cache-tree.c
@@ -1,3 +1,4 @@
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "tree.h"
@@ -30,7 +31,7 @@ int cmd__cache_tree(int argc, const char **argv)
argc = parse_options(argc, argv, NULL, options, test_cache_tree_usage, 0);
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die(_("unable to read index file"));
oidcpy(&oid, &the_index.cache_tree->oid);
diff --git a/t/helper/test-dump-cache-tree.c b/t/helper/test-dump-cache-tree.c
index 0d6d7f1ecb..454f17b1a0 100644
--- a/t/helper/test-dump-cache-tree.c
+++ b/t/helper/test-dump-cache-tree.c
@@ -1,3 +1,4 @@
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "tree.h"
@@ -62,12 +63,12 @@ int cmd__dump_cache_tree(int ac, const char **av)
int ret;
setup_git_directory();
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die("unable to read index file");
istate = the_index;
istate.cache_tree = another;
cache_tree_update(&istate, WRITE_TREE_DRY_RUN);
- ret = dump_cache_tree(active_cache_tree, another, "");
+ ret = dump_cache_tree(the_index.cache_tree, another, "");
cache_tree_free(&another);
return ret;
diff --git a/t/helper/test-dump-split-index.c b/t/helper/test-dump-split-index.c
index a209880eb3..0ea97b8407 100644
--- a/t/helper/test-dump-split-index.c
+++ b/t/helper/test-dump-split-index.c
@@ -1,3 +1,4 @@
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "split-index.h"
diff --git a/t/helper/test-dump-untracked-cache.c b/t/helper/test-dump-untracked-cache.c
index 99010614f6..6d53683f13 100644
--- a/t/helper/test-dump-untracked-cache.c
+++ b/t/helper/test-dump-untracked-cache.c
@@ -1,4 +1,4 @@
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "dir.h"
@@ -51,7 +51,7 @@ int cmd__dump_untracked_cache(int ac, const char **av)
xsetenv("GIT_CONFIG_VALUE_0", "keep", 1);
setup_git_directory();
- if (read_cache() < 0)
+ if (repo_read_index(the_repository) < 0)
die("unable to read index file");
uc = the_index.untracked;
if (!uc) {
diff --git a/t/helper/test-fake-ssh.c b/t/helper/test-fake-ssh.c
index 2e576bcc11..27323cb367 100644
--- a/t/helper/test-fake-ssh.c
+++ b/t/helper/test-fake-ssh.c
@@ -17,6 +17,7 @@ int cmd_main(int argc, const char **argv)
f = fopen(buf.buf, "w");
if (!f)
die("Could not write to %s", buf.buf);
+ strbuf_release(&buf);
for (i = 0; i < argc; i++)
fprintf(f, "%s%s", i > 0 ? " " : "", i > 0 ? argv[i] : "ssh:");
fprintf(f, "\n");
diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c
index 45665ec19a..efc82dd80c 100644
--- a/t/helper/test-fast-rebase.c
+++ b/t/helper/test-fast-rebase.c
@@ -10,7 +10,7 @@
* refactoring is the better route).
*/
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache-tree.h"
@@ -123,7 +123,7 @@ int cmd__fast_rebase(int argc, const char **argv)
die(_("Cannot read HEAD"));
assert(oideq(&onto->object.oid, &head));
- hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &lock, LOCK_DIE_ON_ERROR);
if (repo_read_index(the_repository) < 0)
BUG("Could not read index");
diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c
index cd1b4c9736..ab86c14c8b 100644
--- a/t/helper/test-lazy-init-name-hash.c
+++ b/t/helper/test-lazy-init-name-hash.c
@@ -1,3 +1,4 @@
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "parse-options.h"
@@ -32,7 +33,7 @@ static void dump_run(void)
struct dir_entry *dir;
struct cache_entry *ce;
- read_cache();
+ repo_read_index(the_repository);
if (single) {
test_lazy_init_name_hash(&the_index, 0);
} else {
@@ -49,7 +50,7 @@ static void dump_run(void)
ent /* member name */)
printf("name %08x %s\n", ce->ent.hash, ce->name);
- discard_cache();
+ discard_index(&the_index);
}
/*
@@ -66,7 +67,7 @@ static uint64_t time_runs(int try_threaded)
for (i = 0; i < count; i++) {
t0 = getnanotime();
- read_cache();
+ repo_read_index(the_repository);
t1 = getnanotime();
nr_threads_used = test_lazy_init_name_hash(&the_index, try_threaded);
t2 = getnanotime();
@@ -89,7 +90,7 @@ static uint64_t time_runs(int try_threaded)
the_index.cache_nr);
fflush(stdout);
- discard_cache();
+ discard_index(&the_index);
}
avg = sum / count;
@@ -113,9 +114,9 @@ static void analyze_run(void)
int i;
int nr;
- read_cache();
+ repo_read_index(the_repository);
cache_nr_limit = the_index.cache_nr;
- discard_cache();
+ discard_index(&the_index);
nr = analyze;
while (1) {
@@ -128,23 +129,23 @@ static void analyze_run(void)
nr = cache_nr_limit;
for (i = 0; i < count; i++) {
- read_cache();
+ repo_read_index(the_repository);
the_index.cache_nr = nr; /* cheap truncate of index */
t1s = getnanotime();
test_lazy_init_name_hash(&the_index, 0);
t2s = getnanotime();
sum_single += (t2s - t1s);
the_index.cache_nr = cache_nr_limit;
- discard_cache();
+ discard_index(&the_index);
- read_cache();
+ repo_read_index(the_repository);
the_index.cache_nr = nr; /* cheap truncate of index */
t1m = getnanotime();
nr_threads_used = test_lazy_init_name_hash(&the_index, 1);
t2m = getnanotime();
sum_multi += (t2m - t1m);
the_index.cache_nr = cache_nr_limit;
- discard_cache();
+ discard_index(&the_index);
if (!nr_threads_used)
printf(" [size %8d] [single %f] non-threaded code path used\n",
diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c
index b736ef1642..23e9e27109 100644
--- a/t/helper/test-read-cache.c
+++ b/t/helper/test-read-cache.c
@@ -1,3 +1,4 @@
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "config.h"
@@ -20,7 +21,7 @@ int cmd__read_cache(int argc, const char **argv)
git_config(git_default_config, NULL);
for (i = 0; i < cnt; i++) {
- read_cache();
+ repo_read_index(the_repository);
if (name) {
int pos;
@@ -33,7 +34,7 @@ int cmd__read_cache(int argc, const char **argv)
ce_uptodate(the_index.cache[pos]) ? "" : " not");
write_file(name, "%d\n", i);
}
- discard_cache();
+ discard_index(&the_index);
}
return 0;
}
diff --git a/t/helper/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c
index 026c802479..a26107ed70 100644
--- a/t/helper/test-scrap-cache-tree.c
+++ b/t/helper/test-scrap-cache-tree.c
@@ -1,3 +1,4 @@
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "lockfile.h"
@@ -9,11 +10,11 @@ int cmd__scrap_cache_tree(int ac, const char **av)
struct lock_file index_lock = LOCK_INIT;
setup_git_directory();
- hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
- if (read_cache() < 0)
+ repo_hold_locked_index(the_repository, &index_lock, LOCK_DIE_ON_ERROR);
+ if (repo_read_index(the_repository) < 0)
die("unable to read index file");
- cache_tree_free(&active_cache_tree);
- active_cache_tree = NULL;
+ cache_tree_free(&the_index.cache_tree);
+ the_index.cache_tree = NULL;
if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
die("unable to write index file");
return 0;
diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h
index da7cd6351a..2e20a16eb8 100644
--- a/t/helper/test-tool.h
+++ b/t/helper/test-tool.h
@@ -1,7 +1,6 @@
#ifndef TEST_TOOL_H
#define TEST_TOOL_H
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
#include "git-compat-util.h"
int cmd__advise_if_enabled(int argc, const char **argv);
diff --git a/t/helper/test-write-cache.c b/t/helper/test-write-cache.c
index 8837717d36..7d45cd61e8 100644
--- a/t/helper/test-write-cache.c
+++ b/t/helper/test-write-cache.c
@@ -1,3 +1,4 @@
+#define USE_THE_INDEX_VARIABLE
#include "test-tool.h"
#include "cache.h"
#include "lockfile.h"
@@ -9,9 +10,10 @@ int cmd__write_cache(int argc, const char **argv)
if (argc == 2)
cnt = strtol(argv[1], NULL, 0);
setup_git_directory();
- read_cache();
+ repo_read_index(the_repository);
for (i = 0; i < cnt; i++) {
- hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+ repo_hold_locked_index(the_repository, &index_lock,
+ LOCK_DIE_ON_ERROR);
if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
die("unable to write index file");
}
diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh
index ba9fe36772..608949ea80 100644
--- a/t/lib-httpd.sh
+++ b/t/lib-httpd.sh
@@ -65,7 +65,8 @@ done
for DEFAULT_HTTPD_MODULE_PATH in '/usr/libexec/apache2' \
'/usr/lib/apache2/modules' \
'/usr/lib64/httpd/modules' \
- '/usr/lib/httpd/modules'
+ '/usr/lib/httpd/modules' \
+ '/usr/libexec/httpd'
do
if test -d "$DEFAULT_HTTPD_MODULE_PATH"
then
diff --git a/t/t0007-git-var.sh b/t/t0007-git-var.sh
index e56f4b9ac5..433d242897 100755
--- a/t/t0007-git-var.sh
+++ b/t/t0007-git-var.sh
@@ -5,6 +5,12 @@ test_description='basic sanity checks for git var'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
+sane_unset_all_editors () {
+ sane_unset GIT_EDITOR &&
+ sane_unset VISUAL &&
+ sane_unset EDITOR
+}
+
test_expect_success 'get GIT_AUTHOR_IDENT' '
test_tick &&
echo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> $GIT_AUTHOR_DATE" >expect &&
@@ -47,6 +53,62 @@ test_expect_success 'get GIT_DEFAULT_BRANCH with configuration' '
)
'
+test_expect_success 'get GIT_EDITOR without configuration' '
+ (
+ sane_unset_all_editors &&
+ test_expect_code 1 git var GIT_EDITOR >out &&
+ test_must_be_empty out
+ )
+'
+
+test_expect_success 'get GIT_EDITOR with configuration' '
+ test_config core.editor foo &&
+ (
+ sane_unset_all_editors &&
+ echo foo >expect &&
+ git var GIT_EDITOR >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'get GIT_EDITOR with environment variable GIT_EDITOR' '
+ (
+ sane_unset_all_editors &&
+ echo bar >expect &&
+ GIT_EDITOR=bar git var GIT_EDITOR >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'get GIT_EDITOR with environment variable EDITOR' '
+ (
+ sane_unset_all_editors &&
+ echo bar >expect &&
+ EDITOR=bar git var GIT_EDITOR >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'get GIT_EDITOR with configuration and environment variable GIT_EDITOR' '
+ test_config core.editor foo &&
+ (
+ sane_unset_all_editors &&
+ echo bar >expect &&
+ GIT_EDITOR=bar git var GIT_EDITOR >actual &&
+ test_cmp expect actual
+ )
+'
+
+test_expect_success 'get GIT_EDITOR with configuration and environment variable EDITOR' '
+ test_config core.editor foo &&
+ (
+ sane_unset_all_editors &&
+ echo foo >expect &&
+ EDITOR=bar git var GIT_EDITOR >actual &&
+ test_cmp expect actual
+ )
+'
+
# For git var -l, we check only a representative variable;
# testing the whole output would make our test too brittle with
# respect to unrelated changes in the test suite's environment.
diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh
index abecd75e4e..46abbeed68 100755
--- a/t/t0021-conversion.sh
+++ b/t/t0021-conversion.sh
@@ -8,8 +8,8 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
-TEST_ROOT="$PWD"
-PATH=$TEST_ROOT:$PATH
+PATH=$PWD:$PATH
+TEST_ROOT="$(pwd)"
write_script <<\EOF "$TEST_ROOT/rot13.sh"
tr \
diff --git a/t/t0040-parse-options.sh b/t/t0040-parse-options.sh
index 5cc62306e3..7d7ecfd571 100755
--- a/t/t0040-parse-options.sh
+++ b/t/t0040-parse-options.sh
@@ -709,4 +709,16 @@ test_expect_success 'subcommands are incompatible with KEEP_DASHDASH unless in c
grep ^BUG err
'
+test_expect_success 'negative magnitude' '
+ test_must_fail test-tool parse-options --magnitude -1 >out 2>err &&
+ grep "non-negative integer" err &&
+ test_must_be_empty out
+'
+
+test_expect_success 'magnitude with units but no numbers' '
+ test_must_fail test-tool parse-options --magnitude m >out 2>err &&
+ grep "non-negative integer" err &&
+ test_must_be_empty out
+'
+
test_done
diff --git a/t/t0068-for-each-repo.sh b/t/t0068-for-each-repo.sh
index c6e0d65563..3648d439a8 100755
--- a/t/t0068-for-each-repo.sh
+++ b/t/t0068-for-each-repo.sh
@@ -2,6 +2,7 @@
test_description='git for-each-repo builtin'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'run based on configured value' '
diff --git a/t/t0070-fundamental.sh b/t/t0070-fundamental.sh
index 8d59905ef0..574de34198 100755
--- a/t/t0070-fundamental.sh
+++ b/t/t0070-fundamental.sh
@@ -6,6 +6,7 @@ test_description='check that the most basic functions work
Verify wrappers and compatibility functions.
'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'character classes (isspace, isalpha etc.)' '
diff --git a/t/t0211-trace2-perf.sh b/t/t0211-trace2-perf.sh
index 0b3436e8ca..b4e9135118 100755
--- a/t/t0211-trace2-perf.sh
+++ b/t/t0211-trace2-perf.sh
@@ -203,7 +203,7 @@ test_expect_success 'stopwatch timer test/test1' '
have_timer_event "main" "timer" "test" "test1" 5 actual
'
-test_expect_success 'stopwatch timer test/test2' '
+test_expect_success PTHREAD 'stopwatch timer test/test2' '
test_when_finished "rm trace.perf actual" &&
test_config_global trace2.perfBrief 1 &&
test_config_global trace2.perfTarget "$(pwd)/trace.perf" &&
@@ -249,7 +249,7 @@ test_expect_success 'global counter test/test1' '
have_counter_event "main" "counter" "test" "test1" 15 actual
'
-test_expect_success 'global counter test/test2' '
+test_expect_success PTHREAD 'global counter test/test2' '
test_when_finished "rm trace.perf actual" &&
test_config_global trace2.perfBrief 1 &&
test_config_global trace2.perfTarget "$(pwd)/trace.perf" &&
diff --git a/t/t1011-read-tree-sparse-checkout.sh b/t/t1011-read-tree-sparse-checkout.sh
index 742f0fa909..595b24c0ad 100755
--- a/t/t1011-read-tree-sparse-checkout.sh
+++ b/t/t1011-read-tree-sparse-checkout.sh
@@ -12,6 +12,7 @@ test_description='sparse checkout tests
'
TEST_CREATE_REPO_NO_TEMPLATE=1
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-read-tree.sh
diff --git a/t/t1022-read-tree-partial-clone.sh b/t/t1022-read-tree-partial-clone.sh
index da53971635..cca4380e43 100755
--- a/t/t1022-read-tree-partial-clone.sh
+++ b/t/t1022-read-tree-partial-clone.sh
@@ -3,7 +3,7 @@
test_description='git read-tree in partial clones'
TEST_NO_CREATE_REPO=1
-
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'read-tree in partial clone prefetches in one batch' '
diff --git a/t/t1050-large.sh b/t/t1050-large.sh
index 4f3aa17c99..c71932b024 100755
--- a/t/t1050-large.sh
+++ b/t/t1050-large.sh
@@ -5,6 +5,12 @@ test_description='adding and checking out large blobs'
. ./test-lib.sh
+test_expect_success 'core.bigFileThreshold must be non-negative' '
+ test_must_fail git -c core.bigFileThreshold=-1 rev-parse >out 2>err &&
+ grep "bad numeric config value" err &&
+ test_must_be_empty out
+'
+
test_expect_success setup '
# clone does not allow us to pass core.bigfilethreshold to
# new repos, so set core.bigfilethreshold globally
diff --git a/t/t1300-config.sh b/t/t1300-config.sh
index c6661e61af..2575279ab8 100755
--- a/t/t1300-config.sh
+++ b/t/t1300-config.sh
@@ -2228,6 +2228,12 @@ test_expect_success '--type rejects unknown specifiers' '
test_i18ngrep "unrecognized --type argument" error
'
+test_expect_success '--type=int requires at least one digit' '
+ test_must_fail git config --type int --default m some.key >out 2>error &&
+ grep "bad numeric config value" error &&
+ test_must_be_empty out
+'
+
test_expect_success '--replace-all does not invent newlines' '
q_to_tab >.git/config <<-\EOF &&
[abc]key
diff --git a/t/t1404-update-ref-errors.sh b/t/t1404-update-ref-errors.sh
index 13c2b43bba..b5606d93b5 100755
--- a/t/t1404-update-ref-errors.sh
+++ b/t/t1404-update-ref-errors.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='Test git update-ref error handling'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# Create some references, perhaps run pack-refs --all, then try to
diff --git a/t/t1409-avoid-packing-refs.sh b/t/t1409-avoid-packing-refs.sh
index be12fb6350..f23c0152a8 100755
--- a/t/t1409-avoid-packing-refs.sh
+++ b/t/t1409-avoid-packing-refs.sh
@@ -2,6 +2,7 @@
test_description='avoid rewriting packed-refs unnecessarily'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# Add an identifying mark to the packed-refs file header line. This
diff --git a/t/t1413-reflog-detach.sh b/t/t1413-reflog-detach.sh
index 934688a1ee..d2a4822d46 100755
--- a/t/t1413-reflog-detach.sh
+++ b/t/t1413-reflog-detach.sh
@@ -4,6 +4,7 @@ test_description='Test reflog interaction with detached HEAD'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
reset_state () {
diff --git a/t/t1501-work-tree.sh b/t/t1501-work-tree.sh
index b75558040f..ae6528aece 100755
--- a/t/t1501-work-tree.sh
+++ b/t/t1501-work-tree.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='test separate work tree'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t2012-checkout-last.sh b/t/t2012-checkout-last.sh
index 1f6c4ed042..4b6372f4c3 100755
--- a/t/t2012-checkout-last.sh
+++ b/t/t2012-checkout-last.sh
@@ -5,6 +5,7 @@ test_description='checkout can switch to last branch and merge base'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t2018-checkout-branch.sh b/t/t2018-checkout-branch.sh
index 771c3c3c50..8581ad3437 100755
--- a/t/t2018-checkout-branch.sh
+++ b/t/t2018-checkout-branch.sh
@@ -3,6 +3,7 @@
test_description='checkout'
TEST_CREATE_REPO_NO_TEMPLATE=1
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# Arguments: [!] <branch> <oid> [<checkout options>]
diff --git a/t/t2025-checkout-no-overlay.sh b/t/t2025-checkout-no-overlay.sh
index 8f13341cf8..3832c3de81 100755
--- a/t/t2025-checkout-no-overlay.sh
+++ b/t/t2025-checkout-no-overlay.sh
@@ -2,6 +2,7 @@
test_description='checkout --no-overlay <tree-ish> -- <pathspec>'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t3009-ls-files-others-nonsubmodule.sh b/t/t3009-ls-files-others-nonsubmodule.sh
index 963f3462b7..14218b3424 100755
--- a/t/t3009-ls-files-others-nonsubmodule.sh
+++ b/t/t3009-ls-files-others-nonsubmodule.sh
@@ -18,6 +18,7 @@ This test runs git ls-files --others with the following working tree:
git repository with a commit and an untracked file
'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup: directories' '
diff --git a/t/t3010-ls-files-killed-modified.sh b/t/t3010-ls-files-killed-modified.sh
index 580e158f99..054178703d 100755
--- a/t/t3010-ls-files-killed-modified.sh
+++ b/t/t3010-ls-files-killed-modified.sh
@@ -41,6 +41,8 @@ Also for modification test, the cache and working tree have:
We should report path0, path1, path2/file2, path3/file3, path7 and path8
modified without reporting path9 and path10. submod1 is also modified.
'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'git update-index --add to add various paths.' '
diff --git a/t/t3050-subprojects-fetch.sh b/t/t3050-subprojects-fetch.sh
index f1f09abdd9..3884694165 100755
--- a/t/t3050-subprojects-fetch.sh
+++ b/t/t3050-subprojects-fetch.sh
@@ -2,6 +2,7 @@
test_description='fetching and pushing project with subproject'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success setup '
diff --git a/t/t3060-ls-files-with-tree.sh b/t/t3060-ls-files-with-tree.sh
index 52f76f7b57..c4a72ae446 100755
--- a/t/t3060-ls-files-with-tree.sh
+++ b/t/t3060-ls-files-with-tree.sh
@@ -8,6 +8,8 @@ test_description='git ls-files test (--with-tree).
This test runs git ls-files --with-tree and in particular in
a scenario known to trigger a crash with some versions of git.
'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t3409-rebase-environ.sh b/t/t3409-rebase-environ.sh
index 83ffb39d9f..acaf5558db 100755
--- a/t/t3409-rebase-environ.sh
+++ b/t/t3409-rebase-environ.sh
@@ -2,6 +2,7 @@
test_description='git rebase interactive environment'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t3413-rebase-hook.sh b/t/t3413-rebase-hook.sh
index 9fab0d779b..e8456831e8 100755
--- a/t/t3413-rebase-hook.sh
+++ b/t/t3413-rebase-hook.sh
@@ -5,6 +5,7 @@ test_description='git rebase with its hook(s)'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success setup '
diff --git a/t/t3428-rebase-signoff.sh b/t/t3428-rebase-signoff.sh
index f6993b7e14..e1b1e94764 100755
--- a/t/t3428-rebase-signoff.sh
+++ b/t/t3428-rebase-signoff.sh
@@ -5,6 +5,7 @@ test_description='git rebase --signoff
This test runs git rebase --signoff and make sure that it works.
'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# A simple file to commit
diff --git a/t/t3429-rebase-edit-todo.sh b/t/t3429-rebase-edit-todo.sh
index abd66f3602..8e0d03969a 100755
--- a/t/t3429-rebase-edit-todo.sh
+++ b/t/t3429-rebase-edit-todo.sh
@@ -2,6 +2,7 @@
test_description='rebase should reread the todo file if an exec modifies it'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
diff --git a/t/t3433-rebase-across-mode-change.sh b/t/t3433-rebase-across-mode-change.sh
index 05df964670..c8172b0852 100755
--- a/t/t3433-rebase-across-mode-change.sh
+++ b/t/t3433-rebase-across-mode-change.sh
@@ -2,6 +2,7 @@
test_description='git rebase across mode change'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t3920-crlf-messages.sh b/t/t3920-crlf-messages.sh
index 4c661d4d54..67fd2345af 100755
--- a/t/t3920-crlf-messages.sh
+++ b/t/t3920-crlf-messages.sh
@@ -12,7 +12,7 @@ create_crlf_ref () {
cat >.crlf-orig-$branch.txt &&
cat .crlf-orig-$branch.txt | append_cr >.crlf-message-$branch.txt &&
grep 'Subject' .crlf-orig-$branch.txt | tr '\n' ' ' | sed 's/[ ]*$//' | tr -d '\n' >.crlf-subject-$branch.txt &&
- grep 'Body' .crlf-message-$branch.txt >.crlf-body-$branch.txt || true &&
+ grep 'Body' .crlf-orig-$branch.txt | append_cr >.crlf-body-$branch.txt &&
LIB_CRLF_BRANCHES="${LIB_CRLF_BRANCHES} ${branch}" &&
test_tick &&
hash=$(git commit-tree HEAD^{tree} -p HEAD -F .crlf-message-${branch}.txt) &&
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
index f3e20dd5bb..b298f220e0 100755
--- a/t/t4015-diff-whitespace.sh
+++ b/t/t4015-diff-whitespace.sh
@@ -1638,7 +1638,7 @@ test_expect_success 'no effect on diff from --color-moved with --word-diff' '
test_cmp expect actual
'
-test_expect_success !SANITIZE_LEAK 'no effect on show from --color-moved with --word-diff' '
+test_expect_success 'no effect on show from --color-moved with --word-diff' '
git show --color-moved --word-diff >actual &&
git show --word-diff >expect &&
test_cmp expect actual
@@ -2024,7 +2024,7 @@ test_expect_success '--color-moved rewinds for MIN_ALNUM_COUNT' '
test_cmp expected actual
'
-test_expect_success !SANITIZE_LEAK 'move detection with submodules' '
+test_expect_success 'move detection with submodules' '
test_create_repo bananas &&
echo ripe >bananas/recipe &&
git -C bananas add recipe &&
diff --git a/t/t4023-diff-rename-typechange.sh b/t/t4023-diff-rename-typechange.sh
index 7cb9909293..787605ce3f 100755
--- a/t/t4023-diff-rename-typechange.sh
+++ b/t/t4023-diff-rename-typechange.sh
@@ -52,8 +52,8 @@ test_expect_success setup '
'
test_expect_success 'cross renames to be detected for regular files' '
-
- git diff-tree five six -r --name-status -B -M | sort >actual &&
+ git diff-tree five six -r --name-status -B -M >out &&
+ sort out >actual &&
{
echo "R100 foo bar" &&
echo "R100 bar foo"
@@ -63,8 +63,8 @@ test_expect_success 'cross renames to be detected for regular files' '
'
test_expect_success 'cross renames to be detected for typechange' '
-
- git diff-tree one two -r --name-status -B -M | sort >actual &&
+ git diff-tree one two -r --name-status -B -M >out &&
+ sort out >actual &&
{
echo "R100 foo bar" &&
echo "R100 bar foo"
@@ -74,8 +74,8 @@ test_expect_success 'cross renames to be detected for typechange' '
'
test_expect_success 'moves and renames' '
-
- git diff-tree three four -r --name-status -B -M | sort >actual &&
+ git diff-tree three four -r --name-status -B -M >out &&
+ sort out >actual &&
{
# see -B -M (#6) in t4008
echo "C100 foo bar" &&
diff --git a/t/t4045-diff-relative.sh b/t/t4045-diff-relative.sh
index fab351b48a..198dfc9190 100755
--- a/t/t4045-diff-relative.sh
+++ b/t/t4045-diff-relative.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='diff --relative tests'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
index b5c281edaa..3ee27e277d 100755
--- a/t/t4052-stat-output.sh
+++ b/t/t4052-stat-output.sh
@@ -8,6 +8,7 @@ test_description='test --stat output of various commands'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
diff --git a/t/t4053-diff-no-index.sh b/t/t4053-diff-no-index.sh
index 3feadf0e35..4e9fa0403d 100755
--- a/t/t4053-diff-no-index.sh
+++ b/t/t4053-diff-no-index.sh
@@ -2,6 +2,7 @@
test_description='diff --no-index'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t4067-diff-partial-clone.sh b/t/t4067-diff-partial-clone.sh
index 28f42a4046..f60f5cbd65 100755
--- a/t/t4067-diff-partial-clone.sh
+++ b/t/t4067-diff-partial-clone.sh
@@ -2,6 +2,7 @@
test_description='behavior of diff when reading objects in a partial clone'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'git show batches blobs' '
diff --git a/t/t4111-apply-subdir.sh b/t/t4111-apply-subdir.sh
index 1618a6dbc7..e9a87d761d 100755
--- a/t/t4111-apply-subdir.sh
+++ b/t/t4111-apply-subdir.sh
@@ -2,6 +2,7 @@
test_description='patching from inconvenient places'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t4135-apply-weird-filenames.sh b/t/t4135-apply-weird-filenames.sh
index 6bc3fb97a7..d3502c6fdd 100755
--- a/t/t4135-apply-weird-filenames.sh
+++ b/t/t4135-apply-weird-filenames.sh
@@ -2,6 +2,7 @@
test_description='git apply with weird postimage filenames'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index e448ef2928..0404491d6e 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -156,7 +156,7 @@ test_expect_success 'NUL termination with --reflog --pretty=oneline' '
for r in $revs
do
git show -s --pretty=oneline "$r" >raw &&
- cat raw | lf_to_nul || exit 1
+ cat raw | lf_to_nul || return 1
done >expect &&
# the trailing NUL is already produced so we do not need to
# output another one
diff --git a/t/t4213-log-tabexpand.sh b/t/t4213-log-tabexpand.sh
index 53a4af3244..590fce95e9 100755
--- a/t/t4213-log-tabexpand.sh
+++ b/t/t4213-log-tabexpand.sh
@@ -2,6 +2,7 @@
test_description='log/show --expand-tabs'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
HT=" "
diff --git a/t/t4301-merge-tree-write-tree.sh b/t/t4301-merge-tree-write-tree.sh
index cac85591b5..a8983a0edc 100755
--- a/t/t4301-merge-tree-write-tree.sh
+++ b/t/t4301-merge-tree-write-tree.sh
@@ -860,4 +860,66 @@ test_expect_success '--stdin with both a successful and a conflicted merge' '
test_cmp expect actual
'
+
+test_expect_success '--merge-base is incompatible with --stdin' '
+ test_must_fail git merge-tree --merge-base=side1 --stdin 2>expect &&
+
+ grep "^fatal: --merge-base is incompatible with --stdin" expect
+'
+
+# specify merge-base as parent of branch2
+# git merge-tree --write-tree --merge-base=c2 c1 c3
+# Commit c1: add file1
+# Commit c2: add file2 after c1
+# Commit c3: add file3 after c2
+# Expected: add file3, and file2 does NOT appear
+
+test_expect_success 'specify merge-base as parent of branch2' '
+ # Setup
+ test_when_finished "rm -rf base-b2-p" &&
+ git init base-b2-p &&
+ test_commit -C base-b2-p c1 file1 &&
+ test_commit -C base-b2-p c2 file2 &&
+ test_commit -C base-b2-p c3 file3 &&
+
+ # Testing
+ TREE_OID=$(git -C base-b2-p merge-tree --write-tree --merge-base=c2 c1 c3) &&
+
+ q_to_tab <<-EOF >expect &&
+ 100644 blob $(git -C base-b2-p rev-parse c1:file1)Qfile1
+ 100644 blob $(git -C base-b2-p rev-parse c3:file3)Qfile3
+ EOF
+
+ git -C base-b2-p ls-tree $TREE_OID >actual &&
+ test_cmp expect actual
+'
+
+# Since the earlier tests have verified that individual merge-tree calls
+# are doing the right thing, this test case is only used to verify that
+# we can also trigger merges via --stdin, and that when we do we get
+# the same answer as running a bunch of separate merges.
+
+test_expect_success 'check the input format when --stdin is passed' '
+ test_when_finished "rm -rf repo" &&
+ git init repo &&
+ test_commit -C repo c1 &&
+ test_commit -C repo c2 &&
+ test_commit -C repo c3 &&
+ printf "c1 c3\nc2 -- c1 c3\nc2 c3" | git -C repo merge-tree --stdin >actual &&
+
+ printf "1\0" >expect &&
+ git -C repo merge-tree --write-tree -z c1 c3 >>expect &&
+ printf "\0" >>expect &&
+
+ printf "1\0" >>expect &&
+ git -C repo merge-tree --write-tree -z --merge-base=c2 c1 c3 >>expect &&
+ printf "\0" >>expect &&
+
+ printf "1\0" >>expect &&
+ git -C repo merge-tree --write-tree -z c2 c3 >>expect &&
+ printf "\0" >>expect &&
+
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t5304-prune.sh b/t/t5304-prune.sh
index 8ae314af58..d65a5f94b4 100755
--- a/t/t5304-prune.sh
+++ b/t/t5304-prune.sh
@@ -29,6 +29,14 @@ test_expect_success setup '
git gc
'
+test_expect_success 'bare repo prune is quiet without $GIT_DIR/objects/pack' '
+ git clone -q --shared --template= --bare . bare.git &&
+ rmdir bare.git/objects/pack &&
+ git --git-dir=bare.git prune --no-progress 2>prune.err &&
+ test_must_be_empty prune.err &&
+ rm -r bare.git prune.err
+'
+
test_expect_success 'prune stale packs' '
orig_pack=$(echo .git/objects/pack/*.pack) &&
>.git/objects/tmp_1.pack &&
diff --git a/t/t5310-pack-bitmaps.sh b/t/t5310-pack-bitmaps.sh
index 6d693eef82..7d8dee41b0 100755
--- a/t/t5310-pack-bitmaps.sh
+++ b/t/t5310-pack-bitmaps.sh
@@ -428,8 +428,9 @@ test_bitmap_cases () {
test_line_count = 2 packs &&
test_line_count = 2 bitmaps &&
- git rev-list --use-bitmap-index HEAD 2>err &&
- grep "ignoring extra bitmap file" err
+ GIT_TRACE2_EVENT=$(pwd)/trace2.txt git rev-list --use-bitmap-index HEAD &&
+ grep "opened bitmap" trace2.txt &&
+ grep "ignoring extra bitmap" trace2.txt
)
'
}
diff --git a/t/t5314-pack-cycle-detection.sh b/t/t5314-pack-cycle-detection.sh
index 73a241743a..82734b9a3c 100755
--- a/t/t5314-pack-cycle-detection.sh
+++ b/t/t5314-pack-cycle-detection.sh
@@ -63,13 +63,16 @@ TEST_PASSES_SANITIZE_LEAK=true
# Note that the two variants of "file" must be similar enough to convince git
# to create the delta.
make_pack () {
- {
- printf '%s\n' "-$(git rev-parse $2)"
- printf '%s dummy\n' "$(git rev-parse $1:dummy)"
- printf '%s file\n' "$(git rev-parse $1:file)"
- } |
- git pack-objects --stdout |
- git index-pack --stdin --fix-thin
+ ln1=$(git rev-parse "$2") &&
+ ln2=$(git rev-parse "$1:dummy") &&
+ ln3=$(git rev-parse "$1:file") &&
+ cat >list <<-EOF
+ -$ln1
+ $ln2 dummy
+ $ln3 file
+ EOF
+ git pack-objects --stdout <list >pack &&
+ git index-pack --stdin --fix-thin <pack
}
test_expect_success 'setup' '
diff --git a/t/t5317-pack-objects-filter-objects.sh b/t/t5317-pack-objects-filter-objects.sh
index bb633c9b09..5b707d911b 100755
--- a/t/t5317-pack-objects-filter-objects.sh
+++ b/t/t5317-pack-objects-filter-objects.sh
@@ -24,8 +24,9 @@ parse_verify_pack_blob_oid () {
}
test_expect_success 'verify blob count in normal packfile' '
- git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 |
- test_parse_ls_files_stage_oids |
+ git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \
+ >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r1 pack-objects --revs --stdout >all.pack <<-EOF &&
@@ -123,8 +124,8 @@ test_expect_success 'setup r2' '
'
test_expect_success 'verify blob count in normal packfile' '
- git -C r2 ls-files -s large.1000 large.10000 |
- test_parse_ls_files_stage_oids |
+ git -C r2 ls-files -s large.1000 large.10000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r2 pack-objects --revs --stdout >all.pack <<-EOF &&
@@ -161,8 +162,8 @@ test_expect_success 'verify blob:limit=1000' '
'
test_expect_success 'verify blob:limit=1001' '
- git -C r2 ls-files -s large.1000 |
- test_parse_ls_files_stage_oids |
+ git -C r2 ls-files -s large.1000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r2 pack-objects --revs --stdout --filter=blob:limit=1001 >filter.pack <<-EOF &&
@@ -179,8 +180,8 @@ test_expect_success 'verify blob:limit=1001' '
'
test_expect_success 'verify blob:limit=10001' '
- git -C r2 ls-files -s large.1000 large.10000 |
- test_parse_ls_files_stage_oids |
+ git -C r2 ls-files -s large.1000 large.10000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r2 pack-objects --revs --stdout --filter=blob:limit=10001 >filter.pack <<-EOF &&
@@ -197,8 +198,8 @@ test_expect_success 'verify blob:limit=10001' '
'
test_expect_success 'verify blob:limit=1k' '
- git -C r2 ls-files -s large.1000 |
- test_parse_ls_files_stage_oids |
+ git -C r2 ls-files -s large.1000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r2 pack-objects --revs --stdout --filter=blob:limit=1k >filter.pack <<-EOF &&
@@ -215,8 +216,8 @@ test_expect_success 'verify blob:limit=1k' '
'
test_expect_success 'verify explicitly specifying oversized blob in input' '
- git -C r2 ls-files -s large.1000 large.10000 |
- test_parse_ls_files_stage_oids |
+ git -C r2 ls-files -s large.1000 large.10000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
echo HEAD >objects &&
@@ -233,8 +234,8 @@ test_expect_success 'verify explicitly specifying oversized blob in input' '
'
test_expect_success 'verify blob:limit=1m' '
- git -C r2 ls-files -s large.1000 large.10000 |
- test_parse_ls_files_stage_oids |
+ git -C r2 ls-files -s large.1000 large.10000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r2 pack-objects --revs --stdout --filter=blob:limit=1m >filter.pack <<-EOF &&
@@ -264,6 +265,44 @@ test_expect_success 'verify normal and blob:limit packfiles have same commits/tr
test_cmp expected observed
'
+test_expect_success 'verify small limit and big limit results in small limit' '
+ git -C r2 ls-files -s large.1000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
+ sort >expected &&
+
+ git -C r2 pack-objects --revs --stdout --filter=blob:limit=1001 \
+ --filter=blob:limit=10001 >filter.pack <<-EOF &&
+ HEAD
+ EOF
+ git -C r2 index-pack ../filter.pack &&
+
+ git -C r2 verify-pack -v ../filter.pack >verify_result &&
+ grep blob verify_result |
+ parse_verify_pack_blob_oid |
+ sort >observed &&
+
+ test_cmp expected observed
+'
+
+test_expect_success 'verify big limit and small limit results in small limit' '
+ git -C r2 ls-files -s large.1000 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
+ sort >expected &&
+
+ git -C r2 pack-objects --revs --stdout --filter=blob:limit=10001 \
+ --filter=blob:limit=1001 >filter.pack <<-EOF &&
+ HEAD
+ EOF
+ git -C r2 index-pack ../filter.pack &&
+
+ git -C r2 verify-pack -v ../filter.pack >verify_result &&
+ grep blob verify_result |
+ parse_verify_pack_blob_oid |
+ sort >observed &&
+
+ test_cmp expected observed
+'
+
# Test sparse:path=<path> filter.
# !!!!
# NOTE: sparse:path filter support has been dropped for security reasons,
@@ -289,8 +328,9 @@ test_expect_success 'setup r3' '
'
test_expect_success 'verify blob count in normal packfile' '
- git -C r3 ls-files -s sparse1 sparse2 dir1/sparse1 dir1/sparse2 |
- test_parse_ls_files_stage_oids |
+ git -C r3 ls-files -s sparse1 sparse2 dir1/sparse1 dir1/sparse2 \
+ >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r3 pack-objects --revs --stdout >all.pack <<-EOF &&
@@ -341,8 +381,9 @@ test_expect_success 'setup r4' '
'
test_expect_success 'verify blob count in normal packfile' '
- git -C r4 ls-files -s pattern sparse1 sparse2 dir1/sparse1 dir1/sparse2 |
- test_parse_ls_files_stage_oids |
+ git -C r4 ls-files -s pattern sparse1 sparse2 dir1/sparse1 dir1/sparse2 \
+ >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r4 pack-objects --revs --stdout >all.pack <<-EOF &&
@@ -359,8 +400,8 @@ test_expect_success 'verify blob count in normal packfile' '
'
test_expect_success 'verify sparse:oid=OID' '
- git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 |
- test_parse_ls_files_stage_oids |
+ git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r4 ls-files -s pattern >staged &&
@@ -379,8 +420,8 @@ test_expect_success 'verify sparse:oid=OID' '
'
test_expect_success 'verify sparse:oid=oid-ish' '
- git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 |
- test_parse_ls_files_stage_oids |
+ git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
git -C r4 pack-objects --revs --stdout --filter=sparse:oid=main:pattern >filter.pack <<-EOF &&
@@ -400,8 +441,9 @@ test_expect_success 'verify sparse:oid=oid-ish' '
# This models previously omitted objects that we did not receive.
test_expect_success 'setup r1 - delete loose blobs' '
- git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 |
- test_parse_ls_files_stage_oids |
+ git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \
+ >ls_files_result &&
+ test_parse_ls_files_stage_oids <ls_files_result |
sort >expected &&
for id in `cat expected | sed "s|..|&/|"`
diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
index 4f2bfaf005..98a27a2948 100755
--- a/t/t5516-fetch-push.sh
+++ b/t/t5516-fetch-push.sh
@@ -1858,19 +1858,19 @@ test_expect_success 'push with config push.useBitmaps' '
git checkout main &&
test_unconfig push.useBitmaps &&
GIT_TRACE2_EVENT="$PWD/default" \
- git push testrepo main:test &&
+ git push --quiet testrepo main:test &&
test_subcommand git pack-objects --all-progress-implied --revs --stdout \
--thin --delta-base-offset -q <default &&
test_config push.useBitmaps true &&
GIT_TRACE2_EVENT="$PWD/true" \
- git push testrepo main:test2 &&
+ git push --quiet testrepo main:test2 &&
test_subcommand git pack-objects --all-progress-implied --revs --stdout \
--thin --delta-base-offset -q <true &&
test_config push.useBitmaps false &&
GIT_TRACE2_EVENT="$PWD/false" \
- git push testrepo main:test3 &&
+ git push --quiet testrepo main:test3 &&
test_subcommand git pack-objects --all-progress-implied --revs --stdout \
--thin --delta-base-offset -q --no-use-bitmap-index <false
'
diff --git a/t/t5544-pack-objects-hook.sh b/t/t5544-pack-objects-hook.sh
index 54f54f8d2e..1a9e14bbcc 100755
--- a/t/t5544-pack-objects-hook.sh
+++ b/t/t5544-pack-objects-hook.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='test custom script in place of pack-objects'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'create some history to fetch' '
diff --git a/t/t5554-noop-fetch-negotiator.sh b/t/t5554-noop-fetch-negotiator.sh
index 2ac7b5859e..06991e8e8a 100755
--- a/t/t5554-noop-fetch-negotiator.sh
+++ b/t/t5554-noop-fetch-negotiator.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='test noop fetch negotiator'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'noop negotiator does not emit any "have"' '
diff --git a/t/t5610-clone-detached.sh b/t/t5610-clone-detached.sh
index a7ec21eda5..022ed3d87c 100755
--- a/t/t5610-clone-detached.sh
+++ b/t/t5610-clone-detached.sh
@@ -4,6 +4,7 @@ test_description='test cloning a repository with detached HEAD'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
head_is_detached() {
diff --git a/t/t5611-clone-config.sh b/t/t5611-clone-config.sh
index 4b3877216e..727caff443 100755
--- a/t/t5611-clone-config.sh
+++ b/t/t5611-clone-config.sh
@@ -4,6 +4,7 @@ test_description='tests for git clone -c key=value'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'clone -c sets config in cloned repo' '
diff --git a/t/t5614-clone-submodules-shallow.sh b/t/t5614-clone-submodules-shallow.sh
index 0c85ef834a..c2a2bb453e 100755
--- a/t/t5614-clone-submodules-shallow.sh
+++ b/t/t5614-clone-submodules-shallow.sh
@@ -2,6 +2,7 @@
test_description='Test shallow cloning of repos with submodules'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
pwd=$(pwd)
diff --git a/t/t5617-clone-submodules-remote.sh b/t/t5617-clone-submodules-remote.sh
index 6884338249..5a4d7936a7 100755
--- a/t/t5617-clone-submodules-remote.sh
+++ b/t/t5617-clone-submodules-remote.sh
@@ -5,6 +5,7 @@ test_description='Test cloning repos with submodules using remote-tracking branc
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
pwd=$(pwd)
diff --git a/t/t5618-alternate-refs.sh b/t/t5618-alternate-refs.sh
index 3353216f09..f905db0a3f 100755
--- a/t/t5618-alternate-refs.sh
+++ b/t/t5618-alternate-refs.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='test handling of --alternate-refs traversal'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# Avoid test_commit because we want a specific and known set of refs:
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index 6dbbe62eb2..98a72ff78a 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -34,6 +34,36 @@ HASH2=
HASH3=
HASH4=
+test_bisect_usage () {
+ local code="$1" &&
+ shift &&
+ cat >expect &&
+ test_expect_code $code "$@" >out 2>actual &&
+ test_must_be_empty out &&
+ test_cmp expect actual
+}
+
+test_expect_success 'bisect usage' "
+ test_bisect_usage 1 git bisect reset extra1 extra2 <<-\EOF &&
+ error: 'git bisect reset' requires either no argument or a commit
+ EOF
+ test_bisect_usage 1 git bisect terms extra1 extra2 <<-\EOF &&
+ error: 'git bisect terms' requires 0 or 1 argument
+ EOF
+ test_bisect_usage 1 git bisect next extra1 <<-\EOF &&
+ error: 'git bisect next' requires 0 arguments
+ EOF
+ test_bisect_usage 1 git bisect log extra1 <<-\EOF &&
+ error: We are not bisecting.
+ EOF
+ test_bisect_usage 1 git bisect replay <<-\EOF &&
+ error: no logfile given
+ EOF
+ test_bisect_usage 1 git bisect run <<-\EOF
+ error: 'git bisect run' failed: no command provided.
+ EOF
+"
+
test_expect_success 'set up basic repo with 1 file (hello) and 4 commits' '
add_line_into_file "1: Hello World" hello &&
HASH1=$(git rev-parse --verify HEAD) &&
@@ -252,6 +282,124 @@ test_expect_success 'bisect skip: with commit both bad and skipped' '
grep $HASH4 my_bisect_log.txt
'
+test_bisect_run_args () {
+ test_when_finished "rm -f run.sh actual" &&
+ >actual &&
+ cat >expect.args &&
+ cat <&6 >expect.out &&
+ cat <&7 >expect.err &&
+ write_script run.sh <<-\EOF &&
+ while test $# != 0
+ do
+ echo "<$1>" &&
+ shift
+ done >actual.args
+ EOF
+
+ test_when_finished "git bisect reset" &&
+ git bisect start &&
+ git bisect good $HASH1 &&
+ git bisect bad $HASH4 &&
+ git bisect run ./run.sh $@ >actual.out.raw 2>actual.err &&
+ # Prune just the log output
+ sed -n \
+ -e '/^Author:/d' \
+ -e '/^Date:/d' \
+ -e '/^$/d' \
+ -e '/^commit /d' \
+ -e '/^ /d' \
+ -e 'p' \
+ <actual.out.raw >actual.out &&
+ test_cmp expect.out actual.out &&
+ test_cmp expect.err actual.err &&
+ test_cmp expect.args actual.args
+}
+
+test_expect_success 'git bisect run: args, stdout and stderr with no arguments' "
+ test_bisect_run_args <<-'EOF_ARGS' 6<<-EOF_OUT 7<<-'EOF_ERR'
+ EOF_ARGS
+ running './run.sh'
+ $HASH4 is the first bad commit
+ bisect found first bad commit
+ EOF_OUT
+ EOF_ERR
+"
+
+test_expect_success 'git bisect run: args, stdout and stderr: "--" argument' "
+ test_bisect_run_args -- <<-'EOF_ARGS' 6<<-EOF_OUT 7<<-'EOF_ERR'
+ <-->
+ EOF_ARGS
+ running './run.sh' '--'
+ $HASH4 is the first bad commit
+ bisect found first bad commit
+ EOF_OUT
+ EOF_ERR
+"
+
+test_expect_success 'git bisect run: args, stdout and stderr: "--log foo --no-log bar" arguments' "
+ test_bisect_run_args --log foo --no-log bar <<-'EOF_ARGS' 6<<-EOF_OUT 7<<-'EOF_ERR'
+ <--log>
+ <foo>
+ <--no-log>
+ <bar>
+ EOF_ARGS
+ running './run.sh' '--log' 'foo' '--no-log' 'bar'
+ $HASH4 is the first bad commit
+ bisect found first bad commit
+ EOF_OUT
+ EOF_ERR
+"
+
+test_expect_success 'git bisect run: args, stdout and stderr: "--bisect-start" argument' "
+ test_bisect_run_args --bisect-start <<-'EOF_ARGS' 6<<-EOF_OUT 7<<-'EOF_ERR'
+ <--bisect-start>
+ EOF_ARGS
+ running './run.sh' '--bisect-start'
+ $HASH4 is the first bad commit
+ bisect found first bad commit
+ EOF_OUT
+ EOF_ERR
+"
+
+test_expect_success 'git bisect run: negative exit code' "
+ write_script fail.sh <<-'EOF' &&
+ exit 255
+ EOF
+ cat <<-'EOF' >expect &&
+ bisect run failed: exit code -1 from './fail.sh' is < 0 or >= 128
+ EOF
+ test_when_finished 'git bisect reset' &&
+ git bisect start &&
+ git bisect good $HASH1 &&
+ git bisect bad $HASH4 &&
+ ! git bisect run ./fail.sh 2>err &&
+ sed -En 's/.*(bisect.*code) (-?[0-9]+) (from.*)/\1 -1 \3/p' err >actual &&
+ test_cmp expect actual
+"
+
+test_expect_success 'git bisect run: unable to verify on good' "
+ write_script fail.sh <<-'EOF' &&
+ head=\$(git rev-parse --verify HEAD)
+ good=\$(git rev-parse --verify $HASH1)
+ if test "\$head" = "\$good"
+ then
+ exit 255
+ else
+ exit 127
+ fi
+ EOF
+ cat <<-'EOF' >expect &&
+ unable to verify './fail.sh' on good revision
+ EOF
+ test_when_finished 'git bisect reset' &&
+ git bisect start &&
+ git bisect good $HASH1 &&
+ git bisect bad $HASH4 &&
+ ! git bisect run ./fail.sh 2>err &&
+ sed -n 's/.*\(unable to verify.*\)/\1/p' err >actual &&
+ test_cmp expect actual
+"
+
# We want to automatically find the commit that
# added "Another" into hello.
test_expect_success '"git bisect run" simple case' '
diff --git a/t/t6060-merge-index.sh b/t/t6060-merge-index.sh
index ed449abe55..1a8b64cce1 100755
--- a/t/t6060-merge-index.sh
+++ b/t/t6060-merge-index.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='basic git merge-index / git-merge-one-file tests'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup diverging branches' '
diff --git a/t/t6102-rev-list-unexpected-objects.sh b/t/t6102-rev-list-unexpected-objects.sh
index 4a9a4436e2..9350b5fd2c 100755
--- a/t/t6102-rev-list-unexpected-objects.sh
+++ b/t/t6102-rev-list-unexpected-objects.sh
@@ -121,8 +121,8 @@ test_expect_success 'setup unexpected non-blob tag' '
tag=$(git hash-object -w --literally -t tag broken-tag)
'
-test_expect_success 'TODO (should fail!): traverse unexpected non-blob tag (lone)' '
- git rev-list --objects $tag
+test_expect_success 'traverse unexpected non-blob tag (lone)' '
+ test_must_fail git rev-list --objects $tag
'
test_expect_success 'traverse unexpected non-blob tag (seen)' '
diff --git a/t/t6301-for-each-ref-errors.sh b/t/t6301-for-each-ref-errors.sh
index 40edf9dab5..bfda1f46ad 100755
--- a/t/t6301-for-each-ref-errors.sh
+++ b/t/t6301-for-each-ref-errors.sh
@@ -2,6 +2,7 @@
test_description='for-each-ref errors for broken refs'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
ZEROS=$ZERO_OID
diff --git a/t/t6401-merge-criss-cross.sh b/t/t6401-merge-criss-cross.sh
index 9d5e992878..1962310408 100755
--- a/t/t6401-merge-criss-cross.sh
+++ b/t/t6401-merge-criss-cross.sh
@@ -8,6 +8,8 @@
test_description='Test criss-cross merge'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'prepare repository' '
diff --git a/t/t6406-merge-attr.sh b/t/t6406-merge-attr.sh
index 8650a88c40..5e4e4dd6d9 100755
--- a/t/t6406-merge-attr.sh
+++ b/t/t6406-merge-attr.sh
@@ -8,6 +8,7 @@ test_description='per path merge controlled by merge attribute'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success setup '
diff --git a/t/t6407-merge-binary.sh b/t/t6407-merge-binary.sh
index e8a28717ce..0753fc95f4 100755
--- a/t/t6407-merge-binary.sh
+++ b/t/t6407-merge-binary.sh
@@ -5,6 +5,7 @@ test_description='ask merge-recursive to merge binary files'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success setup '
diff --git a/t/t6415-merge-dir-to-symlink.sh b/t/t6415-merge-dir-to-symlink.sh
index 2655e295f5..ae00492c76 100755
--- a/t/t6415-merge-dir-to-symlink.sh
+++ b/t/t6415-merge-dir-to-symlink.sh
@@ -4,6 +4,7 @@ test_description='merging when a directory was replaced with a symlink'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'create a commit where dir a/b changed to symlink' '
diff --git a/t/t6435-merge-sparse.sh b/t/t6435-merge-sparse.sh
index fde4aa3cd1..78628fb248 100755
--- a/t/t6435-merge-sparse.sh
+++ b/t/t6435-merge-sparse.sh
@@ -3,6 +3,7 @@
test_description='merge with sparse files'
TEST_CREATE_REPO_NO_TEMPLATE=1
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# test_file $filename $content
diff --git a/t/t7103-reset-bare.sh b/t/t7103-reset-bare.sh
index a60153f9f3..18bbd9975e 100755
--- a/t/t7103-reset-bare.sh
+++ b/t/t7103-reset-bare.sh
@@ -63,7 +63,7 @@ test_expect_success '"mixed" reset is not allowed in bare' '
test_must_fail git reset --mixed HEAD^
'
-test_expect_success !SANITIZE_LEAK '"soft" reset is allowed in bare' '
+test_expect_success '"soft" reset is allowed in bare' '
git reset --soft HEAD^ &&
git show --pretty=format:%s >out &&
echo one >expect &&
diff --git a/t/t7504-commit-msg-hook.sh b/t/t7504-commit-msg-hook.sh
index a39de8c112..07ca46fb0d 100755
--- a/t/t7504-commit-msg-hook.sh
+++ b/t/t7504-commit-msg-hook.sh
@@ -5,6 +5,7 @@ test_description='commit-msg hook'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'with no hook' '
diff --git a/t/t7517-per-repo-email.sh b/t/t7517-per-repo-email.sh
index 163ae80468..efc6496e2b 100755
--- a/t/t7517-per-repo-email.sh
+++ b/t/t7517-per-repo-email.sh
@@ -9,6 +9,7 @@ test_description='per-repo forced setting of email address'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup a likely user.useConfigOnly use case' '
diff --git a/t/t7520-ignored-hook-warning.sh b/t/t7520-ignored-hook-warning.sh
index dc57526e6f..184b258989 100755
--- a/t/t7520-ignored-hook-warning.sh
+++ b/t/t7520-ignored-hook-warning.sh
@@ -2,6 +2,7 @@
test_description='ignored hook warning'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success setup '
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index 7c3f6ed994..060e145957 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -105,7 +105,7 @@ verify_mergeheads () {
test_write_lines "$@" >mergehead.expected &&
while read sha1 rest
do
- git rev-parse $sha1
+ git rev-parse $sha1 || return 1
done <.git/MERGE_HEAD >mergehead.actual &&
test_cmp mergehead.expected mergehead.actual
}
diff --git a/t/t7605-merge-resolve.sh b/t/t7605-merge-resolve.sh
index 5d56c38546..62d935d31c 100755
--- a/t/t7605-merge-resolve.sh
+++ b/t/t7605-merge-resolve.sh
@@ -4,6 +4,7 @@ test_description='git merge
Testing the resolve strategy.'
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t7614-merge-signoff.sh b/t/t7614-merge-signoff.sh
index fee258d4f0..cf96a35e8e 100755
--- a/t/t7614-merge-signoff.sh
+++ b/t/t7614-merge-signoff.sh
@@ -8,6 +8,7 @@ This test runs git merge --signoff and makes sure that it works.
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
# Setup test files
diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh
index c630e0d52d..4aabe98139 100755
--- a/t/t7700-repack.sh
+++ b/t/t7700-repack.sh
@@ -90,6 +90,22 @@ test_expect_success 'loose objects in alternate ODB are not repacked' '
test_has_duplicate_object false
'
+test_expect_success SYMLINKS '--local keeps packs when alternate is objectdir ' '
+ test_when_finished "rm -rf repo" &&
+ git init repo &&
+ test_commit -C repo A &&
+ (
+ cd repo &&
+ git repack -a &&
+ ls .git/objects/pack/*.pack >../expect &&
+ ln -s objects .git/alt_objects &&
+ echo "$(pwd)/.git/alt_objects" >.git/objects/info/alternates &&
+ git repack -a -d -l &&
+ ls .git/objects/pack/*.pack >../actual
+ ) &&
+ test_cmp expect actual
+'
+
test_expect_success 'packed obs in alt ODB are repacked even when local repo is packless' '
mkdir alt_objects/pack &&
mv .git/objects/pack/* alt_objects/pack &&
diff --git a/t/t9003-help-autocorrect.sh b/t/t9003-help-autocorrect.sh
index f00deaf381..4b9cb4c942 100755
--- a/t/t9003-help-autocorrect.sh
+++ b/t/t9003-help-autocorrect.sh
@@ -1,6 +1,8 @@
#!/bin/sh
test_description='help.autocorrect finding a match'
+
+TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
diff --git a/t/t9115-git-svn-dcommit-funky-renames.sh b/t/t9115-git-svn-dcommit-funky-renames.sh
index 419f055721..743fbe1fe4 100755
--- a/t/t9115-git-svn-dcommit-funky-renames.sh
+++ b/t/t9115-git-svn-dcommit-funky-renames.sh
@@ -5,7 +5,6 @@
test_description='git svn dcommit can commit renames of files with ugly names'
-TEST_FAILS_SANITIZE_LEAK=true
. ./lib-git-svn.sh
test_expect_success 'load repository with strange names' '
diff --git a/t/t9146-git-svn-empty-dirs.sh b/t/t9146-git-svn-empty-dirs.sh
index 79c26ed69c..09606f1b3c 100755
--- a/t/t9146-git-svn-empty-dirs.sh
+++ b/t/t9146-git-svn-empty-dirs.sh
@@ -4,7 +4,6 @@
test_description='git svn creates empty directories'
-TEST_FAILS_SANITIZE_LEAK=true
. ./lib-git-svn.sh
test_expect_success 'initialize repo' '
diff --git a/t/t9148-git-svn-propset.sh b/t/t9148-git-svn-propset.sh
index 6cc76a07b3..aebb28995e 100755
--- a/t/t9148-git-svn-propset.sh
+++ b/t/t9148-git-svn-propset.sh
@@ -5,7 +5,6 @@
test_description='git svn propset tests'
-TEST_FAILS_SANITIZE_LEAK=true
. ./lib-git-svn.sh
test_expect_success 'setup propset via import' '
diff --git a/t/t9160-git-svn-preserve-empty-dirs.sh b/t/t9160-git-svn-preserve-empty-dirs.sh
index 9cf7a1427a..36c6b1a12f 100755
--- a/t/t9160-git-svn-preserve-empty-dirs.sh
+++ b/t/t9160-git-svn-preserve-empty-dirs.sh
@@ -9,7 +9,6 @@ This test uses git to clone a Subversion repository that contains empty
directories, and checks that corresponding directories are created in the
local Git repository with placeholder files.'
-TEST_FAILS_SANITIZE_LEAK=true
. ./lib-git-svn.sh
GIT_REPO=git-svn-repo
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index 43de868b80..d6c0478d98 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -2255,6 +2255,36 @@ test_expect_success 'checkout completes ref names' '
EOF
'
+test_expect_success 'checkout does not match ref names of a different case' '
+ test_completion "git checkout M" ""
+'
+
+test_expect_success 'checkout matches case insensitively with GIT_COMPLETION_IGNORE_CASE' '
+ (
+ GIT_COMPLETION_IGNORE_CASE=1 &&
+ test_completion "git checkout M" <<-\EOF
+ main Z
+ mybranch Z
+ mytag Z
+ EOF
+ )
+'
+
+test_expect_success 'checkout completes pseudo refs' '
+ test_completion "git checkout H" <<-\EOF
+ HEAD Z
+ EOF
+'
+
+test_expect_success 'checkout completes pseudo refs case insensitively with GIT_COMPLETION_IGNORE_CASE' '
+ (
+ GIT_COMPLETION_IGNORE_CASE=1 &&
+ test_completion "git checkout h" <<-\EOF
+ HEAD Z
+ EOF
+ )
+'
+
test_expect_success 'git -C <path> checkout uses the right repo' '
test_completion "git -C subdir -C subsubdir -C .. -C ../otherrepo checkout b" <<-\EOF
branch-in-other Z