summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/.gitignore1
-rw-r--r--Documentation/Makefile24
-rw-r--r--Documentation/RelNotes/2.40.4.txt5
-rw-r--r--Documentation/RelNotes/2.41.3.txt6
-rw-r--r--Documentation/RelNotes/2.42.4.txt6
-rw-r--r--Documentation/RelNotes/2.43.6.txt7
-rw-r--r--Documentation/RelNotes/2.44.3.txt7
-rw-r--r--Documentation/RelNotes/2.45.3.txt7
-rw-r--r--Documentation/RelNotes/2.46.3.txt6
-rw-r--r--Documentation/RelNotes/2.47.2.txt7
-rw-r--r--Documentation/RelNotes/2.48.0.txt38
-rw-r--r--Documentation/RelNotes/2.48.1.txt7
-rw-r--r--Documentation/RelNotes/2.49.0.txt15
-rw-r--r--Documentation/SubmittingPatches11
-rw-r--r--Documentation/asciidoc.conf.in10
-rw-r--r--Documentation/config/credential.txt11
-rw-r--r--Documentation/git.txt2
-rw-r--r--Documentation/gitcli.txt2
-rwxr-xr-xDocumentation/howto/howto-index.sh (renamed from Documentation/howto-index.sh)2
-rw-r--r--Documentation/howto/meson.build62
-rw-r--r--Documentation/meson.build255
-rwxr-xr-xDocumentation/technical/api-index.sh19
-rw-r--r--Documentation/technical/meson.build66
-rw-r--r--Documentation/user-manual.conf11
-rw-r--r--GIT-BUILD-OPTIONS.in71
-rwxr-xr-xGIT-VERSION-GEN10
-rw-r--r--Makefile71
l---------RelNotes2
-rw-r--r--builtin/blame.c9
-rw-r--r--builtin/fast-import.c2
-rw-r--r--builtin/fetch.c4
-rw-r--r--builtin/index-pack.c2
-rw-r--r--bulk-checkin.c2
-rwxr-xr-xci/run-build-and-tests.sh1
-rw-r--r--contrib/buildsystems/CMakeLists.txt71
-rw-r--r--credential.c51
-rw-r--r--credential.h6
-rw-r--r--git-gui/po/bg.po3191
-rwxr-xr-xgit-submodule.sh216
-rw-r--r--gitk-git/po/bg.po730
-rw-r--r--meson.build63
-rw-r--r--meson_options.txt2
-rw-r--r--object-file.c66
-rw-r--r--parse-options.c43
-rw-r--r--perl/FromCPAN/Mail/meson.build1
-rw-r--r--perl/FromCPAN/meson.build1
-rw-r--r--perl/Git/LoadCPAN/Mail/meson.build1
-rw-r--r--perl/Git/LoadCPAN/meson.build1
-rw-r--r--perl/Git/SVN/Memoize/meson.build1
-rw-r--r--perl/Git/SVN/meson.build1
-rw-r--r--perl/Git/meson.build1
-rw-r--r--perl/meson.build1
-rw-r--r--po/bg.po357
-rw-r--r--po/de.po304
-rw-r--r--po/fr.po785
-rw-r--r--po/id.po338
-rw-r--r--po/sv.po413
-rw-r--r--po/tr.po293
-rw-r--r--po/uk.po599
-rw-r--r--po/vi.po336
-rw-r--r--po/zh_CN.po301
-rw-r--r--po/zh_TW.po667
-rw-r--r--reftable/basics.c14
-rw-r--r--reftable/basics.h41
-rw-r--r--reftable/block.c10
-rw-r--r--reftable/pq.c2
-rw-r--r--reftable/record.c12
-rw-r--r--reftable/stack.c8
-rw-r--r--reftable/writer.c5
-rw-r--r--strbuf.c4
-rw-r--r--strbuf.h1
-rw-r--r--t/.gitignore1
-rw-r--r--t/Makefile12
-rw-r--r--t/lib-gitweb.sh5
-rwxr-xr-xt/t0300-credentials.sh49
-rwxr-xr-xt/t5541-http-push-smart.sh6
-rwxr-xr-xt/t5550-http-fetch-dumb.sh14
-rwxr-xr-xt/t5551-http-fetch-smart.sh16
-rwxr-xr-xt/t7611-merge-abort.sh34
-rwxr-xr-xt/t8002-blame.sh26
-rw-r--r--t/test-lib.sh26
-rw-r--r--t/unit-tests/t-reftable-basics.c56
-rw-r--r--t/unit-tests/t-reftable-merged.c4
83 files changed, 6145 insertions, 3802 deletions
diff --git a/Documentation/.gitignore b/Documentation/.gitignore
index 649df89474..9f4bb3c4bf 100644
--- a/Documentation/.gitignore
+++ b/Documentation/.gitignore
@@ -12,6 +12,7 @@ cmds-*.txt
mergetools-*.txt
SubmittingPatches.txt
tmp-doc-diff/
+tmp-meson-diff/
GIT-ASCIIDOCFLAGS
/.build/
/GIT-EXCLUDED-PROGRAMS
diff --git a/Documentation/Makefile b/Documentation/Makefile
index a89823e1d1..aedfe99d1d 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -339,6 +339,7 @@ clean:
$(RM) $(cmds_txt) $(mergetools_txt) *.made
$(RM) GIT-ASCIIDOCFLAGS
$(RM) asciidoc.conf asciidoctor-extensions.rb
+ $(RM) -rf tmp-meson-diff
docinfo.html: docinfo-html.in
$(QUIET_GEN)$(RM) $@ && cat $< >$@
@@ -362,12 +363,12 @@ manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
%.xml : %.txt $(ASCIIDOC_DEPS)
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $<
-user-manual.xml: user-manual.txt user-manual.conf $(ASCIIDOC_DEPS)
+user-manual.xml: user-manual.txt $(ASCIIDOC_DEPS)
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d book -o $@ $<
technical/api-index.txt: technical/api-index-skel.txt \
technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS))
- $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh
+ $(QUIET_GEN)'$(SHELL_PATH_SQ)' technical/api-index.sh ./technical ./technical/api-index.txt
technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt \
@@ -411,8 +412,8 @@ gitman.info: gitman.texi
$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@
-howto-index.txt: howto-index.sh $(HOWTO_TXT)
- $(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@
+howto-index.txt: howto/howto-index.sh $(HOWTO_TXT)
+ $(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto/howto-index.sh $(sort $(HOWTO_TXT)) >$@
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt $(ASCIIDOC_DEPS)
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
@@ -494,6 +495,20 @@ lint-docs-fsck-msgids: $(LINT_DOCS_FSCK_MSGIDS)
lint-docs-manpages:
$(QUIET_GEN)./lint-manpages.sh
+.PHONY: lint-docs-meson
+lint-docs-meson:
+ @# awk acts up when trying to match single quotes, so we use \047 instead.
+ @mkdir -p tmp-meson-diff && \
+ awk "/^manpages = {$$/ {flag=1 ; next } /^}$$/ { flag=0 } flag { gsub(/^ \047/, \"\"); gsub(/\047 : [157],\$$/, \"\"); print }" meson.build | \
+ grep -v -e '#' -e '^$$' | \
+ sort >tmp-meson-diff/meson.txt && \
+ ls git*.txt scalar.txt | grep -v -e git-bisect-lk2009.txt -e git-tools.txt >tmp-meson-diff/actual.txt && \
+ if ! cmp tmp-meson-diff/meson.txt tmp-meson-diff/actual.txt; then \
+ echo "Meson man pages differ from actual man pages:"; \
+ diff -u tmp-meson-diff/meson.txt tmp-meson-diff/actual.txt; \
+ exit 1; \
+ fi
+
## Lint: list of targets above
.PHONY: lint-docs
lint-docs: lint-docs-fsck-msgids
@@ -501,6 +516,7 @@ lint-docs: lint-docs-gitlink
lint-docs: lint-docs-man-end-blurb
lint-docs: lint-docs-man-section-order
lint-docs: lint-docs-manpages
+lint-docs: lint-docs-meson
ifeq ($(wildcard po/Makefile),po/Makefile)
doc-l10n install-l10n::
diff --git a/Documentation/RelNotes/2.40.4.txt b/Documentation/RelNotes/2.40.4.txt
new file mode 100644
index 0000000000..0ff29f3cfc
--- /dev/null
+++ b/Documentation/RelNotes/2.40.4.txt
@@ -0,0 +1,5 @@
+Git v2.40.4 Release Notes
+=========================
+
+This release lets Git refuse to accept URLs that contain control
+sequences. This addresses CVE-2024-50349 and CVE-2024-52006.
diff --git a/Documentation/RelNotes/2.41.3.txt b/Documentation/RelNotes/2.41.3.txt
new file mode 100644
index 0000000000..b5aba88790
--- /dev/null
+++ b/Documentation/RelNotes/2.41.3.txt
@@ -0,0 +1,6 @@
+Git v2.41.3 Release Notes
+=========================
+
+This release merges up the fix that appears in v2.40.4 to address
+the security issues CVE-2024-50349 and CVE-2024-52006; see the
+release notes for that version for details.
diff --git a/Documentation/RelNotes/2.42.4.txt b/Documentation/RelNotes/2.42.4.txt
new file mode 100644
index 0000000000..3129d76e75
--- /dev/null
+++ b/Documentation/RelNotes/2.42.4.txt
@@ -0,0 +1,6 @@
+Git v2.42.4 Release Notes
+=========================
+
+This release merges up the fix that appears in v2.40.4 and v2.41.3
+to address the security issues CVE-2024-50349 and CVE-2024-52006;
+see the release notes for these versions for details.
diff --git a/Documentation/RelNotes/2.43.6.txt b/Documentation/RelNotes/2.43.6.txt
new file mode 100644
index 0000000000..2114b9f78d
--- /dev/null
+++ b/Documentation/RelNotes/2.43.6.txt
@@ -0,0 +1,7 @@
+Git v2.43.6 Release Notes
+=========================
+
+This release merges up the fix that appears in v2.40.4, v2.41.3
+and v2.42.4 to address the security issues CVE-2024-50349 and
+CVE-2024-52006; see the release notes for these versions for
+details.
diff --git a/Documentation/RelNotes/2.44.3.txt b/Documentation/RelNotes/2.44.3.txt
new file mode 100644
index 0000000000..5862845458
--- /dev/null
+++ b/Documentation/RelNotes/2.44.3.txt
@@ -0,0 +1,7 @@
+Git v2.44.3 Release Notes
+=========================
+
+This release merges up the fix that appears in v2.40.4, v2.41.3,
+v2.42.4 and v2.43.6 to address the security issues CVE-2024-50349
+and CVE-2024-52006; see the release notes for these versions
+for details.
diff --git a/Documentation/RelNotes/2.45.3.txt b/Documentation/RelNotes/2.45.3.txt
index 2a1e9aa608..ddb3cb694b 100644
--- a/Documentation/RelNotes/2.45.3.txt
+++ b/Documentation/RelNotes/2.45.3.txt
@@ -1,7 +1,12 @@
Git v2.45.3 Release Notes
=========================
-This primarily is to backport various small fixes accumulated on the
+This release merges up the fix that appears in v2.40.4, v2.41.3,
+v2.42.4, v2.43.6 and v2.44.3 to address the security issues
+CVE-2024-50349 and CVE-2024-52006; see the release notes for
+these versions for details.
+
+This version also backports various small fixes accumulated on the
'master' front during the development towards Git 2.46, the next
feature release.
diff --git a/Documentation/RelNotes/2.46.3.txt b/Documentation/RelNotes/2.46.3.txt
new file mode 100644
index 0000000000..4af032b63c
--- /dev/null
+++ b/Documentation/RelNotes/2.46.3.txt
@@ -0,0 +1,6 @@
+Git v2.46.3 Release Notes
+=========================
+
+This release merges up the fix that appears in v2.40.4, v2.41.3, v2.42.4,
+v2.43.6, v2.44.3 and v2.45.3 to address the security issues CVE-2024-50349 and
+CVE-2024-52006; see the release notes for these versions for details.
diff --git a/Documentation/RelNotes/2.47.2.txt b/Documentation/RelNotes/2.47.2.txt
new file mode 100644
index 0000000000..7a52ad8cb4
--- /dev/null
+++ b/Documentation/RelNotes/2.47.2.txt
@@ -0,0 +1,7 @@
+Git v2.47.2 Release Notes
+=========================
+
+This release merges up the fix that appears in v2.40.4, v2.41.3,
+v2.42.4, v2.43.6, v2.44.3, v2.45.3 and v2.46.3 to address the
+security issues CVE-2024-50349 and CVE-2024-52006; see the release
+notes for these versions for details.
diff --git a/Documentation/RelNotes/2.48.0.txt b/Documentation/RelNotes/2.48.0.txt
index 33c11e742f..eff93be37a 100644
--- a/Documentation/RelNotes/2.48.0.txt
+++ b/Documentation/RelNotes/2.48.0.txt
@@ -47,15 +47,15 @@ Performance, Internal Implementation, Development Support etc.
* The way AsciiDoc is used for SYNOPSIS part of the manual pages has
been revamped. The sources, at least for the simple cases, got
- vastly pleasant to work with.
+ vastly more pleasant to work with.
* The reftable library is now prepared to expect that the memory
allocation function given to it may fail to allocate and to deal
with such an error.
* An extra worktree attached to a repository points at each other to
- allow finding the repository from the worktree and vice versa
- possible. Turn this linkage to relative paths.
+ allow finding the repository from the worktree (and vice versa)
+ possible. Use relative paths for this linkage.
* Enable Windows-based CI in GitLab.
@@ -94,7 +94,7 @@ Performance, Internal Implementation, Development Support etc.
* Update the project's CodingGuidelines to discourage naming functions
with a "_1()" suffix.
- * Updates the '.clang-format' to match project conventions.
+ * Update '.clang-format' to match project conventions.
* Centralize documentation for repository extensions into a single place.
@@ -116,7 +116,7 @@ Performance, Internal Implementation, Development Support etc.
* The migration procedure between two ref backends has been optimized.
* "git fsck" learned to issue warnings on "curiously formatted" ref
- contents that have always been taken valid but something Git
+ contents that have always been treated as valid but that Git
wouldn't have written itself (e.g., missing terminating end-of-line
after the full object name).
@@ -127,13 +127,13 @@ Performance, Internal Implementation, Development Support etc.
* Drop support for ancient environments in various CI jobs.
- * Isolates the reftable subsystem from the rest of Git's codebase by
+ * Isolate the reftable subsystem from the rest of Git's codebase by
using fewer pieces of Git's infrastructure.
* Optimize reading random references out of the reftable backend by
allowing reuse of iterator objects.
- * Backport oss-fuzz tests for us to our codebase.
+ * Backport oss-fuzz tests to our codebase.
* Introduce a new repository extension to prevent older Git versions
from mis-interpreting worktrees created with relative paths.
@@ -161,18 +161,25 @@ Performance, Internal Implementation, Development Support etc.
* "git refs migrate" learned to also migrate the reflog data across
backends.
+ * The developer documentation has been updated to give the latest
+ info on gitk and git-gui maintainer.
+
+
+ * CI jobs that run threaded programs under LSan has been giving false
+ positives from time to time, which has been worked around.
+
Fixes since v2.47
-----------------
* Doc update to clarify how periodical maintenance are scheduled,
- spread across time to avoid thundering hurds.
+ spread across time to avoid thundering herds.
* Use after free and double freeing at the end in "git log -L... -p"
had been identified and fixed.
* On macOS, fsmonitor can fall into a race condition that results in
- a client waiting forever to be notified for an event that have
+ a client waiting forever to be notified about an event that has
already happened. This problem has been corrected.
* "git maintenance start" crashed due to an uninitialized variable
@@ -196,7 +203,7 @@ Fixes since v2.47
* The dumb-http code regressed when the result of re-indexing a pack
yielded an *.idx file that differs in content from the *.idx file
it downloaded from the remote. This has been corrected by no longer
- relying on: the *.idx file we got from the remote.
+ relying on the *.idx file we got from the remote.
* When called with '--left-right' and '--use-bitmap-index', 'rev-list'
will produce output without any left/right markers, which has been
@@ -220,7 +227,7 @@ Fixes since v2.47
* "git gc" discards any objects that are outside promisor packs that
are referred to by an object in a promisor pack, and we do not
refetch them from the promisor at runtime, resulting an unusable
- repository. Work it around by including these objects in the
+ repository. Work around it by including these objects in the
referring promisor pack at the receiving end of the fetch.
* Avoid build/test breakage on a system without working malloc debug
@@ -275,9 +282,8 @@ Fixes since v2.47
on the path, which was not documented, which has been corrected.
(merge bc1a980759 kk/doc-ancestry-path later to maint).
-
* "git tag" has been taught to refuse to create refs/tags/HEAD
- as such a tag will be confusing in the context of UI provided by
+ since such a tag will be confusing in the context of the UI provided by
the Git Porcelain commands.
(merge bbd445d5ef jc/forbid-head-as-tagname later to maint).
@@ -307,6 +313,12 @@ Fixes since v2.47
to avoid race condition even when multiple packs are involved.
(merge 62b3ec8a3f tb/bitmap-fix-pack-reuse later to maint).
+ * An earlier "csum-file checksum does not have to be computed with
+ sha1dc" topic had a few code paths that had initialized an
+ implementation of a hash function to be used by an unmatching hash
+ by mistake, which have been corrected.
+ (merge 599a63409b ps/weak-sha1-for-tail-sum-fix later to maint).
+
* Other code cleanup, docfix, build fix, etc.
(merge 77af53f56f aa/t7300-modernize later to maint).
(merge dcd590a39d bf/t-readme-mention-reftable later to maint).
diff --git a/Documentation/RelNotes/2.48.1.txt b/Documentation/RelNotes/2.48.1.txt
new file mode 100644
index 0000000000..26c59b6e3b
--- /dev/null
+++ b/Documentation/RelNotes/2.48.1.txt
@@ -0,0 +1,7 @@
+Git v2.48.1 Release Notes
+=========================
+
+This release merges up the fix that appears in v2.40.4, v2.41.3,
+v2.42.4, v2.43.6, v2.44.3, v2.45.3, v2.46.3, and v2.47.2 to address
+the security issues CVE-2024-50349 and CVE-2024-52006; see the release
+notes for these versions for details.
diff --git a/Documentation/RelNotes/2.49.0.txt b/Documentation/RelNotes/2.49.0.txt
new file mode 100644
index 0000000000..b4a1f10a78
--- /dev/null
+++ b/Documentation/RelNotes/2.49.0.txt
@@ -0,0 +1,15 @@
+Git v2.49 Release Notes
+=======================
+
+UI, Workflows & Features
+------------------------
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+
+Fixes since v2.48
+-----------------
+
+ * Other code cleanup, docfix, build fix, etc.
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index db17bc7fe2..958e3cc3d5 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -692,16 +692,17 @@ rebase when I receive your patches).
Some parts of the system have dedicated maintainers with their own
repositories.
-- `git-gui/` comes from git-gui project, maintained by Johannes Sixt:
+- `git-gui/` comes from the git-gui project, maintained by Johannes Sixt:
https://github.com/j6t/git-gui
-- `gitk-git/` comes from Paul Mackerras's gitk project:
+ Contibutions should go via the git mailing list.
- git://git.ozlabs.org/~paulus/gitk
+- `gitk-git/` comes from the gitk project, maintained by Johannes Sixt:
- Those who are interested in improving gitk can volunteer to help Paul
- maintain it, cf. <YntxL/fTplFm8lr6@cleo>.
+ https://github.com/j6t/gitk
+
+ Contibutions should go via the git mailing list.
- `po/` comes from the localization coordinator, Jiang Xin:
diff --git a/Documentation/asciidoc.conf.in b/Documentation/asciidoc.conf.in
index b89bccf230..f2aef6cb79 100644
--- a/Documentation/asciidoc.conf.in
+++ b/Documentation/asciidoc.conf.in
@@ -25,12 +25,22 @@ manmanual=Git Manual
mansource=Git @GIT_VERSION@
revdate=@GIT_DATE@
+ifdef::doctype-book[]
+[titles]
+ underlines="__","==","--","~~","^^"
+endif::doctype-book[]
+
ifdef::backend-docbook[]
[linkgit-inlinemacro]
+ifndef::doctype-book[]
{0%{target}}
{0#<citerefentry>}
{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
{0#</citerefentry>}
+endif::doctype-book[]
+ifdef::doctype-book[]
+<ulink url="{target}.html">{target}{0?({0})}</ulink>
+endif::doctype-book[]
[literal-inlinemacro]
{eval:re.sub(r'(&lt;[-a-zA-Z0-9.]+&gt;)', r'<emphasis>\1</emphasis>', re.sub(r'([\[\s|()>]|^|\]|&gt;)(\.?([-a-zA-Z0-9:+=~@,\/_^\$]+\.?)+)',r'\1<literal>\2</literal>', re.sub(r'(\.\.\.?)([^\]$.])', r'<literal>\1</literal>\2', macros.passthroughs[int(attrs['passtext'][1:-1])] if attrs['passtext'][1:-1].isnumeric() else attrs['passtext'][1:-1])))}
diff --git a/Documentation/config/credential.txt b/Documentation/config/credential.txt
index 470482ff4c..80a7c77772 100644
--- a/Documentation/config/credential.txt
+++ b/Documentation/config/credential.txt
@@ -22,6 +22,17 @@ credential.useHttpPath::
or https URL to be important. Defaults to false. See
linkgit:gitcredentials[7] for more information.
+credential.sanitizePrompt::
+ By default, user names and hosts that are shown as part of the
+ password prompt are not allowed to contain control characters (they
+ will be URL-encoded by default). Configure this setting to `false` to
+ override that behavior.
+
+credential.protectProtocol::
+ By default, Carriage Return characters are not allowed in the protocol
+ that is used when Git talks to a credential helper. This setting allows
+ users to override this default.
+
credential.username::
If no username is set for a network authentication, use this username
by default. See credential.<context>.* below, and
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 81498393af..e89a91dd0d 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -478,7 +478,7 @@ their values the same way as Boolean valued configuration variables, e.g.
Here are the variables:
System
-~~~~~~~~~~~~~~~~~~
+~~~~~~
`HOME`::
Specifies the path to the user's home directory. On Windows, if
unset, Git will set a process environment variable equal to:
diff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt
index bd62cbd043..fcd86d2eee 100644
--- a/Documentation/gitcli.txt
+++ b/Documentation/gitcli.txt
@@ -91,7 +91,7 @@ scripting Git:
written in the 'stuck' form.
* Despite the above suggestion, when Arg is a path relative to the
- home directory of a user, e.g. ~/directory/file or ~u/d/f, you
+ home directory of a user, e.g. `~/directory/file` or `~u/d/f`, you
may want to use the separate form, e.g. `git foo --file ~/mine`,
not `git foo --file=~/mine`. The shell will expand `~/` in the
former to your home directory, but most shells keep the tilde in
diff --git a/Documentation/howto-index.sh b/Documentation/howto/howto-index.sh
index 167b363668..eecd123a93 100755
--- a/Documentation/howto-index.sh
+++ b/Documentation/howto/howto-index.sh
@@ -48,7 +48,7 @@ do
file="$txt"
fi
- echo "* link:$file[$title] $from
+ echo "* link:howto/$(basename "$file")[$title] $from
$abstract
"
diff --git a/Documentation/howto/meson.build b/Documentation/howto/meson.build
new file mode 100644
index 0000000000..c023c10416
--- /dev/null
+++ b/Documentation/howto/meson.build
@@ -0,0 +1,62 @@
+howto_sources = [
+ 'coordinate-embargoed-releases.txt',
+ 'keep-canonical-history-correct.txt',
+ 'maintain-git.txt',
+ 'new-command.txt',
+ 'rebase-from-internal-branch.txt',
+ 'rebuild-from-update-hook.txt',
+ 'recover-corrupted-blob-object.txt',
+ 'recover-corrupted-object-harder.txt',
+ 'revert-a-faulty-merge.txt',
+ 'revert-branch-rebase.txt',
+ 'separating-topic-branches.txt',
+ 'setup-git-server-over-http.txt',
+ 'update-hook-example.txt',
+ 'use-git-daemon.txt',
+ 'using-merge-subtree.txt',
+ 'using-signed-tag-in-pull-request.txt',
+]
+
+howto_index = custom_target(
+ command: [
+ shell,
+ meson.current_source_dir() / 'howto-index.sh',
+ '@INPUT@',
+ ],
+ env: script_environment,
+ capture: true,
+ input: howto_sources,
+ output: 'howto-index.txt',
+)
+
+custom_target(
+ command: asciidoc_html_options,
+ input: howto_index,
+ output: 'howto-index.html',
+ depends: documentation_deps,
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc',
+)
+
+foreach howto : howto_sources
+ howto_stripped = custom_target(
+ command: [
+ find_program('sed'),
+ '-e',
+ '1,/^$/d',
+ '@INPUT@',
+ ],
+ input: howto,
+ output: fs.stem(howto) + '.stripped',
+ capture: true,
+ )
+
+ custom_target(
+ command: asciidoc_html_options,
+ input: howto_stripped,
+ output: fs.stem(howto_stripped.full_path()) + '.html',
+ depends: documentation_deps,
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc/howto',
+ )
+endforeach
diff --git a/Documentation/meson.build b/Documentation/meson.build
index fca3eab1f1..2a26fa8a5f 100644
--- a/Documentation/meson.build
+++ b/Documentation/meson.build
@@ -204,29 +204,87 @@ manpages = {
'gitworkflows.txt' : 7,
}
-asciidoc = find_program('asciidoc')
-git = find_program('git', required: false)
-xmlto = find_program('xmlto')
+docs_backend = get_option('docs_backend')
+if docs_backend == 'auto'
+ if find_program('asciidoc', required: false).found()
+ docs_backend = 'asciidoc'
+ elif find_program('asciidoctor', required: false).found()
+ docs_backend = 'asciidoctor'
+ else
+ error('Neither asciidoc nor asciidoctor were found.')
+ endif
+endif
-asciidoc_conf = custom_target(
- command: [
- shell,
- meson.project_source_root() / 'GIT-VERSION-GEN',
- meson.project_source_root(),
- '@INPUT@',
- '@OUTPUT@',
- ],
- input: meson.current_source_dir() / 'asciidoc.conf.in',
- output: 'asciidoc.conf',
- depends: [git_version_file],
- env: version_gen_environment,
-)
+if docs_backend == 'asciidoc'
+ asciidoc = find_program('asciidoc', required: true)
+ asciidoc_html = 'xhtml11'
+ asciidoc_docbook = 'docbook'
+ xmlto_extra = [ ]
-asciidoc_common_options = [
- asciidoc,
- '--conf-file=' + asciidoc_conf.full_path(),
- '--attribute=build_dir=' + meson.current_build_dir(),
-]
+ asciidoc_conf = custom_target(
+ command: [
+ shell,
+ meson.project_source_root() / 'GIT-VERSION-GEN',
+ meson.project_source_root(),
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+ input: 'asciidoc.conf.in',
+ output: 'asciidoc.conf',
+ depends: [git_version_file],
+ env: version_gen_environment,
+ )
+
+ asciidoc_common_options = [
+ asciidoc,
+ '--conf-file=' + asciidoc_conf.full_path(),
+ '--attribute=build_dir=' + meson.current_build_dir(),
+ ]
+
+ documentation_deps = [
+ asciidoc_conf,
+ ]
+elif docs_backend == 'asciidoctor'
+ asciidoctor = find_program('asciidoctor', required: true)
+ asciidoc_html = 'xhtml5'
+ asciidoc_docbook = 'docbook5'
+ xmlto_extra = [
+ '--skip-validation',
+ '-x', meson.current_source_dir() / 'manpage.xsl',
+ ]
+
+ asciidoctor_extensions = custom_target(
+ command: [
+ shell,
+ meson.project_source_root() / 'GIT-VERSION-GEN',
+ meson.project_source_root(),
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+ input: 'asciidoctor-extensions.rb.in',
+ output: 'asciidoctor-extensions.rb',
+ depends: [git_version_file],
+ env: version_gen_environment,
+ )
+
+ asciidoc_common_options = [
+ asciidoctor,
+ '--attribute', 'compat-mode',
+ '--attribute', 'tabsize=8',
+ '--attribute', 'litdd=&#x2d;&#x2d;',
+ '--attribute', 'docinfo=shared',
+ '--attribute', 'build_dir=' + meson.current_build_dir(),
+ '--load-path', meson.current_build_dir(),
+ '--require', 'asciidoctor-extensions',
+ ]
+
+ documentation_deps = [
+ asciidoctor_extensions,
+ ]
+endif
+
+git = find_program('git', required: false)
+xmlto = find_program('xmlto')
cmd_lists = [
'cmds-ancillaryinterrogators.txt',
@@ -243,17 +301,14 @@ cmd_lists = [
'cmds-foreignscminterface.txt',
]
-documentation_deps = [
- asciidoc_conf,
-]
-
documentation_deps += custom_target(
command: [
perl,
- meson.current_source_dir() / 'cmd-list.perl',
+ '@INPUT@',
meson.project_source_root(),
meson.current_build_dir(),
] + cmd_lists,
+ input: 'cmd-list.perl',
output: cmd_lists
)
@@ -261,15 +316,15 @@ foreach mode : [ 'diff', 'merge' ]
documentation_deps += custom_target(
command: [
shell,
- meson.current_source_dir() / 'generate-mergetool-list.sh',
+ '@INPUT@',
'..',
- 'diff',
+ mode,
'@OUTPUT@'
],
env: [
'MERGE_TOOLS_DIR=' + meson.project_source_root() / 'mergetools',
- 'TOOL_MODE=' + mode,
],
+ input: 'generate-mergetool-list.sh',
output: 'mergetools-' + mode + '.txt',
)
endforeach
@@ -278,12 +333,13 @@ foreach manpage, category : manpages
if get_option('docs').contains('man')
manpage_xml_target = custom_target(
command: asciidoc_common_options + [
- '--backend=docbook',
+ '--backend=' + asciidoc_docbook,
'--doctype=manpage',
'--out-file=@OUTPUT@',
- meson.current_source_dir() / manpage,
+ '@INPUT@',
],
depends: documentation_deps,
+ input: manpage,
output: fs.stem(manpage) + '.xml',
)
@@ -291,16 +347,18 @@ foreach manpage, category : manpages
manpage_target = custom_target(
command: [
xmlto,
- '-m',
- meson.current_source_dir() / 'manpage-normal.xsl',
- '-m',
- meson.current_source_dir() / 'manpage-bold-literal.xsl',
+ '-m', '@INPUT0@',
+ '-m', '@INPUT1@',
'--stringparam',
'man.base.url.for.relative.links=' + get_option('prefix') / get_option('mandir'),
'man',
manpage_xml_target,
'-o',
meson.current_build_dir(),
+ ] + xmlto_extra,
+ input: [
+ 'manpage-normal.xsl',
+ 'manpage-bold-literal.xsl',
],
output: manpage_path,
install: true,
@@ -308,18 +366,139 @@ foreach manpage, category : manpages
)
endif
- if get_option('docs').contains('html') and category == 1
+ if get_option('docs').contains('html')
custom_target(
command: asciidoc_common_options + [
- '--backend=xhtml11',
+ '--backend=' + asciidoc_html,
'--doctype=manpage',
'--out-file=@OUTPUT@',
- meson.current_source_dir() / manpage,
+ '@INPUT@',
],
depends: documentation_deps,
+ input: manpage,
output: fs.stem(manpage) + '.html',
install: true,
install_dir: get_option('datadir') / 'doc/git-doc',
)
endif
endforeach
+
+if get_option('docs').contains('html')
+ configure_file(
+ input: 'docinfo-html.in',
+ output: 'docinfo.html',
+ copy: true,
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc',
+ )
+
+ configure_file(
+ input: 'docbook-xsl.css',
+ output: 'docbook-xsl.css',
+ copy: true,
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc',
+ )
+
+ install_symlink('index.html',
+ install_dir: get_option('datadir') / 'doc/git-doc',
+ pointing_to: 'git.html',
+ )
+
+ xsltproc = find_program('xsltproc')
+
+ user_manual_xml = custom_target(
+ command: asciidoc_common_options + [
+ '--backend=' + asciidoc_docbook,
+ '--doctype=book',
+ '--out-file=@OUTPUT@',
+ '@INPUT@',
+ ],
+ input: 'user-manual.txt',
+ output: 'user-manual.xml',
+ depends: documentation_deps,
+ )
+
+ custom_target(
+ command: [
+ xsltproc,
+ '--xinclude',
+ '--stringparam', 'html.stylesheet', 'docbook-xsl.css',
+ '--param', 'generate.consistent.ids', '1',
+ '--output', '@OUTPUT@',
+ '@INPUT@',
+ user_manual_xml,
+ ],
+ input: 'docbook.xsl',
+ output: 'user-manual.html',
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc',
+ )
+
+ articles = [
+ 'DecisionMaking.txt',
+ 'MyFirstContribution.txt',
+ 'MyFirstObjectWalk.txt',
+ 'ReviewingGuidelines.txt',
+ 'SubmittingPatches',
+ 'ToolsForGit.txt',
+ 'git-bisect-lk2009.txt',
+ 'git-tools.txt',
+ ]
+
+ foreach article : articles
+ custom_target(
+ command: asciidoc_common_options + [
+ '--backend=' + asciidoc_html,
+ '--out-file=@OUTPUT@',
+ '@INPUT@',
+ ],
+ input: article,
+ output: fs.stem(article) + '.html',
+ depends: documentation_deps,
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc',
+ )
+ endforeach
+
+ asciidoc_html_options = asciidoc_common_options + [
+ '--backend=' + asciidoc_html,
+ '--out-file=@OUTPUT@',
+ '--attribute', 'git-relative-html-prefix=../',
+ '@INPUT@',
+ ]
+
+ subdir('howto')
+ subdir('technical')
+endif
+
+# Sanity check that we are not missing any tests present in 't/'. This check
+# only runs once at configure time and is thus best-effort, only. Furthermore,
+# it only verifies man pages for the sake of simplicity.
+configured_manpages = manpages.keys() + [ 'git-bisect-lk2009.txt', 'git-tools.txt' ]
+actual_manpages = run_command(shell, '-c', 'ls git*.txt scalar.txt',
+ check: true,
+ env: script_environment,
+).stdout().strip().split('\n')
+
+if configured_manpages != actual_manpages
+ missing_manpage = [ ]
+ foreach actual_manpage : actual_manpages
+ if actual_manpage not in configured_manpages
+ missing_manpage += actual_manpage
+ endif
+ endforeach
+ if missing_manpage.length() > 0
+ error('Man page found, but not configured:\n\n - ' + '\n - '.join(missing_manpage))
+ endif
+
+ superfluous_manpage = [ ]
+ foreach configured_manpage : configured_manpages
+ if configured_manpage not in actual_manpages
+ superfluous_manpage += configured_manpage
+ endif
+ endforeach
+ if superfluous_manpage.length() > 0
+ error('Man page configured, but not found:\n\n - ' + '\n - '.join(superfluous_manpage))
+ endif
+endif
diff --git a/Documentation/technical/api-index.sh b/Documentation/technical/api-index.sh
index 9c3f4131b8..2964885574 100755
--- a/Documentation/technical/api-index.sh
+++ b/Documentation/technical/api-index.sh
@@ -1,6 +1,17 @@
#!/bin/sh
+if test $# -ne 2
+then
+ echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>"
+ exit 1
+fi
+
+SOURCE_DIR="$1"
+OUTPUT="$2"
+
(
+ cd "$SOURCE_DIR"
+
c=////////////////////////////////////////////////////////////////
skel=api-index-skel.txt
sed -e '/^\/\/ table of contents begin/q' "$skel"
@@ -18,11 +29,11 @@
done
echo "$c"
sed -n -e '/^\/\/ table of contents end/,$p' "$skel"
-) >api-index.txt+
+) >"$OUTPUT"+
-if test -f api-index.txt && cmp api-index.txt api-index.txt+ >/dev/null
+if test -f "$OUTPUT" && cmp "$OUTPUT" "$OUTPUT"+ >/dev/null
then
- rm -f api-index.txt+
+ rm -f "$OUTPUT"+
else
- mv api-index.txt+ api-index.txt
+ mv "$OUTPUT"+ "$OUTPUT"
fi
diff --git a/Documentation/technical/meson.build b/Documentation/technical/meson.build
new file mode 100644
index 0000000000..21dfb8b5c9
--- /dev/null
+++ b/Documentation/technical/meson.build
@@ -0,0 +1,66 @@
+api_docs = [
+ 'api-error-handling.txt',
+ 'api-merge.txt',
+ 'api-parse-options.txt',
+ 'api-simple-ipc.txt',
+ 'api-trace2.txt',
+]
+
+articles = [
+ 'bitmap-format.txt',
+ 'build-systems.txt',
+ 'bundle-uri.txt',
+ 'commit-graph.txt',
+ 'directory-rename-detection.txt',
+ 'hash-function-transition.txt',
+ 'long-running-process-protocol.txt',
+ 'multi-pack-index.txt',
+ 'packfile-uri.txt',
+ 'pack-heuristics.txt',
+ 'parallel-checkout.txt',
+ 'partial-clone.txt',
+ 'platform-support.txt',
+ 'racy-git.txt',
+ 'reftable.txt',
+ 'remembering-renames.txt',
+ 'repository-version.txt',
+ 'rerere.txt',
+ 'scalar.txt',
+ 'send-pack-pipeline.txt',
+ 'shallow.txt',
+ 'sparse-checkout.txt',
+ 'sparse-index.txt',
+ 'trivial-merge.txt',
+ 'unit-tests.txt',
+]
+
+api_index = custom_target(
+ command: [
+ shell,
+ meson.current_source_dir() / 'api-index.sh',
+ meson.current_source_dir(),
+ '@OUTPUT@',
+ ],
+ env: script_environment,
+ input: api_docs,
+ output: 'api-index.txt',
+)
+
+custom_target(
+ command: asciidoc_html_options,
+ input: api_index,
+ output: 'api-index.html',
+ depends: documentation_deps,
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc/technical',
+)
+
+foreach article : api_docs + articles
+ custom_target(
+ command: asciidoc_html_options,
+ input: article,
+ output: fs.stem(article) + '.html',
+ install: true,
+ install_dir: get_option('datadir') / 'doc/git-doc/technical',
+ )
+endforeach
diff --git a/Documentation/user-manual.conf b/Documentation/user-manual.conf
deleted file mode 100644
index 0148f126dc..0000000000
--- a/Documentation/user-manual.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-[titles]
- underlines="__","==","--","~~","^^"
-
-[attributes]
-caret=^
-startsb=&#91;
-endsb=&#93;
-tilde=&#126;
-
-[linkgit-inlinemacro]
-<ulink url="{target}.html">{target}{0?({0})}</ulink>
diff --git a/GIT-BUILD-OPTIONS.in b/GIT-BUILD-OPTIONS.in
index f651116102..edff75ae16 100644
--- a/GIT-BUILD-OPTIONS.in
+++ b/GIT-BUILD-OPTIONS.in
@@ -1,47 +1,48 @@
-SHELL_PATH=@SHELL_PATH@
-TEST_SHELL_PATH=@TEST_SHELL_PATH@
-PERL_PATH=@PERL_PATH@
-PERL_LOCALEDIR=@PERL_LOCALEDIR@
-NO_PERL_CPAN_FALLBACKS=@NO_PERL_CPAN_FALLBACKS@
+BROKEN_PATH_FIX=@BROKEN_PATH_FIX@
DIFF=@DIFF@
-PYTHON_PATH=@PYTHON_PATH@
-TAR=@TAR@
+FSMONITOR_DAEMON_BACKEND=@FSMONITOR_DAEMON_BACKEND@
+FSMONITOR_OS_SETTINGS=@FSMONITOR_OS_SETTINGS@
+GITWEBDIR=@GITWEBDIR@
+GIT_INTEROP_MAKE_OPTS=@GIT_INTEROP_MAKE_OPTS@
+GIT_PERF_LARGE_REPO=@GIT_PERF_LARGE_REPO@
+GIT_PERF_MAKE_COMMAND=@GIT_PERF_MAKE_COMMAND@
+GIT_PERF_MAKE_OPTS=@GIT_PERF_MAKE_OPTS@
+GIT_PERF_REPEAT_COUNT=@GIT_PERF_REPEAT_COUNT@
+GIT_PERF_REPO=@GIT_PERF_REPO@
+GIT_TEST_CMP=@GIT_TEST_CMP@
+GIT_TEST_CMP_USE_COPIED_CONTEXT=@GIT_TEST_CMP_USE_COPIED_CONTEXT@
+GIT_TEST_GITPERLLIB=@GIT_TEST_GITPERLLIB@
+GIT_TEST_INDEX_VERSION=@GIT_TEST_INDEX_VERSION@
+GIT_TEST_MERGE_TOOLS_DIR=@GIT_TEST_MERGE_TOOLS_DIR@
+GIT_TEST_OPTS=@GIT_TEST_OPTS@
+GIT_TEST_PERL_FATAL_WARNINGS=@GIT_TEST_PERL_FATAL_WARNINGS@
+GIT_TEST_POPATH=@GIT_TEST_POPATH@
+GIT_TEST_TEMPLATE_DIR=@GIT_TEST_TEMPLATE_DIR@
+GIT_TEST_TEXTDOMAINDIR=@GIT_TEST_TEXTDOMAINDIR@
+GIT_TEST_UTF8_LOCALE=@GIT_TEST_UTF8_LOCALE@
+LOCALEDIR=@LOCALEDIR@
NO_CURL=@NO_CURL@
-NO_ICONV=@NO_ICONV@
NO_EXPAT=@NO_EXPAT@
-USE_LIBPCRE2=@USE_LIBPCRE2@
+NO_GETTEXT=@NO_GETTEXT@
+NO_GITWEB=@NO_GITWEB@
+NO_ICONV=@NO_ICONV@
NO_PERL=@NO_PERL@
+NO_PERL_CPAN_FALLBACKS=@NO_PERL_CPAN_FALLBACKS@
NO_PTHREADS=@NO_PTHREADS@
NO_PYTHON=@NO_PYTHON@
NO_REGEX=@NO_REGEX@
NO_UNIX_SOCKETS=@NO_UNIX_SOCKETS@
PAGER_ENV=@PAGER_ENV@
-SANITIZE_LEAK=@SANITIZE_LEAK@
+PERL_LOCALEDIR=@PERL_LOCALEDIR@
+PERL_PATH=@PERL_PATH@
+PYTHON_PATH=@PYTHON_PATH@
+RUNTIME_PREFIX=@RUNTIME_PREFIX@
SANITIZE_ADDRESS=@SANITIZE_ADDRESS@
-X=@X@
-FSMONITOR_DAEMON_BACKEND=@FSMONITOR_DAEMON_BACKEND@
-FSMONITOR_OS_SETTINGS=@FSMONITOR_OS_SETTINGS@
+SANITIZE_LEAK=@SANITIZE_LEAK@
+SHELL_PATH=@SHELL_PATH@
+TAR=@TAR@
TEST_OUTPUT_DIRECTORY=@TEST_OUTPUT_DIRECTORY@
-GIT_TEST_OPTS=@GIT_TEST_OPTS@
-GIT_TEST_CMP=@GIT_TEST_CMP@
-GIT_TEST_CMP_USE_COPIED_CONTEXT=@GIT_TEST_CMP_USE_COPIED_CONTEXT@
-GIT_TEST_UTF8_LOCALE=@GIT_TEST_UTF8_LOCALE@
-NO_GETTEXT=@NO_GETTEXT@
-GIT_PERF_REPEAT_COUNT=@GIT_PERF_REPEAT_COUNT@
-GIT_PERF_REPO=@GIT_PERF_REPO@
-GIT_PERF_LARGE_REPO=@GIT_PERF_LARGE_REPO@
-GIT_PERF_MAKE_OPTS=@GIT_PERF_MAKE_OPTS@
-GIT_PERF_MAKE_COMMAND=@GIT_PERF_MAKE_COMMAND@
-GIT_INTEROP_MAKE_OPTS=@GIT_INTEROP_MAKE_OPTS@
-GIT_TEST_INDEX_VERSION=@GIT_TEST_INDEX_VERSION@
-GIT_TEST_PERL_FATAL_WARNINGS=@GIT_TEST_PERL_FATAL_WARNINGS@
-GIT_TEST_TEXTDOMAINDIR=@GIT_TEST_TEXTDOMAINDIR@
-GIT_TEST_POPATH=@GIT_TEST_POPATH@
-GIT_TEST_TEMPLATE_DIR=@GIT_TEST_TEMPLATE_DIR@
-GIT_TEST_GITPERLLIB=@GIT_TEST_GITPERLLIB@
-GIT_TEST_MERGE_TOOLS_DIR=@GIT_TEST_MERGE_TOOLS_DIR@
-RUNTIME_PREFIX=@RUNTIME_PREFIX@
-GITWEBDIR=@GITWEBDIR@
+TEST_SHELL_PATH=@TEST_SHELL_PATH@
USE_GETTEXT_SCHEME=@USE_GETTEXT_SCHEME@
-LOCALEDIR=@LOCALEDIR@
-BROKEN_PATH_FIX=@BROKEN_PATH_FIX@
+USE_LIBPCRE2=@USE_LIBPCRE2@
+X=@X@
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 194ec0f9ad..3704a1c39e 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,6 +1,6 @@
#!/bin/sh
-DEF_VER=v2.48.0-rc1
+DEF_VER=v2.48.GIT
LF='
'
@@ -86,11 +86,11 @@ sed -e "s|@GIT_VERSION@|$GIT_VERSION|" \
-e "s|@GIT_BUILT_FROM_COMMIT@|$GIT_BUILT_FROM_COMMIT|" \
-e "s|@GIT_USER_AGENT@|$GIT_USER_AGENT|" \
-e "s|@GIT_DATE@|$GIT_DATE|" \
- "$INPUT" >"$OUTPUT"+
+ "$INPUT" >"$OUTPUT".$$+
-if ! test -f "$OUTPUT" || ! cmp "$OUTPUT"+ "$OUTPUT" >/dev/null
+if ! test -f "$OUTPUT" || ! cmp "$OUTPUT".$$+ "$OUTPUT" >/dev/null
then
- mv "$OUTPUT"+ "$OUTPUT"
+ mv "$OUTPUT".$$+ "$OUTPUT"
else
- rm "$OUTPUT"+
+ rm "$OUTPUT".$$+
fi
diff --git a/Makefile b/Makefile
index 3fa4bf0d06..97e8385b66 100644
--- a/Makefile
+++ b/Makefile
@@ -3145,53 +3145,54 @@ endif
# and the first level quoting from the shell that runs "echo".
GIT-BUILD-OPTIONS: FORCE
@sed \
- -e "s|@SHELL_PATH@|\'$(SHELL_PATH_SQ)\'|" \
- -e "s|@TEST_SHELL_PATH@|\'$(TEST_SHELL_PATH_SQ)\'|" \
- -e "s|@PERL_PATH@|\'$(PERL_PATH_SQ)\'|" \
- -e "s|@PERL_LOCALEDIR@|\'$(perl_localedir_SQ)\'|" \
- -e "s|@NO_PERL_CPAN_FALLBACKS@|\'$(NO_PERL_CPAN_FALLBACKS_SQ)\'|" \
+ -e "s!@BROKEN_PATH_FIX@!\'$(BROKEN_PATH_FIX)\'!" \
-e "s|@DIFF@|\'$(DIFF)\'|" \
- -e "s|@PYTHON_PATH@|\'$(PYTHON_PATH_SQ)\'|" \
- -e "s|@TAR@|\'$(TAR)\'|" \
+ -e "s|@FSMONITOR_DAEMON_BACKEND@|\'$(FSMONITOR_DAEMON_BACKEND)\'|" \
+ -e "s|@FSMONITOR_OS_SETTINGS@|\'$(FSMONITOR_OS_SETTINGS)\'|" \
+ -e "s|@GITWEBDIR@|\'$(gitwebdir_SQ)\'|" \
+ -e "s|@GIT_INTEROP_MAKE_OPTS@|\'$(GIT_INTEROP_MAKE_OPTS)\'|" \
+ -e "s|@GIT_PERF_LARGE_REPO@|\'$(GIT_PERF_LARGE_REPO)\'|" \
+ -e "s|@GIT_PERF_MAKE_COMMAND@|\'$(GIT_PERF_MAKE_COMMAND)\'|" \
+ -e "s|@GIT_PERF_MAKE_OPTS@|\'$(GIT_PERF_MAKE_OPTS)\'|" \
+ -e "s|@GIT_PERF_REPEAT_COUNT@|\'$(GIT_PERF_REPEAT_COUNT)\'|" \
+ -e "s|@GIT_PERF_REPO@|\'$(GIT_PERF_REPO)\'|" \
+ -e "s|@GIT_TEST_CMP@|\'$(GIT_TEST_CMP)\'|" \
+ -e "s|@GIT_TEST_CMP_USE_COPIED_CONTEXT@|\'$(GIT_TEST_CMP_USE_COPIED_CONTEXT)\'|" \
+ -e "s|@GIT_TEST_GITPERLLIB@|\'$(shell pwd)/perl/build/lib\'|" \
+ -e "s|@GIT_TEST_INDEX_VERSION@|\'$(GIT_TEST_INDEX_VERSION)\'|" \
+ -e "s|@GIT_TEST_MERGE_TOOLS_DIR@|\'$(shell pwd)/mergetools\'|" \
+ -e "s|@GIT_TEST_OPTS@|\'$(GIT_TEST_OPTS)\'|" \
+ -e "s|@GIT_TEST_PERL_FATAL_WARNINGS@|\'$(GIT_TEST_PERL_FATAL_WARNINGS)\'|" \
+ -e "s|@GIT_TEST_POPATH@|\'$(shell pwd)/po\'|" \
+ -e "s|@GIT_TEST_TEMPLATE_DIR@|\'$(shell pwd)/templates/blt\'|" \
+ -e "s|@GIT_TEST_TEXTDOMAINDIR@|\'$(shell pwd)/po/build/locale\'|" \
+ -e "s|@GIT_TEST_UTF8_LOCALE@|\'$(GIT_TEST_UTF8_LOCALE)\'|" \
+ -e "s|@LOCALEDIR@|\'$(localedir_SQ)\'|" \
-e "s|@NO_CURL@|\'$(NO_CURL)\'|" \
- -e "s|@NO_ICONV@|\'$(NO_ICONV)\'|" \
-e "s|@NO_EXPAT@|\'$(NO_EXPAT)\'|" \
- -e "s|@USE_LIBPCRE2@|\'$(USE_LIBPCRE2)\'|" \
+ -e "s|@NO_GETTEXT@|\'$(NO_GETTEXT)\'|" \
+ -e "s|@NO_GITWEB@|\'$(NO_GITWEB)\'|" \
+ -e "s|@NO_ICONV@|\'$(NO_ICONV)\'|" \
-e "s|@NO_PERL@|\'$(NO_PERL)\'|" \
+ -e "s|@NO_PERL_CPAN_FALLBACKS@|\'$(NO_PERL_CPAN_FALLBACKS_SQ)\'|" \
-e "s|@NO_PTHREADS@|\'$(NO_PTHREADS)\'|" \
-e "s|@NO_PYTHON@|\'$(NO_PYTHON)\'|" \
-e "s|@NO_REGEX@|\'$(NO_REGEX)\'|" \
-e "s|@NO_UNIX_SOCKETS@|\'$(NO_UNIX_SOCKETS)\'|" \
-e "s|@PAGER_ENV@|\'$(PAGER_ENV)\'|" \
- -e "s|@SANITIZE_LEAK@|\'$(SANITIZE_LEAK)\'|" \
+ -e "s|@PERL_LOCALEDIR@|\'$(perl_localedir_SQ)\'|" \
+ -e "s|@PERL_PATH@|\'$(PERL_PATH_SQ)\'|" \
+ -e "s|@PYTHON_PATH@|\'$(PYTHON_PATH_SQ)\'|" \
+ -e "s|@RUNTIME_PREFIX@|\'$(RUNTIME_PREFIX_OPTION)\'|" \
-e "s|@SANITIZE_ADDRESS@|\'$(SANITIZE_ADDRESS)\'|" \
- -e "s|@X@|\'$(X)\'|" \
- -e "s|@FSMONITOR_DAEMON_BACKEND@|\'$(FSMONITOR_DAEMON_BACKEND)\'|" \
- -e "s|@FSMONITOR_OS_SETTINGS@|\'$(FSMONITOR_OS_SETTINGS)\'|" \
+ -e "s|@SANITIZE_LEAK@|\'$(SANITIZE_LEAK)\'|" \
+ -e "s|@SHELL_PATH@|\'$(SHELL_PATH_SQ)\'|" \
+ -e "s|@TAR@|\'$(TAR)\'|" \
-e "s|@TEST_OUTPUT_DIRECTORY@|\'$(TEST_OUTPUT_DIRECTORY)\'|" \
- -e "s|@GIT_TEST_OPTS@|\'$(GIT_TEST_OPTS)\'|" \
- -e "s|@GIT_TEST_CMP@|\'$(GIT_TEST_CMP)\'|" \
- -e "s|@GIT_TEST_CMP_USE_COPIED_CONTEXT@|\'$(GIT_TEST_CMP_USE_COPIED_CONTEXT)\'|" \
- -e "s|@GIT_TEST_UTF8_LOCALE@|\'$(GIT_TEST_UTF8_LOCALE)\'|" \
- -e "s|@NO_GETTEXT@|\'$(NO_GETTEXT)\'|" \
- -e "s|@GIT_PERF_REPEAT_COUNT@|\'$(GIT_PERF_REPEAT_COUNT)\'|" \
- -e "s|@GIT_PERF_REPO@|\'$(GIT_PERF_REPO)\'|" \
- -e "s|@GIT_PERF_LARGE_REPO@|\'$(GIT_PERF_LARGE_REPO)\'|" \
- -e "s|@GIT_PERF_MAKE_OPTS@|\'$(GIT_PERF_MAKE_OPTS)\'|" \
- -e "s|@GIT_PERF_MAKE_COMMAND@|\'$(GIT_PERF_MAKE_COMMAND)\'|" \
- -e "s|@GIT_INTEROP_MAKE_OPTS@|\'$(GIT_INTEROP_MAKE_OPTS)\'|" \
- -e "s|@GIT_TEST_INDEX_VERSION@|\'$(GIT_TEST_INDEX_VERSION)\'|" \
- -e "s|@GIT_TEST_PERL_FATAL_WARNINGS@|\'$(GIT_TEST_PERL_FATAL_WARNINGS)\'|" \
- -e "s|@GIT_TEST_TEXTDOMAINDIR@|\'$(shell pwd)/po/build/locale\'|" \
- -e "s|@GIT_TEST_POPATH@|\'$(shell pwd)/po\'|" \
- -e "s|@GIT_TEST_TEMPLATE_DIR@|\'$(shell pwd)/templates/blt\'|" \
- -e "s|@GIT_TEST_GITPERLLIB@|\'$(shell pwd)/perl/build/lib\'|" \
- -e "s|@GIT_TEST_MERGE_TOOLS_DIR@|\'$(shell pwd)/mergetools\'|" \
- -e "s|@RUNTIME_PREFIX@|\'$(RUNTIME_PREFIX_OPTION)\'|" \
- -e "s|@GITWEBDIR@|\'$(gitwebdir_SQ)\'|" \
+ -e "s|@TEST_SHELL_PATH@|\'$(TEST_SHELL_PATH_SQ)\'|" \
-e "s|@USE_GETTEXT_SCHEME@|\'$(USE_GETTEXT_SCHEME)\'|" \
- -e "s|@LOCALEDIR@|\'$(localedir_SQ)\'|" \
- -e "s!@BROKEN_PATH_FIX@!\'$(BROKEN_PATH_FIX)\'!" \
+ -e "s|@USE_LIBPCRE2@|\'$(USE_LIBPCRE2)\'|" \
+ -e "s|@X@|\'$(X)\'|" \
GIT-BUILD-OPTIONS.in >$@+
@if grep -q '^[A-Z][A-Z_]*=@.*@$$' $@+; then echo "Unsubstituted build options in $@" >&2 && exit 1; fi
@if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
diff --git a/RelNotes b/RelNotes
index 061d699283..978481996e 120000
--- a/RelNotes
+++ b/RelNotes
@@ -1 +1 @@
-Documentation/RelNotes/2.48.0.txt \ No newline at end of file
+Documentation/RelNotes/2.49.0.txt \ No newline at end of file
diff --git a/builtin/blame.c b/builtin/blame.c
index 867032e4c1..7555c445ab 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -489,9 +489,9 @@ static void emit_other(struct blame_scoreboard *sb, struct blame_entry *ent, int
fputs(color, stdout);
if (suspect->commit->object.flags & UNINTERESTING) {
- if (blank_boundary)
- memset(hex, ' ', length);
- else if (!(opt & OUTPUT_ANNOTATE_COMPAT)) {
+ if (blank_boundary) {
+ memset(hex, ' ', strlen(hex));
+ } else if (!(opt & OUTPUT_ANNOTATE_COMPAT)) {
length--;
putchar('^');
}
@@ -505,7 +505,8 @@ static void emit_other(struct blame_scoreboard *sb, struct blame_entry *ent, int
length--;
putchar('?');
}
- fwrite(hex, 1, length, stdout);
+
+ printf("%.*s", (int)(length < GIT_MAX_HEXSZ ? length : GIT_MAX_HEXSZ), hex);
if (opt & OUTPUT_ANNOTATE_COMPAT) {
const char *name;
if (opt & OUTPUT_SHOW_EMAIL)
diff --git a/builtin/fast-import.c b/builtin/fast-import.c
index 1fa2929a01..0f86392761 100644
--- a/builtin/fast-import.c
+++ b/builtin/fast-import.c
@@ -1106,7 +1106,7 @@ static void stream_blob(uintmax_t len, struct object_id *oidout, uintmax_t mark)
|| (pack_size + PACK_SIZE_THRESHOLD + len) < pack_size)
cycle_packfile();
- the_hash_algo->init_fn(&checkpoint.ctx);
+ the_hash_algo->unsafe_init_fn(&checkpoint.ctx);
hashfile_checkpoint(pack_file, &checkpoint);
offset = checkpoint.offset;
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 2d37a378ba..fe2b26c74a 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1588,8 +1588,8 @@ static void set_head_advice_msg(const char *remote, const char *head_name)
N_("Run 'git remote set-head %s %s' to follow the change, or set\n"
"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
"if you do not want to see this message. Specifically running\n"
- "'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
- "until the remote changes HEAD to something else.");
+ "'git config set remote.%s.followRemoteHEAD warn-if-not-branch-%s'\n"
+ "will disable the warning until the remote changes HEAD to something else.");
advise_if_enabled(ADVICE_FETCH_SET_HEAD_WARN, _(message_advice_set_head),
remote, head_name, remote, remote, head_name);
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index d773809c4c..0b62b2589f 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -1336,7 +1336,6 @@ static void resolve_deltas(struct pack_idx_option *opts)
base_cache_limit = opts->delta_base_cache_limit * nr_threads;
if (nr_threads > 1 || getenv("GIT_FORCE_THREADS")) {
init_thread();
- work_lock();
for (i = 0; i < nr_threads; i++) {
int ret = pthread_create(&thread_data[i].thread, NULL,
threaded_second_pass, thread_data + i);
@@ -1344,7 +1343,6 @@ static void resolve_deltas(struct pack_idx_option *opts)
die(_("unable to create thread: %s"),
strerror(ret));
}
- work_unlock();
for (i = 0; i < nr_threads; i++)
pthread_join(thread_data[i].thread, NULL);
cleanup_thread();
diff --git a/bulk-checkin.c b/bulk-checkin.c
index 4a70a70a95..433070a3bd 100644
--- a/bulk-checkin.c
+++ b/bulk-checkin.c
@@ -272,7 +272,7 @@ static int deflate_blob_to_pack(struct bulk_checkin_packfile *state,
OBJ_BLOB, size);
the_hash_algo->init_fn(&ctx);
the_hash_algo->update_fn(&ctx, obuf, header_len);
- the_hash_algo->init_fn(&checkpoint.ctx);
+ the_hash_algo->unsafe_init_fn(&checkpoint.ctx);
/* Note: idx is non-NULL when we are writing */
if ((flags & HASH_WRITE_OBJECT) != 0)
diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
index c4a41bba0b..76667a1277 100755
--- a/ci/run-build-and-tests.sh
+++ b/ci/run-build-and-tests.sh
@@ -17,6 +17,7 @@ linux-gcc)
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
;;
linux-TEST-vars)
+ export OPENSSL_SHA1_UNSAFE=YesPlease
export GIT_TEST_SPLIT_INDEX=yes
export GIT_TEST_MERGE_ALGORITHM=recursive
export GIT_TEST_FULL_IN_PACK_ARRAY=true
diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
index 802445c1eb..10dc54fdcb 100644
--- a/contrib/buildsystems/CMakeLists.txt
+++ b/contrib/buildsystems/CMakeLists.txt
@@ -1158,53 +1158,54 @@ if(NOT PYTHON_TESTS)
endif()
file(STRINGS ${CMAKE_SOURCE_DIR}/GIT-BUILD-OPTIONS.in git_build_options NEWLINE_CONSUME)
-string(REPLACE "@SHELL_PATH@" "'${SHELL_PATH}'" git_build_options "${git_build_options}")
-string(REPLACE "@TEST_SHELL_PATH@" "'${TEST_SHELL_PATH}'" git_build_options "${git_build_options}")
-string(REPLACE "@PERL_PATH@" "'${PERL_PATH}'" git_build_options "${git_build_options}")
-string(REPLACE "@PERL_LOCALEDIR@" "'${LOCALEDIR}'" git_build_options "${git_build_options}")
-string(REPLACE "@NO_PERL_CPAN_FALLBACKS@" "" git_build_options "${git_build_options}")
+string(REPLACE "@BROKEN_PATH_FIX@" "" git_build_options "${git_build_options}")
string(REPLACE "@DIFF@" "'${DIFF}'" git_build_options "${git_build_options}")
-string(REPLACE "@PYTHON_PATH@" "'${PYTHON_PATH}'" git_build_options "${git_build_options}")
-string(REPLACE "@TAR@" "'${TAR}'" git_build_options "${git_build_options}")
+string(REPLACE "@FSMONITOR_DAEMON_BACKEND@" "win32" git_build_options "${git_build_options}")
+string(REPLACE "@FSMONITOR_OS_SETTINGS@" "win32" git_build_options "${git_build_options}")
+string(REPLACE "@GITWEBDIR@" "'${GITWEBDIR}'" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_INTEROP_MAKE_OPTS@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_PERF_LARGE_REPO@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_PERF_MAKE_COMMAND@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_PERF_MAKE_OPTS@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_PERF_REPEAT_COUNT@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_PERF_REPO@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_CMP@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_CMP_USE_COPIED_CONTEXT@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_GITPERLLIB@" "'${CMAKE_BINARY_DIR}/perl/build/lib'" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_INDEX_VERSION@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_MERGE_TOOLS_DIR@" "'${CMAKE_BINARY_DIR}/mergetools'" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_OPTS@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_PERL_FATAL_WARNINGS@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_POPATH@" "'${CMAKE_BINARY_DIR}/po'" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_TEMPLATE_DIR@" "'${CMAKE_BINARY_DIR}/templates/blt'" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_TEXTDOMAINDIR@" "'${CMAKE_BINARY_DIR}/po/build/locale'" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_TEST_UTF8_LOCALE@" "" git_build_options "${git_build_options}")
+string(REPLACE "@LOCALEDIR@" "'${LOCALEDIR}'" git_build_options "${git_build_options}")
string(REPLACE "@NO_CURL@" "${NO_CURL}" git_build_options "${git_build_options}")
-string(REPLACE "@NO_ICONV@" "${NO_ICONV}" git_build_options "${git_build_options}")
string(REPLACE "@NO_EXPAT@" "${NO_EXPAT}" git_build_options "${git_build_options}")
-string(REPLACE "@USE_LIBPCRE2@" "" git_build_options "${git_build_options}")
+string(REPLACE "@NO_GETTEXT@" "${NO_GETTEXT}" git_build_options "${git_build_options}")
+string(REPLACE "@NO_GITWEB@" "1" git_build_options "${git_build_options}")
+string(REPLACE "@NO_ICONV@" "${NO_ICONV}" git_build_options "${git_build_options}")
string(REPLACE "@NO_PERL@" "${NO_PERL}" git_build_options "${git_build_options}")
+string(REPLACE "@NO_PERL_CPAN_FALLBACKS@" "" git_build_options "${git_build_options}")
string(REPLACE "@NO_PTHREADS@" "${NO_PTHREADS}" git_build_options "${git_build_options}")
string(REPLACE "@NO_PYTHON@" "${NO_PYTHON}" git_build_options "${git_build_options}")
string(REPLACE "@NO_REGEX@" "" git_build_options "${git_build_options}")
string(REPLACE "@NO_UNIX_SOCKETS@" "${NO_UNIX_SOCKETS}" git_build_options "${git_build_options}")
string(REPLACE "@PAGER_ENV@" "'${PAGER_ENV}'" git_build_options "${git_build_options}")
-string(REPLACE "@SANITIZE_LEAK@" "" git_build_options "${git_build_options}")
+string(REPLACE "@PERL_LOCALEDIR@" "'${LOCALEDIR}'" git_build_options "${git_build_options}")
+string(REPLACE "@PERL_PATH@" "'${PERL_PATH}'" git_build_options "${git_build_options}")
+string(REPLACE "@PYTHON_PATH@" "'${PYTHON_PATH}'" git_build_options "${git_build_options}")
+string(REPLACE "@RUNTIME_PREFIX@" "'${RUNTIME_PREFIX}'" git_build_options "${git_build_options}")
string(REPLACE "@SANITIZE_ADDRESS@" "" git_build_options "${git_build_options}")
-string(REPLACE "@X@" "${EXE_EXTENSION}" git_build_options "${git_build_options}")
-string(REPLACE "@FSMONITOR_DAEMON_BACKEND@" "win32" git_build_options "${git_build_options}")
-string(REPLACE "@FSMONITOR_OS_SETTINGS@" "win32" git_build_options "${git_build_options}")
+string(REPLACE "@SANITIZE_LEAK@" "" git_build_options "${git_build_options}")
+string(REPLACE "@SHELL_PATH@" "'${SHELL_PATH}'" git_build_options "${git_build_options}")
+string(REPLACE "@TAR@" "'${TAR}'" git_build_options "${git_build_options}")
string(REPLACE "@TEST_OUTPUT_DIRECTORY@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_OPTS@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_CMP@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_CMP_USE_COPIED_CONTEXT@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_UTF8_LOCALE@" "" git_build_options "${git_build_options}")
-string(REPLACE "@NO_GETTEXT@" "${NO_GETTEXT}" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_PERF_REPEAT_COUNT@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_PERF_REPO@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_PERF_LARGE_REPO@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_PERF_MAKE_OPTS@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_PERF_MAKE_COMMAND@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_INTEROP_MAKE_OPTS@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_INDEX_VERSION@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_PERL_FATAL_WARNINGS@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_TEXTDOMAINDIR@" "'${CMAKE_BINARY_DIR}/po/build/locale'" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_POPATH@" "'${CMAKE_BINARY_DIR}/po'" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_TEMPLATE_DIR@" "'${CMAKE_BINARY_DIR}/templates/blt'" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_GITPERLLIB@" "'${CMAKE_BINARY_DIR}/perl/build/lib'" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_MERGE_TOOLS_DIR@" "'${CMAKE_BINARY_DIR}/mergetools'" git_build_options "${git_build_options}")
-string(REPLACE "@RUNTIME_PREFIX@" "'${RUNTIME_PREFIX}'" git_build_options "${git_build_options}")
-string(REPLACE "@GITWEBDIR@" "'${GITWEBDIR}'" git_build_options "${git_build_options}")
+string(REPLACE "@TEST_SHELL_PATH@" "'${TEST_SHELL_PATH}'" git_build_options "${git_build_options}")
string(REPLACE "@USE_GETTEXT_SCHEME@" "" git_build_options "${git_build_options}")
-string(REPLACE "@LOCALEDIR@" "'${LOCALEDIR}'" git_build_options "${git_build_options}")
-string(REPLACE "@BROKEN_PATH_FIX@" "" git_build_options "${git_build_options}")
+string(REPLACE "@USE_LIBPCRE2@" "" git_build_options "${git_build_options}")
+string(REPLACE "@X@" "${EXE_EXTENSION}" git_build_options "${git_build_options}")
if(USE_VCPKG)
string(APPEND git_build_options "PATH=\"$PATH:$TEST_DIRECTORY/../compat/vcbuild/vcpkg/installed/x64-windows/bin\"\n")
endif()
diff --git a/credential.c b/credential.c
index a995031c5f..6e6e81c4cb 100644
--- a/credential.c
+++ b/credential.c
@@ -13,7 +13,7 @@
#include "sigchain.h"
#include "strbuf.h"
#include "urlmatch.h"
-#include "git-compat-util.h"
+#include "environment.h"
#include "trace2.h"
#include "repository.h"
@@ -130,6 +130,10 @@ static int credential_config_callback(const char *var, const char *value,
}
else if (!strcmp(key, "usehttppath"))
c->use_http_path = git_config_bool(var, value);
+ else if (!strcmp(key, "sanitizeprompt"))
+ c->sanitize_prompt = git_config_bool(var, value);
+ else if (!strcmp(key, "protectprotocol"))
+ c->protect_protocol = git_config_bool(var, value);
return 0;
}
@@ -227,7 +231,8 @@ static void credential_format(struct credential *c, struct strbuf *out)
strbuf_addch(out, '@');
}
if (c->host)
- strbuf_addstr(out, c->host);
+ strbuf_add_percentencode(out, c->host,
+ STRBUF_ENCODE_HOST_AND_PORT);
if (c->path) {
strbuf_addch(out, '/');
strbuf_add_percentencode(out, c->path, 0);
@@ -241,7 +246,10 @@ static char *credential_ask_one(const char *what, struct credential *c,
struct strbuf prompt = STRBUF_INIT;
char *r;
- credential_describe(c, &desc);
+ if (c->sanitize_prompt)
+ credential_format(c, &desc);
+ else
+ credential_describe(c, &desc);
if (desc.len)
strbuf_addf(&prompt, "%s for '%s': ", what, desc.buf);
else
@@ -382,7 +390,8 @@ int credential_read(struct credential *c, FILE *fp,
return 0;
}
-static void credential_write_item(FILE *fp, const char *key, const char *value,
+static void credential_write_item(const struct credential *c,
+ FILE *fp, const char *key, const char *value,
int required)
{
if (!value && required)
@@ -391,6 +400,10 @@ static void credential_write_item(FILE *fp, const char *key, const char *value,
return;
if (strchr(value, '\n'))
die("credential value for %s contains newline", key);
+ if (c->protect_protocol && strchr(value, '\r'))
+ die("credential value for %s contains carriage return\n"
+ "If this is intended, set `credential.protectProtocol=false`",
+ key);
fprintf(fp, "%s=%s\n", key, value);
}
@@ -398,34 +411,34 @@ void credential_write(const struct credential *c, FILE *fp,
enum credential_op_type op_type)
{
if (credential_has_capability(&c->capa_authtype, op_type))
- credential_write_item(fp, "capability[]", "authtype", 0);
+ credential_write_item(c, fp, "capability[]", "authtype", 0);
if (credential_has_capability(&c->capa_state, op_type))
- credential_write_item(fp, "capability[]", "state", 0);
+ credential_write_item(c, fp, "capability[]", "state", 0);
if (credential_has_capability(&c->capa_authtype, op_type)) {
- credential_write_item(fp, "authtype", c->authtype, 0);
- credential_write_item(fp, "credential", c->credential, 0);
+ credential_write_item(c, fp, "authtype", c->authtype, 0);
+ credential_write_item(c, fp, "credential", c->credential, 0);
if (c->ephemeral)
- credential_write_item(fp, "ephemeral", "1", 0);
+ credential_write_item(c, fp, "ephemeral", "1", 0);
}
- credential_write_item(fp, "protocol", c->protocol, 1);
- credential_write_item(fp, "host", c->host, 1);
- credential_write_item(fp, "path", c->path, 0);
- credential_write_item(fp, "username", c->username, 0);
- credential_write_item(fp, "password", c->password, 0);
- credential_write_item(fp, "oauth_refresh_token", c->oauth_refresh_token, 0);
+ credential_write_item(c, fp, "protocol", c->protocol, 1);
+ credential_write_item(c, fp, "host", c->host, 1);
+ credential_write_item(c, fp, "path", c->path, 0);
+ credential_write_item(c, fp, "username", c->username, 0);
+ credential_write_item(c, fp, "password", c->password, 0);
+ credential_write_item(c, fp, "oauth_refresh_token", c->oauth_refresh_token, 0);
if (c->password_expiry_utc != TIME_MAX) {
char *s = xstrfmt("%"PRItime, c->password_expiry_utc);
- credential_write_item(fp, "password_expiry_utc", s, 0);
+ credential_write_item(c, fp, "password_expiry_utc", s, 0);
free(s);
}
for (size_t i = 0; i < c->wwwauth_headers.nr; i++)
- credential_write_item(fp, "wwwauth[]", c->wwwauth_headers.v[i], 0);
+ credential_write_item(c, fp, "wwwauth[]", c->wwwauth_headers.v[i], 0);
if (credential_has_capability(&c->capa_state, op_type)) {
if (c->multistage)
- credential_write_item(fp, "continue", "1", 0);
+ credential_write_item(c, fp, "continue", "1", 0);
for (size_t i = 0; i < c->state_headers_to_send.nr; i++)
- credential_write_item(fp, "state[]", c->state_headers_to_send.v[i], 0);
+ credential_write_item(c, fp, "state[]", c->state_headers_to_send.v[i], 0);
}
}
diff --git a/credential.h b/credential.h
index 5f9e6ff2ef..63fef3e2ea 100644
--- a/credential.h
+++ b/credential.h
@@ -168,7 +168,9 @@ struct credential {
multistage: 1,
quit:1,
use_http_path:1,
- username_from_proto:1;
+ username_from_proto:1,
+ sanitize_prompt:1,
+ protect_protocol:1;
struct credential_capability capa_authtype;
struct credential_capability capa_state;
@@ -195,6 +197,8 @@ struct credential {
.wwwauth_headers = STRVEC_INIT, \
.state_headers = STRVEC_INIT, \
.state_headers_to_send = STRVEC_INIT, \
+ .sanitize_prompt = 1, \
+ .protect_protocol = 1, \
}
/* Initialize a credential structure, setting all fields to empty. */
diff --git a/git-gui/po/bg.po b/git-gui/po/bg.po
index 5af78f15a8..27b05038e4 100644
--- a/git-gui/po/bg.po
+++ b/git-gui/po/bg.po
@@ -1,15 +1,15 @@
# Bulgarian translation of git-gui po-file.
-# Copyright (C) 2012, 2013, 2014, 2015, 2016 Alexander Shopov <ash@kambanaria.org>.
+# Copyright (C) 2012, 2013, 2014, 2015, 2016, 2024 Alexander Shopov <ash@kambanaria.org>.
# This file is distributed under the same license as the git package.
-# Alexander Shopov <ash@kambanaria.org>, 2012, 2013, 2014, 2015, 2016.
+# Alexander Shopov <ash@kambanaria.org>, 2012, 2013, 2014, 2015, 2016, 2024.
#
#
msgid ""
msgstr ""
"Project-Id-Version: git-gui master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-10-13 15:16+0300\n"
-"PO-Revision-Date: 2016-10-13 15:16+0300\n"
+"POT-Creation-Date: 2020-02-08 22:54+0100\n"
+"PO-Revision-Date: 2024-12-22 15:44+0100\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@@ -18,33 +18,33 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: git-gui.sh:865
+#: git-gui.sh:847
#, tcl-format
msgid "Invalid font specified in %s:"
msgstr "Указан е неправилен шрифт в „%s“:"
-#: git-gui.sh:919
+#: git-gui.sh:901
msgid "Main Font"
msgstr "Основен шрифт"
-#: git-gui.sh:920
+#: git-gui.sh:902
msgid "Diff/Console Font"
msgstr "Шрифт за разликите/конзолата"
-#: git-gui.sh:935 git-gui.sh:949 git-gui.sh:962 git-gui.sh:1052 git-gui.sh:1071
-#: git-gui.sh:3147
+#: git-gui.sh:917 git-gui.sh:931 git-gui.sh:944 git-gui.sh:1034 git-gui.sh:1053
+#: git-gui.sh:3212
msgid "git-gui: fatal error"
msgstr "git-gui: фатална грешка"
-#: git-gui.sh:936
+#: git-gui.sh:918
msgid "Cannot find git in PATH."
msgstr "Командата git липсва в пътя (PATH)."
-#: git-gui.sh:963
+#: git-gui.sh:945
msgid "Cannot parse Git version string:"
-msgstr "Низът с версията на Git не може да бъде интерпретиран:"
+msgstr "Низът с версията на Git не може да се анализира:"
-#: git-gui.sh:988
+#: git-gui.sh:970
#, tcl-format
msgid ""
"Git version cannot be determined.\n"
@@ -55,7 +55,7 @@ msgid ""
"\n"
"Assume '%s' is version 1.5.0?\n"
msgstr ""
-"Версията на Git не може да бъде определена.\n"
+"Версията на Git не може да се определи.\n"
"\n"
"Версията на „%s“ изглежда, че е „%s“.\n"
"\n"
@@ -63,506 +63,522 @@ msgstr ""
"\n"
"Да се приеме ли, че „%s“ е версия „1.5.0“?\n"
-#: git-gui.sh:1285
+#: git-gui.sh:1267
msgid "Git directory not found:"
msgstr "Директорията на Git не е открита:"
-#: git-gui.sh:1319
+#: git-gui.sh:1301
msgid "Cannot move to top of working directory:"
-msgstr "Не може да се премине към родителската директория."
+msgstr "Не може да се премине към родителската директория."
-#: git-gui.sh:1327
+#: git-gui.sh:1309
msgid "Cannot use bare repository:"
msgstr "Голо хранилище не може да се използва:"
-#: git-gui.sh:1335
+#: git-gui.sh:1317
msgid "No working directory"
msgstr "Работната директория липсва"
-#: git-gui.sh:1507 lib/checkout_op.tcl:306
+#: git-gui.sh:1491 lib/checkout_op.tcl:306
msgid "Refreshing file status..."
msgstr "Обновяване на състоянието на файла…"
-#: git-gui.sh:1567
+#: git-gui.sh:1551
msgid "Scanning for modified files ..."
msgstr "Проверка за променени файлове…"
-#: git-gui.sh:1645
+#: git-gui.sh:1629
msgid "Calling prepare-commit-msg hook..."
msgstr "Куката „prepare-commit-msg“ се изпълнява в момента…"
-#: git-gui.sh:1662
+#: git-gui.sh:1646
msgid "Commit declined by prepare-commit-msg hook."
msgstr "Подаването е отхвърлено от куката „prepare-commit-msg“."
-#: git-gui.sh:1820 lib/browser.tcl:252
+#: git-gui.sh:1804 lib/browser.tcl:252
msgid "Ready."
msgstr "Готово."
-#: git-gui.sh:1984
+#: git-gui.sh:1968
#, tcl-format
msgid ""
"Display limit (gui.maxfilesdisplayed = %s) reached, not showing all %s files."
msgstr ""
-"Достигнат е максималният размер на списъка за извеждане(gui."
-"maxfilesdisplayed = %s), съответно не са показани всички %s файла."
+"Достигнат е максималният размер на списъка за "
+"извеждане(gui.maxfilesdisplayed = %s), съответно не са показани всички %s "
+"файла."
-#: git-gui.sh:2107
+#: git-gui.sh:2091
msgid "Unmodified"
msgstr "Непроменен"
-#: git-gui.sh:2109
+#: git-gui.sh:2093
msgid "Modified, not staged"
msgstr "Променен, но не е в индекса"
-#: git-gui.sh:2110 git-gui.sh:2122
+#: git-gui.sh:2094 git-gui.sh:2106
msgid "Staged for commit"
msgstr "В индекса за подаване"
-#: git-gui.sh:2111 git-gui.sh:2123
+#: git-gui.sh:2095 git-gui.sh:2107
msgid "Portions staged for commit"
msgstr "Части са в индекса за подаване"
-#: git-gui.sh:2112 git-gui.sh:2124
+#: git-gui.sh:2096 git-gui.sh:2108
msgid "Staged for commit, missing"
msgstr "В индекса за подаване, но липсва"
-#: git-gui.sh:2114
+#: git-gui.sh:2098
msgid "File type changed, not staged"
msgstr "Видът на файла е сменен, но не е в индекса"
-#: git-gui.sh:2115 git-gui.sh:2116
+#: git-gui.sh:2099 git-gui.sh:2100
msgid "File type changed, old type staged for commit"
msgstr "Видът на файла е сменен, но новият вид не е в индекса"
-#: git-gui.sh:2117
+#: git-gui.sh:2101
msgid "File type changed, staged"
msgstr "Видът на файла е сменен и е в индекса"
-#: git-gui.sh:2118
+#: git-gui.sh:2102
msgid "File type change staged, modification not staged"
msgstr "Видът на файла е сменен в индекса, но не и съдържанието"
-#: git-gui.sh:2119
+#: git-gui.sh:2103
msgid "File type change staged, file missing"
msgstr "Видът на файла е сменен в индекса, но файлът липсва"
-#: git-gui.sh:2121
+#: git-gui.sh:2105
msgid "Untracked, not staged"
msgstr "Неследен"
-#: git-gui.sh:2126
+#: git-gui.sh:2110
msgid "Missing"
msgstr "Липсващ"
-#: git-gui.sh:2127
+#: git-gui.sh:2111
msgid "Staged for removal"
msgstr "В индекса за изтриване"
-#: git-gui.sh:2128
+#: git-gui.sh:2112
msgid "Staged for removal, still present"
msgstr "В индекса за изтриване, но още го има"
-#: git-gui.sh:2130 git-gui.sh:2131 git-gui.sh:2132 git-gui.sh:2133
-#: git-gui.sh:2134 git-gui.sh:2135
+#: git-gui.sh:2114 git-gui.sh:2115 git-gui.sh:2116 git-gui.sh:2117
+#: git-gui.sh:2118 git-gui.sh:2119
msgid "Requires merge resolution"
msgstr "Изисква коригиране при сливане"
-#: git-gui.sh:2170
-msgid "Starting gitk... please wait..."
-msgstr "Стартиране на „gitk“…, изчакайте…"
-
-#: git-gui.sh:2182
+#: git-gui.sh:2164
msgid "Couldn't find gitk in PATH"
msgstr "Командата „gitk“ липсва в пътищата, определени от променливата PATH."
-#: git-gui.sh:2241
+#: git-gui.sh:2210 git-gui.sh:2245
+#, tcl-format
+msgid "Starting %s... please wait..."
+msgstr "Стартиране на „%s“…, изчакайте…"
+
+#: git-gui.sh:2224
msgid "Couldn't find git gui in PATH"
msgstr ""
"Командата „git gui“ липсва в пътищата, определени от променливата PATH."
-#: git-gui.sh:2676 lib/choose_repository.tcl:41
+#: git-gui.sh:2726 lib/choose_repository.tcl:53
msgid "Repository"
msgstr "Хранилище"
-#: git-gui.sh:2677
+#: git-gui.sh:2727
msgid "Edit"
msgstr "Редактиране"
-#: git-gui.sh:2679 lib/choose_rev.tcl:567
+#: git-gui.sh:2729 lib/choose_rev.tcl:567
msgid "Branch"
msgstr "Клон"
-#: git-gui.sh:2682 lib/choose_rev.tcl:554
+#: git-gui.sh:2732 lib/choose_rev.tcl:554
msgid "Commit@@noun"
msgstr "Подаване"
-#: git-gui.sh:2685 lib/merge.tcl:127 lib/merge.tcl:174
+#: git-gui.sh:2735 lib/merge.tcl:127 lib/merge.tcl:174
msgid "Merge"
msgstr "Сливане"
-#: git-gui.sh:2686 lib/choose_rev.tcl:563
+#: git-gui.sh:2736 lib/choose_rev.tcl:563
msgid "Remote"
msgstr "Отдалечено хранилище"
-#: git-gui.sh:2689
+#: git-gui.sh:2739
msgid "Tools"
msgstr "Команди"
-#: git-gui.sh:2698
+#: git-gui.sh:2748
msgid "Explore Working Copy"
msgstr "Разглеждане на работното копие"
-#: git-gui.sh:2704
+#: git-gui.sh:2763
msgid "Git Bash"
msgstr "Bash за Git"
-#: git-gui.sh:2714
+#: git-gui.sh:2772
msgid "Browse Current Branch's Files"
msgstr "Разглеждане на файловете в текущия клон"
-#: git-gui.sh:2718
+#: git-gui.sh:2776
msgid "Browse Branch Files..."
msgstr "Разглеждане на текущия клон…"
-#: git-gui.sh:2723
+#: git-gui.sh:2781
msgid "Visualize Current Branch's History"
msgstr "Визуализация на историята на текущия клон"
-#: git-gui.sh:2727
+#: git-gui.sh:2785
msgid "Visualize All Branch History"
msgstr "Визуализация на историята на всички клонове"
-#: git-gui.sh:2734
+#: git-gui.sh:2792
#, tcl-format
msgid "Browse %s's Files"
msgstr "Разглеждане на файловете в „%s“"
-#: git-gui.sh:2736
+#: git-gui.sh:2794
#, tcl-format
msgid "Visualize %s's History"
msgstr "Визуализация на историята на „%s“"
-#: git-gui.sh:2741 lib/database.tcl:40
+#: git-gui.sh:2799 lib/database.tcl:40
msgid "Database Statistics"
msgstr "Статистика на базата от данни"
-#: git-gui.sh:2744 lib/database.tcl:33
+#: git-gui.sh:2802 lib/database.tcl:33
msgid "Compress Database"
msgstr "Компресиране на базата от данни"
-#: git-gui.sh:2747
+#: git-gui.sh:2805
msgid "Verify Database"
msgstr "Проверка на базата от данни"
-#: git-gui.sh:2754 git-gui.sh:2758 git-gui.sh:2762
+#: git-gui.sh:2812 git-gui.sh:2816 git-gui.sh:2820
msgid "Create Desktop Icon"
msgstr "Добавяне на икона на работния плот"
-#: git-gui.sh:2770 lib/choose_repository.tcl:193 lib/choose_repository.tcl:201
+#: git-gui.sh:2828 lib/choose_repository.tcl:209 lib/choose_repository.tcl:217
msgid "Quit"
msgstr "Спиране на програмата"
-#: git-gui.sh:2778
+#: git-gui.sh:2836
msgid "Undo"
msgstr "Отмяна"
-#: git-gui.sh:2781
+#: git-gui.sh:2839
msgid "Redo"
msgstr "Повторение"
-#: git-gui.sh:2785 git-gui.sh:3399
+#: git-gui.sh:2843 git-gui.sh:3461
msgid "Cut"
msgstr "Отрязване"
-#: git-gui.sh:2788 git-gui.sh:3402 git-gui.sh:3476 git-gui.sh:3562
+#: git-gui.sh:2846 git-gui.sh:3464 git-gui.sh:3540 git-gui.sh:3633
#: lib/console.tcl:69
msgid "Copy"
msgstr "Копиране"
-#: git-gui.sh:2791 git-gui.sh:3405
+#: git-gui.sh:2849 git-gui.sh:3467
msgid "Paste"
msgstr "Поставяне"
-#: git-gui.sh:2794 git-gui.sh:3408 lib/branch_delete.tcl:28
-#: lib/remote_branch_delete.tcl:39
+#: git-gui.sh:2852 git-gui.sh:3470 lib/remote_branch_delete.tcl:39
+#: lib/branch_delete.tcl:28
msgid "Delete"
msgstr "Изтриване"
-#: git-gui.sh:2798 git-gui.sh:3412 git-gui.sh:3566 lib/console.tcl:71
+#: git-gui.sh:2856 git-gui.sh:3474 git-gui.sh:3637 lib/console.tcl:71
msgid "Select All"
msgstr "Избиране на всичко"
-#: git-gui.sh:2807
+#: git-gui.sh:2865
msgid "Create..."
msgstr "Създаване…"
-#: git-gui.sh:2813
+#: git-gui.sh:2871
msgid "Checkout..."
msgstr "Изтегляне…"
-#: git-gui.sh:2819
+#: git-gui.sh:2877
msgid "Rename..."
msgstr "Преименуване…"
-#: git-gui.sh:2824
+#: git-gui.sh:2882
msgid "Delete..."
msgstr "Изтриване…"
-#: git-gui.sh:2829
+#: git-gui.sh:2887
msgid "Reset..."
msgstr "Отмяна на промените…"
-#: git-gui.sh:2839
+#: git-gui.sh:2897
msgid "Done"
msgstr "Готово"
-#: git-gui.sh:2841
+#: git-gui.sh:2899
msgid "Commit@@verb"
msgstr "Подаване"
-#: git-gui.sh:2850 git-gui.sh:3335
-msgid "New Commit"
-msgstr "Ново подаване"
-
-#: git-gui.sh:2858 git-gui.sh:3342
+#: git-gui.sh:2908 git-gui.sh:3400
msgid "Amend Last Commit"
msgstr "Поправяне на последното подаване"
-#: git-gui.sh:2868 git-gui.sh:3296 lib/remote_branch_delete.tcl:101
+#: git-gui.sh:2918 git-gui.sh:3361 lib/remote_branch_delete.tcl:101
msgid "Rescan"
msgstr "Обновяване"
-#: git-gui.sh:2874
+#: git-gui.sh:2924
msgid "Stage To Commit"
msgstr "Към индекса за подаване"
-#: git-gui.sh:2880
+#: git-gui.sh:2930
msgid "Stage Changed Files To Commit"
msgstr "Всички променени файлове към индекса за подаване"
-#: git-gui.sh:2886
+#: git-gui.sh:2936
msgid "Unstage From Commit"
msgstr "Изваждане от индекса за подаване"
-#: git-gui.sh:2892 lib/index.tcl:442
+#: git-gui.sh:2942 lib/index.tcl:521
msgid "Revert Changes"
msgstr "Връщане на оригинала"
-#: git-gui.sh:2900 git-gui.sh:3613 git-gui.sh:3644
+#: git-gui.sh:2950 git-gui.sh:3700 git-gui.sh:3731
msgid "Show Less Context"
msgstr "По-малко контекст"
-#: git-gui.sh:2904 git-gui.sh:3617 git-gui.sh:3648
+#: git-gui.sh:2954 git-gui.sh:3704 git-gui.sh:3735
msgid "Show More Context"
msgstr "Повече контекст"
-#: git-gui.sh:2911 git-gui.sh:3309 git-gui.sh:3423
+#: git-gui.sh:2961 git-gui.sh:3374 git-gui.sh:3485
msgid "Sign Off"
msgstr "Подписване"
-#: git-gui.sh:2927
+#: git-gui.sh:2977
msgid "Local Merge..."
msgstr "Локално сливане…"
-#: git-gui.sh:2932
+#: git-gui.sh:2982
msgid "Abort Merge..."
msgstr "Преустановяване на сливане…"
-#: git-gui.sh:2944 git-gui.sh:2972
+#: git-gui.sh:2994 git-gui.sh:3022
msgid "Add..."
msgstr "Добавяне…"
-#: git-gui.sh:2948
+#: git-gui.sh:2998
msgid "Push..."
msgstr "Изтласкване…"
-#: git-gui.sh:2952
+#: git-gui.sh:3002
msgid "Delete Branch..."
msgstr "Изтриване на клон…"
-#: git-gui.sh:2962 git-gui.sh:3595
+#: git-gui.sh:3012 git-gui.sh:3666
msgid "Options..."
msgstr "Опции…"
-#: git-gui.sh:2973
+#: git-gui.sh:3023
msgid "Remove..."
msgstr "Премахване…"
-#: git-gui.sh:2982 lib/choose_repository.tcl:55
+#: git-gui.sh:3032 lib/choose_repository.tcl:67
msgid "Help"
msgstr "Помощ"
-#: git-gui.sh:2986 git-gui.sh:2990 lib/about.tcl:14
-#: lib/choose_repository.tcl:49 lib/choose_repository.tcl:58
+#: git-gui.sh:3036 git-gui.sh:3040 lib/choose_repository.tcl:61
+#: lib/choose_repository.tcl:70 lib/about.tcl:14
#, tcl-format
msgid "About %s"
-msgstr "Относно %s"
+msgstr "Относно „%s“"
-#: git-gui.sh:3014
+#: git-gui.sh:3064
msgid "Online Documentation"
msgstr "Документация в Интернет"
-#: git-gui.sh:3017 lib/choose_repository.tcl:52 lib/choose_repository.tcl:61
+#: git-gui.sh:3067 lib/choose_repository.tcl:64 lib/choose_repository.tcl:73
msgid "Show SSH Key"
msgstr "Показване на ключа за SSH"
-#: git-gui.sh:3032 git-gui.sh:3164
+#: git-gui.sh:3097 git-gui.sh:3229
msgid "usage:"
msgstr "употреба:"
-#: git-gui.sh:3036 git-gui.sh:3168
+#: git-gui.sh:3101 git-gui.sh:3233
msgid "Usage"
msgstr "Употреба"
-#: git-gui.sh:3117 lib/blame.tcl:573
+#: git-gui.sh:3182 lib/blame.tcl:575
msgid "Error"
msgstr "Грешка"
-#: git-gui.sh:3148
+#: git-gui.sh:3213
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
-msgstr ""
-"ФАТАЛНА ГРЕШКА: пътят %s не може да бъде открит: такъв файл или директория "
-"няма"
+msgstr "ФАТАЛНА ГРЕШКА: пътят „%s“ липсва: такъв файл или директория няма"
-#: git-gui.sh:3181
+#: git-gui.sh:3246
msgid "Current Branch:"
msgstr "Текущ клон:"
-#: git-gui.sh:3206
+#: git-gui.sh:3271
msgid "Unstaged Changes"
msgstr "Промени извън индекса"
-#: git-gui.sh:3228
+#: git-gui.sh:3293
msgid "Staged Changes (Will Commit)"
msgstr "Промени в индекса (за подаване)"
-#: git-gui.sh:3302
+#: git-gui.sh:3367
msgid "Stage Changed"
msgstr "Индексът е променен"
-#: git-gui.sh:3321 lib/transport.tcl:137
+#: git-gui.sh:3386 lib/transport.tcl:137
msgid "Push"
msgstr "Изтласкване"
-#: git-gui.sh:3356
+#: git-gui.sh:3413
msgid "Initial Commit Message:"
msgstr "Първоначално съобщение при подаване:"
-#: git-gui.sh:3357
+#: git-gui.sh:3414
msgid "Amended Commit Message:"
msgstr "Поправено съобщение при подаване:"
-#: git-gui.sh:3358
+#: git-gui.sh:3415
msgid "Amended Initial Commit Message:"
msgstr "Поправено първоначално съобщение при подаване:"
-#: git-gui.sh:3359
+#: git-gui.sh:3416
msgid "Amended Merge Commit Message:"
msgstr "Поправено съобщение при подаване със сливане:"
-#: git-gui.sh:3360
+#: git-gui.sh:3417
msgid "Merge Commit Message:"
msgstr "Съобщение при подаване със сливане:"
-#: git-gui.sh:3361
+#: git-gui.sh:3418
msgid "Commit Message:"
msgstr "Съобщение при подаване:"
-#: git-gui.sh:3415 git-gui.sh:3570 lib/console.tcl:73
+#: git-gui.sh:3477 git-gui.sh:3641 lib/console.tcl:73
msgid "Copy All"
msgstr "Копиране на всичко"
-#: git-gui.sh:3439 lib/blame.tcl:105
+#: git-gui.sh:3501 lib/blame.tcl:106
msgid "File:"
msgstr "Файл:"
-#: git-gui.sh:3558
+#: git-gui.sh:3549 lib/choose_repository.tcl:1100
+msgid "Open"
+msgstr "Отваряне"
+
+#: git-gui.sh:3629
msgid "Refresh"
msgstr "Обновяване"
-#: git-gui.sh:3579
+#: git-gui.sh:3650
msgid "Decrease Font Size"
-msgstr "По-едър шрифт"
+msgstr "По-дребен шрифт"
-#: git-gui.sh:3583
+#: git-gui.sh:3654
msgid "Increase Font Size"
-msgstr "По-дребен шрифт"
+msgstr "По-едър шрифт"
-#: git-gui.sh:3591 lib/blame.tcl:294
+#: git-gui.sh:3662 lib/blame.tcl:296
msgid "Encoding"
msgstr "Кодиране"
-#: git-gui.sh:3602
+#: git-gui.sh:3673
msgid "Apply/Reverse Hunk"
msgstr "Прилагане/връщане на парче"
-#: git-gui.sh:3607
+#: git-gui.sh:3678
msgid "Apply/Reverse Line"
msgstr "Прилагане/връщане на ред"
-#: git-gui.sh:3626
+#: git-gui.sh:3684 git-gui.sh:3794 git-gui.sh:3805
+msgid "Revert Hunk"
+msgstr "Връщане на парче"
+
+#: git-gui.sh:3689 git-gui.sh:3801 git-gui.sh:3812
+msgid "Revert Line"
+msgstr "Връщане на ред"
+
+#: git-gui.sh:3694 git-gui.sh:3791
+msgid "Undo Last Revert"
+msgstr "Отмяна на последното връщане"
+
+#: git-gui.sh:3713
msgid "Run Merge Tool"
msgstr "Изпълнение на програмата за сливане"
-#: git-gui.sh:3631
+#: git-gui.sh:3718
msgid "Use Remote Version"
msgstr "Версия от отдалеченото хранилище"
-#: git-gui.sh:3635
+#: git-gui.sh:3722
msgid "Use Local Version"
msgstr "Локална версия"
-#: git-gui.sh:3639
+#: git-gui.sh:3726
msgid "Revert To Base"
msgstr "Връщане към родителската версия"
-#: git-gui.sh:3657
+#: git-gui.sh:3744
msgid "Visualize These Changes In The Submodule"
msgstr "Визуализиране на промените в подмодула"
-#: git-gui.sh:3661
+#: git-gui.sh:3748
msgid "Visualize Current Branch History In The Submodule"
msgstr "Визуализация на историята на текущия клон в историята за подмодула"
-#: git-gui.sh:3665
+#: git-gui.sh:3752
msgid "Visualize All Branch History In The Submodule"
msgstr "Визуализация на историята на всички клони в историята за подмодула"
-#: git-gui.sh:3670
+#: git-gui.sh:3757
msgid "Start git gui In The Submodule"
msgstr "Стартиране на „git gui“ за подмодула"
-#: git-gui.sh:3705
+#: git-gui.sh:3793
msgid "Unstage Hunk From Commit"
msgstr "Изваждане на парчето от подаването"
-#: git-gui.sh:3707
+#: git-gui.sh:3797
msgid "Unstage Lines From Commit"
msgstr "Изваждане на редовете от подаването"
-#: git-gui.sh:3709
+#: git-gui.sh:3798 git-gui.sh:3809
+msgid "Revert Lines"
+msgstr "Връщане на редовете"
+
+#: git-gui.sh:3800
msgid "Unstage Line From Commit"
msgstr "Изваждане на реда от подаването"
-#: git-gui.sh:3712
+#: git-gui.sh:3804
msgid "Stage Hunk For Commit"
msgstr "Добавяне на парчето за подаване"
-#: git-gui.sh:3714
+#: git-gui.sh:3808
msgid "Stage Lines For Commit"
msgstr "Добавяне на редовете за подаване"
-#: git-gui.sh:3716
+#: git-gui.sh:3811
msgid "Stage Line For Commit"
msgstr "Добавяне на реда за подаване"
-#: git-gui.sh:3741
+#: git-gui.sh:3861
msgid "Initializing..."
msgstr "Инициализиране…"
-#: git-gui.sh:3886
+#: git-gui.sh:4017
#, tcl-format
msgid ""
"Possible environment issues exist.\n"
@@ -574,12 +590,12 @@ msgid ""
msgstr ""
"Възможно е да има проблем със средата.\n"
"\n"
-"Най-вероятно следните променливи няма да бъдат\n"
-"взети под внимание от подпроцесите на Git\n"
+"Най-вероятно следните променливи няма да се\n"
+"вземат под внимание от подпроцесите на Git\n"
"от %s:\n"
"\n"
-#: git-gui.sh:3915
+#: git-gui.sh:4046
msgid ""
"\n"
"This is due to a known issue with the\n"
@@ -589,7 +605,7 @@ msgstr ""
"Това е познат проблем и се дължи на\n"
"версията на Tcl включена в Cygwin."
-#: git-gui.sh:3920
+#: git-gui.sh:4051
#, tcl-format
msgid ""
"\n"
@@ -605,341 +621,151 @@ msgstr ""
"е да поставите настройките „user.name“ и\n"
"„user.email“ в личния си файл „~/.gitconfig“.\n"
-#: lib/about.tcl:26
-msgid "git-gui - a graphical user interface for Git."
-msgstr "git-gui — графичен интерфейс за Git."
-
-#: lib/blame.tcl:73
-#, tcl-format
-msgid "%s (%s): File Viewer"
-msgstr "%s (%s): Преглед на файлове"
-
-#: lib/blame.tcl:79
-msgid "Commit:"
-msgstr "Подаване:"
-
-#: lib/blame.tcl:280
-msgid "Copy Commit"
-msgstr "Копиране на подаване"
-
-#: lib/blame.tcl:284
-msgid "Find Text..."
-msgstr "Търсене на текст…"
-
-#: lib/blame.tcl:288
-msgid "Goto Line..."
-msgstr "Към ред…"
-
-#: lib/blame.tcl:297
-msgid "Do Full Copy Detection"
-msgstr "Пълно търсене на копиране"
-
-#: lib/blame.tcl:301
-msgid "Show History Context"
-msgstr "Показване на контекста от историята"
-
-#: lib/blame.tcl:304
-msgid "Blame Parent Commit"
-msgstr "Анотиране на родителското подаване"
-
-#: lib/blame.tcl:466
-#, tcl-format
-msgid "Reading %s..."
-msgstr "Чете се „%s“…"
-
-#: lib/blame.tcl:594
-msgid "Loading copy/move tracking annotations..."
-msgstr "Зареждане на анотациите за проследяване на копирането/преместването…"
-
-#: lib/blame.tcl:614
-msgid "lines annotated"
-msgstr "реда анотирани"
-
-#: lib/blame.tcl:806
-msgid "Loading original location annotations..."
-msgstr "Зареждане на анотациите за първоначалното местоположение…"
-
-#: lib/blame.tcl:809
-msgid "Annotation complete."
-msgstr "Анотирането завърши."
-
-#: lib/blame.tcl:839
-msgid "Busy"
-msgstr "Операцията не е завършила"
-
-#: lib/blame.tcl:840
-msgid "Annotation process is already running."
-msgstr "В момента тече процес на анотиране."
-
-#: lib/blame.tcl:879
-msgid "Running thorough copy detection..."
-msgstr "Изпълнява се цялостен процес на откриване на копиране…"
-
-#: lib/blame.tcl:947
-msgid "Loading annotation..."
-msgstr "Зареждане на анотации…"
-
-#: lib/blame.tcl:1000
-msgid "Author:"
-msgstr "Автор:"
-
-#: lib/blame.tcl:1004
-msgid "Committer:"
-msgstr "Подал:"
-
-#: lib/blame.tcl:1009
-msgid "Original File:"
-msgstr "Първоначален файл:"
-
-#: lib/blame.tcl:1057
-msgid "Cannot find HEAD commit:"
-msgstr "Подаването за връх „HEAD“ не може да се открие:"
-
-#: lib/blame.tcl:1112
-msgid "Cannot find parent commit:"
-msgstr "Родителското подаване не може да бъде открито"
-
-#: lib/blame.tcl:1127
-msgid "Unable to display parent"
-msgstr "Родителят не може да бъде показан"
-
-#: lib/blame.tcl:1128 lib/diff.tcl:358
-msgid "Error loading diff:"
-msgstr "Грешка при зареждане на разлика:"
-
-#: lib/blame.tcl:1269
-msgid "Originally By:"
-msgstr "Първоначално от:"
+#: lib/spellcheck.tcl:57
+msgid "Unsupported spell checker"
+msgstr "Тази програма за проверка на правописа не се поддържа"
-#: lib/blame.tcl:1275
-msgid "In File:"
-msgstr "Във файл:"
+#: lib/spellcheck.tcl:65
+msgid "Spell checking is unavailable"
+msgstr "Липсва програма за проверка на правописа"
-#: lib/blame.tcl:1280
-msgid "Copied Or Moved Here By:"
-msgstr "Копирано или преместено тук от:"
+#: lib/spellcheck.tcl:68
+msgid "Invalid spell checking configuration"
+msgstr "Неправилни настройки на проверката на правописа"
-#: lib/branch_checkout.tcl:16
+#: lib/spellcheck.tcl:70
#, tcl-format
-msgid "%s (%s): Checkout Branch"
-msgstr "%s (%s): Клон за изтегляне"
-
-#: lib/branch_checkout.tcl:21
-msgid "Checkout Branch"
-msgstr "Клон за изтегляне"
-
-#: lib/branch_checkout.tcl:26
-msgid "Checkout"
-msgstr "Изтегляне"
+msgid "Reverting dictionary to %s."
+msgstr "Ползване на речник за език „%s“."
-#: lib/branch_checkout.tcl:30 lib/branch_create.tcl:37 lib/branch_delete.tcl:34
-#: lib/branch_rename.tcl:32 lib/browser.tcl:292 lib/checkout_op.tcl:579
-#: lib/choose_font.tcl:45 lib/merge.tcl:178 lib/option.tcl:127
-#: lib/remote_add.tcl:34 lib/remote_branch_delete.tcl:43 lib/tools_dlg.tcl:41
-#: lib/tools_dlg.tcl:202 lib/tools_dlg.tcl:345 lib/transport.tcl:141
-msgid "Cancel"
-msgstr "Отказване"
+#: lib/spellcheck.tcl:73
+msgid "Spell checker silently failed on startup"
+msgstr "Програмата за правопис даже не стартира успешно."
-#: lib/branch_checkout.tcl:35 lib/browser.tcl:297 lib/tools_dlg.tcl:321
-msgid "Revision"
-msgstr "Версия"
+#: lib/spellcheck.tcl:80
+msgid "Unrecognized spell checker"
+msgstr "Непозната програма за проверка на правописа"
-#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:69 lib/option.tcl:310
-msgid "Options"
-msgstr "Опции"
+#: lib/spellcheck.tcl:186
+msgid "No Suggestions"
+msgstr "Няма предложения"
-#: lib/branch_checkout.tcl:42 lib/branch_create.tcl:92
-msgid "Fetch Tracking Branch"
-msgstr "Изтегляне на промените от следения клон"
+#: lib/spellcheck.tcl:388
+msgid "Unexpected EOF from spell checker"
+msgstr "Неочакван край на файл от програмата за проверка на правописа"
-#: lib/branch_checkout.tcl:47
-msgid "Detach From Local Branch"
-msgstr "Изтриване от локалния клон"
+#: lib/spellcheck.tcl:392
+msgid "Spell Checker Failed"
+msgstr "Грешка в програмата за проверка на правописа"
-#: lib/branch_create.tcl:23
+#: lib/transport.tcl:6 lib/remote_add.tcl:132
#, tcl-format
-msgid "%s (%s): Create Branch"
-msgstr "%s (%s): Създаване на клон"
-
-#: lib/branch_create.tcl:28
-msgid "Create New Branch"
-msgstr "Създаване на нов клон"
-
-#: lib/branch_create.tcl:33 lib/choose_repository.tcl:407
-msgid "Create"
-msgstr "Създаване"
-
-#: lib/branch_create.tcl:42
-msgid "Branch Name"
-msgstr "Име на клона"
-
-#: lib/branch_create.tcl:44 lib/remote_add.tcl:41 lib/tools_dlg.tcl:51
-msgid "Name:"
-msgstr "Име:"
-
-#: lib/branch_create.tcl:57
-msgid "Match Tracking Branch Name"
-msgstr "Съвпадане по името на следения клон"
-
-#: lib/branch_create.tcl:66
-msgid "Starting Revision"
-msgstr "Начална версия"
-
-#: lib/branch_create.tcl:72
-msgid "Update Existing Branch:"
-msgstr "Обновяване на съществуващ клон:"
-
-#: lib/branch_create.tcl:75
-msgid "No"
-msgstr "Не"
-
-#: lib/branch_create.tcl:80
-msgid "Fast Forward Only"
-msgstr "Само тривиално превъртащо сливане"
-
-#: lib/branch_create.tcl:85 lib/checkout_op.tcl:571
-msgid "Reset"
-msgstr "Отначало"
-
-#: lib/branch_create.tcl:97
-msgid "Checkout After Creation"
-msgstr "Преминаване към клона след създаването му"
-
-#: lib/branch_create.tcl:132
-msgid "Please select a tracking branch."
-msgstr "Изберете клон за следени."
+msgid "fetch %s"
+msgstr "доставяне на „%s“"
-#: lib/branch_create.tcl:141
+#: lib/transport.tcl:7
#, tcl-format
-msgid "Tracking branch %s is not a branch in the remote repository."
-msgstr "Следящият клон — „%s“, не съществува в отдалеченото хранилище."
-
-#: lib/branch_create.tcl:154 lib/branch_rename.tcl:92
-msgid "Please supply a branch name."
-msgstr "Дайте име на клона."
+msgid "Fetching new changes from %s"
+msgstr "Доставяне на промените от „%s“"
-#: lib/branch_create.tcl:165 lib/branch_rename.tcl:112
+#: lib/transport.tcl:18
#, tcl-format
-msgid "'%s' is not an acceptable branch name."
-msgstr "„%s“ не може да се използва за име на клон."
+msgid "remote prune %s"
+msgstr "окастряне на следящите клони към „%s“"
-#: lib/branch_delete.tcl:16
+#: lib/transport.tcl:19
#, tcl-format
-msgid "%s (%s): Delete Branch"
-msgstr "%s (%s): Изтриване на клон"
-
-#: lib/branch_delete.tcl:21
-msgid "Delete Local Branch"
-msgstr "Изтриване на локален клон"
-
-#: lib/branch_delete.tcl:39
-msgid "Local Branches"
-msgstr "Локални клони"
+msgid "Pruning tracking branches deleted from %s"
+msgstr "Окастряне на следящите клони на изтритите клони от „%s“"
-#: lib/branch_delete.tcl:51
-msgid "Delete Only If Merged Into"
-msgstr "Изтриване, само ако промените са слети и другаде"
+#: lib/transport.tcl:25
+msgid "fetch all remotes"
+msgstr "доставяне от всички отдалечени"
-#: lib/branch_delete.tcl:53 lib/remote_branch_delete.tcl:120
-msgid "Always (Do not perform merge checks)"
-msgstr "Винаги (без проверка за сливане)"
+#: lib/transport.tcl:26
+msgid "Fetching new changes from all remotes"
+msgstr "Доставяне на промените от всички отдалечени хранилища"
-#: lib/branch_delete.tcl:103
-#, tcl-format
-msgid "The following branches are not completely merged into %s:"
-msgstr "Не всички промени в клоните са слети в „%s“:"
+#: lib/transport.tcl:40
+msgid "remote prune all remotes"
+msgstr "окастряне на следящите изтрити"
-#: lib/branch_delete.tcl:115 lib/remote_branch_delete.tcl:218
-msgid ""
-"Recovering deleted branches is difficult.\n"
-"\n"
-"Delete the selected branches?"
+#: lib/transport.tcl:41
+msgid "Pruning tracking branches deleted from all remotes"
msgstr ""
-"Възстановяването на изтрити клони може да е трудно.\n"
-"\n"
-"Сигурни ли сте, че искате да триете?"
+"Окастряне на следящите клони на изтритите клони от всички отдалечени "
+"хранилища"
-#: lib/branch_delete.tcl:131
+#: lib/transport.tcl:54 lib/transport.tcl:92 lib/transport.tcl:110
+#: lib/remote_add.tcl:162
#, tcl-format
-msgid " - %s:"
-msgstr " — „%s:“"
+msgid "push %s"
+msgstr "изтласкване на „%s“"
-#: lib/branch_delete.tcl:141
+#: lib/transport.tcl:55
#, tcl-format
-msgid ""
-"Failed to delete branches:\n"
-"%s"
-msgstr ""
-"Неуспешно триене на клони:\n"
-"%s"
+msgid "Pushing changes to %s"
+msgstr "Изтласкване на промените към „%s“"
-#: lib/branch_rename.tcl:15
+#: lib/transport.tcl:93
#, tcl-format
-msgid "%s (%s): Rename Branch"
-msgstr "%s (%s): Преименуване на клон"
+msgid "Mirroring to %s"
+msgstr "Изтласкване на всичко към „%s“"
-#: lib/branch_rename.tcl:23
-msgid "Rename Branch"
-msgstr "Преименуване на клон"
+#: lib/transport.tcl:111
+#, tcl-format
+msgid "Pushing %s %s to %s"
+msgstr "Изтласкване на %s „%s“ към „%s“"
-#: lib/branch_rename.tcl:28
-msgid "Rename"
-msgstr "Преименуване"
+#: lib/transport.tcl:132
+msgid "Push Branches"
+msgstr "Клони за изтласкване"
-#: lib/branch_rename.tcl:38
-msgid "Branch:"
-msgstr "Клон:"
+#: lib/transport.tcl:141 lib/checkout_op.tcl:580 lib/remote_add.tcl:34
+#: lib/browser.tcl:292 lib/branch_checkout.tcl:30 lib/branch_rename.tcl:32
+#: lib/choose_font.tcl:45 lib/option.tcl:127 lib/tools_dlg.tcl:41
+#: lib/tools_dlg.tcl:202 lib/tools_dlg.tcl:345 lib/remote_branch_delete.tcl:43
+#: lib/branch_create.tcl:37 lib/branch_delete.tcl:34 lib/merge.tcl:178
+msgid "Cancel"
+msgstr "Отказване"
-#: lib/branch_rename.tcl:46
-msgid "New Name:"
-msgstr "Ново име:"
+#: lib/transport.tcl:147
+msgid "Source Branches"
+msgstr "Клони-източници"
-#: lib/branch_rename.tcl:81
-msgid "Please select a branch to rename."
-msgstr "Изберете клон за преименуване."
+#: lib/transport.tcl:162
+msgid "Destination Repository"
+msgstr "Целево хранилище"
-#: lib/branch_rename.tcl:102 lib/checkout_op.tcl:202
-#, tcl-format
-msgid "Branch '%s' already exists."
-msgstr "Клонът „%s“ вече съществува."
+#: lib/transport.tcl:165 lib/remote_branch_delete.tcl:51
+msgid "Remote:"
+msgstr "Отдалечено хранилище:"
-#: lib/branch_rename.tcl:123
-#, tcl-format
-msgid "Failed to rename '%s'."
-msgstr "Неуспешно преименуване на „%s“."
+#: lib/transport.tcl:187 lib/remote_branch_delete.tcl:72
+msgid "Arbitrary Location:"
+msgstr "Произволно местоположение:"
-#: lib/browser.tcl:17
-msgid "Starting..."
-msgstr "Стартиране…"
+#: lib/transport.tcl:205
+msgid "Transfer Options"
+msgstr "Настройки при пренасянето"
-#: lib/browser.tcl:27
-#, tcl-format
-msgid "%s (%s): File Browser"
-msgstr "%s (%s): Файлов браузър"
+#: lib/transport.tcl:207
+msgid "Force overwrite existing branch (may discard changes)"
+msgstr ""
+"Изрично презаписване на съществуващ клон (някои промени може да се загубят)"
-#: lib/browser.tcl:132 lib/browser.tcl:149
-#, tcl-format
-msgid "Loading %s..."
-msgstr "Зареждане на „%s“…"
+#: lib/transport.tcl:211
+msgid "Use thin pack (for slow network connections)"
+msgstr "Максимална компресия (за бавни мрежови връзки)"
-#: lib/browser.tcl:193
-msgid "[Up To Parent]"
-msgstr "[Към родителя]"
+#: lib/transport.tcl:215
+msgid "Include tags"
+msgstr "Включване на етикетите"
-#: lib/browser.tcl:275
+#: lib/transport.tcl:229
#, tcl-format
-msgid "%s (%s): Browse Branch Files"
-msgstr "%s (%s): Разглеждане на файловете в клона"
-
-#: lib/browser.tcl:282
-msgid "Browse Branch Files"
-msgstr "Разглеждане на файловете в клона"
-
-#: lib/browser.tcl:288 lib/choose_repository.tcl:422
-#: lib/choose_repository.tcl:509 lib/choose_repository.tcl:518
-#: lib/choose_repository.tcl:1074
-msgid "Browse"
-msgstr "Разглеждане"
+msgid "%s (%s): Push"
+msgstr "%s (%s): Изтласкване"
#: lib/checkout_op.tcl:85
#, tcl-format
@@ -951,8 +777,8 @@ msgstr "Доставяне на „%s“ от „%s“"
msgid "fatal: Cannot resolve %s"
msgstr "фатална грешка: „%s“ не може да се открие"
-#: lib/checkout_op.tcl:146 lib/console.tcl:81 lib/database.tcl:30
-#: lib/sshkey.tcl:55
+#: lib/checkout_op.tcl:146 lib/sshkey.tcl:58 lib/console.tcl:81
+#: lib/database.tcl:30
msgid "Close"
msgstr "Затваряне"
@@ -966,6 +792,11 @@ msgstr "Клонът „%s“ не съществува."
msgid "Failed to configure simplified git-pull for '%s'."
msgstr "Неуспешно настройване на опростен git-pull за „%s“."
+#: lib/checkout_op.tcl:202 lib/branch_rename.tcl:102
+#, tcl-format
+msgid "Branch '%s' already exists."
+msgstr "Клонът „%s“ вече съществува."
+
#: lib/checkout_op.tcl:229
#, tcl-format
msgid ""
@@ -976,13 +807,13 @@ msgid ""
msgstr ""
"Клонът „%s“ съществува.\n"
"\n"
-"Той не може да бъде тривиално слят до „%s“.\n"
+"Той не може да се слее тривиално до „%s“.\n"
"Необходимо е сливане."
#: lib/checkout_op.tcl:243
#, tcl-format
msgid "Merge strategy '%s' not supported."
-msgstr "Стратегия за сливане „%s“ не се поддържа."
+msgstr "Стратегия за сливане „%s“ не се поддържа."
#: lib/checkout_op.tcl:262
#, tcl-format
@@ -1006,7 +837,7 @@ msgstr ""
"хранилището.\n"
"\n"
"Някой друг процес за Git е променил хранилището междувременно. Състоянието "
-"трябва да бъде проверено, преди да се премине към нов клон.\n"
+"трябва да се провери, преди да се премине към нов клон.\n"
"\n"
"Автоматично ще започне нова проверка.\n"
@@ -1019,22 +850,22 @@ msgstr "Работната директория се привежда към „
msgid "files checked out"
msgstr "файла са изтеглени"
-#: lib/checkout_op.tcl:376
+#: lib/checkout_op.tcl:377
#, tcl-format
msgid "Aborted checkout of '%s' (file level merging is required)."
msgstr ""
"Преустановяване на изтеглянето на „%s“ (необходимо е пофайлово сливане)."
-#: lib/checkout_op.tcl:377
+#: lib/checkout_op.tcl:378
msgid "File level merge required."
msgstr "Необходимо е пофайлово сливане."
-#: lib/checkout_op.tcl:381
+#: lib/checkout_op.tcl:382
#, tcl-format
msgid "Staying on branch '%s'."
msgstr "Оставане върху клона „%s“."
-#: lib/checkout_op.tcl:452
+#: lib/checkout_op.tcl:453
msgid ""
"You are no longer on a local branch.\n"
"\n"
@@ -1045,31 +876,35 @@ msgstr ""
"\n"
"Ако искате да сте на клон, създайте базиран на „Това несвързано изтегляне“."
-#: lib/checkout_op.tcl:503 lib/checkout_op.tcl:507
+#: lib/checkout_op.tcl:504 lib/checkout_op.tcl:508
#, tcl-format
msgid "Checked out '%s'."
msgstr "„%s“ е изтеглен."
-#: lib/checkout_op.tcl:535
+#: lib/checkout_op.tcl:536
#, tcl-format
msgid "Resetting '%s' to '%s' will lose the following commits:"
msgstr ""
"Зануляването на „%s“ към „%s“ ще доведе до загубването на следните подавания:"
-#: lib/checkout_op.tcl:557
+#: lib/checkout_op.tcl:558
msgid "Recovering lost commits may not be easy."
msgstr "Възстановяването на загубените подавания може да е трудно."
-#: lib/checkout_op.tcl:562
+#: lib/checkout_op.tcl:563
#, tcl-format
msgid "Reset '%s'?"
msgstr "Зануляване на „%s“?"
-#: lib/checkout_op.tcl:567 lib/merge.tcl:170 lib/tools_dlg.tcl:336
+#: lib/checkout_op.tcl:568 lib/tools_dlg.tcl:336 lib/merge.tcl:170
msgid "Visualize"
msgstr "Визуализация"
-#: lib/checkout_op.tcl:635
+#: lib/checkout_op.tcl:572 lib/branch_create.tcl:85
+msgid "Reset"
+msgstr "Отначало"
+
+#: lib/checkout_op.tcl:636
#, tcl-format
msgid ""
"Failed to set current branch.\n"
@@ -1087,6 +922,327 @@ msgstr ""
"Това състояние е аварийно и не трябва да се случва. Програмата „%s“ ще "
"преустанови работа."
+#: lib/remote_add.tcl:20
+#, tcl-format
+msgid "%s (%s): Add Remote"
+msgstr "%s (%s): Добавяне на отдалечено хранилище"
+
+#: lib/remote_add.tcl:25
+msgid "Add New Remote"
+msgstr "Добавяне на отдалечено хранилище"
+
+#: lib/remote_add.tcl:30 lib/tools_dlg.tcl:37
+msgid "Add"
+msgstr "Добавяне"
+
+#: lib/remote_add.tcl:39
+msgid "Remote Details"
+msgstr "Данни за отдалеченото хранилище"
+
+#: lib/remote_add.tcl:41 lib/tools_dlg.tcl:51 lib/branch_create.tcl:44
+msgid "Name:"
+msgstr "Име:"
+
+#: lib/remote_add.tcl:50
+msgid "Location:"
+msgstr "Местоположение:"
+
+#: lib/remote_add.tcl:60
+msgid "Further Action"
+msgstr "Следващо действие"
+
+#: lib/remote_add.tcl:63
+msgid "Fetch Immediately"
+msgstr "Незабавно доставяне"
+
+#: lib/remote_add.tcl:69
+msgid "Initialize Remote Repository and Push"
+msgstr "Инициализиране на отдалеченото хранилище и изтласкване на промените"
+
+#: lib/remote_add.tcl:75
+msgid "Do Nothing Else Now"
+msgstr "Да не се прави нищо"
+
+#: lib/remote_add.tcl:100
+msgid "Please supply a remote name."
+msgstr "Задайте име за отдалеченото хранилище."
+
+#: lib/remote_add.tcl:113
+#, tcl-format
+msgid "'%s' is not an acceptable remote name."
+msgstr "Отдалечено хранилище не може да се казва „%s“."
+
+#: lib/remote_add.tcl:124
+#, tcl-format
+msgid "Failed to add remote '%s' of location '%s'."
+msgstr "Неуспешно добавяне на отдалеченото хранилище „%s“ от адрес „%s“."
+
+#: lib/remote_add.tcl:133
+#, tcl-format
+msgid "Fetching the %s"
+msgstr "Доставяне на „%s“"
+
+#: lib/remote_add.tcl:156
+#, tcl-format
+msgid "Do not know how to initialize repository at location '%s'."
+msgstr "Хранилището с местоположение „%s“ не може да се инициализира."
+
+#: lib/remote_add.tcl:163
+#, tcl-format
+msgid "Setting up the %s (at %s)"
+msgstr "Добавяне на хранилище „%s“ (с адрес „%s“)"
+
+#: lib/browser.tcl:17
+msgid "Starting..."
+msgstr "Стартиране…"
+
+#: lib/browser.tcl:27
+#, tcl-format
+msgid "%s (%s): File Browser"
+msgstr "%s (%s): Файлов браузър"
+
+#: lib/browser.tcl:132 lib/browser.tcl:149
+#, tcl-format
+msgid "Loading %s..."
+msgstr "Зареждане на „%s“…"
+
+#: lib/browser.tcl:193
+msgid "[Up To Parent]"
+msgstr "[Към родителя]"
+
+#: lib/browser.tcl:275
+#, tcl-format
+msgid "%s (%s): Browse Branch Files"
+msgstr "%s (%s): Разглеждане на файловете в клона"
+
+#: lib/browser.tcl:282
+msgid "Browse Branch Files"
+msgstr "Разглеждане на файловете в клона"
+
+#: lib/browser.tcl:288 lib/choose_repository.tcl:437
+#: lib/choose_repository.tcl:524 lib/choose_repository.tcl:533
+#: lib/choose_repository.tcl:1115
+msgid "Browse"
+msgstr "Разглеждане"
+
+#: lib/browser.tcl:297 lib/branch_checkout.tcl:35 lib/tools_dlg.tcl:321
+msgid "Revision"
+msgstr "Версия"
+
+#: lib/index.tcl:6
+msgid "Unable to unlock the index."
+msgstr "Индексът не може да се отключи."
+
+#: lib/index.tcl:30
+msgid "Index Error"
+msgstr "Грешка в индекса"
+
+#: lib/index.tcl:32
+msgid ""
+"Updating the Git index failed. A rescan will be automatically started to "
+"resynchronize git-gui."
+msgstr ""
+"Неуспешно обновяване на индекса на Git. Автоматично ще започне нова проверка "
+"за синхронизирането на git-gui."
+
+#: lib/index.tcl:43
+msgid "Continue"
+msgstr "Продължаване"
+
+#: lib/index.tcl:46
+msgid "Unlock Index"
+msgstr "Отключване на индекса"
+
+#: lib/index.tcl:77 lib/index.tcl:146 lib/index.tcl:220 lib/index.tcl:587
+#: lib/choose_repository.tcl:999
+msgid "files"
+msgstr "файлове"
+
+#: lib/index.tcl:326
+msgid "Unstaging selected files from commit"
+msgstr "Изваждане на избраните файлове от подаването"
+
+#: lib/index.tcl:330
+#, tcl-format
+msgid "Unstaging %s from commit"
+msgstr "Изваждане на „%s“ от подаването"
+
+#: lib/index.tcl:369
+msgid "Ready to commit."
+msgstr "Готовност за подаване."
+
+#: lib/index.tcl:378
+msgid "Adding selected files"
+msgstr "Добавяне на избраните файлове"
+
+#: lib/index.tcl:382
+#, tcl-format
+msgid "Adding %s"
+msgstr "Добавяне на „%s“"
+
+#: lib/index.tcl:412
+#, tcl-format
+msgid "Stage %d untracked files?"
+msgstr "Да се добавят ли %d неследени файла към индекса?"
+
+#: lib/index.tcl:420
+msgid "Adding all changed files"
+msgstr "Добавяне на всички променени файлове"
+
+#: lib/index.tcl:503
+#, tcl-format
+msgid "Revert changes in file %s?"
+msgstr "Да се махнат ли промените във файла „%s“?"
+
+#: lib/index.tcl:508
+#, tcl-format
+msgid "Revert changes in these %i files?"
+msgstr "Да се махнат ли промените в тези %i файла?"
+
+#: lib/index.tcl:517
+msgid "Any unstaged changes will be permanently lost by the revert."
+msgstr ""
+"Всички промени, които не са били добавени в индекса, ще се загубят "
+"безвъзвратно."
+
+#: lib/index.tcl:520 lib/index.tcl:563
+msgid "Do Nothing"
+msgstr "Нищо да не се прави"
+
+#: lib/index.tcl:545
+#, tcl-format
+msgid "Delete untracked file %s?"
+msgstr "Да се изтрие ли неследеният файл „%s“?"
+
+#: lib/index.tcl:550
+#, tcl-format
+msgid "Delete these %i untracked files?"
+msgstr "Да се изтрият ли тези %d неследени файла?"
+
+#: lib/index.tcl:560
+msgid "Files will be permanently deleted."
+msgstr "Файловете ще се изтрият окончателно."
+
+#: lib/index.tcl:564
+msgid "Delete Files"
+msgstr "Изтриване на файлове"
+
+#: lib/index.tcl:586
+msgid "Deleting"
+msgstr "Изтриване"
+
+#: lib/index.tcl:665
+msgid "Encountered errors deleting files:\n"
+msgstr "Грешки при изтриване на файловете:\n"
+
+#: lib/index.tcl:674
+#, tcl-format
+msgid "None of the %d selected files could be deleted."
+msgstr "Никой от избраните %d файла не бе изтрит."
+
+#: lib/index.tcl:679
+#, tcl-format
+msgid "%d of the %d selected files could not be deleted."
+msgstr "%d от избраните %d файла не бяха изтрити."
+
+#: lib/index.tcl:726
+msgid "Reverting selected files"
+msgstr "Махане на промените в избраните файлове"
+
+#: lib/index.tcl:730
+#, tcl-format
+msgid "Reverting %s"
+msgstr "Махане на промените в „%s“"
+
+#: lib/branch_checkout.tcl:16
+#, tcl-format
+msgid "%s (%s): Checkout Branch"
+msgstr "%s (%s): Клон за изтегляне"
+
+#: lib/branch_checkout.tcl:21
+msgid "Checkout Branch"
+msgstr "Клон за изтегляне"
+
+#: lib/branch_checkout.tcl:26
+msgid "Checkout"
+msgstr "Изтегляне"
+
+#: lib/branch_checkout.tcl:39 lib/option.tcl:310 lib/branch_create.tcl:69
+msgid "Options"
+msgstr "Опции"
+
+#: lib/branch_checkout.tcl:42 lib/branch_create.tcl:92
+msgid "Fetch Tracking Branch"
+msgstr "Изтегляне на промените от следения клон"
+
+#: lib/branch_checkout.tcl:47
+msgid "Detach From Local Branch"
+msgstr "Изтриване от локалния клон"
+
+#: lib/status_bar.tcl:263
+#, tcl-format
+msgid "%s ... %*i of %*i %s (%3i%%)"
+msgstr "%s… %*i от общо %*i %s (%3i%%)"
+
+#: lib/remote.tcl:200
+msgid "Push to"
+msgstr "Изтласкване към"
+
+#: lib/remote.tcl:218
+msgid "Remove Remote"
+msgstr "Премахване на отдалечено хранилище"
+
+#: lib/remote.tcl:223
+msgid "Prune from"
+msgstr "Окастряне от"
+
+#: lib/remote.tcl:228
+msgid "Fetch from"
+msgstr "Доставяне от"
+
+#: lib/remote.tcl:249 lib/remote.tcl:253 lib/remote.tcl:258 lib/remote.tcl:264
+msgid "All"
+msgstr "Всички"
+
+#: lib/branch_rename.tcl:15
+#, tcl-format
+msgid "%s (%s): Rename Branch"
+msgstr "%s (%s): Преименуване на клон"
+
+#: lib/branch_rename.tcl:23
+msgid "Rename Branch"
+msgstr "Преименуване на клон"
+
+#: lib/branch_rename.tcl:28
+msgid "Rename"
+msgstr "Преименуване"
+
+#: lib/branch_rename.tcl:38
+msgid "Branch:"
+msgstr "Клон:"
+
+#: lib/branch_rename.tcl:46
+msgid "New Name:"
+msgstr "Ново име:"
+
+#: lib/branch_rename.tcl:81
+msgid "Please select a branch to rename."
+msgstr "Изберете клон за преименуване."
+
+#: lib/branch_rename.tcl:92 lib/branch_create.tcl:154
+msgid "Please supply a branch name."
+msgstr "Дайте име на клона."
+
+#: lib/branch_rename.tcl:112 lib/branch_create.tcl:165
+#, tcl-format
+msgid "'%s' is not an acceptable branch name."
+msgstr "„%s“ не може да се използва за име на клон."
+
+#: lib/branch_rename.tcl:123
+#, tcl-format
+msgid "Failed to rename '%s'."
+msgstr "Неуспешно преименуване на „%s“."
+
#: lib/choose_font.tcl:41
msgid "Select"
msgstr "Избор"
@@ -1111,251 +1267,1099 @@ msgstr ""
"Това е примерен текст.\n"
"Ако ви харесва как изглежда, изберете шрифта."
-#: lib/choose_repository.tcl:33
+#: lib/option.tcl:11
+#, tcl-format
+msgid "Invalid global encoding '%s'"
+msgstr "Неправилно глобално кодиране „%s“"
+
+#: lib/option.tcl:19
+#, tcl-format
+msgid "Invalid repo encoding '%s'"
+msgstr "Неправилно кодиране „%s“ на хранилището"
+
+#: lib/option.tcl:119
+msgid "Restore Defaults"
+msgstr "Стандартни настройки"
+
+#: lib/option.tcl:123
+msgid "Save"
+msgstr "Запазване"
+
+#: lib/option.tcl:133
+#, tcl-format
+msgid "%s Repository"
+msgstr "Хранилище „%s“"
+
+#: lib/option.tcl:134
+msgid "Global (All Repositories)"
+msgstr "Глобално (за всички хранилища)"
+
+#: lib/option.tcl:140
+msgid "User Name"
+msgstr "Потребителско име"
+
+#: lib/option.tcl:141
+msgid "Email Address"
+msgstr "Адрес на е-поща"
+
+#: lib/option.tcl:143
+msgid "Summarize Merge Commits"
+msgstr "Обобщаване на подаванията при сливане"
+
+#: lib/option.tcl:144
+msgid "Merge Verbosity"
+msgstr "Подробности при сливанията"
+
+#: lib/option.tcl:145
+msgid "Show Diffstat After Merge"
+msgstr "Извеждане на статистика след сливанията"
+
+#: lib/option.tcl:146
+msgid "Use Merge Tool"
+msgstr "Използване на програма за сливане"
+
+#: lib/option.tcl:148
+msgid "Trust File Modification Timestamps"
+msgstr "Доверие във времето на промяна на файловете"
+
+#: lib/option.tcl:149
+msgid "Prune Tracking Branches During Fetch"
+msgstr "Окастряне на следящите клонове при доставяне"
+
+#: lib/option.tcl:150
+msgid "Match Tracking Branches"
+msgstr "Напасване на следящите клонове"
+
+#: lib/option.tcl:151
+msgid "Use Textconv For Diffs and Blames"
+msgstr "Използване на „textconv“ за разликите и анотирането"
+
+#: lib/option.tcl:152
+msgid "Blame Copy Only On Changed Files"
+msgstr "Анотиране на копието само по променените файлове"
+
+#: lib/option.tcl:153
+msgid "Maximum Length of Recent Repositories List"
+msgstr "Максимален брой на списъка „Скоро ползвани“ хранилища"
+
+#: lib/option.tcl:154
+msgid "Minimum Letters To Blame Copy On"
+msgstr "Минимален брой знаци за анотиране на копието"
+
+#: lib/option.tcl:155
+msgid "Blame History Context Radius (days)"
+msgstr "Исторически обхват за анотиране в дни"
+
+#: lib/option.tcl:156
+msgid "Number of Diff Context Lines"
+msgstr "Брой редове за контекста на разликите"
+
+#: lib/option.tcl:157
+msgid "Additional Diff Parameters"
+msgstr "Аргументи към командата за разликите"
+
+#: lib/option.tcl:158
+msgid "Commit Message Text Width"
+msgstr "Широчина на текста на съобщението при подаване"
+
+#: lib/option.tcl:159
+msgid "New Branch Name Template"
+msgstr "Шаблон за името на новите клони"
+
+#: lib/option.tcl:160
+msgid "Default File Contents Encoding"
+msgstr "Кодиране на файловете"
+
+#: lib/option.tcl:161
+msgid "Warn before committing to a detached head"
+msgstr "Предупреждаване при подаване към несвързан указател"
+
+#: lib/option.tcl:162
+msgid "Staging of untracked files"
+msgstr "Добавяне на неследените файлове към индекса"
+
+#: lib/option.tcl:163
+msgid "Show untracked files"
+msgstr "Показване на неследените файлове"
+
+#: lib/option.tcl:164
+msgid "Tab spacing"
+msgstr "Ширина на табулацията"
+
+#: lib/option.tcl:182 lib/option.tcl:197 lib/option.tcl:220 lib/option.tcl:282
+#: lib/database.tcl:57
+#, tcl-format
+msgid "%s:"
+msgstr "%s:"
+
+#: lib/option.tcl:210
+msgid "Change"
+msgstr "Смяна"
+
+#: lib/option.tcl:254
+msgid "Spelling Dictionary:"
+msgstr "Правописен речник:"
+
+#: lib/option.tcl:284
+msgid "Change Font"
+msgstr "Смяна на шрифта"
+
+#: lib/option.tcl:288
+#, tcl-format
+msgid "Choose %s"
+msgstr "Избор на „%s“"
+
+#: lib/option.tcl:294
+msgid "pt."
+msgstr "тчк."
+
+#: lib/option.tcl:308
+msgid "Preferences"
+msgstr "Настройки"
+
+#: lib/option.tcl:345
+msgid "Failed to completely save options:"
+msgstr "Неуспешно запазване на настройките:"
+
+#: lib/encoding.tcl:443
+msgid "Default"
+msgstr "Стандартното"
+
+#: lib/encoding.tcl:448
+#, tcl-format
+msgid "System (%s)"
+msgstr "Системното (%s)"
+
+#: lib/encoding.tcl:459 lib/encoding.tcl:465
+msgid "Other"
+msgstr "Друго"
+
+#: lib/tools.tcl:76
+#, tcl-format
+msgid "Running %s requires a selected file."
+msgstr "За изпълнението на „%s“ трябва да изберете файл."
+
+#: lib/tools.tcl:92
+#, tcl-format
+msgid "Are you sure you want to run %1$s on file \"%2$s\"?"
+msgstr "Сигурни ли сте, че искате да изпълните „%1$s“ върху файла „%2$s“?"
+
+#: lib/tools.tcl:96
+#, tcl-format
+msgid "Are you sure you want to run %s?"
+msgstr "Сигурни ли сте, че искате да изпълните „%s“?"
+
+#: lib/tools.tcl:118
+#, tcl-format
+msgid "Tool: %s"
+msgstr "Команда: %s"
+
+#: lib/tools.tcl:119
+#, tcl-format
+msgid "Running: %s"
+msgstr "Изпълнение: %s"
+
+#: lib/tools.tcl:158
+#, tcl-format
+msgid "Tool completed successfully: %s"
+msgstr "Командата завърши успешно: %s"
+
+#: lib/tools.tcl:160
+#, tcl-format
+msgid "Tool failed: %s"
+msgstr "Командата върна грешка: %s"
+
+#: lib/mergetool.tcl:8
+msgid "Force resolution to the base version?"
+msgstr "Да се използва базовата версия"
+
+#: lib/mergetool.tcl:9
+msgid "Force resolution to this branch?"
+msgstr "Да се използва версията от този клон"
+
+#: lib/mergetool.tcl:10
+msgid "Force resolution to the other branch?"
+msgstr "Да се използва версията от другия клон"
+
+#: lib/mergetool.tcl:14
+#, tcl-format
+msgid ""
+"Note that the diff shows only conflicting changes.\n"
+"\n"
+"%s will be overwritten.\n"
+"\n"
+"This operation can be undone only by restarting the merge."
+msgstr ""
+"Разликата показва само разликите с конфликт.\n"
+"\n"
+"Файлът „%s“ ще се презапише.\n"
+"\n"
+"Тази операция може да се отмени само чрез започване на сливането наново."
+
+#: lib/mergetool.tcl:45
+#, tcl-format
+msgid "File %s seems to have unresolved conflicts, still stage?"
+msgstr ""
+"Изглежда, че все още има некоригирани конфликти във файла „%s“. Да се добави "
+"ли файлът към индекса?"
+
+#: lib/mergetool.tcl:60
+#, tcl-format
+msgid "Adding resolution for %s"
+msgstr "Добавяне на корекция на конфликтите в „%s“"
+
+#: lib/mergetool.tcl:141
+msgid "Cannot resolve deletion or link conflicts using a tool"
+msgstr ""
+"Конфликтите при символни връзки или изтриване не може да се коригират с "
+"външна програма."
+
+#: lib/mergetool.tcl:146
+msgid "Conflict file does not exist"
+msgstr "Файлът, в който е конфликтът, не съществува"
+
+#: lib/mergetool.tcl:246
+#, tcl-format
+msgid "Not a GUI merge tool: '%s'"
+msgstr "Това не е графична програма за сливане: „%s“"
+
+#: lib/mergetool.tcl:275
+#, tcl-format
+msgid "Unsupported merge tool '%s'"
+msgstr "Неподдържана програма за сливане: „%s“"
+
+#: lib/mergetool.tcl:310
+msgid "Merge tool is already running, terminate it?"
+msgstr "Програмата за сливане вече е стартирана. Да се изключи ли?"
+
+#: lib/mergetool.tcl:330
+#, tcl-format
+msgid ""
+"Error retrieving versions:\n"
+"%s"
+msgstr ""
+"Грешка при изтеглянето на версии:\n"
+"%s"
+
+#: lib/mergetool.tcl:350
+#, tcl-format
+msgid ""
+"Could not start the merge tool:\n"
+"\n"
+"%s"
+msgstr ""
+"Програмата за сливане не може да се стартира:\n"
+"\n"
+"%s"
+
+#: lib/mergetool.tcl:354
+msgid "Running merge tool..."
+msgstr "Стартиране на програмата за сливане…"
+
+#: lib/mergetool.tcl:382 lib/mergetool.tcl:390
+msgid "Merge tool failed."
+msgstr "Грешка в програмата за сливане."
+
+#: lib/tools_dlg.tcl:22
+#, tcl-format
+msgid "%s (%s): Add Tool"
+msgstr "%s (%s): Добавяне на команда"
+
+#: lib/tools_dlg.tcl:28
+msgid "Add New Tool Command"
+msgstr "Добавяне на команда"
+
+#: lib/tools_dlg.tcl:34
+msgid "Add globally"
+msgstr "Глобално добавяне"
+
+#: lib/tools_dlg.tcl:46
+msgid "Tool Details"
+msgstr "Подробности за командата"
+
+#: lib/tools_dlg.tcl:49
+msgid "Use '/' separators to create a submenu tree:"
+msgstr "За създаване на подменюта използвайте знака „/“ за разделител:"
+
+#: lib/tools_dlg.tcl:60
+msgid "Command:"
+msgstr "Команда:"
+
+#: lib/tools_dlg.tcl:71
+msgid "Show a dialog before running"
+msgstr "Преди изпълнение да се извежда диалогов прозорец"
+
+#: lib/tools_dlg.tcl:77
+msgid "Ask the user to select a revision (sets $REVISION)"
+msgstr "Потребителят да укаже версия (задаване на променливата $REVISION)"
+
+#: lib/tools_dlg.tcl:82
+msgid "Ask the user for additional arguments (sets $ARGS)"
+msgstr ""
+"Потребителят да укаже допълнителни аргументи (задаване на променливата $ARGS)"
+
+#: lib/tools_dlg.tcl:89
+msgid "Don't show the command output window"
+msgstr "Без показване на прозорец с изхода от командата"
+
+#: lib/tools_dlg.tcl:94
+msgid "Run only if a diff is selected ($FILENAME not empty)"
+msgstr ""
+"Стартиране само след избор на разлика (променливата $FILENAME не е празна)"
+
+#: lib/tools_dlg.tcl:118
+msgid "Please supply a name for the tool."
+msgstr "Задайте име за командата."
+
+#: lib/tools_dlg.tcl:126
+#, tcl-format
+msgid "Tool '%s' already exists."
+msgstr "Командата „%s“ вече съществува."
+
+#: lib/tools_dlg.tcl:148
+#, tcl-format
+msgid ""
+"Could not add tool:\n"
+"%s"
+msgstr ""
+"Командата не може да се добави:\n"
+"%s"
+
+#: lib/tools_dlg.tcl:187
+#, tcl-format
+msgid "%s (%s): Remove Tool"
+msgstr "%s (%s): Премахване на команда"
+
+#: lib/tools_dlg.tcl:193
+msgid "Remove Tool Commands"
+msgstr "Премахване на команди"
+
+#: lib/tools_dlg.tcl:198
+msgid "Remove"
+msgstr "Премахване"
+
+#: lib/tools_dlg.tcl:231
+msgid "(Blue denotes repository-local tools)"
+msgstr "(командите към локалното хранилище са обозначени в синьо)"
+
+#: lib/tools_dlg.tcl:283
+#, tcl-format
+msgid "%s (%s):"
+msgstr "%s (%s):"
+
+#: lib/tools_dlg.tcl:292
+#, tcl-format
+msgid "Run Command: %s"
+msgstr "Изпълнение на командата „%s“"
+
+#: lib/tools_dlg.tcl:306
+msgid "Arguments"
+msgstr "Аргументи"
+
+#: lib/tools_dlg.tcl:341
+msgid "OK"
+msgstr "Добре"
+
+#: lib/search.tcl:48
+msgid "Find:"
+msgstr "Търсене:"
+
+#: lib/search.tcl:50
+msgid "Next"
+msgstr "Следваща поява"
+
+#: lib/search.tcl:51
+msgid "Prev"
+msgstr "Предишна поява"
+
+#: lib/search.tcl:52
+msgid "RegExp"
+msgstr "РегИзр"
+
+#: lib/search.tcl:54
+msgid "Case"
+msgstr "Главни/Малки"
+
+#: lib/shortcut.tcl:8 lib/shortcut.tcl:43 lib/shortcut.tcl:75
+#, tcl-format
+msgid "%s (%s): Create Desktop Icon"
+msgstr "%s (%s): Добавяне на икона на работния плот"
+
+#: lib/shortcut.tcl:24 lib/shortcut.tcl:65
+msgid "Cannot write shortcut:"
+msgstr "Клавишната комбинация не може да се запази:"
+
+#: lib/shortcut.tcl:140
+msgid "Cannot write icon:"
+msgstr "Иконата не може да се запази:"
+
+#: lib/remote_branch_delete.tcl:29
+#, tcl-format
+msgid "%s (%s): Delete Branch Remotely"
+msgstr "%s (%s): Изтриване на отдалечения клон"
+
+#: lib/remote_branch_delete.tcl:34
+msgid "Delete Branch Remotely"
+msgstr "Изтриване на отдалечения клон"
+
+#: lib/remote_branch_delete.tcl:48
+msgid "From Repository"
+msgstr "От хранилище"
+
+#: lib/remote_branch_delete.tcl:88
+msgid "Branches"
+msgstr "Клони"
+
+#: lib/remote_branch_delete.tcl:110
+msgid "Delete Only If"
+msgstr "Изтриване, само ако"
+
+#: lib/remote_branch_delete.tcl:112
+msgid "Merged Into:"
+msgstr "Слят в:"
+
+#: lib/remote_branch_delete.tcl:120 lib/branch_delete.tcl:53
+msgid "Always (Do not perform merge checks)"
+msgstr "Винаги (без проверка за сливане)"
+
+#: lib/remote_branch_delete.tcl:153
+msgid "A branch is required for 'Merged Into'."
+msgstr "За данните „Слят в“ е необходимо да зададете клон."
+
+#: lib/remote_branch_delete.tcl:185
+#, tcl-format
+msgid ""
+"The following branches are not completely merged into %s:\n"
+"\n"
+" - %s"
+msgstr ""
+"Следните клони не са слети напълно в „%s“:\n"
+"\n"
+" ● %s"
+
+#: lib/remote_branch_delete.tcl:190
+#, tcl-format
+msgid ""
+"One or more of the merge tests failed because you have not fetched the "
+"necessary commits. Try fetching from %s first."
+msgstr ""
+"Поне една от пробите за сливане е неуспешна, защото не сте доставили всички "
+"необходими подавания. Пробвайте първо да доставите подаванията от „%s“."
+
+#: lib/remote_branch_delete.tcl:208
+msgid "Please select one or more branches to delete."
+msgstr "Изберете поне един клон за изтриване."
+
+#: lib/remote_branch_delete.tcl:218 lib/branch_delete.tcl:115
+msgid ""
+"Recovering deleted branches is difficult.\n"
+"\n"
+"Delete the selected branches?"
+msgstr ""
+"Възстановяването на изтрити клони може да е трудно.\n"
+"\n"
+"Сигурни ли сте, че искате да триете?"
+
+#: lib/remote_branch_delete.tcl:227
+#, tcl-format
+msgid "Deleting branches from %s"
+msgstr "Изтриване на клони от „%s“"
+
+#: lib/remote_branch_delete.tcl:300
+msgid "No repository selected."
+msgstr "Не е избрано хранилище."
+
+#: lib/remote_branch_delete.tcl:305
+#, tcl-format
+msgid "Scanning %s..."
+msgstr "Претърсване на „%s“…"
+
+#: lib/choose_repository.tcl:45
msgid "Git Gui"
msgstr "ГПИ на Git"
-#: lib/choose_repository.tcl:92 lib/choose_repository.tcl:412
+#: lib/choose_repository.tcl:104 lib/choose_repository.tcl:427
msgid "Create New Repository"
msgstr "Създаване на ново хранилище"
-#: lib/choose_repository.tcl:98
+#: lib/choose_repository.tcl:110
msgid "New..."
msgstr "Ново…"
-#: lib/choose_repository.tcl:105 lib/choose_repository.tcl:496
+#: lib/choose_repository.tcl:117 lib/choose_repository.tcl:511
msgid "Clone Existing Repository"
msgstr "Клониране на съществуващо хранилище"
-#: lib/choose_repository.tcl:116
+#: lib/choose_repository.tcl:128
msgid "Clone..."
msgstr "Клониране…"
-#: lib/choose_repository.tcl:123 lib/choose_repository.tcl:1064
+#: lib/choose_repository.tcl:135 lib/choose_repository.tcl:1105
msgid "Open Existing Repository"
msgstr "Отваряне на съществуващо хранилище"
-#: lib/choose_repository.tcl:129
+#: lib/choose_repository.tcl:141
msgid "Open..."
msgstr "Отваряне…"
-#: lib/choose_repository.tcl:142
+#: lib/choose_repository.tcl:154
msgid "Recent Repositories"
msgstr "Скоро ползвани"
-#: lib/choose_repository.tcl:148
+#: lib/choose_repository.tcl:164
msgid "Open Recent Repository:"
msgstr "Отваряне на хранилище ползвано наскоро:"
-#: lib/choose_repository.tcl:316 lib/choose_repository.tcl:323
-#: lib/choose_repository.tcl:330
+#: lib/choose_repository.tcl:331 lib/choose_repository.tcl:338
+#: lib/choose_repository.tcl:345
#, tcl-format
msgid "Failed to create repository %s:"
msgstr "Неуспешно създаване на хранилището „%s“:"
-#: lib/choose_repository.tcl:417
+#: lib/choose_repository.tcl:422 lib/branch_create.tcl:33
+msgid "Create"
+msgstr "Създаване"
+
+#: lib/choose_repository.tcl:432
msgid "Directory:"
msgstr "Директория:"
-#: lib/choose_repository.tcl:447 lib/choose_repository.tcl:573
-#: lib/choose_repository.tcl:1098
+#: lib/choose_repository.tcl:462 lib/choose_repository.tcl:588
+#: lib/choose_repository.tcl:1139
msgid "Git Repository"
msgstr "Хранилище на Git"
-#: lib/choose_repository.tcl:472
+#: lib/choose_repository.tcl:487
#, tcl-format
msgid "Directory %s already exists."
msgstr "Вече съществува директория „%s“."
-#: lib/choose_repository.tcl:476
+#: lib/choose_repository.tcl:491
#, tcl-format
msgid "File %s already exists."
msgstr "Вече съществува файл „%s“."
-#: lib/choose_repository.tcl:491
+#: lib/choose_repository.tcl:506
msgid "Clone"
msgstr "Клониране"
-#: lib/choose_repository.tcl:504
+#: lib/choose_repository.tcl:519
msgid "Source Location:"
msgstr "Адрес на източника:"
-#: lib/choose_repository.tcl:513
+#: lib/choose_repository.tcl:528
msgid "Target Directory:"
msgstr "Целева директория:"
-#: lib/choose_repository.tcl:523
+#: lib/choose_repository.tcl:538
msgid "Clone Type:"
msgstr "Вид клониране:"
-#: lib/choose_repository.tcl:528
+#: lib/choose_repository.tcl:543
msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
msgstr "Стандартно (бързо, частично споделяне на файлове, твърди връзки)"
-#: lib/choose_repository.tcl:533
+#: lib/choose_repository.tcl:548
msgid "Full Copy (Slower, Redundant Backup)"
msgstr "Пълно (бавно, пълноценно резервно копие)"
-#: lib/choose_repository.tcl:538
+#: lib/choose_repository.tcl:553
msgid "Shared (Fastest, Not Recommended, No Backup)"
msgstr "Споделено (най-бързо, не се препоръчва, не прави резервно копие)"
-#: lib/choose_repository.tcl:545
+#: lib/choose_repository.tcl:560
msgid "Recursively clone submodules too"
msgstr "Рекурсивно клониране и на подмодулите"
-#: lib/choose_repository.tcl:579 lib/choose_repository.tcl:626
-#: lib/choose_repository.tcl:772 lib/choose_repository.tcl:842
-#: lib/choose_repository.tcl:1104 lib/choose_repository.tcl:1112
+#: lib/choose_repository.tcl:594 lib/choose_repository.tcl:641
+#: lib/choose_repository.tcl:790 lib/choose_repository.tcl:864
+#: lib/choose_repository.tcl:1145 lib/choose_repository.tcl:1153
#, tcl-format
msgid "Not a Git repository: %s"
msgstr "Това не е хранилище на Git: %s"
-#: lib/choose_repository.tcl:615
+#: lib/choose_repository.tcl:630
msgid "Standard only available for local repository."
-msgstr "Само локални хранилища могат да се клонират стандартно"
+msgstr "Само локални хранилища може да се клонират стандартно"
-#: lib/choose_repository.tcl:619
+#: lib/choose_repository.tcl:634
msgid "Shared only available for local repository."
-msgstr "Само локални хранилища могат да се клонират споделено"
+msgstr "Само локални хранилища може да се клонират споделено"
-#: lib/choose_repository.tcl:640
+#: lib/choose_repository.tcl:655
#, tcl-format
msgid "Location %s already exists."
msgstr "Местоположението „%s“ вече съществува."
-#: lib/choose_repository.tcl:651
+#: lib/choose_repository.tcl:666
msgid "Failed to configure origin"
msgstr "Неуспешно настройване на хранилището-източник"
-#: lib/choose_repository.tcl:663
+#: lib/choose_repository.tcl:678
msgid "Counting objects"
msgstr "Преброяване на обекти"
-#: lib/choose_repository.tcl:664
+#: lib/choose_repository.tcl:679
msgid "buckets"
msgstr "клетки"
-#: lib/choose_repository.tcl:688
+#: lib/choose_repository.tcl:703
#, tcl-format
msgid "Unable to copy objects/info/alternates: %s"
-msgstr "Обектите/информацията/синонимите не могат да бъдат копирани: %s"
+msgstr "Обектите/Информацията/Синонимите не може да се копират: %s"
-#: lib/choose_repository.tcl:724
+#: lib/choose_repository.tcl:740
#, tcl-format
msgid "Nothing to clone from %s."
msgstr "Няма какво да се клонира от „%s“."
-#: lib/choose_repository.tcl:726 lib/choose_repository.tcl:940
-#: lib/choose_repository.tcl:952
+#: lib/choose_repository.tcl:742 lib/choose_repository.tcl:962
+#: lib/choose_repository.tcl:974
msgid "The 'master' branch has not been initialized."
msgstr "Основният клон — „master“ не е инициализиран."
-#: lib/choose_repository.tcl:739
+#: lib/choose_repository.tcl:755
msgid "Hardlinks are unavailable. Falling back to copying."
msgstr "Не се поддържат твърди връзки. Преминава се към копиране."
-#: lib/choose_repository.tcl:751
+#: lib/choose_repository.tcl:769
#, tcl-format
msgid "Cloning from %s"
msgstr "Клониране на „%s“"
-#: lib/choose_repository.tcl:782
+#: lib/choose_repository.tcl:800
msgid "Copying objects"
msgstr "Копиране на обекти"
-#: lib/choose_repository.tcl:783
+#: lib/choose_repository.tcl:801
msgid "KiB"
msgstr "KiB"
-#: lib/choose_repository.tcl:807
+#: lib/choose_repository.tcl:825
#, tcl-format
msgid "Unable to copy object: %s"
msgstr "Неуспешно копиране на обект: %s"
-#: lib/choose_repository.tcl:817
+#: lib/choose_repository.tcl:837
msgid "Linking objects"
msgstr "Създаване на връзки към обектите"
-#: lib/choose_repository.tcl:818
+#: lib/choose_repository.tcl:838
msgid "objects"
msgstr "обекти"
-#: lib/choose_repository.tcl:826
+#: lib/choose_repository.tcl:846
#, tcl-format
msgid "Unable to hardlink object: %s"
msgstr "Неуспешно създаване на твърда връзка към обект: %s"
-#: lib/choose_repository.tcl:881
+#: lib/choose_repository.tcl:903
msgid "Cannot fetch branches and objects. See console output for details."
msgstr ""
-"Клоните и обектите не могат да бъдат изтеглени. За повече информация "
-"погледнете изхода на конзолата."
+"Клоните и обектите не може да се изтеглят. За повече информация погледнете "
+"изхода на конзолата."
-#: lib/choose_repository.tcl:892
+#: lib/choose_repository.tcl:914
msgid "Cannot fetch tags. See console output for details."
msgstr ""
-"Етикетите не могат да бъдат изтеглени. За повече информация погледнете "
-"изхода на конзолата."
+"Етикетите не може да се изтеглят. За повече информация погледнете изхода на "
+"конзолата."
-#: lib/choose_repository.tcl:916
+#: lib/choose_repository.tcl:938
msgid "Cannot determine HEAD. See console output for details."
msgstr ""
-"Върхът „HEAD“ не може да бъде определен. За повече информация погледнете "
-"изхода на конзолата."
+"Върхът „HEAD“ не може да се определи. За повече информация погледнете изхода "
+"на конзолата."
-#: lib/choose_repository.tcl:925
+#: lib/choose_repository.tcl:947
#, tcl-format
msgid "Unable to cleanup %s"
-msgstr "„%s“ не може да се зачисти"
+msgstr "„%s“ не може да се изчисти"
-#: lib/choose_repository.tcl:931
+#: lib/choose_repository.tcl:953
msgid "Clone failed."
msgstr "Неуспешно клониране."
-#: lib/choose_repository.tcl:938
+#: lib/choose_repository.tcl:960
msgid "No default branch obtained."
msgstr "Не е получен клон по подразбиране."
-#: lib/choose_repository.tcl:949
+#: lib/choose_repository.tcl:971
#, tcl-format
msgid "Cannot resolve %s as a commit."
msgstr "Няма подаване отговарящо на „%s“."
-#: lib/choose_repository.tcl:961
+#: lib/choose_repository.tcl:998
msgid "Creating working directory"
msgstr "Създаване на работната директория"
-#: lib/choose_repository.tcl:962 lib/index.tcl:70 lib/index.tcl:136
-#: lib/index.tcl:207
-msgid "files"
-msgstr "файлове"
-
-#: lib/choose_repository.tcl:981
-msgid "Cannot clone submodules."
-msgstr "Подмодулите не могат да се клонират."
+#: lib/choose_repository.tcl:1028
+msgid "Initial file checkout failed."
+msgstr "Неуспешно първоначално изтегляне."
-#: lib/choose_repository.tcl:990
+#: lib/choose_repository.tcl:1072
msgid "Cloning submodules"
msgstr "Клониране на подмодули"
-#: lib/choose_repository.tcl:1015
-msgid "Initial file checkout failed."
-msgstr "Неуспешно първоначално изтегляне."
-
-#: lib/choose_repository.tcl:1059
-msgid "Open"
-msgstr "Отваряне"
+#: lib/choose_repository.tcl:1087
+msgid "Cannot clone submodules."
+msgstr "Подмодулите не може да се клонират."
-#: lib/choose_repository.tcl:1069
+#: lib/choose_repository.tcl:1110
msgid "Repository:"
msgstr "Хранилище:"
-#: lib/choose_repository.tcl:1118
+#: lib/choose_repository.tcl:1159
#, tcl-format
msgid "Failed to open repository %s:"
msgstr "Неуспешно отваряне на хранилището „%s“:"
+#: lib/about.tcl:26
+msgid "git-gui - a graphical user interface for Git."
+msgstr "git-gui — графичен интерфейс за Git."
+
+#: lib/blame.tcl:74
+#, tcl-format
+msgid "%s (%s): File Viewer"
+msgstr "%s (%s): Преглед на файлове"
+
+#: lib/blame.tcl:80
+msgid "Commit:"
+msgstr "Подаване:"
+
+#: lib/blame.tcl:282
+msgid "Copy Commit"
+msgstr "Копиране на подаване"
+
+#: lib/blame.tcl:286
+msgid "Find Text..."
+msgstr "Търсене на текст…"
+
+#: lib/blame.tcl:290
+msgid "Goto Line..."
+msgstr "Към ред…"
+
+#: lib/blame.tcl:299
+msgid "Do Full Copy Detection"
+msgstr "Пълно търсене на копиране"
+
+#: lib/blame.tcl:303
+msgid "Show History Context"
+msgstr "Показване на контекста от историята"
+
+#: lib/blame.tcl:306
+msgid "Blame Parent Commit"
+msgstr "Анотиране на родителското подаване"
+
+#: lib/blame.tcl:468
+#, tcl-format
+msgid "Reading %s..."
+msgstr "Чете се „%s“…"
+
+#: lib/blame.tcl:596
+msgid "Loading copy/move tracking annotations..."
+msgstr "Зареждане на анотациите за проследяване на копирането/преместването…"
+
+#: lib/blame.tcl:613
+msgid "lines annotated"
+msgstr "реда анотирани"
+
+#: lib/blame.tcl:815
+msgid "Loading original location annotations..."
+msgstr "Зареждане на анотациите за първоначалното местоположение…"
+
+#: lib/blame.tcl:818
+msgid "Annotation complete."
+msgstr "Анотирането завърши."
+
+#: lib/blame.tcl:849
+msgid "Busy"
+msgstr "Операцията не е завършила"
+
+#: lib/blame.tcl:850
+msgid "Annotation process is already running."
+msgstr "В момента тече процес на анотиране."
+
+#: lib/blame.tcl:889
+msgid "Running thorough copy detection..."
+msgstr "Изпълнява се цялостен процес на откриване на копиране…"
+
+#: lib/blame.tcl:957
+msgid "Loading annotation..."
+msgstr "Зареждане на анотации…"
+
+#: lib/blame.tcl:1010
+msgid "Author:"
+msgstr "Автор:"
+
+#: lib/blame.tcl:1014
+msgid "Committer:"
+msgstr "Подал:"
+
+#: lib/blame.tcl:1019
+msgid "Original File:"
+msgstr "Първоначален файл:"
+
+#: lib/blame.tcl:1067
+msgid "Cannot find HEAD commit:"
+msgstr "Подаването за връх „HEAD“ не може да се открие:"
+
+#: lib/blame.tcl:1122
+msgid "Cannot find parent commit:"
+msgstr "Родителското подаване не може да се открие"
+
+#: lib/blame.tcl:1137
+msgid "Unable to display parent"
+msgstr "Родителят не може да се покаже"
+
+#: lib/blame.tcl:1138 lib/diff.tcl:345
+msgid "Error loading diff:"
+msgstr "Грешка при зареждане на разлика:"
+
+#: lib/blame.tcl:1279
+msgid "Originally By:"
+msgstr "Първоначално от:"
+
+#: lib/blame.tcl:1285
+msgid "In File:"
+msgstr "Във файл:"
+
+#: lib/blame.tcl:1290
+msgid "Copied Or Moved Here By:"
+msgstr "Копирано или преместено тук от:"
+
+#: lib/diff.tcl:77
+#, tcl-format
+msgid ""
+"No differences detected.\n"
+"\n"
+"%s has no changes.\n"
+"\n"
+"The modification date of this file was updated by another application, but "
+"the content within the file was not changed.\n"
+"\n"
+"A rescan will be automatically started to find other files which may have "
+"the same state."
+msgstr ""
+"Не са открити разлики.\n"
+"\n"
+"Няма промени в „%s“.\n"
+"\n"
+"Времето на промяна на файла е бил зададен от друга програма, но съдържанието "
+"му не е променено.\n"
+"\n"
+"Автоматично ще започне нова проверка дали няма други файлове в това "
+"състояние."
+
+#: lib/diff.tcl:117
+#, tcl-format
+msgid "Loading diff of %s..."
+msgstr "Зареждане на разликите в „%s“…"
+
+#: lib/diff.tcl:143
+msgid ""
+"LOCAL: deleted\n"
+"REMOTE:\n"
+msgstr ""
+"ЛОКАЛНО: изтрит\n"
+"ОТДАЛЕЧЕНО:\n"
+
+#: lib/diff.tcl:148
+msgid ""
+"REMOTE: deleted\n"
+"LOCAL:\n"
+msgstr ""
+"ОТДАЛЕЧЕНО: изтрит\n"
+"ЛОКАЛНО:\n"
+
+#: lib/diff.tcl:155
+msgid "LOCAL:\n"
+msgstr "ЛОКАЛНО:\n"
+
+#: lib/diff.tcl:158
+msgid "REMOTE:\n"
+msgstr "ОТДАЛЕЧЕНО:\n"
+
+#: lib/diff.tcl:220 lib/diff.tcl:344
+#, tcl-format
+msgid "Unable to display %s"
+msgstr "Файлът „%s“ не може да се покаже"
+
+#: lib/diff.tcl:221
+msgid "Error loading file:"
+msgstr "Грешка при зареждане на файл:"
+
+#: lib/diff.tcl:227
+msgid "Git Repository (subproject)"
+msgstr "Хранилище на Git (подмодул)"
+
+#: lib/diff.tcl:239
+msgid "* Binary file (not showing content)."
+msgstr "● Двоичен файл (съдържанието не се показва)."
+
+#: lib/diff.tcl:244
+#, tcl-format
+msgid ""
+"* Untracked file is %d bytes.\n"
+"* Showing only first %d bytes.\n"
+msgstr ""
+"● Неследеният файл е %d байта.\n"
+"● Показват се само първите %d байта.\n"
+
+#: lib/diff.tcl:250
+#, tcl-format
+msgid ""
+"\n"
+"* Untracked file clipped here by %s.\n"
+"* To see the entire file, use an external editor.\n"
+msgstr ""
+"\n"
+"● Неследеният файл е отрязан дотук от програмата „%s“.\n"
+"● Използвайте външен редактор, за да видите целия файл.\n"
+
+#: lib/diff.tcl:583
+msgid "Failed to unstage selected hunk."
+msgstr "Избраното парче не може да се извади от индекса."
+
+#: lib/diff.tcl:591
+msgid "Failed to revert selected hunk."
+msgstr "Избраното парче не може да се върне."
+
+#: lib/diff.tcl:594
+msgid "Failed to stage selected hunk."
+msgstr "Избраното парче не може да се добави към индекса."
+
+#: lib/diff.tcl:687
+msgid "Failed to unstage selected line."
+msgstr "Избраният ред не може да се извади от индекса."
+
+#: lib/diff.tcl:696
+msgid "Failed to revert selected line."
+msgstr "Избраният ред не може да се върне."
+
+#: lib/diff.tcl:700
+msgid "Failed to stage selected line."
+msgstr "Избраният ред не може да се добави към индекса."
+
+#: lib/diff.tcl:889
+msgid "Failed to undo last revert."
+msgstr "Неуспешна отмяна на последното връщане."
+
+#: lib/sshkey.tcl:34
+msgid "No keys found."
+msgstr "Не са открити ключове."
+
+#: lib/sshkey.tcl:37
+#, tcl-format
+msgid "Found a public key in: %s"
+msgstr "Открит е публичен ключ в „%s“"
+
+#: lib/sshkey.tcl:43
+msgid "Generate Key"
+msgstr "Генериране на ключ"
+
+#: lib/sshkey.tcl:61
+msgid "Copy To Clipboard"
+msgstr "Копиране към системния буфер"
+
+#: lib/sshkey.tcl:75
+msgid "Your OpenSSH Public Key"
+msgstr "Публичният ви ключ за OpenSSH"
+
+#: lib/sshkey.tcl:83
+msgid "Generating..."
+msgstr "Генериране…"
+
+#: lib/sshkey.tcl:89
+#, tcl-format
+msgid ""
+"Could not start ssh-keygen:\n"
+"\n"
+"%s"
+msgstr ""
+"Програмата „ssh-keygen“ не може да се стартира:\n"
+"\n"
+"%s"
+
+#: lib/sshkey.tcl:116
+msgid "Generation failed."
+msgstr "Неуспешно генериране."
+
+#: lib/sshkey.tcl:123
+msgid "Generation succeeded, but no keys found."
+msgstr "Генерирането завърши успешно, а не са намерени ключове."
+
+#: lib/sshkey.tcl:126
+#, tcl-format
+msgid "Your key is in: %s"
+msgstr "Ключът ви е в „%s“"
+
+#: lib/branch_create.tcl:23
+#, tcl-format
+msgid "%s (%s): Create Branch"
+msgstr "%s (%s): Създаване на клон"
+
+#: lib/branch_create.tcl:28
+msgid "Create New Branch"
+msgstr "Създаване на нов клон"
+
+#: lib/branch_create.tcl:42
+msgid "Branch Name"
+msgstr "Име на клона"
+
+#: lib/branch_create.tcl:57
+msgid "Match Tracking Branch Name"
+msgstr "Съвпадане по името на следения клон"
+
+#: lib/branch_create.tcl:66
+msgid "Starting Revision"
+msgstr "Начална версия"
+
+#: lib/branch_create.tcl:72
+msgid "Update Existing Branch:"
+msgstr "Обновяване на съществуващ клон:"
+
+#: lib/branch_create.tcl:75
+msgid "No"
+msgstr "Не"
+
+#: lib/branch_create.tcl:80
+msgid "Fast Forward Only"
+msgstr "Само тривиално превъртащо сливане"
+
+#: lib/branch_create.tcl:97
+msgid "Checkout After Creation"
+msgstr "Преминаване към клона след създаването му"
+
+#: lib/branch_create.tcl:132
+msgid "Please select a tracking branch."
+msgstr "Изберете клон за следени."
+
+#: lib/branch_create.tcl:141
+#, tcl-format
+msgid "Tracking branch %s is not a branch in the remote repository."
+msgstr "Следящият клон — „%s“, не съществува в отдалеченото хранилище."
+
+#: lib/console.tcl:59
+msgid "Working... please wait..."
+msgstr "В момента се извършва действие, изчакайте…"
+
+#: lib/console.tcl:186
+msgid "Success"
+msgstr "Успех"
+
+#: lib/console.tcl:200
+msgid "Error: Command Failed"
+msgstr "Грешка: неуспешно изпълнение на команда"
+
+#: lib/line.tcl:17
+msgid "Goto Line:"
+msgstr "Към ред:"
+
+#: lib/line.tcl:23
+msgid "Go"
+msgstr "Към"
+
#: lib/choose_rev.tcl:52
msgid "This Detached Checkout"
msgstr "Това несвързано изтегляне"
@@ -1422,24 +2426,24 @@ msgstr ""
"В момента все още не сте завършили операция по сливане. Не може да поправите "
"предишното подаване, освен ако първо не преустановите текущото сливане.\n"
-#: lib/commit.tcl:48
+#: lib/commit.tcl:56
msgid "Error loading commit data for amend:"
msgstr "Грешка при зареждане на данните от подаване, които да се поправят:"
-#: lib/commit.tcl:75
+#: lib/commit.tcl:83
msgid "Unable to obtain your identity:"
-msgstr "Идентификацията ви не може да бъде определена:"
+msgstr "Идентификацията ви не може да се определи:"
-#: lib/commit.tcl:80
+#: lib/commit.tcl:88
msgid "Invalid GIT_COMMITTER_IDENT:"
msgstr "Неправилно поле „GIT_COMMITTER_IDENT“:"
-#: lib/commit.tcl:129
+#: lib/commit.tcl:138
#, tcl-format
msgid "warning: Tcl does not support encoding '%s'."
msgstr "предупреждение: Tcl не поддържа кодирането „%s“."
-#: lib/commit.tcl:149
+#: lib/commit.tcl:158
msgid ""
"Last scanned state does not match repository state.\n"
"\n"
@@ -1452,11 +2456,11 @@ msgstr ""
"хранилището.\n"
"\n"
"Някой друг процес за Git е променил хранилището междувременно. Състоянието "
-"трябва да бъде проверено преди ново подаване.\n"
+"трябва да се провери преди ново подаване.\n"
"\n"
"Автоматично ще започне нова проверка.\n"
-#: lib/commit.tcl:173
+#: lib/commit.tcl:182
#, tcl-format
msgid ""
"Unmerged files cannot be committed.\n"
@@ -1464,12 +2468,12 @@ msgid ""
"File %s has merge conflicts. You must resolve them and stage the file "
"before committing.\n"
msgstr ""
-"Неслетите файлове не могат да бъдат подавани.\n"
+"Неслетите файлове не може да се подадат.\n"
"\n"
"Във файла „%s“ има конфликти при сливане. За да го подадете, трябва първо да "
"коригирате конфликтите и да добавите файла към индекса за подаване.\n"
-#: lib/commit.tcl:181
+#: lib/commit.tcl:190
#, tcl-format
msgid ""
"Unknown file state %s detected.\n"
@@ -1478,9 +2482,9 @@ msgid ""
msgstr ""
"Непознато състояние на файл „%s“.\n"
"\n"
-"Файлът „%s“ не може да бъде подаден чрез текущата програма.\n"
+"Файлът „%s“ не може да се подаде чрез текущата програма.\n"
-#: lib/commit.tcl:189
+#: lib/commit.tcl:198
msgid ""
"No changes to commit.\n"
"\n"
@@ -1490,7 +2494,7 @@ msgstr ""
"\n"
"Трябва да добавите поне един файл към индекса, за да подадете.\n"
-#: lib/commit.tcl:204
+#: lib/commit.tcl:213
msgid ""
"Please supply a commit message.\n"
"\n"
@@ -1508,15 +2512,15 @@ msgstr ""
"● Втори ред: празен.\n"
"● Останалите редове: опишете защо се налага тази промяна.\n"
-#: lib/commit.tcl:235
+#: lib/commit.tcl:244
msgid "Calling pre-commit hook..."
msgstr "Изпълняване на куката преди подаване…"
-#: lib/commit.tcl:250
+#: lib/commit.tcl:259
msgid "Commit declined by pre-commit hook."
msgstr "Подаването е отхвърлено от куката преди подаване."
-#: lib/commit.tcl:269
+#: lib/commit.tcl:278
msgid ""
"You are about to commit on a detached head. This is a potentially dangerous "
"thing to do because if you switch to another branch you will lose your "
@@ -1532,32 +2536,32 @@ msgstr ""
" \n"
"Сигурни ли сте, че искате да извършите текущото подаване?"
-#: lib/commit.tcl:290
+#: lib/commit.tcl:299
msgid "Calling commit-msg hook..."
msgstr "Изпълняване на куката за съобщението при подаване…"
-#: lib/commit.tcl:305
+#: lib/commit.tcl:314
msgid "Commit declined by commit-msg hook."
msgstr "Подаването е отхвърлено от куката за съобщението при подаване."
-#: lib/commit.tcl:318
+#: lib/commit.tcl:327
msgid "Committing changes..."
msgstr "Подаване на промените…"
-#: lib/commit.tcl:334
+#: lib/commit.tcl:344
msgid "write-tree failed:"
msgstr "неуспешно запазване на дървото (write-tree):"
-#: lib/commit.tcl:335 lib/commit.tcl:382 lib/commit.tcl:403
+#: lib/commit.tcl:345 lib/commit.tcl:395 lib/commit.tcl:422
msgid "Commit failed."
msgstr "Неуспешно подаване."
-#: lib/commit.tcl:352
+#: lib/commit.tcl:362
#, tcl-format
msgid "Commit %s appears to be corrupt"
msgstr "Подаването „%s“ изглежда повредено"
-#: lib/commit.tcl:357
+#: lib/commit.tcl:367
msgid ""
"No changes to commit.\n"
"\n"
@@ -1572,34 +2576,63 @@ msgstr ""
"\n"
"Автоматично ще започне нова проверка.\n"
-#: lib/commit.tcl:364
+#: lib/commit.tcl:374
msgid "No changes to commit."
msgstr "Няма промени за подаване."
-#: lib/commit.tcl:381
+#: lib/commit.tcl:394
msgid "commit-tree failed:"
msgstr "неуспешно подаване на дървото (commit-tree):"
-#: lib/commit.tcl:402
+#: lib/commit.tcl:421
msgid "update-ref failed:"
msgstr "неуспешно обновяване на указателите (update-ref):"
-#: lib/commit.tcl:495
+#: lib/commit.tcl:514
#, tcl-format
msgid "Created commit %s: %s"
msgstr "Успешно подаване %s: %s"
-#: lib/console.tcl:59
-msgid "Working... please wait..."
-msgstr "В момента се извършва действие, изчакайте…"
+#: lib/branch_delete.tcl:16
+#, tcl-format
+msgid "%s (%s): Delete Branch"
+msgstr "%s (%s): Изтриване на клон"
-#: lib/console.tcl:186
-msgid "Success"
-msgstr "Успех"
+#: lib/branch_delete.tcl:21
+msgid "Delete Local Branch"
+msgstr "Изтриване на локален клон"
-#: lib/console.tcl:200
-msgid "Error: Command Failed"
-msgstr "Грешка: неуспешно изпълнение на команда"
+#: lib/branch_delete.tcl:39
+msgid "Local Branches"
+msgstr "Локални клони"
+
+#: lib/branch_delete.tcl:51
+msgid "Delete Only If Merged Into"
+msgstr "Изтриване, само ако промените са слети и другаде"
+
+#: lib/branch_delete.tcl:103
+#, tcl-format
+msgid "The following branches are not completely merged into %s:"
+msgstr "Не всички промени в клоните са слети в „%s“:"
+
+#: lib/branch_delete.tcl:131
+#, tcl-format
+msgid " - %s:"
+msgstr " — „%s:“"
+
+#: lib/branch_delete.tcl:141
+#, tcl-format
+msgid ""
+"Failed to delete branches:\n"
+"%s"
+msgstr ""
+"Неуспешно триене на клони:\n"
+"%s"
+
+#: lib/date.tcl:25
+#, tcl-format
+msgid "Invalid date from Git: %s"
+msgstr "Неправилни данни от Git: %s"
#: lib/database.tcl:42
msgid "Number of loose objects"
@@ -1629,12 +2662,6 @@ msgstr "Пакетирани обекти за окастряне"
msgid "Garbage files"
msgstr "Файлове за боклука"
-#: lib/database.tcl:57 lib/option.tcl:182 lib/option.tcl:197 lib/option.tcl:220
-#: lib/option.tcl:282
-#, tcl-format
-msgid "%s:"
-msgstr "%s:"
-
#: lib/database.tcl:66
#, tcl-format
msgid "%s (%s): Database Statistics"
@@ -1665,129 +2692,6 @@ msgstr ""
"\n"
"Да се започне ли компресирането?"
-#: lib/date.tcl:25
-#, tcl-format
-msgid "Invalid date from Git: %s"
-msgstr "Неправилни данни от Git: %s"
-
-#: lib/diff.tcl:77
-#, tcl-format
-msgid ""
-"No differences detected.\n"
-"\n"
-"%s has no changes.\n"
-"\n"
-"The modification date of this file was updated by another application, but "
-"the content within the file was not changed.\n"
-"\n"
-"A rescan will be automatically started to find other files which may have "
-"the same state."
-msgstr ""
-"Не са открити разлики.\n"
-"\n"
-"Няма промени в „%s“.\n"
-"\n"
-"Времето на промяна на файла е бил зададен от друга програма, но съдържанието "
-"му не е променено.\n"
-"\n"
-"Автоматично ще започне нова проверка дали няма други файлове в това "
-"състояние."
-
-#: lib/diff.tcl:117
-#, tcl-format
-msgid "Loading diff of %s..."
-msgstr "Зареждане на разликите в „%s“…"
-
-#: lib/diff.tcl:143
-msgid ""
-"LOCAL: deleted\n"
-"REMOTE:\n"
-msgstr ""
-"ЛОКАЛНО: изтрит\n"
-"ОТДАЛЕЧЕНО:\n"
-
-#: lib/diff.tcl:148
-msgid ""
-"REMOTE: deleted\n"
-"LOCAL:\n"
-msgstr ""
-"ОТДАЛЕЧЕНО: изтрит\n"
-"ЛОКАЛНО:\n"
-
-#: lib/diff.tcl:155
-msgid "LOCAL:\n"
-msgstr "ЛОКАЛНО:\n"
-
-#: lib/diff.tcl:158
-msgid "REMOTE:\n"
-msgstr "ОТДАЛЕЧЕНО:\n"
-
-#: lib/diff.tcl:220 lib/diff.tcl:357
-#, tcl-format
-msgid "Unable to display %s"
-msgstr "Файлът „%s“ не може да бъде показан"
-
-#: lib/diff.tcl:221
-msgid "Error loading file:"
-msgstr "Грешка при зареждане на файл:"
-
-#: lib/diff.tcl:227
-msgid "Git Repository (subproject)"
-msgstr "Хранилище на Git (подмодул)"
-
-#: lib/diff.tcl:239
-msgid "* Binary file (not showing content)."
-msgstr "● Двоичен файл (съдържанието не се показва)."
-
-#: lib/diff.tcl:244
-#, tcl-format
-msgid ""
-"* Untracked file is %d bytes.\n"
-"* Showing only first %d bytes.\n"
-msgstr ""
-"● Неследеният файл е %d байта.\n"
-"● Показват се само първите %d байта.\n"
-
-#: lib/diff.tcl:250
-#, tcl-format
-msgid ""
-"\n"
-"* Untracked file clipped here by %s.\n"
-"* To see the entire file, use an external editor.\n"
-msgstr ""
-"\n"
-"● Неследеният файл е отрязан дотук от програмата „%s“.\n"
-"● Използвайте външен редактор, за да видите целия файл.\n"
-
-#: lib/diff.tcl:580
-msgid "Failed to unstage selected hunk."
-msgstr "Избраното парче не може да бъде извадено от индекса."
-
-#: lib/diff.tcl:587
-msgid "Failed to stage selected hunk."
-msgstr "Избраното парче не може да бъде добавено към индекса."
-
-#: lib/diff.tcl:666
-msgid "Failed to unstage selected line."
-msgstr "Избраният ред не може да бъде изваден от индекса."
-
-#: lib/diff.tcl:674
-msgid "Failed to stage selected line."
-msgstr "Избраният ред не може да бъде добавен към индекса."
-
-#: lib/encoding.tcl:443
-msgid "Default"
-msgstr "Стандартното"
-
-#: lib/encoding.tcl:448
-#, tcl-format
-msgid "System (%s)"
-msgstr "Системното (%s)"
-
-#: lib/encoding.tcl:459 lib/encoding.tcl:465
-msgid "Other"
-msgstr "Друго"
-
#: lib/error.tcl:20
#, tcl-format
msgid "%s: error"
@@ -1812,98 +2716,6 @@ msgstr "Преди да можете да подадете, коригирайт
msgid "%s (%s): error"
msgstr "%s (%s): грешка"
-#: lib/index.tcl:6
-msgid "Unable to unlock the index."
-msgstr "Индексът не може да бъде отключен."
-
-#: lib/index.tcl:17
-msgid "Index Error"
-msgstr "Грешка в индекса"
-
-#: lib/index.tcl:19
-msgid ""
-"Updating the Git index failed. A rescan will be automatically started to "
-"resynchronize git-gui."
-msgstr ""
-"Неуспешно обновяване на индекса на Git. Автоматично ще започне нова проверка "
-"за синхронизирането на git-gui."
-
-#: lib/index.tcl:30
-msgid "Continue"
-msgstr "Продължаване"
-
-#: lib/index.tcl:33
-msgid "Unlock Index"
-msgstr "Отключване на индекса"
-
-#: lib/index.tcl:294
-msgid "Unstaging selected files from commit"
-msgstr "Изваждане на избраните файлове от подаването"
-
-#: lib/index.tcl:298
-#, tcl-format
-msgid "Unstaging %s from commit"
-msgstr "Изваждане на „%s“ от подаването"
-
-#: lib/index.tcl:337
-msgid "Ready to commit."
-msgstr "Готовност за подаване."
-
-#: lib/index.tcl:346
-msgid "Adding selected files"
-msgstr "Добавяне на избраните файлове"
-
-#: lib/index.tcl:350
-#, tcl-format
-msgid "Adding %s"
-msgstr "Добавяне на „%s“"
-
-#: lib/index.tcl:380
-#, tcl-format
-msgid "Stage %d untracked files?"
-msgstr "Да се добавят ли %d неследени файла към индекса?"
-
-#: lib/index.tcl:388
-msgid "Adding all changed files"
-msgstr "Добавяне на всички променени файлове"
-
-#: lib/index.tcl:428
-#, tcl-format
-msgid "Revert changes in file %s?"
-msgstr "Да се махнат ли промените във файла „%s“?"
-
-#: lib/index.tcl:430
-#, tcl-format
-msgid "Revert changes in these %i files?"
-msgstr "Да се махнат ли промените в тези %i файла?"
-
-#: lib/index.tcl:438
-msgid "Any unstaged changes will be permanently lost by the revert."
-msgstr ""
-"Всички промени, които не са били вкарани в индекса, ще бъдат безвъзвратно "
-"загубени."
-
-#: lib/index.tcl:441
-msgid "Do Nothing"
-msgstr "Нищо да не се прави"
-
-#: lib/index.tcl:459
-msgid "Reverting selected files"
-msgstr "Махане на промените в избраните файлове"
-
-#: lib/index.tcl:463
-#, tcl-format
-msgid "Reverting %s"
-msgstr "Махане на промените в „%s“"
-
-#: lib/line.tcl:17
-msgid "Goto Line:"
-msgstr "Към ред:"
-
-#: lib/line.tcl:23
-msgid "Go"
-msgstr "Придвижване"
-
#: lib/merge.tcl:13
msgid ""
"Cannot merge while amending.\n"
@@ -1927,7 +2739,7 @@ msgstr ""
"Последно установеното състояние не отговаря на това в хранилището.\n"
"\n"
"Някой друг процес за Git е променил хранилището междувременно. Състоянието "
-"трябва да бъде проверено, преди да се извърши сливане.\n"
+"трябва да се провери, преди да се извърши сливане.\n"
"\n"
"Автоматично ще започне нова проверка.\n"
"\n"
@@ -2005,7 +2817,7 @@ msgid ""
"\n"
"You must finish amending this commit.\n"
msgstr ""
-"Поправянето не може да бъде преустановено.\n"
+"Поправянето не може да се преустанови.\n"
"\n"
"Трябва да завършите поправката на това подаване.\n"
@@ -2019,7 +2831,7 @@ msgid ""
msgstr ""
"Да се преустанови ли сливането?\n"
"\n"
-"В такъв случай ●ВСИЧКИ● неподадени промени ще бъдат безвъзвратно загубени.\n"
+"В такъв случай ●ВСИЧКИ● неподадени промени ще се загубят безвъзвратно.\n"
"\n"
"Наистина ли да се преустанови сливането?"
@@ -2033,775 +2845,22 @@ msgid ""
msgstr ""
"Да се занулят ли промените?\n"
"\n"
-"В такъв случай ●ВСИЧКИ● неподадени промени ще бъдат безвъзвратно загубени.\n"
+"В такъв случай ●ВСИЧКИ● неподадени промени ще се загубят безвъзвратно.\n"
"\n"
"Наистина ли да се занулят промените?"
-#: lib/merge.tcl:245
+#: lib/merge.tcl:246
msgid "Aborting"
msgstr "Преустановяване"
-#: lib/merge.tcl:245
+#: lib/merge.tcl:247
msgid "files reset"
msgstr "файла със занулени промени"
-#: lib/merge.tcl:273
+#: lib/merge.tcl:277
msgid "Abort failed."
msgstr "Неуспешно преустановяване."
-#: lib/merge.tcl:275
+#: lib/merge.tcl:279
msgid "Abort completed. Ready."
msgstr "Успешно преустановяване. Готовност за следващо действие."
-
-#: lib/mergetool.tcl:8
-msgid "Force resolution to the base version?"
-msgstr "Да се използва базовата версия"
-
-#: lib/mergetool.tcl:9
-msgid "Force resolution to this branch?"
-msgstr "Да се използва версията от този клон"
-
-#: lib/mergetool.tcl:10
-msgid "Force resolution to the other branch?"
-msgstr "Да се използва версията от другия клон"
-
-#: lib/mergetool.tcl:14
-#, tcl-format
-msgid ""
-"Note that the diff shows only conflicting changes.\n"
-"\n"
-"%s will be overwritten.\n"
-"\n"
-"This operation can be undone only by restarting the merge."
-msgstr ""
-"Разликата показва само разликите с конфликт.\n"
-"\n"
-"Файлът „%s“ ще бъде презаписан.\n"
-"\n"
-"Тази операция може да бъде отменена само чрез започване на сливането наново."
-
-#: lib/mergetool.tcl:45
-#, tcl-format
-msgid "File %s seems to have unresolved conflicts, still stage?"
-msgstr ""
-"Изглежда, че все още има некоригирани конфликти във файла „%s“. Да се добави "
-"ли файлът към индекса?"
-
-#: lib/mergetool.tcl:60
-#, tcl-format
-msgid "Adding resolution for %s"
-msgstr "Добавяне на корекция на конфликтите в „%s“"
-
-#: lib/mergetool.tcl:141
-msgid "Cannot resolve deletion or link conflicts using a tool"
-msgstr ""
-"Конфликтите при символни връзки или изтриване не могат да бъдат коригирани с "
-"външна програма."
-
-#: lib/mergetool.tcl:146
-msgid "Conflict file does not exist"
-msgstr "Файлът, в който е конфликтът, не съществува"
-
-#: lib/mergetool.tcl:246
-#, tcl-format
-msgid "Not a GUI merge tool: '%s'"
-msgstr "Това не е графична програма за сливане: „%s“"
-
-#: lib/mergetool.tcl:275
-#, tcl-format
-msgid "Unsupported merge tool '%s'"
-msgstr "Неподдържана програма за сливане: „%s“"
-
-#: lib/mergetool.tcl:310
-msgid "Merge tool is already running, terminate it?"
-msgstr "Програмата за сливане вече е стартирана. Да бъде ли изключена?"
-
-#: lib/mergetool.tcl:330
-#, tcl-format
-msgid ""
-"Error retrieving versions:\n"
-"%s"
-msgstr ""
-"Грешка при изтеглянето на версии:\n"
-"%s"
-
-#: lib/mergetool.tcl:350
-#, tcl-format
-msgid ""
-"Could not start the merge tool:\n"
-"\n"
-"%s"
-msgstr ""
-"Програмата за сливане не може да бъде стартирана:\n"
-"\n"
-"%s"
-
-#: lib/mergetool.tcl:354
-msgid "Running merge tool..."
-msgstr "Стартиране на програмата за сливане…"
-
-#: lib/mergetool.tcl:382 lib/mergetool.tcl:390
-msgid "Merge tool failed."
-msgstr "Грешка в програмата за сливане."
-
-#: lib/option.tcl:11
-#, tcl-format
-msgid "Invalid global encoding '%s'"
-msgstr "Неправилно глобално кодиране „%s“"
-
-#: lib/option.tcl:19
-#, tcl-format
-msgid "Invalid repo encoding '%s'"
-msgstr "Неправилно кодиране „%s“ на хранилището"
-
-#: lib/option.tcl:119
-msgid "Restore Defaults"
-msgstr "Стандартни настройки"
-
-#: lib/option.tcl:123
-msgid "Save"
-msgstr "Запазване"
-
-#: lib/option.tcl:133
-#, tcl-format
-msgid "%s Repository"
-msgstr "Хранилище „%s“"
-
-#: lib/option.tcl:134
-msgid "Global (All Repositories)"
-msgstr "Глобално (за всички хранилища)"
-
-#: lib/option.tcl:140
-msgid "User Name"
-msgstr "Потребителско име"
-
-#: lib/option.tcl:141
-msgid "Email Address"
-msgstr "Адрес на е-поща"
-
-#: lib/option.tcl:143
-msgid "Summarize Merge Commits"
-msgstr "Обобщаване на подаванията при сливане"
-
-#: lib/option.tcl:144
-msgid "Merge Verbosity"
-msgstr "Подробности при сливанията"
-
-#: lib/option.tcl:145
-msgid "Show Diffstat After Merge"
-msgstr "Извеждане на статистика след сливанията"
-
-#: lib/option.tcl:146
-msgid "Use Merge Tool"
-msgstr "Използване на програма за сливане"
-
-#: lib/option.tcl:148
-msgid "Trust File Modification Timestamps"
-msgstr "Доверие във времето на промяна на файловете"
-
-#: lib/option.tcl:149
-msgid "Prune Tracking Branches During Fetch"
-msgstr "Окастряне на следящите клонове при доставяне"
-
-#: lib/option.tcl:150
-msgid "Match Tracking Branches"
-msgstr "Напасване на следящите клонове"
-
-#: lib/option.tcl:151
-msgid "Use Textconv For Diffs and Blames"
-msgstr "Използване на „textconv“ за разликите и анотирането"
-
-#: lib/option.tcl:152
-msgid "Blame Copy Only On Changed Files"
-msgstr "Анотиране на копието само по променените файлове"
-
-#: lib/option.tcl:153
-msgid "Maximum Length of Recent Repositories List"
-msgstr "Максимален брой на списъка „Скоро ползвани“ хранилища"
-
-#: lib/option.tcl:154
-msgid "Minimum Letters To Blame Copy On"
-msgstr "Минимален брой знаци за анотиране на копието"
-
-#: lib/option.tcl:155
-msgid "Blame History Context Radius (days)"
-msgstr "Исторически обхват за анотиране в дни"
-
-#: lib/option.tcl:156
-msgid "Number of Diff Context Lines"
-msgstr "Брой редове за контекста на разликите"
-
-#: lib/option.tcl:157
-msgid "Additional Diff Parameters"
-msgstr "Аргументи към командата за разликите"
-
-#: lib/option.tcl:158
-msgid "Commit Message Text Width"
-msgstr "Широчина на текста на съобщението при подаване"
-
-#: lib/option.tcl:159
-msgid "New Branch Name Template"
-msgstr "Шаблон за името на новите клони"
-
-#: lib/option.tcl:160
-msgid "Default File Contents Encoding"
-msgstr "Кодиране на файловете"
-
-#: lib/option.tcl:161
-msgid "Warn before committing to a detached head"
-msgstr "Предупреждаване при подаване към несвързан указател"
-
-#: lib/option.tcl:162
-msgid "Staging of untracked files"
-msgstr "Добавяне на неследените файлове към индекса"
-
-#: lib/option.tcl:163
-msgid "Show untracked files"
-msgstr "Показване на неследените файлове"
-
-#: lib/option.tcl:164
-msgid "Tab spacing"
-msgstr "Ширина на табулацията"
-
-#: lib/option.tcl:210
-msgid "Change"
-msgstr "Смяна"
-
-#: lib/option.tcl:254
-msgid "Spelling Dictionary:"
-msgstr "Правописен речник:"
-
-#: lib/option.tcl:284
-msgid "Change Font"
-msgstr "Смяна на шрифта"
-
-#: lib/option.tcl:288
-#, tcl-format
-msgid "Choose %s"
-msgstr "Избор на „%s“"
-
-#: lib/option.tcl:294
-msgid "pt."
-msgstr "тчк."
-
-#: lib/option.tcl:308
-msgid "Preferences"
-msgstr "Настройки"
-
-#: lib/option.tcl:345
-msgid "Failed to completely save options:"
-msgstr "Неуспешно запазване на настройките:"
-
-#: lib/remote.tcl:200
-msgid "Push to"
-msgstr "Изтласкване към"
-
-#: lib/remote.tcl:218
-msgid "Remove Remote"
-msgstr "Премахване на отдалечено хранилище"
-
-#: lib/remote.tcl:223
-msgid "Prune from"
-msgstr "Окастряне от"
-
-#: lib/remote.tcl:228
-msgid "Fetch from"
-msgstr "Доставяне от"
-
-#: lib/remote.tcl:253 lib/remote.tcl:258
-msgid "All"
-msgstr "Всички"
-
-#: lib/remote_add.tcl:20
-#, tcl-format
-msgid "%s (%s): Add Remote"
-msgstr "%s (%s): Добавяне на отдалечено хранилище"
-
-#: lib/remote_add.tcl:25
-msgid "Add New Remote"
-msgstr "Добавяне на отдалечено хранилище"
-
-#: lib/remote_add.tcl:30 lib/tools_dlg.tcl:37
-msgid "Add"
-msgstr "Добавяне"
-
-#: lib/remote_add.tcl:39
-msgid "Remote Details"
-msgstr "Данни за отдалеченото хранилище"
-
-#: lib/remote_add.tcl:50
-msgid "Location:"
-msgstr "Местоположение:"
-
-#: lib/remote_add.tcl:60
-msgid "Further Action"
-msgstr "Следващо действие"
-
-#: lib/remote_add.tcl:63
-msgid "Fetch Immediately"
-msgstr "Незабавно доставяне"
-
-#: lib/remote_add.tcl:69
-msgid "Initialize Remote Repository and Push"
-msgstr "Инициализиране на отдалеченото хранилище и изтласкване на промените"
-
-#: lib/remote_add.tcl:75
-msgid "Do Nothing Else Now"
-msgstr "Да не се прави нищо"
-
-#: lib/remote_add.tcl:100
-msgid "Please supply a remote name."
-msgstr "Задайте име за отдалеченото хранилище."
-
-#: lib/remote_add.tcl:113
-#, tcl-format
-msgid "'%s' is not an acceptable remote name."
-msgstr "Отдалечено хранилище не може да се казва „%s“."
-
-#: lib/remote_add.tcl:124
-#, tcl-format
-msgid "Failed to add remote '%s' of location '%s'."
-msgstr "Неуспешно добавяне на отдалеченото хранилище „%s“ от адрес „%s“."
-
-#: lib/remote_add.tcl:132 lib/transport.tcl:6
-#, tcl-format
-msgid "fetch %s"
-msgstr "доставяне на „%s“"
-
-#: lib/remote_add.tcl:133
-#, tcl-format
-msgid "Fetching the %s"
-msgstr "Доставяне на „%s“"
-
-#: lib/remote_add.tcl:156
-#, tcl-format
-msgid "Do not know how to initialize repository at location '%s'."
-msgstr "Хранилището с местоположение „%s“ не може да бъде инициализирано."
-
-#: lib/remote_add.tcl:162 lib/transport.tcl:54 lib/transport.tcl:92
-#: lib/transport.tcl:110
-#, tcl-format
-msgid "push %s"
-msgstr "изтласкване на „%s“"
-
-#: lib/remote_add.tcl:163
-#, tcl-format
-msgid "Setting up the %s (at %s)"
-msgstr "Добавяне на хранилище „%s“ (с адрес „%s“)"
-
-#: lib/remote_branch_delete.tcl:29
-#, tcl-format
-msgid "%s (%s): Delete Branch Remotely"
-msgstr "%s (%s): Изтриване на отдалечения клон"
-
-#: lib/remote_branch_delete.tcl:34
-msgid "Delete Branch Remotely"
-msgstr "Изтриване на отдалечения клон"
-
-#: lib/remote_branch_delete.tcl:48
-msgid "From Repository"
-msgstr "От хранилище"
-
-#: lib/remote_branch_delete.tcl:51 lib/transport.tcl:165
-msgid "Remote:"
-msgstr "Отдалечено хранилище:"
-
-#: lib/remote_branch_delete.tcl:72 lib/transport.tcl:187
-msgid "Arbitrary Location:"
-msgstr "Произволно местоположение:"
-
-#: lib/remote_branch_delete.tcl:88
-msgid "Branches"
-msgstr "Клони"
-
-#: lib/remote_branch_delete.tcl:110
-msgid "Delete Only If"
-msgstr "Изтриване, само ако"
-
-#: lib/remote_branch_delete.tcl:112
-msgid "Merged Into:"
-msgstr "Слят в:"
-
-#: lib/remote_branch_delete.tcl:153
-msgid "A branch is required for 'Merged Into'."
-msgstr "За данните „Слят в“ е необходимо да зададете клон."
-
-#: lib/remote_branch_delete.tcl:185
-#, tcl-format
-msgid ""
-"The following branches are not completely merged into %s:\n"
-"\n"
-" - %s"
-msgstr ""
-"Следните клони не са слети напълно в „%s“:\n"
-"\n"
-" ● %s"
-
-#: lib/remote_branch_delete.tcl:190
-#, tcl-format
-msgid ""
-"One or more of the merge tests failed because you have not fetched the "
-"necessary commits. Try fetching from %s first."
-msgstr ""
-"Поне една от пробите за сливане е неуспешна, защото не сте доставили всички "
-"необходими подавания. Пробвайте първо да доставите подаванията от „%s“."
-
-#: lib/remote_branch_delete.tcl:208
-msgid "Please select one or more branches to delete."
-msgstr "Изберете поне един клон за изтриване."
-
-#: lib/remote_branch_delete.tcl:227
-#, tcl-format
-msgid "Deleting branches from %s"
-msgstr "Изтриване на клони от „%s“"
-
-#: lib/remote_branch_delete.tcl:300
-msgid "No repository selected."
-msgstr "Не е избрано хранилище."
-
-#: lib/remote_branch_delete.tcl:305
-#, tcl-format
-msgid "Scanning %s..."
-msgstr "Претърсване на „%s“…"
-
-#: lib/search.tcl:48
-msgid "Find:"
-msgstr "Търсене:"
-
-#: lib/search.tcl:50
-msgid "Next"
-msgstr "Следваща поява"
-
-#: lib/search.tcl:51
-msgid "Prev"
-msgstr "Предишна поява"
-
-#: lib/search.tcl:52
-msgid "RegExp"
-msgstr "РегИзр"
-
-#: lib/search.tcl:54
-msgid "Case"
-msgstr "Главни/малки"
-
-#: lib/shortcut.tcl:8 lib/shortcut.tcl:43 lib/shortcut.tcl:75
-#, tcl-format
-msgid "%s (%s): Create Desktop Icon"
-msgstr "%s (%s): Добавяне на икона на работния плот"
-
-#: lib/shortcut.tcl:24 lib/shortcut.tcl:65
-msgid "Cannot write shortcut:"
-msgstr "Клавишната комбинация не може да бъде запазена:"
-
-#: lib/shortcut.tcl:140
-msgid "Cannot write icon:"
-msgstr "Иконата не може да бъде запазена:"
-
-#: lib/spellcheck.tcl:57
-msgid "Unsupported spell checker"
-msgstr "Тази програма за проверка на правописа не се поддържа"
-
-#: lib/spellcheck.tcl:65
-msgid "Spell checking is unavailable"
-msgstr "Липсва програма за проверка на правописа"
-
-#: lib/spellcheck.tcl:68
-msgid "Invalid spell checking configuration"
-msgstr "Неправилни настройки на проверката на правописа"
-
-#: lib/spellcheck.tcl:70
-#, tcl-format
-msgid "Reverting dictionary to %s."
-msgstr "Ползване на речник за език „%s“."
-
-#: lib/spellcheck.tcl:73
-msgid "Spell checker silently failed on startup"
-msgstr "Програмата за правопис даже не стартира успешно."
-
-#: lib/spellcheck.tcl:80
-msgid "Unrecognized spell checker"
-msgstr "Непозната програма за проверка на правописа"
-
-#: lib/spellcheck.tcl:186
-msgid "No Suggestions"
-msgstr "Няма предложения"
-
-#: lib/spellcheck.tcl:388
-msgid "Unexpected EOF from spell checker"
-msgstr "Неочакван край на файл от програмата за проверка на правописа"
-
-#: lib/spellcheck.tcl:392
-msgid "Spell Checker Failed"
-msgstr "Грешка в програмата за проверка на правописа"
-
-#: lib/sshkey.tcl:31
-msgid "No keys found."
-msgstr "Не са открити ключове."
-
-#: lib/sshkey.tcl:34
-#, tcl-format
-msgid "Found a public key in: %s"
-msgstr "Открит е публичен ключ в „%s“"
-
-#: lib/sshkey.tcl:40
-msgid "Generate Key"
-msgstr "Генериране на ключ"
-
-#: lib/sshkey.tcl:58
-msgid "Copy To Clipboard"
-msgstr "Копиране към системния буфер"
-
-#: lib/sshkey.tcl:72
-msgid "Your OpenSSH Public Key"
-msgstr "Публичният ви ключ за OpenSSH"
-
-#: lib/sshkey.tcl:80
-msgid "Generating..."
-msgstr "Генериране…"
-
-#: lib/sshkey.tcl:86
-#, tcl-format
-msgid ""
-"Could not start ssh-keygen:\n"
-"\n"
-"%s"
-msgstr ""
-"Програмата „ssh-keygen“ не може да бъде стартирана:\n"
-"\n"
-"%s"
-
-#: lib/sshkey.tcl:113
-msgid "Generation failed."
-msgstr "Неуспешно генериране."
-
-#: lib/sshkey.tcl:120
-msgid "Generation succeeded, but no keys found."
-msgstr "Генерирането завърши успешно, а не са намерени ключове."
-
-#: lib/sshkey.tcl:123
-#, tcl-format
-msgid "Your key is in: %s"
-msgstr "Ключът ви е в „%s“"
-
-#: lib/status_bar.tcl:87
-#, tcl-format
-msgid "%s ... %*i of %*i %s (%3i%%)"
-msgstr "%s… %*i от общо %*i %s (%3i%%)"
-
-#: lib/tools.tcl:76
-#, tcl-format
-msgid "Running %s requires a selected file."
-msgstr "За изпълнението на „%s“ трябва да изберете файл."
-
-#: lib/tools.tcl:92
-#, tcl-format
-msgid "Are you sure you want to run %1$s on file \"%2$s\"?"
-msgstr "Сигурни ли сте, че искате да изпълните „%1$s“ върху файла „%2$s“?"
-
-#: lib/tools.tcl:96
-#, tcl-format
-msgid "Are you sure you want to run %s?"
-msgstr "Сигурни ли сте, че искате да изпълните „%s“?"
-
-#: lib/tools.tcl:118
-#, tcl-format
-msgid "Tool: %s"
-msgstr "Команда: %s"
-
-#: lib/tools.tcl:119
-#, tcl-format
-msgid "Running: %s"
-msgstr "Изпълнение: %s"
-
-#: lib/tools.tcl:158
-#, tcl-format
-msgid "Tool completed successfully: %s"
-msgstr "Командата завърши успешно: %s"
-
-#: lib/tools.tcl:160
-#, tcl-format
-msgid "Tool failed: %s"
-msgstr "Командата върна грешка: %s"
-
-#: lib/tools_dlg.tcl:22
-#, tcl-format
-msgid "%s (%s): Add Tool"
-msgstr "%s (%s): Добавяне на команда"
-
-#: lib/tools_dlg.tcl:28
-msgid "Add New Tool Command"
-msgstr "Добавяне на команда"
-
-#: lib/tools_dlg.tcl:34
-msgid "Add globally"
-msgstr "Глобално добавяне"
-
-#: lib/tools_dlg.tcl:46
-msgid "Tool Details"
-msgstr "Подробности за командата"
-
-#: lib/tools_dlg.tcl:49
-msgid "Use '/' separators to create a submenu tree:"
-msgstr "За създаване на подменюта използвайте знака „/“ за разделител:"
-
-#: lib/tools_dlg.tcl:60
-msgid "Command:"
-msgstr "Команда:"
-
-#: lib/tools_dlg.tcl:71
-msgid "Show a dialog before running"
-msgstr "Преди изпълнение да се извежда диалогов прозорец"
-
-#: lib/tools_dlg.tcl:77
-msgid "Ask the user to select a revision (sets $REVISION)"
-msgstr "Потребителят да укаже версия (задаване на променливата $REVISION)"
-
-#: lib/tools_dlg.tcl:82
-msgid "Ask the user for additional arguments (sets $ARGS)"
-msgstr ""
-"Потребителят да укаже допълнителни аргументи (задаване на променливата $ARGS)"
-
-#: lib/tools_dlg.tcl:89
-msgid "Don't show the command output window"
-msgstr "Без показване на прозорец с изхода от командата"
-
-#: lib/tools_dlg.tcl:94
-msgid "Run only if a diff is selected ($FILENAME not empty)"
-msgstr ""
-"Стартиране само след избор на разлика (променливата $FILENAME не е празна)"
-
-#: lib/tools_dlg.tcl:118
-msgid "Please supply a name for the tool."
-msgstr "Задайте име за командата."
-
-#: lib/tools_dlg.tcl:126
-#, tcl-format
-msgid "Tool '%s' already exists."
-msgstr "Командата „%s“ вече съществува."
-
-#: lib/tools_dlg.tcl:148
-#, tcl-format
-msgid ""
-"Could not add tool:\n"
-"%s"
-msgstr ""
-"Командата не може да бъде добавена:\n"
-"%s"
-
-#: lib/tools_dlg.tcl:187
-#, tcl-format
-msgid "%s (%s): Remove Tool"
-msgstr "%s (%s): Премахване на команда"
-
-#: lib/tools_dlg.tcl:193
-msgid "Remove Tool Commands"
-msgstr "Премахване на команди"
-
-#: lib/tools_dlg.tcl:198
-msgid "Remove"
-msgstr "Премахване"
-
-#: lib/tools_dlg.tcl:231
-msgid "(Blue denotes repository-local tools)"
-msgstr "(командите към локалното хранилище са обозначени в синьо)"
-
-#: lib/tools_dlg.tcl:283
-#, tcl-format
-msgid "%s (%s):"
-msgstr "%s (%s):"
-
-#: lib/tools_dlg.tcl:292
-#, tcl-format
-msgid "Run Command: %s"
-msgstr "Изпълнение на командата „%s“"
-
-#: lib/tools_dlg.tcl:306
-msgid "Arguments"
-msgstr "Аргументи"
-
-#: lib/tools_dlg.tcl:341
-msgid "OK"
-msgstr "Добре"
-
-#: lib/transport.tcl:7
-#, tcl-format
-msgid "Fetching new changes from %s"
-msgstr "Доставяне на промените от „%s“"
-
-#: lib/transport.tcl:18
-#, tcl-format
-msgid "remote prune %s"
-msgstr "окастряне на следящите клони към „%s“"
-
-#: lib/transport.tcl:19
-#, tcl-format
-msgid "Pruning tracking branches deleted from %s"
-msgstr "Окастряне на следящите клони на изтритите клони от „%s“"
-
-#: lib/transport.tcl:25
-msgid "fetch all remotes"
-msgstr "доставяне от всички отдалечени"
-
-#: lib/transport.tcl:26
-msgid "Fetching new changes from all remotes"
-msgstr "Доставяне на промените от всички отдалечени хранилища"
-
-#: lib/transport.tcl:40
-msgid "remote prune all remotes"
-msgstr "окастряне на следящите изтрити"
-
-#: lib/transport.tcl:41
-msgid "Pruning tracking branches deleted from all remotes"
-msgstr ""
-"Окастряне на следящите клони на изтритите клони от всички отдалечени "
-"хранилища"
-
-#: lib/transport.tcl:55
-#, tcl-format
-msgid "Pushing changes to %s"
-msgstr "Изтласкване на промените към „%s“"
-
-#: lib/transport.tcl:93
-#, tcl-format
-msgid "Mirroring to %s"
-msgstr "Изтласкване на всичко към „%s“"
-
-#: lib/transport.tcl:111
-#, tcl-format
-msgid "Pushing %s %s to %s"
-msgstr "Изтласкване на %s „%s“ към „%s“"
-
-#: lib/transport.tcl:132
-msgid "Push Branches"
-msgstr "Клони за изтласкване"
-
-#: lib/transport.tcl:147
-msgid "Source Branches"
-msgstr "Клони-източници"
-
-#: lib/transport.tcl:162
-msgid "Destination Repository"
-msgstr "Целево хранилище"
-
-#: lib/transport.tcl:205
-msgid "Transfer Options"
-msgstr "Настройки при пренасянето"
-
-#: lib/transport.tcl:207
-msgid "Force overwrite existing branch (may discard changes)"
-msgstr ""
-"Изрично презаписване на съществуващ клон (някои промени може да бъдат "
-"загубени)"
-
-#: lib/transport.tcl:211
-msgid "Use thin pack (for slow network connections)"
-msgstr "Максимална компресия (за бавни мрежови връзки)"
-
-#: lib/transport.tcl:215
-msgid "Include tags"
-msgstr "Включване на етикетите"
-
-#: lib/transport.tcl:229
-#, tcl-format
-msgid "%s (%s): Push"
-msgstr "%s (%s): Изтласкване"
diff --git a/git-submodule.sh b/git-submodule.sh
index 03c5a220a2..2999b31fad 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -40,11 +40,11 @@ init=
require_init=
files=
remote=
-nofetch=
+no_fetch=
rebase=
merge=
checkout=
-custom_name=
+name=
depth=
progress=
dissociate=
@@ -52,11 +52,10 @@ single_branch=
jobs=
recommend_shallow=
filter=
-
-isnumber()
-{
- n=$(($1 + 0)) 2>/dev/null && test "$n" = "$1"
-}
+all=
+default=
+summary_limit=
+for_status=
#
# Add a new submodule to the working tree, .gitmodules and the index
@@ -68,31 +67,33 @@ isnumber()
cmd_add()
{
# parse $args after "submodule ... add".
- reference_path=
while test $# -ne 0
do
case "$1" in
-b | --branch)
case "$2" in '') usage ;; esac
- branch=$2
+ branch="--branch=$2"
shift
;;
+ -b* | --branch=*)
+ branch="$1"
+ ;;
-f | --force)
force=$1
;;
-q|--quiet)
- quiet=1
+ quiet=$1
;;
--progress)
- progress=1
+ progress=$1
;;
--reference)
case "$2" in '') usage ;; esac
- reference_path=$2
+ reference="--reference=$2"
shift
;;
--reference=*)
- reference_path="${1#--reference=}"
+ reference="$1"
;;
--ref-format)
case "$2" in '') usage ;; esac
@@ -103,20 +104,23 @@ cmd_add()
ref_format="$1"
;;
--dissociate)
- dissociate=1
+ dissociate=$1
;;
--name)
case "$2" in '') usage ;; esac
- custom_name=$2
+ name="--name=$2"
shift
;;
+ --name=*)
+ name="$1"
+ ;;
--depth)
case "$2" in '') usage ;; esac
depth="--depth=$2"
shift
;;
--depth=*)
- depth=$1
+ depth="$1"
;;
--)
shift
@@ -138,14 +142,14 @@ cmd_add()
fi
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper add \
- ${quiet:+--quiet} \
- ${force:+--force} \
- ${progress:+"--progress"} \
- ${branch:+--branch "$branch"} \
- ${reference_path:+--reference "$reference_path"} \
+ $quiet \
+ $force \
+ $progress \
+ ${branch:+"$branch"} \
+ ${reference:+"$reference"} \
${ref_format:+"$ref_format"} \
- ${dissociate:+--dissociate} \
- ${custom_name:+--name "$custom_name"} \
+ $dissociate \
+ ${name:+"$name"} \
${depth:+"$depth"} \
-- \
"$@"
@@ -164,10 +168,10 @@ cmd_foreach()
do
case "$1" in
-q|--quiet)
- quiet=1
+ quiet=$1
;;
--recursive)
- recursive=1
+ recursive=$1
;;
-*)
usage
@@ -180,8 +184,8 @@ cmd_foreach()
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper foreach \
- ${quiet:+--quiet} \
- ${recursive:+--recursive} \
+ $quiet \
+ $recursive \
-- \
"$@"
}
@@ -198,7 +202,7 @@ cmd_init()
do
case "$1" in
-q|--quiet)
- quiet=1
+ quiet=$1
;;
--)
shift
@@ -215,7 +219,7 @@ cmd_init()
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper init \
- ${quiet:+--quiet} \
+ $quiet \
-- \
"$@"
}
@@ -226,7 +230,6 @@ cmd_init()
cmd_deinit()
{
# parse $args after "submodule ... deinit".
- deinit_all=
while test $# -ne 0
do
case "$1" in
@@ -234,10 +237,10 @@ cmd_deinit()
force=$1
;;
-q|--quiet)
- quiet=1
+ quiet=$1
;;
--all)
- deinit_all=t
+ all=$1
;;
--)
shift
@@ -254,9 +257,9 @@ cmd_deinit()
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper deinit \
- ${quiet:+--quiet} \
- ${force:+--force} \
- ${deinit_all:+--all} \
+ $quiet \
+ $force \
+ $all \
-- \
"$@"
}
@@ -273,31 +276,31 @@ cmd_update()
do
case "$1" in
-q|--quiet)
- quiet=1
+ quiet=$1
;;
-v|--verbose)
- quiet=0
+ quiet=
;;
--progress)
- progress=1
+ progress=$1
;;
-i|--init)
- init=1
+ init=$1
;;
--require-init)
- require_init=1
+ require_init=$1
;;
--remote)
- remote=1
+ remote=$1
;;
-N|--no-fetch)
- nofetch=1
+ no_fetch=$1
;;
-f|--force)
force=$1
;;
-r|--rebase)
- rebase=1
+ rebase=$1
;;
--ref-format)
case "$2" in '') usage ;; esac
@@ -316,22 +319,19 @@ cmd_update()
reference="$1"
;;
--dissociate)
- dissociate=1
+ dissociate=$1
;;
-m|--merge)
- merge=1
+ merge=$1
;;
--recursive)
- recursive=1
+ recursive=$1
;;
--checkout)
- checkout=1
- ;;
- --recommend-shallow)
- recommend_shallow="--recommend-shallow"
+ checkout=$1
;;
- --no-recommend-shallow)
- recommend_shallow="--no-recommend-shallow"
+ --recommend-shallow|--no-recommend-shallow)
+ recommend_shallow=$1
;;
--depth)
case "$2" in '') usage ;; esac
@@ -339,21 +339,18 @@ cmd_update()
shift
;;
--depth=*)
- depth=$1
+ depth="$1"
;;
-j|--jobs)
case "$2" in '') usage ;; esac
jobs="--jobs=$2"
shift
;;
- --jobs=*)
- jobs=$1
+ -j*|--jobs=*)
+ jobs="$1"
;;
- --single-branch)
- single_branch="--single-branch"
- ;;
- --no-single-branch)
- single_branch="--no-single-branch"
+ --single-branch|--no-single-branch)
+ single_branch=$1
;;
--filter)
case "$2" in '') usage ;; esac
@@ -378,22 +375,21 @@ cmd_update()
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper update \
- ${quiet:+--quiet} \
- ${force:+--force} \
- ${progress:+"--progress"} \
- ${remote:+--remote} \
- ${recursive:+--recursive} \
- ${init:+--init} \
- ${nofetch:+--no-fetch} \
- ${rebase:+--rebase} \
- ${merge:+--merge} \
- ${checkout:+--checkout} \
+ $quiet \
+ $force \
+ $progress \
+ $remote \
+ $recursive \
+ $init \
+ $no_fetch \
+ $rebase \
+ $merge \
+ $checkout \
${ref_format:+"$ref_format"} \
${reference:+"$reference"} \
- ${dissociate:+"--dissociate"} \
+ $dissociate \
${depth:+"$depth"} \
- ${require_init:+--require-init} \
- ${dissociate:+"--dissociate"} \
+ $require_init \
$single_branch \
$recommend_shallow \
$jobs \
@@ -408,9 +404,7 @@ cmd_update()
# $@ = requested path
#
cmd_set_branch() {
- default=
- branch=
-
+ # parse $args after "submodule ... set-branch".
while test $# -ne 0
do
case "$1" in
@@ -418,13 +412,16 @@ cmd_set_branch() {
# we don't do anything with this but we need to accept it
;;
-d|--default)
- default=1
+ default=$1
;;
-b|--branch)
case "$2" in '') usage ;; esac
- branch=$2
+ branch="--branch=$2"
shift
;;
+ -b*|--branch=*)
+ branch="$1"
+ ;;
--)
shift
break
@@ -440,9 +437,9 @@ cmd_set_branch() {
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper set-branch \
- ${quiet:+--quiet} \
- ${branch:+--branch "$branch"} \
- ${default:+--default} \
+ $quiet \
+ ${branch:+"$branch"} \
+ $default \
-- \
"$@"
}
@@ -453,11 +450,12 @@ cmd_set_branch() {
# $@ = requested path, requested url
#
cmd_set_url() {
+ # parse $args after "submodule ... set-url".
while test $# -ne 0
do
case "$1" in
-q|--quiet)
- quiet=1
+ quiet=$1
;;
--)
shift
@@ -474,7 +472,7 @@ cmd_set_url() {
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper set-url \
- ${quiet:+--quiet} \
+ $quiet \
-- \
"$@"
}
@@ -488,31 +486,26 @@ cmd_set_url() {
# $@ = [commit (default 'HEAD'),] requested paths (default all)
#
cmd_summary() {
- summary_limit=-1
- for_status=
- diff_cmd=diff-index
-
# parse $args after "submodule ... summary".
while test $# -ne 0
do
case "$1" in
--cached)
- cached=1
+ cached=$1
;;
--files)
- files="$1"
+ files=$1
;;
--for-status)
- for_status="$1"
+ for_status=$1
;;
-n|--summary-limit)
- summary_limit="$2"
- isnumber "$summary_limit" || usage
+ case "$2" in '') usage ;; esac
+ summary_limit="--summary-limit=$2"
shift
;;
- --summary-limit=*)
- summary_limit="${1#--summary-limit=}"
- isnumber "$summary_limit" || usage
+ -n*|--summary-limit=*)
+ summary_limit="$1"
;;
--)
shift
@@ -529,10 +522,10 @@ cmd_summary() {
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper summary \
- ${files:+--files} \
- ${cached:+--cached} \
- ${for_status:+--for-status} \
- ${summary_limit:+-n $summary_limit} \
+ $files \
+ $cached \
+ $for_status \
+ ${summary_limit:+"$summary_limit"} \
-- \
"$@"
}
@@ -553,13 +546,13 @@ cmd_status()
do
case "$1" in
-q|--quiet)
- quiet=1
+ quiet=$1
;;
--cached)
- cached=1
+ cached=$1
;;
--recursive)
- recursive=1
+ recursive=$1
;;
--)
shift
@@ -576,9 +569,9 @@ cmd_status()
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper status \
- ${quiet:+--quiet} \
- ${cached:+--cached} \
- ${recursive:+--recursive} \
+ $quiet \
+ $cached \
+ $recursive \
-- \
"$@"
}
@@ -590,15 +583,16 @@ cmd_status()
#
cmd_sync()
{
+ # parse $args after "submodule ... sync".
while test $# -ne 0
do
case "$1" in
-q|--quiet)
- quiet=1
+ quiet=$1
shift
;;
--recursive)
- recursive=1
+ recursive=$1
shift
;;
--)
@@ -615,8 +609,8 @@ cmd_sync()
done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper sync \
- ${quiet:+--quiet} \
- ${recursive:+--recursive} \
+ $quiet \
+ $recursive \
-- \
"$@"
}
@@ -639,10 +633,10 @@ do
command=$1
;;
-q|--quiet)
- quiet=1
+ quiet=$1
;;
--cached)
- cached=1
+ cached=$1
;;
--)
break
diff --git a/gitk-git/po/bg.po b/gitk-git/po/bg.po
index 87ab1fac24..773a049831 100644
--- a/gitk-git/po/bg.po
+++ b/gitk-git/po/bg.po
@@ -1,15 +1,15 @@
# Bulgarian translation of gitk po-file.
-# Copyright (C) 2014, 2015, 2019 Alexander Shopov <ash@kambanaria.org>.
+# Copyright (C) 2014, 2015, 2019, 2020, 2024 Alexander Shopov <ash@kambanaria.org>.
# This file is distributed under the same license as the git package.
-# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2019.
+# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2019, 2020, 2024.
#
#
msgid ""
msgstr ""
"Project-Id-Version: gitk master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-03-04 11:27+0100\n"
-"PO-Revision-Date: 2019-03-04 11:39+0100\n"
+"POT-Creation-Date: 2024-12-24 11:01+0100\n"
+"PO-Revision-Date: 2024-12-24 11:05+0100\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@@ -18,32 +18,32 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: gitk:140
+#: gitk:139
msgid "Couldn't get list of unmerged files:"
-msgstr "Списъкът с неслети файлове не може да бъде получен:"
+msgstr "Списъкът с неслети файлове не може да се получи:"
-#: gitk:212 gitk:2403
+#: gitk:211 gitk:2430
msgid "Color words"
msgstr "Оцветяване на думите"
-#: gitk:217 gitk:2403 gitk:8249 gitk:8282
+#: gitk:216 gitk:2430 gitk:8335 gitk:8368
msgid "Markup words"
msgstr "Отбелязване на думите"
-#: gitk:324
+#: gitk:323
msgid "Error parsing revisions:"
msgstr "Грешка при анализ на версиите:"
-#: gitk:380
+#: gitk:389
msgid "Error executing --argscmd command:"
msgstr "Грешка при изпълнение на командата с „--argscmd“."
-#: gitk:393
+#: gitk:402
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Не са избрани файлове — указана е опцията „--merge“, но няма неслети файлове."
-#: gitk:396
+#: gitk:405
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -51,326 +51,326 @@ msgstr ""
"Не са избрани файлове — указана е опцията „--merge“, но няма неслети файлове "
"в ограниченията."
-#: gitk:418 gitk:566
+#: gitk:430 gitk:585
msgid "Error executing git log:"
msgstr "Грешка при изпълнение на „git log“:"
-#: gitk:436 gitk:582
+#: gitk:448 gitk:601
msgid "Reading"
msgstr "Прочитане"
-#: gitk:496 gitk:4549
+#: gitk:508 gitk:4596
msgid "Reading commits..."
msgstr "Прочитане на подаванията…"
-#: gitk:499 gitk:1641 gitk:4552
+#: gitk:511 gitk:1660 gitk:4599
msgid "No commits selected"
msgstr "Не са избрани подавания"
-#: gitk:1449 gitk:4069 gitk:12583
+#: gitk:1468 gitk:4116 gitk:12738
msgid "Command line"
msgstr "Команден ред"
-#: gitk:1515
+#: gitk:1534
msgid "Can't parse git log output:"
msgstr "Изходът от „git log“ не може да се анализира:"
-#: gitk:1744
+#: gitk:1763
msgid "No commit information available"
msgstr "Липсва информация за подавания"
-#: gitk:1907 gitk:1936 gitk:4339 gitk:9789 gitk:11388 gitk:11668
+#: gitk:1930 gitk:1959 gitk:4386 gitk:9875 gitk:11485 gitk:11805
msgid "OK"
msgstr "Добре"
-#: gitk:1938 gitk:4341 gitk:9225 gitk:9304 gitk:9434 gitk:9520 gitk:9791
-#: gitk:11389 gitk:11669
+#: gitk:1961 gitk:4388 gitk:9311 gitk:9390 gitk:9520 gitk:9606 gitk:9877
+#: gitk:11486 gitk:11806
msgid "Cancel"
msgstr "Отказ"
-#: gitk:2087
+#: gitk:2114
msgid "&Update"
msgstr "&Обновяване"
-#: gitk:2088
+#: gitk:2115
msgid "&Reload"
msgstr "&Презареждане"
-#: gitk:2089
+#: gitk:2116
msgid "Reread re&ferences"
-msgstr "&Наново прочитане"
+msgstr "Прочитане &наново"
-#: gitk:2090
+#: gitk:2117
msgid "&List references"
msgstr "&Изброяване на указателите"
-#: gitk:2092
+#: gitk:2119
msgid "Start git &gui"
msgstr "&Стартиране на „git gui“"
-#: gitk:2094
+#: gitk:2121
msgid "&Quit"
msgstr "&Спиране на програмата"
-#: gitk:2086
+#: gitk:2113
msgid "&File"
msgstr "&Файл"
-#: gitk:2098
+#: gitk:2125
msgid "&Preferences"
msgstr "&Настройки"
-#: gitk:2097
+#: gitk:2124
msgid "&Edit"
msgstr "&Редактиране"
-#: gitk:2102
+#: gitk:2129
msgid "&New view..."
msgstr "&Нов изглед…"
-#: gitk:2103
+#: gitk:2130
msgid "&Edit view..."
msgstr "&Редактиране на изгледа…"
-#: gitk:2104
+#: gitk:2131
msgid "&Delete view"
msgstr "&Изтриване на изгледа"
-#: gitk:2106
+#: gitk:2133
msgid "&All files"
msgstr "&Всички файлове"
-#: gitk:2101
+#: gitk:2128
msgid "&View"
msgstr "&Изглед"
-#: gitk:2111 gitk:2121
+#: gitk:2138 gitk:2148
msgid "&About gitk"
msgstr "&Относно gitk"
-#: gitk:2112 gitk:2126
+#: gitk:2139 gitk:2153
msgid "&Key bindings"
msgstr "&Клавишни комбинации"
-#: gitk:2110 gitk:2125
+#: gitk:2137 gitk:2152
msgid "&Help"
msgstr "Помо&щ"
-#: gitk:2203 gitk:8681
-msgid "SHA1 ID:"
-msgstr "SHA1:"
+#: gitk:2230 gitk:8767
+msgid "Commit ID:"
+msgstr "Подаване:"
-#: gitk:2247
+#: gitk:2274
msgid "Row"
msgstr "Ред"
-#: gitk:2285
+#: gitk:2312
msgid "Find"
msgstr "Търсене"
-#: gitk:2313
+#: gitk:2340
msgid "commit"
msgstr "подаване"
-#: gitk:2317 gitk:2319 gitk:4711 gitk:4734 gitk:4758 gitk:6779 gitk:6851
-#: gitk:6936
+#: gitk:2344 gitk:2346 gitk:4758 gitk:4781 gitk:4805 gitk:6826 gitk:6898
+#: gitk:6983
msgid "containing:"
msgstr "съдържащо:"
-#: gitk:2320 gitk:3550 gitk:3555 gitk:4787
+#: gitk:2347 gitk:3597 gitk:3602 gitk:4834
msgid "touching paths:"
msgstr "в пътищата:"
-#: gitk:2321 gitk:4801
+#: gitk:2348 gitk:4848
msgid "adding/removing string:"
msgstr "добавящо/премахващо низ"
-#: gitk:2322 gitk:4803
+#: gitk:2349 gitk:4850
msgid "changing lines matching:"
msgstr "променящо редове напасващи:"
-#: gitk:2331 gitk:2333 gitk:4790
+#: gitk:2358 gitk:2360 gitk:4837
msgid "Exact"
msgstr "Точно"
-#: gitk:2333 gitk:4878 gitk:6747
+#: gitk:2360 gitk:4925 gitk:6794
msgid "IgnCase"
msgstr "Без регистър"
-#: gitk:2333 gitk:4760 gitk:4876 gitk:6743
+#: gitk:2360 gitk:4807 gitk:4923 gitk:6790
msgid "Regexp"
msgstr "Рег. израз"
-#: gitk:2335 gitk:2336 gitk:4898 gitk:4928 gitk:4935 gitk:6872 gitk:6940
+#: gitk:2362 gitk:2363 gitk:4945 gitk:4975 gitk:4982 gitk:6919 gitk:6987
msgid "All fields"
msgstr "Всички полета"
-#: gitk:2336 gitk:4895 gitk:4928 gitk:6810
+#: gitk:2363 gitk:4942 gitk:4975 gitk:6857
msgid "Headline"
msgstr "Първи ред"
-#: gitk:2337 gitk:4895 gitk:6810 gitk:6940 gitk:7413
+#: gitk:2364 gitk:4942 gitk:6857 gitk:6987 gitk:7499
msgid "Comments"
msgstr "Коментари"
-#: gitk:2337 gitk:4895 gitk:4900 gitk:4935 gitk:6810 gitk:7348 gitk:8859
-#: gitk:8874
+#: gitk:2364 gitk:4942 gitk:4947 gitk:4982 gitk:6857 gitk:7434 gitk:8945
+#: gitk:8960
msgid "Author"
msgstr "Автор"
-#: gitk:2337 gitk:4895 gitk:6810 gitk:7350
+#: gitk:2364 gitk:4942 gitk:6857 gitk:7436
msgid "Committer"
msgstr "Подаващ"
-#: gitk:2371
+#: gitk:2398
msgid "Search"
msgstr "Търсене"
-#: gitk:2379
+#: gitk:2406
msgid "Diff"
msgstr "Разлики"
-#: gitk:2381
+#: gitk:2408
msgid "Old version"
msgstr "Стара версия"
-#: gitk:2383
+#: gitk:2410
msgid "New version"
msgstr "Нова версия"
-#: gitk:2386
+#: gitk:2413
msgid "Lines of context"
msgstr "Контекст в редове"
-#: gitk:2396
+#: gitk:2423
msgid "Ignore space change"
msgstr "Празните знаци без значение"
-#: gitk:2400 gitk:2402 gitk:7983 gitk:8235
+#: gitk:2427 gitk:2429 gitk:8069 gitk:8321
msgid "Line diff"
msgstr "Поредови разлики"
-#: gitk:2467
+#: gitk:2502
msgid "Patch"
msgstr "Кръпка"
-#: gitk:2469
+#: gitk:2504
msgid "Tree"
msgstr "Дърво"
-#: gitk:2639 gitk:2660
+#: gitk:2674 gitk:2695
msgid "Diff this -> selected"
msgstr "Разлики между това и избраното"
-#: gitk:2640 gitk:2661
+#: gitk:2675 gitk:2696
msgid "Diff selected -> this"
msgstr "Разлики между избраното и това"
-#: gitk:2641 gitk:2662
+#: gitk:2676 gitk:2697
msgid "Make patch"
msgstr "Създаване на кръпка"
-#: gitk:2642 gitk:9283
+#: gitk:2677 gitk:9369
msgid "Create tag"
msgstr "Създаване на етикет"
-#: gitk:2643
-msgid "Copy commit summary"
-msgstr "Копиране на информацията за подаване"
+#: gitk:2678
+msgid "Copy commit reference"
+msgstr "Копиране на указателя на подаване"
-#: gitk:2644 gitk:9414
+#: gitk:2679 gitk:9500
msgid "Write commit to file"
msgstr "Запазване на подаването във файл"
-#: gitk:2645
+#: gitk:2680
msgid "Create new branch"
msgstr "Създаване на нов клон"
-#: gitk:2646
+#: gitk:2681
msgid "Cherry-pick this commit"
msgstr "Отбиране на това подаване"
-#: gitk:2647
+#: gitk:2682
msgid "Reset HEAD branch to here"
msgstr "Привеждане на върха на клона към текущото подаване"
-#: gitk:2648
+#: gitk:2683
msgid "Mark this commit"
msgstr "Отбелязване на това подаване"
-#: gitk:2649
+#: gitk:2684
msgid "Return to mark"
msgstr "Връщане към отбелязаното подаване"
-#: gitk:2650
+#: gitk:2685
msgid "Find descendant of this and mark"
msgstr "Откриване и отбелязване на наследниците"
-#: gitk:2651
+#: gitk:2686
msgid "Compare with marked commit"
msgstr "Сравнение с отбелязаното подаване"
-#: gitk:2652 gitk:2663
+#: gitk:2687 gitk:2698
msgid "Diff this -> marked commit"
msgstr "Разлики между това и отбелязаното"
-#: gitk:2653 gitk:2664
+#: gitk:2688 gitk:2699
msgid "Diff marked commit -> this"
msgstr "Разлики между отбелязаното и това"
-#: gitk:2654
+#: gitk:2689
msgid "Revert this commit"
msgstr "Отмяна на това подаване"
-#: gitk:2670
+#: gitk:2705
msgid "Check out this branch"
msgstr "Изтегляне на този клон"
-#: gitk:2671
+#: gitk:2706
msgid "Rename this branch"
msgstr "Преименуване на този клон"
-#: gitk:2672
+#: gitk:2707
msgid "Remove this branch"
msgstr "Изтриване на този клон"
-#: gitk:2673
+#: gitk:2708
msgid "Copy branch name"
msgstr "Копиране на името на клона"
-#: gitk:2680
+#: gitk:2715
msgid "Highlight this too"
msgstr "Отбелязване и на това"
-#: gitk:2681
+#: gitk:2716
msgid "Highlight this only"
msgstr "Отбелязване само на това"
-#: gitk:2682
+#: gitk:2717
msgid "External diff"
msgstr "Външна програма за разлики"
-#: gitk:2683
+#: gitk:2718
msgid "Blame parent commit"
msgstr "Анотиране на родителското подаване"
-#: gitk:2684
+#: gitk:2719
msgid "Copy path"
msgstr "Копиране на пътя"
-#: gitk:2691
+#: gitk:2726
msgid "Show origin of this line"
msgstr "Показване на произхода на този ред"
-#: gitk:2692
+#: gitk:2727
msgid "Run git gui blame on this line"
msgstr "Изпълнение на „git gui blame“ върху този ред"
-#: gitk:3036
+#: gitk:3081
msgid "About gitk"
msgstr "Относно gitk"
-#: gitk:3038
+#: gitk:3083
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
@@ -386,324 +386,324 @@ msgstr ""
"\n"
"Използвайте и разпространявайте при условията на ОПЛ на ГНУ"
-#: gitk:3046 gitk:3113 gitk:10004
+#: gitk:3091 gitk:3158 gitk:10090
msgid "Close"
msgstr "Затваряне"
-#: gitk:3067
+#: gitk:3112
msgid "Gitk key bindings"
msgstr "Клавишни комбинации"
-#: gitk:3070
+#: gitk:3115
msgid "Gitk key bindings:"
msgstr "Клавишни комбинации:"
-#: gitk:3072
+#: gitk:3117
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tСпиране на програмата"
-#: gitk:3073
+#: gitk:3118
#, tcl-format
msgid "<%s-W>\t\tClose window"
msgstr "<%s-W>\t\tЗатваряне на прозореца"
-#: gitk:3074
+#: gitk:3119
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tКъм първото подаване"
-#: gitk:3075
+#: gitk:3120
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tКъм последното подаване"
-#: gitk:3076
+#: gitk:3121
msgid "<Up>, p, k\tMove up one commit"
msgstr "<Up>, p, k\tЕдно подаване нагоре"
-#: gitk:3077
+#: gitk:3122
msgid "<Down>, n, j\tMove down one commit"
msgstr "<Down>, n, j\tЕдно подаване надолу"
-#: gitk:3078
+#: gitk:3123
msgid "<Left>, z, h\tGo back in history list"
msgstr "<Left>, z, h\tНазад в историята"
-#: gitk:3079
+#: gitk:3124
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Right>, x, l\tНапред в историята"
-#: gitk:3080
+#: gitk:3125
#, tcl-format
msgid "<%s-n>\tGo to n-th parent of current commit in history list"
msgstr "<%s-n>\tКъм n-тия родител на текущото подаване в историята"
-#: gitk:3081
+#: gitk:3126
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tСтраница нагоре в списъка с подаванията"
-#: gitk:3082
+#: gitk:3127
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tСтраница надолу в списъка с подаванията"
-#: gitk:3083
+#: gitk:3128
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tКъм началото на списъка с подаванията"
-#: gitk:3084
+#: gitk:3129
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tКъм края на списъка с подаванията"
-#: gitk:3085
+#: gitk:3130
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Up>\tРед нагоре в списъка с подавания"
-#: gitk:3086
+#: gitk:3131
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Down>\tРед надолу в списъка с подавания"
-#: gitk:3087
+#: gitk:3132
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tСтраница нагоре в списъка с подавания"
-#: gitk:3088
+#: gitk:3133
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tСтраница надолу в списъка с подавания"
-#: gitk:3089
+#: gitk:3134
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Shift-Up>\tТърсене назад (визуално нагоре, исторически — последващи)"
-#: gitk:3090
+#: gitk:3135
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr ""
"<Shift-Down>\tТърсене напред (визуално надолу, исторически — предхождащи)"
-#: gitk:3091
+#: gitk:3136
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tСтраница нагоре в изгледа за разлики"
-#: gitk:3092
+#: gitk:3137
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Backspace>\tСтраница надолу в изгледа за разлики"
-#: gitk:3093
+#: gitk:3138
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Space>\t\tСтраница надолу в изгледа за разлики"
-#: gitk:3094
+#: gitk:3139
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\t18 реда нагоре в изгледа за разлики"
-#: gitk:3095
+#: gitk:3140
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\t18 реда надолу в изгледа за разлики"
-#: gitk:3096
+#: gitk:3141
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tТърсене"
-#: gitk:3097
+#: gitk:3142
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tКъм следващата поява"
-#: gitk:3098
+#: gitk:3143
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\tКъм следващата поява"
-#: gitk:3099
+#: gitk:3144
msgid "g\t\tGo to commit"
msgstr "g\t\tКъм последното подаване"
-#: gitk:3100
+#: gitk:3145
msgid "/\t\tFocus the search box"
msgstr "/\t\tФокус върху полето за търсене"
-#: gitk:3101
+#: gitk:3146
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tКъм предишната поява"
-#: gitk:3102
+#: gitk:3147
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tСледващ файл в изгледа за разлики"
-#: gitk:3103
+#: gitk:3148
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tТърсене на следващата поява в изгледа за разлики"
-#: gitk:3104
+#: gitk:3149
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tТърсене на предишната поява в изгледа за разлики"
-#: gitk:3105
+#: gitk:3150
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-KP+>\tПо-голям размер на шрифта"
-#: gitk:3106
+#: gitk:3151
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tПо-голям размер на шрифта"
-#: gitk:3107
+#: gitk:3152
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-KP->\tПо-малък размер на шрифта"
-#: gitk:3108
+#: gitk:3153
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tПо-малък размер на шрифта"
-#: gitk:3109
+#: gitk:3154
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tОбновяване"
-#: gitk:3574 gitk:3583
+#: gitk:3621 gitk:3630
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Грешка при създаването на временната директория „%s“:"
-#: gitk:3596
+#: gitk:3643
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Грешка при получаването на „%s“ от %s:"
-#: gitk:3659
+#: gitk:3706
msgid "command failed:"
msgstr "неуспешно изпълнение на команда:"
-#: gitk:3808
+#: gitk:3855
msgid "No such commit"
msgstr "Такова подаване няма"
-#: gitk:3822
+#: gitk:3869
msgid "git gui blame: command failed:"
msgstr "„git gui blame“: неуспешно изпълнение на команда:"
-#: gitk:3853
+#: gitk:3900
#, tcl-format
msgid "Couldn't read merge head: %s"
-msgstr "Върхът за сливане не може да бъде прочетен: %s"
+msgstr "Върхът за сливане не може да се прочете: %s"
-#: gitk:3861
+#: gitk:3908
#, tcl-format
msgid "Error reading index: %s"
msgstr "Грешка при прочитане на индекса: %s"
-#: gitk:3886
+#: gitk:3933
#, tcl-format
msgid "Couldn't start git blame: %s"
-msgstr "Командата „git blame“ не може да бъде стартирана: %s"
+msgstr "Командата „git blame“ не може да се стартира: %s"
-#: gitk:3889 gitk:6778
+#: gitk:3936 gitk:6825
msgid "Searching"
msgstr "Търсене"
-#: gitk:3921
+#: gitk:3968
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Грешка при изпълнението на „git blame“: %s"
-#: gitk:3949
+#: gitk:3996
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Този ред идва от подаването %s, което не е в изгледа"
-#: gitk:3963
+#: gitk:4010
msgid "External diff viewer failed:"
msgstr "Неуспешно изпълнение на външната програма за разлики:"
-#: gitk:4067
+#: gitk:4114
msgid "All files"
msgstr "Всички файлове"
-#: gitk:4091
+#: gitk:4138
msgid "View"
msgstr "Изглед"
-#: gitk:4094
+#: gitk:4141
msgid "Gitk view definition"
msgstr "Дефиниция на изглед в Gitk"
-#: gitk:4098
+#: gitk:4145
msgid "Remember this view"
msgstr "Запазване на този изглед"
-#: gitk:4099
+#: gitk:4146
msgid "References (space separated list):"
msgstr "Указатели (списък с разделител интервал):"
-#: gitk:4100
+#: gitk:4147
msgid "Branches & tags:"
msgstr "Клони и етикети:"
-#: gitk:4101
+#: gitk:4148
msgid "All refs"
msgstr "Всички указатели"
-#: gitk:4102
+#: gitk:4149
msgid "All (local) branches"
msgstr "Всички (локални) клони"
-#: gitk:4103
+#: gitk:4150
msgid "All tags"
msgstr "Всички етикети"
-#: gitk:4104
+#: gitk:4151
msgid "All remote-tracking branches"
msgstr "Всички следящи клони"
-#: gitk:4105
+#: gitk:4152
msgid "Commit Info (regular expressions):"
msgstr "Информация за подаване (рег. изр.):"
-#: gitk:4106
+#: gitk:4153
msgid "Author:"
msgstr "Автор:"
-#: gitk:4107
+#: gitk:4154
msgid "Committer:"
msgstr "Подал:"
-#: gitk:4108
+#: gitk:4155
msgid "Commit Message:"
msgstr "Съобщение при подаване:"
-#: gitk:4109
+#: gitk:4156
msgid "Matches all Commit Info criteria"
msgstr "Съвпадение по всички характеристики на подаването"
-#: gitk:4110
+#: gitk:4157
msgid "Matches no Commit Info criteria"
msgstr "Не съвпада по никоя от характеристиките на подаването"
-#: gitk:4111
+#: gitk:4158
msgid "Changes to Files:"
msgstr "Промени по файловете:"
-#: gitk:4112
+#: gitk:4159
msgid "Fixed String"
msgstr "Дословен низ"
-#: gitk:4113
+#: gitk:4160
msgid "Regular Expression"
msgstr "Регулярен израз"
-#: gitk:4114
+#: gitk:4161
msgid "Search string:"
msgstr "Низ за търсене:"
-#: gitk:4115
+#: gitk:4162
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -711,204 +711,208 @@ msgstr ""
"Дата на подаване („2 weeks ago“ (преди 2 седмици), „2009-03-17 15:27:38“, "
"„March 17, 2009 15:27:38“):"
-#: gitk:4116
+#: gitk:4163
msgid "Since:"
msgstr "От:"
-#: gitk:4117
+#: gitk:4164
msgid "Until:"
msgstr "До:"
-#: gitk:4118
+#: gitk:4165
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr ""
"Ограничаване и/или прескачане на определен брой версии (неотрицателно цяло "
"число):"
-#: gitk:4119
+#: gitk:4166
msgid "Number to show:"
msgstr "Брой показани:"
-#: gitk:4120
+#: gitk:4167
msgid "Number to skip:"
msgstr "Брой прескочени:"
-#: gitk:4121
+#: gitk:4168
msgid "Miscellaneous options:"
msgstr "Разни:"
-#: gitk:4122
+#: gitk:4169
msgid "Strictly sort by date"
msgstr "Подреждане по дата"
-#: gitk:4123
+#: gitk:4170
msgid "Mark branch sides"
msgstr "Отбелязване на страните по клона"
-#: gitk:4124
+#: gitk:4171
msgid "Limit to first parent"
msgstr "Само първия родител"
-#: gitk:4125
+#: gitk:4172
msgid "Simple history"
msgstr "Опростена история"
-#: gitk:4126
+#: gitk:4173
msgid "Additional arguments to git log:"
msgstr "Допълнителни аргументи към „git log“:"
-#: gitk:4127
+#: gitk:4174
msgid "Enter files and directories to include, one per line:"
msgstr "Въведете файловете и директориите за включване, по елемент на ред"
-#: gitk:4128
+#: gitk:4175
msgid "Command to generate more commits to include:"
msgstr ""
-"Команда за генерирането на допълнителни подавания, които да бъдат включени:"
+"Команда за генерирането на допълнителни подавания, които да се включат:"
-#: gitk:4252
+#: gitk:4299
msgid "Gitk: edit view"
msgstr "Gitk: редактиране на изглед"
-#: gitk:4260
+#: gitk:4307
msgid "-- criteria for selecting revisions"
msgstr "— критерии за избор на версии"
-#: gitk:4265
+#: gitk:4312
msgid "View Name"
msgstr "Име на изглед"
-#: gitk:4340
+#: gitk:4387
msgid "Apply (F5)"
msgstr "Прилагане (F5)"
-#: gitk:4378
+#: gitk:4425
msgid "Error in commit selection arguments:"
msgstr "Грешка в аргументите за избор на подавания:"
-#: gitk:4433 gitk:4486 gitk:4948 gitk:4962 gitk:6232 gitk:12524 gitk:12525
+#: gitk:4480 gitk:4533 gitk:4995 gitk:5009 gitk:6279 gitk:12679 gitk:12680
msgid "None"
msgstr "Няма"
-#: gitk:5045 gitk:5050
+#: gitk:5092 gitk:5097
msgid "Descendant"
msgstr "Наследник"
-#: gitk:5046
+#: gitk:5093
msgid "Not descendant"
msgstr "Не е наследник"
-#: gitk:5053 gitk:5058
+#: gitk:5100 gitk:5105
msgid "Ancestor"
msgstr "Предшественик"
-#: gitk:5054
+#: gitk:5101
msgid "Not ancestor"
msgstr "Не е предшественик"
-#: gitk:5348
+#: gitk:5395
msgid "Local changes checked in to index but not committed"
msgstr "Локални промени добавени към индекса, но неподадени"
-#: gitk:5384
+#: gitk:5431
msgid "Local uncommitted changes, not checked in to index"
msgstr "Локални промени извън индекса"
-#: gitk:7158
+#: gitk:7179
+msgid "Error starting web browser:"
+msgstr "Грешка при стартирането на уеб браузър:"
+
+#: gitk:7240
msgid "and many more"
msgstr "и още много"
-#: gitk:7161
+#: gitk:7243
msgid "many"
msgstr "много"
-#: gitk:7352
+#: gitk:7438
msgid "Tags:"
msgstr "Етикети:"
-#: gitk:7369 gitk:7375 gitk:8854
+#: gitk:7455 gitk:7461 gitk:8940
msgid "Parent"
msgstr "Родител"
-#: gitk:7380
+#: gitk:7466
msgid "Child"
msgstr "Дете"
-#: gitk:7389
+#: gitk:7475
msgid "Branch"
msgstr "Клон"
-#: gitk:7392
+#: gitk:7478
msgid "Follows"
msgstr "Следва"
-#: gitk:7395
+#: gitk:7481
msgid "Precedes"
msgstr "Предшества"
-#: gitk:7990
+#: gitk:8076
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Грешка при получаването на разликите: %s"
-#: gitk:8679
+#: gitk:8765
msgid "Goto:"
msgstr "Към ред:"
-#: gitk:8700
+#: gitk:8786
#, tcl-format
-msgid "Short SHA1 id %s is ambiguous"
-msgstr "Съкратената сума по SHA1 %s не е еднозначна"
+msgid "Short commit ID %s is ambiguous"
+msgstr "Съкратената контролна сума %s не е еднозначна"
-#: gitk:8707
+#: gitk:8793
#, tcl-format
msgid "Revision %s is not known"
msgstr "Непозната версия %s"
-#: gitk:8717
+#: gitk:8803
#, tcl-format
-msgid "SHA1 id %s is not known"
-msgstr "Непозната сума по SHA1 %s"
+msgid "Commit ID %s is not known"
+msgstr "Непозната контролна сума %s"
-#: gitk:8719
+#: gitk:8805
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "Версия %s не е в текущия изглед"
-#: gitk:8861 gitk:8876
+#: gitk:8947 gitk:8962
msgid "Date"
msgstr "Дата"
-#: gitk:8864
+#: gitk:8950
msgid "Children"
msgstr "Деца"
-#: gitk:8927
+#: gitk:9013
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Зануляване на клона „%s“ към текущото подаване"
-#: gitk:8929
+#: gitk:9015
msgid "Detached head: can't reset"
msgstr "Несвързан връх: невъзможно зануляване"
-#: gitk:9034 gitk:9040
+#: gitk:9120 gitk:9126
msgid "Skipping merge commit "
msgstr "Пропускане на подаването на сливането"
-#: gitk:9049 gitk:9054
+#: gitk:9135 gitk:9140
msgid "Error getting patch ID for "
msgstr "Грешка при получаването на идентификатора на "
-#: gitk:9050 gitk:9055
+#: gitk:9136 gitk:9141
msgid " - stopping\n"
msgstr " — спиране\n"
-#: gitk:9060 gitk:9063 gitk:9071 gitk:9085 gitk:9094
+#: gitk:9146 gitk:9149 gitk:9157 gitk:9171 gitk:9180
msgid "Commit "
msgstr "Подаване"
-#: gitk:9064
+#: gitk:9150
msgid ""
" is the same patch as\n"
" "
@@ -916,7 +920,7 @@ msgstr ""
" е същата кръпка като\n"
" "
-#: gitk:9072
+#: gitk:9158
msgid ""
" differs from\n"
" "
@@ -924,7 +928,7 @@ msgstr ""
" се различава от\n"
" "
-#: gitk:9074
+#: gitk:9160
msgid ""
"Diff of commits:\n"
"\n"
@@ -932,147 +936,147 @@ msgstr ""
"Разлика между подаванията:\n"
"\n"
-#: gitk:9086 gitk:9095
+#: gitk:9172 gitk:9181
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " има %s деца — спиране\n"
-#: gitk:9114
+#: gitk:9200
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Грешка при запазването на подаването във файл: %s"
-#: gitk:9120
+#: gitk:9206
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Грешка при изчисляването на разликите между подаванията: %s"
-#: gitk:9166
+#: gitk:9252
msgid "Top"
msgstr "Най-горе"
-#: gitk:9167
+#: gitk:9253
msgid "From"
msgstr "От"
-#: gitk:9172
+#: gitk:9258
msgid "To"
msgstr "До"
-#: gitk:9196
+#: gitk:9282
msgid "Generate patch"
msgstr "Генериране на кръпка"
-#: gitk:9198
+#: gitk:9284
msgid "From:"
msgstr "От:"
-#: gitk:9207
+#: gitk:9293
msgid "To:"
msgstr "До:"
-#: gitk:9216
+#: gitk:9302
msgid "Reverse"
msgstr "Обръщане"
-#: gitk:9218 gitk:9428
+#: gitk:9304 gitk:9514
msgid "Output file:"
msgstr "Запазване във файла:"
-#: gitk:9224
+#: gitk:9310
msgid "Generate"
msgstr "Генериране"
-#: gitk:9262
+#: gitk:9348
msgid "Error creating patch:"
msgstr "Грешка при създаването на кръпка:"
-#: gitk:9285 gitk:9416 gitk:9504
+#: gitk:9371 gitk:9502 gitk:9590
msgid "ID:"
msgstr "Идентификатор:"
-#: gitk:9294
+#: gitk:9380
msgid "Tag name:"
msgstr "Име на етикет:"
-#: gitk:9297
+#: gitk:9383
msgid "Tag message is optional"
msgstr "Съобщението за етикет е незадължително"
-#: gitk:9299
+#: gitk:9385
msgid "Tag message:"
msgstr "Съобщение за етикет:"
-#: gitk:9303 gitk:9474
+#: gitk:9389 gitk:9560
msgid "Create"
msgstr "Създаване"
-#: gitk:9321
+#: gitk:9407
msgid "No tag name specified"
msgstr "Липсва име на етикет"
-#: gitk:9325
+#: gitk:9411
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Етикетът „%s“ вече съществува"
-#: gitk:9335
+#: gitk:9421
msgid "Error creating tag:"
msgstr "Грешка при създаването на етикет:"
-#: gitk:9425
+#: gitk:9511
msgid "Command:"
msgstr "Команда:"
-#: gitk:9433
+#: gitk:9519
msgid "Write"
msgstr "Запазване"
-#: gitk:9451
+#: gitk:9537
msgid "Error writing commit:"
msgstr "Грешка при запазването на подаването:"
-#: gitk:9473
+#: gitk:9559
msgid "Create branch"
msgstr "Създаване на клон"
-#: gitk:9489
+#: gitk:9575
#, tcl-format
msgid "Rename branch %s"
msgstr "Преименуване на клона „%s“"
-#: gitk:9490
+#: gitk:9576
msgid "Rename"
msgstr "Преименуване"
-#: gitk:9514
+#: gitk:9600
msgid "Name:"
msgstr "Име:"
-#: gitk:9538
+#: gitk:9624
msgid "Please specify a name for the new branch"
msgstr "Укажете име за новия клон"
-#: gitk:9543
+#: gitk:9629
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
-msgstr "Клонът „%s“ вече съществува. Да бъде ли презаписан?"
+msgstr "Клонът „%s“ вече съществува. Да се презапише ли?"
-#: gitk:9587
+#: gitk:9673
msgid "Please specify a new name for the branch"
msgstr "Укажете ново име за клона"
-#: gitk:9650
+#: gitk:9736
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
-"Подаването „%s“ вече е включено в клона „%s“ — да бъде ли приложено отново?"
+"Подаването „%s“ вече е включено в клона „%s“ — да се приложи ли отново?"
-#: gitk:9655
+#: gitk:9741
msgid "Cherry-picking"
msgstr "Отбиране"
-#: gitk:9664
+#: gitk:9750
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -1081,7 +1085,7 @@ msgstr ""
"Неуспешно отбиране, защото във файла „%s“ има локални промени.\n"
"Подайте, занулете или ги скатайте и пробвайте отново."
-#: gitk:9670
+#: gitk:9756
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1089,20 +1093,20 @@ msgstr ""
"Неуспешно отбиране поради конфликти при сливане.\n"
"Искате ли да ги коригирате чрез „git citool“?"
-#: gitk:9686 gitk:9744
+#: gitk:9772 gitk:9830
msgid "No changes committed"
msgstr "Не са подадени промени"
-#: gitk:9713
+#: gitk:9799
#, tcl-format
msgid "Commit %s is not included in branch %s -- really revert it?"
-msgstr "Подаването „%s“ не е включено в клона „%s“. Да бъде ли отменено?"
+msgstr "Подаването „%s“ не е включено в клона „%s“. Да се отменени ли?"
-#: gitk:9718
+#: gitk:9804
msgid "Reverting"
msgstr "Отмяна"
-#: gitk:9726
+#: gitk:9812
#, tcl-format
msgid ""
"Revert failed because of local changes to the following files:%s Please "
@@ -1111,7 +1115,7 @@ msgstr ""
"Неуспешна отмяна, защото във файла „%s“ има локални промени.\n"
"Подайте, занулете или ги скатайте и пробвайте отново."
-#: gitk:9730
+#: gitk:9816
msgid ""
"Revert failed because of merge conflict.\n"
" Do you wish to run git citool to resolve it?"
@@ -1119,53 +1123,53 @@ msgstr ""
"Неуспешно отмяна поради конфликти при сливане.\n"
"Искате ли да ги коригирате чрез „git citool“?"
-#: gitk:9773
+#: gitk:9859
msgid "Confirm reset"
msgstr "Потвърждаване на зануляването"
-#: gitk:9775
+#: gitk:9861
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Да се занули ли клонът „%s“ към „%s“?"
-#: gitk:9777
+#: gitk:9863
msgid "Reset type:"
msgstr "Вид зануляване:"
-#: gitk:9780
+#: gitk:9866
msgid "Soft: Leave working tree and index untouched"
msgstr "Слабо: работното дърво и индекса остават същите"
-#: gitk:9783
+#: gitk:9869
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Смесено: работното дърво остава същото, индексът се занулява"
-#: gitk:9786
+#: gitk:9872
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
msgstr ""
"Силно: зануляване и на работното дърво, и на индекса\n"
-"(ВСИЧКИ локални промени ще бъдат безвъзвратно загубени)"
+"(ВСИЧКИ локални промени ще се загубят безвъзвратно)"
-#: gitk:9803
+#: gitk:9889
msgid "Resetting"
msgstr "Зануляване"
-#: gitk:9876
+#: gitk:9962
#, tcl-format
msgid "A local branch named %s exists already"
msgstr "Вече съществува локален клон „%s“."
-#: gitk:9884
+#: gitk:9970
msgid "Checking out"
msgstr "Изтегляне"
-#: gitk:9943
+#: gitk:10029
msgid "Cannot delete the currently checked-out branch"
-msgstr "Текущо изтегленият клон не може да бъде изтрит"
+msgstr "Текущо изтегленият клон не може да се изтрие"
-#: gitk:9949
+#: gitk:10035
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1174,16 +1178,16 @@ msgstr ""
"Подаванията на клона „%s“ не са на никой друг клон.\n"
"Наистина ли искате да изтриете клона „%s“?"
-#: gitk:9980
+#: gitk:10066
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Етикети и върхове: %s"
-#: gitk:9997
+#: gitk:10083
msgid "Filter"
msgstr "Филтриране"
-#: gitk:10293
+#: gitk:10390
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1191,201 +1195,237 @@ msgstr ""
"Грешка при прочитането на топологията на подаванията. Информацията за клона "
"и предшестващите/следващите етикети ще е непълна."
-#: gitk:11270
+#: gitk:11367
msgid "Tag"
msgstr "Етикет"
-#: gitk:11274
+#: gitk:11371
msgid "Id"
msgstr "Идентификатор"
-#: gitk:11357
+#: gitk:11454
msgid "Gitk font chooser"
msgstr "Избор на шрифт за Gitk"
-#: gitk:11374
+#: gitk:11471
msgid "B"
msgstr "Ч"
-#: gitk:11377
+#: gitk:11474
msgid "I"
msgstr "К"
-#: gitk:11495
+#: gitk:11593
msgid "Commit list display options"
msgstr "Настройки на списъка с подавания"
-#: gitk:11498
+#: gitk:11596
msgid "Maximum graph width (lines)"
msgstr "Максимална широчина на графа (в редове)"
-#: gitk:11502
+#: gitk:11600
#, no-tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Максимална широчина на графа (% от панела)"
-#: gitk:11505
+#: gitk:11603
msgid "Show local changes"
msgstr "Показване на локалните промени"
-#: gitk:11508
-msgid "Auto-select SHA1 (length)"
-msgstr "Автоматично избиране на SHA1 (дължина)"
-
-#: gitk:11512
+#: gitk:11606
msgid "Hide remote refs"
msgstr "Скриване на отдалечените указатели"
-#: gitk:11516
+#: gitk:11610
+msgid "Copy commit ID to clipboard"
+msgstr "Копиране на контролната сума към буфера за обмен"
+
+#: gitk:11614
+msgid "Copy commit ID to X11 selection"
+msgstr "Копиране на контролната сума в селекцията на X11"
+
+#: gitk:11619
+msgid "Length of commit ID to copy"
+msgstr "Дължина на контролната сума, която се копира"
+
+#: gitk:11622
msgid "Diff display options"
msgstr "Настройки на показването на разликите"
-#: gitk:11518
+#: gitk:11624
msgid "Tab spacing"
msgstr "Широчина на табулатора"
-#: gitk:11521
+#: gitk:11628
+msgid "Wrap comment text"
+msgstr "Пренасяне на думите в коментарите"
+
+#: gitk:11633
+msgid "Wrap other text"
+msgstr "Пренасяне на другия текст"
+
+#: gitk:11638
msgid "Display nearby tags/heads"
msgstr "Извеждане на близките етикети и върхове"
-#: gitk:11524
+#: gitk:11641
msgid "Maximum # tags/heads to show"
msgstr "Максимален брой етикети/върхове за показване"
-#: gitk:11527
+#: gitk:11644
msgid "Limit diffs to listed paths"
msgstr "Разлика само в избраните пътища"
-#: gitk:11530
+#: gitk:11647
msgid "Support per-file encodings"
msgstr "Поддръжка на различни кодирания за всеки файл"
-#: gitk:11536 gitk:11683
+#: gitk:11653 gitk:11820
msgid "External diff tool"
msgstr "Външен инструмент за разлики"
-#: gitk:11537
+#: gitk:11654
msgid "Choose..."
msgstr "Избор…"
-#: gitk:11542
+#: gitk:11661
+msgid "Web browser"
+msgstr "Уеб браузър"
+
+#: gitk:11666
msgid "General options"
msgstr "Общи настройки"
-#: gitk:11545
+#: gitk:11669
msgid "Use themed widgets"
msgstr "Използване на тема за графичните обекти"
-#: gitk:11547
+#: gitk:11671
msgid "(change requires restart)"
msgstr "(промяната изисква рестартиране на Gitk)"
-#: gitk:11549
+#: gitk:11673
msgid "(currently unavailable)"
msgstr "(в момента недостъпно)"
-#: gitk:11560
+#: gitk:11685
msgid "Colors: press to choose"
msgstr "Цветове: избира се с натискане"
-#: gitk:11563
+#: gitk:11688
msgid "Interface"
msgstr "Интерфейс"
-#: gitk:11564
+#: gitk:11689
msgid "interface"
msgstr "интерфейс"
-#: gitk:11567
+#: gitk:11692
msgid "Background"
msgstr "Фон"
-#: gitk:11568 gitk:11598
+#: gitk:11693 gitk:11735
msgid "background"
msgstr "фон"
-#: gitk:11571
+#: gitk:11696
msgid "Foreground"
msgstr "Знаци"
-#: gitk:11572
+#: gitk:11697
msgid "foreground"
msgstr "знаци"
-#: gitk:11575
+#: gitk:11700
msgid "Diff: old lines"
msgstr "Разлика: стари редове"
-#: gitk:11576
+#: gitk:11701
msgid "diff old lines"
msgstr "разлика, стари редове"
-#: gitk:11580
+#: gitk:11705
+msgid "Diff: old lines bg"
+msgstr "Разлика: фон на стари редове"
+
+#: gitk:11707
+msgid "diff old lines bg"
+msgstr "разлика, фон на стари редове"
+
+#: gitk:11711
msgid "Diff: new lines"
msgstr "Разлика: нови редове"
-#: gitk:11581
+#: gitk:11712
msgid "diff new lines"
msgstr "разлика, нови редове"
-#: gitk:11585
+#: gitk:11716
+msgid "Diff: new lines bg"
+msgstr "Разлика: фон на нови редове"
+
+#: gitk:11718
+msgid "diff new lines bg"
+msgstr "разлика, фон на нови редове"
+
+#: gitk:11722
msgid "Diff: hunk header"
msgstr "Разлика: начало на парче"
-#: gitk:11587
+#: gitk:11724
msgid "diff hunk header"
msgstr "разлика, начало на парче"
-#: gitk:11591
+#: gitk:11728
msgid "Marked line bg"
msgstr "Фон на отбелязан ред"
-#: gitk:11593
+#: gitk:11730
msgid "marked line background"
msgstr "фон на отбелязан ред"
-#: gitk:11597
+#: gitk:11734
msgid "Select bg"
msgstr "Избор на фон"
-#: gitk:11606
+#: gitk:11743
msgid "Fonts: press to choose"
msgstr "Шрифтове: избира се с натискане"
-#: gitk:11608
+#: gitk:11745
msgid "Main font"
msgstr "Основен шрифт"
-#: gitk:11609
+#: gitk:11746
msgid "Diff display font"
msgstr "Шрифт за разликите"
-#: gitk:11610
+#: gitk:11747
msgid "User interface font"
msgstr "Шрифт на интерфейса"
-#: gitk:11632
+#: gitk:11769
msgid "Gitk preferences"
msgstr "Настройки на Gitk"
-#: gitk:11641
+#: gitk:11778
msgid "General"
msgstr "Общи"
-#: gitk:11642
+#: gitk:11779
msgid "Colors"
msgstr "Цветове"
-#: gitk:11643
+#: gitk:11780
msgid "Fonts"
msgstr "Шрифтове"
-#: gitk:11693
+#: gitk:11830
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: избор на цвят на „%s“"
-#: gitk:12206
+#: gitk:12350
msgid ""
"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
" Gitk requires at least Tcl/Tk 8.4."
@@ -1393,15 +1433,15 @@ msgstr ""
"Тази версия на Tcl/Tk не се поддържа от Gitk.\n"
" Необходима ви е поне Tcl/Tk 8.4."
-#: gitk:12416
+#: gitk:12571
msgid "Cannot find a git repository here."
msgstr "Тук липсва хранилище на Git."
-#: gitk:12463
+#: gitk:12618
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Нееднозначен аргумент „%s“: има и такава версия, и такъв файл"
-#: gitk:12475
+#: gitk:12630
msgid "Bad arguments to gitk:"
msgstr "Неправилни аргументи на gitk:"
diff --git a/meson.build b/meson.build
index a0654a3f24..0064eb64f5 100644
--- a/meson.build
+++ b/meson.build
@@ -1456,34 +1456,6 @@ else
build_options_config.set('RUNTIME_PREFIX', 'false')
endif
-foreach key, value : {
- 'DIFF': diff.full_path(),
- 'GIT_TEST_CMP': diff.full_path() + ' -u',
- 'GIT_TEST_GITPERLLIB': meson.project_build_root() / 'perl',
- 'GIT_TEST_MERGE_TOOLS_DIR': meson.project_source_root() / 'mergetools',
- 'GIT_TEST_POPATH': meson.project_source_root() / 'po',
- 'GIT_TEST_TEMPLATE_DIR': meson.project_build_root() / 'templates',
- 'GIT_TEST_TEXTDOMAINDIR': meson.project_build_root() / 'po',
- 'PAGER_ENV': get_option('pager_environment'),
- 'PERL_PATH': perl.found() ? perl.full_path() : '',
- 'PYTHON_PATH': python.found () ? python.full_path() : '',
- 'SHELL_PATH': shell.full_path(),
- 'TAR': tar.full_path(),
- 'TEST_OUTPUT_DIRECTORY': test_output_directory,
- 'TEST_SHELL_PATH': shell.full_path(),
-}
- if value != '' and cygpath.found()
- value = run_command(cygpath, value, check: true).stdout().strip()
- endif
- build_options_config.set_quoted(key, value)
-endforeach
-
-configure_file(
- input: 'GIT-BUILD-OPTIONS.in',
- output: 'GIT-BUILD-OPTIONS',
- configuration: build_options_config,
-)
-
git_version_file = custom_target(
command: [
shell,
@@ -1891,8 +1863,11 @@ subdir('contrib')
# We make sure further up that Perl is required in case the gitweb option is
# enabled.
gitweb_option = get_option('gitweb').disable_auto_if(not perl.found())
-if gitweb_option.enabled()
+if gitweb_option.allowed()
subdir('gitweb')
+ build_options_config.set('NO_GITWEB', '')
+else
+ build_options_config.set('NO_GITWEB', '1')
endif
subdir('templates')
@@ -1909,11 +1884,39 @@ if get_option('docs') != []
subdir('Documentation')
endif
+foreach key, value : {
+ 'DIFF': diff.full_path(),
+ 'GIT_TEST_CMP': diff.full_path() + ' -u',
+ 'GIT_TEST_GITPERLLIB': meson.project_build_root() / 'perl',
+ 'GIT_TEST_MERGE_TOOLS_DIR': meson.project_source_root() / 'mergetools',
+ 'GIT_TEST_POPATH': meson.project_source_root() / 'po',
+ 'GIT_TEST_TEMPLATE_DIR': meson.project_build_root() / 'templates',
+ 'GIT_TEST_TEXTDOMAINDIR': meson.project_build_root() / 'po',
+ 'PAGER_ENV': get_option('pager_environment'),
+ 'PERL_PATH': perl.found() ? perl.full_path() : '',
+ 'PYTHON_PATH': python.found () ? python.full_path() : '',
+ 'SHELL_PATH': shell.full_path(),
+ 'TAR': tar.full_path(),
+ 'TEST_OUTPUT_DIRECTORY': test_output_directory,
+ 'TEST_SHELL_PATH': shell.full_path(),
+}
+ if value != '' and cygpath.found()
+ value = run_command(cygpath, value, check: true).stdout().strip()
+ endif
+ build_options_config.set_quoted(key, value)
+endforeach
+
+configure_file(
+ input: 'GIT-BUILD-OPTIONS.in',
+ output: 'GIT-BUILD-OPTIONS',
+ configuration: build_options_config,
+)
+
summary({
'curl': curl.found(),
'expat': expat.found(),
'gettext': intl.found(),
- 'gitweb': gitweb_option.enabled(),
+ 'gitweb': gitweb_option.allowed(),
'https': https_backend,
'iconv': iconv.found(),
'pcre2': pcre2.found(),
diff --git a/meson_options.txt b/meson_options.txt
index 4be7eab399..f50bb40cdf 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -85,6 +85,8 @@ option('docs', type: 'array', choices: ['man', 'html'], value: [],
description: 'Which documenattion formats to build and install.')
option('default_help_format', type: 'combo', choices: ['man', 'html'], value: 'man',
description: 'Default format used when executing git-help(1).')
+option('docs_backend', type: 'combo', choices: ['asciidoc', 'asciidoctor', 'auto'], value: 'auto',
+ description: 'Which backend to use to generate documentation.')
# Testing.
option('tests', type: 'boolean', value: true,
diff --git a/object-file.c b/object-file.c
index 5b792b3dd4..aeca61b8ae 100644
--- a/object-file.c
+++ b/object-file.c
@@ -1970,54 +1970,59 @@ static void write_object_file_prepare_literally(const struct git_hash_algo *algo
hash_object_body(algo, &c, buf, len, oid, hdr, hdrlen);
}
-static int check_collision(const char *filename_a, const char *filename_b)
+#define CHECK_COLLISION_DEST_VANISHED -2
+
+static int check_collision(const char *source, const char *dest)
{
- char buf_a[4096], buf_b[4096];
- int fd_a = -1, fd_b = -1;
+ char buf_source[4096], buf_dest[4096];
+ int fd_source = -1, fd_dest = -1;
int ret = 0;
- fd_a = open(filename_a, O_RDONLY);
- if (fd_a < 0) {
- ret = error_errno(_("unable to open %s"), filename_a);
+ fd_source = open(source, O_RDONLY);
+ if (fd_source < 0) {
+ ret = error_errno(_("unable to open %s"), source);
goto out;
}
- fd_b = open(filename_b, O_RDONLY);
- if (fd_b < 0) {
- ret = error_errno(_("unable to open %s"), filename_b);
+ fd_dest = open(dest, O_RDONLY);
+ if (fd_dest < 0) {
+ if (errno != ENOENT)
+ ret = error_errno(_("unable to open %s"), dest);
+ else
+ ret = CHECK_COLLISION_DEST_VANISHED;
goto out;
}
while (1) {
ssize_t sz_a, sz_b;
- sz_a = read_in_full(fd_a, buf_a, sizeof(buf_a));
+ sz_a = read_in_full(fd_source, buf_source, sizeof(buf_source));
if (sz_a < 0) {
- ret = error_errno(_("unable to read %s"), filename_a);
+ ret = error_errno(_("unable to read %s"), source);
goto out;
}
- sz_b = read_in_full(fd_b, buf_b, sizeof(buf_b));
+ sz_b = read_in_full(fd_dest, buf_dest, sizeof(buf_dest));
if (sz_b < 0) {
- ret = error_errno(_("unable to read %s"), filename_b);
+ ret = error_errno(_("unable to read %s"), dest);
goto out;
}
- if (sz_a != sz_b || memcmp(buf_a, buf_b, sz_a)) {
+ if (sz_a != sz_b || memcmp(buf_source, buf_dest, sz_a)) {
ret = error(_("files '%s' and '%s' differ in contents"),
- filename_a, filename_b);
+ source, dest);
goto out;
}
- if (sz_a < sizeof(buf_a))
+ if (sz_a < sizeof(buf_source))
break;
}
out:
- if (fd_a > -1)
- close(fd_a);
- if (fd_b > -1)
- close(fd_b);
+ if (fd_source > -1)
+ close(fd_source);
+ if (fd_dest > -1)
+ close(fd_dest);
return ret;
}
@@ -2032,8 +2037,11 @@ int finalize_object_file(const char *tmpfile, const char *filename)
int finalize_object_file_flags(const char *tmpfile, const char *filename,
enum finalize_object_file_flags flags)
{
- struct stat st;
- int ret = 0;
+ unsigned retries = 0;
+ int ret;
+
+retry:
+ ret = 0;
if (object_creation_mode == OBJECT_CREATION_USES_RENAMES)
goto try_rename;
@@ -2054,6 +2062,8 @@ int finalize_object_file_flags(const char *tmpfile, const char *filename,
* left to unlink.
*/
if (ret && ret != EEXIST) {
+ struct stat st;
+
try_rename:
if (!stat(filename, &st))
ret = EEXIST;
@@ -2069,9 +2079,17 @@ int finalize_object_file_flags(const char *tmpfile, const char *filename,
errno = saved_errno;
return error_errno(_("unable to write file %s"), filename);
}
- if (!(flags & FOF_SKIP_COLLISION_CHECK) &&
- check_collision(tmpfile, filename))
+ if (!(flags & FOF_SKIP_COLLISION_CHECK)) {
+ ret = check_collision(tmpfile, filename);
+ if (ret == CHECK_COLLISION_DEST_VANISHED) {
+ if (retries++ > 5)
+ return error(_("unable to write repeatedly vanishing file %s"),
+ filename);
+ goto retry;
+ }
+ else if (ret)
return -1;
+ }
unlink_or_warn(tmpfile);
}
diff --git a/parse-options.c b/parse-options.c
index 33bfba0ed4..3ff6a5d1fa 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -1076,11 +1076,48 @@ static int usage_argh(const struct option *opts, FILE *outfile)
!opts->argh || !!strpbrk(opts->argh, "()<>[]|");
if (opts->flags & PARSE_OPT_OPTARG)
if (opts->long_name)
- s = literal ? "[=%s]" : "[=<%s>]";
+ /*
+ * TRANSLATORS: The "<%s>" part of this string
+ * stands for an optional value given to a command
+ * line option in the long form, and "<>" is there
+ * as a convention to signal that it is a
+ * placeholder (i.e. the user should substitute it
+ * with the real value). If your language uses a
+ * different convention, you can change "<%s>" part
+ * to match yours, e.g. it might use "|%s|" instead,
+ * or if the alphabet is different enough it may use
+ * "%s" without any placeholder signal. Most
+ * translations leave this message as is.
+ */
+ s = literal ? "[=%s]" : _("[=<%s>]");
else
- s = literal ? "[%s]" : "[<%s>]";
+ /*
+ * TRANSLATORS: The "<%s>" part of this string
+ * stands for an optional value given to a command
+ * line option in the short form, and "<>" is there
+ * as a convention to signal that it is a
+ * placeholder (i.e. the user should substitute it
+ * with the real value). If your language uses a
+ * different convention, you can change "<%s>" part
+ * to match yours, e.g. it might use "|%s|" instead,
+ * or if the alphabet is different enough it may use
+ * "%s" without any placeholder signal. Most
+ * translations leave this message as is.
+ */
+ s = literal ? "[%s]" : _("[<%s>]");
else
- s = literal ? " %s" : " <%s>";
+ /*
+ * TRANSLATORS: The "<%s>" part of this string stands for a
+ * value given to a command line option, and "<>" is there
+ * as a convention to signal that it is a placeholder
+ * (i.e. the user should substitute it with the real value).
+ * If your language uses a different convention, you can
+ * change "<%s>" part to match yours, e.g. it might use
+ * "|%s|" instead, or if the alphabet is different enough it
+ * may use "%s" without any placeholder signal. Most
+ * translations leave this message as is.
+ */
+ s = literal ? " %s" : _(" <%s>");
return utf8_fprintf(outfile, s, opts->argh ? _(opts->argh) : _("..."));
}
diff --git a/perl/FromCPAN/Mail/meson.build b/perl/FromCPAN/Mail/meson.build
index 129cff161c..b4ff2fc0b2 100644
--- a/perl/FromCPAN/Mail/meson.build
+++ b/perl/FromCPAN/Mail/meson.build
@@ -4,4 +4,5 @@ test_dependencies += custom_target(
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/FromCPAN/Mail',
+ depends: [git_version_file],
)
diff --git a/perl/FromCPAN/meson.build b/perl/FromCPAN/meson.build
index 4e7ea909df..1f9ea6ce8e 100644
--- a/perl/FromCPAN/meson.build
+++ b/perl/FromCPAN/meson.build
@@ -4,6 +4,7 @@ test_dependencies += custom_target(
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/FromCPAN',
+ depends: [git_version_file],
)
subdir('Mail')
diff --git a/perl/Git/LoadCPAN/Mail/meson.build b/perl/Git/LoadCPAN/Mail/meson.build
index 7da5b37adb..89cde56be8 100644
--- a/perl/Git/LoadCPAN/Mail/meson.build
+++ b/perl/Git/LoadCPAN/Mail/meson.build
@@ -4,4 +4,5 @@ test_dependencies += custom_target(
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/LoadCPAN/Mail',
+ depends: [git_version_file],
)
diff --git a/perl/Git/LoadCPAN/meson.build b/perl/Git/LoadCPAN/meson.build
index 9468c073ae..1ee915c650 100644
--- a/perl/Git/LoadCPAN/meson.build
+++ b/perl/Git/LoadCPAN/meson.build
@@ -4,6 +4,7 @@ test_dependencies += custom_target(
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/LoadCPAN',
+ depends: [git_version_file],
)
subdir('Mail')
diff --git a/perl/Git/SVN/Memoize/meson.build b/perl/Git/SVN/Memoize/meson.build
index 515ab3dd92..233ec670d7 100644
--- a/perl/Git/SVN/Memoize/meson.build
+++ b/perl/Git/SVN/Memoize/meson.build
@@ -4,4 +4,5 @@ test_dependencies += custom_target(
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/SVN',
+ depends: [git_version_file],
)
diff --git a/perl/Git/SVN/meson.build b/perl/Git/SVN/meson.build
index 8338531041..44abaf42b7 100644
--- a/perl/Git/SVN/meson.build
+++ b/perl/Git/SVN/meson.build
@@ -14,6 +14,7 @@ foreach source : [
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/SVN',
+ depends: [git_version_file],
)
endforeach
diff --git a/perl/Git/meson.build b/perl/Git/meson.build
index 259209d730..b21fa5591e 100644
--- a/perl/Git/meson.build
+++ b/perl/Git/meson.build
@@ -11,6 +11,7 @@ foreach source : [
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git',
+ depends: [git_version_file],
)
endforeach
diff --git a/perl/meson.build b/perl/meson.build
index c22d6f8a1a..2d4ab1c4a9 100644
--- a/perl/meson.build
+++ b/perl/meson.build
@@ -4,6 +4,7 @@ test_dependencies += custom_target(
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5',
+ depends: [git_version_file],
)
subdir('Git')
diff --git a/po/bg.po b/po/bg.po
index 1f7222dd93..2fc6c2b60c 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -225,6 +225,14 @@
# mailmap файл за съответствията на имената и адресите на е-поща
# unit test поединичен тест
# test suite група тестове
+# object database базата от данни за обектите
+# expecting integer изисква се число
+# timeout максимално изчакване
+# init timeout максимално първоначално изчакване
+# implies option включва опцията
+# cache-tree кеша на обектите-дървета
+# acquire lock придобивам ключалка
+# detached отделѐн, несвързан
#
# ------------------------
# „$var“ - може да не сработва за shell има gettext и eval_gettext - проверка - намират се лесно по „$
@@ -251,10 +259,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.45\n"
+"Project-Id-Version: git 2.48\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2024-10-05 01:20+0000\n"
-"PO-Revision-Date: 2024-10-05 13:20+0200\n"
+"POT-Creation-Date: 2024-12-27 22:37+0100\n"
+"PO-Revision-Date: 2024-12-27 22:40+0100\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@@ -564,8 +572,8 @@ msgstr ""
#, c-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
msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
@@ -605,8 +613,8 @@ msgstr ""
#, c-format
msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Премахване на промяната в права̀та за достъп от индекса и работното дърво [y,"
-"n,q,a,d%s,?]? "
+"Премахване на промяната в права̀та за достъп от индекса и работното дърво "
+"[y,n,q,a,d%s,?]? "
#, c-format
msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
@@ -641,8 +649,8 @@ msgstr ""
#, c-format
msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Прилагане на промяната в права̀та за достъп от индекса и работното дърво [y,n,"
-"q,a,d%s,?]? "
+"Прилагане на промяната в права̀та за достъп от индекса и работното дърво "
+"[y,n,q,a,d%s,?]? "
#, c-format
msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
@@ -676,8 +684,8 @@ msgstr ""
#, c-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
msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
@@ -893,12 +901,12 @@ msgstr "Променени са само двоични файлове."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
"За да изключите това предупреждение, изпълнете:\n"
"\n"
-" git config advice.%s false"
+" git config set advice.%s false"
#, c-format
msgid "%shint:%s%.*s%s\n"
@@ -1016,8 +1024,8 @@ msgstr ""
"\n"
" git switch -\n"
"\n"
-"Може да спрете това съобщение със задаване на настройката „advice."
-"detachedHead“\n"
+"Може да спрете това съобщение със задаване на настройката "
+"„advice.detachedHead“\n"
"да е „false“ (лъжа̀).\n"
#, c-format
@@ -1247,7 +1255,7 @@ msgstr "двоичната кръпка не може да се приложи
#, c-format
msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
msgstr ""
-"двоичната кръпка за „%s“ води до неправилни резултати (очакваше се: „%s“, а "
+"двоичната кръпка за „%s“ води до неправилни резултати (изисква се: „%s“, а "
"бе получено: „%s“)"
#, c-format
@@ -2651,9 +2659,9 @@ msgid ""
"git bisect start [--term-(new|bad)=<term> --term-(old|good)=<term>] [--no-"
"checkout] [--first-parent] [<bad> [<good>...]] [--] [<pathspec>...]"
msgstr ""
-"git bisect start [--term-(new,bad)=УПРАВЛЯВАЩА_ДУМА --term-(old,"
-"good)=УПРАВЛЯВАЩА_ДУМА] [--no-checkout] [--first-parent] [ЛОШО [ДОБРО…]] "
-"[--] [ПЪТ…]"
+"git bisect start [--term-(new,bad)=УПРАВЛЯВАЩА_ДУМА --term-"
+"(old,good)=УПРАВЛЯВАЩА_ДУМА] [--no-checkout] [--first-parent] [ЛОШО "
+"[ДОБРО…]] [--] [ПЪТ…]"
msgid "git bisect (good|bad) [<rev>...]"
msgstr "git bisect (good|bad) [ВЕРСИЯ…]"
@@ -2936,7 +2944,7 @@ msgstr "ОПЦИИте_ЗА_ВЕРСИЯТА са документирани в
#, c-format
msgid "expecting a color: %s"
-msgstr "трябва да е цвят: %s"
+msgstr "изисква се цвят: %s"
msgid "must end with a color"
msgstr "трябва да завършва с цвят"
@@ -3349,8 +3357,8 @@ msgid "HEAD not found below refs/heads!"
msgstr "В директорията „refs/heads“ липсва файл „HEAD“"
msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
+"branch with --recurse-submodules can only be used if "
+"submodule.propagateBranches is enabled"
msgstr ""
"може да се ползва клон с опцията „--recurse-submodules“, само ако "
"настройката „submodule.propagateBranches“ е зададена"
@@ -3653,8 +3661,8 @@ msgstr "позволяване на опциите „-s“ и „-t“ да р
msgid "use mail map file"
msgstr ""
-"използване на файл за съответствията на имената и адресите на е-поща („."
-"mailmap“)"
+"използване на файл за съответствията на имената и адресите на е-поща "
+"(„.mailmap“)"
msgid "Batch objects requested on stdin (or --batch-all-objects)"
msgstr ""
@@ -4206,7 +4214,7 @@ msgstr ""
"„zdiff3“)"
msgid "detach HEAD at named commit"
-msgstr "отделяне на указателя „HEAD“ към указаното подаване"
+msgstr "отделяне на указателя „HEAD“ при указаното подаване"
msgid "force checkout (throw away local modifications)"
msgstr "принудително изтегляне (вашите промѐни ще бъдат занулени)"
@@ -4220,8 +4228,8 @@ msgstr "нов неродѐн клон"
msgid "update ignored files (default)"
msgstr "обновяване на игнорираните файлове (стандартно)"
-msgid "do not check if another worktree is holding the given ref"
-msgstr "без проверка дали друго работно дърво държи указателя"
+msgid "do not check if another worktree is using this branch"
+msgstr "без проверка дали друго работно дърво ползва този клон"
msgid "checkout our version for unmerged files"
msgstr "изтегляне на вашата версия на неслетите файлове"
@@ -4525,10 +4533,10 @@ msgstr "плитко клониране до тази ДЪЛБОЧИНА"
msgid "create a shallow clone since a specific time"
msgstr "плитко клониране до момент във времето"
-msgid "revision"
-msgstr "ВЕРСИЯ"
+msgid "ref"
+msgstr "УКАЗ"
-msgid "deepen history of shallow clone, excluding rev"
+msgid "deepen history of shallow clone, excluding ref"
msgstr "задълбочаване на историята на плитко хранилище до изключващ указател"
msgid "clone only one branch, HEAD or --branch"
@@ -5509,9 +5517,10 @@ msgstr ""
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
-"git config unset [ОПЦИЯ_ЗА_ФАЙЛ] [--all] [--value=СТОЙНОСТ] [--fixed-value]"
+"git config unset [ОПЦИЯ_ЗА_ФАЙЛ] [--all] [--value=СТОЙНОСТ] [--fixed-value] "
+"ИМЕ"
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
msgstr "git config rename-section [ОПЦИЯ_ЗА_ФАЙЛ] СТАРО_ИМЕ НОВО_ИМЕ"
@@ -5963,12 +5972,8 @@ msgid "traversed %lu commits\n"
msgstr "обходени са %lu подавания\n"
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"открити са над %i етикета, изведени са последните %i,\n"
-"търсенето бе прекратено при „%s“.\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "открити са %i етикета. Търсенето приключи при „%s“\n"
#, c-format
msgid "describe %s\n"
@@ -6414,6 +6419,27 @@ msgstr "„%s“ е неправилен обект"
msgid "the object %s does not exist"
msgstr "обектът „%s“ не съществува"
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Изпълнете\n"
+"\n"
+" git remote set-head %s %s\n"
+"\n"
+"за да следвате промяната или задайте друга стойност на настройката\n"
+"„remote.%s.followRemoteHEAD, ако не искате тези съобщения.\n"
+"Изпълнението на\n"
+"\n"
+" git config set remote.%s.followRemoteHEAD %s\n"
+"\n"
+"ще изключи предупреждението, докато отдалеченият указател HEAD не\n"
+"започне да сочи нещо друго."
+
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr ""
"засечени са множество клони, това е несъвместимо с опцията „--set-upstream“"
@@ -6553,6 +6579,9 @@ msgstr "КАРТА_С_УКАЗАТЕЛИ"
msgid "specify fetch refmap"
msgstr "указване на КАРТАта_С_УКАЗАТЕЛИ за доставяне"
+msgid "revision"
+msgstr "ВЕРСИЯ"
+
msgid "report that we have only objects reachable from this object"
msgstr "докладване, че всички обекти може са достижими при започване от този"
@@ -6608,8 +6637,8 @@ msgid "protocol does not support --negotiate-only, exiting"
msgstr "протоколът не поддържа опцията „--negotiate-only“, изход от програмата"
msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
+"--filter can only be used with the remote configured in "
+"extensions.partialclone"
msgstr ""
"опцията „--filter“ може да се ползва само с отдалеченото хранилище указано в "
"настройката „extensions.partialclone“"
@@ -6859,7 +6888,7 @@ msgstr "„%s“ сочи към нещо необичайно (%s)"
#, c-format
msgid "%s: detached HEAD points at nothing"
-msgstr "%s: несвързаният връх „HEAD“ не сочи към нищо"
+msgstr "%s: отделеният връх „HEAD“ не сочи към нищо"
#, c-format
msgid "notice: %s points to an unborn branch (%s)"
@@ -7169,8 +7198,8 @@ msgstr "неуспешно изпълнение на „git multi-pack-index rep
msgid ""
"skipping incremental-repack task because core.multiPackIndex is disabled"
msgstr ""
-"задачата „incremental-repack“ се прескача, защото настройката „core."
-"multiPackIndex“ е изключена"
+"задачата „incremental-repack“ се прескача, защото настройката "
+"„core.multiPackIndex“ е изключена"
#, c-format
msgid "lock file '%s' exists, skipping maintenance"
@@ -7291,8 +7320,25 @@ msgstr "липсват както таймери на systemd, така и cront
msgid "%s scheduler is not available"
msgstr "планиращият модул „%s“ липсва"
-msgid "another process is scheduling background maintenance"
-msgstr "друг процес задава поддръжката на заден фон"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"Файлът-ключалка „%s.lock“ не може да бъде създаден: %s\n"
+"\n"
+"Изглежда, че и друг процес на git-maintenance(1) е пуснат в това\n"
+"хранилище. Уверете се, че всички подобни процеси са спрени и опитайте\n"
+"отново. Ако това не помогне, вероятната причина е, че някой процес на\n"
+"git-maintenance(1) в това хранилище е забил. За да продължите работа,\n"
+"ще трябва ръчно да изтриете файла:"
+
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "не може да се придобие ключалката за поддръжката на заден фон"
msgid "git maintenance start [--scheduler=<scheduler>]"
msgstr "git maintenance start [--scheduler=ПЛАНИРАЩ_МОДУЛ]"
@@ -7876,6 +7922,24 @@ msgid_plural "chain length = %d: %lu objects"
msgstr[0] "дължината на веригата е %d: %lu обект"
msgstr[1] "дължината на веригата е %d: %lu обекта"
+msgid "could not start pack-objects to repack local links"
+msgstr ""
+"командата „pack-objects“ не може да се стартира за препакетирането на "
+"локалните връзки"
+
+msgid "failed to feed local object to pack-objects"
+msgstr "локалните обекти не може да се подадат на командата „pack-objects“"
+
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack: от „pack-objects“ се изискват редове само с пълни шестнайсетични "
+"указатели."
+
+msgid "could not finish pack-objects to repack local links"
+msgstr ""
+"командата „pack-objects“ не може да завърши за препакетирането на локалните "
+"връзки"
+
msgid "Cannot come back to cwd"
msgstr "Процесът не може да се върне към предишната работна директория"
@@ -7887,6 +7951,9 @@ msgstr "неправилна стойност „%s“"
msgid "unknown hash algorithm '%s'"
msgstr "непознат алгоритъм за контролни суми „%s“"
+msgid "--promisor cannot be used with a pack name"
+msgstr "опцията „--promisor“ е несъвместима с име на пакет"
+
msgid "--stdin requires a git repository"
msgstr "„--stdin“ изисква хранилище на git"
@@ -9283,11 +9350,14 @@ msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] [list [ОБЕКТ
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
+"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
+"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
+"| -C) <object>] [<object>] [-e]\n"
"git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] add [-f] [--allow-empty] [--"
"[no-]separator|--separator=<paragraph-break>] [--[no-]stripspace] [-m "
-"СЪОБЩЕНИЕ|-F ФАЙЛ|(-c|-C) ОБЕКТ] [ОБЕКТ]"
+"СЪОБЩЕНИЕ|-F ФАЙЛ|(-c|-C) ОБЕКТ] [ОБЕКТ] [-e]"
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
msgstr ""
@@ -9296,11 +9366,11 @@ msgstr ""
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] append [--allow-empty] [--"
"[no-]separator|--separator=КРАЙ_НА_АБЗАЦ] [--[no-]stripspace] [-m СЪОБЩЕНИЕ "
-"| -F ФАЙЛ|(-c|-C) ОБЕКТ] [ОБЕКТ]"
+"| -F ФАЙЛ|(-c|-C) ОБЕКТ] [ОБЕКТ] [-e]"
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] edit [--allow-empty] [ОБЕКТ]"
@@ -9422,6 +9492,9 @@ msgstr "ФАЙЛ със съдържанието на бележката"
msgid "reuse and edit specified note object"
msgstr "преизползване и редактиране на указания ОБЕКТ-бележка"
+msgid "edit note message in editor"
+msgstr "редактиране на съобщението в редактора"
+
msgid "reuse specified note object"
msgstr "преизползване на указания ОБЕКТ-бележка"
@@ -9660,7 +9733,7 @@ msgstr "неуспешно записване на индекси на база
#, c-format
msgid "wrote %<PRIu32> objects while expecting %<PRIu32>"
-msgstr "бяха записани %<PRIu32> обекти, а се очакваха %<PRIu32>"
+msgstr "бяха записани %<PRIu32> обекти, а се изискват %<PRIu32>"
msgid "disabling bitmap writing, as some objects are not being packed"
msgstr ""
@@ -9940,6 +10013,9 @@ msgstr "как да се обработват липсващите обекти"
msgid "do not pack objects in promisor packfiles"
msgstr "без пакетиране на обекти в гарантиращи пакети"
+msgid "implies --missing=allow-any"
+msgstr "включва опцията „--missing=allow-any“"
+
msgid "respect islands during delta compression"
msgstr "без промяна на групите при делта компресия"
@@ -10315,7 +10391,7 @@ msgid ""
" git push %s HEAD:<name-of-remote-branch>\n"
msgstr ""
"В момента не сте на никой клон. За да изтласкате историята до състоянието,\n"
-"сочено в момента от указателя „HEAD“, използвайте командата:\n"
+"сочено в момента от (несвързания) указател „HEAD“, използвайте командата:\n"
"\n"
" git push %s HEAD:ИМЕ_НА_ОТДАЛЕЧЕНИЯ_КЛОН\n"
@@ -11592,6 +11668,30 @@ msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Локалният указател, настроен за „git push“%s:"
msgstr[1] " Локалните указатели, настроени за „git push“%s:"
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "„%s/HEAD“ не е променен и сочи към „%s“\n"
+
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "„%s/HEAD“ е променен от „%s“ и сега сочи към „%s“\n"
+
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "„%s/HEAD“ е създаден и сочи към „%s“\n"
+
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "„%s/HEAD“ е отделѐн при „%s“ и сочи към „%s“\n"
+
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"„%s/HEAD“ сочеше към „%s“ (което не е отдалечен клон), но сега сочи към "
+"„%s“\n"
+
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "задаване на refs/remotes/ИМЕ/HEAD според отдалеченото хранилище"
@@ -11614,7 +11714,7 @@ msgid "Not a valid ref: %s"
msgstr "Неправилен указател: %s"
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "„%s“ не може да се настрои"
#, c-format
@@ -12287,8 +12387,8 @@ msgstr ""
" или: git rev-parse --sq-quote [АРГУМЕНТ…]\n"
" или: git rev-parse [ОПЦИЯ…] [АРГУМЕНТ…]\n"
"\n"
-"За повече информация за първия вариант изпълнете „git rev-parse --parseopt -"
-"h“"
+"За повече информация за първия вариант изпълнете „git rev-parse --parseopt "
+"-h“"
msgid "--resolve-git-dir requires an argument"
msgstr "опцията „--resolve-git-dir“ изисква аргумент"
@@ -13119,7 +13219,7 @@ msgstr "добавяне на „# “ в началото на всеки ре
#, c-format
msgid "Expecting a full ref name, got %s"
-msgstr "Очаква се пълно име на указател, а не „%s“"
+msgstr "Изисква се пълно име на указател, а не „%s“"
#, c-format
msgid "could not get a repository handle for submodule '%s'"
@@ -13546,7 +13646,8 @@ msgid "don't print cloning progress"
msgstr "без извеждане на напредъка на клонирането"
msgid "disallow cloning into non-empty directory, implies --init"
-msgstr "предотвратяване на клониране в непразна история, включва „--init“"
+msgstr ""
+"предотвратяване на клониране в непразна история, включва опцията „--init“"
msgid ""
"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
@@ -14403,6 +14504,9 @@ msgstr "задаване на режима на следене (виж git-branc
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "опит за напасване на името на новия клон с това на следящ клон"
+msgid "use relative paths for worktrees"
+msgstr "използване на относителни пътища за работните дървета"
+
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
msgstr "опциите „%s“, „%s“ и „%s“ са несъвместими"
@@ -14684,6 +14788,26 @@ msgstr "файлът „%s“ не може да бъде създаден"
msgid "index-pack died"
msgstr "командата „git index-pack“ не завърши успешно"
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "директорията „%s“ е в индекса, но не е частична"
+
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "повреденият кеш на обектите-дървета съдържа записи извън индекса"
+
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "„%s“ с флагове 0x%x не трябва да е в кеша на обектите-дървета"
+
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "неправилно поддърво „%.*s“"
+
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr ""
+"кешираният обект-дърво за пътя „%.*s“ не съвпада. Изисква се „%s“, а не „%s“"
+
msgid "terminating chunk id appears earlier than expected"
msgstr "идентификаторът за краен откъс се явява по-рано от очакваното"
@@ -15468,7 +15592,7 @@ msgstr "временният файл на гра̀фа с подаваният
#, c-format
msgid "cannot merge graphs with %<PRIuMAX>, %<PRIuMAX> commits"
msgstr ""
-"не може да се слеят графове с %<PRIuMAX> и %<PRIuMAX> подавания (съответно)"
+"не може да се слеят гра̀фи с %<PRIuMAX> и %<PRIuMAX> подавания (съответно)"
#, c-format
msgid "cannot merge graph %s, too many commits: %<PRIuMAX>"
@@ -15490,8 +15614,8 @@ msgid ""
"attempting to write a commit-graph, but 'commitGraph.changedPathsVersion' "
"(%d) is not supported"
msgstr ""
-"опит за запис на гра̀фа с подаванията, но настройката „commitGraph."
-"changedPathsVersion“ (%d) не се поддържа"
+"опит за запис на гра̀фа с подаванията, но настройката "
+"„commitGraph.changedPathsVersion“ (%d) не се поддържа"
msgid "too many commits to write graph"
msgstr "прекалено много подавания за записване на гра̀фа"
@@ -15578,7 +15702,7 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"Поддръжката на „<GIT_DIR>/info/grafts“ е остаряла.\n"
"В бъдеща версия на Git ще бъде премахната.\n"
@@ -15590,7 +15714,7 @@ msgstr ""
"\n"
"За да изключите това съобщение, изпълнете:\n"
"\n"
-" git config advice.graftFileDeprecated false"
+" git config set advice.graftFileDeprecated false"
#, c-format
msgid "commit %s exists in commit-graph but not in the object database"
@@ -16445,6 +16569,24 @@ msgstr "адресът е без схема: %s"
msgid "credential url cannot be parsed: %s"
msgstr "адресът за идентификация не може да се анализира: „%s“"
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr ""
+"неправилна стойност за „timeout“ (максимално изчакване) „%s“, изисква се "
+"неотрицателно цяло число"
+
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr ""
+"неправилна стойност за „init-timeout“ (максимално първоначално изчакване): "
+"„%s“, изисква се неотрицателно цяло число"
+
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr ""
+"неправилна стойност за „max-connections“ (максималния брой връзки): „%s“, "
+"изисква се цяло число"
+
msgid "in the future"
msgstr "в бъдещето"
@@ -17170,6 +17312,22 @@ msgstr "неправилен път към пространства от име
msgid "too many args to run %s"
msgstr "прекалено много аргументи за изпълнение „%s“"
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"Пробвате да доставите „%s“, което е в гра̀фа с подаванията, но не и в базата "
+"от данни за обектите.\n"
+"Най-вероятната причина е повредено хранилище.\n"
+"За да поправите хранилището като изтеглите липсващия обект наново, "
+"изпълнете:\n"
+"\n"
+" git fetch --refetch"
+
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: очаква се плитък списък"
@@ -17770,11 +17928,12 @@ msgstr[1] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
"Куката „%s“ се прескача, защото липсват права̀ за изпълнение.\n"
"За да изключите това предупреждение, изпълнете:\n"
-" git config advice.ignoredHook false"
+"\n"
+" git config set advice.ignoredHook false"
msgid "not a git repository"
msgstr "не е хранилище на Git"
@@ -17791,15 +17950,9 @@ msgstr ""
msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "Управлението на делегирането не се поддържа от cURL < 7.22.0"
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "Задаването на постоянен публичен ключ не се поддържа от cURL < 7.39.0"
-
msgid "Unknown value for http.proactiveauth"
msgstr "Непозната стойност за „http.proactiveauth“"
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "„CURLSSLOPT_NO_REVOKE“ не се поддържа от cURL < 7.44.0"
-
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "Неподдържана реализация на SSL „%s“. Поддържат се:"
@@ -17992,6 +18145,10 @@ msgid "unable to format message: %s"
msgstr "съобщението не може да се форматира: %s"
#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "неправилен размер на маркер: „%s“, изисква се цяло число"
+
+#, c-format
msgid "Failed to merge submodule %s (not checked out)"
msgstr "Неуспешно сливане на подмодула „%s“ (не е изтеглен)"
@@ -19147,7 +19304,7 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"При нормална работа Git никога не създава указатели, които завършват\n"
"с 40 шестнадесетични знака, защото стандартно те ще бъдат прескачани.\n"
@@ -19159,7 +19316,7 @@ msgstr ""
"се създава подобен указател. Прегледайте тези указатели и ги изтрийте.\n"
"За да изключите това съобщение, изпълнете:\n"
"\n"
-" git config advice.objectNameWarning false"
+" config set advice.objectNameWarning false"
#, c-format
msgid "log for '%.*s' only goes back to %s"
@@ -19330,15 +19487,6 @@ msgstr "задължителният обратен индекс липсва в
msgid "could not open pack %s"
msgstr "пакетът „%s“ не може да се отвори"
-msgid "could not determine MIDX preferred pack"
-msgstr ""
-"предпочитаният пакет за файла с индекса за множество пакети не може да се "
-"определи"
-
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "предпочитаният пакет „%s“ е неправилен"
-
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr ""
"повредена таблица със съответствия: местоположението на тройката е извън "
@@ -20497,20 +20645,28 @@ msgstr "журналът с подаванията за указателя „%s
msgid "log for %s is empty"
msgstr "журналът с подаванията за указателя „%s“ е празен"
-msgid "refusing to force and skip creation of reflog"
-msgstr ""
-"принудителна операция без създаване на журнал на указателите няма да се "
-"приеме"
-
#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "указател не може да се обнови с грешно име „%s“"
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "журналът на указателите няма да се обнови с псевдо указателя „%s“"
#, c-format
msgid "refusing to update pseudoref '%s'"
msgstr "псевдо указателят „%s“ няма да се обнови"
#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "журналът на указателите няма да се обнови с грешно име „%s“"
+
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "указател не може да се обнови с грешно име „%s“"
+
+msgid "refusing to force and skip creation of reflog"
+msgstr ""
+"принудителна операция без създаване на журнал на указателите няма да се "
+"приеме"
+
+#, c-format
msgid "update_ref failed for ref '%s': %s"
msgstr "неуспешно обновяване на указателя (update_ref) „%s“: %s"
@@ -20560,6 +20716,10 @@ msgstr ""
"„%s“, но вместо това е обикновен указател"
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "файлът с указател „%s“ не може да се прочете"
+
+#, c-format
msgid "cannot open directory %s"
msgstr "директорията „%s“ не може да бъде отворена"
@@ -20781,6 +20941,10 @@ msgid "more than one uploadpack given, using the first"
msgstr "зададен е повече от един пакет за изпращане, ще се ползва първият"
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "непознатата стойност за „followRemoteHEAD“: „%s“, се прескача"
+
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "непозната стойност за „transfer.credentialsInUrl“: „%s“"
@@ -22788,6 +22952,11 @@ msgstr "подаването „%s“ не е отбелязано като до
msgid "too many commits marked reachable"
msgstr "прекалено много подавания са отбелязани като достижими"
+msgid "could not determine MIDX preferred pack"
+msgstr ""
+"предпочитаният пакет за файла с индекса за множество пакети не може да се "
+"определи"
+
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [ОПЦИЯ…]"
@@ -23444,6 +23613,9 @@ msgstr "„.git“ е повреден"
msgid ".git file incorrect"
msgstr "„.git“ е неправилен"
+msgid ".git file absolute/relative path mismatch"
+msgstr "несъвпадение на абсолютния/относителния път на „.git“"
+
msgid "not a valid path"
msgstr "неправилен път"
@@ -23459,6 +23631,9 @@ msgstr "не може да се открие хранилище: „.git“ е
msgid "gitdir unreadable"
msgstr "директорията „gitdir“ не може да се прочете"
+msgid "gitdir absolute/relative path mismatch"
+msgstr "„gitdir“ указва несъвпадение на абсолютния/относителния път"
+
msgid "gitdir incorrect"
msgstr "неправилна директория „gitdir“"
@@ -23495,6 +23670,14 @@ msgstr "„%s“ не може да се изчисти в „%s“"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "неуспешно задаване на настройката „extensions.worktreeConfig“"
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"форматът на хранилището не може да се обнови за поддръжката на относителни "
+"работни дървета"
+
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "неуспешно задаване на настройката „extensions.relativeWorktrees“"
+
#, c-format
msgid "could not setenv '%s'"
msgstr "променливата на средата „%s“ не може да се зададе чрез „setenv“"
diff --git a/po/de.po b/po/de.po
index 06055e7611..addd5919bd 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: 2024-10-05 16:17+0200\n"
-"PO-Revision-Date: 2024-10-05 16:18+0200\n"
+"POT-Creation-Date: 2024-12-20 17:44+0100\n"
+"PO-Revision-Date: 2024-12-27 16:43+0100\n"
"Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n"
"Language-Team: German\n"
"Language: de\n"
@@ -366,11 +366,11 @@ msgstr ""
#, c-format
msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Modusänderung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
+"Modusänderung im Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
#, c-format
msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Löschung vom Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
+msgstr "Löschung im Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
#, c-format
msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
@@ -379,7 +379,7 @@ msgstr "Ergänzung im Index und Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
#, c-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,"
+"Diesen Patch-Block im Index und Arbeitsverzeichnis verwerfen [y,n,q,a,"
"d%s,?]? "
msgid ""
@@ -650,10 +650,10 @@ msgstr "Nur Binärdateien geändert."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"Deaktivieren Sie diese Nachricht mit \"git config advice.%s false\""
+"Deaktivieren Sie diese Meldung mit \"git config set advice.%s false\""
#, c-format
msgid "%shint:%s%.*s%s\n"
@@ -3962,10 +3962,9 @@ msgstr "neuer ungeborener Branch"
msgid "update ignored files (default)"
msgstr "ignorierte Dateien aktualisieren (Standard)"
-msgid "do not check if another worktree is holding the given ref"
+msgid "do not check if another worktree is using this branch"
msgstr ""
-"Prüfung, ob die Referenz bereits in einem anderen Arbeitsverzeichnis "
-"ausgecheckt wurde, deaktivieren"
+"nicht prüfen, ob ein anderes Arbeitsverzeichnis diesen Branch verwendet"
msgid "checkout our version for unmerged files"
msgstr "unsere Variante für nicht zusammengeführte Dateien auschecken"
@@ -4272,13 +4271,11 @@ msgstr ""
"Zeit\n"
"erstellen"
-msgid "revision"
-msgstr "Commit"
+msgid "ref"
+msgstr "Referenz"
-msgid "deepen history of shallow clone, excluding rev"
-msgstr ""
-"die Historie eines Klons mit unvollständiger Historie (shallow) mittels\n"
-"Ausschluss eines Commits vertiefen"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "Historie eines flachen Klons vertiefen, Referenz exkludiert"
msgid "clone only one branch, HEAD or --branch"
msgstr "nur einen Branch klonen, HEAD oder --branch"
@@ -5232,8 +5229,7 @@ msgid ""
"regexp] [--value=<value>] [--fixed-value] [--default=<default>] <name>"
msgstr ""
"git config get [<Datei-Option>] [<Anzeige-Option>] [--includes] [--all] [--"
-"regexp] [--value=<Wert>] [--fixed-value] [--default=<Standardwert>] "
-"<Name>"
+"regexp] [--value=<Wert>] [--fixed-value] [--default=<Standardwert>] <Name>"
msgid ""
"git config set [<file-option>] [--type=<type>] [--all] [--value=<value>] [--"
@@ -5244,10 +5240,10 @@ msgstr ""
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
"git config unset [<Datei-Option>] [--all] [--value=<Wert>] [--fixed-value] "
-"<Name> <Wert>"
+"<Name>"
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
msgstr "git config rename-section [<Datei-Option>] <alter-Name> <neuer-Name>"
@@ -5695,12 +5691,8 @@ msgid "traversed %lu commits\n"
msgstr "%lu Commits durchlaufen\n"
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"mehr als %i Tags gefunden; führe die ersten %i auf\n"
-"Suche bei %s aufgegeben\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "%i Tags gefunden; Suche bei %s aufgegeben\n"
#, c-format
msgid "describe %s\n"
@@ -6142,6 +6134,20 @@ msgstr "%s ist kein gültiges Objekt"
msgid "the object %s does not exist"
msgstr "das Objekt %s ist nicht vorhanden"
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Führen Sie 'git remote set-head %s %s' aus, um der Änderung zu folgen,\n"
+"oder setzen Sie die Konfiguration 'remote.%s.followRemoteHEAD' auf einen\n"
+"anderen Wert, wenn Sie diese Meldung nicht sehen wollen. Konkret wird diese\n"
+"Warnung mit 'git config set remote.%s.followRemoteHEAD %s' deaktiviert\n"
+"bis die Gegenstelle HEAD in etwas anderes ändert."
+
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "mehrere Branches erkannt, inkompatibel mit --set-upstream"
@@ -6287,6 +6293,9 @@ msgstr "Refmap"
msgid "specify fetch refmap"
msgstr "Refmap für 'fetch' angeben"
+msgid "revision"
+msgstr "Commit"
+
msgid "report that we have only objects reachable from this object"
msgstr ""
"ausgeben, dass wir nur Objekte haben, die von diesem Objekt aus erreichbar "
@@ -7030,8 +7039,26 @@ msgstr "weder Timer von systemd, noch crontab ist verfügbar"
msgid "%s scheduler is not available"
msgstr "%s Scheduler ist nicht verfügbar"
-msgid "another process is scheduling background maintenance"
-msgstr "ein anderer Prozess plant die Hintergrundwartung"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"Konnte '%s.lock' nicht erstellen: %s.\n"
+"\n"
+"Ein weiterer geplanter git-maintenance(1)-Prozess scheint in diesem\n"
+"Repository zu laufen. Bitte stellen Sie sicher, dass keine anderen\n"
+"Wartungsprozesse laufen und versuchen Sie es dann erneut. Wenn es\n"
+"immer noch fehlschlägt, ist möglicherweise ein git-maintenance(1)-Prozess\n"
+"in diesem Repository abgestürzt: Entfernen Sie die Datei manuell, um\n"
+"fortzufahren."
+
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "kann keine Sperre für die geplante Hintergrundwartung erhalten"
msgid "git maintenance start [--scheduler=<scheduler>]"
msgstr "git maintenance start [--scheduler=<Scheduler>]"
@@ -7612,6 +7639,22 @@ msgid_plural "chain length = %d: %lu objects"
msgstr[0] "Länge der Objekt-Liste = %d: %lu Objekt"
msgstr[1] "Länge der Objekt-Liste = %d: %lu Objekte"
+msgid "could not start pack-objects to repack local links"
+msgstr ""
+"konnte pack-objects nicht starten, um lokale Verknüpfungen neu zu packen"
+
+msgid "failed to feed local object to pack-objects"
+msgstr "lokales Objekt konnte nicht an pack-objects übergeben werden"
+
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack: Erwarte vollständige Hex-Objekt-ID-Zeilen nur von pack-objects."
+
+msgid "could not finish pack-objects to repack local links"
+msgstr ""
+"konnte pack-objects nicht vollständig ausführen, um lokale Verknüpfungen neu "
+"zu packen"
+
msgid "Cannot come back to cwd"
msgstr "Kann nicht zurück zum Arbeitsverzeichnis wechseln"
@@ -7623,6 +7666,9 @@ msgstr "%s ist ungültig"
msgid "unknown hash algorithm '%s'"
msgstr "unbekannter Hash-Algorithmus '%s'"
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor kann nicht mit einem Paketnamen verwendet werden"
+
msgid "--stdin requires a git repository"
msgstr "--stdin erfordert ein Git-Repository"
@@ -9003,11 +9049,11 @@ msgstr "git notes [--ref <Notiz-Referenz>] [list [<Objekt>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <Notiz-Referenz>] add [-f] [--allow-empty] [--"
"[no-]separator|--separator=<Absatz-Unterbrechung>] [--[no-]stripspace] [-m "
-"<Nachricht> | -F <Datei> | (-c | -C) <Objekt>] [<Objekt>]"
+"<Nachricht> | -F <Datei> | (-c | -C) <Objekt>] [<Objekt>] [-e]"
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
msgstr ""
@@ -9016,11 +9062,11 @@ msgstr ""
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <Notiz-Referenz>] append [--allow-empty] [--"
"[no-]separator|--separator=<Absatz-Unterbrechnung>] [--[no-]stripspace] [-m "
-"<Nachricht> | -F <Datei> | (-c | -C) <Objekt>] [<Object>]"
+"<Nachricht> | -F <Datei> | (-c | -C) <Objekt>] [<Objekt>] [-e]"
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
msgstr "git notes [--ref <Notiz-Referenz>] edit [--allow-empty] [<Objekt>]"
@@ -9142,6 +9188,9 @@ msgstr "Notizinhalte in einer Datei"
msgid "reuse and edit specified note object"
msgstr "Wiederverwendung und Bearbeitung des angegebenen Notiz-Objektes"
+msgid "edit note message in editor"
+msgstr "Notizmeldung im Editor bearbeiten"
+
msgid "reuse specified note object"
msgstr "Wiederverwendung des angegebenen Notiz-Objektes"
@@ -9655,6 +9704,9 @@ msgstr ""
"keine Objekte aus Packdateien von partiell geklonten Remote-Repositories "
"packen"
+msgid "implies --missing=allow-any"
+msgstr "impliziert --missing=allow-any"
+
msgid "respect islands during delta compression"
msgstr "Delta-Islands bei Delta-Kompression beachten"
@@ -11317,6 +11369,30 @@ msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Lokale Referenz konfiguriert für 'git push'%s:"
msgstr[1] " Lokale Referenzen konfiguriert für 'git push'%s:"
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "'%s/HEAD' ist unverändert und zeigt auf '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' hat sich von '%s' geändert und zeigt jetzt auf '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "'%s/HEAD' ist nun erstellt und zeigt auf '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' war losgelöst bei '%s' und zeigt nun auf '%s'\n"
+
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"'%s/HEAD' zeigte vorher auf '%s' (was kein Remote-Branch ist), zeigt jetzt "
+"aber auf '%s'\n"
+
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "setzt refs/remotes/<Name>/HEAD gemäß dem Remote-Repository"
@@ -11340,7 +11416,7 @@ msgid "Not a valid ref: %s"
msgstr "keine gültige Referenz: %s"
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "Konnte %s nicht einrichten"
#, c-format
@@ -14142,6 +14218,9 @@ msgstr ""
"versuchen, eine Übereinstimmung des Branchnamens mit einem\n"
"Remote-Tracking-Branch herzustellen"
+msgid "use relative paths for worktrees"
+msgstr "relative Pfade für Arbeitsverzeichnisse verwenden"
+
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
msgstr ""
@@ -14426,6 +14505,28 @@ msgstr "kann '%s' nicht erstellen"
msgid "index-pack died"
msgstr "Erstellung der Paketindexdatei abgebrochen"
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "Verzeichnis '%s' ist im Index vorhanden, aber nicht partiell"
+
+msgid "corrupted cache-tree has entries not present in index"
+msgstr ""
+"das beschädigte Cache-Verzeichnis enthält Einträge, die nicht im Index "
+"enthalten sind"
+
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "%s mit Flags 0x%x sollte nicht im Cache-Verzeichnis sein"
+
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "ungültiges Unterverzeichnis '%.*s'"
+
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr ""
+"Cache-Verzeichnis für Pfad %.*s stimmt nicht überein. Erwartete %s bekam %s"
+
msgid "terminating chunk id appears earlier than expected"
msgstr "abschließende Chunk-ID erscheint eher als erwartet"
@@ -15322,17 +15423,18 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"Die Unterstützung für <GIT_DIR>/info/grafts ist veraltet\n"
-"und wird in zukünftigen Git Versionen entfernt.\n"
+"und wird in einer zukünftigen Git-Version entfernt.\n"
"\n"
-"Bitte benutzen Sie \"git replace --convert-graft-file\"\n"
-"zum Konvertieren der künstlichen Vorgänger (\"grafts\")\n"
-"in ersetzende Referenzen.<\n"
+"Bitte verwenden Sie \"git replace --convert-graft-file\"\n"
+"um die künstlichen Vorgänger (\"graft\") in ersetzende Referenzen\n"
+"zu konvertieren.\n"
"\n"
-"Sie können diese Meldung unterdrücken, indem Sie\n"
-"\"git config advice.graftFileDeprecated false\" ausführen."
+"Deaktivieren Sie diese Meldung, indem Sie\n"
+"\"git config set advice.graftFileDeprecated false\"\n"
+"ausführen."
#, c-format
msgid "commit %s exists in commit-graph but not in the object database"
@@ -16166,6 +16268,18 @@ msgstr "URL hat kein Schema: %s"
msgid "credential url cannot be parsed: %s"
msgstr "URL mit Zugangsdaten konnte nicht geparst werden: %s"
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "ungültiger timeout '%s', nicht-negative ganze Zahl erwartet"
+
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr "ungültiger init-timeout '%s', nicht-negative ganze Zahl erwartet"
+
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "ungültiges max-connections '%s', ganze Zahl erwartet"
+
msgid "in the future"
msgstr "in der Zukunft"
@@ -16896,6 +17010,22 @@ msgstr "ungültiger Git-Namespace-Pfad \"%s\""
msgid "too many args to run %s"
msgstr "zu viele Argumente angegeben, um %s auszuführen"
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"Sie versuchen %s zu holen, welches sich in der Commit-Graph-Datei, aber "
+"nicht in der Objektdatenbank befindet.\n"
+"Dies ist wahrscheinlich auf eine Beschädigung des Repositories "
+"zurückzuführen.\n"
+"Wenn Sie versuchen, die Beschädigung des Repositories zu beheben, indem Sie "
+"das fehlende Objekt erneut holen,\n"
+"verwenden Sie 'git fetch --refetch' mit dem fehlenden Objekt."
+
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: erwartete shallow-Liste"
@@ -17329,8 +17459,8 @@ msgid ""
"given pattern contains NULL byte (via -f <file>). This is only supported "
"with -P under PCRE v2"
msgstr ""
-"Angegebenes Muster enthält NULL Byte (über -f <Datei>). Das wird nur mit -"
-"Punter PCRE v2 unterstützt."
+"Angegebenes Muster enthält NULL Byte (über -f <Datei>). Das wird nur mit -P "
+"unter PCRE v2 unterstützt."
#, c-format
msgid "'%s': unable to read %s"
@@ -17483,10 +17613,11 @@ msgstr[1] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
-"Der '%s' Hook wurde ignoriert, weil er nicht als ausführbar markiert ist.\n"
-"Sie können diese Warnung mit `git config advice.ignoredHook false` "
+"Der '%s'-Hook wurde ignoriert, weil er nicht als ausführbar eingestellt "
+"ist.\n"
+"Sie können diese Warnung mit `git config set advice.ignoredHook false` "
"deaktivieren."
msgid "not a git repository"
@@ -17503,17 +17634,9 @@ msgstr "negativer Wert für http.postBuffer; benutze Standardwert %d"
msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "Kontrolle über Delegation wird mit cURL < 7.22.0 nicht unterstützt"
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr ""
-"Das Anheften des öffentlichen Schlüssels wird mit cURL < 7.39.0 nicht "
-"unterstützt"
-
msgid "Unknown value for http.proactiveauth"
msgstr "Unbekannter Wert für http.proactiveauth"
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "CURLSSLOPT_NO_REVOKE wird mit cURL < 7.44.0 nicht unterstützt."
-
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "Nicht unterstütztes SSL-Backend '%s'. Unterstützte SSL-Backends:"
@@ -17701,6 +17824,10 @@ msgid "unable to format message: %s"
msgstr "Meldung kann nicht formatiert werden: %s"
#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "ungültige marker-size '%s', ganze Zahl erwartet"
+
+#, c-format
msgid "Failed to merge submodule %s (not checked out)"
msgstr "Fehler beim Merge von Submodul %s (nicht ausgecheckt)."
@@ -18837,19 +18964,18 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
-"Git erzeugt normalerweise keine Referenzen die mit\n"
-"40 Hex-Zeichen enden, da diese ignoriert werden wenn\n"
-"Sie diese angeben. Diese Referenzen könnten aus Versehen\n"
-"erzeugt worden sein. Zum Beispiel,\n"
+"Git erstellt normalerweise nie eine Referenz, die mit 40-Hex-Zeichen endet,\n"
+"weil sie ignoriert wird, wenn Sie nur 40-Hex-Zeichen angeben. Diese\n"
+"Referenzen können aus Versehen erstellt werden. Zum Beispiel,\n"
"\n"
" git switch -c $br $(git rev-parse ...)\n"
"\n"
-"wobei \"$br\" leer ist und eine 40-Hex-Referenz erzeugt\n"
-"wurde. Bitte prüfen Sie diese Referenzen und löschen\n"
-"Sie sie gegebenenfalls. Unterdrücken Sie diese Meldung\n"
-"indem Sie \"git config advice.objectNameWarning false\"\n"
+"wobei \"$br\" irgendwie leer ist und eine 40-Hex-Referenz erstellt wird.\n"
+"Bitte überprüfen Sie die Referenzen und löschen Sie diese gegebenenfalls.\n"
+"Schalten Sie diese Meldung aus, indem Sie\n"
+"\"git config set advice.objectNameWarning false\"\n"
"ausführen."
#, c-format
@@ -19010,13 +19136,6 @@ msgstr "Multi-Pack-Bitmap fehlt erforderlicher Reverse-Index"
msgid "could not open pack %s"
msgstr "konnte Paket '%s' nicht öffnen"
-msgid "could not determine MIDX preferred pack"
-msgstr "konnte das von MIDX bevorzugte Paket nicht ermitteln"
-
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "bevorzugtes Paket (%s) ist ungültig"
-
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "Bitmap-Lookup-Tabelle beschädigt: Triplet-Position außerhalb des Index"
@@ -20151,18 +20270,26 @@ msgstr "Log für Referenz %s unerwartet bei %s beendet."
msgid "log for %s is empty"
msgstr "Log für %s ist leer."
-msgid "refusing to force and skip creation of reflog"
-msgstr "Erzwingen der Aktion verweigert; überspringe Erstellung des Reflogs"
-
#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "verweigere Aktualisierung einer Referenz mit fehlerhaftem Namen '%s'"
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "Aktualisierung des Reflogs für Pseudoreferenz '%s' verweigert"
#, c-format
msgid "refusing to update pseudoref '%s'"
msgstr "Aktualisierung von Pseudoreferenz '%s' verweigert"
#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "Aktualisierung des Reflogs mit fehlerhaftem Namen '%s' verweigert"
+
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "verweigere Aktualisierung einer Referenz mit fehlerhaftem Namen '%s'"
+
+msgid "refusing to force and skip creation of reflog"
+msgstr "Erzwingen der Aktion verweigert; überspringe Erstellung des Reflogs"
+
+#, c-format
msgid "update_ref failed for ref '%s': %s"
msgstr "update_ref für Referenz '%s' fehlgeschlagen: %s"
@@ -20216,6 +20343,10 @@ msgstr ""
"'%s': ist aber eine reguläre Referenz"
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "kann Ref-Datei '%s' nicht lesen"
+
+#, c-format
msgid "cannot open directory %s"
msgstr "Verzeichnis %s kann nicht geöffnet werden"
@@ -20431,6 +20562,10 @@ msgid "more than one uploadpack given, using the first"
msgstr "Mehr als ein uploadpack-Befehl angegeben, benutze den ersten."
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "nicht erkannter followRemoteHEAD-Wert '%s' ignoriert"
+
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "unbekannter Wert transfer.credentialsInUrl: '%s'"
@@ -22391,6 +22526,9 @@ msgstr "Commit %s ist nicht als erreichbar gekennzeichnet."
msgid "too many commits marked reachable"
msgstr "Zu viele Commits als erreichbar gekennzeichnet."
+msgid "could not determine MIDX preferred pack"
+msgstr "konnte das von MIDX bevorzugte Paket nicht ermitteln"
+
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<Optionen>]"
@@ -23061,6 +23199,9 @@ msgstr ".git-Datei kaputt"
msgid ".git file incorrect"
msgstr ".git-Datei fehlerhaft"
+msgid ".git file absolute/relative path mismatch"
+msgstr "absoluter/relativer Pfad der .git-Datei stimmt nicht überein"
+
msgid "not a valid path"
msgstr "kein gültiger Pfad"
@@ -23077,6 +23218,9 @@ msgstr "Konnte Repository nicht finden; .git-Datei ist kaputt"
msgid "gitdir unreadable"
msgstr "gitdir nicht lesbar"
+msgid "gitdir absolute/relative path mismatch"
+msgstr "absolute/relative Pfadabweichung in gitdir"
+
msgid "gitdir incorrect"
msgstr "gitdir fehlerhaft"
@@ -23111,6 +23255,14 @@ msgstr "konnte %s nicht in '%s' aufheben"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "Einstellung für extensions.worktreeConfig konnte nicht gesetzt werden"
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"Repository-Format konnte nicht aktualisiert werden, um relative "
+"Arbeitsverzeichnisse zu unterstützen"
+
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "Einstellung extensions.relativeWorktrees kann nicht gesetzt werden"
+
#, c-format
msgid "could not setenv '%s'"
msgstr "konnte '%s' nicht setzen"
@@ -24038,3 +24190,7 @@ msgstr "Lasse %s mit Backup-Suffix '%s' aus.\n"
#, perl-format
msgid "Do you really want to send %s? [y|N]: "
msgstr "Wollen Sie %s wirklich versenden? [y|N]: "
+
+#, c-format
+#~ msgid "preferred pack (%s) is invalid"
+#~ msgstr "bevorzugtes Paket (%s) ist ungültig"
diff --git a/po/fr.po b/po/fr.po
index 481e1bdc1d..64a75aecf5 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -29,6 +29,7 @@
# to debug | déboguer
# debugging | débogage
# to deflate | compresser
+# directory | répertoire
# email | courriel
# enlistment | enrôlement
# entry | élément
@@ -45,18 +46,23 @@
# hunk | section
# to inflate | décompresser
# to list | afficher
+# loose object | objet esseulé
# mapping | mise en correspondance
# merge | fusion
# pack | paquet
-# patches | patchs
+# patch (v) | appliquer une/des rustine(s)
+# patches | rustines
# pattern | motif
# to prune | élaguer
# to push | pousser
# to rebase | rebaser
# scheduler | planificateur
# trailers | lignes terminales
-# repository | dépôt
+# regex | regex
+# regular |
+# expression | expression régulière
# remote | distante (ou serveur distant)
+# repository | dépôt
# revision | révision
# shallow | superficiel
# shell | interpréteur de commandes
@@ -64,6 +70,7 @@
# split (index) | index scindé
# stash | remisage
# to stash | remiser
+# superproject | super-projet
# tag | étiquette
# template | modèle
# thread | fil
@@ -80,8 +87,8 @@ msgid ""
msgstr ""
"Project-Id-Version: git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2024-10-02 16:57+0000\n"
-"PO-Revision-Date: 2024-10-04 23:03+0200\n"
+"POT-Creation-Date: 2024-12-23 18:57+0000\n"
+"PO-Revision-Date: 2024-12-29 18:26+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"
@@ -169,7 +176,7 @@ msgid "No changes.\n"
msgstr "Aucune modification.\n"
msgid "Patch update"
-msgstr "Mise à jour par patch"
+msgstr "Mise à jour par rustine"
msgid "Review diff"
msgstr "Réviser la différence"
@@ -267,7 +274,7 @@ msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"staging."
msgstr ""
-"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"Si la rustine s'applique proprement, la section éditée sera immédiatement "
"marquée comme indexée."
msgid ""
@@ -303,7 +310,7 @@ msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"stashing."
msgstr ""
-"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"Si la rustine s'applique proprement, la section éditée sera immédiatement "
"marquée comme remisée."
msgid ""
@@ -339,7 +346,7 @@ msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"unstaging."
msgstr ""
-"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"Si la rustine s'applique proprement, la section éditée sera immédiatement "
"marquée comme desindexée."
msgid ""
@@ -375,7 +382,7 @@ msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"applying."
msgstr ""
-"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"Si la rustine s'applique proprement, la section éditée sera immédiatement "
"marquée comme appliquée."
msgid ""
@@ -411,7 +418,7 @@ msgid ""
"If the patch applies cleanly, the edited hunk will immediately be marked for "
"discarding."
msgstr ""
-"Si le patch s'applique proprement, la section éditée sera immédiatement "
+"Si la rustine s'applique proprement, la section éditée sera immédiatement "
"marquée comme éliminée."
msgid ""
@@ -461,14 +468,14 @@ msgstr ""
#, c-format
msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Appliquer le changement de mode dans l'index et l'arbre de travail [y,n,q,a,"
-"d%s,?] ? "
+"Appliquer le changement de mode dans l'index et l'arbre de travail "
+"[y,n,q,a,d%s,?] ? "
#, c-format
msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
msgstr ""
-"Appliquer la suppression dans l'index et l'arbre de travail [y,n,q,a,"
-"d%s,?] ? "
+"Appliquer la suppression dans l'index et l'arbre de travail "
+"[y,n,q,a,d%s,?] ? "
#, c-format
msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
@@ -710,10 +717,10 @@ msgstr "Seuls des fichiers binaires ont changé."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"Désactivez ce message avec \"git config advice.%s false\""
+"Désactivez ce message avec \"git config set advice.%s false\""
#, c-format
msgid "%shint:%s%.*s%s\n"
@@ -837,8 +844,8 @@ msgstr ""
"\n"
" git switch -\n"
"\n"
-"Désactivez ce conseil en renseignant la variable de configuration advice."
-"detachedHead à false\n"
+"Désactivez ce conseil en renseignant la variable de configuration "
+"advice.detachedHead à false\n"
"\n"
#, c-format
@@ -893,7 +900,7 @@ msgstr "la rustine est trop grosse"
#, c-format
msgid "Cannot prepare timestamp regexp %s"
-msgstr "Impossible de préparer la regexp d'horodatage %s"
+msgstr "Impossible de préparer la regex d'horodatage %s"
#, c-format
msgid "regexec returned %d for input: %s"
@@ -901,7 +908,7 @@ msgstr "regexec a retourné %d pour l'entrée : %s"
#, c-format
msgid "unable to find filename in patch at line %d"
-msgstr "nom de fichier du patch introuvable à la ligne %d"
+msgstr "nom de fichier de la rustine introuvable à la ligne %d"
#, c-format
msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
@@ -912,14 +919,14 @@ msgstr ""
#, c-format
msgid "git apply: bad git-diff - inconsistent new filename on line %d"
msgstr ""
-"git apply : mauvais format de git-diff - nouveau nom de fichier inconsistant "
-"à la ligne %d"
+"git apply : mauvais format de git-diff - nouveau nom de fichier incohérent à "
+"la ligne %d"
#, c-format
msgid "git apply: bad git-diff - inconsistent old filename on line %d"
msgstr ""
-"git apply : mauvais format de git-diff - ancien nom de fichier inconsistant "
-"à la ligne %d"
+"git apply : mauvais format de git-diff - ancien nom de fichier incohérent à "
+"la ligne %d"
#, c-format
msgid "git apply: bad git-diff - expected /dev/null on line %d"
@@ -959,7 +966,7 @@ msgstr "recomptage : ligne inattendue : %.*s"
#, c-format
msgid "patch fragment without header at line %d: %.*s"
-msgstr "fragment de patch sans en-tête à la ligne %d : %.*s"
+msgstr "fragment de rustine sans en-tête à la ligne %d : %.*s"
msgid "new file depends on old contents"
msgstr "le nouveau fichier dépend de contenus anciens"
@@ -969,7 +976,7 @@ msgstr "le fichier supprimé a encore du contenu"
#, c-format
msgid "corrupt patch at line %d"
-msgstr "patch corrompu à la ligne %d"
+msgstr "rustine corrompue à la ligne %d"
#, c-format
msgid "new file %s depends on old contents"
@@ -985,15 +992,15 @@ msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé"
#, c-format
msgid "corrupt binary patch at line %d: %.*s"
-msgstr "patch binaire corrompu à la ligne %d : %.*s"
+msgstr "rustine binaire corrompue à la ligne %d : %.*s"
#, c-format
msgid "unrecognized binary patch at line %d"
-msgstr "patch binaire non reconnu à la ligne %d"
+msgstr "rustine binaire non reconnue à la ligne %d"
#, c-format
msgid "patch with only garbage at line %d"
-msgstr "patch totalement incompréhensible à la ligne %d"
+msgstr "rustine totalement incompréhensible à la ligne %d"
#, c-format
msgid "unable to read symlink %s"
@@ -1027,28 +1034,30 @@ msgstr ""
#, c-format
msgid "missing binary patch data for '%s'"
-msgstr "données de patch binaire manquantes pour '%s'"
+msgstr "données de rustine binaire manquantes pour '%s'"
#, c-format
msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
msgstr ""
-"impossible d'appliquer l'inverse d'un patch binaire à '%s' sans la section "
-"inverse"
+"impossible d'appliquer l'inverse d'une rustine binaire à '%s' sans la "
+"section inverse"
#, c-format
msgid "cannot apply binary patch to '%s' without full index line"
msgstr ""
-"impossible d'appliquer un patch binaire à '%s' sans la ligne complète d'index"
+"impossible d'appliquer une rustine binaire à '%s' sans la ligne complète "
+"d'index"
#, c-format
msgid ""
"the patch applies to '%s' (%s), which does not match the current contents."
msgstr ""
-"le patch s'applique à '%s' (%s), ce qui ne correspond pas au contenu actuel."
+"la rustine s'applique à '%s' (%s), ce qui ne correspond pas au contenu "
+"actuel."
#, c-format
msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr "le patch s'applique à un '%s' vide mais ce n'est pas vide"
+msgstr "la rustine s'applique à un '%s' vide mais ce n'est pas vide"
#, c-format
msgid "the necessary postimage %s for '%s' cannot be read"
@@ -1056,17 +1065,17 @@ msgstr "l'image postérieure nécessaire %s pour '%s' ne peut pas être lue"
#, c-format
msgid "binary patch does not apply to '%s'"
-msgstr "le patch binaire ne s'applique par correctement à '%s'"
+msgstr "la rustine binaire ne s'applique par correctement à '%s'"
#, c-format
msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
msgstr ""
-"le patch binaire sur '%s' crée un résultat incorrect (%s attendu, mais %s "
+"la rustine binaire sur '%s' crée un résultat incorrect (%s attendu, mais %s "
"trouvé)"
#, c-format
msgid "patch failed: %s:%ld"
-msgstr "le patch a échoué : %s:%ld"
+msgstr "l'application de la rustine a échoué : %s:%ld"
#, c-format
msgid "cannot checkout %s"
@@ -1110,18 +1119,18 @@ msgstr "Échec de l'application de la fusion à 3 points…\n"
#, c-format
msgid "Applied patch to '%s' with conflicts.\n"
-msgstr "Patch %s appliqué avec des conflits.\n"
+msgstr "Rustine %s appliquée avec des conflits.\n"
#, c-format
msgid "Applied patch to '%s' cleanly.\n"
-msgstr "Patch %s appliqué proprement.\n"
+msgstr "Rustine %s appliquée proprement.\n"
#, c-format
msgid "Falling back to direct application...\n"
msgstr "Retour à une application directe…\n"
msgid "removal patch leaves file contents"
-msgstr "le patch de suppression laisse un contenu dans le fichier"
+msgstr "la rustine de suppression laisse un contenu dans le fichier"
#, c-format
msgid "%s: wrong type"
@@ -1158,11 +1167,11 @@ msgstr "le fichier affecté '%s' est au-delà d'un lien symbolique"
#, c-format
msgid "%s: patch does not apply"
-msgstr "%s : le patch ne s'applique pas"
+msgstr "%s : la rustine ne s'applique pas"
#, c-format
msgid "Checking patch %s..."
-msgstr "Vérification du patch %s..."
+msgstr "Vérification de la rustine %s..."
#, c-format
msgid "sha1 information is lacking or useless for submodule %s"
@@ -1191,7 +1200,7 @@ msgstr "suppression de %s dans l'index impossible"
#, c-format
msgid "corrupt patch for submodule %s"
-msgstr "patch corrompu pour le sous-module %s"
+msgstr "rustine corrompue pour le sous-module %s"
#, c-format
msgid "unable to stat newly created file '%s'"
@@ -1221,7 +1230,7 @@ msgstr "écriture du fichier '%s' mode %o impossible"
#, c-format
msgid "Applied patch %s cleanly."
-msgstr "Patch %s appliqué proprement."
+msgstr "Rustine %s appliquée proprement."
msgid "internal error"
msgstr "erreur interne"
@@ -1229,8 +1238,8 @@ msgstr "erreur interne"
#, c-format
msgid "Applying patch %%s with %d reject..."
msgid_plural "Applying patch %%s with %d rejects..."
-msgstr[0] "Application du patch %%s avec %d rejet..."
-msgstr[1] "Application du patch %%s avec %d rejets..."
+msgstr[0] "Application de la rustine %%s avec %d rejet..."
+msgstr[1] "Application de la rustine %%s avec %d rejets..."
#, c-format
msgid "cannot open %s"
@@ -1260,7 +1269,7 @@ msgstr "lecture du fichier d'index impossible"
#, c-format
msgid "can't open patch '%s': %s"
-msgstr "ouverture impossible du patch '%s' :%s"
+msgstr "ouverture impossible de la rustine '%s' :%s"
#, c-format
msgid "squelched %d whitespace error"
@@ -1296,35 +1305,35 @@ msgid "remove <num> leading slashes from traditional diff paths"
msgstr "supprimer <num> barres obliques des chemins traditionnels de diff"
msgid "ignore additions made by the patch"
-msgstr "ignorer les additions réalisées par le patch"
+msgstr "ignorer les additions réalisées par la rustine"
msgid "instead of applying the patch, output diffstat for the input"
-msgstr "au lieu d'appliquer le patch, afficher le diffstat de l'entrée"
+msgstr "au lieu d'appliquer la rustine, afficher le diffstat de l'entrée"
msgid "show number of added and deleted lines in decimal notation"
msgstr ""
"afficher le nombre de lignes ajoutées et supprimées en notation décimale"
msgid "instead of applying the patch, output a summary for the input"
-msgstr "au lieu d'appliquer le patch, afficher un résumé de l'entrée"
+msgstr "au lieu d'appliquer la rustine, afficher un résumé de l'entrée"
msgid "instead of applying the patch, see if the patch is applicable"
-msgstr "au lieu d'appliquer le patch, voir si le patch est applicable"
+msgstr "au lieu d'appliquer la rustine, voir si la rustine est applicable"
msgid "make sure the patch is applicable to the current index"
-msgstr "s'assurer que le patch est applicable sur l'index actuel"
+msgstr "s'assurer que la rustine est applicable sur l'index actuel"
msgid "mark new files with `git add --intent-to-add`"
msgstr "marquer les nouveaux fichiers `git add --intent-to-add`"
msgid "apply a patch without touching the working tree"
-msgstr "appliquer les patch sans toucher à la copie de travail"
+msgstr "appliquer les rustines sans toucher à la copie de travail"
msgid "accept a patch that touches outside the working area"
-msgstr "accepter un patch qui touche hors de la copie de travail"
+msgstr "accepter une rustine qui touche hors de la copie de travail"
msgid "also apply the patch (use with --stat/--summary/--check)"
-msgstr "appliquer aussi le patch (à utiliser avec --stat/--summary/--check)"
+msgstr "appliquer aussi la rustine (à utiliser avec --stat/--summary/--check)"
msgid "attempt three-way merge, fall back on normal patch if that fails"
msgstr ""
@@ -1361,7 +1370,7 @@ msgid "ignore changes in whitespace when finding context"
msgstr "ignorer des modifications d'espace lors de la recherche de contexte"
msgid "apply the patch in reverse"
-msgstr "appliquer le patch en sens inverse"
+msgstr "appliquer la rustine en sens inverse"
msgid "don't expect at least one line of context"
msgstr "ne pas s'attendre à au moins une ligne de contexte"
@@ -1465,8 +1474,9 @@ msgstr "nom d'objet invalide : %s"
msgid "not a tree object: %s"
msgstr "objet arbre invalide : %s"
-msgid "unable to checkout working tree"
-msgstr "impossible d'extraire la copie de travail"
+#, c-format
+msgid "failed to unpack tree object %s"
+msgstr "échec du dépaquetage de l'objet arbre %s"
#, c-format
msgid "File not found: %s"
@@ -1923,7 +1933,7 @@ msgid "could not read the index"
msgstr "impossible de lire l'index"
msgid "editing patch failed"
-msgstr "échec de l'édition du patch"
+msgstr "échec de l'édition de la rustine"
#, c-format
msgid "could not stat '%s'"
@@ -2031,7 +2041,7 @@ msgid "adding embedded git repository: %s"
msgstr "dépôt git embarqué ajouté : %s"
msgid "Use -f if you really want to add them."
-msgstr "Utilisez -f si vous voulez vraiment les ajouter<."
+msgstr "Utilisez -f si vous voulez vraiment les ajouter."
msgid "adding files failed"
msgstr "échec de l'ajout de fichiers"
@@ -2103,10 +2113,10 @@ msgstr "impossible d'ouvrir '%s' en écriture"
#, c-format
msgid "could not parse patch '%s'"
-msgstr "impossible d'analyser le patch '%s'"
+msgstr "impossible d'analyser la rustine '%s'"
msgid "Only one StGIT patch series can be applied at once"
-msgstr "Seulement une série de patchs StGIT peut être appliquée à la fois"
+msgstr "Seulement une série de rustines StGIT peut être appliquée à la fois"
msgid "invalid timestamp"
msgstr "horodatage invalide"
@@ -2118,14 +2128,14 @@ msgid "invalid timezone offset"
msgstr "décalage horaire invalide"
msgid "Patch format detection failed."
-msgstr "Échec de détection du format du patch."
+msgstr "Échec de détection du format de la rustine."
#, c-format
msgid "failed to create directory '%s'"
msgstr "échec de la création du répertoire '%s'"
msgid "Failed to split patches."
-msgstr "Échec de découpage des patchs."
+msgstr "Échec de découpage des rustines."
#, c-format
msgid "When you have resolved this problem, run \"%s --continue\".\n"
@@ -2145,8 +2155,8 @@ msgstr ""
#, c-format
msgid "To restore the original branch and stop patching, run \"%s --abort\"."
msgstr ""
-"Pour restaurer la branche originale et arrêter de patcher, lancez \"%s --"
-"abort\"."
+"Pour restaurer la branche originale et arrêter d'appliquer des rustines, "
+"lancez \"%s --abort\"."
msgid "Patch sent with format=flowed; space at the end of lines might be lost."
msgstr ""
@@ -2178,11 +2188,11 @@ msgid ""
"Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."
msgstr ""
-"Avez-vous édité le patch à la main ?\n"
+"Avez-vous édité la rustine à la main ?\n"
"Il ne s'applique pas aux blobs enregistrés dans son index."
msgid "Falling back to patching base and 3-way merge..."
-msgstr "Retour à un patch de la base et fusion à 3 points..."
+msgstr "Retour à une rustine de la base et fusion à 3 points..."
msgid "Failed to merge in the changes."
msgstr "Échec d'intégration des modifications."
@@ -2216,7 +2226,7 @@ msgstr "impossible d'écrire le fichier d'index"
#, c-format
msgid "Dirty index: cannot apply patches (dirty: %s)"
-msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)"
+msgstr "Index sale : impossible d'appliquer des rustines (sales : %s)"
#, c-format
msgid "Skipping: %.*s"
@@ -2227,7 +2237,7 @@ msgid "Creating an empty commit: %.*s"
msgstr "Création d'un commit vide : %.*s"
msgid "Patch is empty."
-msgstr "Le patch actuel est vide."
+msgstr "La rustine actuelle est vide."
#, c-format
msgid "Applying: %.*s"
@@ -2242,7 +2252,8 @@ msgstr "l'application de la rustine a échoué à %s %.*s"
msgid "Use 'git am --show-current-patch=diff' to see the failed patch"
msgstr ""
-"Utilisez 'git am --show-current-patch=diff' pour visualiser le patch en échec"
+"Utilisez 'git am --show-current-patch=diff' pour visualiser la rustine en "
+"échec"
msgid "No changes - recorded it as an empty commit."
msgstr "aucune modification - enregistré comme un commit vide."
@@ -2254,8 +2265,8 @@ msgid ""
msgstr ""
"Aucun changement - avez-vous oublié d'utiliser 'git add' ?\n"
"S'il n'y a plus rien à indexer, il se peut qu'autre chose ait déjà\n"
-"introduit les mêmes changements ; vous pourriez avoir envie de sauter ce "
-"patch."
+"introduit les mêmes changements ; vous pourriez avoir envie de sauter cette "
+"rustine."
msgid ""
"You still have unmerged paths in your index.\n"
@@ -2342,28 +2353,30 @@ msgid "format"
msgstr "format"
msgid "format the patch(es) are in"
-msgstr "format de présentation des patchs"
+msgstr "format de présentation des rustines"
msgid "override error message when patch failure occurs"
-msgstr "surcharger le message d'erreur lors d'un échec d'application de patch"
+msgstr ""
+"surcharger le message d'erreur lors d'un échec d'application d'une rustine"
msgid "continue applying patches after resolving a conflict"
-msgstr "continuer à appliquer les patchs après résolution d'un conflit"
+msgstr "continuer à appliquer les rustines après résolution d'un conflit"
msgid "synonyms for --continue"
msgstr "synonymes de --continue"
msgid "skip the current patch"
-msgstr "sauter le patch courant"
+msgstr "sauter la rustine courante"
msgid "restore the original branch and abort the patching operation"
-msgstr "restaurer la branche originale et abandonner les applications de patch"
+msgstr ""
+"restaurer la branche originale et abandonner les applications de rustines"
msgid "abort the patching operation but keep HEAD where it is"
-msgstr "abandonne l'opération de patch mais garde HEAD où il est"
+msgstr "abandonne l'opération de rustine mais garde HEAD où il est"
msgid "show the patch being applied"
-msgstr "afficher le patch en cours d'application"
+msgstr "afficher la rustine en cours d'application"
msgid "try to apply current patch again"
msgstr "essayer d'appliquer de nouveau la rustine"
@@ -3126,11 +3139,11 @@ msgid "HEAD not found below refs/heads!"
msgstr "HEAD non trouvée sous refs/heads !"
msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
+"branch with --recurse-submodules can only be used if "
+"submodule.propagateBranches is enabled"
msgstr ""
-"brancher avec --recurse-submodules ne peut être utilisé que si submodule."
-"propagateBranches est activé"
+"brancher avec --recurse-submodules ne peut être utilisé que si "
+"submodule.propagateBranches est activé"
msgid "--recurse-submodules can only be used to create branches"
msgstr "--recurse-submodules ne peut être utilisé que pour créer des branches"
@@ -3992,9 +4005,8 @@ msgstr "nouvelle branche non née"
msgid "update ignored files (default)"
msgstr "mettre à jour les fichiers ignorés (par défaut)"
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-"ne pas vérifier si une autre copie de travail contient le référence fournie"
+msgid "do not check if another worktree is using this branch"
+msgstr "ne pas vérifier si une autre copie-de-travail utilise cette branche"
msgid "checkout our version for unmerged files"
msgstr "extraire notre version pour les fichiers non fusionnés"
@@ -4297,12 +4309,11 @@ msgstr "créer un clone superficiel de cette profondeur"
msgid "create a shallow clone since a specific time"
msgstr "créer un clone superficiel depuis une date spécifique"
-msgid "revision"
-msgstr "révision"
+msgid "ref"
+msgstr "ref"
-msgid "deepen history of shallow clone, excluding rev"
-msgstr ""
-"approfondir l'historique d'un clone superficiel en excluant une révision"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "approfondit l'historique d'un clone superficiel en excluant une ref"
msgid "clone only one branch, HEAD or --branch"
msgstr "cloner seulement une branche, HEAD ou --branch"
@@ -4386,7 +4397,7 @@ msgstr "échec pour délier '%s'"
#, c-format
msgid "hardlink cannot be checked at '%s'"
-msgstr "le lien dur ne peut pas être vérifier à '%s'"
+msgstr "le lien dur ne peut pas être vérifié à '%s'"
#, c-format
msgid "hardlink different from source at '%s'"
@@ -4436,6 +4447,9 @@ msgstr ""
"la HEAD distante réfère à une référence non existante, impossible de "
"l'extraire"
+msgid "unable to checkout working tree"
+msgstr "impossible d'extraire la copie de travail"
+
msgid "unable to write parameters to config file"
msgstr "impossible d'écrire les paramètres dans le fichier de configuration"
@@ -5255,10 +5269,10 @@ msgstr ""
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
"git config unset [<option-de-fichier>] [--all] [--value=<valeur>] [--fixed-"
-"value] <nom> <valeur>"
+"value] <nom>"
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
msgstr ""
@@ -5486,7 +5500,7 @@ msgid "value"
msgstr "valeur"
msgid "use default value when missing entry"
-msgstr "utiliser le valeur par défaut quand l'entrée n'existe pas"
+msgstr "utiliser la valeur par défaut quand l'entrée n'existe pas"
msgid "--fixed-value only applies with 'value-pattern'"
msgstr "--fixed-value ne s'applique qu'à 'motif-de-valeur'"
@@ -5523,7 +5537,7 @@ msgid ""
" Use a regexp, --add or --replace-all to change %s."
msgstr ""
"impossible de surcharger des valeurs multiples avec une seule valeur\n"
-" Utilisez une regexp, --add ou --replace-all pour modifier %s."
+" Utilisez une regex, --add ou --replace-all pour modifier %s."
#, c-format
msgid "no such section: %s"
@@ -5549,7 +5563,7 @@ msgid "get all values: key [<value-pattern>]"
msgstr "obtenir toutes les valeurs : clé [<motif-de-valeur>]"
msgid "get values for regexp: name-regex [<value-pattern>]"
-msgstr "obtenir les valeur pour la regexp : name-regex [<motif-de-valeur>]"
+msgstr "obtenir les valeurs pour la regex : name-regex [<motif-de-valeur>]"
msgid "get value specific for the URL: section[.var] URL"
msgstr "obtenir la valeur spécifique pour l'URL : section[.var] URL"
@@ -5586,7 +5600,7 @@ msgid "find the color setting: slot [<stdout-is-tty>]"
msgstr "trouver le réglage de la couleur : slot [<stdout-est-tty>]"
msgid "with --get, use default value when missing entry"
-msgstr "avec --get, utiliser le valeur par défaut quand l'entrée n'existe pas"
+msgstr "avec --get, utiliser la valeur par défaut quand l'entrée n'existe pas"
msgid "--get-color and variable type are incoherent"
msgstr "--get-color et le type de la variable sont incohérents"
@@ -5623,7 +5637,7 @@ msgstr ""
"Les permissions de votre répertoire de socket sont trop permissives ;\n"
"les autres utilisateurs pourraient lire vos identifiants secrets. Lancez :\n"
"\n"
-" chmod 0700 %s"
+"\tchmod 0700 %s"
msgid "print debugging messages to stderr"
msgstr "afficher les messages de debug sur stderr"
@@ -5704,13 +5718,8 @@ msgid "traversed %lu commits\n"
msgstr "%lu commits parcourus\n"
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"plus de %i étiquettes ont été trouvées; seules les %i plus récentes sont "
-"affichées\n"
-"abandon de la recherche à %s\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "%i étiquettes trouvées ; recherche abandonnée à %s\n"
#, c-format
msgid "describe %s\n"
@@ -6154,6 +6163,20 @@ msgstr "%s n'est pas un objet valide"
msgid "the object %s does not exist"
msgstr "l'objet %s n'existe pas"
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Lancez 'git remote set-head %s %s' pour suivre la modification, ou\n"
+"réglez l'option de configuration 'remote.%s.followRemoteHEAD' à une\n"
+"valeur différente si vous ne souhaitez pas voir ce message. Lancer\n"
+"spécifiquement 'git config set remote.%s.followRemoteHEAD %s'\n"
+"va désactiver l'alerte jusqu'à ce que le distant change HEAD."
+
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "branches multiples détectées, imcompatible avec --set-upstream"
@@ -6294,6 +6317,9 @@ msgstr "correspondance de référence"
msgid "specify fetch refmap"
msgstr "spécifier une correspondance de référence pour la récupération"
+msgid "revision"
+msgstr "révision"
+
msgid "report that we have only objects reachable from this object"
msgstr "rapporte que nous n'avons que des objets joignables depuis cet objet"
@@ -6351,8 +6377,8 @@ msgid "protocol does not support --negotiate-only, exiting"
msgstr "Le protocole ne prend pas en charge --negotiate-only, abandon"
msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
+"--filter can only be used with the remote configured in "
+"extensions.partialclone"
msgstr ""
"--filter ne peut être utilisé qu'avec le dépôt distant configuré dans "
"extensions.partialclone"
@@ -6450,7 +6476,7 @@ msgid "config key storing a list of repository paths"
msgstr "clé de config qui stocke la liste des chemins de dépôts"
msgid "keep going even if command fails in a repository"
-msgstr "continuer mêm si la commande échoue dans un dépôt"
+msgstr "continuer même si la commande échoue dans un dépôt"
msgid "missing --config=<config>"
msgstr "--config=<config> manquant"
@@ -6665,7 +6691,7 @@ msgid "check only connectivity"
msgstr "ne vérifier que la connectivité"
msgid "enable more strict checking"
-msgstr "activer une vérification plus strict"
+msgstr "activer une vérification plus stricte"
msgid "write dangling objects in .git/lost-found"
msgstr "écrire les objets en suspens dans .git/lost-found"
@@ -6866,7 +6892,7 @@ msgstr ""
msgid ""
"There are too many unreachable loose objects; run 'git prune' to remove them."
msgstr ""
-"Il y a trop d'objets seuls inaccessibles ; lancez 'git prune' pour les "
+"Il y a trop d'objets esseulés inaccessibles ; lancez 'git prune' pour les "
"supprimer."
msgid ""
@@ -7027,9 +7053,27 @@ msgstr "ni les minuteurs systemd ni crontab ne sont disponibles"
msgid "%s scheduler is not available"
msgstr "le planificateur %s n'est pas disponible"
-msgid "another process is scheduling background maintenance"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"impossible de créer '%s.lock' : %s.\n"
+"\n"
+"Il semble qu'un processus git-maintenance(1) programmé est déjà lancé dans\n"
+"ce dépôt. Veuillez vous assurer qu'aucun processus de maintenance n'est "
+"lancé\n"
+"et réessayez. Si l'échec persiste, un processus git-maintenance(1) peut "
+"avoir\n"
+"planté dans ce dépôt : supprimez le fichier manuellement pour poursuivre."
+
+msgid "cannot acquire lock for scheduled background maintenance"
msgstr ""
-"un autre processus est en train de programmer une maintenance en tâche de "
+"impossible d'acquérir le verrou pour une maintenance programmée en tâche de "
"fond"
msgid "git maintenance start [--scheduler=<scheduler>]"
@@ -7610,6 +7654,22 @@ msgid_plural "chain length = %d: %lu objects"
msgstr[0] "longueur chaînée = %d : %lu objet"
msgstr[1] "longueur chaînée = %d : %lu objets"
+msgid "could not start pack-objects to repack local links"
+msgstr ""
+"impossible de démarrer pack-objects pour ré-empaqueter les liens locaux"
+
+msgid "failed to feed local object to pack-objects"
+msgstr "échéc de la fourniture les objets locaux à pack-objects"
+
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack : attente de lignes d'Id d'objets en hexa complet seulement "
+"depuis les objects de paquet."
+
+msgid "could not finish pack-objects to repack local links"
+msgstr ""
+"impossible de terminer pack-objects pour ré-empaqueter les objets locaux"
+
msgid "Cannot come back to cwd"
msgstr "Impossible de revenir au répertoire de travail courant"
@@ -7621,6 +7681,9 @@ msgstr "mauvais %s"
msgid "unknown hash algorithm '%s'"
msgstr "algorithme d'empreinte inconnu '%s'"
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor ne peut pas être utilisé avec un nom de paquet"
+
msgid "--stdin requires a git repository"
msgstr "--stdin requiert un dépôt git"
@@ -7890,7 +7953,7 @@ msgid "base commit shouldn't be in revision list"
msgstr "le commit de base ne devrait pas faire partie de la liste de révisions"
msgid "cannot get patch id"
-msgstr "impossible d'obtenir l'id du patch"
+msgstr "impossible d'obtenir l'id de la rustine"
msgid "failed to infer range-diff origin of current series"
msgstr ""
@@ -7903,13 +7966,13 @@ msgstr ""
"utilisation de '%s' comme une différence d'intervalle pour la série actuelle"
msgid "use [PATCH n/m] even with a single patch"
-msgstr "utiliser [PATCH n/m] même avec un patch unique"
+msgstr "utiliser [PATCH n/m] même avec une rustine unique"
msgid "use [PATCH] even with multiple patches"
-msgstr "utiliser [PATCH] même avec des patchs multiples"
+msgstr "utiliser [PATCH] même avec des rustines multiples"
msgid "print patches to standard out"
-msgstr "afficher les patchs sur la sortie standard"
+msgstr "afficher les rustines sur la sortie standard"
msgid "generate a cover letter"
msgstr "générer une lettre de motivation"
@@ -7925,7 +7988,7 @@ msgid "use <sfx> instead of '.patch'"
msgstr "utiliser <sfx> au lieu de '.patch'"
msgid "start numbering patches at <n> instead of 1"
-msgstr "démarrer la numérotation des patchs à <n> au lieu de 1"
+msgstr "démarrer la numérotation des rustines à <n> au lieu de 1"
msgid "reroll-count"
msgstr "reroll-count"
@@ -7969,10 +8032,10 @@ msgid "output all-zero hash in From header"
msgstr "écrire une empreinte à zéro dans l'entête From"
msgid "don't include a patch matching a commit upstream"
-msgstr "ne pas inclure un patch correspondant à un commit amont"
+msgstr "ne pas inclure de rustine correspondant à un commit amont"
msgid "show patch format instead of default (patch + stat)"
-msgstr "afficher le format du patch au lieu du défaut (patch + stat)"
+msgstr "afficher le format de la rustine au lieu du défaut (rustine + stat)"
msgid "Messaging"
msgstr "Communication"
@@ -8009,10 +8072,10 @@ msgid "boundary"
msgstr "limite"
msgid "attach the patch"
-msgstr "attacher le patch"
+msgstr "attacher la rustine"
msgid "inline the patch"
-msgstr "patch à l'intérieur"
+msgstr "incorporer la rustine à l'intérieur"
msgid "enable message threading, styles: shallow, deep"
msgstr ""
@@ -8028,17 +8091,17 @@ msgid "base-commit"
msgstr "commit-de-base"
msgid "add prerequisite tree info to the patch series"
-msgstr "ajouter un arbre prérequis à la série de patchs"
+msgstr "ajouter un arbre prérequis à la série de rustines"
msgid "add a signature from a file"
msgstr "ajouter une signature depuis un fichier"
msgid "don't print the patch filenames"
-msgstr "ne pas afficher les noms de fichiers des patchs"
+msgstr "ne pas afficher les noms de fichiers des rustines"
msgid "show progress while generating patches"
msgstr ""
-"afficher la barre de progression durant la phase de génération des patchs"
+"afficher la barre de progression durant la phase de génération des rustines"
msgid "show changes against <rev> in cover letter or single patch"
msgstr ""
@@ -8103,7 +8166,7 @@ msgid "unable to read signature file '%s'"
msgstr "lecture du fichier de signature '%s' impossible"
msgid "Generating patches"
-msgstr "Génération des patchs"
+msgstr "Génération des rustines"
msgid "failed to create output files"
msgstr "échec de création des fichiers en sortie"
@@ -8221,7 +8284,7 @@ msgid ""
" [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]\n"
" [--symref] [<repository> [<patterns>...]]"
msgstr ""
-"git ls-remote [--brances] [--tags] [--refs] [--upload-pack=<exec>]\n"
+"git ls-remote [--branches] [--tags] [--refs] [--upload-pack=<exec>]\n"
" [-q | --quiet] [--exit-code] [--get-url] [--sort=<clé>]\n"
" [--symref] [<dépôt> [<motif>...]]"
@@ -9007,11 +9070,11 @@ msgstr "git notes [--ref <références-notes>] [list [<object>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <référence-notes>] add [-f] [--allow-empty] [--"
"[no-]separator|--separator=<coupure-paragraphe>] [--[no-]stripspace] [-m "
-"<message> | -F <fichier> | (-c | -C) <objet>] [<objet>]"
+"<message> | -F <fichier> | (-c | -C) <objet>] [<objet>] [-e]"
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
msgstr ""
@@ -9020,11 +9083,11 @@ msgstr ""
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <références-notes>] append [--allow-empty] [--"
"[no-]separator|--separator=<coupure-paragraphe>] [--[no-]stripspace]-m "
-"<message> | -F <fichier> | (-c | -C) <objet>] [<objet>]"
+"<message> | -F <fichier> | (-c | -C) <objet>] [<objet>] [-e]"
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
msgstr "git notes [--ref <références-notes>] edit [--allow-empty] [<objet>]"
@@ -9143,6 +9206,9 @@ msgstr "contenu de la note dans un fichier"
msgid "reuse and edit specified note object"
msgstr "réutiliser et éditer l'objet de note spécifié"
+msgid "edit note message in editor"
+msgstr "éditer le message de node dans un éditeur"
+
msgid "reuse specified note object"
msgstr "réutiliser l'objet de note spécifié"
@@ -9652,6 +9718,9 @@ msgstr "gestion des objets manquants"
msgid "do not pack objects in promisor packfiles"
msgstr "ne pas empaqueter les objets dans les fichiers paquets prometteurs"
+msgid "implies --missing=allow-any"
+msgstr "implique --missing=allow-any"
+
msgid "respect islands during delta compression"
msgstr "respecter les îlots pendant la compression des deltas"
@@ -10064,8 +10133,8 @@ msgstr ""
msgid ""
"You didn't specify any refspecs to push, and push.default is \"nothing\"."
msgstr ""
-"Vous n'avez pas spécifié de spécifications de référence à pousser, et push."
-"default est \"nothing\"."
+"Vous n'avez pas spécifié de spécifications de référence à pousser, et "
+"push.default est \"nothing\"."
#, c-format
msgid ""
@@ -10548,7 +10617,7 @@ msgid "continue"
msgstr "continuer"
msgid "skip current patch and continue"
-msgstr "sauter le patch courant et continuer"
+msgstr "sauter la rustine courante et continuer"
msgid "abort and check out the original branch"
msgstr "abandonner et extraire la branche d'origine"
@@ -10560,7 +10629,7 @@ msgid "edit the todo list during an interactive rebase"
msgstr "éditer la liste à faire lors d'un rebasage interactif"
msgid "show the patch file being applied or merged"
-msgstr "afficher le patch en cours d'application ou de fusion"
+msgstr "afficher la rustine en cours d'application ou de fusion"
msgid "use apply strategies to rebase"
msgstr "utiliser des stratégies d'application pour rebaser"
@@ -10943,7 +11012,7 @@ msgid "repository already uses '%s' format"
msgstr "le dépôt utilise déjà le format '%s'"
msgid "enable strict checking"
-msgstr "activer une vérification plus strict"
+msgstr "activer une vérification plus stricte"
msgid "'git refs verify' takes no arguments"
msgstr "'git refs verify' n'accepte aucun argument"
@@ -11287,6 +11356,30 @@ msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Référence locale configurée pour 'git push'%s :"
msgstr[1] " Références locales configurées pour 'git push'%s :"
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "'%s/HEAD' est inchangé et pointe sur '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' a changé depuis '%s' et pointe à présent sur '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "'%s/HEAD' a été créé et pointe sur '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' est détaché de '%s' et pointe à présent sur '%s'\n"
+
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"'%s/HEAD' pointait sur '%s' (qui n'est pas une branche distante), mais "
+"pointe à présent sur '%s'\n"
+
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "définir refs/remotes/<nom>/HEAD selon la distante"
@@ -11310,7 +11403,7 @@ msgid "Not a valid ref: %s"
msgstr "Référence non valide : %s"
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "Impossible de paramétrer %s"
#, c-format
@@ -12454,7 +12547,7 @@ msgid ""
"directory '%s' contains untracked files, but is not in the sparse-checkout "
"cone"
msgstr ""
-"le dossier '%s' contient des fichiers non-suivis, mais n'est pas dans le "
+"le répertoire '%s' contient des fichiers non-suivis, mais n'est pas dans le "
"cone d'extraction clairsemée"
#, c-format
@@ -13191,7 +13284,7 @@ msgid ""
"the superproject is not on any branch"
msgstr ""
"La branche du sous-module %s est configurée pour hériter de la branche du "
-"superprojet, mais le superprojet n'est sur aucune branche"
+"super-projet, mais le super-projet n'est sur aucune branche"
#, c-format
msgid "Unable to find current revision in submodule path '%s'"
@@ -14097,6 +14190,9 @@ msgstr "régler le mode de suivi (voir git-branch(1))"
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "essayer de nommer la nouvelle branche comme la branche amont"
+msgid "use relative paths for worktrees"
+msgstr "utiliser des chemins relatifs pour les arbres-de-travail"
+
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
msgstr "les options '%s', '%s' et '%s' ne peuvent pas être utilisées ensemble"
@@ -14379,6 +14475,26 @@ msgstr "impossible de créer '%s'"
msgid "index-pack died"
msgstr "l'index de groupe a disparu"
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "Le répertoire '%s' est présent dans l'index et pourtant pas clairsemé"
+
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "l'arbre de cache corrompu a des entrées non présentes dans l'index"
+
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "%s avec les drapeaux 0x%x ne devrait pas être dans l'arbre de cache"
+
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "mauvais sous-arbre '%.*s'"
+
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr ""
+"l'arbre de cache pour le chemin %.*s ne correspond pas. %s attendu, %s obtenu"
+
msgid "terminating chunk id appears earlier than expected"
msgstr "l'identifiant de terminaison de tronçon apparaît plus tôt qu'attendu"
@@ -14409,13 +14525,13 @@ msgid "Add file contents to the index"
msgstr "Ajouter le contenu de fichiers dans l'index"
msgid "Apply a series of patches from a mailbox"
-msgstr "Appliquer une série de patchs depuis une boîte mail"
+msgstr "Appliquer une série de rustines depuis une boîte mail"
msgid "Annotate file lines with commit information"
msgstr "Annoter les lignes du fichier avec l'information de commit"
msgid "Apply a patch to files and/or to the index"
-msgstr "Appliquer une patch à des fichiers ou à l'index"
+msgstr "Appliquer une rustine à des fichiers ou à l'index"
msgid "Import a GNU Arch repository into Git"
msgstr "Importer dans Git un dépôt GNU Arch"
@@ -14567,7 +14683,7 @@ msgid "Run a Git command on a list of repositories"
msgstr "Lance une commande Git sur une liste de dépôts"
msgid "Prepare patches for e-mail submission"
-msgstr "Préparer les patchs pour soumission par courriel"
+msgstr "Préparer les rustines pour soumission par courriel"
msgid "Verifies the connectivity and validity of the objects in the database"
msgstr ""
@@ -14637,7 +14753,7 @@ msgstr "Afficher le contenu d'un objet arbre"
msgid "Extracts patch and authorship from a single e-mail message"
msgstr ""
-"Extraire le patch et l'information de d'auteur depuis un simple message de "
+"Extraire la rustine et l'information de l'auteur depuis un simple message de "
"courriel"
msgid "Simple UNIX mbox splitter program"
@@ -14700,7 +14816,7 @@ msgid "Pack heads and tags for efficient repository access"
msgstr "Empaqueter les têtes et les étiquettes pour un accès efficace au dépôt"
msgid "Compute unique ID for a patch"
-msgstr "Calculer l'ID unique d'un patch"
+msgstr "Calculer l'ID unique d'une rustine"
msgid "Prune all unreachable objects from the object database"
msgstr "Élaguer les objets inatteignables depuis la base de données des objets"
@@ -14775,7 +14891,7 @@ msgid "Remove files from the working tree and from the index"
msgstr "Supprimer des fichiers de la copie de travail et de l'index"
msgid "Send a collection of patches as emails"
-msgstr "Envoyer un ensemble de patchs comme courriels"
+msgstr "Envoyer un ensemble de rustines comme courriels"
msgid "Push objects over Git protocol to another repository"
msgstr "Pousser les objets sur un autre dépôt via le protocole Git"
@@ -15060,7 +15176,7 @@ msgid ""
"disabling Bloom filters for commit-graph layer '%s' due to incompatible "
"settings"
msgstr ""
-"désactivation des filtres de Bloom opur la couche de graphe de commits '%s' "
+"désactivation des filtres de Bloom pour la couche de graphe de commits '%s' "
"à cause de réglages incompatibles"
msgid "commit-graph has no base graphs chunk"
@@ -15202,8 +15318,8 @@ msgid ""
"attempting to write a commit-graph, but 'commitGraph.changedPathsVersion' "
"(%d) is not supported"
msgstr ""
-"essai d'écriture de graphe de commits, mais 'commitGraph."
-"changedPathsVersion' (%d) n'est pas pris en charge"
+"essai d'écriture de graphe de commits, mais "
+"'commitGraph.changedPathsVersion' (%d) n'est pas pris en charge"
msgid "too many commits to write graph"
msgstr "trop de commits pour écrire un graphe"
@@ -15292,13 +15408,13 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"Le support de <GIT_DIR>/info/grafts est déconseillé\n"
"et sera supprimé dans une version future de Git.\n"
"\n"
"Veuillez utiliser \"git replace --convert-graft-file\"\n"
-"pour convertir les grafts en référence de remplacement.\n"
+"pour convertir les grafts en références de remplacement.\n"
"\n"
"Supprimez ce message en lançant\n"
"\"git config advice.graftFileDeprecated false\""
@@ -16139,6 +16255,18 @@ msgstr "l'url n'a pas de schéma : %s"
msgid "credential url cannot be parsed: %s"
msgstr "impossible d'analyser l'url d'identification : %s"
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "délai d'attente invalide '%s', entier positif ou nul attendu"
+
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr "délai d'attente d'init invalide '%s', entier positif ou nul attendu"
+
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "max-connections invalide '%s', entier attendu"
+
msgid "in the future"
msgstr "dans le futur"
@@ -16211,8 +16339,8 @@ msgstr "impossible de charger la regex île pour '%s' : %s"
#, c-format
msgid "island regex from config has too many capture groups (max=%d)"
msgstr ""
-"l'expression rationnelle depuis la configuration a trop de groupes de "
-"capture (max=%d)"
+"l'expression régulière depuis la configuration a trop de groupes de capture "
+"(max=%d)"
#, c-format
msgid "Marked %d islands, done.\n"
@@ -16735,8 +16863,7 @@ msgstr ""
"ou -G"
msgid "treat <string> in -S as extended POSIX regular expression"
-msgstr ""
-"traiter <chaîne> dans -S comme une expression rationnelle POSIX étendue"
+msgstr "traiter <chaîne> dans -S comme une expression régulière POSIX étendue"
msgid "control the order in which files appear in the output"
msgstr "contrôler l'ordre dans lequel les fichiers apparaissent dans la sortie"
@@ -16880,6 +17007,20 @@ msgstr "espaces de nom de Git \"%s\""
msgid "too many args to run %s"
msgstr "trop d'arguments pour lancer %s"
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"Vous tentez de récupérer %s, qui est dans le graphe de commit mais pas dans "
+"la base de données des objets.\n"
+"C'est probablement du à une corruption de dépôt.\n"
+"Si vous essayez de réparer cette corruption de dépôt en re-récupérer l'objet "
+"manquant, utilisez 'git fetch --refetch' sur les objets manquants."
+
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack : liste superficielle attendue"
@@ -17469,11 +17610,11 @@ msgstr[1] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
"Le crochet '%s' a été ignoré parce qu'il n'est pas marqué comme exécutable.\n"
-"Vous pouvez désactiver cet avertissement avec `git config advice.ignoredHook "
-"false`."
+"Vous pouvez désactiver cet avertissement avec `git config set "
+"advice.ignoredHook false`."
msgid "not a git repository"
msgstr "pas un dépôt git"
@@ -17490,15 +17631,9 @@ msgstr ""
msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "La délégation de commande n'est pas supporté avec cuRL < 7.22.0"
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "L'épinglage de clé publique n'est pas supporté avec cuRL < 7.39.0"
-
msgid "Unknown value for http.proactiveauth"
msgstr "valeur inconnue pour http.proactiveauth"
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "CURLSSLOPT_NO_REVOKE n'est pas supporté avec cuRL < 7.44.0"
-
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "Dorsale SSL '%s' non supportée. Dorsales SSL supportées :"
@@ -17688,6 +17823,10 @@ msgid "unable to format message: %s"
msgstr "impossible de formater le message : %s"
#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "taille de marqueur invalide '%s', entier attendu"
+
+#, c-format
msgid "Failed to merge submodule %s (not checked out)"
msgstr "Échec de la fusion du sous-module %s (non extrait)"
@@ -18284,7 +18423,7 @@ msgstr "échec de l'écriture de l'index de multi-paquet"
msgid "cannot expire packs from an incremental multi-pack-index"
msgstr ""
-"impossible d'expirer les paquets dpuis un index multi-paquet incrémental"
+"impossible d'expirer les paquets depuis un index multi-paquet incrémental"
msgid "Counting referenced objects"
msgstr "Comptage des objets référencés"
@@ -18293,7 +18432,7 @@ msgid "Finding and deleting unreferenced packfiles"
msgstr "Recherche et effacement des fichiers paquets non-référencés"
msgid "cannot repack an incremental multi-pack-index"
-msgstr "impossible de ré-empaqueter un index multi-paquet"
+msgstr "impossible de ré-empaqueter un index multi-paquet incrémental"
msgid "could not start pack-objects"
msgstr "impossible de démarrer le groupement d'objets"
@@ -18809,7 +18948,7 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"Git ne crée normalement jamais de référence qui se termine par 40\n"
"caractères hexa car elle serait ignorée si vous spécifiez juste\n"
@@ -18821,7 +18960,7 @@ msgstr ""
"est créée.\n"
"Veuillez examiner ces références et peut-être les supprimer. Désactivez ce "
"message\n"
-"en lançant \"git config advice.objectNameWarning false\""
+"en lançant \"git config set advice.objectNameWarning false\""
#, c-format
msgid "log for '%.*s' only goes back to %s"
@@ -18986,13 +19125,6 @@ msgstr "l'index inverse requis manque dans l'index multi-paquet"
msgid "could not open pack %s"
msgstr "impossible d'ouvrir le paquet '%s'"
-msgid "could not determine MIDX preferred pack"
-msgstr "impossible de déterminer le paquet préféré de MIDX"
-
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "le paquet préféré (%s) est invalide"
-
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr ""
"table de recherche en bitmap corrompue : position de triplet hors d'index"
@@ -19270,7 +19402,7 @@ msgid "use <n> digits to display object names"
msgstr "utiliser <n> chiffres pour afficher les noms des objets"
msgid "prefixed path to initial superproject"
-msgstr "chemin préfixé vers le superprojet initial"
+msgstr "chemin préfixé vers le super-projet initial"
msgid "how to strip spaces and #comments from message"
msgstr "comment éliminer les espaces et les commentaires # du message"
@@ -19484,7 +19616,7 @@ msgstr ""
msgid ""
"pseudo-merge regex from config has too many capture groups (max=%<PRIuMAX>)"
msgstr ""
-"l'expression rationnelle de pseudo-fusion a trop de groupes de capture "
+"l'expression régulière de pseudo-fusion a trop de groupes de capture "
"(max=%<PRIuMAX>)"
#, c-format
@@ -20128,18 +20260,26 @@ msgstr "le journal pour la réf %s s'arrête de manière inattendue sur %s"
msgid "log for %s is empty"
msgstr "le journal pour la réf %s est vide"
-msgid "refusing to force and skip creation of reflog"
-msgstr "refus de forcer et sauter la création du reflog"
-
#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "refus de mettre à jour une réf avec un nom cassé '%s'"
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "refus de mettre à jour le réflog pour la pseudo-réf '%s'"
#, c-format
msgid "refusing to update pseudoref '%s'"
msgstr "refus de mettre à jour la pseudo-réf '%s'"
#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "refus de mettre à jour le réflog avec un nom cassé '%s'"
+
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "refus de mettre à jour une réf avec un nom cassé '%s'"
+
+msgid "refusing to force and skip creation of reflog"
+msgstr "refus de forcer et sauter la création du reflog"
+
+#, c-format
msgid "update_ref failed for ref '%s': %s"
msgstr "échec de update_ref pour la réf '%s' : %s"
@@ -20190,6 +20330,10 @@ msgstr ""
"normale trouvée"
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "impossible de lire le fichier de référence '%s'"
+
+#, c-format
msgid "cannot open directory %s"
msgstr "impossible d'ouvrir le répertoire %s"
@@ -20321,8 +20465,8 @@ msgstr "le serveur distant a envoyé un paquet de fin de réponse inattendu"
msgid "unable to rewind rpc post data - try increasing http.postBuffer"
msgstr ""
-"impossible de rembobiner le données post rpc - essayer d'augmenter http."
-"postBuffer"
+"impossible de rembobiner le données post rpc - essayer d'augmenter "
+"http.postBuffer"
#, c-format
msgid "remote-curl: bad line length character: %.4s"
@@ -20406,6 +20550,10 @@ msgid "more than one uploadpack given, using the first"
msgstr "plus d'un uploadpack fournis, utilisation du premier"
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "valeur '%s' de followRemoteHEAD non reconnue et ignorée "
+
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "valeur non reconnue transfer.credentialsInUrl : '%s'"
@@ -21359,7 +21507,7 @@ msgstr "impossible d'appliquer %s... %s"
#, c-format
msgid "dropping %s %s -- patch contents already upstream\n"
-msgstr "abandon de %s %s -- le contenu de la rustine déjà en amont\n"
+msgstr "abandon de %s %s -- le contenu de la rustine est déjà en amont\n"
#, c-format
msgid "git %s: failed to read the index"
@@ -22364,6 +22512,9 @@ msgstr "le commit %s n'est pas marqué joignable"
msgid "too many commits marked reachable"
msgstr "trop de commits marqués joignables"
+msgid "could not determine MIDX preferred pack"
+msgstr "impossible de déterminer le paquet préféré de MIDX"
+
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<options>]"
@@ -23034,6 +23185,10 @@ msgstr "fichier .git cassé"
msgid ".git file incorrect"
msgstr "fichier .git incorrect"
+msgid ".git file absolute/relative path mismatch"
+msgstr ""
+"non-correspondance entre les chemin absolu entre relatif du fichier .git"
+
msgid "not a valid path"
msgstr "pas un chemin valide"
@@ -23050,6 +23205,9 @@ msgstr "impossible de localiser le dépôt ; fichier .git cassé"
msgid "gitdir unreadable"
msgstr "gitdir non lisible"
+msgid "gitdir absolute/relative path mismatch"
+msgstr "non-correspondance de chemin absolu/relatif de gitdir"
+
msgid "gitdir incorrect"
msgstr "gitdir incorrect"
@@ -23085,6 +23243,14 @@ msgstr "impossible de désinitialiser %s dans '%s'"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "échec de paramétrage extensions.worktreeConfig"
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"impossible de mettre à jour le format de dépôt pour prendre en charge les "
+"arbres-de-travail relatifs"
+
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "échec de modification du paramètre extensions.relativeWorktrees"
+
#, c-format
msgid "could not setenv '%s'"
msgstr "impossible de configurer l'environnement '%s'"
@@ -23266,13 +23432,13 @@ msgid "You are in the middle of an am session."
msgstr "Vous êtes au milieu d'une session am."
msgid "The current patch is empty."
-msgstr "Le patch actuel est vide."
+msgstr "La rustine actuelle est vide."
msgid " (fix conflicts and then run \"git am --continue\")"
msgstr " (réglez les conflits puis lancez \"git am --continue\")"
msgid " (use \"git am --skip\" to skip this patch)"
-msgstr " (utilisez \"git am --skip\" pour sauter ce patch)"
+msgstr " (utilisez \"git am --skip\" pour sauter cette rustine)"
msgid ""
" (use \"git am --allow-empty\" to record this patch as an empty commit)"
@@ -23322,7 +23488,7 @@ msgid " (fix conflicts and then run \"git rebase --continue\")"
msgstr " (réglez les conflits puis lancez \"git rebase --continue\")"
msgid " (use \"git rebase --skip\" to skip this patch)"
-msgstr " (utilisez \"git rebase --skip\" pour sauter ce patch)"
+msgstr " (utilisez \"git rebase --skip\" pour sauter cette rustine)"
msgid " (use \"git rebase --abort\" to check out the original branch)"
msgstr " (utilisez \"git rebase --abort\" pour extraire la branche d'origine)"
@@ -23382,7 +23548,7 @@ msgstr ""
" (tous les conflits sont réglés : lancez \"git cherry-pick --continue\")"
msgid " (use \"git cherry-pick --skip\" to skip this patch)"
-msgstr " (utilisez \"git cherry-pick --skip\" pour sauter ce patch)"
+msgstr " (utilisez \"git cherry-pick --skip\" pour sauter cette rustine)"
msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)"
msgstr " (utilisez \"git cherry-pick --abort\" pour annuler le picorage)"
@@ -23404,7 +23570,7 @@ msgid " (all conflicts fixed: run \"git revert --continue\")"
msgstr " (tous les conflits sont réglés : lancez \"git revert --continue\")"
msgid " (use \"git revert --skip\" to skip this patch)"
-msgstr " (utilisez \"git revert --skip\" pour sauter ce patch)"
+msgstr " (utilisez \"git revert --skip\" pour sauter cette rustine)"
msgid " (use \"git revert --abort\" to cancel the revert operation)"
msgstr " (utilisez \"git revert --abort\" pour annuler le rétablissement)"
@@ -23728,7 +23894,7 @@ msgid ""
"\n"
msgstr ""
"\n"
-"Aucun fichier patch spécifié !\n"
+"Aucun fichier de rustine spécifié !\n"
"\n"
#, perl-format
@@ -23748,7 +23914,7 @@ msgid ""
msgstr ""
"Les lignes commençant par \"GIT:\" seront supprimées.\n"
"Envisagez d'inclure un diffstat global ou une table des matières\n"
-"pour le patch que vous êtes en train d'écrire.\n"
+"pour la rustine que vous êtes en train d'écrire.\n"
"\n"
"Effacez le corps si vous ne souhaitez pas envoyer un résumé.\n"
@@ -23785,7 +23951,7 @@ msgid ""
"has the template subject '*** SUBJECT HERE ***'. Pass --force if you really "
"want to send.\n"
msgstr ""
-"Envoi refusé parce que le patch\n"
+"Envoi refusé parce que la rustine\n"
"\t%s\n"
"a un sujet modèle '*** SUBJECT HERE ***'. Passez --force is vous souhaitez "
"vraiment envoyer.\n"
@@ -23938,7 +24104,7 @@ msgid ""
msgstr ""
"fatal : %s : rejeté par le crochet %s\n"
"%s\n"
-"attention : aucun patch envoyé\n"
+"attention : aucune rustine envoyée\n"
#, perl-format
msgid "unable to open %s: %s\n"
@@ -23950,7 +24116,7 @@ msgid ""
"warning: no patches were sent\n"
msgstr ""
"fatal : %s : %d est plus long que 998 caractères \n"
-"attention : aucun patch envoyé\n"
+"attention : aucune rustine envoyée\n"
#, perl-format
msgid "Skipping %s with backup suffix '%s'.\n"
@@ -23961,229 +24127,6 @@ 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] : "
-#~ msgid "revision walk setup failed\n"
-#~ msgstr "échec de la préparation du parcours des révisions\n"
-
-#, c-format
-#~ msgid "unable to parse contact: %s"
-#~ msgstr "impossible d'analyser le contact : %s"
-
#, c-format
-#~ msgid "truncating .rej filename to %.*s.rej"
-#~ msgstr "troncature du nom de fichier .rej en %.*s.rej"
-
-#~ msgid ""
-#~ "the add.interactive.useBuiltin setting has been removed!\n"
-#~ "See its entry in 'git help config' for details."
-#~ msgstr ""
-#~ "le réglage add.interactive.useBuiltin a été supprimé !\n"
-#~ "Référez-vous à cette entrée dans 'git help config' pour plus de détails."
-
-#~ msgid "git archive: Remote with no URL"
-#~ msgstr "git archive : Dépôt distant sans URL"
-
-#~ msgid "only one action at a time"
-#~ msgstr "une seule action à la fois"
-
-#~ msgid "use [RFC PATCH] instead of [PATCH]"
-#~ msgstr "utiliser [RFC PATCH] au lieu de [PATCH]"
-
-#, c-format
-#~ msgid "no URLs configured for remote '%s'"
-#~ msgstr "aucune URL configurée pour le dépôt distant '%s'"
-
-#, c-format
-#~ msgid "remote '%s' has no configured URL"
-#~ msgstr "le distant '%s' n'a pas d'URL configuré"
-
-#~ msgid ""
-#~ "Use -f if you really want to add them.\n"
-#~ "Turn this message off by running\n"
-#~ "\"git config advice.addIgnoredFile false\""
-#~ msgstr ""
-#~ "Utilisez -f si vous voulez vraiment les ajouter.\n"
-#~ "Éliminez ce message en lançant\n"
-#~ "\"git config advice.addIgnoredFile false\""
-
-#~ msgid ""
-#~ "Maybe you wanted to say 'git add .'?\n"
-#~ "Turn this message off by running\n"
-#~ "\"git config advice.addEmptyPathspec false\""
-#~ msgstr ""
-#~ "Peut-être avez-vous voulu dire 'git add .' ?\n"
-#~ "Éliminez ce message en lançant\n"
-#~ "\"git config advice.addEmptyPathspec false\""
-
-#~ msgid ""
-#~ "clean.requireForce defaults to true and neither -i, -n, nor -f given; "
-#~ "refusing to clean"
-#~ msgstr ""
-#~ "clean.requireForce à true par défaut et ni -i, -n ou -f fourni ; refus de "
-#~ "nettoyer"
-
-#, c-format
-#~ msgid "bad ls-files format: element '%s' does not start with '('"
-#~ msgstr "mauvais format ls-files : l'élément '%s' ne commence pas par '('"
-
-#, c-format
-#~ msgid "bad ls-files format: element '%s' does not end in ')'"
-#~ msgstr "mauvais format ls-files : l'élément '%s' ne se termine pas par ')'"
-
-#, c-format
-#~ msgid "bad ls-files format: %%%.*s"
-#~ msgstr "mauvais format ls-files : %%%.*s"
-
-#~ msgid "keep redundant, empty commits"
-#~ msgstr "garder les validations redondantes, vides"
-
-#~ msgid "core.commentChar should only be one ASCII character"
-#~ msgstr "core.commentChar ne devrait être qu'un unique caractère ASCII"
-
-#~ msgid ""
-#~ "--bundle-uri is incompatible with --depth, --shallow-since, and --shallow-"
-#~ "exclude"
-#~ msgstr ""
-#~ "--bundle-uri est incompatible avec --depth, --shallow-since, et --shallow-"
-#~ "exclude"
-
-#~ msgid "--merge-base is incompatible with --stdin"
-#~ msgstr "--merge-base est incompatible avec --stdin"
-
-#~ msgid ""
-#~ "apply options are incompatible with rebase.autoSquash. Consider adding --"
-#~ "no-autosquash"
-#~ msgstr ""
-#~ "les options d'application sont incompatibles avec rebase.autoSquash. "
-#~ "Considérez l'ajout de --no-autosquash"
-
-#~ 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"
-
-#, c-format
-#~ msgid "only one of '%s', '%s' or '%s' can be given"
-#~ msgstr "les options '%s', '%s' et '%s' sont mutuellement exclusives"
-
-#, c-format
-#~ msgid "'%s' and '%s' cannot be used together"
-#~ msgstr "'%s' et '%s' ne peuvent pas être utilisées ensemble"
-
-#, c-format
-#~ msgid "options '%s', and '%s' cannot be used together"
-#~ msgstr "les options '%s' et '%s' ne peuvent pas être utilisées ensemble"
-
-#~ msgid "<commit-ish>"
-#~ msgstr "<commit-esque>"
-
-#, c-format
-#~ msgid "%s is incompatible with %s"
-#~ msgstr "%s est incompatible avec %s"
-
-#~ msgid "unhandled options"
-#~ msgstr "options non gérées"
-
-#, c-format
-#~ msgid "options '%s=%s' and '%s=%s' cannot be used together"
-#~ msgstr ""
-#~ "les options '%s=%s' et '%s=%s' ne peuvent pas être utilisées ensemble"
-
-#, c-format
-#~ msgid "%s : incompatible with something else"
-#~ msgstr "%s est incompatible avec toute autre option"
-
-#~ msgid "Could not write patch"
-#~ msgstr "Impossible d'écrire le patch"
-
-#, c-format
-#~ msgid "Could not stat '%s'"
-#~ msgstr "Stat de '%s' impossible"
-
-#, c-format
-#~ msgid "Cannot delete branch '%s' checked out at '%s'"
-#~ msgstr "Impossible de supprimer la branche '%s' extraite dans '%s'"
-
-#~ msgid "unable to write new_index file"
-#~ msgstr "impossible d'écrire le fichier new_index"
-
-#~ msgid "do not apply config rules"
-#~ msgstr "ne pas appliquer les règles de la configuration"
-
-#~ msgid "join whitespace-continued values"
-#~ msgstr "joindre les valeurs continuées avec des caractères blancs"
-
-#~ msgid "set parsing options"
-#~ msgstr "paramètres d'analyse"
-
-#~ msgid "cannot move directory over file"
-#~ msgstr "impossible de déplacer un répertoire sur un fichier"
-
-#~ msgid "cannot use --filter without --stdout"
-#~ msgstr "impossible d'utiliser --filter sans --stdout"
-
-#~ msgid "cannot use --max-pack-size with --cruft"
-#~ msgstr "impossible d'utiliser --max-pack-size avec --cruft"
-
-#~ msgid "--strategy requires --merge or --interactive"
-#~ msgstr "--strategy requiert --merge ou --interactive"
-
-#, c-format
-#~ msgid ""
-#~ "commit-graph has generation number zero for commit %s, but non-zero "
-#~ "elsewhere"
-#~ msgstr ""
-#~ "le graphe de commit a un numéro de génération nul pour le commit %s, mais "
-#~ "non-nul ailleurs"
-
-#~ msgid "--merge-base only works with commits"
-#~ msgstr "--merge-base ne fonctionne qu'avec des commits"
-
-#~ msgid "scalar clone [<options>] [--] <repo> [<dir>]"
-#~ msgstr "scalar clone [<options>] [--] <dépôt> [<répertoire>]"
-
-#, c-format
-#~ msgid "could not rename '%s' to '%s'"
-#~ msgstr "impossible de renommer '%s' en '%s'"
-
-#, c-format
-#~ msgid "It is not possible to %s because you have unmerged files."
-#~ msgstr "%s n'est pas possible car vous avez des fichiers non fusionnés."
-
-#~ msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr"
-#~ msgstr ""
-#~ "ne pas passer l'option --keep-cr à git-mailsplit indépendamment de am."
-#~ "keepcr"
-
-#~ msgid ""
-#~ "Updates were rejected because the tip of the remote-tracking\n"
-#~ "branch has been updated since the last checkout. You may want\n"
-#~ "to integrate those changes locally (e.g., 'git pull ...')\n"
-#~ "before forcing an update.\n"
-#~ msgstr ""
-#~ "Les mises à jour ont été rejetées, car la pointe de la branche\n"
-#~ "de suivi a été mise à jour depuis la dernière extraction. Intégrez\n"
-#~ "ces changements localement (par exemple 'git pull ...') avant de\n"
-#~ "forcer à nouveau une mise à jour.\n"
-
-#~ msgid "or do not fetch any tag at all (--no-tags)"
-#~ msgstr "ou ne rapatrier aucune étiquette (--no-tags)"
-
-#~ msgid "current working directory is untracked"
-#~ msgstr "l'arbre de travail actuel est non-suivi"
-
-#~ msgid "cannot use --contents with final commit object name"
-#~ msgstr "on ne peut pas utiliser --contents avec un nom d'objet commit final"
-
-#~ msgid "please commit or stash them."
-#~ msgstr "veuillez les valider ou les remiser."
-
-#, c-format
-#~ msgid "Unknown mode: %s"
-#~ msgstr "Mode inconnu : %s"
-
-#~ msgid "could not lock HEAD"
-#~ msgstr "impossible de verrouiller HEAD"
+#~ msgid "preferred pack (%s) is invalid"
+#~ msgstr "le paquet préféré (%s) est invalide"
diff --git a/po/id.po b/po/id.po
index fc34140776..3965c9e941 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: 2024-10-04 08:33+0700\n"
-"PO-Revision-Date: 2024-10-04 08:52+0700\n"
+"POT-Creation-Date: 2024-12-23 18:57+0000\n"
+"PO-Revision-Date: 2025-01-06 15:50+0700\n"
"Last-Translator: Bagas Sanjaya <bagasdotme@gmail.com>\n"
"Language-Team: Indonesian\n"
"Language: id\n"
@@ -755,10 +755,10 @@ msgstr "Hanya berkas biner yang berubah."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"Nonaktifkan pesan ini dengan \"git config advice.%s false\""
+"Nonaktifkan pesan ini dengan \"git config set advice.%s false\""
#: advice.c
#, c-format
@@ -1670,9 +1670,10 @@ msgstr "bukan nama objek valid: %s"
msgid "not a tree object: %s"
msgstr "bukan objek pohon: %s"
-#: archive.c builtin/clone.c
-msgid "unable to checkout working tree"
-msgstr "tidak dapat men-checkout pohon kerja"
+#: archive.c
+#, c-format
+msgid "failed to unpack tree object %s"
+msgstr "gagal membuka objek pohon %s"
#: archive.c
#, c-format
@@ -3734,11 +3735,11 @@ msgstr "HEAD tidak ditemukan di bawah refs/heads!"
#: builtin/branch.c
msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
+"branch with --recurse-submodules can only be used if "
+"submodule.propagateBranches is enabled"
msgstr ""
-"cabang dengan --recurse-submodules hanya dapat digunakan jika submodule."
-"propagateBranches diaktifkan"
+"cabang dengan --recurse-submodules hanya dapat digunakan jika "
+"submodule.propagateBranches diaktifkan"
#: builtin/branch.c
msgid "--recurse-submodules can only be used to create branches"
@@ -4767,7 +4768,7 @@ msgstr "gaya konflik '%s' tidak dikenal"
msgid "perform a 3-way merge with the new branch"
msgstr "lakukan penggabungan 3 arah dengan cabang baru"
-#: builtin/checkout.c builtin/log.c parse-options.h
+#: builtin/checkout.c builtin/log.c builtin/range-diff.c parse-options.h
msgid "style"
msgstr "gaya"
@@ -4796,9 +4797,8 @@ msgid "update ignored files (default)"
msgstr "perbarui berkas yang diabaikan (default)"
#: builtin/checkout.c
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-"jangan periksa jika pohon kerja yang lain mempunyai referensi yang diberikan"
+msgid "do not check if another worktree is using this branch"
+msgstr "jangan periksa jika pohon kerja yang lain menggunakan cabang ini"
#: builtin/checkout.c
msgid "checkout our version for unmerged files"
@@ -5179,14 +5179,13 @@ msgstr "buat klon dangkal sedalam kedalaman tersebut"
msgid "create a shallow clone since a specific time"
msgstr "buat klon dangkal sejak waktu yang disebutkan"
-#: builtin/clone.c builtin/fetch.c builtin/pull.c builtin/rebase.c
-#: builtin/replay.c
-msgid "revision"
-msgstr "revisi"
+#: builtin/clone.c builtin/fetch.c builtin/pull.c
+msgid "ref"
+msgstr "referensi"
#: builtin/clone.c builtin/fetch.c builtin/pull.c
-msgid "deepen history of shallow clone, excluding rev"
-msgstr "perdalam riwayat klon dangkal, tidak termasuk rev"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "perdalam riwayat klon dangkal, kecualikan referensi"
#: builtin/clone.c builtin/submodule--helper.c
msgid "clone only one branch, HEAD or --branch"
@@ -5349,6 +5348,10 @@ msgid "remote HEAD refers to nonexistent ref, unable to checkout"
msgstr "HEAD remote merujuk pada ref yang tidak ada, tidak dapat men-checkout"
#: builtin/clone.c
+msgid "unable to checkout working tree"
+msgstr "tidak dapat men-checkout pohon kerja"
+
+#: builtin/clone.c
msgid "unable to write parameters to config file"
msgstr "tidak dapat menulis parameter ke berkas konfigurasi"
@@ -6347,10 +6350,10 @@ msgstr ""
#: builtin/config.c
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
-"git config unset [<opsi berkas] [--all] [--value=<nilai>] [--fixed-value] "
-"<nama> <nilai>"
+"git config unset [<opsi berkas>] [--all] [--value=<nilai>] [--fixed-value] "
+"<nama>"
#: builtin/config.c
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
@@ -6907,12 +6910,8 @@ msgstr "%lu komit dilintasi\n"
#: builtin/describe.c
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"lebih dari %i tag ditemukan; %i terbaru didaftarkan\n"
-"menyerah mencari pada %s\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "dapat %i tag; menyerah mencari pada %s\n"
#: builtin/describe.c
#, c-format
@@ -7389,8 +7388,8 @@ msgstr ""
"fetch secara normal mengindikasikan cabang mana ada pembaruan terpaksa,\n"
"tapi pemeriksaan tersebut sudah dinonaktifkan. Untuk aktifkan kembali, "
"gunakan\n"
-"bendera '--show-forced-updates' atau jalankan 'git config fetch."
-"showForcedUpdates true'."
+"bendera '--show-forced-updates' atau jalankan 'git config "
+"fetch.showForcedUpdates true'."
#: builtin/fetch.c
#, c-format
@@ -7468,6 +7467,21 @@ msgid "the object %s does not exist"
msgstr "objek '%s' tidak ada"
#: builtin/fetch.c
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Jalankan 'git remote set-head %s %s' untuk mengikuti perubahan, atau setel\n"
+"opsi konfigurasi 'remote.%s.followRemoteHEAD' ke nilai yang berbeda jika\n"
+"Anda tidak ingin melihat pesan ini lagi. Secara rinci menjalakan\n"
+"'git config set remote.%s followRemoteHEAD %s' akan mematikan peringatan\n"
+"ini sampai remote mengubah HEAD ke yang lain."
+
+#: builtin/fetch.c
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "banyak cabang terdeteksi, tidak kompatibel dengan --set-upstream"
@@ -7641,6 +7655,10 @@ msgstr "peta referensi"
msgid "specify fetch refmap"
msgstr "sebutkan ambil peta referensi"
+#: builtin/fetch.c builtin/pull.c builtin/rebase.c builtin/replay.c
+msgid "revision"
+msgstr "revisi"
+
#: builtin/fetch.c builtin/pull.c
msgid "report that we have only objects reachable from this object"
msgstr ""
@@ -7711,8 +7729,8 @@ msgstr "protokol tidak mendukung --negotiate-only, keluar."
#: builtin/fetch.c
msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
+"--filter can only be used with the remote configured in "
+"extensions.partialclone"
msgstr ""
"--filter hanya dapat digunakan dengan remote yang terkonfigurasi di "
"extensions.partialclone"
@@ -8565,8 +8583,25 @@ msgid "%s scheduler is not available"
msgstr "penjadwal %s tidak tersedia"
#: builtin/gc.c
-msgid "another process is scheduling background maintenance"
-msgstr "proses lainnya sedang menjadwalkan peme"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"Tidak dapat membuat '%s.lock': %s.\n"
+"\n"
+"Sepertinya proses git-maintenance(1) lainnya berjalan pada repositori ini.\n"
+"Pastikan tidak ada proses pemeliharaan lainnya yang berjalan dan coba lagi.\n"
+"Jika masih gagal, suatu proses git-maintenance(1) bisa jadi hancur pada\n"
+"repositori ini sebelumnya: hapus berkas secara manual untuk melanjutkan."
+
+#: builtin/gc.c
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "tidak dapat memperoleh kunci untuk pemeliharran balik layar terjadwal"
#: builtin/gc.c
msgid "git maintenance start [--scheduler=<scheduler>]"
@@ -9298,6 +9333,23 @@ msgstr[0] "panjang rantai = %d: %lu objek"
msgstr[1] "panjang rantai = %d: %lu objek"
#: builtin/index-pack.c
+msgid "could not start pack-objects to repack local links"
+msgstr "tidak dapat memulai pack-objects untuk mempak ulang tautan lokal"
+
+#: builtin/index-pack.c
+msgid "failed to feed local object to pack-objects"
+msgstr "tidak dapat memasukkan objek ke pada pack-objects"
+
+#: builtin/index-pack.c
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack: Mengharapkan hanya baris hex ID objek penuh daripack-objects."
+
+#: builtin/index-pack.c
+msgid "could not finish pack-objects to repack local links"
+msgstr "tidak dapat menyelesaikan pack-objects untuk mempak ulang tautan lokal"
+
+#: builtin/index-pack.c
msgid "Cannot come back to cwd"
msgstr "tidak dapat kembali ke direktori kerja saat ini"
@@ -9312,6 +9364,10 @@ msgid "unknown hash algorithm '%s'"
msgstr "algoritma hash tak dikenal '%s'"
#: builtin/index-pack.c
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor tidak dapat digunakan dengan nama pak"
+
+#: builtin/index-pack.c
msgid "--stdin requires a git repository"
msgstr "--stdin memerlukan repositori git"
@@ -11055,11 +11111,11 @@ msgstr "git notes [--ref <referensi catan>] [list [<objek>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <referensi catatan>] add [-f] [--allow-empty] [--"
"[no-]separator|--separator=<pemisah paragraf>] [--[no-]stripspace] [-m "
-"<pesan | -F <berkas> | (-c | -C) <objek>] [<objek>]"
+"<pesan> | -F <berkas> | (-c | -C) <objek>] [<objek>] [-e]"
#: builtin/notes.c
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
@@ -11070,11 +11126,11 @@ msgstr ""
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <referensi catatan>] append [--alow-empty] [--"
"[no]separator|--separator=<pemisah paragraf>] [--[no-]stripspace] [-m "
-"<pesan> | -F <berkas> | (-c | -C) <objek>] [<objek>]"
+"<pesan> | -F <berkas> | (-c | -C) <objek>] [<objek>] [-e]"
#: builtin/notes.c
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
@@ -11228,6 +11284,10 @@ msgid "reuse and edit specified note object"
msgstr "gunakan ulang dan sunting objek catatan yang disebutkan"
#: builtin/notes.c
+msgid "edit note message in editor"
+msgstr "sunting pesan catatan dalam penyunting"
+
+#: builtin/notes.c
msgid "reuse specified note object"
msgstr "gunakan ulang objek catatan yang disebutkan"
@@ -11857,6 +11917,10 @@ msgid "do not pack objects in promisor packfiles"
msgstr "jangan pak objek di dalam pak penjanji"
#: builtin/pack-objects.c
+msgid "implies --missing=allow-any"
+msgstr "mengimplikasikan --missing=allow-any"
+
+#: builtin/pack-objects.c
msgid "respect islands during delta compression"
msgstr "patuhi pulau selama pemampatan delta"
@@ -12269,8 +12333,8 @@ msgid ""
msgstr ""
"\n"
"Untuk menghindari konfigurasi cabang hulu otomatis ketika namanya\n"
-"tidak akan cocok dengan cabang lokal, lihat opsi 'simple' dari branch."
-"autoSetupMerge\n"
+"tidak akan cocok dengan cabang lokal, lihat opsi 'simple' dari "
+"branch.autoSetupMerge\n"
"di 'git help config'.\n"
#: builtin/push.c
@@ -13811,6 +13875,35 @@ msgstr[0] " Referensi lokal dikonfigurasi untuk 'git push'%s:"
msgstr[1] " Referensi lokal dikonfigurasi untuk 'git push'%s:"
#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "'%s/HEAD' tak berubah dan menunjuk pada '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' berubah dari '%s' dan sekarang menunjuk pada '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "'%s/HEAD' sekarang dibuat dan menunjuk pada '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "%s/HEAD' terlepas pada '%s' dan sekarang menunjuk pada '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"'%s/HEAD' dulunya menunjuk pada '%s' (yang bukan cabang remote), tetapi "
+"sekarang menunjuk pada '%s'\n"
+
+#: builtin/remote.c
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "setel refs/remotes/<nama>/HEAD tergantung remote"
@@ -13838,8 +13931,8 @@ msgstr "Bukan referensi valid: %s"
#: builtin/remote.c
#, c-format
-msgid "Could not setup %s"
-msgstr "Tidak dapat mengatur %s"
+msgid "Could not set up %s"
+msgstr "Tidak dapat menyiapkan %s"
#: builtin/remote.c
#, c-format
@@ -17247,6 +17340,10 @@ msgstr "pasang mode pelacakan (lihat git-branch(1))"
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "coba cocokkan nama cabang baru dengan sebuah cabang pelacakan remote"
+#: builtin/worktree.c
+msgid "use relative paths for worktrees"
+msgstr "gunakan jalur relatif untuk pohon kerja"
+
#: builtin/worktree.c diff.c parse-options.c
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
@@ -17588,6 +17685,31 @@ msgstr "tidak dapat membuat '%s'"
msgid "index-pack died"
msgstr "index-pack mati"
+#: cache-tree.c
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "direktori '%s' ada pada indeks, tapi bukan tipis"
+
+#: cache-tree.c unpack-trees.c
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "pohon tembolok rusak mempunyai entri yang tidak ada pada indeks"
+
+#: cache-tree.c
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "%s dengan bendera 0x%x tidak boleh ada di pohon tembolok"
+
+#: cache-tree.c
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "subpohon jelek '%.*s'"
+
+#: cache-tree.c
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr ""
+"pohon tembolok untuk jalur %.*s tidak cocok. %s diharapkan tapi dapat %s"
+
#: chunk-format.c
msgid "terminating chunk id appears earlier than expected"
msgstr "id bingkah pengakhiran muncul lebih awal dari yang diharapkan"
@@ -18714,16 +18836,16 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"Dukungan untuk <GIT_DIR>/info/grafts usang dan akan dihapus\n"
-"pada versi Git di masa yang akan datang.\n"
+"pada versi Git mendatang.\n"
"\n"
"Mohon gunakan \"git replace --convert-graft-file\"\n"
"untuk mengkonversi cangkuk ke referensi penggantian.\n"
"\n"
"Matikan pesan ini dengan menjalankan\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
#: commit.c
#, c-format
@@ -19739,6 +19861,21 @@ msgstr "url tidak punya skema: %s"
msgid "credential url cannot be parsed: %s"
msgstr "url kredensial tidak dapat diuraikan: %s"
+#: daemon.c
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "timeout '%s' tidak valid, bilangan bulat non-negatif diharapkan"
+
+#: daemon.c
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr "init-timeout '%s' tidak valid, bilangan bulat non-negatif diharapkan"
+
+#: daemon.c
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "max-connections '%s' tidak valid, bilangan bulat diharapkan"
+
#: date.c
msgid "in the future"
msgstr "di masa depan"
@@ -20632,6 +20769,21 @@ msgid "too many args to run %s"
msgstr "terlalu banyak argumen untuk menjalankan %s"
#: fetch-pack.c
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"Anda mencoba mengambil %s, yang ada di dalam berkas grafik komit tapi bukan "
+"di dalam basis data objek.\n"
+"Bisa jadi ini dikarenakan kerusakan repositori.\n"
+"Apabila Anda mencoba memperbaiki keruskanan repositori ini dengan mengambil "
+"ulang objek yang hilang, gunakan 'git fetch --refetch' dengan objek tersebut."
+
+#: fetch-pack.c
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: daftar dangkal diharapkan"
@@ -21351,11 +21503,11 @@ msgstr[1] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
-"Kait '%s' diabaikan karena tidak disetel sebagai dapat dieksekusi.\n"
-"Anda dapat menonaktifkan peringatan ini dengan `git config advice."
-"ignoredHook false`."
+"Kait '%s' diabaikan karena tidak disetel sebagai berkas yang dapat\n"
+"dieksekusi. Anda dapat menonaktifkan peringatan ini dengan\n"
+"`git config set advice.ignoredHook false`."
#: http-fetch.c
msgid "not a git repository"
@@ -21376,18 +21528,10 @@ msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "Kontrol delegasi tidak didukung oleh cURL < 7.22.0"
#: http.c
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "Penyematan kunci publik tidak didukung oleh cURL < 7.39.0"
-
-#: http.c
msgid "Unknown value for http.proactiveauth"
msgstr "nilai tidak dikenal untuk http.proactiveauth"
#: http.c
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "CURLSSLOPT_NO_REVOKE tidak didukung dengan cURL < 7.44.0"
-
-#: http.c
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "Tulang punggung SSL '%s' tidak didukung, yang didukung:"
@@ -21609,6 +21753,11 @@ msgstr "CRLF terkutip terdeteksi"
msgid "unable to format message: %s"
msgstr "tidak dapat memformat pesan: %s"
+#: merge-ll.c
+#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "marker-size '%s' tidak valid, bilangan bulat diharapkan"
+
#: merge-ort.c merge-recursive.c
#, c-format
msgid "Failed to merge submodule %s (not checked out)"
@@ -22955,19 +23104,17 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"Biasanya Git tidak pernah membuat sebuah referensi yang diakhiri dengan\n"
-"40 karakter hex, karena akan diabaikan ketika Anda hanya menyebutkan 40-"
-"hex.\n"
+"40 karakter hex, karena akan diabaikan ketika Anda hanya merincikan 40-hex.\n"
"Referensi tersebut bisa tidak sengaja dibuat. Misalnya,\n"
"\n"
" git switch -c $br $(git rev-parse ...)\n"
"\n"
"dimana \"$br\" entah bagaimana kosong dan referensi 40-hex dibuat.\n"
-"Mohon periksa referensi tersebut dan mungkin hapus. Matikan pesan ini "
-"dengan\n"
-"menjalankan \"git config advice.objectNameWarning false\""
+"Mohon periksa referensi tersebut dan mungkin hapus. Matikan pesan ini\n"
+"dengan menjalankan \"git config set advice.objectNameWarning false\""
#: object-name.c
#, c-format
@@ -23166,15 +23313,6 @@ msgstr "bitmap multipak kehilangan indeks balik yang diperlukan"
msgid "could not open pack %s"
msgstr "tidak dapat membuka '%s'"
-#: pack-bitmap.c t/helper/test-read-midx.c
-msgid "could not determine MIDX preferred pack"
-msgstr "tidak dapat menentukan pak MIDX terpilih"
-
-#: pack-bitmap.c
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "pak yang disukai '%s' kadaluarsa"
-
#: pack-bitmap.c
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "tabel pencarian bitmap rusak: posisi kembar tiga di luar indeks"
@@ -24546,8 +24684,19 @@ msgid "log for %s is empty"
msgstr "log untuk %s kosong"
#: refs.c
-msgid "refusing to force and skip creation of reflog"
-msgstr "menolak memaksa dan melewatkan pembuatan reflog"
+#, c-format
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "menolak memperbarui reflog untuk referensi semu '%s'"
+
+#: refs.c
+#, c-format
+msgid "refusing to update pseudoref '%s'"
+msgstr "menolak memperbarui referensi semu '%s'"
+
+#: refs.c
+#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "menolak memperbarui reflog dengan nama jelek '%s'"
#: refs.c
#, c-format
@@ -24555,9 +24704,8 @@ msgid "refusing to update ref with bad name '%s'"
msgstr "menolak memperbarui referensi dengan nama jelek '%s'"
#: refs.c
-#, c-format
-msgid "refusing to update pseudoref '%s'"
-msgstr "menolak memperbarui referensi semu '%s'"
+msgid "refusing to force and skip creation of reflog"
+msgstr "menolak memaksa dan melewatkan pembuatan reflog"
#: refs.c
#, c-format
@@ -24622,6 +24770,11 @@ msgstr ""
#: refs/files-backend.c
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "tidak dapat membaca berkas referensi '%s'"
+
+#: refs/files-backend.c
+#, c-format
msgid "cannot open directory %s"
msgstr "tidak dapat membuka direktori %s"
@@ -24885,6 +25038,11 @@ msgstr "lebih dari satu paket unggah diberikan, gunakan yang pertama"
#: remote.c
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "nilai followRemoteHEAD yang tak dikenal '%s' diabaikan"
+
+#: remote.c
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "nilai transfer.credentialsInUrl tidak dikenal: '%s'"
@@ -27240,6 +27398,10 @@ msgstr "komit %s tidak ditandai sebagai dapat dicapai"
msgid "too many commits marked reachable"
msgstr "terlalu banyak komit yang ditandai sebagai dapat dicapai"
+#: t/helper/test-read-midx.c
+msgid "could not determine MIDX preferred pack"
+msgstr "tidak dapat menentukan pak MIDX terpilih"
+
#: t/helper/test-serve-v2.c
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<opsi>]"
@@ -28027,6 +28189,10 @@ msgid ".git file incorrect"
msgstr "berkas .git salah"
#: worktree.c
+msgid ".git file absolute/relative path mismatch"
+msgstr "jalur absolut/relative berkas .git tidak cocok"
+
+#: worktree.c
msgid "not a valid path"
msgstr "bukan jalur valid"
@@ -28048,6 +28214,10 @@ msgid "gitdir unreadable"
msgstr "gitdir tidak dapat dibaca"
#: worktree.c
+msgid "gitdir absolute/relative path mismatch"
+msgstr "jalur absolut/relatif gitdir tidak cocok"
+
+#: worktree.c
msgid "gitdir incorrect"
msgstr "gitdir salah"
@@ -28091,6 +28261,16 @@ msgstr "tidak dapat menyetel balik %s di '%s'"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "gagal menyetel setelan extensions.worktreeConfig"
+#: worktree.c
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"tidak dapat meningkatkan format repositori untuk mendukung pohon kerja "
+"relatif"
+
+#: worktree.c
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "gagal menyetel setelan extensions.relativeWorktrees"
+
#: wrapper.c
#, c-format
msgid "could not setenv '%s'"
diff --git a/po/sv.po b/po/sv.po
index 973dd940ac..5377b3ece7 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: git 2.47.0\n"
+"Project-Id-Version: git 2.48.0\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2024-09-19 02:06+0000\n"
-"PO-Revision-Date: 2024-09-28 15:45+0100\n"
+"POT-Creation-Date: 2024-12-30 11:57+0100\n"
+"PO-Revision-Date: 2024-12-30 12:03+0100\n"
"Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
"Language-Team: Svenska <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -624,10 +624,10 @@ msgstr "Endast binära filer ändrade."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"Slå av meddelandet med ”git config advice.%s false”"
+"Slå av meddelandet med ”git config set advice.%s false”"
#, c-format
msgid "%shint:%s%.*s%s\n"
@@ -1300,7 +1300,7 @@ msgstr "fel i deflate (%d)"
#, c-format
msgid "unable to start '%s' filter"
-msgstr "kane inte starta filtret ”%s”"
+msgstr "kan inte starta filtret ”%s”"
msgid "unable to redirect descriptor"
msgstr "kan inte omdirigera handtag"
@@ -1358,6 +1358,10 @@ msgid "not a tree object: %s"
msgstr "inte ett trädobjekt: %s"
#, c-format
+msgid "failed to unpack tree object %s"
+msgstr "misslyckades packa upp trädobjektet %s"
+
+#, c-format
msgid "File not found: %s"
msgstr "Hittar inte filen: %s"
@@ -2808,7 +2812,7 @@ msgstr "kunde inte slå upp HEAD"
#, c-format
msgid "HEAD (%s) points outside of refs/heads/"
-msgstr "HEAD (%s) pekar utenför refs/heads/"
+msgstr "HEAD (%s) pekar utanför refs/heads/"
#, c-format
msgid "branch %s is being rebased at %s"
@@ -2824,7 +2828,7 @@ msgstr "HEAD i arbetskatalogen %s har inte uppdaterats"
#, c-format
msgid "invalid branch name: '%s'"
-msgstr "gelaktigt namn på gren: ”%s”"
+msgstr "felaktigt namn på gren: ”%s”"
#, c-format
msgid "no commit on branch '%s' yet"
@@ -3297,7 +3301,7 @@ msgid "read commands from stdin"
msgstr "läs kommandon från standard in"
msgid "with --batch[-check]: ignores stdin, batches all known objects"
-msgstr "med --batch[-check]: ignorear standard in, buntar alla kända objekt"
+msgstr "med --batch[-check]: ignorerar standard in, buntar alla kända objekt"
msgid "Change or optimize batch output"
msgstr "Ändra eller optimera buntutdata"
@@ -3683,13 +3687,13 @@ msgid ""
"one remote, e.g. the 'origin' remote, consider setting\n"
"checkout.defaultRemote=origin in your config."
msgstr ""
-"Om du menade checka ut en spårad fjärrgren på t.ex ”origin”, kan du\n"
+"Om du menade checka ut en spårad fjärrgren på t.ex. ”origin”, kan du\n"
"göra det genom att ange hela namnet med flaggan --track:\n"
"\n"
" git checkout --track origin/<namn>\n"
"\n"
"Om du alltid vill att utcheckningar med tvetydiga <namn> ska\n"
-"föredra en fjärr, t.ex fjärren ”origin” kan du ställa in\n"
+"föredra en fjärr, t.ex. fjärren ”origin” kan du ställa in\n"
"checkout.defaultRemote=origin i din konfiguration."
#, c-format
@@ -3795,7 +3799,7 @@ msgid "Cannot switch branch to a non-commit '%s'"
msgstr "Kan inte växla gren till icke-incheckningen ”%s”"
msgid "missing branch or commit argument"
-msgstr "saknar gren- eller incheckingsargument"
+msgstr "saknar gren- eller incheckningsargument"
#, c-format
msgid "unknown conflict style '%s'"
@@ -3825,9 +3829,8 @@ msgstr "ny ofödd gren"
msgid "update ignored files (default)"
msgstr "uppdatera ignorerade filer (standard)"
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-"kontrollera inte om en annan arbetskatalog håller den angivna referensen"
+msgid "do not check if another worktree is using this branch"
+msgstr "kontrollera inte om en annan arbetskatalog använder grenen"
msgid "checkout our version for unmerged files"
msgstr "checka ut vår version för ej sammanslagna filer"
@@ -4125,11 +4128,11 @@ msgstr "skapa en grund klon på detta djup"
msgid "create a shallow clone since a specific time"
msgstr "skapa en grund klon från en angiven tidpunkt"
-msgid "revision"
-msgstr "revision"
+msgid "ref"
+msgstr "ref"
-msgid "deepen history of shallow clone, excluding rev"
-msgstr "fördjupa historik för grund klon, exkludera revisionen"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "fördjupa historik för grund klon, exkludera ref"
msgid "clone only one branch, HEAD or --branch"
msgstr "klona endast en gren, HEAD eller --branch"
@@ -4422,7 +4425,7 @@ msgid "the object directory to store the graph"
msgstr "objektkatalogen där grafen ska lagras"
msgid "if the commit-graph is split, only verify the tip file"
-msgstr "om inchecknignsgrafen är delad, kontrollera bara spetsfilen"
+msgstr "om incheckningsgrafen är delad, kontrollera bara spetsfilen"
#, c-format
msgid "Could not open commit-graph '%s'"
@@ -4468,7 +4471,7 @@ msgstr "tillåt skriva en inkrementell incheckningsgraffil"
msgid "maximum number of commits in a non-base split commit-graph"
msgstr ""
-"maximalt antal incheckningar i en delad incheckingsgraf som inte är bad"
+"maximalt antal incheckningar i en delad incheckningsgraf som inte är bad"
msgid "maximum ratio between two levels of a split commit-graph"
msgstr "maximalt förhållande mellan två nivåer av en delad incheckningsgraf"
@@ -4477,7 +4480,7 @@ msgid "only expire files older than a given date-time"
msgstr "låt tid endast gå ut för filer äldre än givet datum och tid"
msgid "maximum number of changed-path Bloom filters to compute"
-msgstr "maximalt antal Bloom-filer med ändrad sökväg att beräkna"
+msgstr "maximalt antal Bloom-filter med ändrad sökväg att beräkna"
msgid "use at most one of --reachable, --stdin-commits, or --stdin-packs"
msgstr "använd som mest en av --reachable, --stdin-commits och --stdin-packs"
@@ -5054,10 +5057,10 @@ msgstr ""
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
"git config unset [<filflagga>] [--all] [--value=<värde>] [--fixed-value] "
-"<namn> <värde>"
+"<namn>"
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
msgstr "git config rename-section [<filflagga>] <gammalt-namn> <nytt-namn>"
@@ -5423,7 +5426,7 @@ msgstr "”credential-cache” ej tillgänglig; stöd för unix-uttag saknas"
#, c-format
msgid "unable to get credential storage lock in %d ms"
-msgstr "kan inte erhålla låset för lagring av inlogginsuppgifter på %d ms"
+msgstr "kan inte erhålla låset för lagring av inloggningsuppgifter på %d ms"
msgid ""
"git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]"
@@ -5490,12 +5493,8 @@ msgid "traversed %lu commits\n"
msgstr "traverserade %lu incheckningar\n"
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"mer än %i taggar hittades; listar de %i senaste\n"
-"gav upp sökningen vid %s\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "hittade %i taggar; gav upp sökning vid %s\n"
#, c-format
msgid "describe %s\n"
@@ -5783,7 +5782,7 @@ msgid "Expected 'to' command, got %s"
msgstr "Förväntade ”to”-kommando, fick %s"
msgid "Expected format name:filename for submodule rewrite option"
-msgstr "Förvändae formatet namn:filnamn för undermodul-omskrivningsflaggan"
+msgstr "Förväntade formatet namn:filnamn för undermodul-omskrivningsflaggan"
#, c-format
msgid "feature '%s' forbidden in input without --allow-unsafe-features"
@@ -5927,6 +5926,20 @@ msgstr "%s är inte ett giltigt objekt"
msgid "the object %s does not exist"
msgstr "objektet %s finns inte"
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Kör ”git remote set-head %s %s” för att följa ändringen, eller sätt\n"
+"konfigurationsflaggan ”remote %s.followRemoteHEAD” till ett annat värde\n"
+"om du inte vill se det här meddelandet. Du kan specifikt inaktivera\n"
+"varningen till fjärren ändrar HEAD till något annat genom att köra\n"
+"”git config set remote %s.followRemoteHEAD %s”."
+
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "flera grenar upptäcktes, inkompatibelt med --set-upstream"
@@ -6064,6 +6077,9 @@ msgstr "referenskarta"
msgid "specify fetch refmap"
msgstr "ange referenskarta för ”fetch”"
+msgid "revision"
+msgstr "revision"
+
msgid "report that we have only objects reachable from this object"
msgstr "rapportera att vi bara har objekt nåbara från detta objektet"
@@ -6077,7 +6093,7 @@ msgid "check for forced-updates on all updated branches"
msgstr "se efter tvingade uppdateringar i alla uppdaterade grenar"
msgid "write the commit-graph after fetching"
-msgstr "skriv incheckingsgrafen efter hämtning"
+msgstr "skriv incheckningsgrafen efter hämtning"
msgid "accept refspecs from stdin"
msgstr "ta emot referenser från standard in"
@@ -6125,7 +6141,7 @@ msgid "--atomic can only be used when fetching from one remote"
msgstr "--atomic kan bara användas vid hämtning från en fjärr"
msgid "--stdin can only be used when fetching from one remote"
-msgstr "--stdin kan bara användas vid hämtning fårn en fjärr"
+msgstr "--stdin kan bara användas vid hämtning från en fjärr"
msgid ""
"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]"
@@ -6422,7 +6438,7 @@ msgid "report root nodes"
msgstr "rapportera rotnoder"
msgid "make index objects head nodes"
-msgstr "gör indexojekt till huvudnoder"
+msgstr "gör indexobjekt till huvudnoder"
msgid "make reflogs head nodes (default)"
msgstr "gör refloggar till huvudnoder (standard)"
@@ -6789,8 +6805,25 @@ msgstr "varken systemd-timer eller crontab är tillgänglig"
msgid "%s scheduler is not available"
msgstr "%s-schemaläggare är inte tillgänglig"
-msgid "another process is scheduling background maintenance"
-msgstr "en annan process schemalägger bakgrundsunderhåll"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"Kunde inte skapa ”%s.lock”: %s.\n"
+"\n"
+"Det verkar som en annan schemalagd git-maintenance(1)-process kör i det\n"
+"här arkivet. Se till att inga andra underhållsprocesser körs och försök\n"
+"sedan igen. Om det fortfarande misslyckas kanske en git-maintenance(1)-\n"
+"process har kraschat i det här arkivet tidigare: ta bort filen manuellt\n"
+"för att fortsätta."
+
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "kan inte erhålla låset för schemalagt bakgrundsunderhåll"
msgid "git maintenance start [--scheduler=<scheduler>]"
msgstr "git maintenance start [--scheduler=<schemaläggare>]"
@@ -7320,7 +7353,7 @@ msgstr "paketfilnamnet ”%s” slutar inte med ”.%s”"
#, c-format
msgid "cannot write %s file '%s'"
-msgstr "kan inte ta skriva %s-fil ”%s”"
+msgstr "kan inte skriva %s-fil ”%s”"
#, c-format
msgid "cannot close written %s file '%s'"
@@ -7357,6 +7390,19 @@ msgid_plural "chain length = %d: %lu objects"
msgstr[0] "kedjelängd = %d: %lu objekt"
msgstr[1] "kedjelängd = %d: %lu objekt"
+msgid "could not start pack-objects to repack local links"
+msgstr "kunde inte starta pack-objects för att packa om lokala länkar"
+
+msgid "failed to feed local object to pack-objects"
+msgstr "misslyckades sända lokala objekt till pack-objects"
+
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack: Förväntar kompletta hex-objekt-ID-rader endast från pack-objects."
+
+msgid "could not finish pack-objects to repack local links"
+msgstr "kunde inte avsluta pack-objects för att packa om lokala länkar"
+
msgid "Cannot come back to cwd"
msgstr "Kan inte gå tillbaka till arbetskatalogen (cwd)"
@@ -7368,6 +7414,9 @@ msgstr "felaktig %s"
msgid "unknown hash algorithm '%s'"
msgstr "okänd hashningsalgoritm ”%s”"
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor kan inte användas med ett paketnamn"
+
msgid "--stdin requires a git repository"
msgstr "--stdin kräver ett git-arkiv"
@@ -7683,7 +7732,7 @@ msgid "cover-from-description-mode"
msgstr "cover-from-description-läge"
msgid "generate parts of a cover letter based on a branch's description"
-msgstr "skapa delar av omslagsbrevet baserat på grenbeskrivelsen"
+msgstr "skapa delar av omslagsbrevet baserat på grenbeskrivningen"
msgid "use branch description from file"
msgstr "använd grenbeskrivningar från fil"
@@ -7925,7 +7974,7 @@ msgid "show debugging data"
msgstr "visa felsökningsutdata"
msgid "suppress duplicate entries"
-msgstr "undertyck dublettposter"
+msgstr "undertryck dublettposter"
msgid "show sparse directories in the presence of a sparse index"
msgstr "visa glesa kataloger när et glest index existerar"
@@ -8017,7 +8066,7 @@ msgid "keep subject"
msgstr "behåll ärenderad"
msgid "keep non patch brackets in subject"
-msgstr "behåll hakparanterser som inte är ”patch” i ärenderaden"
+msgstr "behåll hakparenteser som inte är ”patch” i ärenderaden"
msgid "copy Message-ID to the end of commit message"
msgstr "kopiera Message-ID till slutet av incheckningsmeddelandet"
@@ -8172,7 +8221,7 @@ msgid "git merge-tree [--write-tree] [<options>] <branch1> <branch2>"
msgstr "git merge-tree [--write-tree] [<flaggor>] <gren1> <gren2>"
msgid "git merge-tree [--trivial-merge] <base-tree> <branch1> <branch2>"
-msgstr "git merge-tree [--trivial-merge] <baseträd> <gren1> <gren2>"
+msgstr "git merge-tree [--trivial-merge] <basträd> <gren1> <gren2>"
msgid "do a real merge instead of a trivial merge"
msgstr "gör en riktig sammanslagning istället för en enkel sammanslagning"
@@ -8708,11 +8757,11 @@ msgstr "git notes [--ref <anteckningsref>] [list [<objekt>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <anteckningsref>] add [-f] [--allow-empty] [--"
"[no-]separator|--separator=<styckebrytning>] [--[no-]stripspace] [-m <medd> "
-"| -F <fil> | (-c | -C) <objekt>] [<objekt>]"
+"| -F <fil> | (-c | -C) <objekt>] [<objekt>] [-e]"
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
msgstr ""
@@ -8721,11 +8770,11 @@ msgstr ""
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <anteckningsref>] append [--allow-empty] [--"
"[no-]separator|--separator=<styckebrytning>] [--[no-]stripspace] [-m <medd> "
-"| -F <fil> | (-c | -C) <objekt>] [<objekt>]"
+"| -F <fil> | (-c | -C) <objekt>] [<objekt>] [-e]"
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
msgstr "git notes [--ref <anteckningsref>] edit [--allow-empty] [<objekt>]"
@@ -8844,6 +8893,9 @@ msgstr "anteckningsinnehåll i en fil"
msgid "reuse and edit specified note object"
msgstr "återanvänd och redigera angivet anteckningsobjekt"
+msgid "edit note message in editor"
+msgstr "redigera anteckning i textredigeringsprogram"
+
msgid "reuse specified note object"
msgstr "återanvänd angivet anteckningsobjekt"
@@ -9192,7 +9244,7 @@ msgstr "kan inte öppna paketfilen"
#, c-format
msgid "loose object at %s could not be examined"
-msgstr "lösa objekt på %s kunde inte underökas"
+msgstr "lösa objekt på %s kunde inte undersökas"
msgid "unable to force loose object"
msgstr "kan inte tvinga lösa objekt"
@@ -9336,6 +9388,9 @@ msgstr "hantering av saknade objekt"
msgid "do not pack objects in promisor packfiles"
msgstr "packa inte objekt i kontraktspackfiler"
+msgid "implies --missing=allow-any"
+msgstr "implicerar --missing=allow-any"
+
msgid "respect islands during delta compression"
msgstr "respektera öar under deltakomprimering"
@@ -9638,7 +9693,7 @@ msgid "Need to specify how to reconcile divergent branches."
msgstr "Måste ange hur avvikande grenar skall förlikas."
msgid "cannot rebase with locally recorded submodule modifications"
-msgstr "kan inte ombasera med lokalt lagrade ändringar i undermoful"
+msgstr "kan inte ombasera med lokalt lagrade ändringar i undermodul"
msgid "git push [<options>] [<repository> [<refspec>...]]"
msgstr "git push [<flaggor>] [<arkiv> [<refspec>...]]"
@@ -10156,7 +10211,7 @@ msgid "empty exec command"
msgstr "tomt exec-kommando"
msgid "rebase onto given branch instead of upstream"
-msgstr "ombasera mot given grenen istället för uppström"
+msgstr "ombasera mot given gren istället för uppström"
msgid "use the merge-base of upstream and branch as the current base"
msgstr "använd sammanslagningsbasen mellan uppströms och gren som aktuell bas"
@@ -10548,7 +10603,7 @@ msgid "process the reflogs of all references"
msgstr "hantera referensloggar för alla referenser"
msgid "limits processing to reflogs from the current worktree only"
-msgstr "begränsar hantering av referensloggar till endst aktuell arbetskatalog"
+msgstr "begränsar hantering av referensloggar till endast aktuell arbetskatalog"
#, c-format
msgid "Marking reachable objects..."
@@ -10919,6 +10974,30 @@ msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Lokal referens konfigurerad för ”git push”%s:"
msgstr[1] " Lokala referenser konfigurerade för ”git push”%s:"
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "”%s/HEAD” är oförändrad och pekar på ”%s”\n"
+
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "”%s/HEAD” har ändrats från ”%s” och pekar nu på ”%s”\n"
+
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "”%s/HEAD” har nu skapats och pekar på ”%s”\n"
+
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "”%s/HEAD” kopplades från vid ”%s” och pekar nu på ”%s”\n"
+
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"”%s/HEAD” pekade tidigare på ”%s” (som inte är en fjärrgren), men pekar nu "
+"på ”%s”\n"
+
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "sätt refs/remotes/<namn>/HEAD enligt fjärren"
@@ -10940,7 +11019,7 @@ msgid "Not a valid ref: %s"
msgstr "Inte en giltig referens: %s"
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "Kunde inte ställa in %s"
#, c-format
@@ -11787,7 +11866,7 @@ msgstr "Ingen sökvägsangivelse gavs. Vilka filer ska jag ta bort?"
msgid "please stage your changes to .gitmodules or stash them to proceed"
msgstr ""
-"löa dina ändringar i .gitmodules eller använd ”stash” för att fortsätta"
+"köa dina ändringar i .gitmodules eller använd ”stash” för att fortsätta"
#, c-format
msgid "not removing '%s' recursively without -r"
@@ -11861,7 +11940,7 @@ msgid "linewrap output"
msgstr "radbryt utdata"
msgid "field"
-msgstr "föt"
+msgstr "fält"
msgid "group by field"
msgstr "gruppera efter fält"
@@ -12022,7 +12101,7 @@ msgid "stricter reference checking, requires exact ref path"
msgstr "striktare referenskontroll, kräver exakt referenssökväg"
msgid "show the HEAD reference, even if it would be filtered out"
-msgstr "visa HEAD-refrens, även när den skulle filtreras ut"
+msgstr "visa HEAD-referens, även när den skulle filtreras ut"
msgid "dereference tags into object IDs"
msgstr "avreferera taggar till objekt-id"
@@ -12079,7 +12158,7 @@ msgid "initialize the sparse-checkout in cone mode"
msgstr "initiera sparse-checkout i konläge"
msgid "toggle the use of a sparse index"
-msgstr "slå på/av använding av glest index"
+msgstr "slå på/av användning av glest index"
#, c-format
msgid "unable to create leading directories of %s"
@@ -12250,7 +12329,7 @@ msgstr "Inga ”stash”-poster hittades."
#, c-format
msgid "%s is not a valid reference"
-msgstr "%s är inte en giltigt referens"
+msgstr "%s är inte en giltig referens"
msgid "git stash clear with arguments is unimplemented"
msgstr "”git stash clear” med argument har inte implementerats"
@@ -12501,7 +12580,7 @@ msgstr ""
"HEAD"
msgid "git submodule status [--quiet] [--cached] [--recursive] [<path>...]"
-msgstr "git submodule status [--quitet] [--cached] [--recursive] [<sökväg>...]"
+msgstr "git submodule status [--quiet] [--cached] [--recursive] [<sökväg>...]"
#, c-format
msgid "* %s %s(blob)->%s(submodule)"
@@ -12524,7 +12603,7 @@ msgid "unexpected mode %o"
msgstr "okänt läge %o"
msgid "use the commit stored in the index instead of the submodule HEAD"
-msgstr "använd incechkning lagrad i indexet istället för undermodulens HEAD"
+msgstr "använd incheckning lagrad i indexet istället för undermodulens HEAD"
msgid "compare the commit in the index with that in the submodule HEAD"
msgstr "jämför incheckningen i indexet med den i undermodulens HEAD"
@@ -13641,6 +13720,9 @@ msgstr "ställ in spårningsläge (se git-branch(1))"
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "försök träffa namn på ny gren mot en fjärrspårande gren"
+msgid "use relative paths for worktrees"
+msgstr "använd relativa sökvägar för arbetskataloger"
+
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
msgstr "flaggorna ”%s”, ”%s” och ”%s” kan inte användas samtidigt"
@@ -13802,7 +13884,7 @@ msgstr "misslyckades lagra maximal skaparsymbol"
#, c-format
msgid "unrecognized bundle mode from URI '%s'"
-msgstr "okänt buntlägre från URI:en ”%s”"
+msgstr "okänt buntläge från URI:en ”%s”"
#, c-format
msgid "exceeded bundle URI recursion limit (%d)"
@@ -13912,6 +13994,26 @@ msgstr "kan inte skapa ”%s”"
msgid "index-pack died"
msgstr "index-pack dog"
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "katalogen ”%s” finns i indexet, men inte glest"
+
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "trasigt cacheträd innehåller poster som inte finns i indexet"
+
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "%s med flaggorna 0x%x borde inte finnas i cacheträdet"
+
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "felaktigt underträd ”%.*s”"
+
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr ""
+"cacheträd för sökvägen %.*s stämmer inte överens. Förväntade %s fick %s"
+
msgid "terminating chunk id appears earlier than expected"
msgstr "avslutande stycke-id förekommer tidigare än förväntat"
@@ -14131,7 +14233,7 @@ msgid "Send a collection of patches from stdin to an IMAP folder"
msgstr "Sänd en samling patchar från stdin till en IMAP-mapp"
msgid "Build pack index file for an existing packed archive"
-msgstr "SKapa pack-indexfiler för ett befintligt packat arkiv"
+msgstr "Skapa pack-indexfiler för ett befintligt packat arkiv"
msgid "Create an empty Git repository or reinitialize an existing one"
msgstr "Skapa tomt Git-arkiv eller ominitiera ett befintligt"
@@ -14353,7 +14455,7 @@ msgid "Creates a temporary file with a blob's contents"
msgstr "Skapar temporära filer med innehållet från en blob"
msgid "Unpack objects from a packed archive"
-msgstr "Packa upp objekt från ett pakat arkiv"
+msgstr "Packa upp objekt från ett packat arkiv"
msgid "Register file contents in the working tree to the index"
msgstr "Registrera filinnehållet från arbetskatalogen i indexet"
@@ -14410,7 +14512,7 @@ msgid "Git for CVS users"
msgstr "Git för CVS-användare"
msgid "Tweaking diff output"
-msgstr "Justrea diff-utdata"
+msgstr "Justera diff-utdata"
msgid "A useful minimum set of commands for Everyday Git"
msgstr "Ett användbart minsta uppsättning kommandon för vardags-Git"
@@ -14518,7 +14620,7 @@ msgid "commit-graph generations chunk is wrong size"
msgstr "incheckningsgrafens generationsstycke har fel storlek"
msgid "commit-graph changed-path index chunk is too small"
-msgstr "incheckningsgrafens ändrade-sökvägar-indexstycke är förö litet"
+msgstr "incheckningsgrafens ändrade-sökvägar-indexstycke är för litet"
#, c-format
msgid ""
@@ -14582,10 +14684,10 @@ msgstr "incheckningsgrafens kedjefil är för liten"
#, c-format
msgid "invalid commit-graph chain: line '%s' not a hash"
-msgstr "ogiltig incheckingsgrafkedja: rad ”%s” är inte ett hash-värde"
+msgstr "ogiltig incheckningsgrafkedja: rad ”%s” är inte ett hash-värde"
msgid "unable to find all commit-graph files"
-msgstr "kan inte hitta alla incheckingsgraffiler"
+msgstr "kan inte hitta alla incheckningsgraffiler"
msgid "invalid commit position. commit-graph is likely corrupt"
msgstr "ogiltig incheckningsposition. incheckningsgrafen är troligtvis trasig"
@@ -14627,8 +14729,8 @@ msgstr "Samlar refererade incheckningar"
#, c-format
msgid "Finding commits for commit graph in %<PRIuMAX> pack"
msgid_plural "Finding commits for commit graph in %<PRIuMAX> packs"
-msgstr[0] "Söker incheckningar för incheckingsgraf i %<PRIuMAX> paket"
-msgstr[1] "Söker incheckningar för incheckingsgraf i %<PRIuMAX> paket"
+msgstr[0] "Söker incheckningar för incheckningsgraf i %<PRIuMAX> paket"
+msgstr[1] "Söker incheckningar för incheckningsgraf i %<PRIuMAX> paket"
#, c-format
msgid "error adding pack %s"
@@ -14639,10 +14741,10 @@ msgid "error opening index for %s"
msgstr "fel vid öppning av indexet för %s"
msgid "Finding commits for commit graph among packed objects"
-msgstr "Söker incheckningar för incheckingsgraf i packade objekt"
+msgstr "Söker incheckningar för incheckningsgraf i packade objekt"
msgid "Finding extra edges in commit graph"
-msgstr "Söker ytterligare kanter i incheckingsgraf"
+msgstr "Söker ytterligare kanter i incheckningsgraf"
msgid "failed to write correct number of base graph ids"
msgstr "misslyckades skriva korrekt antal bas-graf-id:n"
@@ -14664,7 +14766,7 @@ msgid "unable to open commit-graph chain file"
msgstr "kan inte öppna incheckningsgrafkedjefilen"
msgid "failed to rename base commit-graph file"
-msgstr "misslyckades byta namn på bas-incheckingsgraffilen"
+msgstr "misslyckades byta namn på bas-incheckningsgraffilen"
msgid "failed to rename temporary commit-graph file"
msgstr "misslyckades byta namn på temporär incheckningsgraffil"
@@ -14777,7 +14879,7 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"Stöd för <GIT_DIR>/info/grafts avråds från och\n"
"kommer tas bort i en framtida version av Git.\n"
@@ -14786,7 +14888,7 @@ msgstr ""
"för att omvandla grafts till ersättningsreferenser.\n"
"\n"
"Slå av detta meddelande genom att skriva\n"
-"”git config advice.graftFileDeprecated false”"
+"”git config set advice.graftFileDeprecated false”"
#, c-format
msgid "commit %s exists in commit-graph but not in the object database"
@@ -15233,7 +15335,7 @@ msgstr "referensen ”%s” pekar inte på en blob"
#, c-format
msgid "unable to resolve config blob '%s'"
-msgstr "kan inte slå upp konfigurerings-bloben ”%s”"
+msgstr "kan inte slå upp konfigurerings-blobben ”%s”"
msgid "unable to parse command-line config"
msgstr "kan inte tolka kommandoradskonfiguration"
@@ -15595,7 +15697,20 @@ msgstr "url saknar protokoll: %s"
#, c-format
msgid "credential url cannot be parsed: %s"
-msgstr "kan inte tolka url för inloggingsuppgifter: %s"
+msgstr "kan inte tolka url för inloggningsuppgifter: %s"
+
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "felaktig tidsgräns ”%s”, förväntade ett icke-negativt heltal"
+
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr ""
+"felaktig värde för init-timeout ”%s”, förväntade ett icke-negativt heltal"
+
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "felaktigt värde för max-connections ”%s”, förväntade ett heltal"
msgid "in the future"
msgstr "i framtiden"
@@ -15987,7 +16102,7 @@ msgid "use default prefixes a/ and b/"
msgstr "använd standardprefixen a/ och b/"
msgid "show context between diff hunks up to the specified number of lines"
-msgstr "visa sammnhang mellan diff-stycken upp till angivet antal rader"
+msgstr "visa sammanhang mellan diff-stycken upp till angivet antal rader"
msgid "<char>"
msgstr "<tecken>"
@@ -16296,6 +16411,20 @@ msgstr "felaktig git-namnrymdssökväg ”%s”"
msgid "too many args to run %s"
msgstr "för många flaggor för att köra %s"
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"Du försöker hämta %s som är i incheckningsgrafen men inte i "
+"objektdatabasen.\n"
+"Det händer antagligen på grund av att arkivet är trasigt.\n"
+"Om du försöker reparera det trasiga arkivet genom att hämta om det saknade "
+"objektet, använd ”git fetch --refetch” med det saknade objektet."
+
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: förväntade grund lista"
@@ -16493,7 +16622,7 @@ msgstr "Servern tillåter inte förfrågan om ej tillkännagivet objekt %s"
#, c-format
msgid "fsmonitor_ipc__send_query: invalid path '%s'"
-msgstr "fsmonitor_ipc__send_query: ogilitg sökväg ”%s”"
+msgstr "fsmonitor_ipc__send_query: ogiltig sökväg ”%s”"
#, c-format
msgid "fsmonitor_ipc__send_query: unspecified error on '%s'"
@@ -16767,7 +16896,7 @@ msgid "Interacting with Others"
msgstr "Interaktion med andra"
msgid "Low-level Commands / Manipulators"
-msgstr "Lågnivåkommandon / maniupulerare"
+msgstr "Lågnivåkommandon / manipulerare"
msgid "Low-level Commands / Interrogators"
msgstr "Lågnivåkommandon / frågare"
@@ -16807,7 +16936,7 @@ msgid "External commands"
msgstr "Externa kommandon"
msgid "Command aliases"
-msgstr "Kommadoalias"
+msgstr "Kommandoalias"
msgid "See 'git help <command>' to read about a specific subcommand"
msgstr "Se ”git help <kommando>” för att läsa om ett specifikt underkommando"
@@ -16880,10 +17009,10 @@ msgstr[1] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
"Kroken ”%s” ignorerades eftersom den inte är markerad som körbar.\n"
-"Du kan inaktivera varningen med ”git config advice.ignoredHook false”."
+"Du kan inaktivera varningen med ”git config set advice.ignoredHook false”."
msgid "not a git repository"
msgstr "inte ett git-arkiv"
@@ -16900,15 +17029,9 @@ msgstr "http.postBuffer har negativt värde; använder förvalet %d"
msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "Delegerad styrning stöds inte av cURL < 7.22.0"
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "Fastnålning av öppen nyckel stöds inte av cURL < 7.39.0"
-
msgid "Unknown value for http.proactiveauth"
msgstr "Okänt värde för http.proactiveauth"
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "CURLSSLOPT_NO_REVOKE stöds inte av cURL < 7.44.0"
-
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "SSL-bakändan ”%s” stöds inte. Dessa SSL-bakändor stöds:"
@@ -17092,6 +17215,10 @@ msgid "unable to format message: %s"
msgstr "kan inte formatera meddelandet: %s"
#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "felaktigt värde för marker-size ”%s”, förväntade ett heltal"
+
+#, c-format
msgid "Failed to merge submodule %s (not checked out)"
msgstr "Misslyckades slå ihop undermodulen %s (ej utcheckad)"
@@ -17152,7 +17279,7 @@ msgid ""
"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of "
"implicit directory rename(s) putting the following path(s) there: %s."
msgstr ""
-"KONFLIKT (implicit nämnändrad kat): Befintlig fil/kat vid %s är i vägen för "
+"KONFLIKT (implicit namnändrad kat): Befintlig fil/kat vid %s är i vägen för "
"implicit namnändrad(e) katalog(er) som lägger dit följande sökväg(ar): %s."
#, c-format
@@ -17314,7 +17441,7 @@ msgid ""
" - resolve any other conflicts in the superproject\n"
" - commit the resulting index in the superproject\n"
msgstr ""
-"Rekursiv sammanslaning med undermoduler stöder för närvarande endast enkla "
+"Rekursiv sammanslagning med undermoduler stöder för närvarande endast enkla "
"fall.\n"
"Du måste hantera sammanslagning av undermoduler i konflikt manuellt.\n"
"Detta kan göras genom att utföra följande steg:\n"
@@ -17996,6 +18123,14 @@ msgid "missing mapping of %s to %s"
msgstr "saknar koppling av %s till %s"
#, c-format
+msgid "unable to open %s"
+msgstr "kan inte öppna %s"
+
+#, c-format
+msgid "files '%s' and '%s' differ in contents"
+msgstr "filerna ”%s” och ”%s” har olika innehåll"
+
+#, c-format
msgid "unable to write file %s"
msgstr "kan inte skriva filen %s"
@@ -18039,7 +18174,7 @@ msgstr "kan inte utföra ”deflate” på nytt strömobjekt (%d)"
#, c-format
msgid "deflateEnd on stream object failed (%d)"
-msgstr "”deflatEend” på strömobjektet misslyckades (%d)"
+msgstr "”deflateEnd” på strömobjektet misslyckades (%d)"
#, c-format
msgid "unable to create directory %s"
@@ -18081,10 +18216,6 @@ msgid "%s is not a valid '%s' object"
msgstr "%s är inte ett giltigt ”%s”-objekt"
#, c-format
-msgid "unable to open %s"
-msgstr "kan inte öppna %s"
-
-#, c-format
msgid "hash mismatch for %s (expected %s)"
msgstr "hash stämmer inte för %s (förväntade %s)"
@@ -18185,7 +18316,7 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"Git skapar normalt aldrig referenser som slutar med 40 hexadecimala\n"
"tecken, då detta ignoreras när du anger 40-hex enbart. Dessa\n"
@@ -18195,7 +18326,7 @@ msgstr ""
"\n"
"där ”$br” på något sätt blivit tomt och en 40-hex-referens skapats.\n"
"Undersök referenserna och ta kanske bort dem. Stäng av meddelandet\n"
-"genom att köra ”git config advice.objectNameWarning false”"
+"genom att köra ”git config set advice.objectNameWarning false”"
#, c-format
msgid "log for '%.*s' only goes back to %s"
@@ -18313,7 +18444,7 @@ msgid ""
"corrupted bitmap index file (too short to fit pseudo-merge table header)"
msgstr ""
"trasig bitkarteindexfil (för kort för att få plats för pseudo-"
-"sammanslagningsatbellhuvudet)"
+"sammanslagningstabellhuvudet)"
msgid "corrupted bitmap index file (too short to fit pseudo-merge table)"
msgstr ""
@@ -18354,13 +18485,6 @@ msgstr "flerpaketsbitkarta saknar nödvändigt omvänt index"
msgid "could not open pack %s"
msgstr "kunde inte öppna paketfilen %s"
-msgid "could not determine MIDX preferred pack"
-msgstr "kunde inte bestämma det föredragna MIDX-paketet"
-
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "föredragen paketfil (%s) är ogiltig"
-
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "trasig bitkarteuppslagstabell: trippelposition utanför indexet"
@@ -18414,7 +18538,7 @@ msgstr "bitkarteresultat stämmer inte överens"
#, c-format
msgid "pseudo-merge index out of range (%<PRIu32> >= %<PRIuMAX>)"
-msgstr "pseudosammanslaningsindex utenför intervallet (%<PRIu32> ≥ %<PRIuMAX>)"
+msgstr "pseudosammanslagningsindex utanför intervallet (%<PRIu32> ≥ %<PRIuMAX>)"
#, c-format
msgid "could not find '%s' in pack '%s' at offset %<PRIuMAX>"
@@ -18509,7 +18633,7 @@ msgstr "offset före slutet av packindex för %s (trasigt index?)"
#, c-format
msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr "offset borton slutet av packindex för %s (trunkerat index?)"
+msgstr "offset bortom slutet av packindex för %s (trunkerat index?)"
#, c-format
msgid "malformed expiration date '%s'"
@@ -18885,7 +19009,7 @@ msgid ""
"could not parse first line of `log` output: did not start with 'commit ': "
"'%s'"
msgstr ""
-"kunde inte tolka första raden i ”log”-updata: börjar inte med ”commit ”: ”%s”"
+"kunde inte tolka första raden i ”log”-utdata: börjar inte med ”commit ”: ”%s”"
#, c-format
msgid "could not parse git header '%.*s'"
@@ -19000,7 +19124,7 @@ msgstr "%s: öppning av indexfilen misslyckades"
#, c-format
msgid "%s: cannot stat the open index"
-msgstr "%s: kan inte ta startus på det öppna indexet"
+msgstr "%s: kan inte ta status på det öppna indexet"
#, c-format
msgid "%s: index file smaller than expected"
@@ -19269,7 +19393,7 @@ msgstr "kan inte helt tolka %s=%s"
#, c-format
msgid "value expected %s="
-msgstr "vädre förväntades %s="
+msgstr "värde förväntades %s="
#, c-format
msgid "positive value expected '%s' in %%(%s)"
@@ -19475,18 +19599,26 @@ msgstr "loggen för referensen %s slutade oväntat på %s"
msgid "log for %s is empty"
msgstr "loggen för %s är tom"
-msgid "refusing to force and skip creation of reflog"
-msgstr "vägrar att tvinga och hoppa över skapande av reflogg"
-
#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "vägrar uppdatera referens med trasigt namn ”%s”"
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "vägrar uppdatera referenslogg för pseudoreferensen ”%s”"
#, c-format
msgid "refusing to update pseudoref '%s'"
msgstr "vägrar uppdatera pseudoreferensen ”%s”"
#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "vägrar uppdatera referenslogg med trasigt namn ”%s”"
+
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "vägrar uppdatera referens med trasigt namn ”%s”"
+
+msgid "refusing to force and skip creation of reflog"
+msgstr "vägrar att tvinga och hoppa över skapande av reflogg"
+
+#, c-format
msgid "update_ref failed for ref '%s': %s"
msgstr "update_ref misslyckades för referensen ”%s”: %s"
@@ -19536,6 +19668,10 @@ msgstr ""
"men är en vanlig referens"
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "kan inte läsa ref-fil ”%s”"
+
+#, c-format
msgid "cannot open directory %s"
msgstr "kunde inte öppna katalogen %s"
@@ -19741,6 +19877,10 @@ msgid "more than one uploadpack given, using the first"
msgstr "mer än en uploadpack angavs, använder den första"
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "okänt värde ”%s” för followRemoteHEAD ignorerades"
+
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "okänt värde transfer.credentialsInUrl: ”%s”"
@@ -19792,7 +19932,7 @@ msgid ""
"\n"
"Neither worked, so we gave up. You must fully qualify the ref."
msgstr ""
-"Målet du angav är inte ett komplett referensamn (dvs.,\n"
+"Målet du angav är inte ett komplett referensnamn (dvs.,\n"
"startar med ”refs/”). Vi försökte gissa vad du menade genom att:\n"
"\n"
"- Se efter en referens som motsvarar ”%s” på fjärrsidan.\n"
@@ -20050,7 +20190,7 @@ msgstr "misslyckades 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"
+msgstr "sektionen för dolda referenser stöds ej: %s"
msgid "--exclude-hidden= passed more than once"
msgstr "--exclude-hidden= angavs mer än en gång"
@@ -20333,7 +20473,7 @@ msgid ""
"not sending a push certificate since the receiving end does not support --"
"signed push"
msgstr ""
-"sänder inte push-certifikat eftersom mottagarsidan inte stlder push med --"
+"sänder inte push-certifikat eftersom mottagarsidan inte stöder push med --"
"signed"
msgid "the receiving end does not support --atomic push"
@@ -20693,7 +20833,7 @@ msgstr "”%s” är inte ett giltigt referensnamn"
#, c-format
msgid "update-ref requires a fully qualified refname e.g. refs/heads/%s"
-msgstr "update-ref kräver ett fullständigt referensnamn, t.ex refs/heads/%s"
+msgstr "update-ref kräver ett fullständigt referensnamn, t.ex. refs/heads/%s"
#, c-format
msgid "'%s' does not accept merge commits"
@@ -21665,6 +21805,9 @@ msgstr "incheckning %s är inte märkt nåbar"
msgid "too many commits marked reachable"
msgstr "för många incheckningar markerade nåbara"
+msgid "could not determine MIDX preferred pack"
+msgstr "kunde inte bestämma det föredragna MIDX-paketet"
+
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<flaggor>]"
@@ -21698,7 +21841,7 @@ msgstr ""
"[<buntstorlek>]"
msgid "name or pathname of unix domain socket"
-msgstr "namn eller sövkäg till unixdomän-uttag"
+msgstr "namn eller sökväg till unixdomän-uttag"
msgid "named-pipe name"
msgstr "namn på namngivet rör"
@@ -21800,10 +21943,10 @@ msgstr "kunde inte läsa referensen %s"
#, c-format
msgid "unknown response to connect: %s"
-msgstr "okänt svar på ansluntning: %s"
+msgstr "okänt svar på anslutning: %s"
msgid "setting remote service path not supported by protocol"
-msgstr "protkollet stöder inte att sätta sökväg till fjärrtjänst"
+msgstr "protokollet stöder inte att sätta sökväg till fjärrtjänst"
msgid "invalid remote service path"
msgstr "felaktig sökväg till fjärrtjänst"
@@ -21816,7 +21959,7 @@ msgid "--negotiate-only requires protocol v2"
msgstr "--negotiate-only kräver protokoll v2"
msgid "'option' without a matching 'ok/error' directive"
-msgstr "”option” utan mostsvarande ”ok/error”-direktiv"
+msgstr "”option” utan motsvarande ”ok/error”-direktiv"
#, c-format
msgid "expected ok/error, helper said '%s'"
@@ -22319,6 +22462,9 @@ msgstr ".git-filen är trasig"
msgid ".git file incorrect"
msgstr ".git-filen är felaktig"
+msgid ".git file absolute/relative path mismatch"
+msgstr "absolut/relativ sökväg för .git-fil stämmer inte överens"
+
msgid "not a valid path"
msgstr "inte en giltig sökväg"
@@ -22334,6 +22480,9 @@ msgstr "kan inte hitta arkivet; ”.git”-filen är trasig"
msgid "gitdir unreadable"
msgstr "gitdir är oläsbar"
+msgid "gitdir absolute/relative path mismatch"
+msgstr "absolut/relativ sökväg för git-katalog stämmer inte överens"
+
msgid "gitdir incorrect"
msgstr "gitdir är felaktig"
@@ -22368,6 +22517,13 @@ msgstr "kan inte slå av %s i ”%s”"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "misslyckades ändra inställningen extensions.worktreeConfig"
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"kunde inte uppgradera arkivformat till att stöda relativa arbetskataloger"
+
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "misslyckades ändra inställningen extensions.relativeWorktrees"
+
#, c-format
msgid "could not setenv '%s'"
msgstr "kunde inte lagra miljövariabeln ”%s”"
@@ -22866,7 +23022,7 @@ msgstr "Kan inte byta katalog till $cdup, toppnivån på arbetskatalogen"
#, sh-format
msgid "fatal: $program_name cannot be used without a working tree."
-msgstr "ödesdigetrt: $program_name kan inte användas utan arbetskatalog."
+msgstr "ödesdigert: $program_name kan inte användas utan arbetskatalog."
msgid "Cannot rewrite branches: You have unstaged changes."
msgstr "Kan inte skriva om grenar: Du har oköade ändringar."
@@ -22915,7 +23071,7 @@ msgid "--dump-aliases incompatible with other options\n"
msgstr "--dump-aliases är inkompatibelt med andra flaggor\n"
msgid "--dump-aliases and --translate-aliases are mutually exclusive\n"
-msgstr "--dump-aliases och --translate-aliases är ömsesidigt utelsutande\n"
+msgstr "--dump-aliases och --translate-aliases är ömsesidigt uteslutande\n"
msgid ""
"fatal: found configuration options for 'sendmail'\n"
@@ -22956,7 +23112,7 @@ msgstr "varning: ”:include:” stöds inte: %s\n"
#, perl-format
msgid "warning: `/file` or `|pipe` redirection not supported: %s\n"
-msgstr "varning: omdirigering til ”/fil” eller ”|rör” stöds inte: %s\n"
+msgstr "varning: omdirigering till ”/fil” eller ”|rör” stöds inte: %s\n"
#, perl-format
msgid "warning: sendmail line is not recognized: %s\n"
@@ -23184,7 +23340,7 @@ msgid "cannot send message as 7bit"
msgstr "kan inte sända brev som sjubitars"
msgid "invalid transfer encoding"
-msgstr "ogiltig överföringskondning"
+msgstr "ogiltig överföringskodning"
#, perl-format
msgid ""
@@ -23217,10 +23373,3 @@ msgstr ""
#, perl-format
msgid "Do you really want to send %s? [y|N]: "
msgstr "Vill du verkligen sända %s? [y=ja, n=nej]: "
-
-#~ msgid "revision walk setup failed\n"
-#~ msgstr "misslyckades starta revisionstraversering\n"
-
-#, c-format
-#~ msgid "unable to parse contact: %s"
-#~ msgstr "kan inte tolka kontakt: %s"
diff --git a/po/tr.po b/po/tr.po
index 7aede5cd5f..1bc43453aa 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -2,7 +2,7 @@
# Git Türkçe çevirileri
# Copyright (C) 2020-2024 Emir SARI <emir_sari@icloud.com>
# This file is distributed under the same license as the Git package.
-# Emir SARI <emir_sari@icloud.com>, 2020-2024
+# Emir SARI <emir_sari@icloud.com>, 2020-2025
#
# ######################################################### #
# Git Türkçe kavramlar dizini / Git Turkish Glossary #
@@ -96,8 +96,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: 2024-10-03 06:52+0300\n"
-"PO-Revision-Date: 2024-10-03 07:00+0300\n"
+"POT-Creation-Date: 2024-12-23 18:57+0000\n"
+"PO-Revision-Date: 2025-01-01 15: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"
@@ -714,10 +714,10 @@ msgstr "Yalnızca ikili dosyalar değiştirildi."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"Bu iletiyi \"git config advice.%s false\" ile devre dışı bırakın"
+"Bu iletiyi \"git config set advice.%s false\" ile devre dışı bırakın"
#, c-format
msgid "%shint:%s%.*s%s\n"
@@ -1441,8 +1441,9 @@ msgstr "geçerli bir nesne adı değil: %s"
msgid "not a tree object: %s"
msgstr "bir ağaç nesnesi değil: %s"
-msgid "unable to checkout working tree"
-msgstr "çalışma ağacı çıkış yapılamıyor"
+#, c-format
+msgid "failed to unpack tree object %s"
+msgstr "%s ağaç nesnesi açılamadı"
#, c-format
msgid "File not found: %s"
@@ -3072,8 +3073,8 @@ msgid "HEAD not found below refs/heads!"
msgstr "HEAD, refs/heads altında bulunamadı!"
msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
+"branch with --recurse-submodules can only be used if "
+"submodule.propagateBranches is enabled"
msgstr ""
"--recurse-submodules ile dallanma, yalnızca submodule.propagateBranches "
"etkinleştirilmişse kullanılabilir"
@@ -3921,9 +3922,8 @@ msgstr "yeni henüz doğmamış dal"
msgid "update ignored files (default)"
msgstr "yok sayılan dosyaları güncelle (öntanımlı)"
-msgid "do not check if another worktree is holding the given ref"
-msgstr ""
-"verilen başvuruyu başka bir çalışma ağacının tutup tutmadığını denetleme"
+msgid "do not check if another worktree is using this branch"
+msgstr "bu dalı başka bir çalışma ağacının kullanıp kullanmadığını denetleme"
msgid "checkout our version for unmerged files"
msgstr "birleştirilmeyen dosyalar için bizdeki sürümü çıkış yap"
@@ -4224,11 +4224,11 @@ msgstr "verilen derinlikte sığ bir depo oluştur"
msgid "create a shallow clone since a specific time"
msgstr "verilen zamandan sonrasını içeren bir sığ depo oluştur"
-msgid "revision"
-msgstr "revizyon"
+msgid "ref"
+msgstr "başvuru"
-msgid "deepen history of shallow clone, excluding rev"
-msgstr "revizyonu hariç tutarak sığ klonun geçmişini derinleştir"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "başvuru hariç tutarak sığ klonun geçmişini derinleştir"
msgid "clone only one branch, HEAD or --branch"
msgstr "yalnızca bir dal klonla, HEAD veya --branch"
@@ -4355,6 +4355,9 @@ msgstr "sparse-checkout ilklendirilemedi"
msgid "remote HEAD refers to nonexistent ref, unable to checkout"
msgstr "uzak konum HEAD'i, var olmayan başvuruya başvuruyor; çıkış yapılamıyor"
+msgid "unable to checkout working tree"
+msgstr "çalışma ağacı çıkış yapılamıyor"
+
msgid "unable to write parameters to config file"
msgstr "parametreler yapılandırma dosyasına yazılamıyor"
@@ -5163,10 +5166,10 @@ msgstr ""
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
"git config unset [<dosya-seçeneği>] [--all] [--value=<değer>] [--fixed-"
-"value] <ad> <değer>"
+"value] <ad>"
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
msgstr "git config rename-section [<dosya-seçeneği>] <eski-ad> <yeni-ad>"
@@ -5601,12 +5604,8 @@ msgid "traversed %lu commits\n"
msgstr "%lu işleme katedildi\n"
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"%i etiketten fazla etiket bulundu; en son %i listelendi\n"
-"şu konumda arama bırakıldı: %s\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "%i etiket bulundu; arama şurada bitirildi: %s\n"
#, c-format
msgid "describe %s\n"
@@ -6040,6 +6039,21 @@ msgstr "%s geçerli bir nesne değil"
msgid "the object %s does not exist"
msgstr "%s diye bir nesne yok"
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Değişikliği izlemek için 'git remote set-head %s %s' yapın veya\n"
+"'remote.%s.followRemoteHEAD' yapılandırma seçeneğini başka bir\n"
+"değere ayarlayın (bu iletiyi görmek istemiyorsanız). Özellikle\n"
+"'git config set remote.%s.followRemoteHEAD %s' komutunu çalıştırmak\n"
+"uyarıyı HEAD'e veya başka bir şeye uzaktan değişiklik olana dek\n"
+"devre dışı bırakır."
+
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "birden çok dal algılandı, --set-upstream ile uyumsuz"
@@ -6178,6 +6192,9 @@ msgstr "ilgili başvuru"
msgid "specify fetch refmap"
msgstr "getirme ile ilgili başvuruları belirt"
+msgid "revision"
+msgstr "revizyon"
+
msgid "report that we have only objects reachable from this object"
msgstr "yalnızca bu nesneden ulaşılabilir nesnelerimiz olduğunu bildir"
@@ -6232,8 +6249,8 @@ msgid "protocol does not support --negotiate-only, exiting"
msgstr "protokol, --negotiate-only desteklemediğinden çıkılıyor"
msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
+"--filter can only be used with the remote configured in "
+"extensions.partialclone"
msgstr ""
"--filter, yalnızca extensions.partialclone içinde yapılandırılmış uzak konum "
"ile kullanılabilir"
@@ -6898,8 +6915,27 @@ msgstr "ne systemd zamanlayıcıları ne de crontab kullanılabiliyor"
msgid "%s scheduler is not available"
msgstr "%s planlayıcısı kullanılamıyor"
-msgid "another process is scheduling background maintenance"
-msgstr "başka bir işlem arka plan bakımı zamanını planlıyor"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"'%s.lock' oluşturulamıyor: %s.\n"
+"\n"
+"Bu depoda başka bir planlı git-maintenance(1) süreci çalışıyor gibi\n"
+"görünüyor. Lütfen başka bir bakım sürecinin çalışmıyor olduğundan emin\n"
+"olun ve yeniden deneyin. Eğer hâlâ başarısız oluyorsa bir git-"
+"maintenance(1)\n"
+"süreci bu depo içinde daha önceden çakılmış olabilir: Sürdürmek için "
+"dosyayı\n"
+"elle kaldırın."
+
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "planlı arka plan bakımı için kilit alınamıyor"
msgid "git maintenance start [--scheduler=<scheduler>]"
msgstr "git maintenance start [--scheduler=<görev-planlayıcı>]"
@@ -7472,8 +7508,22 @@ msgid_plural "chain length = %d: %lu objects"
msgstr[0] "zincir uzunluğu = %d: %lu nesne"
msgstr[1] "zincir uzunluğu = %d: %lu nesne"
+msgid "could not start pack-objects to repack local links"
+msgstr "yerel bağlantıları yeniden paketleme için pack-objects başlatılamadı"
+
+msgid "failed to feed local object to pack-objects"
+msgstr "yerel nesne pack-objects'e beslenemedi"
+
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack: Onaltılı tam nesne kimliği satırları yalnızca pack-objects'ten "
+"bekleniyor."
+
+msgid "could not finish pack-objects to repack local links"
+msgstr "yerel bağlantıları yeniden paketleme için pack-objects bitirilemedi"
+
msgid "Cannot come back to cwd"
-msgstr "Şu anki çalışma dizinine geri gelinemiyor"
+msgstr "Geçerli çalışma dizinine geri gelinemiyor"
#, c-format
msgid "bad %s"
@@ -7483,6 +7533,9 @@ msgstr "hatalı %s"
msgid "unknown hash algorithm '%s'"
msgstr "bilinmeyen sağlama algoritması '%s'"
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor bir paket adıyla kullanılamaz"
+
msgid "--stdin requires a git repository"
msgstr "--stdin bir git dizini gerektirir"
@@ -8826,11 +8879,11 @@ msgstr "git notes [--ref <not-bşvr>] [list [<nesne>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
-"git notes [--ref <not-bşv>] add [-f] [--allow-empty] [--[no-]separator|--"
-"separator=<paragraf-sonu>] [--[no-]stripspace] [-m <ilet> | -F <dosya> | (-c "
-"| -C) <nesne>] [<nesne>]"
+"git notes [--ref <notlar-baş>] add [-f] [--allow-empty] [--[no-]separator|--"
+"separator=<paragraf-kes>] [--[no-]stripspace] [-m <ileti> | -F <dosya> | (-c "
+"| -C) <nesne>] [<nesne>] [-e]"
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
msgstr "git notes [--ref <not-bşvr>] copy [-f] <nesneden> <nesneye>"
@@ -8838,11 +8891,11 @@ msgstr "git notes [--ref <not-bşvr>] copy [-f] <nesneden> <nesneye>"
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
-"git notes [--ref <not-bşv>] append [--allow-empty] [--[no-]separator|--"
-"separator=<paragraf-sonu>] [--[no-]stripspace] [-m <ileti> | -F <dosya> | (-"
-"c | -C) <nesne>] [<nesne>]"
+"git notes [--ref <notlar-baş>] append [--allow-empty] [--[no-]separator|--"
+"separator=<paragraf-kes>] [--[no-]stripspace] [-m <ileti> | -F <dosya> | (-c "
+"| -C) <nesne>] [<nesne>] [-e]"
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
msgstr "git notes [--ref <not-bşvr>] edit [--allow-empty] [<nesne>]"
@@ -8960,6 +9013,9 @@ msgstr "not içeriği bir dosyada"
msgid "reuse and edit specified note object"
msgstr "belirtilen not nesnesini düzenle ve yeniden kullan"
+msgid "edit note message in editor"
+msgstr "not iletisini düzenleyicide aç"
+
msgid "reuse specified note object"
msgstr "belirtilen not nesnesini yeniden kullan"
@@ -9456,6 +9512,9 @@ msgstr "eksik nesneler için işlem"
msgid "do not pack objects in promisor packfiles"
msgstr "nesneleri vaatçi paket dosyalarıyla paketleme"
+msgid "implies --missing=allow-any"
+msgstr "--missing=allow-any ima eder"
+
msgid "respect islands during delta compression"
msgstr "delta sıkıştırması sırasında adalara uy"
@@ -11057,6 +11116,31 @@ msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " 'git push'%s için yapılandırılan yerel başvuru:"
msgstr[1] " 'git push'%s için yapılandırılan yerel başvurular:"
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "'%s/HEAD' değiştirilmedi ve '%s' konumuna işaret ediyor\n"
+
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD', '%s' konumundan '%s' konumuna değiştirildi\n"
+
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "'%s/HEAD' şimdi oluşturuldu ve '%s' konumuna işaret ediyor\n"
+
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr ""
+"'%s/HEAD', '%s' konumunda ayrıldı ve artık '%s' konumuna işaret ediyor\n"
+
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"'%s/HEAD', uzak dal olmayan '%s' konumuna işaret ediyordu; ancak şimdi '%s' "
+"konumuna işaret ediyor\n"
+
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "refs/remotes/<ad>/HEAD'i uzak konuma göre ayarla"
@@ -11078,7 +11162,7 @@ msgid "Not a valid ref: %s"
msgstr "Geçerli bir başvuru değil: %s"
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "%s ayarlanamadı"
#, c-format
@@ -13779,6 +13863,9 @@ msgstr "izleme kipini ayarla (bkz: git-branch(1))"
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "yeni dalın adını bir uzak izleme dalıyla eşleştirmeyi dene"
+msgid "use relative paths for worktrees"
+msgstr "çalışma ağaçları için göreceli yollar kullan"
+
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
msgstr "'%s', '%s' ve '%s' seçenekleri birlikte kullanılamaz"
@@ -14050,6 +14137,25 @@ msgstr "'%s' oluşturulamıyor"
msgid "index-pack died"
msgstr "index-pack sonlandı"
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "'%s' dizini indekste var; ancak aralıklı değil"
+
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "hasarlı cache-tree'de indekste olmayan girdiler var"
+
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "%s, 0x%x bayraklı olarak cache-tree'de olmamalı"
+
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "hatalı alt ağaç '%.*s'"
+
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr "%.*s yolu için olan cache-tree eşleşmiyor. %s bekleniyordu, %s alındı"
+
msgid "terminating chunk id appears earlier than expected"
msgstr "iri parça numarası sonlandırması beklenenden önce ortaya çıkıyor"
@@ -14829,8 +14935,8 @@ msgid ""
"attempting to write a commit-graph, but 'commitGraph.changedPathsVersion' "
"(%d) is not supported"
msgstr ""
-"bir commit-graph yazılmaya çalışılıyor; ancak 'commitGraph."
-"changedPathsVersion' (%d) desteklenmiyor"
+"bir commit-graph yazılmaya çalışılıyor; ancak "
+"'commitGraph.changedPathsVersion' (%d) desteklenmiyor"
msgid "too many commits to write graph"
msgstr "grafik yazımı için pek fazla işleme"
@@ -14909,7 +15015,7 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"<GIT_DIR>/info/grafts desteği artık kullanılmamalı\n"
"ve ileriki bir Git sürümünde kaldırılacak.\n"
@@ -14917,7 +15023,7 @@ msgstr ""
"Aşıları değiştirme başvurularına dönüştürmek için\n"
"lütfen \"git replace --convert-graft-file\" kullanın.\n"
"\n"
-"\"git config advice.graftFileDeprecated false\"\n"
+"\"git config set advice.graftFileDeprecated false\"\n"
"kullanarak bu iletiyi kapatabilirsiniz"
#, c-format
@@ -15176,8 +15282,8 @@ msgid ""
"remote URLs cannot be configured in file directly or indirectly included by "
"includeIf.hasconfig:remote.*.url"
msgstr ""
-"uzak URL'ler dosya içinde doğrudan veya başka türlü includeIf.hasconfig:"
-"remote.*.url kullanarak yapılandırılamaz"
+"uzak URL'ler dosya içinde doğrudan veya başka türlü "
+"includeIf.hasconfig:remote.*.url kullanarak yapılandırılamaz"
#, c-format
msgid "invalid config format: %s"
@@ -15733,6 +15839,19 @@ msgstr "url'nin şeması yok: %s"
msgid "credential url cannot be parsed: %s"
msgstr "yetki url'si ayrıştırılamıyor: %s"
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "geçersiz zaman aşımı '%s', negatif olmayan bir tamsayı bekleniyor"
+
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr ""
+"geçersiz ilklendirme zaman aşımı '%s', negatif olmayan bir tamsayı bekleniyor"
+
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "geçersiz en çok bağlantı '%s', bir tamsayı bekleniyor"
+
msgid "in the future"
msgstr "gelecekte"
@@ -16439,6 +16558,20 @@ msgstr "hatalı git ad alanı yolu \"%s\""
msgid "too many args to run %s"
msgstr "%s çalıştırmak için pek fazla argüman"
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"İşleme grafiğinde bulunan; ancak nesne veritabanında bulunmayan %s ögesini "
+"getirmeyi deniyorsunuz.\n"
+"Bu, büyük olasılıkla depo hasarından dolayı oluyor.\n"
+"Bu depo hasarını eksik nesneyi yeniden getirerek onarmayı düşünüyorsanız "
+"eksik nesneyle birlikte 'git fetch --refetch' kullanmayı deneyin."
+
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: sığ bir liste bekleniyordu"
@@ -17024,10 +17157,10 @@ msgstr[1] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
"'%s' kancası yok sayıldı; çünkü bir yürütülebilir olarak ayarlanmamış.\n"
-"Bu uyarıyı 'git config advice.ignoredHook false' ile kapatabilirsiniz."
+"Bu uyarıyı 'git config set advice.ignoredHook false' ile kapatabilirsiniz."
msgid "not a git repository"
msgstr "bir git deposu değil"
@@ -17043,15 +17176,9 @@ msgstr "http.postBuffer için negatif değer; %d olarak varsayılıyor"
msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "Delegasyon denetimi cURL < 7.22.0 tarafından desteklenmiyor"
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "Ortak anahtar iğnelemesi cURL < 7.39.0 tarafından desteklenmiyor"
-
msgid "Unknown value for http.proactiveauth"
msgstr "http.proactiveauth için bilinmeyen değer"
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "CURLSSLOPT_NO_REVOKE cURL < 7.44.0 tarafından desteklenmiyor"
-
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "Desteklenmeyen SSL arka ucu '%s'. Desteklenen SSL arka uçları:"
@@ -17238,6 +17365,10 @@ msgid "unable to format message: %s"
msgstr "ileti biçimlendirilemiyor: %s"
#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "geçersiz imleyici boyutu '%s', bir tamsayı bekleniyor"
+
+#, c-format
msgid "Failed to merge submodule %s (not checked out)"
msgstr "%s altmodülü birleştirilemedi (çıkış yapılmadı)"
@@ -18339,7 +18470,7 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"Git normalde hiçbir zaman 40 onaltılı karakterlerle biten bir başvuru\n"
"oluşturmaz; çünkü 40 onaltılı bir başvuru, onu belirlediğiniz zaman yok\n"
@@ -18350,7 +18481,7 @@ msgstr ""
"komutunda \"$br\" bir şekilde boş kalmış ve 40 onaltılı bir başvuru\n"
"oluşturulmuş. Lütfen bu başvuruları inceleyin ve gerekirse silin. Bu "
"iletiyi\n"
-"kapatmak için \"git config advice.objectNameWarning\" yapın"
+"kapatmak için \"git config set advice.objectNameWarning\" yapın"
#, c-format
msgid "log for '%.*s' only goes back to %s"
@@ -18511,13 +18642,6 @@ msgstr "çoklu paket biteşlemi gereken ters indeksi içermiyor"
msgid "could not open pack %s"
msgstr "%s paketi açılamadı"
-msgid "could not determine MIDX preferred pack"
-msgstr "MIDX yeğlenen paketi algılanamadı"
-
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "yeğlenen paket (%s) geçersiz"
-
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "hasarlı biteşlem arama tablosu: üçlü konum indeks dışında"
@@ -19343,8 +19467,8 @@ msgid ""
msgstr ""
"Bu iletiden kaçınmak için, bir işlemeyi kaldırırken açıkça \"drop\" "
"kullanın.\n"
-"Uyarıların düzeyini değiştirmek için 'git config rebase."
-"missingCommitsCheck'\n"
+"Uyarıların düzeyini değiştirmek için 'git config "
+"rebase.missingCommitsCheck'\n"
"kullanın. Kullanılabilir davranışlar: ignore, warn, error.\n"
"\n"
@@ -19626,18 +19750,27 @@ msgstr ""
msgid "log for %s is empty"
msgstr "%s için olan günlük boş"
-msgid "refusing to force and skip creation of reflog"
-msgstr "başvuru günlüğünün oluşturulma/atlanma zorlanması reddediliyor"
-
#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "hatalı ada iye '%s' başvurusunu güncelleme reddediliyor"
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr ""
+"'%s' yalancı başvurusu için olan başvuru günlüğünü güncelleme reddediliyor"
#, c-format
msgid "refusing to update pseudoref '%s'"
msgstr "'%s' yalancı başvurusunun güncellenmesi reddediliyor"
#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "hatalı adlı '%s' başvuru günlüğünü güncelleme reddediliyor"
+
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "hatalı ada iye '%s' başvurusunu güncelleme reddediliyor"
+
+msgid "refusing to force and skip creation of reflog"
+msgstr "başvuru günlüğünün oluşturulma/atlanma zorlanması reddediliyor"
+
+#, c-format
msgid "update_ref failed for ref '%s': %s"
msgstr "'%s' başvurusu için update_ref başarısız oldu: %s"
@@ -19687,6 +19820,10 @@ msgstr ""
"bekleniyordu; ancak bu normal bir başvuru"
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "başvuru dosyası '%s' yazılamıyor"
+
+#, c-format
msgid "cannot open directory %s"
msgstr "%s dizini açılamıyor"
@@ -19894,6 +20031,10 @@ msgid "more than one uploadpack given, using the first"
msgstr "birden fazla uploadpack verildi, birincisi kullanılıyor"
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "tanımlanamayan followRemoteHEAD değeri '%s' yok sayıldı"
+
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "tanımlanamayan değer transfer.credentialsInUrl: '%s'"
@@ -21814,6 +21955,9 @@ msgstr "%s işlemesi ulaşılabilir olarak imlenmedi"
msgid "too many commits marked reachable"
msgstr "pek fazla işleme ulaşılabilir olarak imlenmiş"
+msgid "could not determine MIDX preferred pack"
+msgstr "MIDX yeğlenen paketi algılanamadı"
+
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<seçenekler>]"
@@ -22462,6 +22606,9 @@ msgstr ".git dosyası bozuk"
msgid ".git file incorrect"
msgstr ".git dosyası doğru değil"
+msgid ".git file absolute/relative path mismatch"
+msgstr ".git dosyası mutlak/göreceli yolu uyumsuzluğu"
+
msgid "not a valid path"
msgstr "geçerli bir yol değil"
@@ -22477,6 +22624,9 @@ msgstr "depo konumu bulunamıyor: .git dosyası bozuk"
msgid "gitdir unreadable"
msgstr "okunamayan gitdir"
+msgid "gitdir absolute/relative path mismatch"
+msgstr "gitdir mutlak/göreceli yolu uyumsuzluğu"
+
msgid "gitdir incorrect"
msgstr "doğru olmayan gitdir"
@@ -22511,6 +22661,13 @@ msgstr "%s, '%s' içinde ayarı kaldırılamıyor"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "extensions.worktreeConfig yapılandırması ayarlanamadı"
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"depo biçimi göreceli çalışma ağaçlarını desteklemesi için yükseltilemiyor"
+
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "extensions.relativeWorktrees yapılandırması ayarlanamadı"
+
#, c-format
msgid "could not setenv '%s'"
msgstr "setenv '%s' yapılamadı"
diff --git a/po/uk.po b/po/uk.po
index 297f7b0687..5f68f36c7d 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Git v2.46\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2023-04-11 09:55-0700\n"
-"PO-Revision-Date: 2024-07-24 08:45-0700\n"
-"Last-Translator: Arkadii Yakovets <ark@cho.red>\n"
+"POT-Creation-Date: 2025-01-04 19:26-0800\n"
+"PO-Revision-Date: 2025-01-03 14:17-0800\n"
+"Last-Translator: Kateryna Golovanova <kate@kgthreads.com>\n"
"Language-Team: Ukrainian <https://github.com/arkid15r/git-uk-l10n/>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
-"X-Generator: Poedit 3.4.2\n"
+"X-Generator: Poedit 3.5\n"
#, c-format
msgid "Huh (%s)?"
@@ -41,7 +41,7 @@ msgstr "Оновити"
#, c-format
msgid "could not stage '%s'"
-msgstr "не вдалося додати до індексу %s"
+msgstr "не вдалося додати до індексу \"%s\""
msgid "could not write index"
msgstr "не вдалося записати індекс"
@@ -549,7 +549,7 @@ msgid ""
"/ - search for a hunk matching the given regex\n"
"s - split the current hunk into smaller hunks\n"
"e - manually edit the current hunk\n"
-"p - print the current hunk\n"
+"p - print the current hunk, 'P' to use the pager\n"
"? - print help\n"
msgstr ""
"j - залишити цей шматок невизначеним, перейти до наступного невизначеного "
@@ -562,7 +562,7 @@ msgstr ""
"/ - шукати шматок, що відповідає заданому регвиру\n"
"s - розбити поточний шматок на менші шматки\n"
"e - редагувати поточний шматок вручну\n"
-"p - показати поточний шматок\n"
+"p - показати поточний шматок, \"P\" для гортання сторінок\n"
"? - показати довідку\n"
#, c-format
@@ -634,10 +634,11 @@ msgstr "Змінено лише бінарні файли."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"Вимкнути це повідомлення можна за допомогою \"git config advice.%s false\""
+"Вимкнути це повідомлення можна за допомогою \"git config set advice.%s "
+"false\""
#, c-format
msgid "%shint:%s%.*s%s\n"
@@ -761,8 +762,8 @@ msgstr ""
"\n"
" git switch -\n"
"\n"
-"Щоб вимкнути цю пораду, встановіть конфігураційний параметр advice."
-"detachedHead у false\n"
+"Щоб вимкнути цю пораду, встановіть конфігураційний параметр "
+"advice.detachedHead у false\n"
#, c-format
msgid ""
@@ -1255,6 +1256,15 @@ msgstr ""
"спробувати тристороннє злиття, повернутися до звичайного латання, якщо це не "
"вдасться"
+msgid "for conflicts, use our version"
+msgstr "у разі конфліктів використовувати нашу версію"
+
+msgid "for conflicts, use their version"
+msgstr "у разі конфліктів використовувати їхню версію"
+
+msgid "for conflicts, use a union version"
+msgstr "у разі конфліктів використовувати обʼєднану версію"
+
msgid "build a temporary index based on embedded index information"
msgstr "створити тимчасовий індекс на основі вбудованої індексної інформації"
@@ -1300,6 +1310,9 @@ msgstr "додати <корінь> до всіх назв файлів"
msgid "don't return error for empty patches"
msgstr "не повертати помилку для порожніх латок"
+msgid "--ours, --theirs, and --union require --3way"
+msgstr "--ours, --theirs, та --union вимагають --3way"
+
#, c-format
msgid "cannot stream blob %s"
msgstr "неможливо транслювати blob %s"
@@ -1372,6 +1385,10 @@ msgid "not a tree object: %s"
msgstr "не є об’єктом дерева: %s"
#, c-format
+msgid "failed to unpack tree object %s"
+msgstr "не вдалося розпакувати обʼєкт дерева %s"
+
+#, c-format
msgid "File not found: %s"
msgstr "Файл не знайдено: %s"
@@ -2174,7 +2191,7 @@ msgstr ""
#, c-format
msgid "Could not parse object '%s'."
-msgstr "Не вдалося розібрати об'єкт '%s'."
+msgstr "Не вдалося розібрати обʼєкт \"%s\"."
msgid "failed to clean index"
msgstr "не вдалося очистити індекс"
@@ -2484,9 +2501,6 @@ msgstr ""
"неприпустимий аргумент %s для \"git bisect terms\".\n"
"Підтримувані опції: --term-good|--term-old і --term-bad|--term-new."
-msgid "revision walk setup failed\n"
-msgstr "не вдалося налаштувати проходження по ревізіям\n"
-
#, c-format
msgid "could not open '%s' for appending"
msgstr "не вдалося відкрити \"%s\" для додавання"
@@ -3026,8 +3040,8 @@ msgid "HEAD not found below refs/heads!"
msgstr "HEAD не знайдено під refs/heads!"
msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
+"branch with --recurse-submodules can only be used if "
+"submodule.propagateBranches is enabled"
msgstr ""
"гілку з --recurse-submodules можна використовувати лише якщо увімкнено "
"submodule.propagateBranches"
@@ -3478,9 +3492,14 @@ msgstr "git check-mailmap [<опції>] <контакт>..."
msgid "also read contacts from stdin"
msgstr "також читати контакти з stdin"
-#, c-format
-msgid "unable to parse contact: %s"
-msgstr "не вдалося розібрати контакт: %s"
+msgid "read additional mailmap entries from file"
+msgstr "зчитувати додаткові записи mailmap з файлу"
+
+msgid "blob"
+msgstr "blob"
+
+msgid "read additional mailmap entries from blob"
+msgstr "зчитувати додаткові записи mailmap з blob"
msgid "no contacts specified"
msgstr "контакти не вказані"
@@ -3648,7 +3667,7 @@ msgstr "Вже на \"%s\"\n"
#, c-format
msgid "Switched to and reset branch '%s'\n"
-msgstr "Переключено на та скинуто гілку '%s'\n"
+msgstr "Переключено на та скинуто гілку \"%s\"\n"
#, c-format
msgid "Switched to a new branch '%s'\n"
@@ -3842,19 +3861,23 @@ msgstr "шляхи не можуть використовуватись при
#, c-format
msgid "'%s' cannot be used with switching branches"
-msgstr "'%s' не може використовуватись при переключенні гілок"
+msgstr "\"%s\" не може використовуватись при переключенні гілок"
+
+#, c-format
+msgid "'%s' needs the paths to check out"
+msgstr "\"%s\" потрібні шляхи для переходу"
#, c-format
msgid "'%s' cannot be used with '%s'"
-msgstr "'%s' не може використовуватись з '%s'"
+msgstr "\"%s\" не може використовуватись з \"%s\""
#, c-format
msgid "'%s' cannot take <start-point>"
-msgstr "'%s' не може прийняти <стартова-точка>"
+msgstr "\"%s\" не може прийняти <стартова-точка>"
#, c-format
msgid "Cannot switch branch to a non-commit '%s'"
-msgstr "Неможливо переключити гілку на не коміт '%s'"
+msgstr "Неможливо переключити гілку на не коміт \"%s\""
msgid "missing branch or commit argument"
msgstr "відсутня гілка або коміт"
@@ -3887,8 +3910,8 @@ msgstr "нова ненароджена гілка"
msgid "update ignored files (default)"
msgstr "оновити ігноровані файли (за замовчуванням)"
-msgid "do not check if another worktree is holding the given ref"
-msgstr "не перевіряти, чи інше робоче дерево містить дане посилання"
+msgid "do not check if another worktree is using this branch"
+msgstr "не перевіряти, чи використовує цю гілку інше робоче дерево"
msgid "checkout our version for unmerged files"
msgstr "використовувати нашу версію для не злитих файлів"
@@ -3919,11 +3942,11 @@ msgstr "неприпустиме зазначення шляху"
#, c-format
msgid "'%s' is not a commit and a branch '%s' cannot be created from it"
-msgstr "'%s' не є комітом, і з нього не можна створити гілку '%s'"
+msgstr "\"%s\" не є комітом, і з нього не можна створити гілку \"%s\""
#, c-format
msgid "git checkout: --detach does not take a path argument '%s'"
-msgstr "git checkout: --detach не приймає аргумент шляху '%s'"
+msgstr "git checkout: --detach не приймає аргумент шляху \"%s\""
msgid ""
"git checkout: --ours/--theirs, --force and --merge are incompatible when\n"
@@ -4191,11 +4214,11 @@ msgstr "створити неглибокий клон вказаної глиб
msgid "create a shallow clone since a specific time"
msgstr "створити неглибокий клон з певного часу"
-msgid "revision"
-msgstr "ревізія"
+msgid "ref"
+msgstr "посилання"
-msgid "deepen history of shallow clone, excluding rev"
-msgstr "поглибити історію неглибокого клону, за винятком ревізії"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "поглибити історію неглибокого клону, за винятком посилання"
msgid "clone only one branch, HEAD or --branch"
msgstr "клонувати лише одну гілку, HEAD або --branch"
@@ -4428,7 +4451,7 @@ msgstr "не вдалося ініціалізувати сховище, URI п
#, c-format
msgid "failed to fetch objects from bundle URI '%s'"
-msgstr "не вдалося отримати обʼєкти з пакунка URI '%s'"
+msgstr "не вдалося отримати обʼєкти з пакунка URI \"%s\""
msgid "failed to fetch advertised bundles"
msgstr "не вдалося отримати обіцяні пакунки"
@@ -4618,7 +4641,7 @@ msgstr "git commit-tree: не вдалося прочитати"
msgid ""
"git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]\n"
" [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|"
-"reword):]<commit>)]\n"
+"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"
@@ -4628,14 +4651,14 @@ msgid ""
msgstr ""
"git commit [-a | --interactive | --patch] [-s] [-v] [-u<режим>] [--amend]\n"
" [--dry-run] [(-c | -C | --squash) <коміт> | --fixup [(amend|"
-"reword):]<коміт>)]\n"
+"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[<ідентифікатор "
+" [(--trailer <токен>[(=|:)<значення>])...] [-S[<ідентифікатор-"
"ключа>]]\n"
-" [--] [<визначник шляху>...]"
+" [--] [<визначник-шляху>...]"
msgid "git status [<options>] [--] [<pathspec>...]"
msgstr "git status [<опції>] [--] [<визначник шляху>...]"
@@ -5121,12 +5144,11 @@ msgstr "git config list [<опція-файлу>] [<опція-відображ
msgid ""
"git config get [<file-option>] [<display-option>] [--includes] [--all] [--"
-"regexp=<regexp>] [--value=<value>] [--fixed-value] [--default=<default>] "
-"<name>"
+"regexp] [--value=<value>] [--fixed-value] [--default=<default>] <name>"
msgstr ""
"git config get [<опція-файлу>] [<опція-відображення>] [--includes] [--all] "
-"[--regexp=<регвир>] [--value=<значення>] [--fixed-value] [--"
-"default=<значення -за-умовчанням>] <назва>"
+"[--regexp] [--value=<значення>] [--fixed-value] [--default=<за "
+"замовчуванням>] <назва>"
msgid ""
"git config set [<file-option>] [--type=<type>] [--all] [--value=<value>] [--"
@@ -5137,10 +5159,10 @@ msgstr ""
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
"git config unset [<опція-файлу>] [--all] [--value=<значення>] [--fixed-"
-"value] <назва> <значення>"
+"value] <назва>"
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
msgstr "git config rename-section [<опція-файлу>] <стара-назва> <нова-назва>"
@@ -5155,6 +5177,15 @@ msgid "git config [<file-option>] --get-colorbool <name> [<stdout-is-tty>]"
msgstr "git config [<опція-файлу>] --get-colorbool <назва> [<stdout-is-tty>]"
msgid ""
+"git config get [<file-option>] [<display-option>] [--includes] [--all] [--"
+"regexp=<regexp>] [--value=<value>] [--fixed-value] [--default=<default>] "
+"<name>"
+msgstr ""
+"git config get [<опція-файлу>] [<опція-відображення>] [--includes] [--all] "
+"[--regexp=<регвир>] [--value=<значення>] [--fixed-value] [--default=<за-"
+"замовчуванням>] <назва>"
+
+msgid ""
"git config set [<file-option>] [--type=<type>] [--comment=<message>] [--all] "
"[--value=<value>] [--fixed-value] <name> <value>"
msgstr ""
@@ -5574,12 +5605,8 @@ msgid "traversed %lu commits\n"
msgstr "пройдено через %lu комітів\n"
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"знайдено більше %i тегів; показані %i останніх\n"
-"припинено пошук на %s\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "знайдено %i тегів; припинено пошук на %s\n"
#, c-format
msgid "describe %s\n"
@@ -5964,13 +5991,13 @@ msgid ""
"to avoid this check\n"
msgstr ""
"перевірка примусових оновлень зайняла %.2f секунд; ви можете скористатися\n"
-"\"--no-show-forced-updates\" або виконати \"git config fetch."
-"showForcedUpdates false\"\n"
+"\"--no-show-forced-updates\" або виконати \"git config "
+"fetch.showForcedUpdates false\"\n"
"щоб уникнути цієї перевірки\n"
#, c-format
-msgid "%s did not send all necessary objects\n"
-msgstr "%s не надіслав всіх необхідних обʼєктів\n"
+msgid "%s did not send all necessary objects"
+msgstr "%s не надіслав усі необхідні обʼєкти"
#, c-format
msgid "rejected %s because shallow roots are not allowed to be updated"
@@ -6007,8 +6034,8 @@ msgid "option \"%s\" value \"%s\" is not valid for %s"
msgstr "значення \"%s\" опції \"%s\" неприпустиме для %s"
#, c-format
-msgid "option \"%s\" is ignored for %s\n"
-msgstr "опція \"%s\" ігнорується для %s\n"
+msgid "option \"%s\" is ignored for %s"
+msgstr "опція \"%s\" ігнорується для %s"
#, c-format
msgid "%s is not a valid object"
@@ -6018,6 +6045,21 @@ msgstr "%s не є припустимим об’єктом"
msgid "the object %s does not exist"
msgstr "об’єкт %s не існує"
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Запустіть \"git remote set-head %s %s\", щоб відстежити зміни, або "
+"встановіть\n"
+"\"remote.%s.followRemoteHEAD\" параметр конфігурації на інше значення\n"
+"якщо ви не хочете бачити це повідомлення. Зокрема, виконання команди\n"
+"\"git config set remote.%s.followRemoteHEAD %s\" вимкне попередження\n"
+"доки віддалений сервер не змінить HEAD на щось інше."
+
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "виявлено кілька гілок, несумісних з --set-upstream"
@@ -6158,6 +6200,9 @@ msgstr "refmap"
msgid "specify fetch refmap"
msgstr "вказати мапу посилань для fetch"
+msgid "revision"
+msgstr "ревізія"
+
msgid "report that we have only objects reachable from this object"
msgstr "звітувати, що у нас є тільки обʼєкти, доступні з цього обʼєкта"
@@ -6212,8 +6257,8 @@ msgid "protocol does not support --negotiate-only, exiting"
msgstr "протокол не підтримує --negotiate-only, вихід"
msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
+"--filter can only be used with the remote configured in "
+"extensions.partialclone"
msgstr ""
"--filter можна використовувати лише з віддаленим призначенням, налаштованим "
"у extensions.partialclone"
@@ -6686,6 +6731,9 @@ msgstr "працювати ретельніше (збільшує час вик
msgid "enable auto-gc mode"
msgstr "увімкнути режим автоматичного збору сміття"
+msgid "perform garbage collection in the background"
+msgstr "виконувати прибирання сміття у фоновому режимі"
+
msgid "force running gc even if there may be another gc running"
msgstr "примусово запускати збирач сміття, навіть якщо інший збирач вже працює"
@@ -6786,6 +6834,9 @@ msgstr "завдання \"%s\" не можна вибрати кілька ра
msgid "run tasks based on the state of the repository"
msgstr "запускати завдання на основі стану сховища"
+msgid "perform maintenance in the background"
+msgstr "виконувати технічне обслуговування у фоновому режимі"
+
msgid "frequency"
msgstr "частота"
@@ -6883,8 +6934,26 @@ msgstr "недоступні ні systemd таймери, ні crontab"
msgid "%s scheduler is not available"
msgstr "%s планувальник недоступний"
-msgid "another process is scheduling background maintenance"
-msgstr "ще один процес планує фонове обслуговування"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"не вдалося створити \"%s.lock\": %s.\n"
+"\n"
+"Здається, у цьому сховищі запущено ще один запланований процес git-"
+"maintenance(1). Будь ласка, переконайтеся, що у сховищі не запущено інших "
+"процесів обслуговування, і\n"
+"і спробуйте ще раз. Якщо все одно не вдасться, можливо, \n"
+"раніше у цьому сховищі аварійно завершився git-maintenance(1) процес: "
+"видаліть файл вручну, щоб продовжити роботу."
+
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "не може отримати блокування для планового фонового обслуговування"
msgid "git maintenance start [--scheduler=<scheduler>]"
msgstr "git maintenance start [--scheduler=<планувальник>]"
@@ -7418,19 +7487,19 @@ msgstr "локальний обʼєкт %s пошкоджено"
#, c-format
msgid "packfile name '%s' does not end with '.%s'"
-msgstr "ім’я файла пакунка '%s' не закінчується на '.%s'"
+msgstr "ім’я файла пакунка \"%s\" не закінчується на '.%s'"
#, c-format
msgid "cannot write %s file '%s'"
-msgstr "неможливо записати %s файл '%s'"
+msgstr "неможливо записати %s файл \"%s\""
#, c-format
msgid "cannot close written %s file '%s'"
-msgstr "неможливо закрити записаний %s файл '%s'"
+msgstr "неможливо закрити записаний %s файл \"%s\""
#, c-format
msgid "unable to rename temporary '*.%s' file to '%s'"
-msgstr "не вдається перейменувати тимчасовий файл '*.%s' на '%s'"
+msgstr "не вдається перейменувати тимчасовий файл \"*.%s\" на \"%s\""
msgid "error while closing pack file"
msgstr "помилка під час закриття файлу пакунка"
@@ -7441,11 +7510,11 @@ msgstr "невірний pack.indexVersion=%<PRIu32>"
#, c-format
msgid "Cannot open existing pack file '%s'"
-msgstr "Неможливо відкрити існуючий файл пакунка '%s"
+msgstr "Неможливо відкрити існуючий файл пакунка \"%s\""
#, c-format
msgid "Cannot open existing pack idx file for '%s'"
-msgstr "Неможливо відкрити існуючий індексний файл пакунка для '%s"
+msgstr "Неможливо відкрити існуючий індексний файл пакунка для \"%s\""
#, c-format
msgid "non delta: %d object"
@@ -7461,6 +7530,20 @@ msgstr[0] "довжина ланцюжка = %d: %lu об’єкт"
msgstr[1] "довжина ланцюжка = %d: %lu об’єкти"
msgstr[2] "довжина ланцюжка = %d: %lu об’єктів"
+msgid "could not start pack-objects to repack local links"
+msgstr "не вдалося розпочати pack-objects для перепакування локальних посилань"
+
+msgid "failed to feed local object to pack-objects"
+msgstr "не вдалося передати локальний обʼєкт до pack-objects"
+
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack: очікуються повні рядки шістнадцяткових ідентифікаторів обʼєктів "
+"тільки від pack-objects."
+
+msgid "could not finish pack-objects to repack local links"
+msgstr "не вдалося завершити pack-objects для перепакування локальних посилань"
+
msgid "Cannot come back to cwd"
msgstr "Неможливо повернутися до поточної робочої директорії"
@@ -7470,7 +7553,10 @@ msgstr "невірний %s"
#, c-format
msgid "unknown hash algorithm '%s'"
-msgstr "невідомий хеш-алгоритм '%s'"
+msgstr "невідомий хеш-алгоритм \"%s\""
+
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor не можна використовувати з назвою пакунка"
msgid "--stdin requires a git repository"
msgstr "--stdin потребує наявності git сховища"
@@ -7656,9 +7742,6 @@ msgstr "-L<діапазон>:<файл> не можна використовув
msgid "Final output: %d %s\n"
msgstr "Кінцевий результат: %d %s\n"
-msgid "unable to create temporary object directory"
-msgstr "не вдалося створити тимчасову директорію об’єкта"
-
#, c-format
msgid "git show %s: bad file"
msgstr "git show %s: невірний файл"
@@ -8231,15 +8314,6 @@ msgstr "використовувати злиття на основі diff3"
msgid "use a zealous diff3 based merge"
msgstr "використовувати ретельне злиття на основі diff3"
-msgid "for conflicts, use our version"
-msgstr "у разі конфліктів використовувати нашу версію"
-
-msgid "for conflicts, use their version"
-msgstr "у разі конфліктів використовувати їхню версію"
-
-msgid "for conflicts, use a union version"
-msgstr "у разі конфліктів використовувати об’єднану версію"
-
msgid "<algorithm>"
msgstr "<алгоритм>"
@@ -8709,6 +8783,9 @@ msgstr ""
msgid "write multi-pack bitmap"
msgstr "записати multi-pack bitmap"
+msgid "write a new incremental MIDX"
+msgstr "записати новий інкрементний MIDX"
+
msgid "write multi-pack index containing only given indexes"
msgstr "записати multi-pack індекс, що містить лише задані індекси"
@@ -8843,11 +8920,11 @@ msgstr "git notes [--ref <посилання-нотатки>] [list [<об’є
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <посилання-нотатки>] add [-f] [--allow-empty] [--"
"[no-]separator|--separator=<розділювач-абзаців>] [--[no-]stripspace] [-m "
-"<допис> | -F <файл> | (-c | -C) <обʼєкт>] [<обʼєкт>]"
+"<допис> | -F <файл> | (-c | -C) <обʼєкт>] [<обʼєкт>] [-e]"
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
msgstr ""
@@ -8856,11 +8933,11 @@ msgstr ""
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <посилання-нотатки>] append [--allow-empty] [--"
"[no-]separator|--separator=<розділювач-абзаців>] [--[no-]stripspace] [-m "
-"<допис> | -F <файл> | (-c | -C) <обʼєкт>] [<обʼєкт>]"
+"<допис> | -F <файл> | (-c | -C) <обʼєкт>] [<обʼєкт>] [-e]"
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
msgstr "git notes [--ref <посилання-нотатки>] edit [--allow-empty] [<об’єкт>]"
@@ -8979,6 +9056,9 @@ msgstr "вміст нотатки у файлі"
msgid "reuse and edit specified note object"
msgstr "повторно використати та редагувати вказаний обʼєкт нотатки"
+msgid "edit note message in editor"
+msgstr "редагувати допис нотатки в редакторі"
+
msgid "reuse specified note object"
msgstr "повторно використати вказаний обʼєкт нотатки"
@@ -9195,8 +9275,8 @@ msgstr "очікувався обʼєкт на зміщенні %<PRIuMAX> па
msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit"
msgstr ""
-"вимкнення bitmap запису, пакунки розбиваються на частини через pack."
-"packSizeLimit"
+"вимкнення bitmap запису, пакунки розбиваються на частини через "
+"pack.packSizeLimit"
msgid "Writing objects"
msgstr "Запис обʼєктів"
@@ -9478,6 +9558,9 @@ msgstr "обробка для відсутніх обʼєктів"
msgid "do not pack objects in promisor packfiles"
msgstr "не пакувати обʼєкти у promisor пакунки"
+msgid "implies --missing=allow-any"
+msgstr "мається на увазі --missing=allow-any"
+
msgid "respect islands during delta compression"
msgstr "поважати острови під час дельта компресії"
@@ -9974,7 +10057,7 @@ msgstr "Надсилання до %s\n"
#, c-format
msgid "failed to push some refs to '%s'"
-msgstr "не вдалося надіслати деякі посилання до '%s'"
+msgstr "не вдалося надіслати деякі посилання до \"%s\""
msgid ""
"recursing into submodule with push.recurseSubmodules=only; using on-demand "
@@ -9985,7 +10068,7 @@ msgstr ""
#, c-format
msgid "invalid value for '%s'"
-msgstr "неприпустиме значення для '%s'"
+msgstr "неприпустиме значення для \"%s\""
msgid "repository"
msgstr "сховище"
@@ -10746,6 +10829,9 @@ msgstr "неприпустимий формат посилання: %s"
msgid "git refs migrate --ref-format=<format> [--dry-run]"
msgstr "git refs migrate --ref-format=<формат> [--dry-run]"
+msgid "git refs verify [--strict] [--verbose]"
+msgstr "git refs verify [--strict] [--verbose]"
+
msgid "specify the reference format to convert to"
msgstr "вкажіть формат посилання, в який потрібно конвертувати"
@@ -10759,6 +10845,12 @@ msgstr "відсутній --ref-format=<формат>"
msgid "repository already uses '%s' format"
msgstr "сховище вже використовує формат \"%s\""
+msgid "enable strict checking"
+msgstr "увімкнути сувору перевірку"
+
+msgid "'git refs verify' takes no arguments"
+msgstr "\"git refs verify\" не потребує аргументів"
+
msgid ""
"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--"
"mirror=<fetch|push>] <name> <url>"
@@ -11100,6 +11192,30 @@ msgstr[0] " Локальне посилання налаштовано для \
msgstr[1] " Локальних посилання налаштовано для \"git push\"%s:"
msgstr[2] " Локальних посилань налаштовано для \"git push\"%s:"
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "\"%s/HEAD\" не змінився і вказує на \"%s\"\n"
+
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "\"%s/HEAD\" змінився з \"%s\" і тепер вказує на \"%s\"\n"
+
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "Створено \"%s/HEAD\", який вказує на \"%s\"\n"
+
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "\"%s/HEAD\" був відʼєднаний на \"%s\" і тепер вказує на \"%s\"\n"
+
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"\"%s/HEAD\" раніше вказував на \"%s\" (який не є віддаленою гілкою), але "
+"тепер вказує на \"%s\"\n"
+
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr ""
"встановити refs/remotes/<назва>/HEAD відповідно до віддаленого призначення"
@@ -11124,7 +11240,7 @@ msgid "Not a valid ref: %s"
msgstr "Не є припустимим посиланням: %s"
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "Не вдалося налаштувати %s"
#, c-format
@@ -11696,11 +11812,11 @@ msgstr "записати лише той факт, що вилучені шля
#, c-format
msgid "Failed to resolve '%s' as a valid revision."
-msgstr "Не вдалося розпізнати '%s' як припустиму ревізію."
+msgstr "Не вдалося розпізнати \"%s\" як припустиму ревізію."
#, c-format
msgid "Failed to resolve '%s' as a valid tree."
-msgstr "Не вдалося розпізнати '%s' як припустиме дерево."
+msgstr "Не вдалося розпізнати \"%s\" як припустиме дерево."
msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead."
msgstr ""
@@ -11729,7 +11845,7 @@ msgstr ""
#, c-format
msgid "Could not reset index file to revision '%s'."
-msgstr "Не вдалося скинути індексний файл до ревізії '%s'."
+msgstr "Не вдалося скинути індексний файл до ревізії \"%s\"."
msgid "Could not write new index file."
msgstr "Не вдалося записати новий індексний файл."
@@ -12211,11 +12327,11 @@ msgstr "посилання не існує"
msgid "failed to look up reference"
msgstr "не вдалося знайти посилання"
-msgid "only show tags (can be combined with branches)"
-msgstr "показати тільки теги (можна комбінувати з гілками)"
+msgid "only show tags (can be combined with --branches)"
+msgstr "показувати тільки теги (можна комбінувати з --branches)"
-msgid "only show branches (can be combined with tags)"
-msgstr "показати тільки гілки (можна комбінувати з тегами)"
+msgid "only show branches (can be combined with --tags)"
+msgstr "показувати тільки гілки (можна комбінувати з --tags)"
msgid "check for reference existence without resolving"
msgstr "перевіряти наявність посилання без розвʼязання"
@@ -12268,6 +12384,10 @@ msgstr "не вдалося видалити директорію \"%s\""
msgid "failed to create directory for sparse-checkout file"
msgstr "не вдалося створити директорію для файлу розрідженого переходу"
+#, c-format
+msgid "unable to fdopen %s"
+msgstr "не вдалося fdopen %s"
+
msgid "failed to initialize worktree config"
msgstr "не вдалося ініціалізувати конфігурацію робочого дерева"
@@ -12726,8 +12846,8 @@ msgid "couldn't hash object from '%s'"
msgstr "не вдалося хешувати обʼєкт з \"%s\""
#, c-format
-msgid "unexpected mode %o\n"
-msgstr "неочікуваний режим %o\n"
+msgid "unexpected mode %o"
+msgstr "неочікуваний режим %o"
msgid "use the commit stored in the index instead of the submodule HEAD"
msgstr "використати коміт, збережений в індексі, замість підмодуля HEAD"
@@ -12771,8 +12891,8 @@ msgid ""
"Submodule work tree '%s' contains a .git directory. This will be replaced "
"with a .git file by using absorbgitdirs."
msgstr ""
-"Робоче дерево підмодуля \"%s\" містить директорію .git. Її буде замінено на ."
-"git файл за допомогою absorbgitdirs."
+"Робоче дерево підмодуля \"%s\" містить директорію .git. Її буде замінено "
+"на .git файл за допомогою absorbgitdirs."
#, c-format
msgid ""
@@ -13871,6 +13991,9 @@ msgid "try to match the new branch name with a remote-tracking branch"
msgstr ""
"спробуйте співставити нову назву гілки з назвою віддалено відстежуваної гілки"
+msgid "use relative paths for worktrees"
+msgstr "використовувати відносні шляхи для робочих дерев"
+
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
msgstr "опції \"%s\", \"%s\" та \"%s\" не можна використовувати разом"
@@ -14149,6 +14272,25 @@ msgstr "неможливо створити \"%s\""
msgid "index-pack died"
msgstr "index-pack завершився невдало"
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "Директорія \"%s\" присутня в індексі, але не є розрідженою"
+
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "пошкоджене cache-tree має записи, яких немає в індексі"
+
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "%s з прапорцями 0x%x не слід бути в cache-tree"
+
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "невірне піддерево \"%.*s\""
+
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr "cache-tree для шляху %.*s не співпадає. Очікувалось %s отримано %s"
+
msgid "terminating chunk id appears earlier than expected"
msgstr "ідентифікатор завершення фрагмента зʼявився раніше, ніж очікувалось"
@@ -15007,16 +15149,16 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"Підтримка <GIT_DIR>/info/grafts застаріла\n"
-"і буде вилучена в одній з наступних версій Git.\n"
+"і буде вилучена у наступній версії Git'у.\n"
"\n"
-"Будь ласка, скористайтесь \"git replace --convert-graft-file\"\n"
-"щоб перетворити щепи на заміни посилань.\n"
+"Будь ласка, використовуйте \"git replace --convert-graft-file\"\n"
+"щоб перетворити прищепи на замінювані посилання.\n"
"\n"
"Щоб вимкнути це повідомлення, виконайте\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
#, c-format
msgid "commit %s exists in commit-graph but not in the object database"
@@ -15834,6 +15976,19 @@ msgstr "url не має схеми: %s"
msgid "credential url cannot be parsed: %s"
msgstr "неможливо розібрати url облікових даних: %s"
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "неприпустимий таймаут \"%s\", очікується невідʼємне ціле число"
+
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr ""
+"неприпустимий початковий таймаут \"%s\", очікується невідʼємне ціле число"
+
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "неприпустимі максимальні з'єднання \"%s\", очікується число"
+
msgid "in the future"
msgstr "у майбутньому"
@@ -16552,6 +16707,21 @@ msgstr "невірний шлях до простору імен git \"%s\""
msgid "too many args to run %s"
msgstr "забагато аргументів для запуску %s"
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"Ви намагаєтеся отримати %s, який знаходиться у файлі коміт-графа, але не в "
+"базі даних обʼєктів.\n"
+"Ймовірно, це повʼязано з пошкодженням репозиторію.\n"
+"Якщо ви намагаєтеся виправити це пошкодження репозиторію повторним "
+"отриманням відсутнього обʼєкта, скористайтеся командою \"git fetch --"
+"refetch\" з відсутнім обʼєктом."
+
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: очікувався неглибокий список"
@@ -17140,11 +17310,12 @@ msgstr[2] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
-"Гачок \"%s\" було проігноровано, оскільки він не визначений як виконуваний.\n"
-"Ви можете вимкнути це попередження за допомогою \"git config advice."
-"ignoredHook false\"."
+"Гачок \"%s\" було проігноровано, оскільки він не визначений як придатний для "
+"виконання.\n"
+"Ви можете вимкнути це попередження за допомогою \"git config set "
+"advice.ignoredHook false\"."
msgid "not a git repository"
msgstr "не є git сховищем"
@@ -17161,15 +17332,9 @@ msgstr ""
msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "Контроль делегування не підтримується з cURL < 7.22.0"
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "Закріплення відкритих ключів не підтримується з cURL < 7.39.0"
-
msgid "Unknown value for http.proactiveauth"
msgstr "Невідоме значення для http.proactiveauth"
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "CURLSSLOPT_NO_REVOKE не підтримується з cURL < 7.44.0"
-
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "Непідтримуваний SSL обробник \"%s\". Підтримувані SSL обробники:"
@@ -17330,13 +17495,16 @@ msgstr ""
msgid "Unable to create '%s.lock': %s"
msgstr "Не вдалося створити \"%s.lock\": %s"
+msgid "unable to create temporary object directory"
+msgstr "не вдалося створити тимчасову директорію обʼєкта"
+
#, c-format
msgid "could not write loose object index %s"
msgstr "не вдалося записати індекс вільного обʼєкта %s"
#, c-format
-msgid "failed to write loose object index %s\n"
-msgstr "не вдалося записати індекс вільного обʼєкта %s\n"
+msgid "failed to write loose object index %s"
+msgstr "не вдалося записати індекс вільного обʼєкта %s"
#, c-format
msgid "unexpected line: '%s'"
@@ -17353,6 +17521,10 @@ msgid "unable to format message: %s"
msgstr "не вдалося відформатувати допис: %s"
#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "неправильний розмір маркера \"%s\", очікується число"
+
+#, c-format
msgid "Failed to merge submodule %s (not checked out)"
msgstr "Не вдалося обʼєднати підмодуль %s (не активне)"
@@ -17887,6 +18059,17 @@ msgstr "не вдалося завантажити пакунок"
msgid "could not open index for %s"
msgstr "не вдалося відкрити індекс для %s"
+#, c-format
+msgid "unable to link '%s' to '%s'"
+msgstr "не вдалося звʼязати \"%s\" з \"%s\""
+
+#, c-format
+msgid "failed to clear multi-pack-index at %s"
+msgstr "не вдалося очистити multi-pack-index при %s"
+
+msgid "cannot write incremental MIDX with bitmap"
+msgstr "неможливо записати інкрементний MIDX з bitmap"
+
msgid "ignoring existing multi-pack-index; checksum mismatch"
msgstr ""
"ігнорування існуючого multi-pack-index; невідповідність контрольних сум"
@@ -17916,18 +18099,33 @@ msgstr "немає файлів пакунків для індексації."
msgid "refusing to write multi-pack .bitmap without any objects"
msgstr "відмовлено в записі мультіпакункового .bitmap без обʼєктів"
+msgid "unable to create temporary MIDX layer"
+msgstr "не вдалося створити тимчасовий шар MIDX"
+
msgid "could not write multi-pack bitmap"
msgstr "не вдалося записати мультіпакунковий bitmap"
+msgid "unable to open multi-pack-index chain file"
+msgstr "не вдалося відкрити ланцюжковий файл multi-pack-index"
+
+msgid "unable to rename new multi-pack-index layer"
+msgstr "не вдалося перейменувати новий multi-pack-index шар"
+
msgid "could not write multi-pack-index"
msgstr "не вдалося записати multi-pack-index"
+msgid "cannot expire packs from an incremental multi-pack-index"
+msgstr "неможливо видалити пакунки з інкрементним multi-pack-index"
+
msgid "Counting referenced objects"
msgstr "Підрахунок обʼєктів, на які є посилання"
msgid "Finding and deleting unreferenced packfiles"
msgstr "Пошук і видалення файлів пакунків без посилань"
+msgid "cannot repack an incremental multi-pack-index"
+msgstr "неможливо перепакувати інкрементний multi-pack-index"
+
msgid "could not start pack-objects"
msgstr "не вдалося розпочати pack-objects"
@@ -17990,6 +18188,27 @@ msgstr ""
"multi-pack-index назви пакунків знаходяться у невірній послідовності: \"%s\" "
"перед \"%s\""
+msgid "multi-pack-index chain file too small"
+msgstr "ланцюжковий файл multi-pack-index занадто малий"
+
+#, c-format
+msgid "pack count in base MIDX too high: %<PRIuMAX>"
+msgstr "кількість пакунків у базовому MIDX занадто велика: %<PRIuMAX>"
+
+#, c-format
+msgid "object count in base MIDX too high: %<PRIuMAX>"
+msgstr "кількість обʼєктів у базовому MIDX занадто велика: %<PRIuMAX>"
+
+#, c-format
+msgid "invalid multi-pack-index chain: line '%s' not a hash"
+msgstr "неприпустимий multi-pack-index ланцюжок: рядок \"%s\" не є хешем"
+
+msgid "unable to find all multi-pack index files"
+msgstr "не вдалося знайти всі файли multi-pack-index"
+
+msgid "invalid MIDX object position, MIDX is likely corrupt"
+msgstr "неприпустима позиція MIDX обʼєкта, ймовірно, MIDX пошкоджено"
+
#, c-format
msgid "bad pack-int-id: %u (%u total packs)"
msgstr "невірний pack-int-id: %u (%u всього пакунків)"
@@ -18008,10 +18227,6 @@ msgstr ""
msgid "multi-pack-index large offset out of bounds"
msgstr "large offset multi-pack-index виходить за межі"
-#, c-format
-msgid "failed to clear multi-pack-index at %s"
-msgstr "не вдалося очистити multi-pack-index при %s"
-
msgid "multi-pack-index file exists, but failed to parse"
msgstr "multi-pack-index файл існує, але його не вдалося розібрати"
@@ -18221,6 +18436,14 @@ msgid "missing mapping of %s to %s"
msgstr "відсутнє зіставлення %s до %s"
#, c-format
+msgid "unable to open %s"
+msgstr "не вдалося відкрити %s"
+
+#, c-format
+msgid "files '%s' and '%s' differ in contents"
+msgstr "файли \"%s\" та \"%s\" відрізняються за вмістом"
+
+#, c-format
msgid "unable to write file %s"
msgstr "не вдалося записати файл %s"
@@ -18305,10 +18528,6 @@ msgid "%s is not a valid '%s' object"
msgstr "%s не є допустимим \"%s\" обʼєктом"
#, c-format
-msgid "unable to open %s"
-msgstr "не вдалося відкрити %s"
-
-#, c-format
msgid "hash mismatch for %s (expected %s)"
msgstr "невідповідність хешу для %s (очікувалось %s)"
@@ -18409,7 +18628,7 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"Зазвичай Git ніколи не створює посилання, яке закінчується 40-hex "
"символами,\n"
@@ -18584,13 +18803,6 @@ msgstr "у мультіпакунковому bitmap відсутній необ
msgid "could not open pack %s"
msgstr "не вдалося відкрити пакунок %s"
-msgid "could not determine MIDX preferred pack"
-msgstr "не вдалося визначити бажаний пакунок MIDX"
-
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "бажаний пакунок (%s) є неприпустимим"
-
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "пошкоджена bitmap таблиця пошуку: триплетна позиція поза індексом"
@@ -19223,7 +19435,7 @@ msgstr "багатоступеневі записи для злитого фай
#, c-format
msgid "unordered stage entries for '%s'"
-msgstr "невпорядковані записи індексу для '%s'"
+msgstr "невпорядковані записи індексу для \"%s\""
#, c-format
msgid "unable to create load_cache_entries thread: %s"
@@ -19537,6 +19749,10 @@ msgid "expected format: %%(ahead-behind:<committish>)"
msgstr "очікуваний формат: %%(ahead-behind:<комітоподібне>)"
#, c-format
+msgid "expected format: %%(is-base:<committish>)"
+msgstr "очікуваний формат: %%(is-base:<комітоподібне>)"
+
+#, c-format
msgid "malformed field name: %.*s"
msgstr "невірно сформована назва поля: %.*s"
@@ -19711,18 +19927,26 @@ msgstr "лог для посилання %s несподівано заверш
msgid "log for %s is empty"
msgstr "лог для %s порожній"
-msgid "refusing to force and skip creation of reflog"
-msgstr "відмовлено в примусовому пропуску створення рефлогу"
-
#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "відмовлено в оновленні посилання з невірною назвою \"%s\""
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "відмовлено в оновленні псевдопосилання \"%s\""
#, c-format
msgid "refusing to update pseudoref '%s'"
msgstr "відмовлено в оновленні псевдопосилання \"%s\""
#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "відмовлено в оновленні reflog з невірною назвою \"%s\""
+
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "відмовлено в оновленні посилання з невірною назвою \"%s\""
+
+msgid "refusing to force and skip creation of reflog"
+msgstr "відмовлено в примусовому пропуску створення рефлогу"
+
+#, c-format
msgid "update_ref failed for ref '%s': %s"
msgstr "update_ref завершився невдало для посилання \"%s\": %s"
@@ -19772,6 +19996,17 @@ msgstr ""
"призначенням \"%s\", але це звичайне посилання"
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "неможливо прочитати файл посилання \"%s\""
+
+#, c-format
+msgid "cannot open directory %s"
+msgstr "неможливо відкрити директорію %s"
+
+msgid "Checking references consistency"
+msgstr "Перевірка співпадіння посилань"
+
+#, c-format
msgid "refname is dangerous: %s"
msgstr "refname є небезпечним: %s"
@@ -19897,8 +20132,8 @@ msgstr "віддалений сервер надіслав неочікуван
msgid "unable to rewind rpc post data - try increasing http.postBuffer"
msgstr ""
-"не вдалося перемотати вперед rpc post дані - спробуйте збільшити http."
-"postBuffer"
+"не вдалося перемотати вперед rpc post дані - спробуйте збільшити "
+"http.postBuffer"
#, c-format
msgid "remote-curl: bad line length character: %.4s"
@@ -19973,7 +20208,7 @@ msgstr "remote-curl: невідома команда \"%s\" з git"
#, c-format
msgid "config remote shorthand cannot begin with '/': %s"
-msgstr "скорочення віддаленої конфігураціі не може починатися з '/': %s"
+msgstr "скорочення віддаленої конфігураціі не може починатися з \"/\": %s"
msgid "more than one receivepack given, using the first"
msgstr "надано більше одного пакунка для отримання, використано перший"
@@ -19982,8 +20217,12 @@ msgid "more than one uploadpack given, using the first"
msgstr "надано більше одного пакунка для завантаження, використано перший"
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "нерозпізнане followRemoteHEAD значення \"%s\" було проігноровано"
+
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
-msgstr "нерозпізнане значення transfer.credentialsInUrl: '%s'"
+msgstr "нерозпізнане значення transfer.credentialsInUrl: \"%s\""
#, c-format
msgid "URL '%s' uses plaintext credentials"
@@ -20003,11 +20242,11 @@ msgstr "%s відстежує як %s, так і %s"
#, c-format
msgid "key '%s' of pattern had no '*'"
-msgstr "ключ '%s' шаблону не містив '*'"
+msgstr "ключ \"%s\" шаблону не містив '*'"
#, c-format
msgid "value '%s' of pattern has no '*'"
-msgstr "значення '%s' шаблону не містить '*'"
+msgstr "значення \"%s\" шаблону не містить '*'"
#, c-format
msgid "src refspec %s does not match any"
@@ -20106,11 +20345,11 @@ msgstr "HEAD не вказує на гілку"
#, c-format
msgid "no such branch: '%s'"
-msgstr "немає такої гілки: '%s'"
+msgstr "немає такої гілки: \"%s\""
#, c-format
msgid "no upstream configured for branch '%s'"
-msgstr "першоджерельне сховище не налаштовано для гілки '%s'"
+msgstr "першоджерельне сховище не налаштовано для гілки \"%s\""
#, c-format
msgid "upstream branch '%s' not stored as a remote-tracking branch"
@@ -20131,7 +20370,7 @@ msgid "push refspecs for '%s' do not include '%s'"
msgstr "надіслані визначники посилань для \"%s\" не включають \"%s\""
msgid "push has no destination (push.default is 'nothing')"
-msgstr "надсилання не має призначення (push.default дорівнює 'nothing')"
+msgstr "надсилання не має призначення (push.default дорівнює \"nothing\")"
msgid "cannot resolve 'simple' push to a single destination"
msgstr ""
@@ -20184,7 +20423,7 @@ msgstr[0] ""
msgstr[1] ""
"Ваша гілка відстає від \"%s\" на %d коміти, і її можна перемотати вперед.\n"
msgstr[2] ""
-"Ваша гілка відстає від гілки '%s' на %d комітів, і її можна перемотати "
+"Ваша гілка відстає від гілки \"%s\" на %d комітів, і її можна перемотати "
"вперед.\n"
msgid " (use \"git pull\" to update your local branch)\n"
@@ -20219,7 +20458,7 @@ msgstr "неможливо розібрати очікувану назву об
#, c-format
msgid "cannot strip one component off url '%s'"
-msgstr "неможливо вилучити один компонент з url '%s'"
+msgstr "неможливо вилучити один компонент з url \"%s\""
#, c-format
msgid "bad replace ref name: %s"
@@ -20429,12 +20668,15 @@ msgstr ""
msgid "create repository within 'src' directory"
msgstr "створити сховище в директорії \"src\""
+msgid "specify if tags should be fetched during clone"
+msgstr "вказати, чи потрібно отримувати теги під час клонування"
+
msgid ""
"scalar clone [--single-branch] [--branch <main-branch>] [--full-clone]\n"
-"\t[--[no-]src] <url> [<enlistment>]"
+"\t[--[no-]src] [--[no-]tags] <url> [<enlistment>]"
msgstr ""
"scalar clone [--single-branch] [--branch <головна-гілка>] [--full-clone]\n"
-"\t[--[no-]src] <URL-адреса> [<коренева-директорія>]"
+"\t[--[no-]src] [--[no-]tags] <URL-адреса> [<коренева-директорія-проекту>]"
#, c-format
msgid "cannot deduce worktree name from '%s'"
@@ -20453,6 +20695,10 @@ msgid "could not configure remote in '%s'"
msgstr "не вдалося налаштувати віддалене сховище в \"%s\""
#, c-format
+msgid "could not disable tags in '%s'"
+msgstr "не вдалося вимкнути теги в \"%s\""
+
+#, c-format
msgid "could not configure '%s'"
msgstr "не вдалося налаштувати \"%s\""
@@ -20983,7 +21229,7 @@ msgid ""
msgstr ""
"\"reword\" не приймає коміти злиття. Якщо ви хочете\n"
"відтворити злиття та змінити текст допису, використовуйте\n"
-"\"merge -c\" для коміта."
+"\"merge -c\" для коміта"
#. TRANSLATORS: 'edit', 'merge -C' and 'break' should
#. not be translated.
@@ -21526,6 +21772,10 @@ msgid "failed to stat '%*s%s%s'"
msgstr "не вдалося записати \"%*s%s%s\""
#, c-format
+msgid "safe.directory '%s' not absolute"
+msgstr "safe.directory \"%s\" не є абсолютною"
+
+#, c-format
msgid ""
"detected dubious ownership in repository at '%s'\n"
"%sTo add an exception for this directory, call:\n"
@@ -21863,7 +22113,7 @@ msgstr "Не вдалося оновити підмодуль \"%s\"."
#, c-format
msgid "submodule git dir '%s' is inside git dir '%.*s'"
-msgstr "підмодуль git dir \"%s\" знаходиться всередині git директорії \"%*s\""
+msgstr "підмодуль git dir \"%s\" знаходиться всередині git директорії \"%.*s\""
#, c-format
msgid "expected '%.*s' in submodule path '%s' not to be a symbolic link"
@@ -21936,6 +22186,9 @@ msgstr "коміт %s не позначений як досяжний"
msgid "too many commits marked reachable"
msgstr "забагато комітів позначено як досяжні"
+msgid "could not determine MIDX preferred pack"
+msgstr "не вдалося визначити бажаний пакунок MIDX"
+
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<опції>]"
@@ -22001,6 +22254,24 @@ msgstr "токен"
msgid "command token to send to the server"
msgstr "токен команди для відправки на сервер"
+msgid "unit-test [<options>]"
+msgstr "unit-test [<опції>]"
+
+msgid "immediately exit upon the first failed test"
+msgstr "вихід відразу після першого невдалого тесту"
+
+msgid "suite[::test]"
+msgstr "suite[::test]"
+
+msgid "run only test suite or individual test <suite[::test]>"
+msgstr "запустити тільки набір тестів або окремий тест <suite[::test]>"
+
+msgid "suite"
+msgstr "набір"
+
+msgid "exclude test suite <suite>"
+msgstr "виключити набір тестів <suite>"
+
#, c-format
msgid "running trailer command '%s' failed"
msgstr "не вдалося виконати команду трейлера \"%s\""
@@ -22580,6 +22851,9 @@ msgstr ".git файл пошкоджено"
msgid ".git file incorrect"
msgstr ".git файл не є коректним"
+msgid ".git file absolute/relative path mismatch"
+msgstr "неспівпадіння абсолютного/відносного шляху до .git файлу"
+
msgid "not a valid path"
msgstr "неприпустимий шлях"
@@ -22595,6 +22869,9 @@ msgstr "не вдалося знайти сховище; файл .git пошк
msgid "gitdir unreadable"
msgstr "нечитабельна git директорія"
+msgid "gitdir absolute/relative path mismatch"
+msgstr "неспівпадіння абсолютного/відносного шляху git директорії"
+
msgid "gitdir incorrect"
msgstr "невірна git директорія"
@@ -22630,6 +22907,13 @@ msgstr "не вдалося скинути %s в \"%s\""
msgid "failed to set extensions.worktreeConfig setting"
msgstr "не вдалося встановити extensions.worktreeConfig параметр"
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"не вдалося оновити формат сховища для підтримки відносних робочих дерев"
+
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "не вдалося встановити параметр extensions.relativeWorktrees"
+
#, c-format
msgid "could not setenv '%s'"
msgstr "не вдалося встановити змінну оточення \"%s\""
@@ -22965,7 +23249,7 @@ msgstr ""
#, c-format
msgid "You are currently bisecting, started from branch '%s'."
-msgstr "Наразі ви робите бісекцію, починаючи з гілки '%s'."
+msgstr "Наразі ви робите бісекцію, починаючи з гілки \"%s\"."
msgid "You are currently bisecting."
msgstr "Наразі ви робите бісекцію."
@@ -23198,6 +23482,9 @@ msgstr "\"%s.final\" містить створений лист.\n"
msgid "--dump-aliases incompatible with other options\n"
msgstr "--dump-aliases несумісна з іншими опціями\n"
+msgid "--dump-aliases and --translate-aliases are mutually exclusive\n"
+msgstr "--dump-aliases і --translate-aliases є взаємовиключними\n"
+
msgid ""
"fatal: found configuration options for 'sendmail'\n"
"git-send-email is configured with the sendemail.* options - note the 'e'.\n"
@@ -23370,8 +23657,8 @@ msgstr ""
" Наведений вище список копій було розширено додатковими\n"
" адресами, знайденими у дописі до коміту латки. Зазвичай\n"
" send-email запитує перед надсиланням, коли це трапляється.\n"
-" Цю поведінку можна контролювати за допомогою параметра sendemail."
-"confirm\n"
+" Цю поведінку можна контролювати за допомогою параметра "
+"sendemail.confirm\n"
" налаштування конфігурації.\n"
"\n"
" Для отримання додаткової інформації виконайте команду \"git send-email --"
diff --git a/po/vi.po b/po/vi.po
index 00008b50f5..80a5f191a8 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -4,11 +4,11 @@
# https://raw.githubusercontent.com/git-l10n/git-po/pot/main/po/git.pot
# ---
# Copyright (C) 2012-2022, Translation Project, Vietnamese Team <http://translationproject.org/team/vi.html>
-# Copyright (C) 2024, Vũ Tiến Hưng <newcomerminecraft@gmail.com>
+# Copyright (C) 2024-2025, Vũ Tiến Hưng <newcomerminecraft@gmail.com>
# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2012.
# Đoàn Trần Công Danh <congdanhqx@gmail.com>, 2020.
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2022.
-# Vũ Tiến Hưng <newcomerminecraft@gmail.com>, 2024.
+# Vũ Tiến Hưng <newcomerminecraft@gmail.com>, 2024-2025.
# ---
# BẢNG THUẬT NGỮ / TERMINOLOGY
# Updated: 2024-07-26, git 2.46
@@ -64,10 +64,10 @@
# +------------------------------------------------------------------+
msgid ""
msgstr ""
-"Project-Id-Version: git 2.47\n"
+"Project-Id-Version: git 2.48\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2024-10-05 01:20+0000\n"
-"PO-Revision-Date: 2024-10-05 16:48+0700\n"
+"POT-Creation-Date: 2024-12-23 18:57+0000\n"
+"PO-Revision-Date: 2025-01-05 01:20+0700\n"
"Last-Translator: Vũ Tiến Hưng <newcomerminecraft@gmail.com>\n"
"Language-Team: Vietnamese <https://github.com/Nekosha/git-po>\n"
"Language: vi\n"
@@ -686,10 +686,10 @@ msgstr "Chỉ có các tập tin nhị phân thay đổi."
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"Tắt lời nhắn này bằng \"git config advice.%s false\""
+"Tắt lời nhắn này bằng \"git config set advice.%s false\""
#, c-format
msgid "%shint:%s%.*s%s\n"
@@ -1904,7 +1904,7 @@ msgid "update tracked files"
msgstr "cập nhật các tập tin được theo dõi"
msgid "renormalize EOL of tracked files (implies -u)"
-msgstr "thường hóa lại EOL của các tập tin được theo dõi (ngụ ý -u)"
+msgstr "thường hóa lại EOL của các tập tin được theo dõi (ngầm chỉ định -u)"
msgid "record only the fact that the path will be added later"
msgstr "chỉ ghi lại sự việc mà đường dẫn sẽ được thêm vào sau"
@@ -2017,7 +2017,7 @@ msgstr "không hiểu cú pháp %s"
#, c-format
msgid "'%s' was deleted by the applypatch-msg hook"
-msgstr "'%s' bị xóa bởi móc applypatch-msg"
+msgstr "'%s' bị xóa bởi hook applypatch-msg"
#, c-format
msgid "Malformed input line: '%s'."
@@ -3040,11 +3040,11 @@ msgid "HEAD not found below refs/heads!"
msgstr "Không tìm thấy HEAD ở dưới refs/heads!"
msgid ""
-"branch with --recurse-submodules can only be used if submodule."
-"propagateBranches is enabled"
+"branch with --recurse-submodules can only be used if "
+"submodule.propagateBranches is enabled"
msgstr ""
-"nhánh với --recurse-submodules chỉ có thể được sử dụng nếu submodule."
-"propagateBranches được kích hoạt"
+"nhánh với --recurse-submodules chỉ có thể được sử dụng nếu "
+"submodule.propagateBranches được kích hoạt"
msgid "--recurse-submodules can only be used to create branches"
msgstr "--recurse-submodules chỉ có thể được sử dụng để tạo ra các nhánh"
@@ -3125,7 +3125,7 @@ msgid "libc info: "
msgstr "thông tin libc: "
msgid "not run from a git repository - no hooks to show\n"
-msgstr "không chạy từ một kho git - nên chẳng có móc nào để hiển thị cả\n"
+msgstr "không chạy từ một kho git - nên chẳng có hook nào để hiển thị cả\n"
msgid ""
"git bugreport [(-o | --output-directory) <path>]\n"
@@ -3200,7 +3200,7 @@ msgid "System Info"
msgstr "Thông tin hệ thống"
msgid "Enabled Hooks"
-msgstr "Các Móc đã được bật"
+msgstr "Các hook đã được bật"
#, c-format
msgid "unable to write to %s"
@@ -3880,8 +3880,8 @@ msgstr "nhánh chưa sinh mới"
msgid "update ignored files (default)"
msgstr "cập nhật các tập tin bị bỏ qua (mặc định)"
-msgid "do not check if another worktree is holding the given ref"
-msgstr "không kiểm tra nếu cây làm việc khác đang giữ tham chiếu đã cho"
+msgid "do not check if another worktree is using this branch"
+msgstr "không kiểm tra nếu cây làm việc khác đang sử dụng nhánh này"
msgid "checkout our version for unmerged files"
msgstr "checkout phiên bản của ta cho các tập tin chưa được hòa trộn"
@@ -4129,7 +4129,7 @@ msgid "create a bare repository"
msgstr "tạo kho bare"
msgid "create a mirror repository (implies --bare)"
-msgstr "tạo kho bản sao (ngụ ý --bare)"
+msgstr "tạo kho bản sao (ngầm chỉ định --bare)"
msgid "to clone from a local repository"
msgstr "để nhân bản từ kho nội bộ"
@@ -4182,11 +4182,11 @@ msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho"
msgid "create a shallow clone since a specific time"
msgstr "tạo bản sao không đầy đủ từ thời điểm đã cho"
-msgid "revision"
-msgstr "điểm xét duyệt"
+msgid "ref"
+msgstr "ref"
-msgid "deepen history of shallow clone, excluding rev"
-msgstr "làm sâu hơn lịch sử của bản sao shallow, bằng điểm xét duyệt loại trừ"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "làm sâu hơn lịch sử của bản sao shallow, loại trừ tham chiếu"
msgid "clone only one branch, HEAD or --branch"
msgstr "chỉ nhân bản một nhánh, HEAD hoặc --branch"
@@ -5068,7 +5068,7 @@ msgid "commit only specified files"
msgstr "chỉ chuyển giao các tập tin đã chỉ ra"
msgid "bypass pre-commit and commit-msg hooks"
-msgstr "vòng qua móc (hook) pre-commit và commit-msg"
+msgstr "bỏ qua hook pre-commit và commit-msg"
msgid "show what would be committed"
msgstr "hiển thị xem cái gì có thể được chuyển giao"
@@ -5077,7 +5077,7 @@ msgid "amend previous commit"
msgstr "'tu bổ' (amend) lần commit trước"
msgid "bypass post-rewrite hook"
-msgstr "vòng qua móc (hook) post-rewrite"
+msgstr "bỏ qua hook post-rewrite"
msgid "ok to record an empty change"
msgstr "ok để ghi lại một thay đổi trống rỗng"
@@ -5143,10 +5143,10 @@ msgstr ""
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
"git config unset [<tuỳ-chọn>] [--all] [--value=<giá-trị>] [--fixed-value] "
-"<khoá> <giá-trị>"
+"<khoá>"
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
msgstr "git config rename-section [<tuỳ-chọn>] <tên-cũ> <tên-mới>"
@@ -5579,12 +5579,8 @@ msgid "traversed %lu commits\n"
msgstr "đã xuyên %lu qua lần chuyển giao\n"
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"tìm thấy nhiều hơn %i thẻ; đã liệt kê %i cái gần\n"
-"đây nhất bỏ đi tìm kiếm tại %s\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "tìm thấy %i thẻ; từ bỏ tìm kiếm tại %s\n"
#, c-format
msgid "describe %s\n"
@@ -6020,6 +6016,19 @@ msgstr "%s không phải là một đối tượng hợp lệ"
msgid "the object %s does not exist"
msgstr "đối tượng '%s' không tồn tại"
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"Chạy 'git remote set-head %s %s' để làm theo thay đổi, hoặc đặt tuỳ chọn\n"
+"'remote.%s.followRemoteHEAD' sang giá trị khác nếu bạn không muốn thấy\n"
+"thông báo này. Cụ thể, 'git config set remote.%s.followRemoteHEAD %s'\n"
+"sẽ vô hiệu cảnh báo này tới khi máy chủ đổi HEAD về chỗ khác."
+
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "phát hiện nhiều nhánh, không tương thích với --set-upstream"
@@ -6157,6 +6166,9 @@ msgstr "refmap"
msgid "specify fetch refmap"
msgstr "chỉ ra refmap cần lấy về"
+msgid "revision"
+msgstr "điểm xét duyệt"
+
msgid "report that we have only objects reachable from this object"
msgstr "báo rằng ta chỉ có các đối tượng tiếp cận được từ đối tượng này"
@@ -6209,11 +6221,11 @@ msgid "protocol does not support --negotiate-only, exiting"
msgstr "giao thức không hỗ trợ --negotiate-only, nên thoát"
msgid ""
-"--filter can only be used with the remote configured in extensions."
-"partialclone"
+"--filter can only be used with the remote configured in "
+"extensions.partialclone"
msgstr ""
-"--filter chỉ có thể được dùng với máy chủ được cấu hình bằng extensions."
-"partialclone"
+"--filter chỉ có thể được dùng với máy chủ được cấu hình bằng "
+"extensions.partialclone"
msgid "--atomic can only be used when fetching from one remote"
msgstr "--atomic chỉ có thể dùng khi lấy về từ một máy chủ"
@@ -6882,8 +6894,24 @@ msgstr "hoặc là bộ lập lịch systemd hoặc là crontab không sẵn có
msgid "%s scheduler is not available"
msgstr "bộ lên lịch %s không sẵn có"
-msgid "another process is scheduling background maintenance"
-msgstr "một tiến trình khác được lập kế hoạch chạy nền để bảo trì"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"Không thể tạo '%s.lock': %s.\n"
+"\n"
+"Tiến trình git-maintenance(1) khác có lẽ đang chạy ở kho này. Vui lòng\n"
+"chắc chắn rằng mọi tiến trình đã kết thúc và sau đó thử lại. Nếu vẫn lỗi,\n"
+"một tiến trình git-maintenance(1) có lẽ đã crash ở kho này trước đó:\n"
+"gõ bỏ tập tin thủ công để tiếp tục."
+
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "không thể lấy được lock để bảo trì nền theo kế hoạch"
msgid "git maintenance start [--scheduler=<scheduler>]"
msgstr "git maintenance start [--scheduler=<bộ lên lịch>]"
@@ -7250,8 +7278,8 @@ msgid ""
"git hook run [--ignore-missing] [--to-stdin=<path>] <hook-name> [-- <hook-"
"args>]"
msgstr ""
-"git hook run [--ignore-missing] [--to-stdin=</đường/dẫn/>] <tên-móc> [-- "
-"<các tham số cho móc>]"
+"git hook run [--ignore-missing] [--to-stdin=</đường/dẫn/>] <tên-hook> [-- "
+"<các tham số cho hook>]"
msgid "silently ignore missing requested <hook-name>"
msgstr "âm thầm bỏ qua các <hook-name> đã yêu cầu còn thiếu"
@@ -7445,6 +7473,20 @@ msgid "chain length = %d: %lu object"
msgid_plural "chain length = %d: %lu objects"
msgstr[0] "chiều dài chuỗi = %d: %lu đối tượng"
+msgid "could not start pack-objects to repack local links"
+msgstr "không thể bắt đầu pack-objects để đóng gói lại các link cục bộ"
+
+msgid "failed to feed local object to pack-objects"
+msgstr "gặp lỗi khi đưa local object cho pack-objects"
+
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack: Đang chỉ cần các dòng ID đối tượng dạng hexa đầy đủ từ pack-"
+"objects."
+
+msgid "could not finish pack-objects to repack local links"
+msgstr "không thể hoàn tất pack-objects để đóng gói các link cục bộ"
+
msgid "Cannot come back to cwd"
msgstr "Không thể quay lại thư mục hiện hành"
@@ -7456,6 +7498,9 @@ msgstr "%s sai"
msgid "unknown hash algorithm '%s'"
msgstr "không hiểu thuật toán băm dữ liệu '%s'"
+msgid "--promisor cannot be used with a pack name"
+msgstr "không được dùng --promisor với tên pack"
+
msgid "--stdin requires a git repository"
msgstr "--stdin cần một kho git"
@@ -8101,7 +8146,8 @@ msgid "use full path names"
msgstr "dùng tên đường dẫn đầy đủ"
msgid "list entire tree; not just current directory (implies --full-name)"
-msgstr "liệt kê cây mục tin; không chỉ thư mục hiện hành (ngụ ý --full-name)"
+msgstr ""
+"liệt kê cây mục tin; không chỉ thư mục hiện hành (ngầm chỉ định --full-name)"
msgid "--format can't be combined with other format-altering options"
msgstr ""
@@ -8390,10 +8436,10 @@ msgid "continue the current in-progress merge"
msgstr "tiếp tục quá trình hòa trộn hiện tại đang thực hiện"
msgid "bypass pre-merge-commit and commit-msg hooks"
-msgstr "vòng qua móc (hook) pre-merge-commit và commit-msg"
+msgstr "bỏ qua hook pre-merge-commit và commit-msg"
msgid "could not run stash."
-msgstr "không thể chạy stash."
+msgstr "không thể chạy tạm cất."
msgid "stash failed"
msgstr "lệnh tạm cất gặp lỗi"
@@ -8815,11 +8861,11 @@ msgstr "git notes [--ref <notes-ref>] [list [<đối-tượng>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <lời-nhắn> | -F <tập-"
-"tin> | (-c | -C) <đối-tượng>] [<đối-tượng>]"
+"tin> | (-c | -C) <đối-tượng>] [<đối-tượng>] [-e]"
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
msgstr "git notes [--ref <notes-ref>] copy [-f] <từ-đối-tượng> <đến-đối-tượng>"
@@ -8827,11 +8873,11 @@ msgstr "git notes [--ref <notes-ref>] copy [-f] <từ-đối-tượng> <đến-
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <lời-nhắn> | -F <tập-"
-"tin> | (-c | -C) <đối-tượng>] [<đối-tượng>]"
+"tin> | (-c | -C) <đối-tượng>] [<đối-tượng>] [-e]"
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
msgstr "git notes [--ref <notes-ref>] edit [--allow-empty] [<đối-tượng>]"
@@ -8950,6 +8996,9 @@ msgstr "nội dung ghi chú (note) nằm trong một tập tin"
msgid "reuse and edit specified note object"
msgstr "dùng lại nhưng có sửa chữa đối tượng note đã chỉ ra"
+msgid "edit note message in editor"
+msgstr "sửa lại chú thích trong trình soạn thảo"
+
msgid "reuse specified note object"
msgstr "dùng lại đối tượng ghi chú (note) đã chỉ ra"
@@ -8988,7 +9037,7 @@ msgid "read objects from stdin"
msgstr "đọc các đối tượng từ stdin"
msgid "load rewriting config for <command> (implies --stdin)"
-msgstr "tải cấu hình chép lại cho <lệnh> (ngụ ý --stdin)"
+msgstr "tải cấu hình chép lại cho <lệnh> (ngầm chỉ định --stdin)"
msgid "too few arguments"
msgstr "quá ít đối số"
@@ -9355,7 +9404,7 @@ msgid "limit pack window by memory in addition to object limit"
msgstr "giới hạn cửa sổ đóng gói theo bộ nhớ cộng thêm với giới hạn đối tượng"
msgid "maximum length of delta chain allowed in the resulting pack"
-msgstr "độ dài tối đa của chuỗi móc xích 'delta' được phép trong gói kết quả"
+msgstr "độ dài tối đa của chuỗi delta được phép trong gói kết quả"
msgid "reuse existing deltas"
msgstr "dùng lại các delta sẵn có"
@@ -9448,8 +9497,11 @@ msgstr "xử lý cho thiếu đối tượng"
msgid "do not pack objects in promisor packfiles"
msgstr "không thể đóng gói các đối tượng trong các tập tin gói promisor"
+msgid "implies --missing=allow-any"
+msgstr "ngầm chỉ định --missing=allow-any"
+
msgid "respect islands during delta compression"
-msgstr "tôn trọng island trong suốt quá trình nén 'delta'"
+msgstr "tôn trọng island trong suốt quá trình nén delta"
msgid "protocol"
msgstr "giao thức"
@@ -9584,7 +9636,7 @@ msgid "allow fast-forward"
msgstr "cho phép chuyển-tiếp-nhanh"
msgid "control use of pre-merge-commit and commit-msg hooks"
-msgstr "điều khiển cách dùng các móc (hook) pre-merge-commit và commit-msg"
+msgstr "điều khiển cách dùng các hook pre-merge-commit và commit-msg"
msgid "automatically stash/stash pop before and after"
msgstr "tự động stash/stash pop trước và sau"
@@ -9785,8 +9837,8 @@ msgid ""
msgstr ""
"\n"
"Để tránh tự động cấu hình nhánh thượng nguồn khi tên của chúng\n"
-"không khớp với nhánh nội bộ, xem tùy chọn 'simple' của branch."
-"autoSetupMerge\n"
+"không khớp với nhánh nội bộ, xem tùy chọn 'simple' của "
+"branch.autoSetupMerge\n"
"trong 'git help config'.\n"
#, c-format
@@ -9994,7 +10046,7 @@ msgid "prune locally removed refs"
msgstr "xén tỉa những tham chiếu bị gỡ bỏ"
msgid "bypass pre-push hook"
-msgstr "vòng qua móc tiền-đẩy (pre-push)"
+msgstr "bỏ qua hook tiền-đẩy (pre-push)"
msgid "push missing but relevant tags"
msgstr "push phần bị thiếu nhưng các thẻ lại thích hợp"
@@ -10289,10 +10341,10 @@ msgid "use the merge-base of upstream and branch as the current base"
msgstr "sử dụng gốc hòa trộn của thượng nguồn và nhánh làm gốc hiện tại"
msgid "allow pre-rebase hook to run"
-msgstr "cho phép móc (hook) pre-rebase được chạy"
+msgstr "cho phép hook pre-rebase được chạy"
msgid "be quiet. implies --no-stat"
-msgstr "im lặng. ngụ ý --no-stat"
+msgstr "im lặng. ngầm chỉ định --no-stat"
msgid "display a diffstat of what changed upstream"
msgstr "hiển thị diffstat của những thay đổi thượng nguồn"
@@ -10526,14 +10578,14 @@ msgid "Current branch %s is up to date.\n"
msgstr "Nhánh hiện tại %s đã được cập nhật rồi.\n"
msgid "HEAD is up to date, rebase forced."
-msgstr "HEAD hiện đã được cập nhật rồi, bị ép buộc rebase."
+msgstr "HEAD hiện đã được cập nhật rồi, ép buộc rebase."
#, c-format
msgid "Current branch %s is up to date, rebase forced.\n"
-msgstr "Nhánh hiện tại %s đã được cập nhật rồi, lệnh rebase ép buộc.\n"
+msgstr "Nhánh hiện tại %s đã được cập nhật rồi, ép buộc rebase.\n"
msgid "The pre-rebase hook refused to rebase."
-msgstr "Móc (hook) pre-rebase từ chối rebase."
+msgstr "Hook pre-rebase từ chối rebase."
#, c-format
msgid "Changes to %s:\n"
@@ -10546,7 +10598,7 @@ msgstr "Thay đổi từ %s thành %s:\n"
#, c-format
msgid "First, rewinding head to replay your work on top of it...\n"
msgstr ""
-"Trước tiên, di chuyển head để xem lại các công việc trên đỉnh của nó...\n"
+"Trước tiên, di chuyển lại head để thực hiện lại các thay đổi trên nó...\n"
msgid "Could not detach HEAD"
msgstr "Không thể tách rời HEAD"
@@ -11048,6 +11100,29 @@ msgid " Local ref configured for 'git push'%s:"
msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " Những tham chiếu nội bộ được cấu hình cho lệnh 'git push'%s:"
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "'%s/HEAD' không đổi và trỏ đến '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' đã đổi từ '%s' để trỏ đến '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "'%s/HEAD' đã tạo và trỏ đến '%s'\n"
+
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' đã tách ra ở '%s' và trỏ đến '%s'\n"
+
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr ""
+"'%s/HEAD' từng trỏ đến '%s' (không phải nhánh máy chủ) và giờ trỏ đến '%s'\n"
+
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "đặt refs/remotes/<tên>/HEAD cho phù hợp với máy chủ"
@@ -11069,7 +11144,7 @@ msgid "Not a valid ref: %s"
msgstr "Không phải là tham chiếu hợp lệ: %s"
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "Không thể cài đặt %s"
#, c-format
@@ -12955,7 +13030,7 @@ msgid "don't print cloning progress"
msgstr "đừng in tiến trình nhân bản"
msgid "disallow cloning into non-empty directory, implies --init"
-msgstr "không cho phép nhân bản vào thư mục trống, ngụ ý --init"
+msgstr "không cho phép nhân bản vào thư mục trống, ngầm chỉ định --init"
msgid ""
"git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] "
@@ -13778,6 +13853,9 @@ msgstr "cài đặt chế độ theo dõi (xem git-branch(1))"
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "có khớp tên tên nhánh mới với một nhánh theo dõi máy chủ"
+msgid "use relative paths for worktrees"
+msgstr "dùng đường dẫn tương đối cho thư mục làm việc"
+
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
msgstr "tùy chọn '%s', '%s' và '%s' không thể dùng cùng nhau"
@@ -14049,6 +14127,25 @@ msgstr "không thể tạo '%s'"
msgid "index-pack died"
msgstr "index-pack đã chết"
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "Thư mục '%s' có ở trong chỉ mục, mà không phải dạng sparse?"
+
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "cache-tree bị hỏng, chứa mục không có trong chỉ mục"
+
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "%s với cờ 0x%x không nên có trong cache-tree"
+
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "subtree sai '%.*s'"
+
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr "cache-tree cho đường dẫn %.*s không khớp. Cần %s nhưng có %s"
+
msgid "terminating chunk id appears earlier than expected"
msgstr "id chunk kết thúc sớm hơn bình thường"
@@ -14264,7 +14361,7 @@ msgid "Display help information about Git"
msgstr "Hiển thị thông tin trợ giúp về Git"
msgid "Run git hooks"
-msgstr "Chạy các móc git"
+msgstr "Chạy các hook git"
msgid "Server side implementation of Git over HTTP"
msgstr "Hỗ trợ phía máy chủ của Git qua HTTP"
@@ -14930,7 +15027,7 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"Hỗ trợ cho <GIT_DIR>/info/grafts đã không còn\n"
"và sẽ bị xóa bỏ ở phiên bản Git tương lai.\n"
@@ -14939,7 +15036,7 @@ msgstr ""
"để chuyển đổi các graft thành các tham chiếu thay thế.\n"
"\n"
"Tắt lời nhắn này bằng cách chạy\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
#, c-format
msgid "commit %s exists in commit-graph but not in the object database"
@@ -15750,6 +15847,18 @@ msgstr "url không có lược đồ: %s"
msgid "credential url cannot be parsed: %s"
msgstr "không hiểu cú pháp giấy chứng thực url: %s"
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "timeout không hợp lệ '%s', cần số nguyên không âm"
+
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr "init-timeout không hợp lệ '%s', cần số nguyên không âm"
+
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "max-connections không hợp lệ '%s', cần số nguyên"
+
msgid "in the future"
msgstr "ở tương lai"
@@ -16445,6 +16554,20 @@ msgstr "đường dẫn không gian tên git \"%s\" sai"
msgid "too many args to run %s"
msgstr "quá nhiều tham số để chạy %s"
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"Bạn đang muốn lấy về %s, nằm trong tập tin đồ-thị-chuyển-giao nhưng nằm "
+"ngoài cơ sở dữ liệu đối tượng.\n"
+"Nhiều khả năng kho chứa đã bị hỏng.\n"
+"Nếu bạn đang cần sửa chữa lại kho chứa bằng cách lấy về đối tượng còn thiếu, "
+"dùng 'git fetch --refetch' với đối tượng đó."
+
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack: cần danh sách shallow"
@@ -16878,8 +17001,8 @@ msgid ""
"given pattern contains NULL byte (via -f <file>). This is only supported "
"with -P under PCRE v2"
msgstr ""
-"mẫu đã cho có chứa NULL byte (qua -f <file>). Điều này chỉ được hỗ trợ với -"
-"P dưới PCRE v2"
+"mẫu đã cho có chứa NULL byte (qua -f <file>). Điều này chỉ được hỗ trợ với "
+"-P dưới PCRE v2"
#, c-format
msgid "'%s': unable to read %s"
@@ -17023,10 +17146,10 @@ msgstr[0] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
-"Móc '%s' bị bỏ qua bởi vì nó không có cờ thực thi được.\n"
-"Bạn có thể tắt cảnh báo này bằng 'git config advice.ignoredHook false'."
+"Hook '%s' bị bỏ qua bởi vì nó không có cờ thực thi được.\n"
+"Bạn có thể tắt cảnh báo này bằng 'git config set advice.ignoredHook false'."
msgid "not a git repository"
msgstr "không phải là kho git"
@@ -17042,15 +17165,9 @@ msgstr "giá trị âm cho http.postBuffer; đặt thành mặc định là %d"
msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "Điều khiển giao quyền không được hỗ trợ với cURL < 7.22.0"
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "Chốt khóa công không được hỗ trợ với cURL < 7.39.0"
-
msgid "Unknown value for http.proactiveauth"
msgstr "không hiểu giá trị cho http.proactiveauth"
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "CURLSSLOPT_NO_REVOKE không được hỗ trợ với cURL < 7.44.0"
-
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr ""
@@ -17204,7 +17321,7 @@ msgstr ""
"Tiến trình git khác có lẽ đang chạy ở kho này, ví dụ\n"
"một trình soạn thảo được mở bởi 'git commit'. Vui lòng chắc chắn\n"
"rằng mọi tiến trình đã kết thúc và sau đó thử lại. Nếu vẫn lỗi,\n"
-"một tiến trình git có lẽ đã crash khi thực hiện ở kho này trước đó:\n"
+"một tiến trình git có lẽ đã crash ở kho này trước đó:\n"
"gõ bỏ tập tin một cách thủ công để tiếp tục."
#, c-format
@@ -17237,8 +17354,12 @@ msgid "unable to format message: %s"
msgstr "không thể định dạng thông điệp: %s"
#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "marker-size không hợp lệ '%s', cần số nguyên"
+
+#, c-format
msgid "Failed to merge submodule %s (not checked out)"
-msgstr "Gặp lỗi khi hòa trộn mô-đun-con %s (không checkout được)"
+msgstr "Gặp lỗi khi hòa trộn mô-đun-con %s (không checkout)"
#, c-format
msgid "Failed to merge submodule %s (no merge base)"
@@ -18335,7 +18456,7 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"Git thường không bao giờ tạo tham chiếu kết thúc với 40 ký tự hex\n"
"bởi vì nó sẽ bị bỏ qua khi bạn chỉ định 40 ký tự hex. Những tham chiếu\n"
@@ -18344,8 +18465,8 @@ msgstr ""
" git switch -c $br $(git rev-parse ...)\n"
"\n"
"với \"$br\" không hiểu lý do vì sao rỗng và tạo ra tham chiếu 40-hex.\n"
-" Xin hãy kiểm tra những tham chiếu này và xóa chúng đi nếu cần. Tắt\n"
-"lời nhắn này bằng cách chạy lệnh \"git config advice.objectNameWarning "
+"Xin hãy kiểm tra những tham chiếu này và xóa chúng đi nếu cần. Tắt\n"
+"lời nhắn này bằng cách chạy lệnh \"git config set advice.objectNameWarning "
"false\""
#, c-format
@@ -18502,13 +18623,6 @@ msgstr "bitmap multi-pack thiếu chỉ mục để dành cần thiết"
msgid "could not open pack %s"
msgstr "không thể mở gói '%s'"
-msgid "could not determine MIDX preferred pack"
-msgstr "không thể xác định gói MIDX ưa dùng"
-
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "preferred pack (%s) không hợp lệ"
-
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "bảng tìm kiếm bitmap bị hỏng: vị trí bộ ba nằm ngoài chỉ mục"
@@ -19619,18 +19733,26 @@ msgstr "nhật ký cho tham chiếu %s kết thúc bất ngờ trên %s"
msgid "log for %s is empty"
msgstr "nhật ký cho %s trống rỗng"
-msgid "refusing to force and skip creation of reflog"
-msgstr "từ chối bỏ qua việc tạo log tham chiếu"
-
#, c-format
-msgid "refusing to update ref with bad name '%s'"
-msgstr "từ chối cập nhật tham chiếu với tên sai '%s'"
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "từ chối cập nhật reflog cho tham chiếu ảo '%s'"
#, c-format
msgid "refusing to update pseudoref '%s'"
msgstr "từ chối cập nhật tham chiếu ảo '%s'"
#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "từ chối cập nhật reflog với tên sai '%s'"
+
+#, c-format
+msgid "refusing to update ref with bad name '%s'"
+msgstr "từ chối cập nhật tham chiếu với tên sai '%s'"
+
+msgid "refusing to force and skip creation of reflog"
+msgstr "từ chối bỏ qua việc tạo log tham chiếu"
+
+#, c-format
msgid "update_ref failed for ref '%s': %s"
msgstr "update_ref bị lỗi cho ref '%s': %s"
@@ -19642,7 +19764,7 @@ msgid "ref updates forbidden inside quarantine environment"
msgstr "cập nhật tham chiếu bị cấm trong môi trường kiểm tra"
msgid "ref updates aborted by hook"
-msgstr "các cập nhật tham chiếu bị huỷ bỏ bởi móc"
+msgstr "các cập nhật tham chiếu bị huỷ bỏ bởi hook"
#, c-format
msgid "'%s' exists; cannot create '%s'"
@@ -19680,6 +19802,10 @@ msgstr ""
"tham chiếu thường"
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "không thể đọc tập tin ref '%s'"
+
+#, c-format
msgid "cannot open directory %s"
msgstr "không thể mở thư mục %s"
@@ -19887,6 +20013,10 @@ msgid "more than one uploadpack given, using the first"
msgstr "đã đưa ra nhiều hơn một gói tải lên, đang sử dụng cái đầu tiên"
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "bỏ qua giá trị không chấp nhận cho followRemoteHEAD '%s'"
+
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "không chấp nhận giá trị transfer.credentialsInUrl: '%s'"
@@ -20650,7 +20780,7 @@ msgstr ""
" git rebase --continue\n"
msgid "'prepare-commit-msg' hook failed"
-msgstr "móc 'prepare-commit-msg' bị lỗi"
+msgstr "hook 'prepare-commit-msg' bị lỗi"
msgid ""
"Your name and email address were configured automatically based\n"
@@ -21812,6 +21942,9 @@ msgstr "lần chuyển giao %s chưa được đánh dấu là tiếp cận đư
msgid "too many commits marked reachable"
msgstr "có quá nhiều lần chuyển giao được đánh dấu là tiếp cận được"
+msgid "could not determine MIDX preferred pack"
+msgstr "không thể xác định gói MIDX ưa dùng"
+
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<các tùy chọn>]"
@@ -22478,6 +22611,9 @@ msgstr "tập tin .git bị hỏng"
msgid ".git file incorrect"
msgstr "tập tin .git không chính xác"
+msgid ".git file absolute/relative path mismatch"
+msgstr "đường dẫn tương đối/tuyệt đối đến file .git không khớp"
+
msgid "not a valid path"
msgstr "không phải là một đường dẫn hợp lệ"
@@ -22493,6 +22629,9 @@ msgstr "không thể định vị kho chứa; tập tin .git bị hỏng"
msgid "gitdir unreadable"
msgstr "gitdir không thể đọc được"
+msgid "gitdir absolute/relative path mismatch"
+msgstr "đường dẫn tương đối/tuyệt đối đến gitdir không khớp"
+
msgid "gitdir incorrect"
msgstr "gitdir không chính xác"
@@ -22527,6 +22666,13 @@ msgstr "không thể bỏ đặt %s trong '%s'"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "gặp lỗi khi đặt cài đặt extensions.worktreeConfig"
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr ""
+"không thể nâng cấp định định dạng kho chứa để hỗ trợ cây làm việc tương đối"
+
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "gặp lỗi khi đặt cài đặt extensions.relativeWorktrees"
+
#, c-format
msgid "could not setenv '%s'"
msgstr "không thể setenv '%s'"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 55d2aee627..12a0fb510b 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -154,8 +154,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2024-10-05 03:31+0800\n"
-"PO-Revision-Date: 2024-10-05 03:32+0800\n"
+"POT-Creation-Date: 2025-01-02 20:43+0800\n"
+"PO-Revision-Date: 2025-01-05 19:01+0800\n"
"Last-Translator: Teng Long <dyroneteng@gmail.com>\n"
"Language-Team: GitHub <https://github.com/dyrone/git/>\n"
"Language: zh_CN\n"
@@ -886,10 +886,10 @@ msgstr "只有二进制文件被修改。"
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"使用 \"git config advice.%s false\" 来关闭此消息"
+"使用 \"git config set advice.%s false\" 来关闭此消息"
#: advice.c
#, c-format
@@ -1778,9 +1778,10 @@ msgstr "不是一个有效的对象名:%s"
msgid "not a tree object: %s"
msgstr "不是一个树对象:%s"
-#: archive.c builtin/clone.c
-msgid "unable to checkout working tree"
-msgstr "不能检出工作区"
+#: archive.c
+#, c-format
+msgid "failed to unpack tree object %s"
+msgstr "无法解包树对象 %s"
#: archive.c
#, c-format
@@ -1957,7 +1958,7 @@ msgstr "忽略过大的 gitattributes 数据对象 '%s'"
#: attr.c
msgid "cannot use --attr-source or GIT_ATTR_SOURCE without repo"
-msgstr "无法在没有存储库的情况下使用 --attr-source 或 GIT_ATTR_SOURCE"
+msgstr "无法在没有仓库的情况下使用 --attr-source 或 GIT_ATTR_SOURCE"
#: attr.c
msgid "bad --attr-source or GIT_ATTR_SOURCE"
@@ -4813,7 +4814,7 @@ msgstr "未知的冲突风格 '%s'"
msgid "perform a 3-way merge with the new branch"
msgstr "和新的分支执行三方合并"
-#: builtin/checkout.c builtin/log.c parse-options.h
+#: builtin/checkout.c builtin/log.c builtin/range-diff.c parse-options.h
msgid "style"
msgstr "风格"
@@ -4842,8 +4843,8 @@ msgid "update ignored files (default)"
msgstr "更新忽略的文件(默认)"
#: builtin/checkout.c
-msgid "do not check if another worktree is holding the given ref"
-msgstr "不检查指定的引用是否被其他工作区所占用"
+msgid "do not check if another worktree is using this branch"
+msgstr "不检查其他工作区是否正在使用该分支"
#: builtin/checkout.c
msgid "checkout our version for unmerged files"
@@ -5222,14 +5223,13 @@ msgstr "创建一个指定深度的浅克隆"
msgid "create a shallow clone since a specific time"
msgstr "从一个特定时间创建一个浅克隆"
-#: builtin/clone.c builtin/fetch.c builtin/pull.c builtin/rebase.c
-#: builtin/replay.c
-msgid "revision"
-msgstr "版本"
+#: builtin/clone.c builtin/fetch.c builtin/pull.c
+msgid "ref"
+msgstr "引用"
#: builtin/clone.c builtin/fetch.c builtin/pull.c
-msgid "deepen history of shallow clone, excluding rev"
-msgstr "深化浅克隆的历史,除了特定版本"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "深化浅克隆的历史,除了给定的引用"
#: builtin/clone.c builtin/submodule--helper.c
msgid "clone only one branch, HEAD or --branch"
@@ -5391,6 +5391,10 @@ msgid "remote HEAD refers to nonexistent ref, unable to checkout"
msgstr "远程 HEAD 指向一个不存在的引用,无法检出"
#: builtin/clone.c
+msgid "unable to checkout working tree"
+msgstr "不能检出工作区"
+
+#: builtin/clone.c
msgid "unable to write parameters to config file"
msgstr "无法将参数写入配置文件"
@@ -6368,10 +6372,9 @@ msgstr ""
#: builtin/config.c
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
-"git config unset [<文件选项>] [--all] [--value=<值>] [--fixed-value] <名称> <"
-"值>"
+"git config unset [<文件选项>] [--all] [--value=<值>] [--fixed-value] <名称>"
#: builtin/config.c
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
@@ -6915,12 +6918,8 @@ msgstr "已遍历 %lu 个提交\n"
#: builtin/describe.c
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"发现多于 %i 个标签,列出最近的 %i 个\n"
-"在 %s 放弃搜索\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "找到 %i 个标签;在 %s 处放弃搜索\n"
#: builtin/describe.c
#, c-format
@@ -7469,6 +7468,21 @@ msgid "the object %s does not exist"
msgstr "对象 '%s' 不存在"
#: builtin/fetch.c
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"运行 'git remote set-head %s %s' 以跟随更改,或者\n"
+"如果您不想看到此消息,则将'remote.%s.followRemoteHEAD' 配置选项设置为不同的"
+"值。\n"
+"特别地,运行 'git config set remote.%s.followRemoteHEAD %s' 将禁用警告,直到"
+"远程将 HEAD 更改为其他内容。\""
+
+#: builtin/fetch.c
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "检测到多分支,和 --set-upstream 不兼容"
@@ -7635,6 +7649,10 @@ msgstr "引用映射"
msgid "specify fetch refmap"
msgstr "指定获取操作的引用映射"
+#: builtin/fetch.c builtin/pull.c builtin/rebase.c builtin/replay.c
+msgid "revision"
+msgstr "版本"
+
#: builtin/fetch.c builtin/pull.c
msgid "report that we have only objects reachable from this object"
msgstr "报告我们只拥有从该对象开始可达的对象"
@@ -7830,7 +7848,7 @@ msgstr "存储着仓库路径列表的配置项键名"
#: builtin/for-each-repo.c
msgid "keep going even if command fails in a repository"
-msgstr "即使存储库中的命令失败,仍继续执行"
+msgstr "即使仓库中的命令失败,仍继续执行"
#: builtin/for-each-repo.c
msgid "missing --config=<config>"
@@ -8546,8 +8564,24 @@ msgid "%s scheduler is not available"
msgstr "%s 调度器不可用"
#: builtin/gc.c
-msgid "another process is scheduling background maintenance"
-msgstr "另外一个进程正运行于后台维护"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"无法创建 '%s.lock':%s。\n"
+"\n"
+"另一个已计划的 git-maintenance(1) 进程似乎正在该仓库中运行。\n"
+"请确保没有其他维护进程正在运行,然后重试。如果仍然运行失败,则\n"
+"git-maintenance(1) 进程可能之前已在此仓库中崩溃:请手动删除该文件以继续。"
+
+#: builtin/gc.c
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "无法获取计划的后台维护锁"
#: builtin/gc.c
msgid "git maintenance start [--scheduler=<scheduler>]"
@@ -9273,6 +9307,23 @@ msgstr[0] "链长 = %d: %lu 对象"
msgstr[1] "链长 = %d: %lu 对象"
#: builtin/index-pack.c
+msgid "could not start pack-objects to repack local links"
+msgstr "无法启动 pack-objects 来重新打包本地链接"
+
+#: builtin/index-pack.c
+msgid "failed to feed local object to pack-objects"
+msgstr "无法将本地对象提供给 pack-objects"
+
+#: builtin/index-pack.c
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr ""
+"index-pack:期望仅从 pack-objects 的输出行中获得完整的十六进制对象 ID。"
+
+#: builtin/index-pack.c
+msgid "could not finish pack-objects to repack local links"
+msgstr "无法完成 pack-objects 来重新打包本地链接"
+
+#: builtin/index-pack.c
msgid "Cannot come back to cwd"
msgstr "无法返回当前工作目录"
@@ -9287,6 +9338,10 @@ msgid "unknown hash algorithm '%s'"
msgstr "未知的哈希算法 '%s'"
#: builtin/index-pack.c
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor 无法与包名称一起使用"
+
+#: builtin/index-pack.c
msgid "--stdin requires a git repository"
msgstr "--stdin 需要 git 仓库"
@@ -11002,11 +11057,11 @@ msgstr "git notes [--ref <注解引用>] [list [<对象>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <注解引用>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<分段符>] [--[no-]stripspace] [-m <说明> | -F <文件> | (-c | -C) <"
-"对象>] [<对象>]"
+"对象>] [<对象>] [-e]"
#: builtin/notes.c
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
@@ -11016,11 +11071,11 @@ msgstr "git notes [--ref <注解引用>] copy [-f] <源对象> <目标对象>"
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <注解引用>] append [--allow-empty] [--[no-]separator|--"
"separator=<分段符>] [--[no-]stripspace] [-m <说明> | -F <文件> | (-c | -C) <"
-"对象>] [<对象>]"
+"对象>] [<对象>] [-e]"
#: builtin/notes.c
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
@@ -11172,6 +11227,10 @@ msgid "reuse and edit specified note object"
msgstr "重用和编辑指定的注解对象"
#: builtin/notes.c
+msgid "edit note message in editor"
+msgstr "在编辑器中编辑注释说明"
+
+#: builtin/notes.c
msgid "reuse specified note object"
msgstr "重用指定的注解对象"
@@ -11785,6 +11844,10 @@ msgid "do not pack objects in promisor packfiles"
msgstr "不要打包 promisor 包文件中的对象"
#: builtin/pack-objects.c
+msgid "implies --missing=allow-any"
+msgstr "暗含 --missing=allow-any"
+
+#: builtin/pack-objects.c
msgid "respect islands during delta compression"
msgstr "在增量压缩时参考数据岛"
@@ -13669,6 +13732,33 @@ msgstr[0] " 为 'git push' 配置的本地引用%s:"
msgstr[1] " 为 'git push' 配置的本地引用%s:"
#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "'%s/HEAD' 未改变并指向 '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' 已从 '%s' 更改,现在指向 '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "'%s/HEAD' 现已创建并指向 '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "'%s/HEAD' 在 '%s' 处分离并且现在指向 '%s'\n"
+
+#: builtin/remote.c
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr "'%s/HEAD' 曾指向 '%s'(不是远程分支),但现在指向 '%s'\n"
+
+#: builtin/remote.c
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "根据远程设置 refs/remotes/<名称>/HEAD"
@@ -13696,7 +13786,7 @@ msgstr "不是一个有效引用:%s"
#: builtin/remote.c
#, c-format
-msgid "Could not setup %s"
+msgid "Could not set up %s"
msgstr "不能设置 %s"
# 译者:注意保持前导空格
@@ -17034,6 +17124,10 @@ msgstr "设置跟踪模式(参见 git-branch(1))"
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "尝试为新分支名匹配一个远程跟踪分支"
+#: builtin/worktree.c
+msgid "use relative paths for worktrees"
+msgstr "对工作区使用相对路径"
+
#: builtin/worktree.c diff.c parse-options.c
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
@@ -17370,6 +17464,30 @@ msgstr "不能创建 '%s'"
msgid "index-pack died"
msgstr "index-pack 终止"
+#: cache-tree.c
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "目录 '%s' 存在于索引中,但不是稀疏的"
+
+#: cache-tree.c unpack-trees.c
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "损坏的缓存树包含索引中不存在的条目"
+
+#: cache-tree.c
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "标志位为 0x%2$x 的 %1$s 不应位于缓存树中"
+
+#: cache-tree.c
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "损坏的子树 '%.*s'"
+
+#: cache-tree.c
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr "路径 %.*s 的缓存树不匹配。预期为 %s,实际为 %s"
+
#: chunk-format.c
msgid "terminating chunk id appears earlier than expected"
msgstr "终止块 ID 比预期更早出现"
@@ -18477,15 +18595,15 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"对 <GIT_DIR>/info/grafts 的支持已过时,并将在\n"
"未来的Git版本中被移除。\n"
"\n"
"请使用 \"git replace --convert-graft-file\" 将\n"
-"grafts 转换为替换引用。\n"
+"(提交)移植转换为替换引用。\n"
"\n"
-"设置 \"git config advice.graftFileDeprecated false\"\n"
+"运行 \"git config set advice.graftFileDeprecated false\"\n"
"可关闭本消息"
#: commit.c
@@ -19485,6 +19603,21 @@ msgstr "URL 没有 scheme:%s"
msgid "credential url cannot be parsed: %s"
msgstr "不能解析凭据 URL:%s"
+#: daemon.c
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "无效的超时值 '%s',应为非负整数"
+
+#: daemon.c
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr "无效的初始超时值 '%s',应为非负整数"
+
+#: daemon.c
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "无效的最大连接数 '%s',应为一个整数"
+
#: date.c
msgid "in the future"
msgstr "在将来"
@@ -20352,6 +20485,20 @@ msgid "too many args to run %s"
msgstr "执行 %s 的参数太多"
#: fetch-pack.c
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"您正在尝试获取 %s,它位于提交图文件中,但不在对象数据库中。\n"
+"这可能是由于仓库损坏造成的。\n"
+"如果您尝试通过重新获取丢失的对象来修复此仓库损坏,请对丢失的对象使用 'git "
+"fetch --refetch'。"
+
+#: fetch-pack.c
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack:应为 shallow 列表"
@@ -21062,10 +21209,10 @@ msgstr[1] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
"因为没有将钩子 '%s' 设置为可执行,钩子被忽略。您可以通过\n"
-"配置 `git config advice.ignoredHook false` 来关闭这条警告。"
+"配置 `git config set advice.ignoredHook false` 来关闭这条警告。"
#: http-fetch.c
msgid "not a git repository"
@@ -21086,18 +21233,10 @@ msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "不支持委托控制,因为 cURL < 7.22.0"
#: http.c
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "不支持公钥文件锁定,因为 cURL < 7.39.0"
-
-#: http.c
msgid "Unknown value for http.proactiveauth"
msgstr "http.proactiveauth 为未知取值"
#: http.c
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "不支持 CURLSSLOPT_NO_REVOKE,因为 cURL < 7.44.0"
-
-#: http.c
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "不支持的 SSL 后端 '%s'。支持的 SSL 后端:"
@@ -21316,6 +21455,11 @@ msgstr "检测到被引用的 CRLF"
msgid "unable to format message: %s"
msgstr "无法格式化消息:%s"
+#: merge-ll.c
+#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "无效的标记大小 '%s',应为一个整数"
+
#: merge-ort.c merge-recursive.c
#, c-format
msgid "Failed to merge submodule %s (not checked out)"
@@ -22623,7 +22767,7 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
"Git 通常不会创建一个以40个十六进制字符结尾的引用,因为当您只提供40\n"
"个十六进制字符时将被忽略。这些引用可能被错误地创建。例如:\n"
@@ -22631,7 +22775,7 @@ msgstr ""
" git switch -c $br $(git rev-parse ...)\n"
"\n"
"当 \"$br\" 某种原因空白时,一个40位十六进制的引用将被创建。请检查这些\n"
-"引用,可能需要删除它们。运行 \"git config advice.objectNameWarning\n"
+"引用,可能需要删除它们。运行 \"git config set advice.objectNameWarning\n"
"false\" 命令关闭本消息通知。"
#: object-name.c
@@ -22826,15 +22970,6 @@ msgstr "多包位图缺少必需的反向索引"
msgid "could not open pack %s"
msgstr "不能打开包 %s"
-#: pack-bitmap.c t/helper/test-read-midx.c
-msgid "could not determine MIDX preferred pack"
-msgstr "不能确定多包索引的首选包"
-
-#: pack-bitmap.c
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "首选包 (%s) 无效"
-
#: pack-bitmap.c
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "损坏的位图查询表:三元组位置超出索引"
@@ -24170,8 +24305,19 @@ msgid "log for %s is empty"
msgstr "%s 的日志为空"
#: refs.c
-msgid "refusing to force and skip creation of reflog"
-msgstr "拒绝既强制又跳过创建引用日志"
+#, c-format
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "拒绝为伪引用 '%s' 更新引用日志"
+
+#: refs.c
+#, c-format
+msgid "refusing to update pseudoref '%s'"
+msgstr "拒绝更新伪引用 '%s'"
+
+#: refs.c
+#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "拒绝使用错误名称 '%s' 更新引用日志"
#: refs.c
#, c-format
@@ -24179,9 +24325,8 @@ msgid "refusing to update ref with bad name '%s'"
msgstr "拒绝更新有错误名称 '%s' 的引用"
#: refs.c
-#, c-format
-msgid "refusing to update pseudoref '%s'"
-msgstr "拒绝更新伪引用 '%s'"
+msgid "refusing to force and skip creation of reflog"
+msgstr "拒绝强制跳过创建引用日志"
#: refs.c
#, c-format
@@ -24244,6 +24389,11 @@ msgstr "无法锁定引用 '%s':预期目标为 '%s' 的符号引用:但是
#: refs/files-backend.c
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "无法读取引用文件 '%s'"
+
+#: refs/files-backend.c
+#, c-format
msgid "cannot open directory %s"
msgstr "无法打开目录 %s"
@@ -24500,6 +24650,11 @@ msgstr "提供了一个以上的 uploadpack,使用第一个"
#: remote.c
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "已忽略无法识别的 followRemoteHEAD 值 '%s'"
+
+#: remote.c
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
msgstr "无法识别的 transfer.credentialsInUrl 值:'%s'"
@@ -26810,6 +26965,10 @@ msgstr "提交 %s 没有标记为可达"
msgid "too many commits marked reachable"
msgstr "太多提交标记为可达"
+#: t/helper/test-read-midx.c
+msgid "could not determine MIDX preferred pack"
+msgstr "不能确定多包索引的首选包"
+
#: t/helper/test-serve-v2.c
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<选项>]"
@@ -27585,6 +27744,10 @@ msgid ".git file incorrect"
msgstr ".git 文件不正确"
#: worktree.c
+msgid ".git file absolute/relative path mismatch"
+msgstr ".git 文件绝对/相对路径不匹配"
+
+#: worktree.c
msgid "not a valid path"
msgstr "不是一个有效的路径"
@@ -27605,6 +27768,10 @@ msgid "gitdir unreadable"
msgstr "gitdir 不可读"
#: worktree.c
+msgid "gitdir absolute/relative path mismatch"
+msgstr "gitdir 绝对/相对路径不匹配"
+
+#: worktree.c
msgid "gitdir incorrect"
msgstr "gitdir 不正确"
@@ -27648,6 +27815,14 @@ msgstr "无法在 '%2$s' 中取消设置 %1$s"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "无法设置 extensions.worktreeConfig"
+#: worktree.c
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr "无法升级仓库格式以支持相对工作区"
+
+#: worktree.c
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "无法设定 extensions.relativeWorktrees 的设置"
+
#: wrapper.c
#, c-format
msgid "could not setenv '%s'"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 5e6818f453..a61f544304 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -30,8 +30,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Git\n"
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2024-10-05 01:20+0000\n"
-"PO-Revision-Date: 2024-10-05 15:45+0800\n"
+"POT-Creation-Date: 2024-12-28 13:16+0800\n"
+"PO-Revision-Date: 2024-12-28 13:23+0800\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"
@@ -764,10 +764,10 @@ msgstr "只有二進位檔案更動了。"
#, c-format
msgid ""
"\n"
-"Disable this message with \"git config advice.%s false\""
+"Disable this message with \"git config set advice.%s false\""
msgstr ""
"\n"
-"請使用「git config advice.%s false」停用此訊息"
+"請使用「git config set advice.%s false」停用此訊息"
#: advice.c
#, c-format
@@ -941,12 +941,12 @@ 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-index.c
#: builtin/checkout.c builtin/clean.c builtin/clone.c builtin/commit.c
@@ -1081,7 +1081,7 @@ msgstr "二進位修補檔在第 %d 列損壞:%.*s"
#: apply.c
#, c-format
msgid "unrecognized binary patch at line %d"
-msgstr "第 %d 列的二進位修補檔無法識別"
+msgstr "第 %d 列的二進位修補檔不認識"
#: apply.c
#, c-format
@@ -2620,7 +2620,7 @@ 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"
@@ -2917,7 +2917,7 @@ msgstr "「%s」不是有效的提交"
#, c-format
msgid ""
"could not check out original HEAD '%s'. Try 'git bisect reset <commit>'."
-msgstr "不能簽出原始 HEAD「%s」。請嘗試「git bisect reset <commit>」。"
+msgstr "無法簽出原始 HEAD「%s」。請嘗試「git bisect reset <commit>」。"
#: builtin/bisect.c
#, c-format
@@ -3021,7 +3021,7 @@ msgstr "「 」不是有效術語"
#: builtin/bisect.c
#, c-format
msgid "unrecognized option: '%s'"
-msgstr "無法識別選項:「%s」"
+msgstr "不認識選項:「%s」"
#: builtin/bisect.c
#, c-format
@@ -3460,7 +3460,7 @@ msgstr "無法解析格式化字串"
#: builtin/branch.c
msgid "could not resolve HEAD"
-msgstr "無法解析 HEAD 指標"
+msgstr "無法解析 HEAD"
#: builtin/branch.c
#, c-format
@@ -4689,7 +4689,7 @@ msgstr "未知的衝突輸出風格「%s」"
msgid "perform a 3-way merge with the new branch"
msgstr "和新分支進行三方合併"
-#: builtin/checkout.c builtin/log.c parse-options.h
+#: builtin/checkout.c builtin/log.c builtin/range-diff.c parse-options.h
msgid "style"
msgstr "style"
@@ -4718,8 +4718,8 @@ msgid "update ignored files (default)"
msgstr "更新忽略的檔案(預設值)"
#: builtin/checkout.c
-msgid "do not check if another worktree is holding the given ref"
-msgstr "不檢查其他工作區是否正在佔用指定的引用"
+msgid "do not check if another worktree is using this branch"
+msgstr "不檢查其他工作區是否正在使用此分支"
#: builtin/checkout.c
msgid "checkout our version for unmerged files"
@@ -4875,7 +4875,7 @@ msgstr "無法移除 %s"
#: builtin/clean.c
#, c-format
msgid "could not lstat %s\n"
-msgstr "不能對 %s 進行 lstat\n"
+msgstr "無法對 %s 進行 lstat\n"
#: builtin/clean.c
msgid "Refusing to remove current working directory\n"
@@ -5099,14 +5099,13 @@ msgstr "建立指定深度的淺層複製"
msgid "create a shallow clone since a specific time"
msgstr "建立從指定時間到現在的淺層複製"
-#: builtin/clone.c builtin/fetch.c builtin/pull.c builtin/rebase.c
-#: builtin/replay.c
-msgid "revision"
-msgstr "revision"
+#: builtin/clone.c builtin/fetch.c builtin/pull.c
+msgid "ref"
+msgstr "ref"
#: builtin/clone.c builtin/fetch.c builtin/pull.c
-msgid "deepen history of shallow clone, excluding rev"
-msgstr "取得更多淺層複製的過去歷史記錄,除了特定修訂版"
+msgid "deepen history of shallow clone, excluding ref"
+msgstr "取得更多淺層複製的過往歷史記錄,除了特定修訂版"
#: builtin/clone.c builtin/submodule--helper.c
msgid "clone only one branch, HEAD or --branch"
@@ -5325,12 +5324,12 @@ msgstr "工作區 '%s' 已經存在。"
#: builtin/clone.c builtin/difftool.c builtin/log.c builtin/worktree.c
#, c-format
msgid "could not create leading directories of '%s'"
-msgstr "不能為 '%s' 建立先導目錄"
+msgstr "無法為「%s」建立前導目錄"
#: builtin/clone.c
#, c-format
msgid "could not create work tree dir '%s'"
-msgstr "不能建立工作區目錄 '%s'"
+msgstr "無法建立工作區目錄「%s」"
#: builtin/clone.c
#, c-format
@@ -5495,7 +5494,7 @@ msgstr "無法開啟提交圖鏈「%s」"
#: builtin/commit-graph.c
#, c-format
msgid "unrecognized --split argument, %s"
-msgstr "無法識別的 --split 參數,%s"
+msgstr "不認識的 --split 參數,%s"
#: builtin/commit-graph.c
#, c-format
@@ -5789,12 +5788,12 @@ msgstr "(正從標準輸入中讀取日誌訊息)\n"
#: builtin/commit.c
msgid "could not read log from standard input"
-msgstr "不能從標準輸入中讀取日誌訊息"
+msgstr "無法從標準輸入中讀取記錄"
#: builtin/commit.c
#, c-format
msgid "could not read log file '%s'"
-msgstr "不能讀取日誌檔案 '%s'"
+msgstr "無法讀取日誌檔案「%s」"
#: builtin/commit.c
#, c-format
@@ -5803,11 +5802,11 @@ msgstr "「%s」和「%s:%s」選項不得同時使用"
#: builtin/commit.c
msgid "could not read SQUASH_MSG"
-msgstr "不能讀取 SQUASH_MSG"
+msgstr "無法讀取 SQUASH_MSG"
#: builtin/commit.c
msgid "could not read MERGE_MSG"
-msgstr "不能讀取 MERGE_MSG"
+msgstr "無法讀取 MERGE_MSG"
#: builtin/commit.c bundle.c rerere.c sequencer.c
#, c-format
@@ -5816,7 +5815,7 @@ msgstr "無法開啟「%s」"
#: builtin/commit.c
msgid "could not write commit template"
-msgstr "不能寫提交範本"
+msgstr "無法寫入提交模板"
#: builtin/commit.c
#, c-format
@@ -6192,7 +6191,7 @@ msgstr "允許空的提交說明"
#: builtin/commit.c sequencer.c
msgid "could not parse HEAD commit"
-msgstr "不能解析 HEAD 提交"
+msgstr "無法解析 HEAD 提交"
#: builtin/commit.c
#, c-format
@@ -6201,12 +6200,12 @@ msgstr "損壞的 MERGE_HEAD 檔案(%s)"
#: builtin/commit.c
msgid "could not read MERGE_MODE"
-msgstr "不能讀取 MERGE_MODE"
+msgstr "無法讀取 MERGE_MODE"
#: builtin/commit.c
#, c-format
msgid "could not read commit message: %s"
-msgstr "不能讀取提交說明:%s"
+msgstr "無法讀取提交說明:%s"
#: builtin/commit.c
#, c-format
@@ -6255,10 +6254,10 @@ msgstr ""
#: builtin/config.c
msgid ""
"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
-"<name> <value>"
+"<name>"
msgstr ""
-"git config unset [<檔案選項>] [--all] [--value=<值>] [--fixed-value] <名稱> <"
-"值>"
+"git config unset [<file-option>] [--all] [--value=<value>] [--fixed-value] "
+"<name>"
#: builtin/config.c
msgid "git config rename-section [<file-option>] <old-name> <new-name>"
@@ -6390,7 +6389,7 @@ msgstr "除了顯示組態值,額外顯示其鍵名"
#: builtin/config.c
#, c-format
msgid "unrecognized --type argument, %s"
-msgstr "無法識別的 --type 參數,%s"
+msgstr "不認識的 --type 參數,%s"
#: builtin/config.c
msgid "only one type at a time"
@@ -6804,12 +6803,8 @@ msgstr "已遍歷 %lu 個提交\n"
#: builtin/describe.c
#, c-format
-msgid ""
-"more than %i tags found; listed %i most recent\n"
-"gave up search at %s\n"
-msgstr ""
-"發現多於 %i 個標籤,列出最近的 %i 個\n"
-"在 %s 放棄搜尋\n"
+msgid "found %i tags; gave up search at %s\n"
+msgstr "找到 %i 個標籤;在 %s 放棄搜尋\n"
#: builtin/describe.c
#, c-format
@@ -6997,7 +6992,7 @@ msgstr "工作區檔案被留了下來。"
#: builtin/difftool.c sequencer.c
#, c-format
msgid "could not copy '%s' to '%s'"
-msgstr "不能複製 '%s' 至 '%s'"
+msgstr "無法將「%s」複製到「%s」"
#: builtin/difftool.c
#, c-format
@@ -7358,6 +7353,21 @@ msgid "the object %s does not exist"
msgstr "%s 物件不存在"
#: builtin/fetch.c
+#, c-format
+msgid ""
+"Run 'git remote set-head %s %s' to follow the change, or set\n"
+"'remote.%s.followRemoteHEAD' configuration option to a different value\n"
+"if you do not want to see this message. Specifically running\n"
+"'git config set remote.%s.followRemoteHEAD %s' will disable the warning\n"
+"until the remote changes HEAD to something else."
+msgstr ""
+"執行「git remote set-head %s %s」以追蹤這個變更,或者\n"
+"如果您不想看到這則訊息,請將「remote.%s.followRemoteHEAD」\n"
+"組態選項設定成不同的值。更具體些來說,執行\n"
+"「git config set remote.%s.followRemoteHEAD %s」會停用這個警告,\n"
+"直到遠端將 HEAD 變更為其他內容。"
+
+#: builtin/fetch.c
msgid "multiple branches detected, incompatible with --set-upstream"
msgstr "檢測到多分支,和 --set-upstream 不相容"
@@ -7397,12 +7407,12 @@ msgstr "正在取得 %s\n"
#: builtin/fetch.c
#, c-format
msgid "could not fetch %s"
-msgstr "不能取得 %s"
+msgstr "無法取得 %s"
#: builtin/fetch.c
#, c-format
msgid "could not fetch '%s' (exit code: %d)\n"
-msgstr "無法取得 '%s'(離開碼:%d)\n"
+msgstr "無法取得「%s」(離開碼:%d)\n"
#: builtin/fetch.c
msgid ""
@@ -7527,6 +7537,10 @@ msgstr "引用映射"
msgid "specify fetch refmap"
msgstr "指定取得動作的引用映射"
+#: builtin/fetch.c builtin/pull.c builtin/rebase.c builtin/replay.c
+msgid "revision"
+msgstr "revision"
+
#: builtin/fetch.c builtin/pull.c
msgid "report that we have only objects reachable from this object"
msgstr "報告我們只擁有從該物件開始可以取得的物件"
@@ -7788,18 +7802,18 @@ msgstr "懸空 %s %s"
#: builtin/fsck.c
msgid "could not create lost-found"
-msgstr "不能建立 lost-found"
+msgstr "無法建立 lost-found"
#: builtin/fsck.c builtin/gc.c builtin/rebase.c rebase-interactive.c rerere.c
#: sequencer.c
#, c-format
msgid "could not write '%s'"
-msgstr "不能寫入 '%s'"
+msgstr "無法寫入「%s」"
#: builtin/fsck.c
#, c-format
msgid "could not finish '%s'"
-msgstr "不能完成 '%s'"
+msgstr "無法完成「%s」"
#: builtin/fsck.c
#, c-format
@@ -8069,7 +8083,7 @@ msgstr "無法啟動 fsmonitor 監聽執行緒"
#: builtin/fsmonitor--daemon.c
msgid "could not start fsmonitor health thread"
-msgstr "無法啟動 fsmonitor 健康監聽執行緒"
+msgstr "無法啟動 fsmonitor 健康檢查執行緒"
#: builtin/fsmonitor--daemon.c
msgid "could not initialize listener thread"
@@ -8077,7 +8091,7 @@ msgstr "無法初始化監聽執行緒"
#: builtin/fsmonitor--daemon.c
msgid "could not initialize health thread"
-msgstr "無法初始化健康監聽執行緒"
+msgstr "無法初始化健康檢查執行緒"
#: builtin/fsmonitor--daemon.c
#, c-format
@@ -8251,7 +8265,7 @@ msgstr "不允許 --no-schedule"
#: builtin/gc.c
#, c-format
msgid "unrecognized --schedule argument '%s'"
-msgstr "無法識別的 --schedule 引數 '%s'"
+msgstr "不認識的 --schedule 引數 '%s'"
#: builtin/gc.c
msgid "failed to write commit-graph"
@@ -8425,7 +8439,7 @@ msgstr "無法執行 systemctl"
#: builtin/gc.c
#, c-format
msgid "unrecognized --scheduler argument '%s'"
-msgstr "無法識別的 --scheduler 引數 '%s'"
+msgstr "不認識的 --scheduler 引數 '%s'"
#: builtin/gc.c
msgid "neither systemd timers nor crontab are available"
@@ -8437,8 +8451,26 @@ msgid "%s scheduler is not available"
msgstr "無法使用 %s 排程器"
#: builtin/gc.c
-msgid "another process is scheduling background maintenance"
-msgstr "其他處理程序正在排定背景維護工作"
+#, c-format
+msgid ""
+"unable to create '%s.lock': %s.\n"
+"\n"
+"Another scheduled git-maintenance(1) process seems to be running in this\n"
+"repository. Please make sure no other maintenance processes are running and\n"
+"then try again. If it still fails, a git-maintenance(1) process may have\n"
+"crashed in this repository earlier: remove the file manually to continue."
+msgstr ""
+"無法建立「%s.lock」:%s。\n"
+"\n"
+"似乎有另一個排定的 git-maintenance(1) 程序正在此\n"
+"版本庫中執行。請確保沒有其他維護程序正在執行,\n"
+"然後再試一次。如果仍然失敗,可能是先前的\n"
+"git-maintenance(1) 程序在這個版本庫中意外中斷:\n"
+"請手動移除檔案以繼續。"
+
+#: builtin/gc.c
+msgid "cannot acquire lock for scheduled background maintenance"
+msgstr "無法取得用來進行排定背景維護的鎖"
#: builtin/gc.c
msgid "git maintenance start [--scheduler=<scheduler>]"
@@ -8727,7 +8759,7 @@ msgstr "--open-files-in-pager 僅用於工作區"
#: builtin/grep.c
msgid "--[no-]exclude-standard cannot be used for tracked contents"
-msgstr "--[no-]exclude-standard 不能用於已追蹤內容"
+msgstr "--[no-]exclude-standard 無法用於已追蹤內容"
#: builtin/grep.c
msgid "both --cached and trees are given"
@@ -8825,7 +8857,7 @@ msgstr "git help [[-i|--info] [-m|--man] [-w|--web]] [<command>|<doc>]"
#: builtin/help.c
#, c-format
msgid "unrecognized help format '%s'"
-msgstr "無法識別的協助格式 '%s'"
+msgstr "不認識的協助格式 '%s'"
#: builtin/help.c
msgid "Failed to start emacsclient."
@@ -9158,6 +9190,22 @@ msgid_plural "chain length = %d: %lu objects"
msgstr[0] "鏈長 = %d: %lu 物件"
#: builtin/index-pack.c
+msgid "could not start pack-objects to repack local links"
+msgstr "無法啟動 pack-objects 來重新打包本機連結"
+
+#: builtin/index-pack.c
+msgid "failed to feed local object to pack-objects"
+msgstr "無法將本機物件喂給 pack-objects"
+
+#: builtin/index-pack.c
+msgid "index-pack: Expecting full hex object ID lines only from pack-objects."
+msgstr "index-pack:只預期接受來自 pack-objects 的完整十六進位物件 ID。"
+
+#: builtin/index-pack.c
+msgid "could not finish pack-objects to repack local links"
+msgstr "無法結束 pack-objects 來重新封包"
+
+#: builtin/index-pack.c
msgid "Cannot come back to cwd"
msgstr "無法返回目前工作目錄"
@@ -9172,6 +9220,10 @@ msgid "unknown hash algorithm '%s'"
msgstr "未知的「%s」雜湊算法"
#: builtin/index-pack.c
+msgid "--promisor cannot be used with a pack name"
+msgstr "--promisor 不能與封包名稱一起使用"
+
+#: builtin/index-pack.c
msgid "--stdin requires a git repository"
msgstr "--stdin 需要一個 git 版本庫"
@@ -9256,7 +9308,7 @@ msgstr ""
#: builtin/interpret-trailers.c wrapper.c
#, c-format
msgid "could not stat %s"
-msgstr "不能對 %s 呼叫 stat"
+msgstr "無法 stat %s"
#: builtin/interpret-trailers.c
#, c-format
@@ -9270,21 +9322,21 @@ msgstr "檔案 %s 使用者不可寫"
#: builtin/interpret-trailers.c
msgid "could not open temporary file"
-msgstr "不能開啟暫存檔"
+msgstr "無法開啟暫存檔"
#: builtin/interpret-trailers.c
#, c-format
msgid "could not read input file '%s'"
-msgstr "不能讀取輸入檔案 '%s'"
+msgstr "無法讀取輸入檔案「%s」"
#: builtin/interpret-trailers.c builtin/mktag.c imap-send.c
msgid "could not read from stdin"
-msgstr "不能自標準輸入讀取"
+msgstr "無法從標準輸入讀取"
#: builtin/interpret-trailers.c
#, c-format
msgid "could not rename temporary file to %s"
-msgstr "不能重新命名暫存檔為 %s"
+msgstr "無法將暫存檔重新命名為 %s"
#: builtin/interpret-trailers.c
msgid "edit files in place"
@@ -9388,7 +9440,7 @@ msgstr "追蹤 <開始>,<結束> 範圍中橫列或 <檔案> 中> :<函數名稱
#: builtin/log.c builtin/replay.c builtin/shortlog.c bundle.c
#, c-format
msgid "unrecognized argument: %s"
-msgstr "無法識別的引數:%s"
+msgstr "不認識的引數:%s"
#: builtin/log.c
msgid "-L<range>:<file> cannot be used with pathspec"
@@ -9407,7 +9459,7 @@ msgstr "git show %s: 損壞的檔案"
#: builtin/log.c
#, c-format
msgid "could not read object %s"
-msgstr "不能讀取物件 %s"
+msgstr "無法讀取物件 %s"
#: builtin/log.c
#, c-format
@@ -9474,7 +9526,7 @@ msgstr "無法將 '%s' 解析為一個有效引用"
#: builtin/log.c
msgid "could not find exact merge base"
-msgstr "不能找到準確的合併基礎"
+msgstr "找不到準確的合併基礎"
#: builtin/log.c
msgid ""
@@ -9727,7 +9779,7 @@ msgstr "--remerge-diff 無意義"
#: builtin/log.c builtin/submodule--helper.c rerere.c submodule.c
#, c-format
msgid "could not create directory '%s'"
-msgstr "不能建立目錄 '%s'"
+msgstr "無法建立「%s」目錄"
#: builtin/log.c
msgid "--interdiff requires --cover-letter or single patch"
@@ -9776,7 +9828,7 @@ msgstr "git cherry [-v] [<上游> [<頭> [<限制>]]]"
#, c-format
msgid ""
"Could not find a tracked remote branch, please specify <upstream> manually.\n"
-msgstr "不能找到追蹤的遠端分支,請手動指定 <上游>。\n"
+msgstr "無法找到追蹤的遠端分支,請手動指定 <上游>。\n"
#: builtin/ls-files.c builtin/ls-tree.c
#, c-format
@@ -9900,7 +9952,7 @@ msgid ""
"--format cannot be used with -s, -o, -k, -t, --resolve-undo, --deduplicate, "
"--eol"
msgstr ""
-"--format 不能和 -s、-o、-k、-t、--resolve-undo、--deduplicate、--eol 一起使用"
+"--format 無法和 -s、-o、-k、-t、--resolve-undo、--deduplicate、--eol 一起使用"
#: builtin/ls-remote.c
msgid ""
@@ -10162,7 +10214,7 @@ msgstr "未知選項 %s"
#: builtin/merge-recursive.c
#, c-format
msgid "could not parse object '%s'"
-msgstr "不能解析物件 '%s'"
+msgstr "無法解析物件「%s」"
#: builtin/merge-recursive.c
#, c-format
@@ -10177,7 +10229,7 @@ msgstr "不能處理兩個頭合併之外的任何動作。"
#: builtin/merge-recursive.c
#, c-format
msgid "could not resolve ref '%s'"
-msgstr "無法解析引用 '%s'"
+msgstr "無法解析引用「%s」"
#: builtin/merge-recursive.c
#, c-format
@@ -10280,7 +10332,7 @@ msgstr "選項 `%s' 需要一個值"
#: builtin/merge.c
#, c-format
msgid "Could not find merge strategy '%s'.\n"
-msgstr "不能找到合併策略 '%s'。\n"
+msgstr "找不到合併策略「%s」。\n"
#: builtin/merge.c
#, c-format
@@ -10368,7 +10420,7 @@ msgstr "繞過 pre-merge-commit 和 commit-msg 掛鉤"
#: builtin/merge.c
msgid "could not run stash."
-msgstr "不能執行貯存。"
+msgstr "無法執行貯存。"
#: builtin/merge.c
msgid "stash failed"
@@ -10428,7 +10480,7 @@ msgstr "不能寫 %s"
#: builtin/merge.c
#, c-format
msgid "Could not read from '%s'"
-msgstr "不能從 '%s' 讀取"
+msgstr "無法從「%s」進行讀取"
#: builtin/merge.c
#, c-format
@@ -10495,7 +10547,7 @@ msgstr "環境 '%2$s' 中存在壞的取值 '%1$s'"
#: builtin/merge.c editor.c read-cache.c wrapper.c
#, c-format
msgid "could not close '%s'"
-msgstr "不能關閉 '%s'"
+msgstr "無法關閉「%s」"
#: builtin/merge.c
#, c-format
@@ -10885,11 +10937,11 @@ msgstr "git notes [--ref <註解引用>] [list [<物件>]]"
msgid ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
#: builtin/notes.c
msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>"
@@ -10899,11 +10951,11 @@ msgstr "git notes [--ref <註解引用>] copy [-f] <來源物件> <目標物件>
msgid ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
msgstr ""
"git notes [--ref <notes-ref>] append [--allow-empty] [--[no-]separator|--"
"separator=<paragraph-break>] [--[no-]stripspace] [-m <msg> | -F <file> | (-c "
-"| -C) <object>] [<object>]"
+"| -C) <object>] [<object>] [-e]"
#: builtin/notes.c
msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"
@@ -10984,7 +11036,7 @@ msgstr "為下面的物件寫/編輯說明:"
#: builtin/notes.c
msgid "could not read 'show' output"
-msgstr "不能讀取 'show' 的輸出"
+msgstr "無法讀取「show」的輸出"
#: builtin/notes.c
#, c-format
@@ -11007,7 +11059,7 @@ msgstr "註解內容被留在 %s 中"
#: builtin/notes.c builtin/tag.c
#, c-format
msgid "could not open or read '%s'"
-msgstr "不能開啟或讀取 '%s'"
+msgstr "無法開啟或讀取「%s」"
#: builtin/notes.c
#, c-format
@@ -11055,6 +11107,10 @@ msgid "reuse and edit specified note object"
msgstr "重用和編輯指定的註解物件"
#: builtin/notes.c
+msgid "edit note message in editor"
+msgstr "在編輯器中編輯備註訊息"
+
+#: builtin/notes.c
msgid "reuse specified note object"
msgstr "重用指定的註解物件"
@@ -11352,7 +11408,7 @@ msgstr "%s 的 delta 基準位移越界"
#: builtin/pack-objects.c
msgid "Counting objects"
-msgstr "物件計數中"
+msgstr "正在計算物件數量"
#: builtin/pack-objects.c pack-bitmap.c
#, c-format
@@ -11668,6 +11724,10 @@ msgid "do not pack objects in promisor packfiles"
msgstr "不要打包 promisor packfile 中的物件"
#: builtin/pack-objects.c
+msgid "implies --missing=allow-any"
+msgstr "隱含 --missing=allow-any"
+
+#: builtin/pack-objects.c
msgid "respect islands during delta compression"
msgstr "在差異壓縮時尊重資料島"
@@ -11696,7 +11756,7 @@ msgstr "錯誤的打包壓縮級別 %d"
#: builtin/pack-objects.c
msgid "--max-pack-size cannot be used to build a pack for transfer"
-msgstr "不能使用 --max-pack-size 來組建傳輸用的包檔案"
+msgstr "不能使用 --max-pack-size 來建構傳輸用的包檔案"
#: builtin/pack-objects.c
msgid "minimum pack size limit is 1 MiB"
@@ -12330,7 +12390,7 @@ msgstr ""
#: builtin/push.c
msgid "--all can't be combined with refspecs"
-msgstr "--all 不能和引用規格同時使用"
+msgstr "--all 無法和引用規格同時使用"
#: builtin/push.c
msgid "--mirror can't be combined with refspecs"
@@ -12492,12 +12552,12 @@ msgstr ""
#: builtin/rebase.c sequencer.c
#, c-format
msgid "could not read '%s'."
-msgstr "不能讀取 '%s'。"
+msgstr "無法讀取「%s」。"
#: builtin/rebase.c
#, c-format
msgid "could not create temporary %s"
-msgstr "無法建立暫時的 %s"
+msgstr "無法建立暫存用的 %s"
#: builtin/rebase.c
msgid "could not mark as interactive"
@@ -12505,7 +12565,7 @@ msgstr "無法標記為互動式"
#: builtin/rebase.c
msgid "could not generate todo list"
-msgstr "無法生成待辦列表"
+msgstr "無法產生待辦列表"
#: builtin/rebase.c
msgid "a base commit must be provided with --upstream or --onto"
@@ -12534,7 +12594,7 @@ msgstr "忽略無效的 allow_rerere_autoupdate:'%s'"
#: builtin/rebase.c builtin/rm.c sequencer.c
#, c-format
msgid "could not remove '%s'"
-msgstr "無法刪除 '%s'"
+msgstr "無法刪除「%s」"
#: builtin/rebase.c
#, c-format
@@ -12577,7 +12637,7 @@ msgstr "--empty=ask 已棄用。請改用「--empty=stop」。"
msgid ""
"unrecognized empty type '%s'; valid values are \"drop\", \"keep\", and "
"\"stop\"."
-msgstr "無法識別空類型「%s」;有效的數值有「drop」、「keep」跟「stop」。"
+msgstr "不認識空類型「%s」;有效的數值有「drop」、「keep」跟「stop」。"
#: builtin/rebase.c
msgid ""
@@ -12879,7 +12939,7 @@ msgstr "無效的上游 '%s'"
#: builtin/rebase.c
msgid "Could not create new root commit"
-msgstr "不能建立新的根提交"
+msgstr "無法建立新的根提交"
#: builtin/rebase.c
#, c-format
@@ -13235,7 +13295,7 @@ msgstr "更新 %s 中"
#: builtin/remote.c
#, c-format
msgid "Could not fetch %s"
-msgstr "不能取得 %s"
+msgstr "無法取得 %s"
#: builtin/remote.c
msgid ""
@@ -13290,7 +13350,7 @@ msgstr "遠端 %s 已經存在。"
#: builtin/remote.c
#, c-format
msgid "Could not setup master '%s'"
-msgstr "無法設定 master '%s'"
+msgstr "無法配置 master「%s」"
#: builtin/remote.c trailer.c
#, c-format
@@ -13305,7 +13365,7 @@ msgstr "branch.%s.rebase=%s 未處理。假設成 'true'"
#: builtin/remote.c
#, c-format
msgid "Could not get fetch map for refspec %s"
-msgstr "無法得到引用規格 %s 的取得列表"
+msgstr "無法取得引用規格 %s 的 fetch 映射"
#: builtin/remote.c
msgid "(matching)"
@@ -13318,12 +13378,12 @@ msgstr "(刪除)"
#: builtin/remote.c
#, c-format
msgid "could not set '%s'"
-msgstr "無法設定 '%s'"
+msgstr "無法設定「%s」"
#: builtin/remote.c config.c
#, c-format
msgid "could not unset '%s'"
-msgstr "不能取消設定 '%s'"
+msgstr "無法取消設定「%s」"
#: builtin/remote.c
#, c-format
@@ -13344,7 +13404,7 @@ msgstr "沒有此遠端版本庫:'%s'"
#: builtin/remote.c
#, c-format
msgid "Could not rename config section '%s' to '%s'"
-msgstr "不能重新命名設定小節 '%s' 到 '%s'"
+msgstr "無法將組態的「%s」區段重新命名為「%s」"
#: builtin/remote.c
#, c-format
@@ -13383,7 +13443,7 @@ msgstr[0] "注意:refs/remotes/ 層級之外的一個分支未被移除。要
#: builtin/remote.c
#, c-format
msgid "Could not remove config section '%s'"
-msgstr "不能移除設定小節 '%s'"
+msgstr "無法移除組態的「%s」區段"
#: builtin/remote.c
#, c-format
@@ -13555,6 +13615,33 @@ msgid_plural " Local refs configured for 'git push'%s:"
msgstr[0] " 為 'git push' 設定的本機引用%s:"
#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' is unchanged and points to '%s'\n"
+msgstr "「%s/HEAD」沒有變更,指向「%s」\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' has changed from '%s' and now points to '%s'\n"
+msgstr "「%s/HEAD」已經從「%s」變更,現在指向「%s」\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' is now created and points to '%s'\n"
+msgstr "「%s/HEAD」現在已經建立並指向「%s」\n"
+
+#: builtin/remote.c
+#, c-format
+msgid "'%s/HEAD' was detached at '%s' and now points to '%s'\n"
+msgstr "「%s/HEAD」已經在「%s」處分離,現在指向「%s」\n"
+
+#: builtin/remote.c
+#, c-format
+msgid ""
+"'%s/HEAD' used to point to '%s' (which is not a remote branch), but now "
+"points to '%s'\n"
+msgstr "「%s/HEAD」原本指向「%s」(不是遠端分支),但現在指向「%s」\n"
+
+#: builtin/remote.c
msgid "set refs/remotes/<name>/HEAD according to remote"
msgstr "根據遠端設定 refs/remotes/<名稱>/HEAD"
@@ -13582,8 +13669,8 @@ msgstr "不是一個有效引用:%s"
#: builtin/remote.c
#, c-format
-msgid "Could not setup %s"
-msgstr "不能設定 %s"
+msgid "Could not set up %s"
+msgstr "無法配置 %s"
# 譯者:請維持前導空格
#: builtin/remote.c
@@ -13702,7 +13789,7 @@ msgstr "repack:期望來自 pack-objects 的完整十六進位物件 ID。"
#: builtin/repack.c
msgid "could not finish pack-objects to repack promisor objects"
-msgstr "無法完成 pack-objects 來重新打包 promisor 物件"
+msgstr "無法結束 pack-objects 來重新打包 promisor 物件"
#: builtin/repack.c
#, c-format
@@ -13722,7 +13809,7 @@ msgstr "%s 包太大,以致不能縮合"
#: builtin/repack.c
#, c-format
msgid "could not open tempfile %s for writing"
-msgstr "無法開啟 '%s' 暫存檔進行寫入"
+msgstr "無法開啟暫存檔 %s 進行寫入"
#: builtin/repack.c
msgid "could not close refs snapshot tempfile"
@@ -13986,7 +14073,7 @@ msgstr "新物件和舊物件相同:'%s'"
#: builtin/replace.c
#, c-format
msgid "could not parse %s as a commit"
-msgstr "無法將 %s 解析為一個提交"
+msgstr "無法將 %s 解析為提交"
#: builtin/replace.c
#, c-format
@@ -14017,7 +14104,7 @@ msgstr "在取代的提交中簽名將被移除!"
#: builtin/replace.c
#, c-format
msgid "could not write replacement commit for: '%s'"
-msgstr "不能為 '%s' 寫取代提交"
+msgstr "無法寫入下列項目的替代提交:「%s」"
#: builtin/replace.c
#, c-format
@@ -14035,7 +14122,7 @@ msgid ""
"could not convert the following graft(s):\n"
"%s"
msgstr ""
-"不能轉換下列移植:\n"
+"無法轉換下列移植:\n"
"%s"
#: builtin/replace.c
@@ -14072,7 +14159,7 @@ msgstr "使用此格式"
#: builtin/replace.c
msgid "--format cannot be used when not listing"
-msgstr "不列出時不能使用 --format"
+msgstr "非列出操作不能使用 --format"
#: builtin/replace.c
msgid "-f only makes sense when writing a replacement"
@@ -14338,11 +14425,11 @@ msgstr ""
#: builtin/reset.c
#, c-format
msgid "Could not reset index file to revision '%s'."
-msgstr "不能重設索引檔案至版本 '%s'。"
+msgstr "無法將索引檔案重設到修訂版「%s」。"
#: builtin/reset.c
msgid "Could not write new index file."
-msgstr "不能寫入新的索引檔案。"
+msgstr "無法寫入新的索引檔案。"
#: builtin/rev-list.c
#, c-format
@@ -15231,7 +15318,7 @@ msgstr "無法在合併過程套用貯存"
#: builtin/stash.c
#, c-format
msgid "could not generate diff %s^!."
-msgstr "無法生成差異 %s^!."
+msgstr "無法產生差異 %s^!."
#: builtin/stash.c
msgid "conflicts in index. Try without --index."
@@ -15239,7 +15326,7 @@ msgstr "索引中有衝突。請試試看不用 --index。"
#: builtin/stash.c
msgid "could not save index tree"
-msgstr "不能儲存索引樹"
+msgstr "無法儲存索引樹"
#: builtin/stash.c
#, c-format
@@ -15415,14 +15502,14 @@ msgstr "期望一個完整的引用名稱,卻得到 %s"
#: builtin/submodule--helper.c
#, c-format
msgid "could not get a repository handle for submodule '%s'"
-msgstr "無法獲得子模組 '%s' 的版本庫句柄"
+msgstr "無法取得子模組「%s」的版本庫控制代碼"
#: builtin/submodule--helper.c
#, c-format
msgid ""
"could not look up configuration '%s'. Assuming this repository is its own "
"authoritative upstream."
-msgstr "無法找到設定 '%s'。假定這個版本庫是其自身的官方上游。"
+msgstr "找不到「%s」組態設定。假定這個版本庫是其自身的官方上游。"
#: builtin/submodule--helper.c
#, c-format
@@ -15501,7 +15588,7 @@ msgstr "在 .gitmodules 中沒有發現路徑 '%s' 的子模組映射"
#: builtin/submodule--helper.c
#, c-format
msgid "could not resolve HEAD ref inside the submodule '%s'"
-msgstr "無法解析子模組 '%s' 的 HEAD 引用"
+msgstr "無法解析子模組「%s」的 HEAD 引用"
#: builtin/submodule--helper.c
#, c-format
@@ -15540,7 +15627,7 @@ msgstr "%s"
#: builtin/submodule--helper.c
#, c-format
msgid "couldn't hash object from '%s'"
-msgstr "無法雜湊來自 '%s' 的物件"
+msgstr "無法雜湊來自「%s」的物件"
#: builtin/submodule--helper.c
#, c-format
@@ -15569,7 +15656,7 @@ msgstr "git submodule summary [<options>] [<commit>] [--] [<path>]"
#: builtin/submodule--helper.c
msgid "could not fetch a revision for HEAD"
-msgstr "無法取得 HEAD 的版本"
+msgstr "無法取得 HEAD 的修訂版"
#: builtin/submodule--helper.c
#, c-format
@@ -15617,12 +15704,12 @@ msgstr "已清除目錄 '%s'\n"
#: builtin/submodule--helper.c
#, c-format
msgid "Could not remove submodule work tree '%s'\n"
-msgstr "無法移除子模組工作區 '%s'\n"
+msgstr "無法移除子模組工作區「%s」\n"
#: builtin/submodule--helper.c
#, c-format
msgid "could not create empty submodule directory %s"
-msgstr "不能建立空的子模組目錄 %s"
+msgstr "無法建立空的子模組目錄 %s"
#: builtin/submodule--helper.c
#, c-format
@@ -15662,7 +15749,7 @@ msgstr ""
#: builtin/submodule--helper.c
#, c-format
msgid "could not get a repository handle for gitdir '%s'"
-msgstr "無法取得 gitdir「%s」的版本庫控點"
+msgstr "無法取得 gitdir「%s」的版本庫控制代碼"
#: builtin/submodule--helper.c
#, c-format
@@ -15697,7 +15784,7 @@ msgstr "無法複製 '%s' 到子模組路徑 '%s'"
#: builtin/submodule--helper.c
#, c-format
msgid "could not get submodule directory for '%s'"
-msgstr "無法得到 '%s' 的子模組目錄"
+msgstr "無法取得「%s」的子模組目錄"
#: builtin/submodule--helper.c
msgid "alternative anchor for relative paths"
@@ -16826,7 +16913,7 @@ msgstr "無法取消「%2$s」中「%1$s」的設定"
#: builtin/worktree.c
#, c-format
msgid "could not create directory of '%s'"
-msgstr "不能建立目錄 '%s'"
+msgstr "無法建立「%s」的目錄"
#: builtin/worktree.c
msgid "initializing"
@@ -16917,6 +17004,10 @@ msgstr "設定追蹤模式(參見 git-branch(1))"
msgid "try to match the new branch name with a remote-tracking branch"
msgstr "嘗試為新分支名符合一個遠端追蹤分支"
+#: builtin/worktree.c
+msgid "use relative paths for worktrees"
+msgstr "對工作區使用相對路徑"
+
#: builtin/worktree.c diff.c parse-options.c
#, c-format
msgid "options '%s', '%s', and '%s' cannot be used together"
@@ -16987,7 +17078,7 @@ msgstr "'%s' 是一個主工作區"
#: builtin/worktree.c
#, c-format
msgid "could not figure out destination name from '%s'"
-msgstr "無法從 '%s' 算出目的地名稱"
+msgstr "無法從「%s」得出目的地名稱"
#: builtin/worktree.c
#, c-format
@@ -17117,7 +17208,7 @@ msgstr "無法儲存最大的建立權杖"
#: bundle-uri.c
#, c-format
msgid "unrecognized bundle mode from URI '%s'"
-msgstr "無法識別從 URI「%s」取回的套件包模式"
+msgstr "不認識從 URI「%s」取回的套件包模式"
#: bundle-uri.c
#, c-format
@@ -17158,7 +17249,7 @@ msgstr "bundle-uri: 列有空鍵或空值"
#: bundle.c
#, c-format
msgid "unrecognized bundle hash algorithm: %s"
-msgstr "無法識別的套件包雜湊演算法:%s"
+msgstr "不認識的套件包雜湊演算法:%s"
#: bundle.c
#, c-format
@@ -17173,7 +17264,7 @@ msgstr "「%s」不像是一個 v2 或 v3 版本的套件包檔案"
#: bundle.c
#, c-format
msgid "unrecognized header: %s%s (%d)"
-msgstr "無法識別的標頭:%s%s (%d)"
+msgstr "不認識的標頭:%s%s (%d)"
#: bundle.c
msgid "Repository lacks these prerequisite commits:"
@@ -17251,6 +17342,30 @@ msgstr "無法建立「%s」"
msgid "index-pack died"
msgstr "index-pack 終止"
+#: cache-tree.c
+#, c-format
+msgid "directory '%s' is present in index, but not sparse"
+msgstr "「%s」目錄已經在索引裡面,但不在稀疏簽出當中。"
+
+#: cache-tree.c unpack-trees.c
+msgid "corrupted cache-tree has entries not present in index"
+msgstr "損壞的快取樹有不在索引中的項目"
+
+#: cache-tree.c
+#, c-format
+msgid "%s with flags 0x%x should not be in cache-tree"
+msgstr "有 0x%2$x 標記的 %1$s 不應該在快取樹當中"
+
+#: cache-tree.c
+#, c-format
+msgid "bad subtree '%.*s'"
+msgstr "「%.*s」子樹損壞"
+
+#: cache-tree.c
+#, c-format
+msgid "cache-tree for path %.*s does not match. Expected %s got %s"
+msgstr "%.*s 路徑的快取樹不符。預期是 %s,卻得到 %s"
+
#: chunk-format.c
msgid "terminating chunk id appears earlier than expected"
msgstr "終止區塊 ID 比預期還早出現"
@@ -18339,7 +18454,7 @@ msgstr "正在驗證提交圖中的提交"
#: commit-reach.c sequencer.c
#, c-format
msgid "could not parse commit %s"
-msgstr "不能解析提交 %s"
+msgstr "無法解析提交 %s"
#: commit.c
#, c-format
@@ -18355,7 +18470,7 @@ msgid ""
"to convert the grafts into replace refs.\n"
"\n"
"Turn this message off by running\n"
-"\"git config advice.graftFileDeprecated false\""
+"\"git config set advice.graftFileDeprecated false\""
msgstr ""
"對 <GIT_DIR>/info/grafts 的支援已棄用,並將在\n"
"未來的 Git 版本中被移除。\n"
@@ -18363,8 +18478,8 @@ msgstr ""
"請使用「git replace --convert-graft-file」將\n"
"grafts 轉換為取代引用。\n"
"\n"
-"設定「git config advice.graftFileDeprecated false」\n"
-"可以將本訊息關閉"
+"設定「git config set advice.graftFileDeprecated false」\n"
+"可以關閉此訊息"
#: commit.c
#, c-format
@@ -18672,7 +18787,7 @@ msgstr ""
#: config.c
#, c-format
msgid "could not expand include path '%s'"
-msgstr "無法展開包含路徑 '%s'"
+msgstr "無法展開包含路徑「%s」"
#: config.c
msgid "relative config includes must come from files"
@@ -18971,7 +19086,7 @@ msgstr "不允許多列備註:「%s」"
#: config.c
#, c-format
msgid "could not lock config file %s"
-msgstr "不能鎖定設定檔案 %s"
+msgstr "無法鎖定組態檔案 %s"
#: config.c
#, c-format
@@ -19001,12 +19116,12 @@ msgstr "對 %s 呼叫 chmod 失敗"
#: config.c
#, c-format
msgid "could not write config file %s"
-msgstr "不能寫入設定檔案 %s"
+msgstr "無法寫入組態檔案 %s"
#: config.c
#, c-format
msgid "could not set '%s' to '%s'"
-msgstr "不能設定 '%s' 為 '%s'"
+msgstr "無法將「%s」設為「%s」"
#: config.c
#, c-format
@@ -19205,7 +19320,7 @@ msgstr "無法 fork"
#: connected.c
msgid "Could not run 'git rev-list'"
-msgstr "不能執行 'git rev-list'"
+msgstr "無法執行「git rev-list」"
#: connected.c
msgid "failed write to rev-list"
@@ -19362,6 +19477,21 @@ msgstr "URL 沒有 Scheme:%s"
msgid "credential url cannot be parsed: %s"
msgstr "無法解析憑證 URL:%s"
+#: daemon.c
+#, c-format
+msgid "invalid timeout '%s', expecting a non-negative integer"
+msgstr "無效的 timeout「%s」,預期為非負整數"
+
+#: daemon.c
+#, c-format
+msgid "invalid init-timeout '%s', expecting a non-negative integer"
+msgstr "無效的 init-timeout「%s」,應為非負整數"
+
+#: daemon.c
+#, c-format
+msgid "invalid max-connections '%s', expecting an integer"
+msgstr "無效的 max-connections「%s」,應為整數"
+
#: date.c
msgid "in the future"
msgstr "在將來"
@@ -19458,7 +19588,7 @@ msgstr "無法封存不存在的路徑「%s」"
#: diagnose.c dir.c
#, c-format
msgid "could not open directory '%s'"
-msgstr "不能開啟目錄 '%s'"
+msgstr "無法開啟目錄「%s」"
#: diagnose.c
#, c-format
@@ -20133,12 +20263,12 @@ msgstr "路徑規格 '%s' 未符合任何 git 已知檔案"
#: dir.c
#, c-format
msgid "unrecognized pattern: '%s'"
-msgstr "無法識別樣式:「%s」"
+msgstr "不認識樣式:「%s」"
#: dir.c
#, c-format
msgid "unrecognized negative pattern: '%s'"
-msgstr "無法識別反向模式:「%s」"
+msgstr "不認識反向模式:「%s」"
#: dir.c
#, c-format
@@ -20178,12 +20308,12 @@ msgstr "版本庫 %s 中的索引檔案損壞"
#: dir.c
#, c-format
msgid "could not create directories for %s"
-msgstr "不能為 %s 建立目錄"
+msgstr "無法建立 %s 的目錄"
#: dir.c
#, c-format
msgid "could not migrate git directory from '%s' to '%s'"
-msgstr "不能從 '%s' 遷移 git 目錄到 '%s'"
+msgstr "無法從「%s」遷移 git 目錄到「%s」"
#: editor.c
#, c-format
@@ -20193,12 +20323,12 @@ msgstr "提示:等待您的編輯器關閉檔案...%c"
#: editor.c sequencer.c wrapper.c
#, c-format
msgid "could not write to '%s'"
-msgstr "不能寫入 '%s'"
+msgstr "無法寫入「%s」"
#: editor.c
#, c-format
msgid "could not edit '%s'"
-msgstr "無法編輯 '%s'"
+msgstr "無法編輯「%s」"
#: entry.c
msgid "Filtering content"
@@ -20207,7 +20337,7 @@ msgstr "過濾內容"
#: entry.c
#, c-format
msgid "could not stat file '%s'"
-msgstr "不能對檔案 '%s' 呼叫 stat"
+msgstr "無法 stat 檔案「%s」"
#: environment.c
#, c-format
@@ -20220,6 +20350,23 @@ msgid "too many args to run %s"
msgstr "執行 %s 的參數太多"
#: fetch-pack.c
+#, c-format
+msgid ""
+"You are attempting to fetch %s, which is in the commit graph file but not in "
+"the object database.\n"
+"This is probably due to repo corruption.\n"
+"If you are attempting to repair this repo corruption by refetching the "
+"missing object, use 'git fetch --refetch' with the missing object."
+msgstr ""
+"你正在嘗試取得 %s。這個物件在提交圖檔案中,\n"
+"但不在物件資料庫中。\n"
+"\n"
+"這可能是由於儲存庫損壞所致。\n"
+"\n"
+"如果你想透過重新擷取遺失的物件來修復儲存庫損壞,\n"
+"請使用「git fetch --refetch」並指定遺失的物件。"
+
+#: fetch-pack.c
msgid "git fetch-pack: expected shallow list"
msgstr "git fetch-pack:應為 shallow 列表"
@@ -20647,7 +20794,7 @@ msgstr "執行指令 '%s' 失敗:%s\n"
#: gpg-interface.c
msgid "could not create temporary file"
-msgstr "不能建立暫存檔"
+msgstr "無法建立暫存檔"
#: gpg-interface.c
#, c-format
@@ -20925,10 +21072,10 @@ msgstr[0] ""
#, c-format
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`."
+"You can disable this warning with `git config set advice.ignoredHook false`."
msgstr ""
-"因為沒有將掛鉤 '%s' 設定為可執行,掛鉤被忽略。您可以透過\n"
-"設定 `git config advice.ignoredHook false` 來關閉這條警告。"
+"因為沒有將掛鉤「%s」設定為可執行,因此忽略這個掛鉤。\n"
+"您可以透過設定「git config set advice.ignoredHook false」來關閉這則警告。"
#: http-fetch.c
msgid "not a git repository"
@@ -20949,18 +21096,10 @@ msgid "Delegation control is not supported with cURL < 7.22.0"
msgstr "不支援委託控制,因為 cURL < 7.22.0"
#: http.c
-msgid "Public key pinning not supported with cURL < 7.39.0"
-msgstr "不支援公鑰檔案鎖定,因為 cURL < 7.39.0"
-
-#: http.c
msgid "Unknown value for http.proactiveauth"
msgstr "http.proactiveauth 的值未知"
#: http.c
-msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
-msgstr "不支援 CURLSSLOPT_NO_REVOKE,因為 cURL < 7.44.0"
-
-#: http.c
#, c-format
msgid "Unsupported SSL backend '%s'. Supported SSL backends:"
msgstr "不支援的 SSL 後端 '%s'。支援的 SSL 後端:"
@@ -20968,12 +21107,12 @@ msgstr "不支援的 SSL 後端 '%s'。支援的 SSL 後端:"
#: http.c
#, c-format
msgid "Could not set SSL backend to '%s': cURL was built without SSL backends"
-msgstr "無法將 SSL 後端設定為 '%s':組建 cURL 時未加入 SSL 後端"
+msgstr "無法將 SSL 後端設定為「%s」:組建 cURL 時未加入 SSL 後端"
#: http.c
#, c-format
msgid "Could not set SSL backend to '%s': already set"
-msgstr "無法將 SSL 後端設定為 '%s':已經設定"
+msgstr "無法將 SSL 後端設定為「%s」:已經設定"
#: http.c
msgid "refusing to read cookies from http.cookiefile '-'"
@@ -21089,7 +21228,7 @@ msgstr "不能混用多種過濾規格"
#: list-objects-filter-options.c
msgid "unable to upgrade repository format to support partial clone"
-msgstr "無法升級版本庫格式,以致不支援部分複製"
+msgstr "無法升級版本庫格式,以支援部分複製"
#: list-objects-filter-options.h
msgid "args"
@@ -21180,6 +21319,11 @@ msgstr "偵測到由可列印字元 (quoted) 所組成的 CRLF"
msgid "unable to format message: %s"
msgstr "無法格式化訊息:%s"
+#: merge-ll.c
+#, c-format
+msgid "invalid marker-size '%s', expecting an integer"
+msgstr "無效的 marker-size「%s」,應為整數"
+
#: merge-ort.c merge-recursive.c
#, c-format
msgid "Failed to merge submodule %s (not checked out)"
@@ -21751,7 +21895,7 @@ msgstr "合併未返回提交"
#: merge-recursive.c
#, c-format
msgid "Could not parse object '%s'"
-msgstr "不能解析物件 '%s'"
+msgstr "無法解析物件「%s」"
#: merge.c
msgid "failed to read the cache"
@@ -21871,7 +22015,7 @@ msgstr "無法將一個增量多封裝索引的套件設為過期"
#: midx-write.c
msgid "Counting referenced objects"
-msgstr "正在計算引用物件"
+msgstr "正在計算引用物件數量"
#: midx-write.c
msgid "Finding and deleting unreferenced packfiles"
@@ -21883,11 +22027,11 @@ msgstr "無法重新封裝增量的多封裝索引"
#: midx-write.c
msgid "could not start pack-objects"
-msgstr "不能開始 pack-objects"
+msgstr "無法啟動 pack-objects"
#: midx-write.c
msgid "could not finish pack-objects"
-msgstr "不能結束 pack-objects"
+msgstr "無法結束 pack-objects"
#: midx.c
msgid "multi-pack-index OID fanout is of the wrong size"
@@ -22489,17 +22633,17 @@ msgid ""
"\n"
"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n"
"examine these refs and maybe delete them. Turn this message off by\n"
-"running \"git config advice.objectNameWarning false\""
+"running \"git config set advice.objectNameWarning false\""
msgstr ""
-"Git 通常不會建立以 40 個十六進位字元結尾的引用,\n"
-"因為當您只提供 40 個十六進位字元時,其將被忽略。\n"
-"這些引用可能被意外建立。例如:\n"
+"Git 通常不會建立以 40 個十六進位字元結尾的參照,\n"
+"因為在指定 40 個十六進位字元時會被忽略。\n"
+"這些參照可能是意外建立的。例如,\n"
"\n"
" git switch -c $br $(git rev-parse ...)\n"
"\n"
-"當「$br」因為某些原因空白時,會建立出 40 位十六進位的引用。\n"
-"請檢查這些引用,並視需要刪除。執行\n"
-"「git config advice.objectNameWarning false」命令以關閉本訊息通知"
+"其中「$br」不知何故為空白,導致建立了一個 40 個\n"
+"十六進位字元的參照。請檢查這些參照,必要時刪除它們。\n"
+"若要關閉此訊息,請執行「git config set advice.objectNameWarning false」"
#: object-name.c
#, c-format
@@ -22693,15 +22837,6 @@ msgstr "多包位圖缺少需要的反向索引"
msgid "could not open pack %s"
msgstr "無法開啟封包 %s"
-#: pack-bitmap.c t/helper/test-read-midx.c
-msgid "could not determine MIDX preferred pack"
-msgstr "無法確定 MIDX 偏好的封裝"
-
-#: pack-bitmap.c
-#, c-format
-msgid "preferred pack (%s) is invalid"
-msgstr "偏好的封包 (%s) 無效"
-
#: pack-bitmap.c
msgid "corrupt bitmap lookup table: triplet position out of index"
msgstr "位圖查詢表損壞:三元組位置超出索引"
@@ -22774,7 +22909,7 @@ msgstr "偽合併索引超出範圍(%<PRIu32> >= %<PRIuMAX>)"
#: pack-bitmap.c
#, c-format
msgid "could not find '%s' in pack '%s' at offset %<PRIuMAX>"
-msgstr "在「%2$s」封包,位移 %3$<PRIuMAX> 的地方找不到「%1$s」"
+msgstr "無法在「%2$s」封包,位移 %3$<PRIuMAX> 的地方找到「%1$s」"
#: pack-bitmap.c
#, c-format
@@ -23071,7 +23206,7 @@ msgstr "解析 %s 失敗"
#: path.c
#, c-format
msgid "Could not make %s writable by group"
-msgstr "不能設定 %s 為組可寫"
+msgstr "無法設定 %s 為群組可寫"
#: pathspec.c
msgid "Escape character '\\' not allowed as last character in attr value"
@@ -23325,16 +23460,16 @@ msgstr "無法讀取提交 %s 的延伸偽合併表"
#: range-diff.c
msgid "could not start `log`"
-msgstr "不能啟動 `log`"
+msgstr "無法啟動「log」"
#: range-diff.c
msgid "could not read `log` output"
-msgstr "不能讀取 `log` 的輸出"
+msgstr "無法讀取「log」的輸出"
#: range-diff.c sequencer.c
#, c-format
msgid "could not parse commit '%s'"
-msgstr "不能解析提交 '%s'"
+msgstr "無法解析提交「%s」"
#: range-diff.c
#, c-format
@@ -23346,7 +23481,7 @@ msgstr "無法解析第一行「log」輸出:開頭不是「commit」:「%s
#: range-diff.c
#, c-format
msgid "could not parse git header '%.*s'"
-msgstr "無法解析 git 頭 '%.*s'"
+msgstr "無法解析 git 標頭「%.*s」"
#: range-diff.c
msgid "failed to generate diff"
@@ -23355,7 +23490,7 @@ msgstr "生成 diff 失敗"
#: range-diff.c
#, c-format
msgid "could not parse log for '%s'"
-msgstr "不能解析 '%s' 的日誌"
+msgstr "無法解析「%s」的日誌"
#: reachable.c
#, c-format
@@ -23509,7 +23644,7 @@ msgstr "無法加入 load_index_extensions 執行緒:%s"
#: read-cache.c
#, c-format
msgid "could not freshen shared index '%s'"
-msgstr "無法重新整理共享索引 '%s'"
+msgstr "無法更新共享索引「%s」"
#: read-cache.c
#, c-format
@@ -23567,7 +23702,7 @@ msgstr ""
#, c-format
msgid ""
"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring."
-msgstr "選項 rebase.missingCommitsCheck 的值 %s 無法識別。已忽略。"
+msgstr "選項 rebase.missingCommitsCheck 的值 %s 不認識。已忽略。"
#: rebase-interactive.c
msgid ""
@@ -23669,7 +23804,7 @@ msgstr ""
#: rebase-interactive.c
#, c-format
msgid "could not write '%s'."
-msgstr "不能寫入 '%s'。"
+msgstr "無法寫入「%s」。"
#: rebase-interactive.c
#, c-format
@@ -23728,7 +23863,7 @@ msgstr "%%(%.*s) 不取引數"
#: ref-filter.c
#, c-format
msgid "unrecognized %%(%.*s) argument: %s"
-msgstr "無法識別的 %%(%.*s) 引數:%s"
+msgstr "不認識的 %%(%.*s) 引數:%s"
#: ref-filter.c
#, c-format
@@ -23738,7 +23873,7 @@ msgstr "期望的格式:%%(color:<顏色>)"
#: ref-filter.c
#, c-format
msgid "unrecognized color: %%(color:%s)"
-msgstr "無法識別的顏色:%%(color:%s)"
+msgstr "不認識的顏色:%%(color:%s)"
#: ref-filter.c
#, c-format
@@ -23798,17 +23933,17 @@ msgstr "期望的格式:%%(align:<寬度>,<位置>)"
#: ref-filter.c
#, c-format
msgid "unrecognized position:%s"
-msgstr "無法識別的位置:%s"
+msgstr "不認識的位置:%s"
#: ref-filter.c
#, c-format
msgid "unrecognized width:%s"
-msgstr "無法識別的寬度:%s"
+msgstr "不認識的寬度:%s"
#: ref-filter.c
#, c-format
msgid "unrecognized %%(%s) argument: %s"
-msgstr "無法識別的 %%(%s) 參數:%s"
+msgstr "不認識的 %%(%s) 參數:%s"
#: ref-filter.c
#, c-format
@@ -23879,7 +24014,7 @@ msgstr "本命令拒絕 atom %%(%.*s)"
#: ref-filter.c
#, c-format
msgid "--format=%.*s cannot be used with --python, --shell, --tcl"
-msgstr "--format=%.*s 不能和 --python、--shell、--tcl 一起使用"
+msgstr "--format=%.*s 無法和 --python、--shell、--tcl 一起使用"
#: ref-filter.c
msgid "failed to run 'describe'"
@@ -24037,8 +24172,19 @@ msgid "log for %s is empty"
msgstr "%s 的日誌為空"
#: refs.c
-msgid "refusing to force and skip creation of reflog"
-msgstr "拒絕強制並略過建立引用日誌"
+#, c-format
+msgid "refusing to update reflog for pseudoref '%s'"
+msgstr "拒絕更新偽引用「%s」 的 reflog"
+
+#: refs.c
+#, c-format
+msgid "refusing to update pseudoref '%s'"
+msgstr "拒絕更新偽引用「%s」"
+
+#: refs.c
+#, c-format
+msgid "refusing to update reflog with bad name '%s'"
+msgstr "拒絕更新有錯誤名稱「%s」的 reflog"
#: refs.c
#, c-format
@@ -24046,9 +24192,8 @@ msgid "refusing to update ref with bad name '%s'"
msgstr "拒絕更新有錯誤名稱 '%s' 的引用"
#: refs.c
-#, c-format
-msgid "refusing to update pseudoref '%s'"
-msgstr "拒絕更新偽引用「%s」"
+msgid "refusing to force and skip creation of reflog"
+msgstr "拒絕強制並略過建立引用日誌"
#: refs.c
#, c-format
@@ -24111,6 +24256,11 @@ msgstr "無法鎖定引用「%s」:預期是指向「%s」的符號引用,
#: refs/files-backend.c
#, c-format
+msgid "cannot read ref file '%s'"
+msgstr "無法寫入參照檔案「%s」"
+
+#: refs/files-backend.c
+#, c-format
msgid "cannot open directory %s"
msgstr "無法開啟 %s 目錄"
@@ -24367,8 +24517,13 @@ msgstr "提供了一個以上的 uploadpack,使用第一個"
#: remote.c
#, c-format
+msgid "unrecognized followRemoteHEAD value '%s' ignored"
+msgstr "已經忽略不認識的「%s」數值"
+
+#: remote.c
+#, c-format
msgid "unrecognized value transfer.credentialsInUrl: '%s'"
-msgstr "數值 transfer.credentialsInUrl 無法識別:「%s」"
+msgstr "數值 transfer.credentialsInUrl 不認識:「%s」"
#: remote.c
#, c-format
@@ -24657,7 +24812,7 @@ msgstr "寫入 '%s' (%s) 時發生錯誤"
#: rerere.c
#, c-format
msgid "could not parse conflict hunks in '%s'"
-msgstr "不能解析 '%s' 中的衝突區塊"
+msgstr "無法解析「%s」中的衝突區塊"
#: rerere.c
#, c-format
@@ -24724,7 +24879,7 @@ msgstr "如果可能,重用衝突解決更新索引"
#: reset.c
msgid "could not determine HEAD revision"
-msgstr "不能確定 HEAD 版本"
+msgstr "無法確定 HEAD 修訂版"
#: reset.c sequencer.c
#, c-format
@@ -25110,7 +25265,7 @@ msgstr "無效的提交說明清理模式 '%s'"
#: sequencer.c
#, c-format
msgid "could not delete '%s'"
-msgstr "無法刪除 '%s'"
+msgstr "無法刪除「%s」"
#: sequencer.c
msgid "revert"
@@ -25185,12 +25340,12 @@ msgstr ""
#: sequencer.c
#, c-format
msgid "could not lock '%s'"
-msgstr "不能鎖定 '%s'"
+msgstr "無法鎖定「%s」"
#: sequencer.c
#, c-format
msgid "could not write eol to '%s'"
-msgstr "不能將換行符號寫入 '%s'"
+msgstr "無法將換行符號寫入「%s」"
#: sequencer.c
#, c-format
@@ -25220,7 +25375,7 @@ msgstr "不能更新快取樹"
#: sequencer.c
msgid "could not resolve HEAD commit"
-msgstr "不能解析 HEAD 提交"
+msgstr "無法解析 HEAD 提交"
#: sequencer.c
#, c-format
@@ -25347,7 +25502,7 @@ msgstr "無法找到新建立的提交"
#: sequencer.c
msgid "could not parse newly created commit"
-msgstr "不能解析新建立的提交"
+msgstr "無法解析新建立的提交"
#: sequencer.c
msgid "unable to resolve HEAD after creating commit"
@@ -25364,7 +25519,7 @@ msgstr " (根提交)"
#: sequencer.c
msgid "could not parse HEAD"
-msgstr "不能解析 HEAD"
+msgstr "無法解析 HEAD"
#: sequencer.c
#, c-format
@@ -25392,12 +25547,12 @@ msgstr "作者資訊損壞:缺少日期資訊"
#: sequencer.c
#, c-format
msgid "could not update %s"
-msgstr "不能更新 %s"
+msgstr "無法更新 %s"
#: sequencer.c
#, c-format
msgid "could not parse parent commit %s"
-msgstr "不能解析父提交 %s"
+msgstr "無法解析父提交 %s"
#: sequencer.c
#, c-format
@@ -25438,16 +25593,16 @@ msgstr "需要一個 HEAD 來修復"
#: sequencer.c
msgid "could not read HEAD"
-msgstr "不能讀取 HEAD"
+msgstr "無法讀取 HEAD"
#: sequencer.c
msgid "could not read HEAD's commit message"
-msgstr "不能讀取 HEAD 的提交說明"
+msgstr "無法讀取 HEAD 的提交說明"
#: sequencer.c
#, c-format
msgid "could not read commit message of %s"
-msgstr "不能讀取 %s 的提交說明"
+msgstr "無法讀取 %s 的提交說明"
#: sequencer.c
msgid "your index file is unmerged."
@@ -25482,12 +25637,12 @@ msgstr "%s:不能解析父提交 %s"
#: sequencer.c
#, c-format
msgid "could not revert %s... %s"
-msgstr "不能還原 %s... %s"
+msgstr "無法還原 %s... %s"
#: sequencer.c
#, c-format
msgid "could not apply %s... %s"
-msgstr "不能套用 %s... %s"
+msgstr "無法套用 %s... %s"
#: sequencer.c
#, c-format
@@ -25580,7 +25735,7 @@ msgstr "缺少 %s 的參數"
#: sequencer.c
#, c-format
msgid "could not parse '%s'"
-msgstr "無法解析 '%s'"
+msgstr "無法解析「%s」"
#: sequencer.c
#, c-format
@@ -25655,7 +25810,7 @@ msgstr "嘗試 \"git cherry-pick (--continue | %s--abort | --quit)\""
#: sequencer.c
#, c-format
msgid "could not create sequencer directory '%s'"
-msgstr "不能建立序列目錄 '%s'"
+msgstr "無法建立序列目錄「%s」"
#: sequencer.c
msgid "no cherry-pick or revert in progress"
@@ -25742,12 +25897,12 @@ msgstr ""
#: sequencer.c
#, c-format
msgid "Could not apply %s... %.*s"
-msgstr "不能套用 %s... %.*s"
+msgstr "無法套用 %s... %.*s"
#: sequencer.c
#, c-format
msgid "Could not merge %.*s"
-msgstr "不能合併 %.*s"
+msgstr "無法合併 %.*s"
#: sequencer.c
#, c-format
@@ -25799,7 +25954,7 @@ msgstr "非法的標籤名稱:'%.*s'"
#: sequencer.c
#, c-format
msgid "could not resolve '%s'"
-msgstr "無法解析 '%s'"
+msgstr "無法解析「%s」"
#: sequencer.c
msgid "writing fake root commit"
@@ -25830,12 +25985,12 @@ msgstr "章魚合並不能在一個新的根提交上執行"
#: sequencer.c
#, c-format
msgid "could not get commit message of '%s'"
-msgstr "不能取得 '%s' 的提交說明"
+msgstr "無法取得「%s」的提交說明"
#: sequencer.c
#, c-format
msgid "could not even attempt to merge '%.*s'"
-msgstr "甚至不能嘗試合併 '%.*s'"
+msgstr "甚至無法嘗試合併「%.*s」"
#: sequencer.c
msgid "merge: Unable to write new index file"
@@ -25877,7 +26032,7 @@ msgstr "意外的 stash 回應:'%s'"
#: sequencer.c
#, c-format
msgid "Could not create directory for '%s'"
-msgstr "不能為 '%s' 建立目錄"
+msgstr "無法建立「%s」的目錄"
#: sequencer.c
#, c-format
@@ -25923,7 +26078,7 @@ msgstr "autostash 引用是符號引用"
#: sequencer.c
msgid "could not detach HEAD"
-msgstr "不能分離開頭指標"
+msgstr "無法分離開頭指標"
#: sequencer.c
#, c-format
@@ -25950,7 +26105,7 @@ msgstr ""
"無法執行待辦指令\n"
"\n"
" %.*s\n"
-"已被重新安排,在繼續之前編輯指令,請先編輯待辦列表:\n"
+"已經重新安排。若要在繼續之前編輯指令,請先編輯待辦列表:\n"
"\n"
" git rebase --edit-todo\n"
" git rebase --continue\n"
@@ -25972,16 +26127,16 @@ msgstr "未知指令 %d"
#: sequencer.c
msgid "could not read orig-head"
-msgstr "不能讀取 orig-head"
+msgstr "無法讀取 orig-head"
#: sequencer.c
msgid "could not read 'onto'"
-msgstr "不能讀取 'onto'"
+msgstr "無法讀取「onto」"
#: sequencer.c
#, c-format
msgid "could not update HEAD to %s"
-msgstr "不能更新 HEAD 為 %s"
+msgstr "無法將 HEAD 更新到 %s"
#: sequencer.c
#, c-format
@@ -26018,15 +26173,15 @@ msgstr ""
#: sequencer.c
#, c-format
msgid "could not write file: '%s'"
-msgstr "不能寫入檔案:'%s'"
+msgstr "無法寫入檔案:「%s」"
#: sequencer.c
msgid "could not remove CHERRY_PICK_HEAD"
-msgstr "不能刪除 CHERRY_PICK_HEAD"
+msgstr "無法刪除 CHERRY_PICK_HEAD"
#: sequencer.c
msgid "could not commit staged changes."
-msgstr "不能提交暫存的修改。"
+msgstr "無法提交暫存的修改。"
#: sequencer.c
#, c-format
@@ -26446,7 +26601,7 @@ msgstr "忽略可能被解析為命令列選項的 '%s':%s"
#: submodule-config.c
#, c-format
msgid "Could not update .gitmodules entry %s"
-msgstr "不能更新 .gitmodules 條目 %s"
+msgstr "無法更新 .gitmodules 條目 %s"
#: submodule.c
msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first"
@@ -26498,7 +26653,7 @@ msgstr "子模組條目 '%s'(%s)是一個 %s,不是一個提交"
msgid ""
"Could not run 'git rev-list <commits> --not --remotes -n 1' command in "
"submodule %s"
-msgstr "無法在 %s 子模組執行 'git rev-list <提交> --not --remotes -n 1' 命令"
+msgstr "無法在 %s 子模組執行「git rev-list <提交> --not --remotes -n 1」命令"
#: submodule.c
#, c-format
@@ -26552,7 +26707,7 @@ msgstr "無法將 '%s' 識別為一個 git 版本庫"
#: submodule.c
#, c-format
msgid "Could not run 'git status --porcelain=2' in submodule %s"
-msgstr "無法在 %s 子模組執行 'git status --porcelain=2'"
+msgstr "無法在 %s 子模組執行「git status --porcelain=2」"
#: submodule.c
#, c-format
@@ -26562,17 +26717,17 @@ msgstr "%s 子模組執行 'git status --porcelain=2' 失敗"
#: submodule.c
#, c-format
msgid "could not start 'git status' in submodule '%s'"
-msgstr "無法在子模組 '%s' 中啟動 'git status'"
+msgstr "無法在子模組「%s」中啟動「git status」"
#: submodule.c
#, c-format
msgid "could not run 'git status' in submodule '%s'"
-msgstr "無法在子模組 '%s' 中執行 'git status'"
+msgstr "無法在子模組「%s」中執行「git status」"
#: submodule.c
#, c-format
msgid "Could not unset core.worktree setting in submodule '%s'"
-msgstr "無法在子模組 '%s' 中取消 core.worktree 的設定"
+msgstr "無法在子模組「%s」中取消 core.worktree 的設定"
#: submodule.c
#, c-format
@@ -26617,7 +26772,7 @@ msgstr "不支援對有多個工作區的子模組 '%s' 執行 relocate_gitdir"
#: submodule.c
#, c-format
msgid "could not lookup name for submodule '%s'"
-msgstr "不能查詢子模組 '%s' 的名稱"
+msgstr "無法查詢子模組「%s」的名稱"
#: submodule.c
#, c-format
@@ -26678,6 +26833,10 @@ msgstr "提交 %s 沒有標記為可以取得"
msgid "too many commits marked reachable"
msgstr "太多提交標記為可以取得"
+#: t/helper/test-read-midx.c
+msgid "could not determine MIDX preferred pack"
+msgstr "無法確定 MIDX 偏好的封裝"
+
#: t/helper/test-serve-v2.c
msgid "test-tool serve-v2 [<options>]"
msgstr "test-tool serve-v2 [<選項>]"
@@ -26833,7 +26992,7 @@ msgstr "%s 也鎖定了 %s"
#: transport-helper.c
msgid "couldn't run fast-import"
-msgstr "不能執行 fast-import"
+msgstr "無法執行 fast-import"
#: transport-helper.c
msgid "error while running fast-import"
@@ -27014,7 +27173,7 @@ msgstr "伺服器不支援「等待完成」(wait-for-done) 功能"
#: transport.c
msgid "could not parse transport.color.* config"
-msgstr "不能解析 transport.color.* 設定"
+msgstr "無法解析 transport.color.* 組態"
#: transport.c
msgid "support for protocol v2 not implemented yet"
@@ -27453,6 +27612,10 @@ msgid ".git file incorrect"
msgstr ".git 檔案不正確"
#: worktree.c
+msgid ".git file absolute/relative path mismatch"
+msgstr ".git 檔案的絕對或相對路徑不一致"
+
+#: worktree.c
msgid "not a valid path"
msgstr "非有效路徑"
@@ -27473,6 +27636,10 @@ msgid "gitdir unreadable"
msgstr "無法讀取 gitdir"
#: worktree.c
+msgid "gitdir absolute/relative path mismatch"
+msgstr "gitdir 的絕對或相對路徑不一致"
+
+#: worktree.c
msgid "gitdir incorrect"
msgstr "不正確的 gitdir"
@@ -27516,10 +27683,18 @@ msgstr "無法取消在「%2$s」設定的 %1$s"
msgid "failed to set extensions.worktreeConfig setting"
msgstr "無法設定 extensions.worktreeConfig 設定"
+#: worktree.c
+msgid "unable to upgrade repository format to support relative worktrees"
+msgstr "無法升級版本庫格式,以支援相對路徑工作區"
+
+#: worktree.c
+msgid "unable to set extensions.relativeWorktrees setting"
+msgstr "無法設定 extensions.relativeWorktrees 設定"
+
#: wrapper.c
#, c-format
msgid "could not setenv '%s'"
-msgstr "無法 setenv '%s'"
+msgstr "無法 setenv「%s」"
#: wrapper.c
#, c-format
@@ -27529,7 +27704,7 @@ msgstr "不能建立 '%s'"
#: wrapper.c
#, c-format
msgid "could not open '%s' for reading and writing"
-msgstr "無法開啟 '%s' 進行讀寫"
+msgstr "無法開啟「%s」進行讀寫"
#: wrapper.c
#, c-format
@@ -28582,6 +28757,24 @@ msgstr "略過 %s 含備份後綴 '%s'。\n"
msgid "Do you really want to send %s? [y|N]: "
msgstr "您真的要傳送 %s?[y|N]: "
+#, c-format
+#~ msgid "preferred pack (%s) is invalid"
+#~ msgstr "偏好的封包 (%s) 無效"
+
+#, c-format
+#~ msgid ""
+#~ "more than %i tags found; listed %i most recent\n"
+#~ "gave up search at %s\n"
+#~ msgstr ""
+#~ "發現多於 %i 個標籤,列出最近的 %i 個\n"
+#~ "在 %s 放棄搜尋\n"
+
+#~ msgid "Public key pinning not supported with cURL < 7.39.0"
+#~ msgstr "不支援公鑰檔案鎖定,因為 cURL < 7.39.0"
+
+#~ msgid "CURLSSLOPT_NO_REVOKE not supported with cURL < 7.44.0"
+#~ msgstr "不支援 CURLSSLOPT_NO_REVOKE,因為 cURL < 7.44.0"
+
#~ msgid "revision walk setup failed\n"
#~ msgstr "修訂版遍歷設定失敗\n"
diff --git a/reftable/basics.c b/reftable/basics.c
index 70b1091d14..fe2b83ff83 100644
--- a/reftable/basics.c
+++ b/reftable/basics.c
@@ -124,11 +124,8 @@ int reftable_buf_add(struct reftable_buf *buf, const void *data, size_t len)
size_t newlen = buf->len + len;
if (newlen + 1 > buf->alloc) {
- char *reallocated = buf->buf;
- REFTABLE_ALLOC_GROW(reallocated, newlen + 1, buf->alloc);
- if (!reallocated)
+ if (REFTABLE_ALLOC_GROW(buf->buf, newlen + 1, buf->alloc))
return REFTABLE_OUT_OF_MEMORY_ERROR;
- buf->buf = reallocated;
}
memcpy(buf->buf + buf->len, data, len);
@@ -233,11 +230,9 @@ char **parse_names(char *buf, int size)
next = end;
}
if (p < next) {
- char **names_grown = names;
- REFTABLE_ALLOC_GROW(names_grown, names_len + 1, names_cap);
- if (!names_grown)
+ if (REFTABLE_ALLOC_GROW(names, names_len + 1,
+ names_cap))
goto err;
- names = names_grown;
names[names_len] = reftable_strdup(p);
if (!names[names_len++])
@@ -246,7 +241,8 @@ char **parse_names(char *buf, int size)
p = next + 1;
}
- REFTABLE_REALLOC_ARRAY(names, names_len + 1);
+ if (REFTABLE_ALLOC_GROW(names, names_len + 1, names_cap))
+ goto err;
names[names_len] = NULL;
return names;
diff --git a/reftable/basics.h b/reftable/basics.h
index 36beda2c25..4bf71b0954 100644
--- a/reftable/basics.h
+++ b/reftable/basics.h
@@ -120,15 +120,38 @@ char *reftable_strdup(const char *str);
#define REFTABLE_ALLOC_ARRAY(x, alloc) (x) = reftable_malloc(st_mult(sizeof(*(x)), (alloc)))
#define REFTABLE_CALLOC_ARRAY(x, alloc) (x) = reftable_calloc((alloc), sizeof(*(x)))
#define REFTABLE_REALLOC_ARRAY(x, alloc) (x) = reftable_realloc((x), st_mult(sizeof(*(x)), (alloc)))
-#define REFTABLE_ALLOC_GROW(x, nr, alloc) \
- do { \
- if ((nr) > alloc) { \
- alloc = 2 * (alloc) + 1; \
- if (alloc < (nr)) \
- alloc = (nr); \
- REFTABLE_REALLOC_ARRAY(x, alloc); \
- } \
- } while (0)
+
+static inline void *reftable_alloc_grow(void *p, size_t nelem, size_t elsize,
+ size_t *allocp)
+{
+ void *new_p;
+ size_t alloc = *allocp * 2 + 1;
+ if (alloc < nelem)
+ alloc = nelem;
+ new_p = reftable_realloc(p, st_mult(elsize, alloc));
+ if (!new_p)
+ return p;
+ *allocp = alloc;
+ return new_p;
+}
+
+#define REFTABLE_ALLOC_GROW(x, nr, alloc) ( \
+ (nr) > (alloc) && ( \
+ (x) = reftable_alloc_grow((x), (nr), sizeof(*(x)), &(alloc)), \
+ (nr) > (alloc) \
+ ) \
+)
+
+#define REFTABLE_ALLOC_GROW_OR_NULL(x, nr, alloc) do { \
+ size_t reftable_alloc_grow_or_null_alloc = alloc; \
+ if (REFTABLE_ALLOC_GROW((x), (nr), reftable_alloc_grow_or_null_alloc)) { \
+ REFTABLE_FREE_AND_NULL(x); \
+ alloc = 0; \
+ } else { \
+ alloc = reftable_alloc_grow_or_null_alloc; \
+ } \
+} while (0)
+
#define REFTABLE_FREE_AND_NULL(p) do { reftable_free(p); (p) = NULL; } while (0)
#ifndef REFTABLE_ALLOW_BANNED_ALLOCATORS
diff --git a/reftable/block.c b/reftable/block.c
index 0198078485..9858bbc7c5 100644
--- a/reftable/block.c
+++ b/reftable/block.c
@@ -53,7 +53,8 @@ static int block_writer_register_restart(struct block_writer *w, int n,
if (2 + 3 * rlen + n > w->block_size - w->next)
return -1;
if (is_restart) {
- REFTABLE_ALLOC_GROW(w->restarts, w->restart_len + 1, w->restart_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(w->restarts, w->restart_len + 1,
+ w->restart_cap);
if (!w->restarts)
return REFTABLE_OUT_OF_MEMORY_ERROR;
w->restarts[w->restart_len++] = w->next;
@@ -176,7 +177,8 @@ int block_writer_finish(struct block_writer *w)
* is guaranteed to return `Z_STREAM_END`.
*/
compressed_len = deflateBound(w->zstream, src_len);
- REFTABLE_ALLOC_GROW(w->compressed, compressed_len, w->compressed_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(w->compressed, compressed_len,
+ w->compressed_cap);
if (!w->compressed) {
ret = REFTABLE_OUT_OF_MEMORY_ERROR;
return ret;
@@ -235,8 +237,8 @@ int block_reader_init(struct block_reader *br, struct reftable_block *block,
uLong src_len = block->len - block_header_skip;
/* Log blocks specify the *uncompressed* size in their header. */
- REFTABLE_ALLOC_GROW(br->uncompressed_data, sz,
- br->uncompressed_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(br->uncompressed_data, sz,
+ br->uncompressed_cap);
if (!br->uncompressed_data) {
err = REFTABLE_OUT_OF_MEMORY_ERROR;
goto done;
diff --git a/reftable/pq.c b/reftable/pq.c
index 6ee1164dd3..5591e875e1 100644
--- a/reftable/pq.c
+++ b/reftable/pq.c
@@ -49,7 +49,7 @@ int merged_iter_pqueue_add(struct merged_iter_pqueue *pq, const struct pq_entry
{
size_t i = 0;
- REFTABLE_ALLOC_GROW(pq->heap, pq->len + 1, pq->cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(pq->heap, pq->len + 1, pq->cap);
if (!pq->heap)
return REFTABLE_OUT_OF_MEMORY_ERROR;
pq->heap[pq->len++] = *e;
diff --git a/reftable/record.c b/reftable/record.c
index fb5652ed57..04429d23fe 100644
--- a/reftable/record.c
+++ b/reftable/record.c
@@ -246,8 +246,8 @@ static int reftable_ref_record_copy_from(void *rec, const void *src_rec,
if (src->refname) {
size_t refname_len = strlen(src->refname);
- REFTABLE_ALLOC_GROW(ref->refname, refname_len + 1,
- ref->refname_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(ref->refname, refname_len + 1,
+ ref->refname_cap);
if (!ref->refname) {
err = REFTABLE_OUT_OF_MEMORY_ERROR;
goto out;
@@ -385,7 +385,7 @@ static int reftable_ref_record_decode(void *rec, struct reftable_buf key,
SWAP(r->refname, refname);
SWAP(r->refname_cap, refname_cap);
- REFTABLE_ALLOC_GROW(r->refname, key.len + 1, r->refname_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(r->refname, key.len + 1, r->refname_cap);
if (!r->refname) {
err = REFTABLE_OUT_OF_MEMORY_ERROR;
goto done;
@@ -839,7 +839,7 @@ static int reftable_log_record_decode(void *rec, struct reftable_buf key,
if (key.len <= 9 || key.buf[key.len - 9] != 0)
return REFTABLE_FORMAT_ERROR;
- REFTABLE_ALLOC_GROW(r->refname, key.len - 8, r->refname_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(r->refname, key.len - 8, r->refname_cap);
if (!r->refname) {
err = REFTABLE_OUT_OF_MEMORY_ERROR;
goto done;
@@ -947,8 +947,8 @@ static int reftable_log_record_decode(void *rec, struct reftable_buf key,
}
string_view_consume(&in, n);
- REFTABLE_ALLOC_GROW(r->value.update.message, scratch->len + 1,
- r->value.update.message_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(r->value.update.message, scratch->len + 1,
+ r->value.update.message_cap);
if (!r->value.update.message) {
err = REFTABLE_OUT_OF_MEMORY_ERROR;
goto done;
diff --git a/reftable/stack.c b/reftable/stack.c
index 634f0c5425..531660a49f 100644
--- a/reftable/stack.c
+++ b/reftable/stack.c
@@ -317,7 +317,9 @@ static int reftable_stack_reload_once(struct reftable_stack *st,
* thus need to keep them alive here, which we
* do by bumping their refcount.
*/
- REFTABLE_ALLOC_GROW(reused, reused_len + 1, reused_alloc);
+ REFTABLE_ALLOC_GROW_OR_NULL(reused,
+ reused_len + 1,
+ reused_alloc);
if (!reused) {
err = REFTABLE_OUT_OF_MEMORY_ERROR;
goto done;
@@ -949,8 +951,8 @@ int reftable_addition_add(struct reftable_addition *add,
if (err < 0)
goto done;
- REFTABLE_ALLOC_GROW(add->new_tables, add->new_tables_len + 1,
- add->new_tables_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(add->new_tables, add->new_tables_len + 1,
+ add->new_tables_cap);
if (!add->new_tables) {
err = REFTABLE_OUT_OF_MEMORY_ERROR;
goto done;
diff --git a/reftable/writer.c b/reftable/writer.c
index 624e90fb53..740c98038e 100644
--- a/reftable/writer.c
+++ b/reftable/writer.c
@@ -254,7 +254,8 @@ static int writer_index_hash(struct reftable_writer *w, struct reftable_buf *has
if (key->offset_len > 0 && key->offsets[key->offset_len - 1] == off)
return 0;
- REFTABLE_ALLOC_GROW(key->offsets, key->offset_len + 1, key->offset_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(key->offsets, key->offset_len + 1,
+ key->offset_cap);
if (!key->offsets)
return REFTABLE_OUT_OF_MEMORY_ERROR;
key->offsets[key->offset_len++] = off;
@@ -820,7 +821,7 @@ static int writer_flush_nonempty_block(struct reftable_writer *w)
* Note that this also applies when flushing index blocks, in which
* case we will end up with a multi-level index.
*/
- REFTABLE_ALLOC_GROW(w->index, w->index_len + 1, w->index_cap);
+ REFTABLE_ALLOC_GROW_OR_NULL(w->index, w->index_len + 1, w->index_cap);
if (!w->index)
return REFTABLE_OUT_OF_MEMORY_ERROR;
diff --git a/strbuf.c b/strbuf.c
index 8ddd4b06c5..f30fdc6984 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -497,7 +497,9 @@ void strbuf_add_percentencode(struct strbuf *dst, const char *src, int flags)
unsigned char ch = src[i];
if (ch <= 0x1F || ch >= 0x7F ||
(ch == '/' && (flags & STRBUF_ENCODE_SLASH)) ||
- strchr(URL_UNSAFE_CHARS, ch))
+ ((flags & STRBUF_ENCODE_HOST_AND_PORT) ?
+ !isalnum(ch) && !strchr("-.:[]", ch) :
+ !!strchr(URL_UNSAFE_CHARS, ch)))
strbuf_addf(dst, "%%%02X", (unsigned char)ch);
else
strbuf_addch(dst, ch);
diff --git a/strbuf.h b/strbuf.h
index 4dc05b4ba7..6362777c0a 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -356,6 +356,7 @@ void strbuf_expand_bad_format(const char *format, const char *command);
void strbuf_addbuf_percentquote(struct strbuf *dst, const struct strbuf *src);
#define STRBUF_ENCODE_SLASH 1
+#define STRBUF_ENCODE_HOST_AND_PORT 2
/**
* Append the contents of a string to a strbuf, percent-encoding any characters
diff --git a/t/.gitignore b/t/.gitignore
index 91cf5772fe..3e6b0f2cc5 100644
--- a/t/.gitignore
+++ b/t/.gitignore
@@ -2,4 +2,5 @@
/test-results
/.prove
/chainlinttmp
+/mesontmp
/out/
diff --git a/t/Makefile b/t/Makefile
index 290fb03ff0..daa5fcae86 100644
--- a/t/Makefile
+++ b/t/Makefile
@@ -103,6 +103,7 @@ clean-except-prove-cache: clean-chainlint
clean: clean-except-prove-cache
$(RM) -r '$(TEST_RESULTS_DIRECTORY_SQ)'
+ $(RM) -r mesontmp
$(RM) .prove
clean-chainlint:
@@ -116,16 +117,17 @@ check-chainlint:
check-meson:
@# awk acts up when trying to match single quotes, so we use \047 instead.
- @printf "%s\n" \
+ @mkdir -p mesontmp && \
+ printf "%s\n" \
"integration_tests t[0-9][0-9][0-9][0-9]-*.sh" \
"unit_test_programs unit-tests/t-*.c" \
"clar_test_suites unit-tests/u-*.c" | \
while read -r variable pattern; do \
- meson_tests=$$(awk "/^$$variable = \[\$$/ {flag=1 ; next } /^]$$/ { flag=0 } flag { gsub(/^ \047/, \"\"); gsub(/\047,\$$/, \"\"); print }" meson.build) && \
- actual_tests=$$(ls $$pattern) && \
- if test "$$meson_tests" != "$$actual_tests"; then \
+ awk "/^$$variable = \[\$$/ {flag=1 ; next } /^]$$/ { flag=0 } flag { gsub(/^ \047/, \"\"); gsub(/\047,\$$/, \"\"); print }" meson.build >mesontmp/meson.txt && \
+ ls $$pattern >mesontmp/actual.txt && \
+ if ! cmp mesontmp/meson.txt mesontmp/actual.txt; then \
echo "Meson tests differ from actual tests:"; \
- diff -u <(echo "$$meson_tests") <(echo "$$actual_tests"); \
+ diff -u mesontmp/meson.txt mesontmp/actual.txt; \
exit 1; \
fi; \
done
diff --git a/t/lib-gitweb.sh b/t/lib-gitweb.sh
index 7f9808ec20..a6e3dd11b3 100644
--- a/t/lib-gitweb.sh
+++ b/t/lib-gitweb.sh
@@ -105,6 +105,11 @@ if ! test_have_prereq PERL; then
test_done
fi
+if ! test_have_prereq GITWEB; then
+ skip_all='skipping gitweb tests, gitweb not available'
+ test_done
+fi
+
perl -MEncode -e '$e="";decode_utf8($e, Encode::FB_CROAK)' >/dev/null 2>&1 || {
skip_all='skipping gitweb tests, perl version is too old'
test_done
diff --git a/t/t0300-credentials.sh b/t/t0300-credentials.sh
index 17952e52d6..cb3a85c7ff 100755
--- a/t/t0300-credentials.sh
+++ b/t/t0300-credentials.sh
@@ -76,6 +76,10 @@ test_expect_success 'setup helper scripts' '
test -z "$pexpiry" || echo password_expiry_utc=$pexpiry
EOF
+ write_script git-credential-cntrl-in-username <<-\EOF &&
+ printf "username=\\007latrix Lestrange\\n"
+ EOF
+
PATH="$PWD:$PATH"
'
@@ -696,6 +700,19 @@ test_expect_success 'match percent-encoded values in username' '
EOF
'
+test_expect_success 'match percent-encoded values in hostname' '
+ test_config "credential.https://a%20b%20c/.helper" "$HELPER" &&
+ check fill <<-\EOF
+ url=https://a b c/
+ --
+ protocol=https
+ host=a b c
+ username=foo
+ password=bar
+ --
+ EOF
+'
+
test_expect_success 'fetch with multiple path components' '
test_unconfig credential.helper &&
test_config credential.https://example.com/foo/repo.git.helper "verbatim foo bar" &&
@@ -885,6 +902,22 @@ test_expect_success 'url parser rejects embedded newlines' '
test_cmp expect stderr
'
+test_expect_success 'url parser rejects embedded carriage returns' '
+ test_config credential.helper "!true" &&
+ test_must_fail git credential fill 2>stderr <<-\EOF &&
+ url=https://example%0d.com/
+ EOF
+ cat >expect <<-\EOF &&
+ fatal: credential value for host contains carriage return
+ If this is intended, set `credential.protectProtocol=false`
+ EOF
+ test_cmp expect stderr &&
+ GIT_ASKPASS=true \
+ git -c credential.protectProtocol=false credential fill <<-\EOF
+ url=https://example%0d.com/
+ EOF
+'
+
test_expect_success 'host-less URLs are parsed as empty host' '
check fill "verbatim foo bar" <<-\EOF
url=cert:///path/to/cert.pem
@@ -994,4 +1027,20 @@ test_expect_success 'credential config with partial URLs' '
test_grep "skipping credential lookup for key" stderr
'
+BEL="$(printf '\007')"
+
+test_expect_success 'interactive prompt is sanitized' '
+ check fill cntrl-in-username <<-EOF
+ protocol=https
+ host=example.org
+ --
+ protocol=https
+ host=example.org
+ username=${BEL}latrix Lestrange
+ password=askpass-password
+ --
+ askpass: Password for ${SQ}https://%07latrix%20Lestrange@example.org${SQ}:
+ EOF
+'
+
test_done
diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh
index 71428f3d5c..538b603f03 100755
--- a/t/t5541-http-push-smart.sh
+++ b/t/t5541-http-push-smart.sh
@@ -343,7 +343,7 @@ test_expect_success 'push over smart http with auth' '
git push "$HTTPD_URL"/auth/smart/test_repo.git &&
git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git" \
log -1 --format=%s >actual &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
test_cmp expect actual
'
@@ -355,7 +355,7 @@ test_expect_success 'push to auth-only-for-push repo' '
git push "$HTTPD_URL"/auth-push/smart/test_repo.git &&
git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git" \
log -1 --format=%s >actual &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
test_cmp expect actual
'
@@ -385,7 +385,7 @@ test_expect_success 'push into half-auth-complete requires password' '
git push "$HTTPD_URL/half-auth-complete/smart/half-auth.git" &&
git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/half-auth.git" \
log -1 --format=%s >actual &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
test_cmp expect actual
'
diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh
index 21795a19bf..ed0ad66fad 100755
--- a/t/t5550-http-fetch-dumb.sh
+++ b/t/t5550-http-fetch-dumb.sh
@@ -111,13 +111,13 @@ test_expect_success 'http auth can use user/pass in URL' '
test_expect_success 'http auth can use just user in URL' '
set_askpass wrong pass@host &&
git clone "$HTTPD_URL_USER/auth/dumb/repo.git" clone-auth-pass &&
- expect_askpass pass user@host
+ expect_askpass pass user%40host
'
test_expect_success 'http auth can request both user and pass' '
set_askpass user@host pass@host &&
git clone "$HTTPD_URL/auth/dumb/repo.git" clone-auth-both &&
- expect_askpass both user@host
+ expect_askpass both user%40host
'
test_expect_success 'http auth respects credential helper config' '
@@ -135,14 +135,14 @@ test_expect_success 'http auth can get username from config' '
test_config_global "credential.$HTTPD_URL.username" user@host &&
set_askpass wrong pass@host &&
git clone "$HTTPD_URL/auth/dumb/repo.git" clone-auth-user &&
- expect_askpass pass user@host
+ expect_askpass pass user%40host
'
test_expect_success 'configured username does not override URL' '
test_config_global "credential.$HTTPD_URL.username" wrong &&
set_askpass wrong pass@host &&
git clone "$HTTPD_URL_USER/auth/dumb/repo.git" clone-auth-user2 &&
- expect_askpass pass user@host
+ expect_askpass pass user%40host
'
test_expect_success 'set up repo with http submodules' '
@@ -163,7 +163,7 @@ test_expect_success 'cmdline credential config passes to submodule via clone' '
set_askpass wrong pass@host &&
git -c "credential.$HTTPD_URL.username=user@host" \
clone --recursive super super-clone &&
- expect_askpass pass user@host
+ expect_askpass pass user%40host
'
test_expect_success 'cmdline credential config passes submodule via fetch' '
@@ -174,7 +174,7 @@ test_expect_success 'cmdline credential config passes submodule via fetch' '
git -C super-clone \
-c "credential.$HTTPD_URL.username=user@host" \
fetch --recurse-submodules &&
- expect_askpass pass user@host
+ expect_askpass pass user%40host
'
test_expect_success 'cmdline credential config passes submodule update' '
@@ -191,7 +191,7 @@ test_expect_success 'cmdline credential config passes submodule update' '
git -C super-clone \
-c "credential.$HTTPD_URL.username=user@host" \
submodule update &&
- expect_askpass pass user@host
+ expect_askpass pass user%40host
'
test_expect_success 'fetch changes via http' '
diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh
index ceb3336a5c..761fdfcfe6 100755
--- a/t/t5551-http-fetch-smart.sh
+++ b/t/t5551-http-fetch-smart.sh
@@ -181,7 +181,7 @@ test_expect_success 'clone from password-protected repository' '
echo two >expect &&
set_askpass user@host pass@host &&
git clone --bare "$HTTPD_URL/auth/smart/repo.git" smart-auth &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
git --git-dir=smart-auth log -1 --format=%s >actual &&
test_cmp expect actual
'
@@ -221,7 +221,7 @@ test_expect_success 'clone from auth-only-for-objects repository' '
echo two >expect &&
set_askpass user@host pass@host &&
git clone --bare "$HTTPD_URL/auth-fetch/smart/repo.git" half-auth &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
git --git-dir=half-auth log -1 --format=%s >actual &&
test_cmp expect actual
'
@@ -246,14 +246,14 @@ test_expect_success 'redirects send auth to new location' '
set_askpass user@host pass@host &&
git -c credential.useHttpPath=true \
clone $HTTPD_URL/smart-redir-auth/repo.git repo-redir-auth &&
- expect_askpass both user@host auth/smart/repo.git
+ expect_askpass both user%40host auth/smart/repo.git
'
test_expect_success 'GIT_TRACE_CURL redacts auth details' '
rm -rf redact-auth trace &&
set_askpass user@host pass@host &&
GIT_TRACE_CURL="$(pwd)/trace" git clone --bare "$HTTPD_URL/auth/smart/repo.git" redact-auth &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
# Ensure that there is no "Basic" followed by a base64 string, but that
# the auth details are redacted
@@ -265,7 +265,7 @@ test_expect_success 'GIT_CURL_VERBOSE redacts auth details' '
rm -rf redact-auth trace &&
set_askpass user@host pass@host &&
GIT_CURL_VERBOSE=1 git clone --bare "$HTTPD_URL/auth/smart/repo.git" redact-auth 2>trace &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
# Ensure that there is no "Basic" followed by a base64 string, but that
# the auth details are redacted
@@ -278,7 +278,7 @@ test_expect_success 'GIT_TRACE_CURL does not redact auth details if GIT_TRACE_RE
set_askpass user@host pass@host &&
GIT_TRACE_REDACT=0 GIT_TRACE_CURL="$(pwd)/trace" \
git clone --bare "$HTTPD_URL/auth/smart/repo.git" redact-auth &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
grep -i "Authorization: Basic [0-9a-zA-Z+/]" trace
'
@@ -592,7 +592,7 @@ test_expect_success 'http auth remembers successful credentials' '
# the first request prompts the user...
set_askpass user@host pass@host &&
git ls-remote "$HTTPD_URL/auth/smart/repo.git" >/dev/null &&
- expect_askpass both user@host &&
+ expect_askpass both user%40host &&
# ...and the second one uses the stored value rather than
# prompting the user.
@@ -623,7 +623,7 @@ test_expect_success 'http auth forgets bogus credentials' '
# us to prompt the user again.
set_askpass user@host pass@host &&
git ls-remote "$HTTPD_URL/auth/smart/repo.git" >/dev/null &&
- expect_askpass both user@host
+ expect_askpass both user%40host
'
test_expect_success 'client falls back from v2 to v0 to match server' '
diff --git a/t/t7611-merge-abort.sh b/t/t7611-merge-abort.sh
index d6975ca48d..1a251485e1 100755
--- a/t/t7611-merge-abort.sh
+++ b/t/t7611-merge-abort.sh
@@ -54,13 +54,13 @@ test_expect_success 'fails without MERGE_HEAD (unstarted merge)' '
'
test_expect_success 'fails without MERGE_HEAD (unstarted merge): .git/MERGE_HEAD sanity' '
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)"
'
test_expect_success 'fails without MERGE_HEAD (completed merge)' '
git merge clean_branch &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
# Merge successfully completed
post_merge_head="$(git rev-parse HEAD)" &&
test_must_fail git merge --abort 2>output &&
@@ -68,7 +68,7 @@ test_expect_success 'fails without MERGE_HEAD (completed merge)' '
'
test_expect_success 'fails without MERGE_HEAD (completed merge): .git/MERGE_HEAD sanity' '
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$post_merge_head" = "$(git rev-parse HEAD)"
'
@@ -79,10 +79,10 @@ test_expect_success 'Forget previous merge' '
test_expect_success 'Abort after --no-commit' '
# Redo merge, but stop before creating merge commit
git merge --no-commit clean_branch &&
- test -f .git/MERGE_HEAD &&
+ test_path_is_file .git/MERGE_HEAD &&
# Abort non-conflicting merge
git merge --abort &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff)" &&
test -z "$(git diff --staged)"
@@ -91,10 +91,10 @@ test_expect_success 'Abort after --no-commit' '
test_expect_success 'Abort after conflicts' '
# Create conflicting merge
test_must_fail git merge conflict_branch &&
- test -f .git/MERGE_HEAD &&
+ test_path_is_file .git/MERGE_HEAD &&
# Abort conflicting merge
git merge --abort &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff)" &&
test -z "$(git diff --staged)"
@@ -105,7 +105,7 @@ test_expect_success 'Clean merge with dirty index fails' '
git add foo &&
git diff --staged > expect &&
test_must_fail git merge clean_branch &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff)" &&
git diff --staged > actual &&
@@ -114,7 +114,7 @@ test_expect_success 'Clean merge with dirty index fails' '
test_expect_success 'Conflicting merge with dirty index fails' '
test_must_fail git merge conflict_branch &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff)" &&
git diff --staged > actual &&
@@ -129,10 +129,10 @@ test_expect_success 'Reset index (but preserve worktree changes)' '
test_expect_success 'Abort clean merge with non-conflicting dirty worktree' '
git merge --no-commit clean_branch &&
- test -f .git/MERGE_HEAD &&
+ test_path_is_file .git/MERGE_HEAD &&
# Abort merge
git merge --abort &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff --staged)" &&
git diff > actual &&
@@ -141,10 +141,10 @@ test_expect_success 'Abort clean merge with non-conflicting dirty worktree' '
test_expect_success 'Abort conflicting merge with non-conflicting dirty worktree' '
test_must_fail git merge conflict_branch &&
- test -f .git/MERGE_HEAD &&
+ test_path_is_file .git/MERGE_HEAD &&
# Abort merge
git merge --abort &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff --staged)" &&
git diff > actual &&
@@ -159,7 +159,7 @@ test_expect_success 'Fail clean merge with conflicting dirty worktree' '
echo xyzzy >> bar &&
git diff > expect &&
test_must_fail git merge --no-commit clean_branch &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff --staged)" &&
git diff > actual &&
@@ -168,7 +168,7 @@ test_expect_success 'Fail clean merge with conflicting dirty worktree' '
test_expect_success 'Fail conflicting merge with conflicting dirty worktree' '
test_must_fail git merge conflict_branch &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff --staged)" &&
git diff > actual &&
@@ -183,7 +183,7 @@ test_expect_success 'Fail clean merge with matching dirty worktree' '
echo bart > bar &&
git diff > expect &&
test_must_fail git merge --no-commit clean_branch &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff --staged)" &&
git diff > actual &&
@@ -194,7 +194,7 @@ test_expect_success 'Fail conflicting merge with matching dirty worktree' '
echo barf > bar &&
git diff > expect &&
test_must_fail git merge conflict_branch &&
- test ! -f .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
test -z "$(git diff --staged)" &&
git diff > actual &&
diff --git a/t/t8002-blame.sh b/t/t8002-blame.sh
index 0147de304b..1ad039e123 100755
--- a/t/t8002-blame.sh
+++ b/t/t8002-blame.sh
@@ -126,6 +126,32 @@ test_expect_success '--no-abbrev works like --abbrev with full length' '
check_abbrev $hexsz --no-abbrev
'
+test_expect_success 'blame --abbrev gets truncated' '
+ check_abbrev $hexsz --abbrev=9000 HEAD
+'
+
+test_expect_success 'blame --abbrev gets truncated with boundary commit' '
+ check_abbrev $hexsz --abbrev=9000 ^HEAD
+'
+
+test_expect_success 'blame --abbrev -b truncates the blank boundary' '
+ # Note that `--abbrev=` always gets incremented by 1, which is why we
+ # expect 11 leading spaces and not 10.
+ cat >expect <<-EOF &&
+ $(printf "%0.s " $(test_seq 11)) (<author@example.com> 2005-04-07 15:45:13 -0700 1) abbrev
+ EOF
+ git blame -b --abbrev=10 ^HEAD -- abbrev.t >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'blame with excessive --abbrev and -b culls to hash length' '
+ cat >expect <<-EOF &&
+ $(printf "%0.s " $(test_seq $hexsz)) (<author@example.com> 2005-04-07 15:45:13 -0700 1) abbrev
+ EOF
+ git blame -b --abbrev=9000 ^HEAD -- abbrev.t >actual &&
+ test_cmp expect actual
+'
+
test_expect_success '--exclude-promisor-objects does not BUG-crash' '
test_must_fail git blame --exclude-promisor-objects one
'
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 62dfcc4aaf..d1f62adbf8 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -80,6 +80,7 @@ prepend_var ASAN_OPTIONS : detect_leaks=0
export ASAN_OPTIONS
prepend_var LSAN_OPTIONS : $GIT_SAN_OPTIONS
+prepend_var LSAN_OPTIONS : exitcode=0
prepend_var LSAN_OPTIONS : fast_unwind_on_malloc=0
export LSAN_OPTIONS
@@ -331,7 +332,7 @@ TEST_RESULTS_BASE="$TEST_RESULTS_DIR/$TEST_NAME$TEST_STRESS_JOB_SFX"
TEST_RESULTS_SAN_FILE_PFX=trace
TEST_RESULTS_SAN_DIR_SFX=leak
TEST_RESULTS_SAN_FILE=
-TEST_RESULTS_SAN_DIR="$TEST_RESULTS_DIR/$TEST_NAME.$TEST_RESULTS_SAN_DIR_SFX"
+TEST_RESULTS_SAN_DIR="$TEST_RESULTS_BASE.$TEST_RESULTS_SAN_DIR_SFX"
TRASH_DIRECTORY="trash directory.$TEST_NAME$TEST_STRESS_JOB_SFX"
test -n "$root" && TRASH_DIRECTORY="$root/$TRASH_DIRECTORY"
case "$TRASH_DIRECTORY" in
@@ -339,17 +340,6 @@ case "$TRASH_DIRECTORY" in
*) TRASH_DIRECTORY="$TEST_OUTPUT_DIRECTORY/$TRASH_DIRECTORY" ;;
esac
-# Utility functions using $TEST_RESULTS_* variables
-nr_san_dir_leaks_ () {
- # stderr piped to /dev/null because the directory may have
- # been "rmdir"'d already.
- find "$TEST_RESULTS_SAN_DIR" \
- -type f \
- -name "$TEST_RESULTS_SAN_FILE_PFX.*" 2>/dev/null |
- xargs grep -lv "Unable to get registers from thread" |
- wc -l
-}
-
# If --stress was passed, run this test repeatedly in several parallel loops.
if test "$GIT_TEST_STRESS_STARTED" = "done"
then
@@ -1180,8 +1170,15 @@ test_atexit_handler () {
}
check_test_results_san_file_empty_ () {
- test -z "$TEST_RESULTS_SAN_FILE" ||
- test "$(nr_san_dir_leaks_)" = 0
+ test -z "$TEST_RESULTS_SAN_FILE" && return 0
+
+ # stderr piped to /dev/null because the directory may have
+ # been "rmdir"'d already.
+ ! find "$TEST_RESULTS_SAN_DIR" \
+ -type f \
+ -name "$TEST_RESULTS_SAN_FILE_PFX.*" 2>/dev/null |
+ xargs grep ^DEDUP_TOKEN |
+ grep -qv sanitizer::GetThreadStackTopAndBottom
}
check_test_results_san_file_ () {
@@ -1687,6 +1684,7 @@ esac
( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
test -z "$NO_CURL" && test_set_prereq LIBCURL
+test -z "$NO_GITWEB" && test_set_prereq GITWEB
test -z "$NO_ICONV" && test_set_prereq ICONV
test -z "$NO_PERL" && test_set_prereq PERL
test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
diff --git a/t/unit-tests/t-reftable-basics.c b/t/unit-tests/t-reftable-basics.c
index 65d50df091..1d640b280f 100644
--- a/t/unit-tests/t-reftable-basics.c
+++ b/t/unit-tests/t-reftable-basics.c
@@ -20,6 +20,11 @@ static int integer_needle_lesseq(size_t i, void *_args)
return args->needle <= args->haystack[i];
}
+static void *realloc_stub(void *p UNUSED, size_t size UNUSED)
+{
+ return NULL;
+}
+
int cmd_main(int argc UNUSED, const char *argv[] UNUSED)
{
if_test ("binary search with binsearch works") {
@@ -141,5 +146,56 @@ int cmd_main(int argc UNUSED, const char *argv[] UNUSED)
check_int(in, ==, out);
}
+ if_test ("REFTABLE_ALLOC_GROW works") {
+ int *arr = NULL, *old_arr;
+ size_t alloc = 0, old_alloc;
+
+ check(!REFTABLE_ALLOC_GROW(arr, 1, alloc));
+ check(arr != NULL);
+ check_uint(alloc, >=, 1);
+ arr[0] = 42;
+
+ old_alloc = alloc;
+ old_arr = arr;
+ reftable_set_alloc(NULL, realloc_stub, NULL);
+ check(REFTABLE_ALLOC_GROW(arr, old_alloc + 1, alloc));
+ check(arr == old_arr);
+ check_uint(alloc, ==, old_alloc);
+
+ old_alloc = alloc;
+ reftable_set_alloc(NULL, NULL, NULL);
+ check(!REFTABLE_ALLOC_GROW(arr, old_alloc + 1, alloc));
+ check(arr != NULL);
+ check_uint(alloc, >, old_alloc);
+ arr[alloc - 1] = 42;
+
+ reftable_free(arr);
+ }
+
+ if_test ("REFTABLE_ALLOC_GROW_OR_NULL works") {
+ int *arr = NULL;
+ size_t alloc = 0, old_alloc;
+
+ REFTABLE_ALLOC_GROW_OR_NULL(arr, 1, alloc);
+ check(arr != NULL);
+ check_uint(alloc, >=, 1);
+ arr[0] = 42;
+
+ old_alloc = alloc;
+ REFTABLE_ALLOC_GROW_OR_NULL(arr, old_alloc + 1, alloc);
+ check(arr != NULL);
+ check_uint(alloc, >, old_alloc);
+ arr[alloc - 1] = 42;
+
+ old_alloc = alloc;
+ reftable_set_alloc(NULL, realloc_stub, NULL);
+ REFTABLE_ALLOC_GROW_OR_NULL(arr, old_alloc + 1, alloc);
+ check(arr == NULL);
+ check_uint(alloc, ==, 0);
+ reftable_set_alloc(NULL, NULL, NULL);
+
+ reftable_free(arr);
+ }
+
return test_done();
}
diff --git a/t/unit-tests/t-reftable-merged.c b/t/unit-tests/t-reftable-merged.c
index a12bd0e1a3..60836f80d6 100644
--- a/t/unit-tests/t-reftable-merged.c
+++ b/t/unit-tests/t-reftable-merged.c
@@ -178,7 +178,7 @@ static void t_merged_refs(void)
if (err > 0)
break;
- REFTABLE_ALLOC_GROW(out, len + 1, cap);
+ check(!REFTABLE_ALLOC_GROW(out, len + 1, cap));
out[len++] = ref;
}
reftable_iterator_destroy(&it);
@@ -459,7 +459,7 @@ static void t_merged_logs(void)
if (err > 0)
break;
- REFTABLE_ALLOC_GROW(out, len + 1, cap);
+ check(!REFTABLE_ALLOC_GROW(out, len + 1, cap));
out[len++] = log;
}
reftable_iterator_destroy(&it);