From: Junio C Hamano Date: Wed, 6 May 2015 04:00:27 +0000 (-0700) Subject: Merge branch 'ld/p4-filetype-detection' X-Git-Tag: v2.5.0-rc0~155 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/a9d00b662f0fdb88434b85d2bd55ebfee227e0d7?hp=34a0dbfc6b7463a68df79d5773102f85e56cbe4d Merge branch 'ld/p4-filetype-detection' * ld/p4-filetype-detection: git-p4: fix filetype detection on files opened exclusively git-p4: small fix for locked-file-move-test git-p4: fix small bug in locked test scripts --- diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 376d5ec4f8..c6e536f180 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -1,5 +1,5 @@ Like other projects, we also have some guidelines to keep to the -code. For Git in general, three rough rules are: +code. For Git in general, a few rough rules are: - Most importantly, we never say "It's in POSIX; we'll happily ignore your needs should your system not conform to it." diff --git a/Documentation/RelNotes/2.3.6.txt b/Documentation/RelNotes/2.3.6.txt new file mode 100644 index 0000000000..432f770ef3 --- /dev/null +++ b/Documentation/RelNotes/2.3.6.txt @@ -0,0 +1,13 @@ +Git v2.3.6 Release Notes +======================== + +Fixes since v2.3.5 +------------------ + + * "diff-highlight" (in contrib/) used to show byte-by-byte + differences, which meant that multi-byte characters can be chopped + in the middle. It learned to pay attention to character boundaries + (assuming the UTF-8 payload). + +Also contains typofixes, documentation updates and trivial code +clean-ups. diff --git a/Documentation/RelNotes/2.3.7.txt b/Documentation/RelNotes/2.3.7.txt new file mode 100644 index 0000000000..fc95812cb3 --- /dev/null +++ b/Documentation/RelNotes/2.3.7.txt @@ -0,0 +1,21 @@ +Git v2.3.7 Release Notes +======================== + +Fixes since v2.3.6 +------------------ + + * An earlier update to the parser that disects a URL broke an + address, followed by a colon, followed by an empty string (instead + of the port number), e.g. ssh://example.com:/path/to/repo. + + * The completion script (in contrib/) contaminated global namespace + and clobbered on a shell variable $x. + + * The "git push --signed" protocol extension did not limit what the + "nonce" that is a server-chosen string can contain or how long it + can be, which was unnecessarily lax. Limit both the length and the + alphabet to a reasonably small space that can still have enough + entropy. + +Also contains typofixes, documentation updates and trivial code +clean-ups. diff --git a/Documentation/RelNotes/2.4.0.txt b/Documentation/RelNotes/2.4.0.txt index 21df61c3be..cde64be535 100644 --- a/Documentation/RelNotes/2.4.0.txt +++ b/Documentation/RelNotes/2.4.0.txt @@ -6,19 +6,19 @@ Backward compatibility warning(s) This release has a few changes in the user-visible output from Porcelain commands. These are not meant to be parsed by scripts, but -the users still may want to be aware of the changes: +users still may want to be aware of the changes: - * Output from "git log --decorate" (and "%d" format specifier used in - the userformat "--format=" parameter "git log" family of - command takes) used to list "HEAD" just like other tips of branch - names, separated with a comma in between. E.g. + * The output from "git log --decorate" (and, more generally, the "%d" + format specifier used in the "--format=" parameter to the + "git log" family of commands) has changed. It used to list "HEAD" + just like other branches; e.g., $ git log --decorate -1 master commit bdb0f6788fa5e3cacc4315e9ff318a27b2676ff4 (HEAD, master) ... - This release updates the output slightly when HEAD refers to the tip - of a branch whose name is also shown in the output. The above is + This release changes the output slightly when HEAD refers to a + branch whose name is also shown in the output. The above is now shown as: $ git log --decorate -1 master @@ -26,15 +26,15 @@ the users still may want to be aware of the changes: ... * The phrasing "git branch" uses to describe a detached HEAD has been - updated to match that of "git status": + updated to agree with the phrasing used by "git status": - - When the HEAD is at the same commit as it was originally + - When HEAD is at the same commit as when it was originally detached, they now both show "detached at ". - - When the HEAD has moved since it was originally detached, - they now both show "detached from ". + - When HEAD has moved since it was originally detached, they now + both show "detached from ". - Earlier "git branch" always used "from" + Previously, "git branch" always used "from". Updates since v2.3 @@ -46,8 +46,9 @@ Ports platforms with smaller SSIZE_MAX, leading to read(2)/write(2) failures. - * We did not check the curl library version before using - CURLOPT_PROXYAUTH feature that may not exist. + * We did not check the curl library version before using the + CURLOPT_PROXYAUTH feature, which did not exist in older versions of + the library. * We now detect number of CPUs on older BSD-derived systems. @@ -66,99 +67,105 @@ UI, Workflows & Features * "git log --invert-grep --grep=WIP" will show only commits that do not have the string "WIP" in their messages. - * "git push" has been taught a "--atomic" option that makes push to - update more than one ref an "all-or-none" affair. + * "git push" has been taught an "--atomic" option that makes a push + that updates more than one ref an "all-or-none" affair. - * Extending the "push to deploy" added in 2.3, the behaviour of "git - push" when updating the branch that is checked out can now be - tweaked by push-to-checkout hook. + * Extending the "push to deploy" feature that was added in 2.3, the + behaviour of "git push" when updating the branch that is checked + out can now be tweaked by a "push-to-checkout" hook. - * Using environment variable LANGUAGE and friends on the client side, - HTTP-based transports now send Accept-Language when making requests. + * HTTP-based transports now send Accept-Language when making + requests. The languages to accept are inferred from environment + variables on the client side (LANGUAGE, etc). * "git send-email" used to accept a mistaken "y" (or "yes") as an - answer to "What encoding do you want to use [UTF-8]? " without - questioning. Now it asks for confirmation when the answer looks - too short to be a valid encoding name. + answer to "What encoding do you want to use [UTF-8]?" without + questioning. Now it asks for confirmation when the answer looks too + short to be a valid encoding name. * When "git apply --whitespace=fix" fixed whitespace errors in the common context lines, the command reports that it did so. - * "git status" now allows the "-v" to be given twice to show the - differences that are left in the working tree not to be committed. + * "git status" now allows the "-v" option to be given twice, in which + case it also shows the differences in the working tree that are not + staged to be committed. - * "git cherry-pick" used to clean-up the log message even when it is - merely replaying an existing commit. It now replays the message - verbatim unless you are editing the message of resulting commits. + * "git cherry-pick" used to clean up the log message even when it is + merely replaying an existing commit. It now replays the message + verbatim unless you are editing the message of the resulting + commit. * "git archive" can now be told to set the 'text' attribute in the resulting zip archive. - * Output from "git log --decorate" mentions HEAD when it points at a - tip of an branch differently from a detached HEAD. + * Output from "git log --decorate" now distinguishes between a + detached HEAD vs. a HEAD that points at a branch. - This is a potentially backward-incompatible change. + This is a potentially backward-incompatible change; see above for + more information. - * "git branch" on a detached HEAD always said "(detached from xyz)", - even when "git status" would report "detached at xyz". The HEAD is - actually at xyz and haven't been moved since it was detached in - such a case, but the user cannot read what the current value of - HEAD is when "detached from" is used. + * When HEAD was detached when at commit xyz and hasn't been moved + since it was detached, "git status" would report "detached at xyz" + whereas "git branch" would report "detached from xyz". Now the + output of "git branch" agrees with that of "git status". - * "git -C '' subcmd" refused to work in the current directory, unlike - "cd ''" which silently behaves as a no-op. + This is a potentially backward-incompatible change; see above for + more information. + + * "git -C '' subcmd" now works in the current directory (analogously + to "cd ''") rather than dying with an error message. (merge 6a536e2 kn/git-cd-to-empty later to maint). - * The versionsort.prerelease configuration variable can be used to - specify that v1.0-pre1 comes before v1.0. + * The versionsort.prereleaseSuffix configuration variable can be used + to specify that, for example, v1.0-pre1 comes before v1.0. * A new "push.followTags" configuration turns the "--follow-tags" option on by default for the "git push" command. - * "git log --graph --no-walk A B..." is a conflicting request that - asks nonsense; no-walk tells us show discrete points in the - history, while graph asks to draw connections between these - discrete points. Forbid the combination. + * "git log --graph --no-walk A B..." is a nonsensical combination of + options: "--no-walk" requests discrete points in the history, while + "--graph" asks to draw connections between these discrete points. + Forbid the use of these options together. * "git rev-list --bisect --first-parent" does not work (yet) and can - even cause SEGV; forbid it. "git log --bisect --first-parent" - would not be useful until "git bisect --first-parent" materializes, - so it is also forbidden for now. + even cause SEGV; forbid it. "git log --bisect --first-parent" would + not be useful until "git bisect --first-parent" materializes, so + also forbid it for now. Performance, Internal Implementation, Development Support etc. - * Implementation of N_() macro has been updated slightly to help us + * Slightly change the implementation of the N_() macro to help us detect mistakes. - * Implementation of "reflog expire" has been restructured to fit the - reflogs better with the recently updated ref API. + * Restructure the implementation of "reflog expire" to fit better + with the recently updated reference API. - * The transport-helper did not give transport options such as + * The transport-helper did not pass transport options such as verbosity, progress, cloning, etc. to import and export based helpers, like it did for fetch and push based helpers, robbing them - the chance to honor the wish of the end-users better. - - * The tests that wanted to see that file becomes unreadable after - running "chmod a-r file", and the tests that wanted to make sure it - is not run as root, we used "can we write into the / directory?" as - a cheap substitute, but on some platforms that is not a good - heuristics. The tests and their prerequisites have been updated to - check what they really require. + of the chance to honor the wish of the end-users better. + + * The tests that wanted to see that a file becomes unreadable after + running "chmod a-r file", and the tests that wanted to make sure + that they are not run as root, used "can we write into the / + directory?" as a cheap substitute. But on some platforms that is + not a good heuristic. The tests and their prerequisites have been + updated to check what they really require. (merge f400e51 jk/sanity later to maint). * Various issues around "reflog expire", e.g. using --updateref when expiring a reflog for a symbolic reference, have been corrected and/or made saner. - * The strbuf API was explained between the API documentation and in - the header file. Move missing bits to strbuf.h so that programmers - can check only one place for all necessary information. + * The documentation for the strbuf API had been split between the API + documentation and the header file. Consolidate the documentation in + strbuf.h. * The error handling functions and conventions are now documented in - the API manual. + the API manual (in api-error-handling.txt). - * Optimize attribute look-up, mostly useful in "git grep" on a + * Optimize gitattribute look-up, mostly useful in "git grep" on a project that does not use many attributes, by avoiding it when we (should) know that the attributes are not defined in the first place. @@ -170,26 +177,25 @@ Performance, Internal Implementation, Development Support etc. (merge 0b868f0 sb/hex-object-name-is-at-most-41-bytes-long later to maint). (merge 5d30851 dp/remove-duplicated-header-inclusion later to maint). - * Simplify the ref transaction API around how "the ref should be - pointing at this object" is specified. + * Simplify the ref transaction API for verifying that "the ref should + be pointing at this object". - * Code in "git daemon" to parse out and hold hostnames used in - request interpolation has been simplified. + * Simplify the code in "git daemon" that parses out and holds + hostnames used in request interpolation. - * "git push" codepath has been restructured to make it easier to add - new configuration bits. + * Restructure the "git push" codepath to make it easier to add new + configuration bits. - * The run-command interface was easy to abuse and make a pipe for us - to read from the process, wait for the process to finish and then - attempt to read its output, which is a pattern that lead to a - deadlock. Fix such uses by introducing a helper to do this - correctly (i.e. we need to read first and then wait the process to - finish) and also add code to prevent such abuse in the run-command - helper. + * The run-command interface made it easy to make a pipe for us to + read from a process, wait for the process to finish, and then + attempt to read its output. But this pattern can lead to deadlock. + So introduce a helper to do this correctly (i.e., first read, and + then wait the process to finish) and also add code to prevent such + abuse in the run-command helper. * People often forget to chain the commands in their test together - with &&, leaving a failure from an earlier command in the test go - unnoticed. The new GIT_TEST_CHAIN_LINT mechanism allows you to + with &&, letting a failure from an earlier command in the test go + unnoticed. The new GIT_TEST_CHAIN_LINT mechanism allows you to catch such a mistake more easily. @@ -208,33 +214,34 @@ notes for details). (merge a46442f jk/blame-commit-label later to maint). * "git rerere" (invoked internally from many mergy operations) did - not correctly signal errors when told to update the working tree - files and failed to do so for whatever reason. + not correctly signal errors when it attempted to update the working + tree files but failed for whatever reason. (merge 89ea903 jn/rerere-fail-on-auto-update-failure later to maint). * Setting diff.submodule to 'log' made "git format-patch" produce broken patches. (merge 339de50 dk/format-patch-ignore-diff-submodule later to maint). - * After attempting and failing a password-less authentication - (e.g. Kerberos), libcURL refuses to fall back to password based - Basic authentication without a bit of help/encouragement. + * After attempting and failing a password-less authentication (e.g., + Kerberos), libcURL refuses to fall back to password-based Basic + authentication without a bit of help/encouragement. (merge 4dbe664 bc/http-fallback-to-password-after-krb-fails later to maint). - * The "git push" documentation made the "--repo=" option + * The "git push" documentation for the "--repo=" option was easily misunderstood. (merge 57b92a7 mg/push-repo-option-doc later to maint). - * Code to read branch name from various files in .git/ directory - would have misbehaved if the code to write them left an empty file. + * Code to read a branch name from various files in the .git/ + directory would have overrun array limits if asked to read an empty + file. (merge 66ec904 jk/status-read-branch-name-fix later to maint). - * A misspelled conditional that is always true has been fixed. + * Remove a superfluous conditional that is always true. (merge 94ee8e2 jk/remote-curl-an-array-in-struct-cannot-be-null later to maint). - * The documentation incorrectly said that C(opy) and R(ename) are the - only ones that can be followed by the score number in the output in - the --raw format. + * The "git diff --raw" documentation incorrectly implied that C(opy) + and R(ename) are the only statuses that can be followed by a score + number. (merge ac1c2d9 jc/diff-format-doc later to maint). * A broken pack .idx file in the receiving repository prevented the @@ -251,34 +258,44 @@ notes for details). to the "log" command. (merge 3cab02d jc/doc-log-rev-list-options later to maint). - * "git apply --whitespace=fix" used to under-allocate the memory when - the fix resulted in a longer text than the original patch. + * "git apply --whitespace=fix" used to under-allocate memory when the + fix resulted in a longer text than the original patch. (merge 407a792 jc/apply-ws-fix-expands later to maint). * The interactive "show a list and let the user choose from it" - interface "add -i" used showed and prompted to the user even when - the candidate list was empty, against which the only "choice" the - user could have made was to choose nothing. + interface used by "git add -i" unnecessarily prompted the user even + when the candidate list was empty, against which the only "choice" + the user could have made was to choose nothing. (merge a9c4641 ak/add-i-empty-candidates later to maint). - * The insn sheet "git rebase -i" creates did not fully honor + * The todo list created by "git rebase -i" did not fully honor core.abbrev settings. (merge edb72d5 ks/rebase-i-abbrev later to maint). - * "git fetch" over a remote-helper that cannot respond to "list" - command could not fetch from a symbolic reference e.g. HEAD. + * "git fetch" over a remote-helper that cannot respond to the "list" + command could not fetch from a symbolic reference (e.g., HEAD). (merge 33cae54 mh/deref-symref-over-helper-transport later to maint). * "git push --signed" gave an incorrectly worded error message when the other side did not support the capability. - (merge 45917f0 jc/push-cert later to maint). - * We didn't format an integer that wouldn't fit in "int" but in - "uintmax_t" correctly. + * The "git push --signed" protocol extension did not limit what the + "nonce" (a server-chosen string) could contain nor how long it + could be, which was unnecessarily lax. Limit both the length and + the alphabet to a reasonably small space that can still have enough + entropy. + (merge afcb6ee jc/push-cert later to maint). + + * The completion script (in contrib/) clobbered the shell variable $x + in the global shell namespace. + (merge 852ff1c ma/bash-completion-leaking-x later to maint). + + * We incorrectly formatted a "uintmax_t" integer that doesn't fit in + "int". (merge d306f3d jk/decimal-width-for-uintmax later to maint). - * Reading configuration from a blob object, when it ends with a lone - CR, use to confuse the configuration parser. + * The configuration parser used to be confused when reading + configuration from a blob object that ends with a lone CR. (merge 1d0655c jk/config-no-ungetc-eof later to maint). * The pack bitmap support did not build with older versions of GCC. @@ -294,15 +311,21 @@ notes for details). (merge 1f985d6 ch/new-gpg-drops-rfc-1991 later to maint). * The credential helper for Windows (in contrib/) used to mishandle - a user name with an at-sign in it. + user names that contain an at-sign. (merge 13d261e av/wincred-with-at-in-username-fix later to maint). - * Longstanding configuration variable naming rules has been added to - the documentation. + * "diff-highlight" (in contrib/) used to show byte-by-byte + differences, which could cause multi-byte characters to be chopped + in the middle. It learned to pay attention to character boundaries + (assuming UTF-8). + (merge 8d00662 jk/colors later to maint). + + * Document longstanding configuration variable naming rules in + CodingGuidelines. (merge 35840a3 jc/conf-var-doc later to maint). * An earlier workaround to squelch unhelpful deprecation warnings - from the compiler on Mac OSX unnecessarily set minimum required + from the compiler on OS X unnecessarily set a minimum required version of the OS, which the user might want to raise (or lower) for other reasons. (merge 88c03eb es/squelch-openssl-warnings-on-macosx later to maint). @@ -319,33 +342,36 @@ notes for details). "path/to/submodule". (merge 8196e72 ps/submodule-sanitize-path-upon-add later to maint). - * "git merge-file" did not work correctly in a subdirectory. + * "git merge-file" did not work correctly when invoked in a + subdirectory. (merge 204a8ff ab/merge-file-prefix later to maint). - * "git blame" died, trying to free an uninitialized piece of memory. + * "git blame" could die trying to free an uninitialized piece of + memory. (merge e600592 es/blame-commit-info-fix later to maint). * "git fast-import" used to crash when it could not close and - conclude the resulting packfile cleanly. + finalize the resulting packfile cleanly. (merge 5e915f3 jk/fast-import-die-nicely-fix later to maint). - * "update-index --refresh" used to leak when an entry cannot be - refreshed for whatever reason. + * "update-index --refresh" used to leak memory when an entry could + not be refreshed for whatever reason. (merge bc1c2ca sb/plug-leak-in-make-cache-entry later to maint). * The "interpolated-path" option of "git daemon" inserted any string - client declared on the "host=" capability request without checking. - Sanitize and limit %H and %CH to a saner and a valid DNS name. + the client declared on the "host=" capability request without + checking. Sanitize and limit %H and %CH to a saner and a valid DNS + name. (merge b485373 jk/daemon-interpolate later to maint). - * "git daemon" looked up the hostname even when "%CH" and "%IP" - interpolations are not requested, which was unnecessary. + * "git daemon" unnecessarily looked up the hostname even when "%CH" + and "%IP" interpolations were not requested. (merge dc8edc8 rs/daemon-interpolate later to maint). - * Even though we officially haven't dropped Perl 5.8 support, the - Getopt::Long package that came with it does not support "--no-" - prefix to negate a boolean option; manually add support to help - people with older Getopt::Long package. + * We relied on "--no-" prefix handling in Perl's Getopt::Long + package, even though that support didn't exist in Perl 5.8 (which + we still support). Manually add support to help people with older + Getopt::Long packages. (merge f471494 km/send-email-getopt-long-workarounds later to maint). * "git apply" was not very careful about reading from, removing, @@ -354,14 +380,14 @@ notes for details). replacement for GNU patch). (merge e0d201b jc/apply-beyond-symlink later to maint). - * A breakage to git-svn around v2.2 era that triggers premature - closing of FileHandle has been corrected. + * Correct a breakage in git-svn, introduced around the v2.2 era, that + can cause FileHandles to be closed prematurely. (merge e426311 ew/svn-maint-fixes later to maint). - * We did not parse username followed by literal IPv6 address in SSH - transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git - correctly. - (merge 3f55cca tb/connect-ipv6-parse-fix later to maint). + * We did not parse usernames followed by literal IPv6 addresses + correctly in SSH transport URLs; e.g., + ssh://user@[2001:db8::1]:22/repo.git. + (merge 6b6c5f7 tb/connect-ipv6-parse-fix later to maint). * The configuration variable 'mailinfo.scissors' was hard to discover in the documentation. @@ -371,28 +397,26 @@ notes for details). submodule.*.update configuration was not clearly documented. (merge 5c31acf ms/submodule-update-config-doc later to maint). - * "git diff --shortstat --dirstat=changes" showed a dirstat based on - lines that was never asked by the end user in addition to the - dirstat that the user asked for. + * "git diff --shortstat" used together with "--dirstat=changes" or + "--dirstat=files" incorrectly output dirstat information twice. (merge ab27389 mk/diff-shortstat-dirstat-fix later to maint). - * "git remote add" mentioned "--tags" and "--no-tags" and was not - clear that fetch from the remote in the future will use the default - behaviour when neither is given to override it. + * The manpage for "git remote add" mentioned "--tags" and "--no-tags" + but did not explain what happens if neither option is provided. (merge aaba0ab mg/doc-remote-tags-or-not later to maint). - * Description given by "grep -h" for its --exclude-standard option - was phrased poorly. + * The description of "--exclude-standard option" in the output of + "git grep -h" was phrased poorly. (merge 77fdb8a nd/grep-exclude-standard-help-fix later to maint). - * "git rebase -i" recently started to include the number of - commits in the insn sheet to be processed, but on a platform - that prepends leading whitespaces to "wc -l" output, the numbers - are shown with extra whitespaces that aren't necessary. + * "git rebase -i" recently started to include the number of commits + in the todo list, but that output included extraneous whitespace on + a platform that prepends leading whitespaces to its "wc -l" output. (merge 2185d3b es/rebase-i-count-todo later to maint). - * The borrowed code in kwset API did not follow our usual convention - to use "unsigned char" to store values that range from 0-255. + * The borrowed code in the kwset API did not follow our usual + convention to use "unsigned char" to store values that range from + 0-255. (merge 189c860 bw/kwset-use-unsigned later to maint). * A corrupt input to "git diff -M" used to cause it to segfault. @@ -402,9 +426,8 @@ notes for details). (merge 3f88c1b mg/verify-commit later to maint). * "git imap-send" learned to optionally talk with an IMAP server via - libcURL; because there is no other option when Git is built with - NO_OPENSSL option, use that codepath by default under such - configuration. + libcURL. Because there is no other option when Git is built with + the NO_OPENSSL option, use libcURL by default in that case. (merge dcd01ea km/imap-send-libcurl-options later to maint). * "git log --decorate" did not reset colors correctly around the @@ -420,41 +443,47 @@ notes for details). transport. (merge 8ddf3ca jk/smart-http-hide-refs later to maint). - * "git tag -h" used to show the "--column" and "--sort" options - that are about listing in a wrong section. + * In the "git tag -h" output, move the documentation for the + "--column" and "--sort" options to the "Tag listing options" + section. (merge dd059c6 jk/tag-h-column-is-a-listing-option later to maint). * "git prune" used to largely ignore broken refs when deciding which - objects are still being used, which could spread an existing small - damage and make it a larger one. + objects are still being used, which could cause reference + corruption to lead to object loss. (merge ea56c4e jk/prune-with-corrupt-refs later to maint). - * The split-index mode introduced at v2.3.0-rc0~41 was broken in the + * The split-index mode introduced in v2.3.0-rc0~41 was broken in the codepath to protect us against a broken reimplementation of Git that writes an invalid index with duplicated index entries, etc. (merge 03f15a7 tg/fix-check-order-with-split-index later to maint). - * "git fetch" that fetches a commit using the allow-tip-sha1-in-want - extension could have failed to fetch all the requested refs. + * "git fetch", when fetching a commit using the + allow-tip-sha1-in-want extension, could have failed to fetch all of + the requested refs. (merge 32d0462 jk/fetch-pack later to maint). * An failure early in the "git clone" that started creating the - working tree and repository could have resulted in some directories - and files left without getting cleaned up. + working tree and repository could have resulted in the failure to + clean up some directories and files. (merge 16eff6c jk/cleanup-failed-clone later to maint). * Recommend format-patch and send-email for those who want to submit patches to this project. (merge b25c469 jc/submitting-patches-mention-send-email later to maint). - * Even though "git grep --quiet" is run merely to ask for the exit - status, we spawned the pager regardless. Stop doing that. + * Do not spawn the pager when "git grep" is run with "--quiet". (merge c2048f0 ws/grep-quiet-no-pager later to maint). * The prompt script (in contrib/) did not show the untracked sign when working in a subdirectory without any untracked files. (merge 9bdc517 ct/prompt-untracked-fix later to maint). + * An earlier update to the URL parser broke an address that contains + a colon but an empty string for the port number, like + ssh://example.com:/path/to/repo. + (merge 6b6c5f7 tb/connect-ipv6-parse-fix later to maint). + * Code cleanups and documentation updates. (merge 2ce63e9 rs/simple-cleanups later to maint). (merge 33baa69 rj/no-xopen-source-for-cygwin later to maint). @@ -473,4 +502,13 @@ notes for details). (merge 260d585 sg/completion-gitcomp-nl-for-refs later to maint). (merge 777c55a jc/report-path-error-to-dir later to maint). (merge fddfaf8 ph/push-doc-cas later to maint). - (merge 129260c ss/pull-rebase-preserve later to maint). + (merge d50d31e ss/pull-rebase-preserve later to maint). + (merge c8c3f1d pt/enter-repo-comment-fix later to maint). + (merge d7bfb9e jz/gitweb-conf-doc-fix later to maint). + (merge f907282 jk/cherry-pick-docfix later to maint). + (merge d3c0811 iu/fix-parse-options-h-comment later to maint). + (merge 6c3b2af jg/cguide-we-cannot-count later to maint). + (merge 2b8bd44 jk/pack-corruption-post-mortem later to maint). + (merge 9585cb8 jn/doc-fast-import-no-16-octopus-limit later to maint). + (merge 5dcd1b1 ps/grep-help-all-callback-arg later to maint). + (merge f1f4c84 va/fix-git-p4-tests later to maint). diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt index 1c03c792b0..1147c71da6 100644 --- a/Documentation/git-cherry-pick.txt +++ b/Documentation/git-cherry-pick.txt @@ -131,7 +131,8 @@ effect to your index in a row. --keep-redundant-commits:: If a commit being cherry picked duplicates a commit already in the current history, it will become empty. By default these - redundant commits are ignored. This option overrides that behavior and + redundant commits cause `cherry-pick` to stop so the user can + examine the commit. This option overrides that behavior and creates an empty commit object. Implies `--allow-empty`. --strategy=:: diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index f71fb0134b..690fed3ea4 100644 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.txt @@ -507,10 +507,6 @@ omitted when creating a new branch, the first `merge` commit will be the first ancestor of the current commit, and the branch will start out with no files. An unlimited number of `merge` commands per commit are permitted by fast-import, thereby establishing an n-way merge. -However Git's other tools never create commits with more than 15 -additional ancestors (forming a 16-way merge). For this reason -it is suggested that frontends do not use more than 15 `merge` -commands per commit; 16, if starting a new, empty branch. Here `` is any of the commit specification expressions also accepted by `from` (see above). diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index b3319f7c2a..5221f950ce 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.txt @@ -41,6 +41,14 @@ OPTIONS --long:: Give the output in the long-format. This is the default. +-v:: +--verbose:: + In addition to the names of files that have been changed, also + show the textual changes that are staged to be committed + (i.e., like the output of `git diff --cached`). If `-v` is specified + twice, then also show the changes in the working tree that + have not yet been staged (i.e., like the output of `git diff`). + -u[]:: --untracked-files[=]:: Show untracked files. diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt index bfba4ef078..f5b267e1e3 100644 --- a/Documentation/git-tag.txt +++ b/Documentation/git-tag.txt @@ -98,10 +98,13 @@ OPTIONS --sort=:: Sort in a specific order. Supported type is "refname" (lexicographic order), "version:refname" or "v:refname" (tag - names are treated as versions). Prepend "-" to reverse sort - order. When this option is not given, the sort order defaults to the - value configured for the 'tag.sort' variable if it exists, or - lexicographic order otherwise. See linkgit:git-config[1]. + names are treated as versions). The "version:refname" sort + order can also be affected by the + "versionsort.prereleaseSuffix" configuration variable. Prepend + "-" to reverse sort order. When this option is not given, the + sort order defaults to the value configured for the 'tag.sort' + variable if it exists, or lexicographic order otherwise. See + linkgit:git-config[1]. --column[=]:: --no-column:: diff --git a/Documentation/git.txt b/Documentation/git.txt index 59e8335055..c71e818cf4 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -43,9 +43,16 @@ unreleased) version of Git, that is available from the 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v2.3.5/git.html[documentation for release 2.3.5] +* link:v2.4.0/git.html[documentation for release 2.4] * release notes for + link:RelNotes/2.4.0.txt[2.4]. + +* link:v2.3.7/git.html[documentation for release 2.3.7] + +* release notes for + link:RelNotes/2.3.7.txt[2.3.7], + link:RelNotes/2.3.6.txt[2.3.6], link:RelNotes/2.3.5.txt[2.3.5], link:RelNotes/2.3.4.txt[2.3.4], link:RelNotes/2.3.3.txt[2.3.3], diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt index 0506f07d74..a096e7ddf7 100644 --- a/Documentation/gitweb.conf.txt +++ b/Documentation/gitweb.conf.txt @@ -482,7 +482,7 @@ project config. Per-repository configuration takes precedence over value composed from `@git_base_url_list` elements and project name. + You can setup one single value (single entry/item in this list) at build -time by setting the `GITWEB_BASE_URL` built-time configuration variable. +time by setting the `GITWEB_BASE_URL` build-time configuration variable. By default it is set to (), i.e. an empty list. This means that gitweb would not try to create project URL (to fetch) from project name. diff --git a/Documentation/howto/recover-corrupted-object-harder.txt b/Documentation/howto/recover-corrupted-object-harder.txt index 23e685d8ca..9c4cd0915f 100644 --- a/Documentation/howto/recover-corrupted-object-harder.txt +++ b/Documentation/howto/recover-corrupted-object-harder.txt @@ -240,3 +240,240 @@ But more importantly, git's hashing and checksumming noticed a problem that easily could have gone undetected in another system. The result still compiled, but would have caused an interesting bug (that would have been blamed on some random commit). + + +The adventure continues... +-------------------------- + +I ended up doing this again! Same entity, new hardware. The assumption +at this point is that the old disk corrupted the packfile, and then the +corruption was migrated to the new hardware (because it was done by +rsync or similar, and no fsck was done at the time of migration). + +This time, the affected blob was over 20 megabytes, which was far too +large to do a brute-force on. I followed the instructions above to +create the `zlib` file. I then used the `inflate` program below to pull +the corrupted data from that. Examining that output gave me a hint about +where in the file the corruption was. But now I was working with the +file itself, not the zlib contents. So knowing the sha1 of the object +and the approximate area of the corruption, I used the `sha1-munge` +program below to brute-force the correct byte. + +Here's the inflate program (it's essentially `gunzip` but without the +`.gz` header processing): + +-------------------------- +#include +#include +#include +#include + +int main(int argc, char **argv) +{ + /* + * oversized so we can read the whole buffer in; + * this could actually be switched to streaming + * to avoid any memory limitations + */ + static unsigned char buf[25 * 1024 * 1024]; + static unsigned char out[25 * 1024 * 1024]; + int len; + z_stream z; + int ret; + + len = read(0, buf, sizeof(buf)); + memset(&z, 0, sizeof(z)); + inflateInit(&z); + + z.next_in = buf; + z.avail_in = len; + z.next_out = out; + z.avail_out = sizeof(out); + + ret = inflate(&z, 0); + if (ret != Z_OK && ret != Z_STREAM_END) + fprintf(stderr, "initial inflate failed (%d)\n", ret); + + fprintf(stderr, "outputting %lu bytes", z.total_out); + fwrite(out, 1, z.total_out, stdout); + return 0; +} +-------------------------- + +And here is the `sha1-munge` program: + +-------------------------- +#include +#include +#include +#include +#include +#include + +/* eye candy */ +static int counter = 0; +static void progress(int sig) +{ + fprintf(stderr, "\r%d", counter); + alarm(1); +} + +static const signed char hexval_table[256] = { + -1, -1, -1, -1, -1, -1, -1, -1, /* 00-07 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 08-0f */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 10-17 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 18-1f */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 20-27 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 28-2f */ + 0, 1, 2, 3, 4, 5, 6, 7, /* 30-37 */ + 8, 9, -1, -1, -1, -1, -1, -1, /* 38-3f */ + -1, 10, 11, 12, 13, 14, 15, -1, /* 40-47 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 48-4f */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 50-57 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 58-5f */ + -1, 10, 11, 12, 13, 14, 15, -1, /* 60-67 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 68-67 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 70-77 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 78-7f */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 80-87 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 88-8f */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 90-97 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 98-9f */ + -1, -1, -1, -1, -1, -1, -1, -1, /* a0-a7 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* a8-af */ + -1, -1, -1, -1, -1, -1, -1, -1, /* b0-b7 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* b8-bf */ + -1, -1, -1, -1, -1, -1, -1, -1, /* c0-c7 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* c8-cf */ + -1, -1, -1, -1, -1, -1, -1, -1, /* d0-d7 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* d8-df */ + -1, -1, -1, -1, -1, -1, -1, -1, /* e0-e7 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* e8-ef */ + -1, -1, -1, -1, -1, -1, -1, -1, /* f0-f7 */ + -1, -1, -1, -1, -1, -1, -1, -1, /* f8-ff */ +}; + +static inline unsigned int hexval(unsigned char c) +{ +return hexval_table[c]; +} + +static int get_sha1_hex(const char *hex, unsigned char *sha1) +{ + int i; + for (i = 0; i < 20; i++) { + unsigned int val; + /* + * hex[1]=='\0' is caught when val is checked below, + * but if hex[0] is NUL we have to avoid reading + * past the end of the string: + */ + if (!hex[0]) + return -1; + val = (hexval(hex[0]) << 4) | hexval(hex[1]); + if (val & ~0xff) + return -1; + *sha1++ = val; + hex += 2; + } + return 0; +} + +int main(int argc, char **argv) +{ + /* oversized so we can read the whole buffer in */ + static unsigned char buf[25 * 1024 * 1024]; + char header[32]; + int header_len; + unsigned char have[20], want[20]; + int start, len; + SHA_CTX orig; + unsigned i, j; + + if (!argv[1] || get_sha1_hex(argv[1], want)) { + fprintf(stderr, "usage: sha1-munge [start] stage = stage; c->bottom = d; d->len = sprintf(d->path, "%.*s%s/", (int)base->len, base->buf, filename); - hashcpy(d->sha1, sha1); + hashcpy(d->oid.hash, sha1); } static int write_directory(struct archiver_context *c) @@ -191,7 +191,7 @@ static int write_directory(struct archiver_context *c) d->path[d->len - 1] = '\0'; /* no trailing slash */ ret = write_directory(c) || - write_archive_entry(d->sha1, d->path, d->baselen, + write_archive_entry(d->oid.hash, d->path, d->baselen, d->path + d->baselen, d->mode, d->stage, c) != READ_TREE_RECURSIVE; free(d); @@ -354,7 +354,7 @@ static void parse_treeish_arg(const char **argv, time_t archive_time; struct tree *tree; const struct commit *commit; - unsigned char sha1[20]; + struct object_id oid; /* Remotes are only allowed to fetch actual refs */ if (remote && !remote_allow_unreachable) { @@ -362,15 +362,15 @@ static void parse_treeish_arg(const char **argv, const char *colon = strchrnul(name, ':'); int refnamelen = colon - name; - if (!dwim_ref(name, refnamelen, sha1, &ref)) + if (!dwim_ref(name, refnamelen, oid.hash, &ref)) die("no such ref: %.*s", refnamelen, name); free(ref); } - if (get_sha1(name, sha1)) + if (get_sha1(name, oid.hash)) die("Not a valid object name"); - commit = lookup_commit_reference_gently(sha1, 1); + commit = lookup_commit_reference_gently(oid.hash, 1); if (commit) { commit_sha1 = commit->object.sha1; archive_time = commit->date; @@ -379,21 +379,21 @@ static void parse_treeish_arg(const char **argv, archive_time = time(NULL); } - tree = parse_tree_indirect(sha1); + tree = parse_tree_indirect(oid.hash); if (tree == NULL) die("not a tree object"); if (prefix) { - unsigned char tree_sha1[20]; + struct object_id tree_oid; unsigned int mode; int err; err = get_tree_entry(tree->object.sha1, prefix, - tree_sha1, &mode); + tree_oid.hash, &mode); if (err || !S_ISDIR(mode)) die("current working directory is untracked"); - tree = parse_tree_indirect(tree_sha1); + tree = parse_tree_indirect(tree_oid.hash); } ar_args->tree = tree; ar_args->commit_sha1 = commit_sha1; diff --git a/bisect.c b/bisect.c index 8c6d843699..10f5e57ef3 100644 --- a/bisect.c +++ b/bisect.c @@ -15,7 +15,7 @@ static struct sha1_array good_revs; static struct sha1_array skipped_revs; -static unsigned char *current_bad_sha1; +static struct object_id *current_bad_oid; static const char *argv_checkout[] = {"checkout", "-q", NULL, "--", NULL}; static const char *argv_show_branch[] = {"show-branch", NULL, NULL}; @@ -404,8 +404,8 @@ static int register_ref(const char *refname, const unsigned char *sha1, int flags, void *cb_data) { if (!strcmp(refname, "bad")) { - current_bad_sha1 = xmalloc(20); - hashcpy(current_bad_sha1, sha1); + current_bad_oid = xmalloc(sizeof(*current_bad_oid)); + hashcpy(current_bad_oid->hash, sha1); } else if (starts_with(refname, "good-")) { sha1_array_append(&good_revs, sha1); } else if (starts_with(refname, "skip-")) { @@ -564,7 +564,7 @@ static struct commit_list *skip_away(struct commit_list *list, int count) for (i = 0; cur; cur = cur->next, i++) { if (i == index) { - if (hashcmp(cur->item->object.sha1, current_bad_sha1)) + if (hashcmp(cur->item->object.sha1, current_bad_oid->hash)) return cur; if (previous) return previous; @@ -607,7 +607,7 @@ static void bisect_rev_setup(struct rev_info *revs, const char *prefix, /* rev_argv.argv[0] will be ignored by setup_revisions */ argv_array_push(&rev_argv, "bisect_rev_setup"); - argv_array_pushf(&rev_argv, bad_format, sha1_to_hex(current_bad_sha1)); + argv_array_pushf(&rev_argv, bad_format, oid_to_hex(current_bad_oid)); for (i = 0; i < good_revs.nr; i++) argv_array_pushf(&rev_argv, good_format, sha1_to_hex(good_revs.sha1[i])); @@ -628,7 +628,7 @@ static void bisect_common(struct rev_info *revs) } static void exit_if_skipped_commits(struct commit_list *tried, - const unsigned char *bad) + const struct object_id *bad) { if (!tried) return; @@ -637,12 +637,12 @@ static void exit_if_skipped_commits(struct commit_list *tried, "The first bad commit could be any of:\n"); print_commit_list(tried, "%s\n", "%s\n"); if (bad) - printf("%s\n", sha1_to_hex(bad)); + printf("%s\n", oid_to_hex(bad)); printf("We cannot bisect more!\n"); exit(2); } -static int is_expected_rev(const unsigned char *sha1) +static int is_expected_rev(const struct object_id *oid) { const char *filename = git_path("BISECT_EXPECTED_REV"); struct stat st; @@ -658,7 +658,7 @@ static int is_expected_rev(const unsigned char *sha1) return 0; if (strbuf_getline(&str, fp, '\n') != EOF) - res = !strcmp(str.buf, sha1_to_hex(sha1)); + res = !strcmp(str.buf, oid_to_hex(oid)); strbuf_release(&str); fclose(fp); @@ -719,7 +719,7 @@ static struct commit **get_bad_and_good_commits(int *rev_nr) struct commit **rev = xmalloc(len * sizeof(*rev)); int i, n = 0; - rev[n++] = get_commit_reference(current_bad_sha1); + rev[n++] = get_commit_reference(current_bad_oid->hash); for (i = 0; i < good_revs.nr; i++) rev[n++] = get_commit_reference(good_revs.sha1[i]); *rev_nr = n; @@ -729,8 +729,8 @@ static struct commit **get_bad_and_good_commits(int *rev_nr) static void handle_bad_merge_base(void) { - if (is_expected_rev(current_bad_sha1)) { - char *bad_hex = sha1_to_hex(current_bad_sha1); + if (is_expected_rev(current_bad_oid)) { + char *bad_hex = oid_to_hex(current_bad_oid); char *good_hex = join_sha1_array_hex(&good_revs, ' '); fprintf(stderr, "The merge base %s is bad.\n" @@ -750,7 +750,7 @@ static void handle_bad_merge_base(void) static void handle_skipped_merge_base(const unsigned char *mb) { char *mb_hex = sha1_to_hex(mb); - char *bad_hex = sha1_to_hex(current_bad_sha1); + char *bad_hex = sha1_to_hex(current_bad_oid->hash); char *good_hex = join_sha1_array_hex(&good_revs, ' '); warning("the merge base between %s and [%s] " @@ -781,7 +781,7 @@ static void check_merge_bases(int no_checkout) for (; result; result = result->next) { const unsigned char *mb = result->item->object.sha1; - if (!hashcmp(mb, current_bad_sha1)) { + if (!hashcmp(mb, current_bad_oid->hash)) { handle_bad_merge_base(); } else if (0 <= sha1_array_lookup(&good_revs, mb)) { continue; @@ -838,7 +838,7 @@ static void check_good_are_ancestors_of_bad(const char *prefix, int no_checkout) struct stat st; int fd; - if (!current_bad_sha1) + if (!current_bad_oid) die("a bad revision is needed"); /* Check if file BISECT_ANCESTORS_OK exists. */ @@ -903,7 +903,7 @@ int bisect_next_all(const char *prefix, int no_checkout) struct commit_list *tried; int reaches = 0, all = 0, nr, steps; const unsigned char *bisect_rev; - char bisect_rev_hex[41]; + char bisect_rev_hex[GIT_SHA1_HEXSZ + 1]; if (read_bisect_refs()) die("reading bisect refs failed"); @@ -927,7 +927,7 @@ int bisect_next_all(const char *prefix, int no_checkout) exit_if_skipped_commits(tried, NULL); printf("%s was both good and bad\n", - sha1_to_hex(current_bad_sha1)); + oid_to_hex(current_bad_oid)); exit(1); } @@ -938,10 +938,10 @@ int bisect_next_all(const char *prefix, int no_checkout) } bisect_rev = revs.commits->item->object.sha1; - memcpy(bisect_rev_hex, sha1_to_hex(bisect_rev), 41); + memcpy(bisect_rev_hex, sha1_to_hex(bisect_rev), GIT_SHA1_HEXSZ + 1); - if (!hashcmp(bisect_rev, current_bad_sha1)) { - exit_if_skipped_commits(tried, current_bad_sha1); + if (!hashcmp(bisect_rev, current_bad_oid->hash)) { + exit_if_skipped_commits(tried, current_bad_oid); printf("%s is the first bad commit\n", bisect_rev_hex); show_diff_tree(prefix, revs.commits->item); /* This means the bisection process succeeded. */ diff --git a/builtin/apply.c b/builtin/apply.c index 0769b09287..146be97a1a 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -208,7 +208,7 @@ struct patch { struct patch *next; /* three-way fallback result */ - unsigned char threeway_stage[3][20]; + struct object_id threeway_stage[3]; }; static void free_fragment_list(struct fragment *list) @@ -3426,11 +3426,11 @@ static int try_threeway(struct image *image, struct patch *patch, if (status) { patch->conflicted_threeway = 1; if (patch->is_new) - hashclr(patch->threeway_stage[0]); + oidclr(&patch->threeway_stage[0]); else - hashcpy(patch->threeway_stage[0], pre_sha1); - hashcpy(patch->threeway_stage[1], our_sha1); - hashcpy(patch->threeway_stage[2], post_sha1); + hashcpy(patch->threeway_stage[0].hash, pre_sha1); + hashcpy(patch->threeway_stage[1].hash, our_sha1); + hashcpy(patch->threeway_stage[2].hash, post_sha1); fprintf(stderr, "Applied patch to '%s' with conflicts.\n", patch->new_name); } else { fprintf(stderr, "Applied patch to '%s' cleanly.\n", patch->new_name); @@ -4186,14 +4186,14 @@ static void add_conflicted_stages_file(struct patch *patch) remove_file_from_cache(patch->new_name); for (stage = 1; stage < 4; stage++) { - if (is_null_sha1(patch->threeway_stage[stage - 1])) + if (is_null_oid(&patch->threeway_stage[stage - 1])) continue; ce = xcalloc(1, ce_size); memcpy(ce->name, patch->new_name, namelen); ce->ce_mode = create_ce_mode(mode); ce->ce_flags = create_ce_flags(stage); ce->ce_namelen = namelen; - hashcpy(ce->sha1, patch->threeway_stage[stage - 1]); + hashcpy(ce->sha1, patch->threeway_stage[stage - 1].hash); if (add_cache_entry(ce, ADD_CACHE_OK_TO_ADD) < 0) die(_("unable to add cache entry for %s"), patch->new_name); } diff --git a/builtin/checkout.c b/builtin/checkout.c index 3e141fc149..4aad49aaa1 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -743,10 +743,17 @@ static void suggest_reattach(struct commit *commit, struct rev_info *revs) if (advice_detached_head) fprintf(stderr, - _( + Q_( + /* The singular version */ + "If you want to keep it by creating a new branch, " + "this may be a good time\nto do so with:\n\n" + " git branch %s\n\n", + /* The plural version */ "If you want to keep them by creating a new branch, " "this may be a good time\nto do so with:\n\n" - " git branch %s\n\n"), + " git branch %s\n\n", + /* Give ngettext() the count */ + lost), find_unique_abbrev(commit->object.sha1, DEFAULT_ABBREV)); } diff --git a/builtin/grep.c b/builtin/grep.c index abc440023f..d04f4400d9 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -738,7 +738,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix) PARSE_OPT_OPTARG, NULL, (intptr_t)default_pager }, OPT_BOOL(0, "ext-grep", &external_grep_allowed__ignored, N_("allow calling of grep(1) (ignored by this build)")), - { OPTION_CALLBACK, 0, "help-all", &options, NULL, N_("show usage"), + { OPTION_CALLBACK, 0, "help-all", NULL, NULL, N_("show usage"), PARSE_OPT_HIDDEN | PARSE_OPT_NOARG, help_callback }, OPT_END() }; diff --git a/builtin/init-db.c b/builtin/init-db.c index 6723d39c3b..ab9f86b889 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -182,6 +182,20 @@ static int git_init_db_config(const char *k, const char *v, void *cb) return 0; } +/* + * If the git_dir is not directly inside the working tree, then git will not + * find it by default, and we need to set the worktree explicitly. + */ +static int needs_work_tree_config(const char *git_dir, const char *work_tree) +{ + if (!strcmp(work_tree, "/") && !strcmp(git_dir, "/.git")) + return 0; + if (skip_prefix(git_dir, work_tree, &git_dir) && + !strcmp(git_dir, "/.git")) + return 0; + return 1; +} + static int create_default_files(const char *template_path) { const char *git_dir = get_git_dir(); @@ -274,10 +288,8 @@ static int create_default_files(const char *template_path) /* allow template config file to override the default */ if (log_all_ref_updates == -1) git_config_set("core.logallrefupdates", "true"); - if (!starts_with(git_dir, work_tree) || - strcmp(git_dir + strlen(work_tree), "/.git")) { + if (needs_work_tree_config(git_dir, work_tree)) git_config_set("core.worktree", work_tree); - } } if (!reinit) { diff --git a/builtin/patch-id.c b/builtin/patch-id.c index 77db8739b5..ba34dac4d2 100644 --- a/builtin/patch-id.c +++ b/builtin/patch-id.c @@ -1,14 +1,14 @@ #include "builtin.h" -static void flush_current_id(int patchlen, unsigned char *id, unsigned char *result) +static void flush_current_id(int patchlen, struct object_id *id, struct object_id *result) { char name[50]; if (!patchlen) return; - memcpy(name, sha1_to_hex(id), 41); - printf("%s %s\n", sha1_to_hex(result), name); + memcpy(name, oid_to_hex(id), GIT_SHA1_HEXSZ + 1); + printf("%s %s\n", oid_to_hex(result), name); } static int remove_space(char *line) @@ -53,23 +53,23 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after) return 1; } -static void flush_one_hunk(unsigned char *result, git_SHA_CTX *ctx) +static void flush_one_hunk(struct object_id *result, git_SHA_CTX *ctx) { - unsigned char hash[20]; + unsigned char hash[GIT_SHA1_RAWSZ]; unsigned short carry = 0; int i; git_SHA1_Final(hash, ctx); git_SHA1_Init(ctx); /* 20-byte sum, with carry */ - for (i = 0; i < 20; ++i) { - carry += result[i] + hash[i]; - result[i] = carry; + for (i = 0; i < GIT_SHA1_RAWSZ; ++i) { + carry += result->hash[i] + hash[i]; + result->hash[i] = carry; carry >>= 8; } } -static int get_one_patchid(unsigned char *next_sha1, unsigned char *result, +static int get_one_patchid(struct object_id *next_oid, struct object_id *result, struct strbuf *line_buf, int stable) { int patchlen = 0, found_next = 0; @@ -77,7 +77,7 @@ static int get_one_patchid(unsigned char *next_sha1, unsigned char *result, git_SHA_CTX ctx; git_SHA1_Init(&ctx); - hashclr(result); + oidclr(result); while (strbuf_getwholeline(line_buf, stdin, '\n') != EOF) { char *line = line_buf->buf; @@ -93,7 +93,7 @@ static int get_one_patchid(unsigned char *next_sha1, unsigned char *result, else if (!memcmp(line, "\\ ", 2) && 12 < strlen(line)) continue; - if (!get_sha1_hex(p, next_sha1)) { + if (!get_oid_hex(p, next_oid)) { found_next = 1; break; } @@ -143,7 +143,7 @@ static int get_one_patchid(unsigned char *next_sha1, unsigned char *result, } if (!found_next) - hashclr(next_sha1); + oidclr(next_oid); flush_one_hunk(result, &ctx); @@ -152,15 +152,15 @@ static int get_one_patchid(unsigned char *next_sha1, unsigned char *result, static void generate_id_list(int stable) { - unsigned char sha1[20], n[20], result[20]; + struct object_id oid, n, result; int patchlen; struct strbuf line_buf = STRBUF_INIT; - hashclr(sha1); + oidclr(&oid); while (!feof(stdin)) { - patchlen = get_one_patchid(n, result, &line_buf, stable); - flush_current_id(patchlen, sha1, result); - hashcpy(sha1, n); + patchlen = get_one_patchid(&n, &result, &line_buf, stable); + flush_current_id(patchlen, &oid, &result); + oidcpy(&oid, &n); } strbuf_release(&line_buf); } diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 70e9ce5f96..5292bb5a50 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -743,6 +743,22 @@ static int update_shallow_ref(struct command *cmd, struct shallow_info *si) return 0; } +/* + * NEEDSWORK: we should consolidate various implementions of "are we + * on an unborn branch?" test into one, and make the unified one more + * robust. !get_sha1() based check used here and elsewhere would not + * allow us to tell an unborn branch from corrupt ref, for example. + * For the purpose of fixing "deploy-to-update does not work when + * pushing into an empty repository" issue, this should suffice for + * now. + */ +static int head_has_history(void) +{ + unsigned char sha1[20]; + + return !get_sha1("HEAD", sha1); +} + static const char *push_to_deploy(unsigned char *sha1, struct argv_array *env, const char *work_tree) @@ -755,7 +771,7 @@ static const char *push_to_deploy(unsigned char *sha1, }; const char *diff_index[] = { "diff-index", "--quiet", "--cached", "--ignore-submodules", - "HEAD", "--", NULL + NULL, "--", NULL }; const char *read_tree[] = { "read-tree", "-u", "-m", NULL, NULL @@ -782,6 +798,9 @@ static const char *push_to_deploy(unsigned char *sha1, if (run_command(&child)) return "Working directory has unstaged changes"; + /* diff-index with either HEAD or an empty tree */ + diff_index[4] = head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX; + child_process_init(&child); child.argv = diff_index; child.env = env->argv; diff --git a/builtin/show-branch.c b/builtin/show-branch.c index f3fb5fb2bf..e69fb7c489 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -718,7 +718,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) } /* If nothing is specified, show all branches by default */ - if (ac + all_heads + all_remotes == 0) + if (ac <= topics && all_heads + all_remotes == 0) all_heads = 1; if (reflog) { @@ -785,13 +785,13 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) } free(ref); } - else if (all_heads + all_remotes) - snarf_refs(all_heads, all_remotes); else { while (0 < ac) { append_one_rev(*av); ac--; av++; } + if (all_heads + all_remotes) + snarf_refs(all_heads, all_remotes); } head_p = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING, diff --git a/bulk-checkin.c b/bulk-checkin.c index 8d157eba45..7cffc3a579 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -24,7 +24,7 @@ static struct bulk_checkin_state { static void finish_bulk_checkin(struct bulk_checkin_state *state) { - unsigned char sha1[20]; + struct object_id oid; struct strbuf packname = STRBUF_INIT; int i; @@ -36,11 +36,11 @@ static void finish_bulk_checkin(struct bulk_checkin_state *state) unlink(state->pack_tmp_name); goto clear_exit; } else if (state->nr_written == 1) { - sha1close(state->f, sha1, CSUM_FSYNC); + sha1close(state->f, oid.hash, CSUM_FSYNC); } else { - int fd = sha1close(state->f, sha1, 0); - fixup_pack_header_footer(fd, sha1, state->pack_tmp_name, - state->nr_written, sha1, + int fd = sha1close(state->f, oid.hash, 0); + fixup_pack_header_footer(fd, oid.hash, state->pack_tmp_name, + state->nr_written, oid.hash, state->offset); close(fd); } @@ -48,7 +48,7 @@ static void finish_bulk_checkin(struct bulk_checkin_state *state) strbuf_addf(&packname, "%s/pack/pack-", get_object_directory()); finish_tmp_packfile(&packname, state->pack_tmp_name, state->written, state->nr_written, - &state->pack_idx_opts, sha1); + &state->pack_idx_opts, oid.hash); for (i = 0; i < state->nr_written; i++) free(state->written[i]); diff --git a/cache.h b/cache.h index 3d3244ba64..b320b1a94e 100644 --- a/cache.h +++ b/cache.h @@ -43,6 +43,14 @@ int git_deflate_end_gently(git_zstream *); int git_deflate(git_zstream *, int flush); unsigned long git_deflate_bound(git_zstream *, unsigned long); +/* The length in bytes and in hex digits of an object name (SHA-1 value). */ +#define GIT_SHA1_RAWSZ 20 +#define GIT_SHA1_HEXSZ (2 * GIT_SHA1_RAWSZ) + +struct object_id { + unsigned char hash[GIT_SHA1_RAWSZ]; +}; + #if defined(DT_UNKNOWN) && !defined(NO_D_TYPE_IN_DIRENT) #define DTYPE(de) ((de)->d_type) #else @@ -718,13 +726,13 @@ extern char *sha1_pack_name(const unsigned char *sha1); extern char *sha1_pack_index_name(const unsigned char *sha1); extern const char *find_unique_abbrev(const unsigned char *sha1, int); -extern const unsigned char null_sha1[20]; +extern const unsigned char null_sha1[GIT_SHA1_RAWSZ]; static inline int hashcmp(const unsigned char *sha1, const unsigned char *sha2) { int i; - for (i = 0; i < 20; i++, sha1++, sha2++) { + for (i = 0; i < GIT_SHA1_RAWSZ; i++, sha1++, sha2++) { if (*sha1 != *sha2) return *sha1 - *sha2; } @@ -732,20 +740,42 @@ static inline int hashcmp(const unsigned char *sha1, const unsigned char *sha2) return 0; } +static inline int oidcmp(const struct object_id *oid1, const struct object_id *oid2) +{ + return hashcmp(oid1->hash, oid2->hash); +} + static inline int is_null_sha1(const unsigned char *sha1) { return !hashcmp(sha1, null_sha1); } +static inline int is_null_oid(const struct object_id *oid) +{ + return !hashcmp(oid->hash, null_sha1); +} + static inline void hashcpy(unsigned char *sha_dst, const unsigned char *sha_src) { - memcpy(sha_dst, sha_src, 20); + memcpy(sha_dst, sha_src, GIT_SHA1_RAWSZ); } + +static inline void oidcpy(struct object_id *dst, const struct object_id *src) +{ + hashcpy(dst->hash, src->hash); +} + static inline void hashclr(unsigned char *hash) { - memset(hash, 0, 20); + memset(hash, 0, GIT_SHA1_RAWSZ); } +static inline void oidclr(struct object_id *oid) +{ + hashclr(oid->hash); +} + + #define EMPTY_TREE_SHA1_HEX \ "4b825dc642cb6eb9a060e54bf8d69288fbee4904" #define EMPTY_TREE_SHA1_BIN_LITERAL \ @@ -952,8 +982,10 @@ extern int for_each_abbrev(const char *prefix, each_abbrev_fn, void *); * null-terminated string. */ extern int get_sha1_hex(const char *hex, unsigned char *sha1); +extern int get_oid_hex(const char *hex, struct object_id *sha1); extern char *sha1_to_hex(const unsigned char *sha1); /* static buffer result! */ +extern char *oid_to_hex(const struct object_id *oid); /* same static buffer as sha1_to_hex */ extern int read_ref_full(const char *refname, int resolve_flags, unsigned char *sha1, int *flags); extern int read_ref(const char *refname, unsigned char *sha1); diff --git a/combine-diff.c b/combine-diff.c index 91edce58e1..8eb7278978 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -44,9 +44,9 @@ static struct combine_diff_path *intersect_paths(struct combine_diff_path *curr, memset(p->parent, 0, sizeof(p->parent[0]) * num_parent); - hashcpy(p->sha1, q->queue[i]->two->sha1); + hashcpy(p->oid.hash, q->queue[i]->two->sha1); p->mode = q->queue[i]->two->mode; - hashcpy(p->parent[n].sha1, q->queue[i]->one->sha1); + hashcpy(p->parent[n].oid.hash, q->queue[i]->one->sha1); p->parent[n].mode = q->queue[i]->one->mode; p->parent[n].status = q->queue[i]->status; *tail = p; @@ -77,7 +77,7 @@ static struct combine_diff_path *intersect_paths(struct combine_diff_path *curr, continue; } - hashcpy(p->parent[n].sha1, q->queue[i]->one->sha1); + hashcpy(p->parent[n].oid.hash, q->queue[i]->one->sha1); p->parent[n].mode = q->queue[i]->one->mode; p->parent[n].status = q->queue[i]->status; @@ -284,7 +284,7 @@ static struct lline *coalesce_lines(struct lline *base, int *lenbase, return base; } -static char *grab_blob(const unsigned char *sha1, unsigned int mode, +static char *grab_blob(const struct object_id *oid, unsigned int mode, unsigned long *size, struct userdiff_driver *textconv, const char *path) { @@ -294,20 +294,20 @@ static char *grab_blob(const unsigned char *sha1, unsigned int mode, if (S_ISGITLINK(mode)) { blob = xmalloc(100); *size = snprintf(blob, 100, - "Subproject commit %s\n", sha1_to_hex(sha1)); - } else if (is_null_sha1(sha1)) { + "Subproject commit %s\n", oid_to_hex(oid)); + } else if (is_null_oid(oid)) { /* deleted blob */ *size = 0; return xcalloc(1, 1); } else if (textconv) { struct diff_filespec *df = alloc_filespec(path); - fill_filespec(df, sha1, 1, mode); + fill_filespec(df, oid->hash, 1, mode); *size = fill_textconv(textconv, df, &blob); free_filespec(df); } else { - blob = read_sha1_file(sha1, &type, size); + blob = read_sha1_file(oid->hash, &type, size); if (type != OBJ_BLOB) - die("object '%s' is not a blob!", sha1_to_hex(sha1)); + die("object '%s' is not a blob!", oid_to_hex(oid)); } return blob; } @@ -389,7 +389,7 @@ static void consume_line(void *state_, char *line, unsigned long len) } } -static void combine_diff(const unsigned char *parent, unsigned int mode, +static void combine_diff(const struct object_id *parent, unsigned int mode, mmfile_t *result_file, struct sline *sline, unsigned int cnt, int n, int num_parent, int result_deleted, @@ -897,7 +897,7 @@ static void show_combined_header(struct combine_diff_path *elem, int show_file_header) { struct diff_options *opt = &rev->diffopt; - int abbrev = DIFF_OPT_TST(opt, FULL_INDEX) ? 40 : DEFAULT_ABBREV; + int abbrev = DIFF_OPT_TST(opt, FULL_INDEX) ? GIT_SHA1_HEXSZ : DEFAULT_ABBREV; const char *a_prefix = opt->a_prefix ? opt->a_prefix : "a/"; const char *b_prefix = opt->b_prefix ? opt->b_prefix : "b/"; const char *c_meta = diff_get_color_opt(opt, DIFF_METAINFO); @@ -914,11 +914,11 @@ static void show_combined_header(struct combine_diff_path *elem, "", elem->path, line_prefix, c_meta, c_reset); printf("%s%sindex ", line_prefix, c_meta); for (i = 0; i < num_parent; i++) { - abb = find_unique_abbrev(elem->parent[i].sha1, + abb = find_unique_abbrev(elem->parent[i].oid.hash, abbrev); printf("%s%s", i ? "," : "", abb); } - abb = find_unique_abbrev(elem->sha1, abbrev); + abb = find_unique_abbrev(elem->oid.hash, abbrev); printf("..%s%s\n", abb, c_reset); if (mode_differs) { @@ -991,7 +991,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, /* Read the result of merge first */ if (!working_tree_file) - result = grab_blob(elem->sha1, elem->mode, &result_size, + result = grab_blob(&elem->oid, elem->mode, &result_size, textconv, elem->path); else { /* Used by diff-tree to read from the working tree */ @@ -1013,12 +1013,12 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, result = strbuf_detach(&buf, NULL); elem->mode = canon_mode(st.st_mode); } else if (S_ISDIR(st.st_mode)) { - unsigned char sha1[20]; - if (resolve_gitlink_ref(elem->path, "HEAD", sha1) < 0) - result = grab_blob(elem->sha1, elem->mode, + struct object_id oid; + if (resolve_gitlink_ref(elem->path, "HEAD", oid.hash) < 0) + result = grab_blob(&elem->oid, elem->mode, &result_size, NULL, NULL); else - result = grab_blob(sha1, elem->mode, + result = grab_blob(&oid, elem->mode, &result_size, NULL, NULL); } else if (textconv) { struct diff_filespec *df = alloc_filespec(elem->path); @@ -1090,7 +1090,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, for (i = 0; !is_binary && i < num_parent; i++) { char *buf; unsigned long size; - buf = grab_blob(elem->parent[i].sha1, + buf = grab_blob(&elem->parent[i].oid, elem->parent[i].mode, &size, NULL, NULL); if (buffer_is_binary(buf, size)) @@ -1139,14 +1139,14 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, for (i = 0; i < num_parent; i++) { int j; for (j = 0; j < i; j++) { - if (!hashcmp(elem->parent[i].sha1, - elem->parent[j].sha1)) { + if (!oidcmp(&elem->parent[i].oid, + &elem->parent[j].oid)) { reuse_combine_diff(sline, cnt, i, j); break; } } if (i <= j) - combine_diff(elem->parent[i].sha1, + combine_diff(&elem->parent[i].oid, elem->parent[i].mode, &result_file, sline, cnt, i, num_parent, result_deleted, @@ -1206,9 +1206,9 @@ static void show_raw_diff(struct combine_diff_path *p, int num_parent, struct re /* Show sha1's */ for (i = 0; i < num_parent; i++) - printf(" %s", diff_unique_abbrev(p->parent[i].sha1, + printf(" %s", diff_unique_abbrev(p->parent[i].oid.hash, opt->abbrev)); - printf(" %s ", diff_unique_abbrev(p->sha1, opt->abbrev)); + printf(" %s ", diff_unique_abbrev(p->oid.hash, opt->abbrev)); } if (opt->output_format & (DIFF_FORMAT_RAW | DIFF_FORMAT_NAME_STATUS)) { @@ -1271,16 +1271,16 @@ static struct diff_filepair *combined_pair(struct combine_diff_path *p, for (i = 0; i < num_parent; i++) { pair->one[i].path = p->path; pair->one[i].mode = p->parent[i].mode; - hashcpy(pair->one[i].sha1, p->parent[i].sha1); - pair->one[i].sha1_valid = !is_null_sha1(p->parent[i].sha1); + hashcpy(pair->one[i].sha1, p->parent[i].oid.hash); + pair->one[i].sha1_valid = !is_null_oid(&p->parent[i].oid); pair->one[i].has_more_entries = 1; } pair->one[num_parent - 1].has_more_entries = 0; pair->two->path = p->path; pair->two->mode = p->mode; - hashcpy(pair->two->sha1, p->sha1); - pair->two->sha1_valid = !is_null_sha1(p->sha1); + hashcpy(pair->two->sha1, p->oid.hash); + pair->two->sha1_valid = !is_null_oid(&p->oid); return pair; } diff --git a/commit.c b/commit.c index a8c7577d28..2d9de807ae 100644 --- a/commit.c +++ b/commit.c @@ -55,12 +55,12 @@ struct commit *lookup_commit(const unsigned char *sha1) struct commit *lookup_commit_reference_by_name(const char *name) { - unsigned char sha1[20]; + struct object_id oid; struct commit *commit; - if (get_sha1_committish(name, sha1)) + if (get_sha1_committish(name, oid.hash)) return NULL; - commit = lookup_commit_reference(sha1); + commit = lookup_commit_reference(oid.hash); if (parse_commit(commit)) return NULL; return commit; @@ -99,7 +99,7 @@ static int commit_graft_alloc, commit_graft_nr; static const unsigned char *commit_graft_sha1_access(size_t index, void *table) { struct commit_graft **commit_graft_table = table; - return commit_graft_table[index]->sha1; + return commit_graft_table[index]->oid.hash; } static int commit_graft_pos(const unsigned char *sha1) @@ -110,7 +110,7 @@ static int commit_graft_pos(const unsigned char *sha1) int register_commit_graft(struct commit_graft *graft, int ignore_dups) { - int pos = commit_graft_pos(graft->sha1); + int pos = commit_graft_pos(graft->oid.hash); if (0 <= pos) { if (ignore_dups) @@ -138,22 +138,23 @@ struct commit_graft *read_graft_line(char *buf, int len) /* The format is just "Commit Parent1 Parent2 ...\n" */ int i; struct commit_graft *graft = NULL; + const int entry_size = GIT_SHA1_HEXSZ + 1; while (len && isspace(buf[len-1])) buf[--len] = '\0'; if (buf[0] == '#' || buf[0] == '\0') return NULL; - if ((len + 1) % 41) + if ((len + 1) % entry_size) goto bad_graft_data; - i = (len + 1) / 41 - 1; - graft = xmalloc(sizeof(*graft) + 20 * i); + i = (len + 1) / entry_size - 1; + graft = xmalloc(sizeof(*graft) + GIT_SHA1_RAWSZ * i); graft->nr_parent = i; - if (get_sha1_hex(buf, graft->sha1)) + if (get_oid_hex(buf, &graft->oid)) goto bad_graft_data; - for (i = 40; i < len; i += 41) { + for (i = GIT_SHA1_HEXSZ; i < len; i += entry_size) { if (buf[i] != ' ') goto bad_graft_data; - if (get_sha1_hex(buf + i + 1, graft->parent[i/41])) + if (get_sha1_hex(buf + i + 1, graft->parent[i/entry_size].hash)) goto bad_graft_data; } return graft; @@ -302,39 +303,42 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s { const char *tail = buffer; const char *bufptr = buffer; - unsigned char parent[20]; + struct object_id parent; struct commit_list **pptr; struct commit_graft *graft; + const int tree_entry_len = GIT_SHA1_HEXSZ + 5; + const int parent_entry_len = GIT_SHA1_HEXSZ + 7; if (item->object.parsed) return 0; item->object.parsed = 1; tail += size; - if (tail <= bufptr + 46 || memcmp(bufptr, "tree ", 5) || bufptr[45] != '\n') + if (tail <= bufptr + tree_entry_len + 1 || memcmp(bufptr, "tree ", 5) || + bufptr[tree_entry_len] != '\n') return error("bogus commit object %s", sha1_to_hex(item->object.sha1)); - if (get_sha1_hex(bufptr + 5, parent) < 0) + if (get_sha1_hex(bufptr + 5, parent.hash) < 0) return error("bad tree pointer in commit %s", sha1_to_hex(item->object.sha1)); - item->tree = lookup_tree(parent); - bufptr += 46; /* "tree " + "hex sha1" + "\n" */ + item->tree = lookup_tree(parent.hash); + bufptr += tree_entry_len + 1; /* "tree " + "hex sha1" + "\n" */ pptr = &item->parents; graft = lookup_commit_graft(item->object.sha1); - while (bufptr + 48 < tail && !memcmp(bufptr, "parent ", 7)) { + while (bufptr + parent_entry_len < tail && !memcmp(bufptr, "parent ", 7)) { struct commit *new_parent; - if (tail <= bufptr + 48 || - get_sha1_hex(bufptr + 7, parent) || - bufptr[47] != '\n') + if (tail <= bufptr + parent_entry_len + 1 || + get_sha1_hex(bufptr + 7, parent.hash) || + bufptr[parent_entry_len] != '\n') return error("bad parents in commit %s", sha1_to_hex(item->object.sha1)); - bufptr += 48; + bufptr += parent_entry_len + 1; /* * The clone is shallow if nr_parent < 0, and we must * not traverse its real parents even when we unhide them. */ if (graft && (graft->nr_parent < 0 || grafts_replace_parents)) continue; - new_parent = lookup_commit(parent); + new_parent = lookup_commit(parent.hash); if (new_parent) pptr = &commit_list_insert(new_parent, pptr)->next; } @@ -342,7 +346,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s int i; struct commit *new_parent; for (i = 0; i < graft->nr_parent; i++) { - new_parent = lookup_commit(graft->parent[i]); + new_parent = lookup_commit(graft->parent[i].hash); if (!new_parent) continue; pptr = &commit_list_insert(new_parent, pptr)->next; @@ -1580,10 +1584,10 @@ struct commit *get_merge_parent(const char *name) { struct object *obj; struct commit *commit; - unsigned char sha1[20]; - if (get_sha1(name, sha1)) + struct object_id oid; + if (get_sha1(name, oid.hash)) return NULL; - obj = parse_object(sha1); + obj = parse_object(oid.hash); commit = (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT); if (commit && !commit->util) { struct merge_remote_desc *desc; diff --git a/commit.h b/commit.h index 9f189cb054..ed3a1d59a5 100644 --- a/commit.h +++ b/commit.h @@ -226,9 +226,9 @@ enum rev_sort_order { void sort_in_topological_order(struct commit_list **, enum rev_sort_order); struct commit_graft { - unsigned char sha1[20]; + struct object_id oid; int nr_parent; /* < 0 if shallow commit */ - unsigned char parent[FLEX_ARRAY][20]; /* more */ + struct object_id parent[FLEX_ARRAY]; /* more */ }; typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *); diff --git a/connect.c b/connect.c index 6090211fe9..391d21192f 100644 --- a/connect.c +++ b/connect.c @@ -310,6 +310,8 @@ static void get_host_and_port(char **host, const char **port) if (end != colon + 1 && *end == '\0' && 0 <= portnr && portnr < 65536) { *colon = 0; *port = colon + 1; + } else if (!colon[1]) { + *colon = 0; } } } diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index fbe597232c..5944c824ab 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -186,7 +186,7 @@ fi __gitcompappend () { - local i=${#COMPREPLY[@]} + local x i=${#COMPREPLY[@]} for x in $1; do if [[ "$x" == "$3"* ]]; then COMPREPLY[i++]="$2$x$4" diff --git a/contrib/diff-highlight/diff-highlight b/contrib/diff-highlight/diff-highlight index 08c88bbc87..ffefc31a98 100755 --- a/contrib/diff-highlight/diff-highlight +++ b/contrib/diff-highlight/diff-highlight @@ -1,5 +1,6 @@ #!/usr/bin/perl +use 5.008; use warnings FATAL => 'all'; use strict; @@ -164,8 +165,12 @@ sub highlight_pair { sub split_line { local $_ = shift; - return map { /$COLOR/ ? $_ : (split //) } - split /($COLOR*)/; + return utf8::decode($_) ? + map { utf8::encode($_); $_ } + map { /$COLOR/ ? $_ : (split //) } + split /($COLOR+)/ : + map { /$COLOR/ ? $_ : (split //) } + split /($COLOR+)/; } sub highlight_line { diff --git a/contrib/hooks/multimail/README b/contrib/hooks/multimail/README index 477d65fed3..6efa4ffe17 100644 --- a/contrib/hooks/multimail/README +++ b/contrib/hooks/multimail/README @@ -456,34 +456,35 @@ consider sharing them with the community! Getting involved ---------------- -git-multimail is an open-source project, built by volunteers. We -would welcome your help! +git-multimail is an open-source project, built by volunteers. We would +welcome your help! -The current maintainer is Michael Haggerty . +The current maintainers are Michael Haggerty +and Matthieu Moy . -General discussion of git-multimail takes place on the main Git -mailing list, +Please note that although a copy of git-multimail is distributed in +the "contrib" section of the main Git project, development takes place +in a separate git-multimail repository on GitHub: - git@vger.kernel.org + https://github.com/git-multimail/git-multimail -Please CC emails regarding git-multimail to me so that I don't -overlook them. +Whenever enough changes to git-multimail have accumulated, a new +code-drop of git-multimail will be submitted for inclusion in the Git +project. -The git-multimail project itself is currently hosted on GitHub: +We use the GitHub issue tracker to keep track of bugs and feature +requests, and we use GitHub pull requests to exchange patches (though, +if you prefer, you can send patches via the Git mailing list with CC +to the maintainers). Please sign off your patches as per the Git +project practice. - https://github.com/mhagger/git-multimail +General discussion of git-multimail can take place on the main Git +mailing list, -We use the GitHub issue tracker to keep track of bugs and feature -requests, and GitHub pull requests to exchange patches (though, if you -prefer, you can send patches via the Git mailing list with cc to me). -Please sign off your patches as per the Git project practice. - -Please note that although a copy of git-multimail will probably be -distributed in the "contrib" section of the main Git project, -development takes place in the separate git-multimail repository on -GitHub! (Whenever enough changes to git-multimail have accumulated, a -new code-drop of git-multimail will be submitted for inclusion in the -Git project.) + git@vger.kernel.org + +Please CC emails regarding git-multimail to the maintainers so that we +don't overlook them. Footnotes diff --git a/contrib/hooks/multimail/README.Git b/contrib/hooks/multimail/README.Git index 129b771410..ab3ece5221 100644 --- a/contrib/hooks/multimail/README.Git +++ b/contrib/hooks/multimail/README.Git @@ -3,13 +3,13 @@ section of the Git project as a convenience to Git users. git-multimail is developed as an independent project at the following website: - https://github.com/mhagger/git-multimail + https://github.com/git-multimail/git-multimail The version in this directory was obtained from the upstream project -on 2014-04-07 and consists of the "git-multimail" subdirectory from +on 2015-04-27 and consists of the "git-multimail" subdirectory from revision - 1b32653bafc4f902535b9fc1cd9cae911325b870 + 8c3aaafa873bf10de8dddf1d202c449b3eff3b42 refs/tags/1.0.2 Please see the README file in this directory for information about how to report bugs or contribute to git-multimail. diff --git a/diff-lib.c b/diff-lib.c index a85c4971ac..241a8435eb 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -125,7 +125,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option) dpath->next = NULL; memcpy(dpath->path, ce->name, path_len); dpath->path[path_len] = '\0'; - hashclr(dpath->sha1); + oidclr(&dpath->oid); memset(&(dpath->parent[0]), 0, sizeof(struct combine_diff_parent)*5); @@ -155,7 +155,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option) if (2 <= stage) { int mode = nce->ce_mode; num_compare_stages++; - hashcpy(dpath->parent[stage-2].sha1, nce->sha1); + hashcpy(dpath->parent[stage-2].oid.hash, nce->sha1); dpath->parent[stage-2].mode = ce_mode_from_stat(nce, mode); dpath->parent[stage-2].status = DIFF_STATUS_MODIFIED; @@ -339,14 +339,14 @@ static int show_modified(struct rev_info *revs, memcpy(p->path, new->name, pathlen); p->path[pathlen] = 0; p->mode = mode; - hashclr(p->sha1); + oidclr(&p->oid); memset(p->parent, 0, 2 * sizeof(struct combine_diff_parent)); p->parent[0].status = DIFF_STATUS_MODIFIED; p->parent[0].mode = new->ce_mode; - hashcpy(p->parent[0].sha1, new->sha1); + hashcpy(p->parent[0].oid.hash, new->sha1); p->parent[1].status = DIFF_STATUS_MODIFIED; p->parent[1].mode = old->ce_mode; - hashcpy(p->parent[1].sha1, old->sha1); + hashcpy(p->parent[1].oid.hash, old->sha1); show_combined_diff(p, 2, revs->dense_combined_merges, revs); free(p); return 0; diff --git a/diff-no-index.c b/diff-no-index.c index 265709ba8c..0320605a84 100644 --- a/diff-no-index.c +++ b/diff-no-index.c @@ -97,8 +97,27 @@ static int queue_diff(struct diff_options *o, if (get_mode(name1, &mode1) || get_mode(name2, &mode2)) return -1; - if (mode1 && mode2 && S_ISDIR(mode1) != S_ISDIR(mode2)) - return error("file/directory conflict: %s, %s", name1, name2); + if (mode1 && mode2 && S_ISDIR(mode1) != S_ISDIR(mode2)) { + struct diff_filespec *d1, *d2; + + if (S_ISDIR(mode1)) { + /* 2 is file that is created */ + d1 = noindex_filespec(NULL, 0); + d2 = noindex_filespec(name2, mode2); + name2 = NULL; + mode2 = 0; + } else { + /* 1 is file that is deleted */ + d1 = noindex_filespec(name1, mode1); + d2 = noindex_filespec(NULL, 0); + name1 = NULL; + mode1 = 0; + } + /* emit that file */ + diff_queue(&diff_queued_diff, d1, d2); + + /* and then let the entire directory be created or deleted */ + } if (S_ISDIR(mode1) || S_ISDIR(mode2)) { struct strbuf buffer1 = STRBUF_INIT; @@ -182,12 +201,50 @@ static int queue_diff(struct diff_options *o, } } +/* append basename of F to D */ +static void append_basename(struct strbuf *path, const char *dir, const char *file) +{ + const char *tail = strrchr(file, '/'); + + strbuf_addstr(path, dir); + while (path->len && path->buf[path->len - 1] == '/') + path->len--; + strbuf_addch(path, '/'); + strbuf_addstr(path, tail ? tail + 1 : file); +} + +/* + * DWIM "diff D F" into "diff D/F F" and "diff F D" into "diff F D/F" + * Note that we append the basename of F to D/, so "diff a/b/file D" + * becomes "diff a/b/file D/file", not "diff a/b/file D/a/b/file". + */ +static void fixup_paths(const char **path, struct strbuf *replacement) +{ + unsigned int isdir0, isdir1; + + if (path[0] == file_from_standard_input || + path[1] == file_from_standard_input) + return; + isdir0 = is_directory(path[0]); + isdir1 = is_directory(path[1]); + if (isdir0 == isdir1) + return; + if (isdir0) { + append_basename(replacement, path[0], path[1]); + path[0] = replacement->buf; + } else { + append_basename(replacement, path[1], path[0]); + path[1] = replacement->buf; + } +} + void diff_no_index(struct rev_info *revs, int argc, const char **argv, const char *prefix) { int i, prefixlen; const char *paths[2]; + struct strbuf replacement = STRBUF_INIT; diff_setup(&revs->diffopt); for (i = 1; i < argc - 2; ) { @@ -217,6 +274,9 @@ void diff_no_index(struct rev_info *revs, p = xstrdup(prefix_filename(prefix, prefixlen, p)); paths[i] = p; } + + fixup_paths(paths, &replacement); + revs->diffopt.skip_stat_unmatch = 1; if (!revs->diffopt.output_format) revs->diffopt.output_format = DIFF_FORMAT_PATCH; @@ -235,6 +295,8 @@ void diff_no_index(struct rev_info *revs, diffcore_std(&revs->diffopt); diff_flush(&revs->diffopt); + strbuf_release(&replacement); + /* * The return code for --no-index imitates diff(1): * 0 = no changes, 1 = changes, else error diff --git a/diff.h b/diff.h index b4a624d235..f6fdf49e14 100644 --- a/diff.h +++ b/diff.h @@ -6,6 +6,7 @@ #include "tree-walk.h" #include "pathspec.h" +#include "object.h" struct rev_info; struct diff_options; @@ -207,11 +208,11 @@ struct combine_diff_path { struct combine_diff_path *next; char *path; unsigned int mode; - unsigned char sha1[20]; + struct object_id oid; struct combine_diff_parent { char status; unsigned int mode; - unsigned char sha1[20]; + struct object_id oid; } parent[FLEX_ARRAY]; }; #define combine_diff_path_size(n, l) \ diff --git a/git-gui/GIT-VERSION-GEN b/git-gui/GIT-VERSION-GEN index a9ea21826a..a88b6824b9 100755 --- a/git-gui/GIT-VERSION-GEN +++ b/git-gui/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=0.19.GITGUI +DEF_VER=0.20.GITGUI LF=' ' diff --git a/git-gui/Makefile b/git-gui/Makefile index cde8b2ea31..4f00bdd3d6 100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@ -177,7 +177,8 @@ git-gui: GIT-VERSION-FILE GIT-GUI-VARS echo then >>$@+ && \ echo ' 'echo \'git-gui version '$(GITGUI_VERSION)'\' >>$@+ && \ echo else >>$@+ && \ - echo ' 'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\' \ + echo ' libdir="$${GIT_GUI_LIB_DIR:-$(libdir_SQ)}"' >>$@+ && \ + echo ' 'exec \"'$$libdir/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\" \ '"$$0" "$$@"' >>$@+ && \ echo fi >>$@+ && \ chmod +x $@+ && \ diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index b186329d28..11048c7a0e 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -49,7 +49,11 @@ catch {rename send {}} ; # What an evil concept... ## ## locate our library -set oguilib {@@GITGUI_LIBDIR@@} +if { [info exists ::env(GIT_GUI_LIB_DIR) ] } { + set oguilib $::env(GIT_GUI_LIB_DIR) +} else { + set oguilib {@@GITGUI_LIBDIR@@} +} set oguirel {@@GITGUI_RELATIVE@@} if {$oguirel eq {1}} { set oguilib [file dirname [file normalize $argv0]] @@ -79,9 +83,9 @@ if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { return [uplevel 1 real__auto_load $name $args] } rename source real__source - proc source {name} { - puts stderr "source $name" - uplevel 1 real__source $name + proc source {args} { + puts stderr "source $args" + uplevel 1 [linsert $args 0 real__source] } if {[tk windowingsystem] eq "win32"} { console show } } @@ -666,9 +670,7 @@ proc kill_file_process {fd} { catch { if {[is_Windows]} { - # Use a Cygwin-specific flag to allow killing - # native Windows processes - exec kill -f $process + exec taskkill /pid $process } else { exec kill $process } @@ -908,6 +910,7 @@ set default_config(gui.fontdiff) [font configure font_diff] set default_config(gui.maxfilesdisplayed) 5000 set default_config(gui.usettk) 1 set default_config(gui.warndetachedcommit) 1 +set default_config(gui.tabsize) 8 set font_descs { {fontui font_ui {mc "Main Font"}} {fontdiff font_diff {mc "Diff/Console Font"}} @@ -1283,7 +1286,7 @@ load_config 0 apply_config # v1.7.0 introduced --show-toplevel to return the canonical work-tree -if {[package vsatisfies $_git_version 1.7.0-]} { +if {[package vcompare $_git_version 1.7.0] >= 0} { if { [is_Cygwin] } { catch {set _gitworktree [exec cygpath --windows [git rev-parse --show-toplevel]]} } else { @@ -1539,7 +1542,7 @@ proc rescan_stage2 {fd after} { close $fd } - if {[package vsatisfies $::_git_version 1.6.3-]} { + if {[package vcompare $::_git_version 1.6.3] >= 0} { set ls_others [list --exclude-standard] } else { set ls_others [list --exclude-per-directory=.gitignore] @@ -1962,20 +1965,22 @@ proc display_all_files {} { set to_display [lsort [array names file_states]] set display_limit [get_config gui.maxfilesdisplayed] - if {[llength $to_display] > $display_limit} { - if {!$files_warning} { - # do not repeatedly warn: - set files_warning 1 - info_popup [mc "Displaying only %s of %s files." \ - $display_limit [llength $to_display]] - } - set to_display [lrange $to_display 0 [expr {$display_limit-1}]] - } + set displayed 0 foreach path $to_display { set s $file_states($path) set m [lindex $s 0] set icon_name [lindex $s 1] + if {$displayed > $display_limit && [string index $m 1] eq {O} } { + if {!$files_warning} { + # do not repeatedly warn: + set files_warning 1 + info_popup [mc "Display limit (gui.maxfilesdisplayed = %s) reached, not showing all %s files." \ + $display_limit [llength $to_display]] + } + continue + } + set s [string index $m 0] if {$s ne {U} && $s ne {_}} { display_all_files_helper $ui_index $path \ @@ -1990,6 +1995,7 @@ proc display_all_files {} { if {$s ne {_}} { display_all_files_helper $ui_workdir $path \ $icon_name $s + incr displayed } } diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl index 3c10bc656d..75d1da8d31 100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@ -18,6 +18,7 @@ field local_path {} ; # Where this repository is locally field origin_url {} ; # Where we are cloning from field origin_name origin ; # What we shall call 'origin' field clone_type hardlink ; # Type of clone to construct +field recursive true ; # Recursive cloning flag field readtree_err ; # Error output from read-tree (if any) field sorted_recent ; # recent repositories (sorted) @@ -337,16 +338,31 @@ method _git_init {} { return 1 } -proc _is_git {path} { +proc _is_git {path {outdir_var ""}} { + if {$outdir_var ne ""} { + upvar 1 $outdir_var outdir + } + if {[file isfile $path]} { + set fp [open $path r] + gets $fp line + close $fp + if {[regexp "^gitdir: (.+)$" $line line link_target]} { + set path [file join [file dirname $path] $link_target] + set path [file normalize $path] + } + } + if {[file exists [file join $path HEAD]] && [file exists [file join $path objects]] && [file exists [file join $path config]]} { + set outdir $path return 1 } if {[is_Cygwin]} { if {[file exists [file join $path HEAD]] && [file exists [file join $path objects.lnk]] && [file exists [file join $path config.lnk]]} { + set outdir $path return 1 } } @@ -525,6 +541,11 @@ method _do_clone {} { foreach r $w_types { pack $r -anchor w } + ${NS}::checkbutton $args.type_f.recursive \ + -text [mc "Recursively clone submodules too"] \ + -variable @recursive \ + -onvalue true -offvalue false + pack $args.type_f.recursive -anchor w grid $args.type_l $args.type_f -sticky new grid columnconfigure $args 1 -weight 1 @@ -952,6 +973,30 @@ method _do_clone_checkout {HEAD} { fileevent $fd readable [cb _readtree_wait $fd] } +method _do_validate_submodule_cloning {ok} { + if {$ok} { + $o_cons done $ok + set done 1 + } else { + _clone_failed $this [mc "Cannot clone submodules."] + } +} + +method _do_clone_submodules {} { + if {$recursive eq {true}} { + destroy $w_body + set o_cons [console::embed \ + $w_body \ + [mc "Cloning submodules"]] + pack $w_body -fill both -expand 1 -padx 10 + $o_cons exec \ + [list git submodule update --init --recursive] \ + [cb _do_validate_submodule_cloning] + } else { + set done 1 + } +} + method _readtree_wait {fd} { set buf [read $fd] $o_cons update_meter $buf @@ -982,7 +1027,7 @@ method _readtree_wait {fd} { fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} fileevent $fd_ph readable [cb _postcheckout_wait $fd_ph] } else { - set done 1 + _do_clone_submodules $this } } @@ -996,7 +1041,7 @@ method _postcheckout_wait {fd_ph} { hook_failed_popup post-checkout $pch_error 0 } unset pch_error - set done 1 + _do_clone_submodules $this return } fconfigure $fd_ph -blocking 0 @@ -1063,7 +1108,7 @@ method _open_local_path {} { } method _do_open2 {} { - if {![_is_git [file join $local_path .git]]} { + if {![_is_git [file join $local_path .git] actualgit]} { error_popup [mc "Not a Git repository: %s" [file tail $local_path]] return } @@ -1076,7 +1121,7 @@ method _do_open2 {} { } _append_recentrepos [pwd] - set ::_gitdir .git + set ::_gitdir $actualgit set ::_prefix {} set done 1 } diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl index b0a5180af7..0d56986215 100644 --- a/git-gui/lib/diff.tcl +++ b/git-gui/lib/diff.tcl @@ -1,6 +1,19 @@ # git-gui diff viewer # Copyright (C) 2006, 2007 Shawn Pearce +proc apply_tab_size {{firsttab {}}} { + global have_tk85 repo_config ui_diff + + set w [font measure font_diff "0"] + if {$have_tk85 && $firsttab != 0} { + $ui_diff configure -tabs [list [expr {$firsttab * $w}] [expr {($firsttab + $repo_config(gui.tabsize)) * $w}]] + } elseif {$have_tk85 || $repo_config(gui.tabsize) != 8} { + $ui_diff configure -tabs [expr {$repo_config(gui.tabsize) * $w}] + } else { + $ui_diff configure -tabs {} + } +} + proc clear_diff {} { global ui_diff current_diff_path current_diff_header global ui_index ui_workdir @@ -105,6 +118,8 @@ proc show_diff {path w {lno {}} {scroll_pos {}} {callback {}}} { set cont_info [list $scroll_pos $callback] + apply_tab_size 0 + if {[string first {U} $m] >= 0} { merge_load_stages $path [list show_unmerged_diff $cont_info] } elseif {$m eq {_O}} { @@ -401,7 +416,10 @@ proc read_diff {fd conflict_size cont_info} { # -- Automatically detect if this is a 3 way diff. # - if {[string match {@@@ *} $line]} {set is_3way_diff 1} + if {[string match {@@@ *} $line]} { + set is_3way_diff 1 + apply_tab_size 1 + } if {$::current_diff_inheader} { diff --git a/git-gui/lib/option.tcl b/git-gui/lib/option.tcl index 23c9ae72a4..b5b6b2fea6 100644 --- a/git-gui/lib/option.tcl +++ b/git-gui/lib/option.tcl @@ -161,6 +161,7 @@ proc do_options {} { {b gui.warndetachedcommit {mc "Warn before committing to a detached head"}} {s gui.stageuntracked {mc "Staging of untracked files"} {list "yes" "no" "ask"}} {b gui.displayuntracked {mc "Show untracked files"}} + {i-1..99 gui.tabsize {mc "Tab spacing"}} } { set type [lindex $option 0] set name [lindex $option 1] diff --git a/git-gui/macosx/AppMain.tcl b/git-gui/macosx/AppMain.tcl index 738bdd03ed..b6c6dc3500 100644 --- a/git-gui/macosx/AppMain.tcl +++ b/git-gui/macosx/AppMain.tcl @@ -1,5 +1,10 @@ set gitexecdir {@@gitexecdir@@} -set gitguilib {@@GITGUI_LIBDIR@@} +if { [info exists ::env(GIT_GUI_LIB_DIR) ] } { + set gitguilib $::env(GIT_GUI_LIB_DIR) +} else { + set gitguilib {@@GITGUI_LIBDIR@@} +} + set env(PATH) "$gitexecdir:$env(PATH)" if {[string first -psn [lindex $argv 0]] == 0} { diff --git a/git-gui/po/bg.po b/git-gui/po/bg.po index 89b3a4e53d..4d9b039dc2 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 Alexander Shopov . +# Copyright (C) 2012, 2013, 2014, 2015 Alexander Shopov . # This file is distributed under the same license as the git package. -# Alexander Shopov , 2012, 2013, 2014. +# Alexander Shopov , 2012, 2013, 2014, 2015. # # msgid "" msgstr "" "Project-Id-Version: git-gui master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-01-13 20:45+0200\n" -"PO-Revision-Date: 2014-01-13 21:31+0200\n" +"POT-Creation-Date: 2015-04-07 07:37+0300\n" +"PO-Revision-Date: 2015-04-07 07:46+0300\n" "Last-Translator: Alexander Shopov \n" "Language-Team: Bulgarian \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:859 +#: git-gui.sh:861 #, tcl-format msgid "Invalid font specified in %s:" -msgstr "Указан е неправилен шрифт в %s:" +msgstr "Указан е неправилен шрифт в „%s“:" -#: git-gui.sh:912 +#: git-gui.sh:915 msgid "Main Font" msgstr "Основен шрифт" -#: git-gui.sh:913 +#: git-gui.sh:916 msgid "Diff/Console Font" msgstr "Шрифт за разликите/конзолата" -#: git-gui.sh:928 git-gui.sh:942 git-gui.sh:955 git-gui.sh:1045 -#: git-gui.sh:1064 git-gui.sh:3115 +#: git-gui.sh:931 git-gui.sh:945 git-gui.sh:958 git-gui.sh:1048 +#: git-gui.sh:1067 git-gui.sh:3125 msgid "git-gui: fatal error" msgstr "git-gui: фатална грешка" -#: git-gui.sh:929 +#: git-gui.sh:932 msgid "Cannot find git in PATH." msgstr "Командата git липсва в пътя (PATH)." -#: git-gui.sh:956 +#: git-gui.sh:959 msgid "Cannot parse Git version string:" msgstr "Низът с версията на Git не може да бъде интерпретиран:" -#: git-gui.sh:981 +#: git-gui.sh:984 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -57,504 +57,509 @@ msgid "" msgstr "" "Версията на Git не може да бъде определена.\n" "\n" -"Версията на %s изглежда, че е „%s“.\n" +"Версията на „%s“ изглежда, че е „%s“.\n" "\n" -"%s изисква Git, версия поне 1.5.0.\n" +"„%s“ изисква Git, версия поне 1.5.0.\n" "\n" -"Да се приеме ли, че „%s“ е версия 1.5.0?\n" +"Да се приеме ли, че „%s“ е версия „1.5.0“?\n" -#: git-gui.sh:1278 +#: git-gui.sh:1281 msgid "Git directory not found:" msgstr "Директорията на Git не е открита:" -#: git-gui.sh:1312 +#: git-gui.sh:1315 msgid "Cannot move to top of working directory:" msgstr "Не може да се премине към родителската директория." -#: git-gui.sh:1320 +#: git-gui.sh:1323 msgid "Cannot use bare repository:" msgstr "Голо хранилище не може да се използва:" -#: git-gui.sh:1328 +#: git-gui.sh:1331 msgid "No working directory" msgstr "Работната директория липсва" -#: git-gui.sh:1500 lib/checkout_op.tcl:306 +#: git-gui.sh:1503 lib/checkout_op.tcl:306 msgid "Refreshing file status..." msgstr "Обновяване на състоянието на файла…" -#: git-gui.sh:1560 +#: git-gui.sh:1563 msgid "Scanning for modified files ..." msgstr "Проверка за променени файлове…" -#: git-gui.sh:1632 +#: git-gui.sh:1639 msgid "Calling prepare-commit-msg hook..." -msgstr "Куката prepare-commit-msg се изпълнява в момента…" +msgstr "Куката „prepare-commit-msg“ се изпълнява в момента…" -#: git-gui.sh:1649 +#: git-gui.sh:1656 msgid "Commit declined by prepare-commit-msg hook." -msgstr "Подаването е отхвърлено от куката prepare-commit-msg." +msgstr "Подаването е отхвърлено от куката „prepare-commit-msg“." -#: git-gui.sh:1807 lib/browser.tcl:252 +#: git-gui.sh:1814 lib/browser.tcl:252 msgid "Ready." msgstr "Готово." -#: git-gui.sh:1965 +#: git-gui.sh:1978 #, tcl-format -msgid "Displaying only %s of %s files." -msgstr "Показване на само %s от %s файла." +msgid "" +"Display limit (gui.maxfilesdisplayed = %s) reached, not showing all %s files." +msgstr "" +"Достигнат е максималният брой файлове за показване (gui.maxfilesdisplayed = " +"%s). Файловете са общо %s." -#: git-gui.sh:2091 +#: git-gui.sh:2101 msgid "Unmodified" msgstr "Непроменен" -#: git-gui.sh:2093 +#: git-gui.sh:2103 msgid "Modified, not staged" msgstr "Променен, но не е в индекса" -#: git-gui.sh:2094 git-gui.sh:2106 +#: git-gui.sh:2104 git-gui.sh:2116 msgid "Staged for commit" msgstr "В индекса за подаване" -#: git-gui.sh:2095 git-gui.sh:2107 +#: git-gui.sh:2105 git-gui.sh:2117 msgid "Portions staged for commit" msgstr "Части са в индекса за подаване" -#: git-gui.sh:2096 git-gui.sh:2108 +#: git-gui.sh:2106 git-gui.sh:2118 msgid "Staged for commit, missing" msgstr "В индекса за подаване, но липсва" -#: git-gui.sh:2098 +#: git-gui.sh:2108 msgid "File type changed, not staged" msgstr "Видът на файла е сменен, но не е в индекса" -#: git-gui.sh:2099 git-gui.sh:2100 +#: git-gui.sh:2109 git-gui.sh:2110 msgid "File type changed, old type staged for commit" -msgstr "Видът на файла е сменен, в индекса е старият" +msgstr "Видът на файла е сменен, но в индекса е все още старият" -#: git-gui.sh:2101 +#: git-gui.sh:2111 msgid "File type changed, staged" msgstr "Видът на файла е сменен и е в индекса" -#: git-gui.sh:2102 +#: git-gui.sh:2112 msgid "File type change staged, modification not staged" -msgstr "Видът на файла е сменен, промяната не е в индекса" +msgstr "Видът на файла е сменен, но промяната не е в индекса" -#: git-gui.sh:2103 +#: git-gui.sh:2113 msgid "File type change staged, file missing" msgstr "Видът на файла е сменен, файлът липсва" -#: git-gui.sh:2105 +#: git-gui.sh:2115 msgid "Untracked, not staged" msgstr "Неследен" -#: git-gui.sh:2110 +#: git-gui.sh:2120 msgid "Missing" msgstr "Липсващ" -#: git-gui.sh:2111 +#: git-gui.sh:2121 msgid "Staged for removal" msgstr "В индекса за изтриване" -#: git-gui.sh:2112 +#: git-gui.sh:2122 msgid "Staged for removal, still present" msgstr "В индекса за изтриване, но още го има" -#: git-gui.sh:2114 git-gui.sh:2115 git-gui.sh:2116 git-gui.sh:2117 -#: git-gui.sh:2118 git-gui.sh:2119 +#: git-gui.sh:2124 git-gui.sh:2125 git-gui.sh:2126 git-gui.sh:2127 +#: git-gui.sh:2128 git-gui.sh:2129 msgid "Requires merge resolution" msgstr "Изисква коригиране при сливане" -#: git-gui.sh:2154 +#: git-gui.sh:2164 msgid "Starting gitk... please wait..." -msgstr "Стартиране на gitk…, изчакайте…" +msgstr "Стартиране на „gitk“…, изчакайте…" -#: git-gui.sh:2166 +#: git-gui.sh:2176 msgid "Couldn't find gitk in PATH" -msgstr "В пътищата, определени от променливата PATH, липсва изпълним gitk" +msgstr "Командата „gitk“ липсва в пътищата, определени от променливата PATH." -#: git-gui.sh:2225 +#: git-gui.sh:2235 msgid "Couldn't find git gui in PATH" -msgstr "В пътищата, определени от променливата PATH, липсва изпълним git gui" +msgstr "" +"Командата „git gui“ липсва в пътищата, определени от променливата PATH." -#: git-gui.sh:2644 lib/choose_repository.tcl:40 +#: git-gui.sh:2654 lib/choose_repository.tcl:41 msgid "Repository" msgstr "Хранилище" -#: git-gui.sh:2645 +#: git-gui.sh:2655 msgid "Edit" msgstr "Редактиране" -#: git-gui.sh:2647 lib/choose_rev.tcl:567 +#: git-gui.sh:2657 lib/choose_rev.tcl:567 msgid "Branch" msgstr "Клон" -#: git-gui.sh:2650 lib/choose_rev.tcl:554 +#: git-gui.sh:2660 lib/choose_rev.tcl:554 msgid "Commit@@noun" msgstr "Подаване" -#: git-gui.sh:2653 lib/merge.tcl:123 lib/merge.tcl:152 lib/merge.tcl:170 +#: git-gui.sh:2663 lib/merge.tcl:123 lib/merge.tcl:152 lib/merge.tcl:170 msgid "Merge" msgstr "Сливане" -#: git-gui.sh:2654 lib/choose_rev.tcl:563 +#: git-gui.sh:2664 lib/choose_rev.tcl:563 msgid "Remote" msgstr "Отдалечено хранилище" -#: git-gui.sh:2657 +#: git-gui.sh:2667 msgid "Tools" msgstr "Команди" -#: git-gui.sh:2666 +#: git-gui.sh:2676 msgid "Explore Working Copy" msgstr "Разглеждане на работното копие" -#: git-gui.sh:2672 +#: git-gui.sh:2682 msgid "Git Bash" -msgstr "Bash на Git" +msgstr "Bash за Git" -#: git-gui.sh:2682 +#: git-gui.sh:2692 msgid "Browse Current Branch's Files" msgstr "Разглеждане на файловете в текущия клон" -#: git-gui.sh:2686 +#: git-gui.sh:2696 msgid "Browse Branch Files..." -msgstr "Разглеждане на текущия клон" +msgstr "Разглеждане на текущия клон…" -#: git-gui.sh:2691 +#: git-gui.sh:2701 msgid "Visualize Current Branch's History" msgstr "Визуализация на историята на текущия клон" -#: git-gui.sh:2695 +#: git-gui.sh:2705 msgid "Visualize All Branch History" msgstr "Визуализация на историята на всички клонове" -#: git-gui.sh:2702 +#: git-gui.sh:2712 #, tcl-format msgid "Browse %s's Files" msgstr "Разглеждане на файловете в %s" -#: git-gui.sh:2704 +#: git-gui.sh:2714 #, tcl-format msgid "Visualize %s's History" msgstr "Визуализация на историята на %s" -#: git-gui.sh:2709 lib/database.tcl:40 lib/database.tcl:66 +#: git-gui.sh:2719 lib/database.tcl:40 lib/database.tcl:66 msgid "Database Statistics" msgstr "Статистика на базата от данни" -#: git-gui.sh:2712 lib/database.tcl:33 +#: git-gui.sh:2722 lib/database.tcl:33 msgid "Compress Database" msgstr "Компресиране на базата от данни" -#: git-gui.sh:2715 +#: git-gui.sh:2725 msgid "Verify Database" msgstr "Проверка на базата от данни" -#: git-gui.sh:2722 git-gui.sh:2726 git-gui.sh:2730 lib/shortcut.tcl:8 +#: git-gui.sh:2732 git-gui.sh:2736 git-gui.sh:2740 lib/shortcut.tcl:8 #: lib/shortcut.tcl:40 lib/shortcut.tcl:72 msgid "Create Desktop Icon" msgstr "Добавяне на икона на работния плот" -#: git-gui.sh:2738 lib/choose_repository.tcl:192 lib/choose_repository.tcl:200 +#: git-gui.sh:2748 lib/choose_repository.tcl:193 lib/choose_repository.tcl:201 msgid "Quit" msgstr "Спиране на програмата" -#: git-gui.sh:2746 +#: git-gui.sh:2756 msgid "Undo" msgstr "Отмяна" -#: git-gui.sh:2749 +#: git-gui.sh:2759 msgid "Redo" msgstr "Повторение" -#: git-gui.sh:2753 git-gui.sh:3348 +#: git-gui.sh:2763 git-gui.sh:3368 msgid "Cut" msgstr "Отрязване" -#: git-gui.sh:2756 git-gui.sh:3351 git-gui.sh:3425 git-gui.sh:3510 +#: git-gui.sh:2766 git-gui.sh:3371 git-gui.sh:3445 git-gui.sh:3530 #: lib/console.tcl:69 msgid "Copy" msgstr "Копиране" -#: git-gui.sh:2759 git-gui.sh:3354 +#: git-gui.sh:2769 git-gui.sh:3374 msgid "Paste" msgstr "Поставяне" -#: git-gui.sh:2762 git-gui.sh:3357 lib/remote_branch_delete.tcl:39 +#: git-gui.sh:2772 git-gui.sh:3377 lib/remote_branch_delete.tcl:39 #: lib/branch_delete.tcl:28 msgid "Delete" msgstr "Изтриване" -#: git-gui.sh:2766 git-gui.sh:3361 git-gui.sh:3514 lib/console.tcl:71 +#: git-gui.sh:2776 git-gui.sh:3381 git-gui.sh:3534 lib/console.tcl:71 msgid "Select All" msgstr "Избиране на всичко" -#: git-gui.sh:2775 +#: git-gui.sh:2785 msgid "Create..." msgstr "Създаване…" -#: git-gui.sh:2781 +#: git-gui.sh:2791 msgid "Checkout..." msgstr "Изтегляне…" -#: git-gui.sh:2787 +#: git-gui.sh:2797 msgid "Rename..." msgstr "Преименуване…" -#: git-gui.sh:2792 +#: git-gui.sh:2802 msgid "Delete..." msgstr "Изтриване…" -#: git-gui.sh:2797 +#: git-gui.sh:2807 msgid "Reset..." msgstr "Отмяна на промените…" -#: git-gui.sh:2807 +#: git-gui.sh:2817 msgid "Done" msgstr "Готово" -#: git-gui.sh:2809 +#: git-gui.sh:2819 msgid "Commit@@verb" msgstr "Подаване" -#: git-gui.sh:2818 git-gui.sh:3289 +#: git-gui.sh:2828 git-gui.sh:3309 msgid "New Commit" -msgstr "Подаване" +msgstr "Ново подаване" -#: git-gui.sh:2826 git-gui.sh:3296 +#: git-gui.sh:2836 git-gui.sh:3316 msgid "Amend Last Commit" msgstr "Поправяне на последното подаване" -#: git-gui.sh:2836 git-gui.sh:3250 lib/remote_branch_delete.tcl:101 +#: git-gui.sh:2846 git-gui.sh:3270 lib/remote_branch_delete.tcl:101 msgid "Rescan" msgstr "Обновяване" -#: git-gui.sh:2842 +#: git-gui.sh:2852 msgid "Stage To Commit" msgstr "Към индекса за подаване" -#: git-gui.sh:2848 +#: git-gui.sh:2858 msgid "Stage Changed Files To Commit" msgstr "Всички променени файлове към индекса за подаване" -#: git-gui.sh:2854 +#: git-gui.sh:2864 msgid "Unstage From Commit" msgstr "Изваждане от индекса за подаване" -#: git-gui.sh:2860 lib/index.tcl:442 +#: git-gui.sh:2870 lib/index.tcl:442 msgid "Revert Changes" msgstr "Връщане на оригинала" -#: git-gui.sh:2868 git-gui.sh:3561 git-gui.sh:3592 +#: git-gui.sh:2878 git-gui.sh:3581 git-gui.sh:3612 msgid "Show Less Context" msgstr "По-малко контекст" -#: git-gui.sh:2872 git-gui.sh:3565 git-gui.sh:3596 +#: git-gui.sh:2882 git-gui.sh:3585 git-gui.sh:3616 msgid "Show More Context" msgstr "Повече контекст" -#: git-gui.sh:2879 git-gui.sh:3263 git-gui.sh:3372 +#: git-gui.sh:2889 git-gui.sh:3283 git-gui.sh:3392 msgid "Sign Off" msgstr "Подписване" -#: git-gui.sh:2895 +#: git-gui.sh:2905 msgid "Local Merge..." msgstr "Локално сливане…" -#: git-gui.sh:2900 +#: git-gui.sh:2910 msgid "Abort Merge..." msgstr "Преустановяване на сливане…" -#: git-gui.sh:2912 git-gui.sh:2940 +#: git-gui.sh:2922 git-gui.sh:2950 msgid "Add..." msgstr "Добавяне…" -#: git-gui.sh:2916 +#: git-gui.sh:2926 msgid "Push..." msgstr "Избутване…" -#: git-gui.sh:2920 +#: git-gui.sh:2930 msgid "Delete Branch..." msgstr "Изтриване на клон…" -#: git-gui.sh:2930 git-gui.sh:3543 +#: git-gui.sh:2940 git-gui.sh:3563 msgid "Options..." msgstr "Опции…" -#: git-gui.sh:2941 +#: git-gui.sh:2951 msgid "Remove..." msgstr "Премахване…" -#: git-gui.sh:2950 lib/choose_repository.tcl:54 +#: git-gui.sh:2960 lib/choose_repository.tcl:55 msgid "Help" msgstr "Помощ" -#: git-gui.sh:2954 git-gui.sh:2958 lib/choose_repository.tcl:48 -#: lib/choose_repository.tcl:57 lib/about.tcl:14 +#: git-gui.sh:2964 git-gui.sh:2968 lib/choose_repository.tcl:49 +#: lib/choose_repository.tcl:58 lib/about.tcl:14 #, tcl-format msgid "About %s" msgstr "Относно %s" -#: git-gui.sh:2982 +#: git-gui.sh:2992 msgid "Online Documentation" msgstr "Документация в Интернет" -#: git-gui.sh:2985 lib/choose_repository.tcl:51 lib/choose_repository.tcl:60 +#: git-gui.sh:2995 lib/choose_repository.tcl:52 lib/choose_repository.tcl:61 msgid "Show SSH Key" msgstr "Показване на ключа за SSH" -#: git-gui.sh:3004 git-gui.sh:3136 +#: git-gui.sh:3014 git-gui.sh:3146 msgid "Usage" msgstr "Употреба" -#: git-gui.sh:3085 lib/blame.tcl:573 +#: git-gui.sh:3095 lib/blame.tcl:573 msgid "Error" msgstr "Грешка" -#: git-gui.sh:3116 +#: git-gui.sh:3126 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" -"фатално: пътят %s не може да бъде открит: такъв файл или директория няма" +"ФАТАЛНА ГРЕШКА: пътят %s не може да бъде открит: такъв файл или директория " +"няма" -#: git-gui.sh:3149 +#: git-gui.sh:3159 msgid "Current Branch:" msgstr "Текущ клон:" -#: git-gui.sh:3175 +#: git-gui.sh:3185 msgid "Staged Changes (Will Commit)" msgstr "Промени в индекса (за подаване)" -#: git-gui.sh:3195 +#: git-gui.sh:3205 msgid "Unstaged Changes" msgstr "Промени извън индекса" -#: git-gui.sh:3256 +#: git-gui.sh:3276 msgid "Stage Changed" msgstr "Индексът е променен" -#: git-gui.sh:3275 lib/transport.tcl:137 lib/transport.tcl:229 +#: git-gui.sh:3295 lib/transport.tcl:137 lib/transport.tcl:229 msgid "Push" msgstr "Изтласкване" -#: git-gui.sh:3310 +#: git-gui.sh:3330 msgid "Initial Commit Message:" msgstr "Първоначално съобщение при подаване:" -#: git-gui.sh:3311 +#: git-gui.sh:3331 msgid "Amended Commit Message:" msgstr "Поправено съобщение при подаване:" -#: git-gui.sh:3312 +#: git-gui.sh:3332 msgid "Amended Initial Commit Message:" msgstr "Поправено първоначално съобщение при подаване:" -#: git-gui.sh:3313 +#: git-gui.sh:3333 msgid "Amended Merge Commit Message:" msgstr "Поправено съобщение при подаване със сливане:" -#: git-gui.sh:3314 +#: git-gui.sh:3334 msgid "Merge Commit Message:" msgstr "Съобщение при подаване със сливане:" -#: git-gui.sh:3315 +#: git-gui.sh:3335 msgid "Commit Message:" msgstr "Съобщение при подаване:" -#: git-gui.sh:3364 git-gui.sh:3518 lib/console.tcl:73 +#: git-gui.sh:3384 git-gui.sh:3538 lib/console.tcl:73 msgid "Copy All" msgstr "Копиране на всичко" -#: git-gui.sh:3388 lib/blame.tcl:105 +#: git-gui.sh:3408 lib/blame.tcl:105 msgid "File:" msgstr "Файл:" -#: git-gui.sh:3506 +#: git-gui.sh:3526 msgid "Refresh" msgstr "Обновяване" -#: git-gui.sh:3527 +#: git-gui.sh:3547 msgid "Decrease Font Size" msgstr "По-едър шрифт" -#: git-gui.sh:3531 +#: git-gui.sh:3551 msgid "Increase Font Size" msgstr "По-дребен шрифт" -#: git-gui.sh:3539 lib/blame.tcl:294 +#: git-gui.sh:3559 lib/blame.tcl:294 msgid "Encoding" msgstr "Кодиране" -#: git-gui.sh:3550 +#: git-gui.sh:3570 msgid "Apply/Reverse Hunk" msgstr "Прилагане/връщане на парче" -#: git-gui.sh:3555 +#: git-gui.sh:3575 msgid "Apply/Reverse Line" msgstr "Прилагане/връщане на ред" -#: git-gui.sh:3574 +#: git-gui.sh:3594 msgid "Run Merge Tool" msgstr "Изпълнение на програмата за сливане" -#: git-gui.sh:3579 +#: git-gui.sh:3599 msgid "Use Remote Version" msgstr "Версия от отдалеченото хранилище" -#: git-gui.sh:3583 +#: git-gui.sh:3603 msgid "Use Local Version" msgstr "Локална версия" -#: git-gui.sh:3587 +#: git-gui.sh:3607 msgid "Revert To Base" msgstr "Връщане към родителската версия" -#: git-gui.sh:3605 +#: git-gui.sh:3625 msgid "Visualize These Changes In The Submodule" msgstr "Визуализиране на промените в подмодула" -#: git-gui.sh:3609 +#: git-gui.sh:3629 msgid "Visualize Current Branch History In The Submodule" msgstr "Визуализация на историята на текущия клон в историята за подмодула" -#: git-gui.sh:3613 +#: git-gui.sh:3633 msgid "Visualize All Branch History In The Submodule" msgstr "Визуализация на историята на всички клони в историята за подмодула" -#: git-gui.sh:3618 +#: git-gui.sh:3638 msgid "Start git gui In The Submodule" msgstr "Стартиране на „git gui“ за подмодула" -#: git-gui.sh:3653 +#: git-gui.sh:3673 msgid "Unstage Hunk From Commit" msgstr "Изваждане на парчето от подаването" -#: git-gui.sh:3655 +#: git-gui.sh:3675 msgid "Unstage Lines From Commit" msgstr "Изваждане на редовете от подаването" -#: git-gui.sh:3657 +#: git-gui.sh:3677 msgid "Unstage Line From Commit" msgstr "Изваждане на реда от подаването" -#: git-gui.sh:3660 +#: git-gui.sh:3680 msgid "Stage Hunk For Commit" msgstr "Добавяне на парчето за подаване" -#: git-gui.sh:3662 +#: git-gui.sh:3682 msgid "Stage Lines For Commit" msgstr "Добавяне на редовете за подаване" -#: git-gui.sh:3664 +#: git-gui.sh:3684 msgid "Stage Line For Commit" msgstr "Добавяне на реда за подаване" -#: git-gui.sh:3689 +#: git-gui.sh:3709 msgid "Initializing..." msgstr "Инициализиране…" -#: git-gui.sh:3832 +#: git-gui.sh:3852 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -567,11 +572,11 @@ msgstr "" "Възможно е да има проблем със средата.\n" "\n" "Най-вероятно следните променливи няма да бъдат\n" -"взети под внимание от подпроцесите Git изпълнени\n" +"взети под внимание от подпроцесите на Git\n" "от %s:\n" "\n" -#: git-gui.sh:3861 +#: git-gui.sh:3881 msgid "" "\n" "This is due to a known issue with the\n" @@ -581,7 +586,7 @@ msgstr "" "Това е познат проблем и се дължи на\n" "версията на Tcl включена в Cygwin." -#: git-gui.sh:3866 +#: git-gui.sh:3886 #, tcl-format msgid "" "\n" @@ -593,9 +598,9 @@ msgid "" msgstr "" "\n" "\n" -"Добър заместител на %s\n" -"е да поставите настройките user.name и\n" -"user.email в личния си файл ~/.gitconfig.\n" +"Добър заместител на „%s“\n" +"е да поставите настройките „user.name“ и\n" +"„user.email“ в личния си файл „~/.gitconfig“.\n" #: lib/spellcheck.tcl:57 msgid "Unsupported spell checker" @@ -744,9 +749,9 @@ msgstr "[Към родителя]" msgid "Browse Branch Files" msgstr "Разглеждане на файловете в клона" -#: lib/browser.tcl:288 lib/choose_repository.tcl:406 -#: lib/choose_repository.tcl:493 lib/choose_repository.tcl:502 -#: lib/choose_repository.tcl:1029 +#: 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 "Разглеждане" @@ -762,12 +767,12 @@ msgstr "За изпълнението на „%s“ трябва да избер #: lib/tools.tcl:91 #, tcl-format msgid "Are you sure you want to run %1$s on file \"%2$s\"?" -msgstr "Сигурни ли сте, че искате да стартирате „%1$s“ върху „%2$s“?" +msgstr "Сигурни ли сте, че искате да изпълните „%1$s“ върху файла „%2$s“?" #: lib/tools.tcl:95 #, tcl-format msgid "Are you sure you want to run %s?" -msgstr "Сигурни ли сте, че искате да стартирате „%s“?" +msgstr "Сигурни ли сте, че искате да изпълните „%s“?" #: lib/tools.tcl:116 #, tcl-format @@ -797,7 +802,7 @@ msgstr "Клон за изтегляне" msgid "Checkout" msgstr "Изтегляне" -#: lib/branch_checkout.tcl:39 lib/option.tcl:309 lib/branch_create.tcl:69 +#: lib/branch_checkout.tcl:39 lib/option.tcl:310 lib/branch_create.tcl:69 msgid "Options" msgstr "Опции" @@ -812,7 +817,7 @@ msgstr "Изтриване от локалния клон" #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" -msgstr "Доставяне на промените от %s" +msgstr "Доставяне на промените от „%s“" #: lib/transport.tcl:18 #, tcl-format @@ -826,26 +831,25 @@ msgstr "Окастряне на следящите клони на изтрит #: lib/transport.tcl:25 msgid "fetch all remotes" -msgstr "доставяне на всички хранилища" +msgstr "доставяне на всички отдалечени хранилища" #: lib/transport.tcl:26 msgid "Fetching new changes from all remotes" -msgstr "Доставяне на промените от всички отдалечени хранилища" +msgstr "Доставяне на новите промени от всички отдалечени хранилища" #: lib/transport.tcl:40 msgid "remote prune all remotes" -msgstr "окастряне на всички клони следящи изтрити клони" +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" +msgstr "Изтласкване на промените към „%s“" #: lib/transport.tcl:93 #, tcl-format @@ -855,7 +859,7 @@ msgstr "Изтласкване на всичко към „%s“" #: lib/transport.tcl:111 #, tcl-format msgid "Pushing %s %s to %s" -msgstr "Изтласкване на %s %s към %s" +msgstr "Изтласкване на %s „%s“ към „%s“" #: lib/transport.tcl:132 msgid "Push Branches" @@ -1031,7 +1035,7 @@ msgid "" "If you like this text, it can be your font." msgstr "" "Това е примерен текст.\n" -"Ако ви харесва как изглежда, изберете този шрифт." +"Ако ви харесва как изглежда, изберете шрифта." #: lib/option.tcl:11 #, tcl-format @@ -1098,7 +1102,8 @@ msgstr "Напасване на следящите клонове" #: lib/option.tcl:151 msgid "Use Textconv For Diffs and Blames" -msgstr "Използване на „textconv“ за разликите и анотациите" +msgstr "" +"Преобразуване на текста с „textconv“ при анотиране и извеждане на разлики" #: lib/option.tcl:152 msgid "Blame Copy Only On Changed Files" @@ -1106,7 +1111,7 @@ msgstr "Анотиране на копието само по променени #: lib/option.tcl:153 msgid "Maximum Length of Recent Repositories List" -msgstr "Максимален брой скоро ползвани хранилища" +msgstr "Максимална дължина на списъка със скоро ползвани хранилища" #: lib/option.tcl:154 msgid "Minimum Letters To Blame Copy On" @@ -1122,7 +1127,7 @@ msgstr "Брой редове за контекста при извеждане #: lib/option.tcl:157 msgid "Additional Diff Parameters" -msgstr "Допълнителни параметри за разликите" +msgstr "Допълнителни аргументи към „git diff“" #: lib/option.tcl:158 msgid "Commit Message Text Width" @@ -1138,45 +1143,62 @@ msgstr "Стандартно кодиране на файловете" #: lib/option.tcl:161 msgid "Warn before committing to a detached head" -msgstr "Предупреждение при подаване към несвързан връх" +msgstr "Предупреждаване при подаването при несвързан връх" #: lib/option.tcl:162 msgid "Staging of untracked files" -msgstr "Добавяне на неследените файлове към индекса" +msgstr "Вкарване на неследени файлове в индекса" #: lib/option.tcl:163 msgid "Show untracked files" msgstr "Показване на неследените файлове" -#: lib/option.tcl:209 +#: lib/option.tcl:164 +msgid "Tab spacing" +msgstr "Размер на табулацията в интервали" + +#: lib/option.tcl:210 msgid "Change" msgstr "Смяна" -#: lib/option.tcl:253 +#: lib/option.tcl:254 msgid "Spelling Dictionary:" msgstr "Правописен речник:" -#: lib/option.tcl:283 +#: lib/option.tcl:284 msgid "Change Font" msgstr "Смяна на шрифта" -#: lib/option.tcl:287 +#: lib/option.tcl:288 #, tcl-format msgid "Choose %s" msgstr "Избор на „%s“" -#: lib/option.tcl:293 +#: lib/option.tcl:294 msgid "pt." msgstr "тчк." -#: lib/option.tcl:307 +#: lib/option.tcl:308 msgid "Preferences" msgstr "Настройки" -#: lib/option.tcl:344 +#: 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/mergetool.tcl:8 msgid "Force resolution to the base version?" msgstr "Да се използва базовата версия" @@ -1208,7 +1230,7 @@ msgstr "" #, tcl-format msgid "File %s seems to have unresolved conflicts, still stage?" msgstr "" -"Изглежда, че във файла „%s“ все още има некоригирани конфликти. Да се добави " +"Изглежда, че все още има некоригирани конфликти във файла „%s“. Да се добави " "ли файлът към индекса?" #: lib/mergetool.tcl:60 @@ -1286,7 +1308,7 @@ msgstr "Подробности за командата" #: lib/tools_dlg.tcl:49 msgid "Use '/' separators to create a submenu tree:" -msgstr "За създаване на подменюта използвайте за разделител знака „/“:" +msgstr "За създаване на подменюта използвайте знака „/“ за разделител:" #: lib/tools_dlg.tcl:60 msgid "Command:" @@ -1346,7 +1368,7 @@ msgstr "Премахване" #: lib/tools_dlg.tcl:231 msgid "(Blue denotes repository-local tools)" -msgstr "(команди към локалното хранилище са обозначени в синьо)" +msgstr "(командите към локалното хранилище са обозначени в синьо)" #: lib/tools_dlg.tcl:292 #, tcl-format @@ -1379,7 +1401,7 @@ msgstr "Предишна поява" #: lib/search.tcl:52 msgid "RegExp" -msgstr "Рег. изр." +msgstr "Рег. израз" #: lib/search.tcl:54 msgid "Case" @@ -1393,7 +1415,7 @@ msgstr "Клавишната комбинация не може да бъде з msgid "Cannot write icon:" msgstr "Иконата не може да бъде запазена:" -#: lib/diff.tcl:64 +#: lib/diff.tcl:77 #, tcl-format msgid "" "No differences detected.\n" @@ -1416,12 +1438,12 @@ msgstr "" "Автоматично ще започне нова проверка дали няма други файлове в това " "състояние." -#: lib/diff.tcl:104 +#: lib/diff.tcl:117 #, tcl-format msgid "Loading diff of %s..." msgstr "Зареждане на разликите в „%s“…" -#: lib/diff.tcl:125 +#: lib/diff.tcl:140 msgid "" "LOCAL: deleted\n" "REMOTE:\n" @@ -1429,7 +1451,7 @@ msgstr "" "ЛОКАЛНО: изтрит\n" "ОТДАЛЕЧЕНО:\n" -#: lib/diff.tcl:130 +#: lib/diff.tcl:145 msgid "" "REMOTE: deleted\n" "LOCAL:\n" @@ -1437,41 +1459,41 @@ msgstr "" "ОТДАЛЕЧЕНО: изтрит\n" "ЛОКАЛНО:\n" -#: lib/diff.tcl:137 +#: lib/diff.tcl:152 msgid "LOCAL:\n" msgstr "ЛОКАЛНО:\n" -#: lib/diff.tcl:140 +#: lib/diff.tcl:155 msgid "REMOTE:\n" msgstr "ОТДАЛЕЧЕНО:\n" -#: lib/diff.tcl:202 lib/diff.tcl:337 +#: lib/diff.tcl:217 lib/diff.tcl:355 #, tcl-format msgid "Unable to display %s" -msgstr "Не може да бъде показан файлът „%s“" +msgstr "Файлът „%s“ не може да бъде показан" -#: lib/diff.tcl:203 +#: lib/diff.tcl:218 msgid "Error loading file:" msgstr "Грешка при зареждане на файл:" -#: lib/diff.tcl:210 +#: lib/diff.tcl:225 msgid "Git Repository (subproject)" -msgstr "Хранилище на Git (подпроект)" +msgstr "Хранилище на Git (подмодул)" -#: lib/diff.tcl:222 +#: lib/diff.tcl:237 msgid "* Binary file (not showing content)." -msgstr "⁃ Двоичен файл (съдържанието не се показва)." +msgstr "● Двоичен файл (съдържанието не се показва)." -#: lib/diff.tcl:227 +#: lib/diff.tcl:242 #, tcl-format msgid "" "* Untracked file is %d bytes.\n" "* Showing only first %d bytes.\n" msgstr "" -"⁃ Неследеният файл е %d байта.\n" -"⁃ Показват се само първите %d байта.\n" +"● Неследеният файл е %d байта.\n" +"● Показват се само първите %d байта.\n" -#: lib/diff.tcl:233 +#: lib/diff.tcl:248 #, tcl-format msgid "" "\n" @@ -1479,26 +1501,26 @@ msgid "" "* To see the entire file, use an external editor.\n" msgstr "" "\n" -"⁃ Неследеният файл е отрязан дотук %s.\n" -"⁃ Използвайте външен редактор, за да видите целия файл.\n" +"● Неследеният файл е отрязан дотук от програмата „%s“.\n" +"● Използвайте външен редактор, за да видите целия файл.\n" -#: lib/diff.tcl:338 lib/blame.tcl:1128 +#: lib/diff.tcl:356 lib/blame.tcl:1128 msgid "Error loading diff:" msgstr "Грешка при зареждане на разлика:" -#: lib/diff.tcl:557 +#: lib/diff.tcl:578 msgid "Failed to unstage selected hunk." msgstr "Избраното парче не може да бъде извадено от индекса." -#: lib/diff.tcl:564 +#: lib/diff.tcl:585 msgid "Failed to stage selected hunk." -msgstr "Избраното парче не може да бъде добавен към индекса." +msgstr "Избраното парче не може да бъде добавено към индекса." -#: lib/diff.tcl:643 +#: lib/diff.tcl:664 msgid "Failed to unstage selected line." msgstr "Избраният ред не може да бъде изваден от индекса." -#: lib/diff.tcl:651 +#: lib/diff.tcl:672 msgid "Failed to stage selected line." msgstr "Избраният ред не може да бъде добавен към индекса." @@ -1512,7 +1534,7 @@ msgstr "От хранилище" #: lib/remote_branch_delete.tcl:88 msgid "Branches" -msgstr "Клонове" +msgstr "Клони" #: lib/remote_branch_delete.tcl:110 msgid "Delete Only If" @@ -1539,7 +1561,7 @@ msgid "" msgstr "" "Следните клони не са слети напълно в „%s“:\n" "\n" -" ⁃ %s" +" ● %s" #: lib/remote_branch_delete.tcl:190 #, tcl-format @@ -1578,239 +1600,251 @@ msgstr "Не е избрано хранилище." msgid "Scanning %s..." msgstr "Претърсване на „%s“…" -#: lib/choose_repository.tcl:32 +#: lib/choose_repository.tcl:33 msgid "Git Gui" msgstr "ГПИ на Git" -#: lib/choose_repository.tcl:91 lib/choose_repository.tcl:396 +#: lib/choose_repository.tcl:92 lib/choose_repository.tcl:412 msgid "Create New Repository" msgstr "Създаване на ново хранилище" -#: lib/choose_repository.tcl:97 +#: lib/choose_repository.tcl:98 msgid "New..." msgstr "Ново…" -#: lib/choose_repository.tcl:104 lib/choose_repository.tcl:480 +#: lib/choose_repository.tcl:105 lib/choose_repository.tcl:496 msgid "Clone Existing Repository" msgstr "Клониране на съществуващо хранилище" -#: lib/choose_repository.tcl:115 +#: lib/choose_repository.tcl:116 msgid "Clone..." msgstr "Клониране…" -#: lib/choose_repository.tcl:122 lib/choose_repository.tcl:1019 +#: lib/choose_repository.tcl:123 lib/choose_repository.tcl:1064 msgid "Open Existing Repository" msgstr "Отваряне на съществуващо хранилище" -#: lib/choose_repository.tcl:128 +#: lib/choose_repository.tcl:129 msgid "Open..." msgstr "Отваряне…" -#: lib/choose_repository.tcl:141 +#: lib/choose_repository.tcl:142 msgid "Recent Repositories" msgstr "Скоро ползвани" -#: lib/choose_repository.tcl:147 +#: lib/choose_repository.tcl:148 msgid "Open Recent Repository:" msgstr "Отваряне на хранилище ползвано наскоро:" -#: lib/choose_repository.tcl:315 lib/choose_repository.tcl:322 -#: lib/choose_repository.tcl:329 +#: lib/choose_repository.tcl:316 lib/choose_repository.tcl:323 +#: lib/choose_repository.tcl:330 #, tcl-format msgid "Failed to create repository %s:" msgstr "Неуспешно създаване на хранилището „%s“:" -#: lib/choose_repository.tcl:391 lib/branch_create.tcl:33 +#: lib/choose_repository.tcl:407 lib/branch_create.tcl:33 msgid "Create" msgstr "Създаване" -#: lib/choose_repository.tcl:401 +#: lib/choose_repository.tcl:417 msgid "Directory:" msgstr "Директория:" -#: lib/choose_repository.tcl:431 lib/choose_repository.tcl:552 -#: lib/choose_repository.tcl:1053 +#: lib/choose_repository.tcl:447 lib/choose_repository.tcl:573 +#: lib/choose_repository.tcl:1098 msgid "Git Repository" msgstr "Хранилище на Git" -#: lib/choose_repository.tcl:456 +#: lib/choose_repository.tcl:472 #, tcl-format msgid "Directory %s already exists." msgstr "Вече съществува директория „%s“." -#: lib/choose_repository.tcl:460 +#: lib/choose_repository.tcl:476 #, tcl-format msgid "File %s already exists." msgstr "Вече съществува файл „%s“." -#: lib/choose_repository.tcl:475 +#: lib/choose_repository.tcl:491 msgid "Clone" msgstr "Клониране" -#: lib/choose_repository.tcl:488 +#: lib/choose_repository.tcl:504 msgid "Source Location:" msgstr "Адрес на източника:" -#: lib/choose_repository.tcl:497 +#: lib/choose_repository.tcl:513 msgid "Target Directory:" msgstr "Целева директория:" -#: lib/choose_repository.tcl:507 +#: lib/choose_repository.tcl:523 msgid "Clone Type:" msgstr "Вид клониране:" -#: lib/choose_repository.tcl:512 +#: lib/choose_repository.tcl:528 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Стандартно (бързо, частично споделяне на файлове, твърди връзки)" -#: lib/choose_repository.tcl:517 +#: lib/choose_repository.tcl:533 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Пълно (бавно, пълноценно резервно копие)" -#: lib/choose_repository.tcl:522 +#: lib/choose_repository.tcl:538 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Споделено (най-бързо, не се препоръчва, не прави резервно копие)" -#: lib/choose_repository.tcl:558 lib/choose_repository.tcl:605 -#: lib/choose_repository.tcl:751 lib/choose_repository.tcl:821 -#: lib/choose_repository.tcl:1059 lib/choose_repository.tcl:1067 +#: lib/choose_repository.tcl:545 +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 #, tcl-format msgid "Not a Git repository: %s" msgstr "Това не е хранилище на Git: %s" -#: lib/choose_repository.tcl:594 +#: lib/choose_repository.tcl:615 msgid "Standard only available for local repository." msgstr "Само локални хранилища могат да се клонират стандартно" -#: lib/choose_repository.tcl:598 +#: lib/choose_repository.tcl:619 msgid "Shared only available for local repository." msgstr "Само локални хранилища могат да се клонират споделено" -#: lib/choose_repository.tcl:619 +#: lib/choose_repository.tcl:640 #, tcl-format msgid "Location %s already exists." -msgstr "Вече съществува местоположението „%s“." +msgstr "Местоположението „%s“ вече съществува." -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:651 msgid "Failed to configure origin" msgstr "Неуспешно настройване на хранилището-източник" -#: lib/choose_repository.tcl:642 +#: lib/choose_repository.tcl:663 msgid "Counting objects" msgstr "Преброяване на обекти" -#: lib/choose_repository.tcl:643 +#: lib/choose_repository.tcl:664 msgid "buckets" msgstr "клетки" -#: lib/choose_repository.tcl:667 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Обектите/информацията/синонимите не могат да бъдат копирани: %s" -#: lib/choose_repository.tcl:703 +#: lib/choose_repository.tcl:724 #, tcl-format msgid "Nothing to clone from %s." msgstr "Няма какво да се клонира от „%s“." -#: lib/choose_repository.tcl:705 lib/choose_repository.tcl:919 -#: lib/choose_repository.tcl:931 +#: lib/choose_repository.tcl:726 lib/choose_repository.tcl:940 +#: lib/choose_repository.tcl:952 msgid "The 'master' branch has not been initialized." msgstr "Основният клон — „master“ не е инициализиран." -#: lib/choose_repository.tcl:718 +#: lib/choose_repository.tcl:739 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Не се поддържат твърди връзки. Преминава се към копиране." -#: lib/choose_repository.tcl:730 +#: lib/choose_repository.tcl:751 #, tcl-format msgid "Cloning from %s" msgstr "Клониране на „%s“" -#: lib/choose_repository.tcl:761 +#: lib/choose_repository.tcl:782 msgid "Copying objects" msgstr "Копиране на обекти" -#: lib/choose_repository.tcl:762 +#: lib/choose_repository.tcl:783 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:786 +#: lib/choose_repository.tcl:807 #, tcl-format msgid "Unable to copy object: %s" msgstr "Неуспешно копиране на обект: %s" -#: lib/choose_repository.tcl:796 +#: lib/choose_repository.tcl:817 msgid "Linking objects" msgstr "Създаване на връзки към обектите" -#: lib/choose_repository.tcl:797 +#: lib/choose_repository.tcl:818 msgid "objects" msgstr "обекти" -#: lib/choose_repository.tcl:805 +#: lib/choose_repository.tcl:826 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Неуспешно създаване на твърда връзка към обект: %s" -#: lib/choose_repository.tcl:860 +#: lib/choose_repository.tcl:881 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Клоните и обектите не могат да бъдат изтеглени. За повече информация " "погледнете изхода на конзолата." -#: lib/choose_repository.tcl:871 +#: lib/choose_repository.tcl:892 msgid "Cannot fetch tags. See console output for details." msgstr "" "Етикетите не могат да бъдат изтеглени. За повече информация погледнете " "изхода на конзолата." -#: lib/choose_repository.tcl:895 +#: lib/choose_repository.tcl:916 msgid "Cannot determine HEAD. See console output for details." msgstr "" -"Върхът HEAD не може да бъде определен. За повече информация погледнете " +"Върхът „HEAD“ не може да бъде определен. За повече информация погледнете " "изхода на конзолата." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:925 #, tcl-format msgid "Unable to cleanup %s" -msgstr "Не може да се зачисти „%s“" +msgstr "„%s“ не може да се зачисти" -#: lib/choose_repository.tcl:910 +#: lib/choose_repository.tcl:931 msgid "Clone failed." msgstr "Неуспешно клониране." -#: lib/choose_repository.tcl:917 +#: lib/choose_repository.tcl:938 msgid "No default branch obtained." msgstr "Не е получен клон по подразбиране." -#: lib/choose_repository.tcl:928 +#: lib/choose_repository.tcl:949 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Няма подаване отговарящо на „%s“." -#: lib/choose_repository.tcl:940 +#: lib/choose_repository.tcl:961 msgid "Creating working directory" msgstr "Създаване на работната директория" -#: lib/choose_repository.tcl:941 lib/index.tcl:70 lib/index.tcl:136 +#: lib/choose_repository.tcl:962 lib/index.tcl:70 lib/index.tcl:136 #: lib/index.tcl:207 msgid "files" msgstr "файлове" -#: lib/choose_repository.tcl:970 +#: lib/choose_repository.tcl:981 +msgid "Cannot clone submodules." +msgstr "Подмодулите не могат да се клонират." + +#: lib/choose_repository.tcl:990 +msgid "Cloning submodules" +msgstr "Клониране на подмодулите" + +#: lib/choose_repository.tcl:1015 msgid "Initial file checkout failed." msgstr "Неуспешно първоначално изтегляне." -#: lib/choose_repository.tcl:1014 +#: lib/choose_repository.tcl:1059 msgid "Open" msgstr "Отваряне" -#: lib/choose_repository.tcl:1024 +#: lib/choose_repository.tcl:1069 msgid "Repository:" msgstr "Хранилище:" -#: lib/choose_repository.tcl:1073 +#: lib/choose_repository.tcl:1118 #, tcl-format msgid "Failed to open repository %s:" msgstr "Неуспешно отваряне на хранилището „%s“:" @@ -1849,7 +1883,7 @@ msgid "" msgstr "" "Клонът „%s“ съществува.\n" "\n" -"Той не може да бъде тривиално превъртян до %s.\n" +"Той не може да бъде тривиално слят до „%s“.\n" "Необходимо е сливане." #: lib/checkout_op.tcl:243 @@ -2003,7 +2037,7 @@ msgstr "Изберете клон за следени." #: lib/branch_create.tcl:141 #, tcl-format msgid "Tracking branch %s is not a branch in the remote repository." -msgstr "Клонът, който се следи „%s“ не съществува в отдалеченото хранилище." +msgstr "Следящият клон — „%s“, не съществува в отдалеченото хранилище." #: lib/console.tcl:59 msgid "Working... please wait..." @@ -2023,7 +2057,7 @@ msgstr "Това несвързано изтегляне" #: lib/choose_rev.tcl:60 msgid "Revision Expression:" -msgstr "Израз за версия" +msgstr "Израз за версия:" #: lib/choose_rev.tcl:72 msgid "Local Branch" @@ -2101,7 +2135,7 @@ msgstr "Идентификацията ви не може да бъде опре #: lib/commit.tcl:80 msgid "Invalid GIT_COMMITTER_IDENT:" -msgstr "Неправилно поле GIT_COMMITTER_IDENT:" +msgstr "Неправилно поле „GIT_COMMITTER_IDENT“:" #: lib/commit.tcl:129 #, tcl-format @@ -2157,7 +2191,7 @@ msgid "" msgstr "" "Няма промени за подаване.\n" "\n" -"Трябва да добавите поне 1 файл към индекса, преди да подадете.\n" +"Трябва да добавите поне един файл към индекса, за да подадете.\n" #: lib/commit.tcl:204 msgid "" @@ -2173,9 +2207,9 @@ msgstr "" "\n" "Използвайте следния формат:\n" "\n" -"⁃ Първи ред: описание в едно изречение на промяната.\n" -"⁃ Втори ред: празен.\n" -"⁃ Останалите редове: опишете защо се налага тази промяна.\n" +"● Първи ред: описание в едно изречение на промяната.\n" +"● Втори ред: празен.\n" +"● Останалите редове: опишете защо се налага тази промяна.\n" #: lib/commit.tcl:235 msgid "Calling pre-commit hook..." @@ -2194,13 +2228,12 @@ msgid "" " \n" " Do you really want to proceed with your Commit?" msgstr "" -"Ще подадете към несвързан връх. Това действие е опасно, защото при " -"преминаването към който и да е клон ще загубите промените си и не е сигурно, " -"че ще можете по-късно да ги възстановите чрез журнала на указателите. Най-" -"вероятно трябва първо да създадете клон базиран на текущото състояние и да " -"подадете към него.\n" +"Ще подавате към несвързан връх. Това е опасно — при изтеглянето на друг клон " +"ще изгубите промените си. След това може да е невъзможно да ги възстановите " +"от журнала на указателите „reflog“. Най-вероятно трябва да отмените това " +"подаване и да създадете клон, в който да подадете.\n" " \n" -"Сигурни ли сте, че искате да подадете точно сега?" +"Сигурни ли сте, че искате да подадете към несвързан връх?" #: lib/commit.tcl:290 msgid "Calling commit-msg hook..." @@ -2212,7 +2245,7 @@ msgstr "Подаването е отхвърлено от куката за съ #: lib/commit.tcl:318 msgid "Committing changes..." -msgstr "Подаване на промените." +msgstr "Подаване на промените…" #: lib/commit.tcl:334 msgid "write-tree failed:" @@ -2278,7 +2311,7 @@ msgstr "Изтриване, само ако промените са слети #: lib/branch_delete.tcl:103 #, tcl-format msgid "The following branches are not completely merged into %s:" -msgstr "Не всички промени в клоните са слети в %s:" +msgstr "Не всички промени в клоните са слети в „%s“:" #: lib/branch_delete.tcl:141 #, tcl-format @@ -2324,7 +2357,7 @@ msgstr "Анотиране на родителското подаване" #: lib/blame.tcl:466 #, tcl-format msgid "Reading %s..." -msgstr "%s се чете…" +msgstr "Чете се „%s“…" #: lib/blame.tcl:594 msgid "Loading copy/move tracking annotations..." @@ -2372,7 +2405,7 @@ msgstr "Първоначален файл:" #: lib/blame.tcl:1057 msgid "Cannot find HEAD commit:" -msgstr "Подаването за връх HEAD не може да се открие:" +msgstr "Подаването за връх „HEAD“ не може да се открие:" #: lib/blame.tcl:1112 msgid "Cannot find parent commit:" @@ -2421,7 +2454,7 @@ msgstr "Отключване на индекса" #: lib/index.tcl:298 #, tcl-format msgid "Unstaging %s from commit" -msgstr "Изваждане на %s от подаването" +msgstr "Изваждане на „%s“ от подаването" #: lib/index.tcl:337 msgid "Ready to commit." @@ -2435,7 +2468,7 @@ msgstr "Добавяне на „%s“" #: lib/index.tcl:380 #, tcl-format msgid "Stage %d untracked files?" -msgstr "Да се добавят ли %d на брой неследени файла към индекса?" +msgstr "Да се вкарат ли %d неследени файла в индекса?" #: lib/index.tcl:428 #, tcl-format @@ -2466,19 +2499,6 @@ msgstr "Махане на промените в избраните файлов msgid "Reverting %s" msgstr "Махане на промените в „%s“" -#: 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/date.tcl:25 #, tcl-format msgid "Invalid date from Git: %s" @@ -2518,7 +2538,7 @@ msgstr "Компресиране на базата с данни за обект #: lib/database.tcl:83 msgid "Verifying the object database with fsck-objects" -msgstr "Проверка на базата с данни за обектите с програмата fsck-objects" +msgstr "Проверка на базата с данни за обектите с програмата „fsck-objects“" #: lib/database.tcl:107 #, tcl-format @@ -2532,7 +2552,7 @@ msgid "" msgstr "" "В това хранилище в момента има към %i непакетирани обекти.\n" "\n" -"Зd добра производителност се препоръчва да компресирате базата с данни за " +"За добра производителност се препоръчва да компресирате базата с данни за " "обектите.\n" "\n" "Да се започне ли компресирането?" @@ -2547,7 +2567,7 @@ msgstr "предупреждение" #: lib/error.tcl:96 msgid "You must correct the above errors before committing." -msgstr "Преди да можете да подадете, оправете горните грешки." +msgstr "Преди да можете да подадете, коригирайте горните грешки." #: lib/merge.tcl:13 msgid "" @@ -2659,7 +2679,7 @@ msgid "" msgstr "" "Да се преустанови ли сливането?\n" "\n" -"В такъв случай *ВСИЧКИ* неподадени промени ще бъдат безвъзвратно загубени.\n" +"В такъв случай ●ВСИЧКИ● неподадени промени ще бъдат безвъзвратно загубени.\n" "\n" "Наистина ли да се преустанови сливането?" @@ -2673,7 +2693,7 @@ msgid "" msgstr "" "Да се занулят ли промените?\n" "\n" -"В такъв случай *ВСИЧКИ* неподадени промени ще бъдат безвъзвратно загубени.\n" +"В такъв случай ●ВСИЧКИ● неподадени промени ще бъдат безвъзвратно загубени.\n" "\n" "Наистина ли да се занулят промените?" diff --git a/git-gui/po/sv.po b/git-gui/po/sv.po index fcb063ffa6..1b4ad8368e 100644 --- a/git-gui/po/sv.po +++ b/git-gui/po/sv.po @@ -2,47 +2,51 @@ # Copyright (C) 2007-2008 Shawn Pearce, et al. # This file is distributed under the same license as the git-gui package. # -# Peter Krefting , 2007-2008. # Mikael Magnusson , 2008. +# Peter Krefting , 2007-2008, 2015. +# msgid "" msgstr "" "Project-Id-Version: sv\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-09-12 21:11+0100\n" -"PO-Revision-Date: 2010-09-12 21:12+0100\n" +"POT-Creation-Date: 2015-03-27 10:15+0100\n" +"PO-Revision-Date: 2015-03-27 10:24+0100\n" "Last-Translator: Peter Krefting \n" "Language-Team: Swedish \n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.6\n" -#: git-gui.sh:781 +#: git-gui.sh:861 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ogiltigt teckensnitt angivet i %s:" -#: git-gui.sh:831 +#: git-gui.sh:915 msgid "Main Font" msgstr "Huvudteckensnitt" -#: git-gui.sh:832 +#: git-gui.sh:916 msgid "Diff/Console Font" msgstr "Diff/konsolteckensnitt" -#: git-gui.sh:845 git-gui.sh:859 git-gui.sh:872 git-gui.sh:955 git-gui.sh:974 -#: git-gui.sh:2964 +#: git-gui.sh:931 git-gui.sh:945 git-gui.sh:958 git-gui.sh:1048 +#: git-gui.sh:1067 git-gui.sh:3125 msgid "git-gui: fatal error" msgstr "git-gui: ödesdigert fel" -#: git-gui.sh:846 +#: git-gui.sh:932 msgid "Cannot find git in PATH." msgstr "Hittar inte git i PATH." -#: git-gui.sh:873 +#: git-gui.sh:959 msgid "Cannot parse Git version string:" msgstr "Kan inte tolka versionssträng från Git:" -#: git-gui.sh:891 +#: git-gui.sh:984 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,478 +65,505 @@ msgstr "" "\n" "Anta att \"%s\" är version 1.5.0?\n" -#: git-gui.sh:1180 +#: git-gui.sh:1281 msgid "Git directory not found:" msgstr "Git-katalogen hittades inte:" -#: git-gui.sh:1201 +#: git-gui.sh:1315 msgid "Cannot move to top of working directory:" msgstr "Kan inte gå till början på arbetskatalogen:" -#: git-gui.sh:1209 +#: git-gui.sh:1323 msgid "Cannot use bare repository:" msgstr "Kan inte använda naket arkiv:" -#: git-gui.sh:1217 +#: git-gui.sh:1331 msgid "No working directory" msgstr "Ingen arbetskatalog" -#: git-gui.sh:1389 lib/checkout_op.tcl:306 +#: git-gui.sh:1503 lib/checkout_op.tcl:306 msgid "Refreshing file status..." msgstr "Uppdaterar filstatus..." -#: git-gui.sh:1445 +#: git-gui.sh:1563 msgid "Scanning for modified files ..." msgstr "Söker efter ändrade filer..." -#: git-gui.sh:1509 +#: git-gui.sh:1639 msgid "Calling prepare-commit-msg hook..." msgstr "" "Anropar kroken för förberedelse av incheckningsmeddelande (prepare-commit-" "msg)..." -#: git-gui.sh:1526 +#: git-gui.sh:1656 msgid "Commit declined by prepare-commit-msg hook." msgstr "" "Incheckningen avvisades av kroken för förberedelse av incheckningsmeddelande " "(prepare-commit-msg)." -#: git-gui.sh:1684 lib/browser.tcl:246 +#: git-gui.sh:1814 lib/browser.tcl:252 msgid "Ready." msgstr "Klar." -#: git-gui.sh:1842 +#: git-gui.sh:1978 #, tcl-format -msgid "Displaying only %s of %s files." -msgstr "Visar endast %s av %s filer." +msgid "" +"Display limit (gui.maxfilesdisplayed = %s) reached, not showing all %s files." +msgstr "" +"Visningsgräns (gui.maxfilesdisplayed = %s) nådd, visare inte samtliga %s " +"filer." -#: git-gui.sh:1968 +#: git-gui.sh:2101 msgid "Unmodified" msgstr "Oförändrade" -#: git-gui.sh:1970 +#: git-gui.sh:2103 msgid "Modified, not staged" msgstr "Förändrade, ej köade" -#: git-gui.sh:1971 git-gui.sh:1979 +#: git-gui.sh:2104 git-gui.sh:2116 msgid "Staged for commit" msgstr "Köade för incheckning" -#: git-gui.sh:1972 git-gui.sh:1980 +#: git-gui.sh:2105 git-gui.sh:2117 msgid "Portions staged for commit" msgstr "Delar köade för incheckning" -#: git-gui.sh:1973 git-gui.sh:1981 +#: git-gui.sh:2106 git-gui.sh:2118 msgid "Staged for commit, missing" msgstr "Köade för incheckning, saknade" -#: git-gui.sh:1975 +#: git-gui.sh:2108 msgid "File type changed, not staged" msgstr "Filtyp ändrad, ej köade" -#: git-gui.sh:1976 +#: git-gui.sh:2109 git-gui.sh:2110 +msgid "File type changed, old type staged for commit" +msgstr "Filtyp ändrad, gammal typ köade för incheckning" + +#: git-gui.sh:2111 msgid "File type changed, staged" msgstr "Filtyp ändrad, köade" -#: git-gui.sh:1978 +#: git-gui.sh:2112 +msgid "File type change staged, modification not staged" +msgstr "Filtypsändringar köade, innehållsändringar ej köade" + +#: git-gui.sh:2113 +msgid "File type change staged, file missing" +msgstr "Filtypsändringar köade, fil saknas" + +#: git-gui.sh:2115 msgid "Untracked, not staged" msgstr "Ej spårade, ej köade" -#: git-gui.sh:1983 +#: git-gui.sh:2120 msgid "Missing" msgstr "Saknade" -#: git-gui.sh:1984 +#: git-gui.sh:2121 msgid "Staged for removal" msgstr "Köade för borttagning" -#: git-gui.sh:1985 +#: git-gui.sh:2122 msgid "Staged for removal, still present" msgstr "Köade för borttagning, fortfarande närvarande" -#: git-gui.sh:1987 git-gui.sh:1988 git-gui.sh:1989 git-gui.sh:1990 -#: git-gui.sh:1991 git-gui.sh:1992 +#: git-gui.sh:2124 git-gui.sh:2125 git-gui.sh:2126 git-gui.sh:2127 +#: git-gui.sh:2128 git-gui.sh:2129 msgid "Requires merge resolution" msgstr "Kräver konflikthantering efter sammanslagning" -#: git-gui.sh:2027 +#: git-gui.sh:2164 msgid "Starting gitk... please wait..." msgstr "Startar gitk... vänta..." -#: git-gui.sh:2039 +#: git-gui.sh:2176 msgid "Couldn't find gitk in PATH" msgstr "Hittade inte gitk i PATH." -#: git-gui.sh:2098 +#: git-gui.sh:2235 msgid "Couldn't find git gui in PATH" msgstr "Hittade inte git gui i PATH." -#: git-gui.sh:2515 lib/choose_repository.tcl:36 +#: git-gui.sh:2654 lib/choose_repository.tcl:41 msgid "Repository" msgstr "Arkiv" -#: git-gui.sh:2516 +#: git-gui.sh:2655 msgid "Edit" msgstr "Redigera" -#: git-gui.sh:2518 lib/choose_rev.tcl:566 +#: git-gui.sh:2657 lib/choose_rev.tcl:567 msgid "Branch" msgstr "Gren" -#: git-gui.sh:2521 lib/choose_rev.tcl:553 +#: git-gui.sh:2660 lib/choose_rev.tcl:554 msgid "Commit@@noun" msgstr "Incheckning" -#: git-gui.sh:2524 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:2663 lib/merge.tcl:123 lib/merge.tcl:152 lib/merge.tcl:170 msgid "Merge" msgstr "Slå ihop" -#: git-gui.sh:2525 lib/choose_rev.tcl:562 +#: git-gui.sh:2664 lib/choose_rev.tcl:563 msgid "Remote" msgstr "Fjärrarkiv" -#: git-gui.sh:2528 +#: git-gui.sh:2667 msgid "Tools" msgstr "Verktyg" -#: git-gui.sh:2537 +#: git-gui.sh:2676 msgid "Explore Working Copy" msgstr "Utforska arbetskopia" -#: git-gui.sh:2543 +#: git-gui.sh:2682 +msgid "Git Bash" +msgstr "Git Bash" + +#: git-gui.sh:2692 msgid "Browse Current Branch's Files" msgstr "Bläddra i grenens filer" -#: git-gui.sh:2547 +#: git-gui.sh:2696 msgid "Browse Branch Files..." msgstr "Bläddra filer på gren..." -#: git-gui.sh:2552 +#: git-gui.sh:2701 msgid "Visualize Current Branch's History" msgstr "Visualisera grenens historik" -#: git-gui.sh:2556 +#: git-gui.sh:2705 msgid "Visualize All Branch History" msgstr "Visualisera alla grenars historik" -#: git-gui.sh:2563 +#: git-gui.sh:2712 #, tcl-format msgid "Browse %s's Files" msgstr "Bläddra i filer för %s" -#: git-gui.sh:2565 +#: git-gui.sh:2714 #, tcl-format msgid "Visualize %s's History" msgstr "Visualisera historik för %s" -#: git-gui.sh:2570 lib/database.tcl:40 lib/database.tcl:66 +#: git-gui.sh:2719 lib/database.tcl:40 lib/database.tcl:66 msgid "Database Statistics" msgstr "Databasstatistik" -#: git-gui.sh:2573 lib/database.tcl:33 +#: git-gui.sh:2722 lib/database.tcl:33 msgid "Compress Database" msgstr "Komprimera databas" -#: git-gui.sh:2576 +#: git-gui.sh:2725 msgid "Verify Database" msgstr "Verifiera databas" -#: git-gui.sh:2583 git-gui.sh:2587 git-gui.sh:2591 lib/shortcut.tcl:8 +#: git-gui.sh:2732 git-gui.sh:2736 git-gui.sh:2740 lib/shortcut.tcl:8 #: lib/shortcut.tcl:40 lib/shortcut.tcl:72 msgid "Create Desktop Icon" msgstr "Skapa skrivbordsikon" -#: git-gui.sh:2599 lib/choose_repository.tcl:188 lib/choose_repository.tcl:196 +#: git-gui.sh:2748 lib/choose_repository.tcl:193 lib/choose_repository.tcl:201 msgid "Quit" msgstr "Avsluta" -#: git-gui.sh:2607 +#: git-gui.sh:2756 msgid "Undo" msgstr "Ångra" -#: git-gui.sh:2610 +#: git-gui.sh:2759 msgid "Redo" msgstr "Gör om" -#: git-gui.sh:2614 git-gui.sh:3190 +#: git-gui.sh:2763 git-gui.sh:3368 msgid "Cut" msgstr "Klipp ut" -#: git-gui.sh:2617 git-gui.sh:3193 git-gui.sh:3267 git-gui.sh:3340 +#: git-gui.sh:2766 git-gui.sh:3371 git-gui.sh:3445 git-gui.sh:3530 #: lib/console.tcl:69 msgid "Copy" msgstr "Kopiera" -#: git-gui.sh:2620 git-gui.sh:3196 +#: git-gui.sh:2769 git-gui.sh:3374 msgid "Paste" msgstr "Klistra in" -#: git-gui.sh:2623 git-gui.sh:3199 lib/branch_delete.tcl:28 -#: lib/remote_branch_delete.tcl:39 +#: git-gui.sh:2772 git-gui.sh:3377 lib/remote_branch_delete.tcl:39 +#: lib/branch_delete.tcl:28 msgid "Delete" msgstr "Ta bort" -#: git-gui.sh:2627 git-gui.sh:3203 git-gui.sh:3344 lib/console.tcl:71 +#: git-gui.sh:2776 git-gui.sh:3381 git-gui.sh:3534 lib/console.tcl:71 msgid "Select All" msgstr "Markera alla" -#: git-gui.sh:2636 +#: git-gui.sh:2785 msgid "Create..." msgstr "Skapa..." -#: git-gui.sh:2642 +#: git-gui.sh:2791 msgid "Checkout..." msgstr "Checka ut..." -#: git-gui.sh:2648 +#: git-gui.sh:2797 msgid "Rename..." msgstr "Byt namn..." -#: git-gui.sh:2653 +#: git-gui.sh:2802 msgid "Delete..." msgstr "Ta bort..." -#: git-gui.sh:2658 +#: git-gui.sh:2807 msgid "Reset..." msgstr "Återställ..." -#: git-gui.sh:2668 +#: git-gui.sh:2817 msgid "Done" msgstr "Färdig" -#: git-gui.sh:2670 +#: git-gui.sh:2819 msgid "Commit@@verb" msgstr "Checka in" -#: git-gui.sh:2679 git-gui.sh:3131 +#: git-gui.sh:2828 git-gui.sh:3309 msgid "New Commit" msgstr "Ny incheckning" -#: git-gui.sh:2687 git-gui.sh:3138 +#: git-gui.sh:2836 git-gui.sh:3316 msgid "Amend Last Commit" msgstr "Lägg till föregående incheckning" -#: git-gui.sh:2697 git-gui.sh:3092 lib/remote_branch_delete.tcl:101 +#: git-gui.sh:2846 git-gui.sh:3270 lib/remote_branch_delete.tcl:101 msgid "Rescan" msgstr "Sök på nytt" -#: git-gui.sh:2703 +#: git-gui.sh:2852 msgid "Stage To Commit" msgstr "Köa för incheckning" -#: git-gui.sh:2709 +#: git-gui.sh:2858 msgid "Stage Changed Files To Commit" msgstr "Köa ändrade filer för incheckning" -#: git-gui.sh:2715 +#: git-gui.sh:2864 msgid "Unstage From Commit" msgstr "Ta bort från incheckningskö" -#: git-gui.sh:2721 lib/index.tcl:415 +#: git-gui.sh:2870 lib/index.tcl:442 msgid "Revert Changes" msgstr "Återställ ändringar" -#: git-gui.sh:2729 git-gui.sh:3391 git-gui.sh:3422 +#: git-gui.sh:2878 git-gui.sh:3581 git-gui.sh:3612 msgid "Show Less Context" msgstr "Visa mindre sammanhang" -#: git-gui.sh:2733 git-gui.sh:3395 git-gui.sh:3426 +#: git-gui.sh:2882 git-gui.sh:3585 git-gui.sh:3616 msgid "Show More Context" msgstr "Visa mer sammanhang" -#: git-gui.sh:2740 git-gui.sh:3105 git-gui.sh:3214 +#: git-gui.sh:2889 git-gui.sh:3283 git-gui.sh:3392 msgid "Sign Off" msgstr "Skriv under" -#: git-gui.sh:2756 +#: git-gui.sh:2905 msgid "Local Merge..." msgstr "Lokal sammanslagning..." -#: git-gui.sh:2761 +#: git-gui.sh:2910 msgid "Abort Merge..." msgstr "Avbryt sammanslagning..." -#: git-gui.sh:2773 git-gui.sh:2801 +#: git-gui.sh:2922 git-gui.sh:2950 msgid "Add..." msgstr "Lägg till..." -#: git-gui.sh:2777 +#: git-gui.sh:2926 msgid "Push..." msgstr "Sänd..." -#: git-gui.sh:2781 +#: git-gui.sh:2930 msgid "Delete Branch..." msgstr "Ta bort gren..." -#: git-gui.sh:2791 git-gui.sh:3373 +#: git-gui.sh:2940 git-gui.sh:3563 msgid "Options..." msgstr "Alternativ..." -#: git-gui.sh:2802 +#: git-gui.sh:2951 msgid "Remove..." msgstr "Ta bort..." -#: git-gui.sh:2811 lib/choose_repository.tcl:50 +#: git-gui.sh:2960 lib/choose_repository.tcl:55 msgid "Help" msgstr "Hjälp" -#: git-gui.sh:2815 git-gui.sh:2819 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 +#: git-gui.sh:2964 git-gui.sh:2968 lib/choose_repository.tcl:49 +#: lib/choose_repository.tcl:58 lib/about.tcl:14 #, tcl-format msgid "About %s" msgstr "Om %s" -#: git-gui.sh:2843 +#: git-gui.sh:2992 msgid "Online Documentation" msgstr "Webbdokumentation" -#: git-gui.sh:2846 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +#: git-gui.sh:2995 lib/choose_repository.tcl:52 lib/choose_repository.tcl:61 msgid "Show SSH Key" msgstr "Visa SSH-nyckel" -#: git-gui.sh:2965 +#: git-gui.sh:3014 git-gui.sh:3146 +msgid "Usage" +msgstr "Användning" + +#: git-gui.sh:3095 lib/blame.tcl:573 +msgid "Error" +msgstr "Fel" + +#: git-gui.sh:3126 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "ödesdigert: kunde inte ta status på sökvägen %s: Fil eller katalog saknas" -#: git-gui.sh:2997 +#: git-gui.sh:3159 msgid "Current Branch:" msgstr "Aktuell gren:" -#: git-gui.sh:3023 +#: git-gui.sh:3185 msgid "Staged Changes (Will Commit)" msgstr "Köade ändringar (kommer att checkas in)" -#: git-gui.sh:3043 +#: git-gui.sh:3205 msgid "Unstaged Changes" msgstr "Oköade ändringar" -#: git-gui.sh:3098 +#: git-gui.sh:3276 msgid "Stage Changed" msgstr "Köa ändrade" -#: git-gui.sh:3117 lib/transport.tcl:107 lib/transport.tcl:196 +#: git-gui.sh:3295 lib/transport.tcl:137 lib/transport.tcl:229 msgid "Push" msgstr "Sänd" -#: git-gui.sh:3152 +#: git-gui.sh:3330 msgid "Initial Commit Message:" msgstr "Inledande incheckningsmeddelande:" -#: git-gui.sh:3153 +#: git-gui.sh:3331 msgid "Amended Commit Message:" msgstr "Utökat incheckningsmeddelande:" -#: git-gui.sh:3154 +#: git-gui.sh:3332 msgid "Amended Initial Commit Message:" msgstr "Utökat inledande incheckningsmeddelande:" -#: git-gui.sh:3155 +#: git-gui.sh:3333 msgid "Amended Merge Commit Message:" msgstr "Utökat incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:3156 +#: git-gui.sh:3334 msgid "Merge Commit Message:" msgstr "Incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:3157 +#: git-gui.sh:3335 msgid "Commit Message:" msgstr "Incheckningsmeddelande:" -#: git-gui.sh:3206 git-gui.sh:3348 lib/console.tcl:73 +#: git-gui.sh:3384 git-gui.sh:3538 lib/console.tcl:73 msgid "Copy All" msgstr "Kopiera alla" -#: git-gui.sh:3230 lib/blame.tcl:104 +#: git-gui.sh:3408 lib/blame.tcl:105 msgid "File:" msgstr "Fil:" -#: git-gui.sh:3336 +#: git-gui.sh:3526 msgid "Refresh" msgstr "Uppdatera" -#: git-gui.sh:3357 +#: git-gui.sh:3547 msgid "Decrease Font Size" msgstr "Minska teckensnittsstorlek" -#: git-gui.sh:3361 +#: git-gui.sh:3551 msgid "Increase Font Size" msgstr "Öka teckensnittsstorlek" -#: git-gui.sh:3369 lib/blame.tcl:281 +#: git-gui.sh:3559 lib/blame.tcl:294 msgid "Encoding" msgstr "Teckenkodning" -#: git-gui.sh:3380 +#: git-gui.sh:3570 msgid "Apply/Reverse Hunk" msgstr "Använd/återställ del" -#: git-gui.sh:3385 +#: git-gui.sh:3575 msgid "Apply/Reverse Line" msgstr "Använd/återställ rad" -#: git-gui.sh:3404 +#: git-gui.sh:3594 msgid "Run Merge Tool" msgstr "Starta verktyg för sammanslagning" -#: git-gui.sh:3409 +#: git-gui.sh:3599 msgid "Use Remote Version" msgstr "Använd versionen från fjärrarkivet" -#: git-gui.sh:3413 +#: git-gui.sh:3603 msgid "Use Local Version" msgstr "Använd lokala versionen" -#: git-gui.sh:3417 +#: git-gui.sh:3607 msgid "Revert To Base" msgstr "Återställ till basversionen" -#: git-gui.sh:3435 +#: git-gui.sh:3625 msgid "Visualize These Changes In The Submodule" msgstr "Visualisera ändringarna i undermodulen" -#: git-gui.sh:3439 +#: git-gui.sh:3629 msgid "Visualize Current Branch History In The Submodule" msgstr "Visualisera grenens historik i undermodulen" -#: git-gui.sh:3443 +#: git-gui.sh:3633 msgid "Visualize All Branch History In The Submodule" msgstr "Visualisera alla grenars historik i undermodulen" -#: git-gui.sh:3448 +#: git-gui.sh:3638 msgid "Start git gui In The Submodule" msgstr "Starta git gui i undermodulen" -#: git-gui.sh:3483 +#: git-gui.sh:3673 msgid "Unstage Hunk From Commit" msgstr "Ta bort del ur incheckningskö" -#: git-gui.sh:3485 +#: git-gui.sh:3675 msgid "Unstage Lines From Commit" msgstr "Ta bort rader ur incheckningskö" -#: git-gui.sh:3487 +#: git-gui.sh:3677 msgid "Unstage Line From Commit" msgstr "Ta bort rad ur incheckningskö" -#: git-gui.sh:3490 +#: git-gui.sh:3680 msgid "Stage Hunk For Commit" msgstr "Ställ del i incheckningskö" -#: git-gui.sh:3492 +#: git-gui.sh:3682 msgid "Stage Lines For Commit" msgstr "Ställ rader i incheckningskö" -#: git-gui.sh:3494 +#: git-gui.sh:3684 msgid "Stage Line For Commit" msgstr "Ställ rad i incheckningskö" -#: git-gui.sh:3519 +#: git-gui.sh:3709 msgid "Initializing..." msgstr "Initierar..." -#: git-gui.sh:3658 +#: git-gui.sh:3852 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -549,7 +580,7 @@ msgstr "" "av %s:\n" "\n" -#: git-gui.sh:3687 +#: git-gui.sh:3881 msgid "" "\n" "This is due to a known issue with the\n" @@ -559,7 +590,7 @@ msgstr "" "Detta beror på ett känt problem med\n" "Tcl-binären som följer med Cygwin." -#: git-gui.sh:3692 +#: git-gui.sh:3886 #, tcl-format msgid "" "\n" @@ -576,287 +607,349 @@ msgstr "" "user.name och user.email i din personliga\n" "~/.gitconfig-fil.\n" -#: lib/about.tcl:26 -msgid "git-gui - a graphical user interface for Git." -msgstr "git-gui - ett grafiskt användargränssnitt för Git." - -#: lib/blame.tcl:72 -msgid "File Viewer" -msgstr "Filvisare" +#: lib/line.tcl:17 +msgid "Goto Line:" +msgstr "Gå till rad:" -#: lib/blame.tcl:78 -msgid "Commit:" -msgstr "Incheckning:" +#: lib/line.tcl:23 +msgid "Go" +msgstr "Gå" -#: lib/blame.tcl:271 -msgid "Copy Commit" -msgstr "Kopiera incheckning" +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "Arbetar... vänta..." -#: lib/blame.tcl:275 -msgid "Find Text..." -msgstr "Sök text..." +#: lib/console.tcl:81 lib/checkout_op.tcl:146 lib/sshkey.tcl:55 +#: lib/database.tcl:30 +msgid "Close" +msgstr "Stäng" -#: lib/blame.tcl:284 -msgid "Do Full Copy Detection" -msgstr "Gör full kopieringsigenkänning" +#: lib/console.tcl:186 +msgid "Success" +msgstr "Lyckades" -#: lib/blame.tcl:288 -msgid "Show History Context" -msgstr "Visa historiksammanhang" +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "Fel: Kommando misslyckades" -#: lib/blame.tcl:291 -msgid "Blame Parent Commit" -msgstr "Klandra föräldraincheckning" +#: lib/checkout_op.tcl:85 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Hämtar %s från %s" -#: lib/blame.tcl:450 +#: lib/checkout_op.tcl:133 #, tcl-format -msgid "Reading %s..." -msgstr "Läser %s..." +msgid "fatal: Cannot resolve %s" +msgstr "ödesdigert: Kunde inte slå upp %s" -#: lib/blame.tcl:581 -msgid "Loading copy/move tracking annotations..." -msgstr "Läser annoteringar för kopiering/flyttning..." +#: lib/checkout_op.tcl:175 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Grenen \"%s\" finns inte." -#: lib/blame.tcl:601 -msgid "lines annotated" -msgstr "rader annoterade" +#: lib/checkout_op.tcl:194 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "Kunde inte konfigurera förenklad git-pull för '%s'." -#: lib/blame.tcl:793 -msgid "Loading original location annotations..." -msgstr "Läser in annotering av originalplacering..." +#: lib/checkout_op.tcl:202 lib/branch_rename.tcl:102 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Grenen \"%s\" finns redan." -#: lib/blame.tcl:796 -msgid "Annotation complete." -msgstr "Annotering fullbordad." +#: lib/checkout_op.tcl:229 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Grenen \"%s\" finns redan.\n" +"\n" +"Den kan inte snabbspolas till %s.\n" +"En sammanslagning krävs." -#: lib/blame.tcl:826 -msgid "Busy" -msgstr "Upptagen" +#: lib/checkout_op.tcl:243 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "Sammanslagningsstrategin \"%s\" stöds inte." -#: lib/blame.tcl:827 -msgid "Annotation process is already running." -msgstr "Annoteringsprocess körs redan." +#: lib/checkout_op.tcl:262 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Misslyckades med att uppdatera \"%s\"." -#: lib/blame.tcl:866 -msgid "Running thorough copy detection..." -msgstr "Kör grundlig kopieringsigenkänning..." +#: lib/checkout_op.tcl:274 +msgid "Staging area (index) is already locked." +msgstr "Köområdet (index) är redan låst." -#: lib/blame.tcl:934 -msgid "Loading annotation..." -msgstr "Läser in annotering..." +#: lib/checkout_op.tcl:289 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan den aktuella grenen kan ändras.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" -#: lib/blame.tcl:987 -msgid "Author:" -msgstr "Författare:" +#: lib/checkout_op.tcl:345 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Uppdaterar arbetskatalogen till \"%s\"..." -#: lib/blame.tcl:991 -msgid "Committer:" -msgstr "Incheckare:" +#: lib/checkout_op.tcl:346 +msgid "files checked out" +msgstr "filer utcheckade" -#: lib/blame.tcl:996 -msgid "Original File:" -msgstr "Ursprunglig fil:" +#: lib/checkout_op.tcl:376 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "Avbryter utcheckning av \"%s\" (sammanslagning på filnivå krävs)." -#: lib/blame.tcl:1044 -msgid "Cannot find HEAD commit:" -msgstr "Hittar inte incheckning för HEAD:" +#: lib/checkout_op.tcl:377 +msgid "File level merge required." +msgstr "Sammanslagning på filnivå krävs." -#: lib/blame.tcl:1099 -msgid "Cannot find parent commit:" -msgstr "Hittar inte föräldraincheckning:" +#: lib/checkout_op.tcl:381 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Stannar på grenen \"%s\"." -#: lib/blame.tcl:1114 -msgid "Unable to display parent" -msgstr "Kan inte visa förälder" +#: lib/checkout_op.tcl:452 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Du är inte längre på en lokal gren.\n" +"\n" +"Om du ville vara på en gren skapar du en nu, baserad på \"Denna frånkopplade " +"utcheckning\"." -#: lib/blame.tcl:1115 lib/diff.tcl:323 -msgid "Error loading diff:" -msgstr "Fel vid inläsning av differens:" +#: lib/checkout_op.tcl:503 lib/checkout_op.tcl:507 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Checkade ut \"%s\"." -#: lib/blame.tcl:1255 -msgid "Originally By:" -msgstr "Ursprungligen av:" +#: lib/checkout_op.tcl:535 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" +"Om du återställer \"%s\" till \"%s\" går följande incheckningar förlorade:" -#: lib/blame.tcl:1261 -msgid "In File:" -msgstr "I filen:" +#: lib/checkout_op.tcl:557 +msgid "Recovering lost commits may not be easy." +msgstr "Det kanske inte är så enkelt att återskapa förlorade incheckningar." -#: lib/blame.tcl:1266 -msgid "Copied Or Moved Here By:" -msgstr "Kopierad eller flyttad hit av:" +#: lib/checkout_op.tcl:562 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Återställa \"%s\"?" -#: lib/branch_checkout.tcl:16 lib/branch_checkout.tcl:21 -msgid "Checkout Branch" -msgstr "Checka ut gren" +#: lib/checkout_op.tcl:567 lib/merge.tcl:166 lib/tools_dlg.tcl:336 +msgid "Visualize" +msgstr "Visualisera" -#: lib/branch_checkout.tcl:26 -msgid "Checkout" -msgstr "Checka ut" +#: lib/checkout_op.tcl:571 lib/branch_create.tcl:85 +msgid "Reset" +msgstr "Återställ" -#: lib/branch_checkout.tcl:30 lib/branch_create.tcl:37 -#: lib/branch_delete.tcl:34 lib/branch_rename.tcl:32 lib/browser.tcl:286 -#: lib/checkout_op.tcl:579 lib/choose_font.tcl:45 lib/merge.tcl:172 -#: 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:111 +#: lib/checkout_op.tcl:579 lib/transport.tcl:141 lib/remote_add.tcl:34 +#: lib/browser.tcl:292 lib/merge.tcl:174 lib/branch_checkout.tcl:30 +#: 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/branch_rename.tcl:32 +#: lib/remote_branch_delete.tcl:43 lib/branch_create.tcl:37 +#: lib/branch_delete.tcl:34 msgid "Cancel" msgstr "Avbryt" -#: lib/branch_checkout.tcl:35 lib/browser.tcl:291 lib/tools_dlg.tcl:321 -msgid "Revision" -msgstr "Revision" - -#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:69 lib/option.tcl:287 -msgid "Options" -msgstr "Alternativ" +#: lib/checkout_op.tcl:635 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Kunde inte ställa in aktuell gren.\n" +"\n" +"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna utan " +"problem, men kunde inte uppdatera en intern fil i Git.\n" +"\n" +"Detta skulle inte ha hänt. %s kommer nu stängas och ge upp." -#: lib/branch_checkout.tcl:42 lib/branch_create.tcl:92 -msgid "Fetch Tracking Branch" -msgstr "Hämta spårande gren" +#: lib/transport.tcl:6 lib/remote_add.tcl:132 +#, tcl-format +msgid "fetch %s" +msgstr "hämta %s" -#: lib/branch_checkout.tcl:47 -msgid "Detach From Local Branch" -msgstr "Koppla bort från lokal gren" +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Hämtar nya ändringar från %s" -#: lib/branch_create.tcl:23 -msgid "Create Branch" -msgstr "Skapa gren" +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "fjärrborttagning %s" -#: lib/branch_create.tcl:28 -msgid "Create New Branch" -msgstr "Skapa ny gren" +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Tar bort spårande grenar som tagits bort från %s" -#: lib/branch_create.tcl:33 lib/choose_repository.tcl:389 -msgid "Create" -msgstr "Skapa" +#: lib/transport.tcl:25 +msgid "fetch all remotes" +msgstr "hämta alla fjärrarkiv" -#: lib/branch_create.tcl:42 -msgid "Branch Name" -msgstr "Namn på gren" +#: lib/transport.tcl:26 +msgid "Fetching new changes from all remotes" +msgstr "Hämtar nya ändringar från alla fjärrarkiv" -#: lib/branch_create.tcl:44 lib/remote_add.tcl:41 lib/tools_dlg.tcl:51 -msgid "Name:" -msgstr "Namn:" +#: lib/transport.tcl:40 +msgid "remote prune all remotes" +msgstr "rensa alla fjärrarkiv" -#: lib/branch_create.tcl:57 -msgid "Match Tracking Branch Name" -msgstr "Använd namn på spårad gren" +#: lib/transport.tcl:41 +msgid "Pruning tracking branches deleted from all remotes" +msgstr "Rensar spårande grenar som tagits bort, från alla fjärrarkiv" -#: lib/branch_create.tcl:66 -msgid "Starting Revision" -msgstr "Inledande revision" +#: lib/transport.tcl:54 lib/transport.tcl:92 lib/transport.tcl:110 +#: lib/remote_add.tcl:162 +#, tcl-format +msgid "push %s" +msgstr "sänd %s" -#: lib/branch_create.tcl:72 -msgid "Update Existing Branch:" -msgstr "Uppdatera befintlig gren:" +#: lib/transport.tcl:55 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Sänder ändringar till %s" -#: lib/branch_create.tcl:75 -msgid "No" -msgstr "Nej" +#: lib/transport.tcl:93 +#, tcl-format +msgid "Mirroring to %s" +msgstr "Speglar till %s" -#: lib/branch_create.tcl:80 -msgid "Fast Forward Only" -msgstr "Endast snabbspolning" +#: lib/transport.tcl:111 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Sänder %s %s till %s" -#: lib/branch_create.tcl:85 lib/checkout_op.tcl:571 -msgid "Reset" -msgstr "Återställ" +#: lib/transport.tcl:132 +msgid "Push Branches" +msgstr "Sänd grenar" -#: lib/branch_create.tcl:97 -msgid "Checkout After Creation" -msgstr "Checka ut när skapad" +#: lib/transport.tcl:147 +msgid "Source Branches" +msgstr "Källgrenar" -#: lib/branch_create.tcl:132 -msgid "Please select a tracking branch." -msgstr "Välj en gren att spåra." +#: lib/transport.tcl:162 +msgid "Destination Repository" +msgstr "Destinationsarkiv" -#: lib/branch_create.tcl:141 -#, tcl-format -msgid "Tracking branch %s is not a branch in the remote repository." -msgstr "Den spårade grenen %s är inte en gren i fjärrarkivet." +#: lib/transport.tcl:165 lib/remote_branch_delete.tcl:51 +msgid "Remote:" +msgstr "Fjärrarkiv:" -#: lib/branch_create.tcl:154 lib/branch_rename.tcl:92 -msgid "Please supply a branch name." -msgstr "Ange ett namn för grenen." +#: lib/transport.tcl:187 lib/remote_branch_delete.tcl:72 +msgid "Arbitrary Location:" +msgstr "Godtycklig plats:" -#: lib/branch_create.tcl:165 lib/branch_rename.tcl:112 -#, tcl-format -msgid "'%s' is not an acceptable branch name." -msgstr "\"%s\" kan inte användas som namn på grenen." +#: lib/transport.tcl:205 +msgid "Transfer Options" +msgstr "Överföringsalternativ" -#: lib/branch_delete.tcl:16 -msgid "Delete Branch" -msgstr "Ta bort gren" +#: lib/transport.tcl:207 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "Tvinga överskrivning av befintlig gren (kan kasta bort ändringar)" -#: lib/branch_delete.tcl:21 -msgid "Delete Local Branch" -msgstr "Ta bort lokal gren" +#: lib/transport.tcl:211 +msgid "Use thin pack (for slow network connections)" +msgstr "Använd tunt paket (för långsamma nätverksanslutningar)" -#: lib/branch_delete.tcl:39 -msgid "Local Branches" -msgstr "Lokala grenar" +#: lib/transport.tcl:215 +msgid "Include tags" +msgstr "Ta med taggar" -#: lib/branch_delete.tcl:51 -msgid "Delete Only If Merged Into" -msgstr "Ta bara bort om sammanslagen med" +#: lib/remote_add.tcl:20 +msgid "Add Remote" +msgstr "Lägg till fjärrarkiv" -#: lib/branch_delete.tcl:53 lib/remote_branch_delete.tcl:120 -msgid "Always (Do not perform merge checks)" -msgstr "Alltid (utför inte sammanslagningstest)" +#: lib/remote_add.tcl:25 +msgid "Add New Remote" +msgstr "Lägg till nytt fjärrarkiv" -#: lib/branch_delete.tcl:103 -#, tcl-format -msgid "The following branches are not completely merged into %s:" -msgstr "Följande grenar är inte till fullo sammanslagna med %s:" +#: lib/remote_add.tcl:30 lib/tools_dlg.tcl:37 +msgid "Add" +msgstr "Lägg till" -#: lib/branch_delete.tcl:115 lib/remote_branch_delete.tcl:218 -msgid "" -"Recovering deleted branches is difficult.\n" -"\n" -"Delete the selected branches?" -msgstr "" -"Det kan vara svårt att återställa borttagna grenar.\n" -"\n" -"Ta bort de valda grenarna?" +#: lib/remote_add.tcl:39 +msgid "Remote Details" +msgstr "Detaljer för fjärrarkiv" -#: lib/branch_delete.tcl:141 -#, tcl-format -msgid "" -"Failed to delete branches:\n" -"%s" -msgstr "" -"Kunde inte ta bort grenar:\n" -"%s" +#: lib/remote_add.tcl:41 lib/tools_dlg.tcl:51 lib/branch_create.tcl:44 +msgid "Name:" +msgstr "Namn:" -#: lib/branch_rename.tcl:15 lib/branch_rename.tcl:23 -msgid "Rename Branch" -msgstr "Byt namn på gren" +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "Plats:" -#: lib/branch_rename.tcl:28 -msgid "Rename" -msgstr "Byt namn" +#: lib/remote_add.tcl:60 +msgid "Further Action" +msgstr "Ytterligare åtgärd" -#: lib/branch_rename.tcl:38 -msgid "Branch:" -msgstr "Gren:" +#: lib/remote_add.tcl:63 +msgid "Fetch Immediately" +msgstr "Hämta omedelbart" -#: lib/branch_rename.tcl:46 -msgid "New Name:" -msgstr "Nytt namn:" +#: lib/remote_add.tcl:69 +msgid "Initialize Remote Repository and Push" +msgstr "Initiera fjärrarkiv och sänd till" -#: lib/branch_rename.tcl:81 -msgid "Please select a branch to rename." -msgstr "Välj en gren att byta namn på." +#: lib/remote_add.tcl:75 +msgid "Do Nothing Else Now" +msgstr "Gör ingent mer nu" + +#: lib/remote_add.tcl:100 +msgid "Please supply a remote name." +msgstr "Ange ett namn för fjärrarkivet." -#: lib/branch_rename.tcl:102 lib/checkout_op.tcl:202 +#: lib/remote_add.tcl:113 #, tcl-format -msgid "Branch '%s' already exists." -msgstr "Grenen \"%s\" finns redan." +msgid "'%s' is not an acceptable remote name." +msgstr "\"%s\" kan inte användas som namn på fjärrarkivet." -#: lib/branch_rename.tcl:123 +#: lib/remote_add.tcl:124 #, tcl-format -msgid "Failed to rename '%s'." -msgstr "Kunde inte byta namn på \"%s\"." +msgid "Failed to add remote '%s' of location '%s'." +msgstr "Kunde inte lägga till fjärrarkivet \"%s\" på platsen \"%s\"." + +#: lib/remote_add.tcl:133 +#, tcl-format +msgid "Fetching the %s" +msgstr "Hämtar %s" + +#: lib/remote_add.tcl:156 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "Vet inte hur arkivet på platsen \"%s\" skall initieras." + +#: lib/remote_add.tcl:163 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "Konfigurerar %s (på %s)" #: lib/browser.tcl:17 msgid "Starting..." @@ -866,1480 +959,1227 @@ msgstr "Startar..." msgid "File Browser" msgstr "Filbläddrare" -#: lib/browser.tcl:126 lib/browser.tcl:143 +#: lib/browser.tcl:132 lib/browser.tcl:149 #, tcl-format msgid "Loading %s..." msgstr "Läser %s..." -#: lib/browser.tcl:187 +#: lib/browser.tcl:193 msgid "[Up To Parent]" msgstr "[Upp till förälder]" -#: lib/browser.tcl:269 lib/browser.tcl:276 +#: lib/browser.tcl:275 lib/browser.tcl:282 msgid "Browse Branch Files" msgstr "Bläddra filer på grenen" -#: lib/browser.tcl:282 lib/choose_repository.tcl:404 -#: lib/choose_repository.tcl:491 lib/choose_repository.tcl:500 -#: lib/choose_repository.tcl:1027 +#: 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 "Bläddra" -#: lib/checkout_op.tcl:85 -#, tcl-format -msgid "Fetching %s from %s" -msgstr "Hämtar %s från %s" - -#: lib/checkout_op.tcl:133 -#, tcl-format -msgid "fatal: Cannot resolve %s" -msgstr "ödesdigert: Kunde inte slå upp %s" - -#: lib/checkout_op.tcl:146 lib/console.tcl:81 lib/database.tcl:30 -#: lib/sshkey.tcl:55 -msgid "Close" -msgstr "Stäng" - -#: lib/checkout_op.tcl:175 -#, tcl-format -msgid "Branch '%s' does not exist." -msgstr "Grenen \"%s\" finns inte." - -#: lib/checkout_op.tcl:194 -#, tcl-format -msgid "Failed to configure simplified git-pull for '%s'." -msgstr "Kunde inte konfigurera förenklad git-pull för '%s'." +#: lib/browser.tcl:297 lib/branch_checkout.tcl:35 lib/tools_dlg.tcl:321 +msgid "Revision" +msgstr "Revision" -#: lib/checkout_op.tcl:229 -#, tcl-format +#: lib/merge.tcl:13 msgid "" -"Branch '%s' already exists.\n" +"Cannot merge while amending.\n" "\n" -"It cannot fast-forward to %s.\n" -"A merge is required." +"You must finish amending this commit before starting any type of merge.\n" msgstr "" -"Grenen \"%s\" finns redan.\n" +"Kan inte slå ihop vid utökning.\n" "\n" -"Den kan inte snabbspolas till %s.\n" -"En sammanslagning krävs." - -#: lib/checkout_op.tcl:243 -#, tcl-format -msgid "Merge strategy '%s' not supported." -msgstr "Sammanslagningsstrategin \"%s\" stöds inte." - -#: lib/checkout_op.tcl:262 -#, tcl-format -msgid "Failed to update '%s'." -msgstr "Misslyckades med att uppdatera \"%s\"." - -#: lib/checkout_op.tcl:274 -msgid "Staging area (index) is already locked." -msgstr "Köområdet (index) är redan låst." +"Du måste göra färdig utökningen av incheckningen innan du påbörjar någon " +"slags sammanslagning.\n" -#: lib/checkout_op.tcl:289 +#: lib/merge.tcl:27 msgid "" "Last scanned state does not match repository state.\n" "\n" "Another Git program has modified this repository since the last scan. A " -"rescan must be performed before the current branch can be changed.\n" +"rescan must be performed before a merge can be performed.\n" "\n" "The rescan will be automatically started now.\n" msgstr "" "Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" "\n" "Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " -"utföra en ny sökning innan den aktuella grenen kan ändras.\n" +"utföra en ny sökning innan du kan utföra en sammanslagning.\n" "\n" "Sökningen kommer att startas automatiskt nu.\n" -#: lib/checkout_op.tcl:345 -#, tcl-format -msgid "Updating working directory to '%s'..." -msgstr "Uppdaterar arbetskatalogen till \"%s\"..." - -#: lib/checkout_op.tcl:346 -msgid "files checked out" -msgstr "filer utcheckade" - -#: lib/checkout_op.tcl:376 -#, tcl-format -msgid "Aborted checkout of '%s' (file level merging is required)." -msgstr "Avbryter utcheckning av \"%s\" (sammanslagning på filnivå krävs)." - -#: lib/checkout_op.tcl:377 -msgid "File level merge required." -msgstr "Sammanslagning på filnivå krävs." - -#: lib/checkout_op.tcl:381 +#: lib/merge.tcl:45 #, tcl-format -msgid "Staying on branch '%s'." -msgstr "Stannar på grenen \"%s\"." - -#: lib/checkout_op.tcl:452 msgid "" -"You are no longer on a local branch.\n" +"You are in the middle of a conflicted merge.\n" "\n" -"If you wanted to be on a branch, create one now starting from 'This Detached " -"Checkout'." -msgstr "" -"Du är inte längre på en lokal gren.\n" +"File %s has merge conflicts.\n" "\n" -"Om du ville vara på en gren skapar du en nu, baserad på \"Denna frånkopplade " -"utcheckning\"." - -#: lib/checkout_op.tcl:503 lib/checkout_op.tcl:507 -#, tcl-format -msgid "Checked out '%s'." -msgstr "Checkade ut \"%s\"." - -#: lib/checkout_op.tcl:535 -#, tcl-format -msgid "Resetting '%s' to '%s' will lose the following commits:" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" msgstr "" -"Om du återställer \"%s\" till \"%s\" går följande incheckningar förlorade:" - -#: lib/checkout_op.tcl:557 -msgid "Recovering lost commits may not be easy." -msgstr "Det kanske inte är så enkelt att återskapa förlorade incheckningar." - -#: lib/checkout_op.tcl:562 -#, tcl-format -msgid "Reset '%s'?" -msgstr "Återställa \"%s\"?" - -#: lib/checkout_op.tcl:567 lib/merge.tcl:164 lib/tools_dlg.tcl:336 -msgid "Visualize" -msgstr "Visualisera" +"Du är mitt i en sammanslagning med konflikter.\n" +"\n" +"Filen %s har sammanslagningskonflikter.\n" +"\n" +"Du måste lösa dem, köa filen och checka in för att fullborda den aktuella " +"sammanslagningen. När du gjort det kan du påbörja en ny sammanslagning.\n" -#: lib/checkout_op.tcl:635 +#: lib/merge.tcl:55 #, tcl-format msgid "" -"Failed to set current branch.\n" +"You are in the middle of a change.\n" "\n" -"This working directory is only partially switched. We successfully updated " -"your files, but failed to update an internal Git file.\n" +"File %s is modified.\n" "\n" -"This should not have occurred. %s will now close and give up." +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" msgstr "" -"Kunde inte ställa in aktuell gren.\n" +"Du är mitt i en ändring.\n" "\n" -"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna utan " -"problem, men kunde inte uppdatera en intern fil i Git.\n" +"Filen %s har ändringar.\n" "\n" -"Detta skulle inte ha hänt. %s kommer nu stängas och ge upp." +"Du bör fullborda den aktuella incheckningen innan du påbörjar en " +"sammanslagning. Om du gör det blir det enklare att avbryta en misslyckad " +"sammanslagning, om det skulle vara nödvändigt.\n" -#: lib/choose_font.tcl:41 -msgid "Select" -msgstr "Välj" +#: lib/merge.tcl:108 +#, tcl-format +msgid "%s of %s" +msgstr "%s av %s" -#: lib/choose_font.tcl:55 -msgid "Font Family" -msgstr "Teckensnittsfamilj" +#: lib/merge.tcl:122 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "Slår ihop %s och %s..." -#: lib/choose_font.tcl:76 -msgid "Font Size" -msgstr "Storlek" +#: lib/merge.tcl:133 +msgid "Merge completed successfully." +msgstr "Sammanslagningen avslutades framgångsrikt." -#: lib/choose_font.tcl:93 -msgid "Font Example" -msgstr "Exempel" +#: lib/merge.tcl:135 +msgid "Merge failed. Conflict resolution is required." +msgstr "Sammanslagningen misslyckades. Du måste lösa konflikterna." -#: lib/choose_font.tcl:105 +#: lib/merge.tcl:160 +#, tcl-format +msgid "Merge Into %s" +msgstr "Slå ihop i %s" + +#: lib/merge.tcl:179 +msgid "Revision To Merge" +msgstr "Revisioner att slå ihop" + +#: lib/merge.tcl:214 msgid "" -"This is example text.\n" -"If you like this text, it can be your font." +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" msgstr "" -"Detta är en exempeltext.\n" -"Om du tycker om den här texten kan den vara ditt teckensnitt." - -#: lib/choose_repository.tcl:28 -msgid "Git Gui" -msgstr "Git Gui" +"Kan inte avbryta vid utökning.\n" +"\n" +"Du måste göra dig färdig med att utöka incheckningen.\n" -#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:394 -msgid "Create New Repository" -msgstr "Skapa nytt arkiv" +#: lib/merge.tcl:224 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Avbryt sammanslagning?\n" +"\n" +"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att gå " +"förlorade.\n" +"\n" +"Gå vidare med att avbryta den aktuella sammanslagningen?" -#: lib/choose_repository.tcl:93 -msgid "New..." -msgstr "Nytt..." +#: lib/merge.tcl:230 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Återställ ändringar?\n" +"\n" +"Om du återställer ändringarna kommer *ALLA* ej incheckade ändringar att gå " +"förlorade.\n" +"\n" +"Gå vidare med att återställa de aktuella ändringarna?" -#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:478 -msgid "Clone Existing Repository" -msgstr "Klona befintligt arkiv" +#: lib/merge.tcl:241 +msgid "Aborting" +msgstr "Avbryter" -#: lib/choose_repository.tcl:111 -msgid "Clone..." -msgstr "Klona..." +#: lib/merge.tcl:241 +msgid "files reset" +msgstr "filer återställda" -#: lib/choose_repository.tcl:118 lib/choose_repository.tcl:1017 -msgid "Open Existing Repository" -msgstr "Öppna befintligt arkiv" +#: lib/merge.tcl:269 +msgid "Abort failed." +msgstr "Misslyckades avbryta." -#: lib/choose_repository.tcl:124 -msgid "Open..." -msgstr "Öppna..." +#: lib/merge.tcl:271 +msgid "Abort completed. Ready." +msgstr "Avbrytning fullbordad. Redo." -#: lib/choose_repository.tcl:137 -msgid "Recent Repositories" -msgstr "Senaste arkiven" +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "För att starta %s måste du välja en fil." -#: lib/choose_repository.tcl:143 -msgid "Open Recent Repository:" -msgstr "Öppna tidigare arkiv:" +#: lib/tools.tcl:91 +#, tcl-format +msgid "Are you sure you want to run %1$s on file \"%2$s\"?" +msgstr "Är du säker på att du vill starta %1$s med filen \"%2$s\"?" -#: lib/choose_repository.tcl:313 lib/choose_repository.tcl:320 -#: lib/choose_repository.tcl:327 +#: lib/tools.tcl:95 #, tcl-format -msgid "Failed to create repository %s:" -msgstr "Kunde inte skapa arkivet %s:" +msgid "Are you sure you want to run %s?" +msgstr "Är du säker på att du vill starta %s?" -#: lib/choose_repository.tcl:399 -msgid "Directory:" -msgstr "Katalog:" +#: lib/tools.tcl:116 +#, tcl-format +msgid "Tool: %s" +msgstr "Verktyg: %s" -#: lib/choose_repository.tcl:429 lib/choose_repository.tcl:550 -#: lib/choose_repository.tcl:1051 -msgid "Git Repository" -msgstr "Gitarkiv" +#: lib/tools.tcl:117 +#, tcl-format +msgid "Running: %s" +msgstr "Exekverar: %s" -#: lib/choose_repository.tcl:454 +#: lib/tools.tcl:155 #, tcl-format -msgid "Directory %s already exists." -msgstr "Katalogen %s finns redan." +msgid "Tool completed successfully: %s" +msgstr "Verktyget avslutades framgångsrikt: %s" -#: lib/choose_repository.tcl:458 +#: lib/tools.tcl:157 #, tcl-format -msgid "File %s already exists." -msgstr "Filen %s finns redan." +msgid "Tool failed: %s" +msgstr "Verktyget misslyckades: %s" -#: lib/choose_repository.tcl:473 -msgid "Clone" -msgstr "Klona" +#: lib/branch_checkout.tcl:16 lib/branch_checkout.tcl:21 +msgid "Checkout Branch" +msgstr "Checka ut gren" -#: lib/choose_repository.tcl:486 -msgid "Source Location:" -msgstr "Plats för källkod:" +#: lib/branch_checkout.tcl:26 +msgid "Checkout" +msgstr "Checka ut" -#: lib/choose_repository.tcl:495 -msgid "Target Directory:" -msgstr "Målkatalog:" +#: lib/branch_checkout.tcl:39 lib/option.tcl:310 lib/branch_create.tcl:69 +msgid "Options" +msgstr "Alternativ" -#: lib/choose_repository.tcl:505 -msgid "Clone Type:" -msgstr "Typ av klon:" +#: lib/branch_checkout.tcl:42 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Hämta spårande gren" -#: lib/choose_repository.tcl:510 -msgid "Standard (Fast, Semi-Redundant, Hardlinks)" -msgstr "Standard (snabb, semiredundant, hårda länkar)" +#: lib/branch_checkout.tcl:47 +msgid "Detach From Local Branch" +msgstr "Koppla bort från lokal gren" -#: lib/choose_repository.tcl:515 -msgid "Full Copy (Slower, Redundant Backup)" -msgstr "Full kopia (långsammare, redundant säkerhetskopia)" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Stavningskontrollprogrammet stöds inte" -#: lib/choose_repository.tcl:520 -msgid "Shared (Fastest, Not Recommended, No Backup)" -msgstr "Delad (snabbast, rekommenderas ej, ingen säkerhetskopia)" +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Stavningskontroll är ej tillgänglig" -#: lib/choose_repository.tcl:556 lib/choose_repository.tcl:603 -#: lib/choose_repository.tcl:749 lib/choose_repository.tcl:819 -#: lib/choose_repository.tcl:1057 lib/choose_repository.tcl:1065 -#, tcl-format -msgid "Not a Git repository: %s" -msgstr "Inte ett Gitarkiv: %s" +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Ogiltig inställning för stavningskontroll" -#: lib/choose_repository.tcl:592 -msgid "Standard only available for local repository." -msgstr "Standard är endast tillgängligt för lokala arkiv." +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Återställer ordlistan till %s." -#: lib/choose_repository.tcl:596 -msgid "Shared only available for local repository." -msgstr "Delat är endast tillgängligt för lokala arkiv." +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Stavningskontroll misslyckades tyst vid start" -#: lib/choose_repository.tcl:617 -#, tcl-format -msgid "Location %s already exists." -msgstr "Platsen %s finns redan." +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Stavningskontrollprogrammet känns inte igen" -#: lib/choose_repository.tcl:628 -msgid "Failed to configure origin" -msgstr "Kunde inte konfigurera ursprung" +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "Inga förslag" -#: lib/choose_repository.tcl:640 -msgid "Counting objects" -msgstr "Räknar objekt" +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "Oväntat filslut från stavningskontroll" -#: lib/choose_repository.tcl:641 -msgid "buckets" -msgstr "hinkar" +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "Stavningskontroll misslyckades" -#: lib/choose_repository.tcl:665 +#: lib/status_bar.tcl:87 #, tcl-format -msgid "Unable to copy objects/info/alternates: %s" -msgstr "Kunde inte kopiera objekt/info/alternativ: %s" +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s... %*i av %*i %s (%3i%%)" -#: lib/choose_repository.tcl:701 +#: lib/diff.tcl:77 #, tcl-format -msgid "Nothing to clone from %s." -msgstr "Ingenting att klona från %s." - -#: lib/choose_repository.tcl:703 lib/choose_repository.tcl:917 -#: lib/choose_repository.tcl:929 -msgid "The 'master' branch has not been initialized." -msgstr "Grenen \"master\" har inte initierats." - -#: lib/choose_repository.tcl:716 -msgid "Hardlinks are unavailable. Falling back to copying." -msgstr "Hårda länkar är inte tillgängliga. Faller tillbaka på kopiering." +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 "" +"Hittade inga skillnader.\n" +"\n" +"%s innehåller inga ändringar.\n" +"\n" +"Modifieringsdatum för filen uppdaterades av ett annat program, men " +"innehållet i filen har inte ändrats.\n" +"\n" +"En sökning kommer automatiskt att startas för att hitta andra filer som kan " +"vara i samma tillstånd." -#: lib/choose_repository.tcl:728 +#: lib/diff.tcl:117 #, tcl-format -msgid "Cloning from %s" -msgstr "Klonar från %s" - -#: lib/choose_repository.tcl:759 -msgid "Copying objects" -msgstr "Kopierar objekt" +msgid "Loading diff of %s..." +msgstr "Läser differens för %s..." -#: lib/choose_repository.tcl:760 -msgid "KiB" -msgstr "KiB" +#: lib/diff.tcl:140 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"LOKAL: borttagen\n" +"FJÄRR:\n" -#: lib/choose_repository.tcl:784 -#, tcl-format -msgid "Unable to copy object: %s" -msgstr "Kunde inte kopiera objekt: %s" +#: lib/diff.tcl:145 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"FJÄRR: borttagen\n" +"LOKAL:\n" -#: lib/choose_repository.tcl:794 -msgid "Linking objects" -msgstr "Länkar objekt" +#: lib/diff.tcl:152 +msgid "LOCAL:\n" +msgstr "LOKAL:\n" -#: lib/choose_repository.tcl:795 -msgid "objects" -msgstr "objekt" +#: lib/diff.tcl:155 +msgid "REMOTE:\n" +msgstr "FJÄRR:\n" -#: lib/choose_repository.tcl:803 +#: lib/diff.tcl:217 lib/diff.tcl:355 #, tcl-format -msgid "Unable to hardlink object: %s" -msgstr "Kunde inte hårdlänka objekt: %s" +msgid "Unable to display %s" +msgstr "Kan inte visa %s" -#: lib/choose_repository.tcl:858 -msgid "Cannot fetch branches and objects. See console output for details." -msgstr "Kunde inte hämta grenar och objekt. Se konsolutdata för detaljer." +#: lib/diff.tcl:218 +msgid "Error loading file:" +msgstr "Fel vid läsning av fil:" -#: lib/choose_repository.tcl:869 -msgid "Cannot fetch tags. See console output for details." -msgstr "Kunde inte hämta taggar. Se konsolutdata för detaljer." +#: lib/diff.tcl:225 +msgid "Git Repository (subproject)" +msgstr "Gitarkiv (underprojekt)" -#: lib/choose_repository.tcl:893 -msgid "Cannot determine HEAD. See console output for details." -msgstr "Kunde inte avgöra HEAD. Se konsolutdata för detaljer." +#: lib/diff.tcl:237 +msgid "* Binary file (not showing content)." +msgstr "* Binärfil (visar inte innehållet)." -#: lib/choose_repository.tcl:902 +#: lib/diff.tcl:242 #, tcl-format -msgid "Unable to cleanup %s" -msgstr "Kunde inte städa upp %s" +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" +"* Den ospårade filen är %d byte.\n" +"* Visar endast inledande %d byte.\n" -#: lib/choose_repository.tcl:908 -msgid "Clone failed." -msgstr "Kloning misslyckades." +#: lib/diff.tcl:248 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" +"\n" +"* Den ospårade filen klipptes här av %s.\n" +"* För att se hela filen, använd ett externt redigeringsprogram.\n" -#: lib/choose_repository.tcl:915 -msgid "No default branch obtained." -msgstr "Hämtade ingen standardgren." +#: lib/diff.tcl:356 lib/blame.tcl:1128 +msgid "Error loading diff:" +msgstr "Fel vid inläsning av differens:" -#: lib/choose_repository.tcl:926 -#, tcl-format -msgid "Cannot resolve %s as a commit." -msgstr "Kunde inte slå upp %s till någon incheckning." +#: lib/diff.tcl:578 +msgid "Failed to unstage selected hunk." +msgstr "Kunde inte ta bort den valda delen från kön." -#: lib/choose_repository.tcl:938 -msgid "Creating working directory" -msgstr "Skapar arbetskatalog" +#: lib/diff.tcl:585 +msgid "Failed to stage selected hunk." +msgstr "Kunde inte lägga till den valda delen till kön." -#: lib/choose_repository.tcl:939 lib/index.tcl:70 lib/index.tcl:133 -#: lib/index.tcl:201 -msgid "files" -msgstr "filer" +#: lib/diff.tcl:664 +msgid "Failed to unstage selected line." +msgstr "Kunde inte ta bort den valda raden från kön." -#: lib/choose_repository.tcl:968 -msgid "Initial file checkout failed." -msgstr "Inledande filutcheckning misslyckades." +#: lib/diff.tcl:672 +msgid "Failed to stage selected line." +msgstr "Kunde inte lägga till den valda raden till kön." -#: lib/choose_repository.tcl:1012 -msgid "Open" -msgstr "Öppna" +#: lib/remote.tcl:200 +msgid "Push to" +msgstr "Sänd till" -#: lib/choose_repository.tcl:1022 -msgid "Repository:" -msgstr "Arkiv:" +#: lib/remote.tcl:218 +msgid "Remove Remote" +msgstr "Ta bort fjärrarkiv" -#: lib/choose_repository.tcl:1071 -#, tcl-format -msgid "Failed to open repository %s:" -msgstr "Kunde inte öppna arkivet %s:" +#: lib/remote.tcl:223 +msgid "Prune from" +msgstr "Ta bort från" -#: lib/choose_rev.tcl:52 -msgid "This Detached Checkout" -msgstr "Denna frånkopplade utcheckning" +#: lib/remote.tcl:228 +msgid "Fetch from" +msgstr "Hämta från" -#: lib/choose_rev.tcl:60 -msgid "Revision Expression:" -msgstr "Revisionsuttryck:" +#: lib/choose_font.tcl:41 +msgid "Select" +msgstr "Välj" -#: lib/choose_rev.tcl:72 -msgid "Local Branch" -msgstr "Lokal gren" +#: lib/choose_font.tcl:55 +msgid "Font Family" +msgstr "Teckensnittsfamilj" -#: lib/choose_rev.tcl:77 -msgid "Tracking Branch" -msgstr "Spårande gren" +#: lib/choose_font.tcl:76 +msgid "Font Size" +msgstr "Storlek" -#: lib/choose_rev.tcl:82 lib/choose_rev.tcl:543 -msgid "Tag" -msgstr "Tagg" +#: lib/choose_font.tcl:93 +msgid "Font Example" +msgstr "Exempel" -#: lib/choose_rev.tcl:321 +#: lib/choose_font.tcl:105 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Detta är en exempeltext.\n" +"Om du tycker om den här texten kan den vara ditt teckensnitt." + +#: lib/option.tcl:11 #, tcl-format -msgid "Invalid revision: %s" -msgstr "Ogiltig revision: %s" +msgid "Invalid global encoding '%s'" +msgstr "Den globala teckenkodningen \"%s\" är ogiltig" -#: lib/choose_rev.tcl:342 -msgid "No revision selected." -msgstr "Ingen revision vald." +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "Arkivets teckenkodning \"%s\" är ogiltig" -#: lib/choose_rev.tcl:350 -msgid "Revision expression is empty." -msgstr "Revisionsuttrycket är tomt." +#: lib/option.tcl:119 +msgid "Restore Defaults" +msgstr "Återställ standardvärden" -#: lib/choose_rev.tcl:536 -msgid "Updated" -msgstr "Uppdaterad" +#: lib/option.tcl:123 +msgid "Save" +msgstr "Spara" -#: lib/choose_rev.tcl:564 -msgid "URL" -msgstr "Webbadress" +#: lib/option.tcl:133 +#, tcl-format +msgid "%s Repository" +msgstr "Arkivet %s" -#: lib/commit.tcl:9 -msgid "" -"There is nothing to amend.\n" -"\n" -"You are about to create the initial commit. There is no commit before this " -"to amend.\n" -msgstr "" -"Det finns ingenting att utöka.\n" -"\n" -"Du håller på att skapa den inledande incheckningen. Det finns ingen tidigare " -"incheckning att utöka.\n" +#: lib/option.tcl:134 +msgid "Global (All Repositories)" +msgstr "Globalt (alla arkiv)" -#: lib/commit.tcl:18 -msgid "" -"Cannot amend while merging.\n" -"\n" -"You are currently in the middle of a merge that has not been fully " -"completed. You cannot amend the prior commit unless you first abort the " -"current merge activity.\n" -msgstr "" -"Kan inte utöka vid sammanslagning.\n" -"\n" -"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan inte " -"utöka tidigare incheckningar om du inte först avbryter den pågående " -"sammanslagningen.\n" +#: lib/option.tcl:140 +msgid "User Name" +msgstr "Användarnamn" -#: lib/commit.tcl:48 -msgid "Error loading commit data for amend:" -msgstr "Fel vid inläsning av incheckningsdata för utökning:" +#: lib/option.tcl:141 +msgid "Email Address" +msgstr "E-postadress" -#: lib/commit.tcl:75 -msgid "Unable to obtain your identity:" -msgstr "Kunde inte hämta din identitet:" +#: lib/option.tcl:143 +msgid "Summarize Merge Commits" +msgstr "Summera sammanslagningsincheckningar" -#: lib/commit.tcl:80 -msgid "Invalid GIT_COMMITTER_IDENT:" -msgstr "Felaktig GIT_COMMITTER_IDENT:" +#: lib/option.tcl:144 +msgid "Merge Verbosity" +msgstr "Pratsamhet för sammanslagningar" -#: lib/commit.tcl:129 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." +#: lib/option.tcl:145 +msgid "Show Diffstat After Merge" +msgstr "Visa diffstatistik efter sammanslagning" -#: lib/commit.tcl:149 -msgid "" -"Last scanned state does not match repository state.\n" -"\n" -"Another Git program has modified this repository since the last scan. A " -"rescan must be performed before another commit can be created.\n" -"\n" -"The rescan will be automatically started now.\n" -msgstr "" -"Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" -"\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " -"utföra en ny sökning innan du kan göra en ny incheckning.\n" -"\n" -"Sökningen kommer att startas automatiskt nu.\n" - -#: lib/commit.tcl:172 -#, tcl-format -msgid "" -"Unmerged files cannot be committed.\n" -"\n" -"File %s has merge conflicts. You must resolve them and stage the file " -"before committing.\n" -msgstr "" -"Osammanslagna filer kan inte checkas in.\n" -"\n" -"Filen %s har sammanslagningskonflikter. Du måste lösa dem och köa filen " -"innan du checkar in den.\n" - -#: lib/commit.tcl:180 -#, tcl-format -msgid "" -"Unknown file state %s detected.\n" -"\n" -"File %s cannot be committed by this program.\n" -msgstr "" -"Okänd filstatus %s upptäckt.\n" -"\n" -"Filen %s kan inte checkas in av programmet.\n" +#: lib/option.tcl:146 +msgid "Use Merge Tool" +msgstr "Använd verktyg för sammanslagning" -#: lib/commit.tcl:188 -msgid "" -"No changes to commit.\n" -"\n" -"You must stage at least 1 file before you can commit.\n" -msgstr "" -"Inga ändringar att checka in.\n" -"\n" -"Du måste köa åtminstone en fil innan du kan checka in.\n" +#: lib/option.tcl:148 +msgid "Trust File Modification Timestamps" +msgstr "Lita på filändringstidsstämplar" -#: lib/commit.tcl:203 -msgid "" -"Please supply a commit message.\n" -"\n" -"A good commit message has the following format:\n" -"\n" -"- First line: Describe in one sentence what you did.\n" -"- Second line: Blank\n" -"- Remaining lines: Describe why this change is good.\n" -msgstr "" -"Ange ett incheckningsmeddelande.\n" -"\n" -"Ett bra incheckningsmeddelande har följande format:\n" -"\n" -"- Första raden: Beskriv i en mening vad du gjorde.\n" -"- Andra raden: Tom\n" -"- Följande rader: Beskriv varför det här är en bra ändring.\n" +#: lib/option.tcl:149 +msgid "Prune Tracking Branches During Fetch" +msgstr "Städa spårade grenar vid hämtning" -#: lib/commit.tcl:234 -msgid "Calling pre-commit hook..." -msgstr "Anropar kroken före incheckning (pre-commit)..." +#: lib/option.tcl:150 +msgid "Match Tracking Branches" +msgstr "Matcha spårade grenar" -#: lib/commit.tcl:249 -msgid "Commit declined by pre-commit hook." -msgstr "Incheckningen avvisades av kroken före incheckning (pre-commit)." +#: lib/option.tcl:151 +msgid "Use Textconv For Diffs and Blames" +msgstr "Använd Textconv för diff och klandring" -#: lib/commit.tcl:272 -msgid "Calling commit-msg hook..." -msgstr "Anropar kroken för incheckningsmeddelande (commit-msg)..." +#: lib/option.tcl:152 +msgid "Blame Copy Only On Changed Files" +msgstr "Klandra kopiering bara i ändrade filer" -#: lib/commit.tcl:287 -msgid "Commit declined by commit-msg hook." -msgstr "Incheckning avvisad av kroken för incheckningsmeddelande (commit-msg)." +#: lib/option.tcl:153 +msgid "Maximum Length of Recent Repositories List" +msgstr "Max längd för lista över tidigare arkiv" -#: lib/commit.tcl:300 -msgid "Committing changes..." -msgstr "Checkar in ändringar..." +#: lib/option.tcl:154 +msgid "Minimum Letters To Blame Copy On" +msgstr "Minsta antal tecken att klandra kopiering för" -#: lib/commit.tcl:316 -msgid "write-tree failed:" -msgstr "write-tree misslyckades:" +#: lib/option.tcl:155 +msgid "Blame History Context Radius (days)" +msgstr "Historikradie för klandring (dagar)" -#: lib/commit.tcl:317 lib/commit.tcl:361 lib/commit.tcl:382 -msgid "Commit failed." -msgstr "Incheckningen misslyckades." +#: lib/option.tcl:156 +msgid "Number of Diff Context Lines" +msgstr "Antal rader sammanhang i differenser" -#: lib/commit.tcl:334 -#, tcl-format -msgid "Commit %s appears to be corrupt" -msgstr "Incheckningen %s verkar vara trasig" +#: lib/option.tcl:157 +msgid "Additional Diff Parameters" +msgstr "Ytterligare diff-parametrar" -#: lib/commit.tcl:339 -msgid "" -"No changes to commit.\n" -"\n" -"No files were modified by this commit and it was not a merge commit.\n" -"\n" -"A rescan will be automatically started now.\n" -msgstr "" -"Inga ändringar att checka in.\n" -"\n" -"Inga filer ändrades av incheckningen och det var inte en sammanslagning.\n" -"\n" -"En sökning kommer att startas automatiskt nu.\n" +#: lib/option.tcl:158 +msgid "Commit Message Text Width" +msgstr "Textbredd för incheckningsmeddelande" -#: lib/commit.tcl:346 -msgid "No changes to commit." -msgstr "Inga ändringar att checka in." +#: lib/option.tcl:159 +msgid "New Branch Name Template" +msgstr "Mall för namn på nya grenar" -#: lib/commit.tcl:360 -msgid "commit-tree failed:" -msgstr "commit-tree misslyckades:" +#: lib/option.tcl:160 +msgid "Default File Contents Encoding" +msgstr "Standardteckenkodning för filinnehåll" -#: lib/commit.tcl:381 -msgid "update-ref failed:" -msgstr "update-ref misslyckades:" +#: lib/option.tcl:161 +msgid "Warn before committing to a detached head" +msgstr "Varna för incheckning på frånkopplat huvud" -#: lib/commit.tcl:469 -#, tcl-format -msgid "Created commit %s: %s" -msgstr "Skapade incheckningen %s: %s" +#: lib/option.tcl:162 +msgid "Staging of untracked files" +msgstr "Köa ospårade filer" -#: lib/console.tcl:59 -msgid "Working... please wait..." -msgstr "Arbetar... vänta..." +#: lib/option.tcl:163 +msgid "Show untracked files" +msgstr "Visa ospårade filer" -#: lib/console.tcl:186 -msgid "Success" -msgstr "Lyckades" +#: lib/option.tcl:164 +msgid "Tab spacing" +msgstr "Blanksteg för tabulatortecken" -#: lib/console.tcl:200 -msgid "Error: Command Failed" -msgstr "Fel: Kommando misslyckades" +#: lib/option.tcl:210 +msgid "Change" +msgstr "Ändra" -#: lib/database.tcl:42 -msgid "Number of loose objects" -msgstr "Antal lösa objekt" +#: lib/option.tcl:254 +msgid "Spelling Dictionary:" +msgstr "Stavningsordlista:" -#: lib/database.tcl:43 -msgid "Disk space used by loose objects" -msgstr "Diskutrymme använt av lösa objekt" +#: lib/option.tcl:284 +msgid "Change Font" +msgstr "Byt teckensnitt" -#: lib/database.tcl:44 -msgid "Number of packed objects" -msgstr "Antal packade objekt" +#: lib/option.tcl:288 +#, tcl-format +msgid "Choose %s" +msgstr "Välj %s" -#: lib/database.tcl:45 -msgid "Number of packs" -msgstr "Antal paket" +#: lib/option.tcl:294 +msgid "pt." +msgstr "p." -#: lib/database.tcl:46 -msgid "Disk space used by packed objects" -msgstr "Diskutrymme använt av packade objekt" +#: lib/option.tcl:308 +msgid "Preferences" +msgstr "Inställningar" -#: lib/database.tcl:47 -msgid "Packed objects waiting for pruning" -msgstr "Packade objekt som väntar på städning" +#: lib/option.tcl:345 +msgid "Failed to completely save options:" +msgstr "Misslyckades med att helt spara alternativ:" -#: lib/database.tcl:48 -msgid "Garbage files" -msgstr "Skräpfiler" +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "Tvinga lösning att använda basversionen?" -#: lib/database.tcl:72 -msgid "Compressing the object database" -msgstr "Komprimerar objektdatabasen" +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "Tvinga lösning att använda den aktuella grenen?" -#: lib/database.tcl:83 -msgid "Verifying the object database with fsck-objects" -msgstr "Verifierar objektdatabasen med fsck-objects" +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "Tvinga lösning att använda den andra grenen?" -#: lib/database.tcl:107 +#: lib/mergetool.tcl:14 #, tcl-format msgid "" -"This repository currently has approximately %i loose objects.\n" +"Note that the diff shows only conflicting changes.\n" "\n" -"To maintain optimal performance it is strongly recommended that you compress " -"the database.\n" +"%s will be overwritten.\n" "\n" -"Compress the database now?" +"This operation can be undone only by restarting the merge." msgstr "" -"Arkivet har för närvarande omkring %i lösa objekt.\n" +"Observera att diffen endast visar de ändringar som står i konflikt.\n" "\n" -"För att bibehålla optimal prestanda rekommenderas det å det bestämdaste att " -"du komprimerar databasen.\n" +"%s kommer att skrivas över.\n" "\n" -"Komprimera databasen nu?" +"Du måste starta om sammanslagningen för att göra den här operationen ogjord." -#: lib/date.tcl:25 +#: lib/mergetool.tcl:45 #, tcl-format -msgid "Invalid date from Git: %s" -msgstr "Ogiltigt datum från Git: %s" +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "Filen %s verkar innehålla olösta konflikter. Vill du köa ändå?" -#: lib/diff.tcl:64 +#: lib/mergetool.tcl:60 #, 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 "" -"Hittade inga skillnader.\n" -"\n" -"%s innehåller inga ändringar.\n" -"\n" -"Modifieringsdatum för filen uppdaterades av ett annat program, men " -"innehållet i filen har inte ändrats.\n" -"\n" -"En sökning kommer automatiskt att startas för att hitta andra filer som kan " -"vara i samma tillstånd." +msgid "Adding resolution for %s" +msgstr "Lägger till lösning för %s" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "Kan inte lösa borttagnings- eller länkkonflikter med ett verktyg" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "Konfliktfil existerar inte" -#: lib/diff.tcl:104 +#: lib/mergetool.tcl:246 #, tcl-format -msgid "Loading diff of %s..." -msgstr "Läser differens för %s..." +msgid "Not a GUI merge tool: '%s'" +msgstr "Inte ett grafiskt verktyg för sammanslagning: %s" -#: lib/diff.tcl:125 -msgid "" -"LOCAL: deleted\n" -"REMOTE:\n" -msgstr "" -"LOKAL: borttagen\n" -"FJÄRR:\n" +#: lib/mergetool.tcl:275 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "Verktyget \"%s\" för sammanslagning stöds inte" -#: lib/diff.tcl:130 +#: lib/mergetool.tcl:310 +msgid "Merge tool is already running, terminate it?" +msgstr "Verktyget för sammanslagning körs redan. Vill du avsluta det?" + +#: lib/mergetool.tcl:330 +#, tcl-format msgid "" -"REMOTE: deleted\n" -"LOCAL:\n" -msgstr "" -"FJÄRR: borttagen\n" -"LOKAL:\n" - -#: lib/diff.tcl:137 -msgid "LOCAL:\n" -msgstr "LOKAL:\n" - -#: lib/diff.tcl:140 -msgid "REMOTE:\n" -msgstr "FJÄRR:\n" - -#: lib/diff.tcl:202 lib/diff.tcl:322 -#, tcl-format -msgid "Unable to display %s" -msgstr "Kan inte visa %s" - -#: lib/diff.tcl:203 -msgid "Error loading file:" -msgstr "Fel vid läsning av fil:" - -#: lib/diff.tcl:210 -msgid "Git Repository (subproject)" -msgstr "Gitarkiv (underprojekt)" - -#: lib/diff.tcl:222 -msgid "* Binary file (not showing content)." -msgstr "* Binärfil (visar inte innehållet)." - -#: lib/diff.tcl:227 -#, tcl-format -msgid "" -"* Untracked file is %d bytes.\n" -"* Showing only first %d bytes.\n" +"Error retrieving versions:\n" +"%s" msgstr "" -"* Den ospårade filen är %d byte.\n" -"* Visar endast inledande %d byte.\n" +"Fel vid hämtning av versioner:\n" +"%s" -#: lib/diff.tcl:233 +#: lib/mergetool.tcl:350 #, tcl-format msgid "" +"Could not start the merge tool:\n" "\n" -"* Untracked file clipped here by %s.\n" -"* To see the entire file, use an external editor.\n" +"%s" msgstr "" +"Kunde inte starta verktyg för sammanslagning:\n" "\n" -"* Den ospårade filen klipptes här av %s.\n" -"* För att se hela filen, använd ett externt redigeringsprogram.\n" - -#: lib/diff.tcl:485 -msgid "Failed to unstage selected hunk." -msgstr "Kunde inte ta bort den valda delen från kön." - -#: lib/diff.tcl:492 -msgid "Failed to stage selected hunk." -msgstr "Kunde inte lägga till den valda delen till kön." - -#: lib/diff.tcl:571 -msgid "Failed to unstage selected line." -msgstr "Kunde inte ta bort den valda raden från kön." - -#: lib/diff.tcl:579 -msgid "Failed to stage selected line." -msgstr "Kunde inte lägga till den valda raden till kön." - -#: lib/encoding.tcl:443 -msgid "Default" -msgstr "Standard" +"%s" -#: lib/encoding.tcl:448 -#, tcl-format -msgid "System (%s)" -msgstr "Systemets (%s)" +#: lib/mergetool.tcl:354 +msgid "Running merge tool..." +msgstr "Kör verktyg för sammanslagning..." -#: lib/encoding.tcl:459 lib/encoding.tcl:465 -msgid "Other" -msgstr "Annan" +#: lib/mergetool.tcl:382 lib/mergetool.tcl:390 +msgid "Merge tool failed." +msgstr "Verktyget för sammanslagning misslyckades." -#: lib/error.tcl:20 lib/error.tcl:116 -msgid "error" -msgstr "fel" +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "Lägg till verktyg" -#: lib/error.tcl:36 -msgid "warning" -msgstr "varning" +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "Lägg till nytt verktygskommando" -#: lib/error.tcl:96 -msgid "You must correct the above errors before committing." -msgstr "Du måste rätta till felen ovan innan du checkar in." +#: lib/tools_dlg.tcl:34 +msgid "Add globally" +msgstr "Lägg till globalt" -#: lib/index.tcl:6 -msgid "Unable to unlock the index." -msgstr "Kunde inte låsa upp indexet." +#: lib/tools_dlg.tcl:46 +msgid "Tool Details" +msgstr "Detaljer för verktyg" -#: lib/index.tcl:17 -msgid "Index Error" -msgstr "Indexfel" +#: lib/tools_dlg.tcl:49 +msgid "Use '/' separators to create a submenu tree:" +msgstr "Använd \"/\"-avdelare för att skapa ett undermenyträd:" -#: lib/index.tcl:19 -msgid "" -"Updating the Git index failed. A rescan will be automatically started to " -"resynchronize git-gui." -msgstr "" -"Misslyckades med att uppdatera Gitindexet. En omsökning kommer att startas " -"automatiskt för att synkronisera om git-gui." +#: lib/tools_dlg.tcl:60 +msgid "Command:" +msgstr "Kommando:" -#: lib/index.tcl:30 -msgid "Continue" -msgstr "Fortsätt" +#: lib/tools_dlg.tcl:71 +msgid "Show a dialog before running" +msgstr "Visa dialog innan programmet startas" -#: lib/index.tcl:33 -msgid "Unlock Index" -msgstr "Lås upp index" +#: lib/tools_dlg.tcl:77 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "Be användaren välja en version (sätter $REVISION)" -#: lib/index.tcl:292 -#, tcl-format -msgid "Unstaging %s from commit" -msgstr "Tar bort %s för incheckningskön" +#: lib/tools_dlg.tcl:82 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "Be användaren om ytterligare parametrar (sätter $ARGS)" -#: lib/index.tcl:331 -msgid "Ready to commit." -msgstr "Redo att checka in." +#: lib/tools_dlg.tcl:89 +msgid "Don't show the command output window" +msgstr "Visa inte kommandots utdatafönster" -#: lib/index.tcl:344 -#, tcl-format -msgid "Adding %s" -msgstr "Lägger till %s" +#: lib/tools_dlg.tcl:94 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "Kör endast om en diff har markerats ($FILENAME är inte tomt)" -#: lib/index.tcl:401 -#, tcl-format -msgid "Revert changes in file %s?" -msgstr "Återställ ändringarna i filen %s?" +#: lib/tools_dlg.tcl:118 +msgid "Please supply a name for the tool." +msgstr "Ange ett namn för verktyget." -#: lib/index.tcl:403 +#: lib/tools_dlg.tcl:126 #, tcl-format -msgid "Revert changes in these %i files?" -msgstr "Återställ ändringarna i dessa %i filer?" - -#: lib/index.tcl:411 -msgid "Any unstaged changes will be permanently lost by the revert." -msgstr "" -"Alla oköade ändringar kommer permanent gå förlorade vid återställningen." - -#: lib/index.tcl:414 -msgid "Do Nothing" -msgstr "Gör ingenting" - -#: lib/index.tcl:432 -msgid "Reverting selected files" -msgstr "Återställer valda filer" +msgid "Tool '%s' already exists." +msgstr "Verktyget \"%s\" finns redan." -#: lib/index.tcl:436 +#: lib/tools_dlg.tcl:148 #, tcl-format -msgid "Reverting %s" -msgstr "Återställer %s" - -#: lib/merge.tcl:13 msgid "" -"Cannot merge while amending.\n" -"\n" -"You must finish amending this commit before starting any type of merge.\n" +"Could not add tool:\n" +"%s" msgstr "" -"Kan inte slå ihop vid utökning.\n" -"\n" -"Du måste göra färdig utökningen av incheckningen innan du påbörjar någon " -"slags sammanslagning.\n" +"Kunde inte lägga till verktyget:\n" +"%s" -#: lib/merge.tcl:27 -msgid "" -"Last scanned state does not match repository state.\n" -"\n" -"Another Git program has modified this repository since the last scan. A " -"rescan must be performed before a merge can be performed.\n" -"\n" -"The rescan will be automatically started now.\n" -msgstr "" -"Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" -"\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " -"utföra en ny sökning innan du kan utföra en sammanslagning.\n" -"\n" -"Sökningen kommer att startas automatiskt nu.\n" +#: lib/tools_dlg.tcl:187 +msgid "Remove Tool" +msgstr "Ta bort verktyg" -#: lib/merge.tcl:45 -#, tcl-format -msgid "" -"You are in the middle of a conflicted merge.\n" -"\n" -"File %s has merge conflicts.\n" -"\n" -"You must resolve them, stage the file, and commit to complete the current " -"merge. Only then can you begin another merge.\n" -msgstr "" -"Du är mitt i en sammanslagning med konflikter.\n" -"\n" -"Filen %s har sammanslagningskonflikter.\n" -"\n" -"Du måste lösa dem, köa filen och checka in för att fullborda den aktuella " -"sammanslagningen. När du gjort det kan du påbörja en ny sammanslagning.\n" +#: lib/tools_dlg.tcl:193 +msgid "Remove Tool Commands" +msgstr "Ta bort verktygskommandon" -#: lib/merge.tcl:55 -#, tcl-format -msgid "" -"You are in the middle of a change.\n" -"\n" -"File %s is modified.\n" -"\n" -"You should complete the current commit before starting a merge. Doing so " -"will help you abort a failed merge, should the need arise.\n" -msgstr "" -"Du är mitt i en ändring.\n" -"\n" -"Filen %s har ändringar.\n" -"\n" -"Du bör fullborda den aktuella incheckningen innan du påbörjar en " -"sammanslagning. Om du gör det blir det enklare att avbryta en misslyckad " -"sammanslagning, om det skulle vara nödvändigt.\n" +#: lib/tools_dlg.tcl:198 +msgid "Remove" +msgstr "Ta bort" -#: lib/merge.tcl:107 -#, tcl-format -msgid "%s of %s" -msgstr "%s av %s" +#: lib/tools_dlg.tcl:231 +msgid "(Blue denotes repository-local tools)" +msgstr "(Blått anger verktyg lokala för arkivet)" -#: lib/merge.tcl:120 +#: lib/tools_dlg.tcl:292 #, tcl-format -msgid "Merging %s and %s..." -msgstr "Slår ihop %s och %s..." - -#: lib/merge.tcl:131 -msgid "Merge completed successfully." -msgstr "Sammanslagningen avslutades framgångsrikt." - -#: lib/merge.tcl:133 -msgid "Merge failed. Conflict resolution is required." -msgstr "Sammanslagningen misslyckades. Du måste lösa konflikterna." +msgid "Run Command: %s" +msgstr "Kör kommandot: %s" -#: lib/merge.tcl:158 -#, tcl-format -msgid "Merge Into %s" -msgstr "Slå ihop i %s" +#: lib/tools_dlg.tcl:306 +msgid "Arguments" +msgstr "Argument" -#: lib/merge.tcl:177 -msgid "Revision To Merge" -msgstr "Revisioner att slå ihop" +#: lib/tools_dlg.tcl:341 +msgid "OK" +msgstr "OK" -#: lib/merge.tcl:212 -msgid "" -"Cannot abort while amending.\n" -"\n" -"You must finish amending this commit.\n" -msgstr "" -"Kan inte avbryta vid utökning.\n" -"\n" -"Du måste göra dig färdig med att utöka incheckningen.\n" +#: lib/search.tcl:48 +msgid "Find:" +msgstr "Sök:" -#: lib/merge.tcl:222 -msgid "" -"Abort merge?\n" -"\n" -"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" -"\n" -"Continue with aborting the current merge?" -msgstr "" -"Avbryt sammanslagning?\n" -"\n" -"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att gå " -"förlorade.\n" -"\n" -"Gå vidare med att avbryta den aktuella sammanslagningen?" +#: lib/search.tcl:50 +msgid "Next" +msgstr "Nästa" -#: lib/merge.tcl:228 -msgid "" -"Reset changes?\n" -"\n" -"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" -"\n" -"Continue with resetting the current changes?" -msgstr "" -"Återställ ändringar?\n" -"\n" -"Om du återställer ändringarna kommer *ALLA* ej incheckade ändringar att gå " -"förlorade.\n" -"\n" -"Gå vidare med att återställa de aktuella ändringarna?" +#: lib/search.tcl:51 +msgid "Prev" +msgstr "Föreg" -#: lib/merge.tcl:239 -msgid "Aborting" -msgstr "Avbryter" +#: lib/search.tcl:52 +msgid "RegExp" +msgstr "Reg.uttr." -#: lib/merge.tcl:239 -msgid "files reset" -msgstr "filer återställda" +#: lib/search.tcl:54 +msgid "Case" +msgstr "Skiftläge" -#: lib/merge.tcl:267 -msgid "Abort failed." -msgstr "Misslyckades avbryta." +#: lib/branch_rename.tcl:15 lib/branch_rename.tcl:23 +msgid "Rename Branch" +msgstr "Byt namn på gren" -#: lib/merge.tcl:269 -msgid "Abort completed. Ready." -msgstr "Avbrytning fullbordad. Redo." +#: lib/branch_rename.tcl:28 +msgid "Rename" +msgstr "Byt namn" -#: lib/mergetool.tcl:8 -msgid "Force resolution to the base version?" -msgstr "Tvinga lösning att använda basversionen?" +#: lib/branch_rename.tcl:38 +msgid "Branch:" +msgstr "Gren:" -#: lib/mergetool.tcl:9 -msgid "Force resolution to this branch?" -msgstr "Tvinga lösning att använda den aktuella grenen?" +#: lib/branch_rename.tcl:46 +msgid "New Name:" +msgstr "Nytt namn:" -#: lib/mergetool.tcl:10 -msgid "Force resolution to the other branch?" -msgstr "Tvinga lösning att använda den andra grenen?" +#: lib/branch_rename.tcl:81 +msgid "Please select a branch to rename." +msgstr "Välj en gren att byta namn på." -#: 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 "" -"Observera att diffen endast visar de ändringar som står i konflikt.\n" -"\n" -"%s kommer att skrivas över.\n" -"\n" -"Du måste starta om sammanslagningen för att göra den här operationen ogjord." +#: lib/branch_rename.tcl:92 lib/branch_create.tcl:154 +msgid "Please supply a branch name." +msgstr "Ange ett namn för grenen." -#: lib/mergetool.tcl:45 +#: lib/branch_rename.tcl:112 lib/branch_create.tcl:165 #, tcl-format -msgid "File %s seems to have unresolved conflicts, still stage?" -msgstr "Filen %s verkar innehålla olösta konflikter. Vill du köa ändå?" +msgid "'%s' is not an acceptable branch name." +msgstr "\"%s\" kan inte användas som namn på grenen." -#: lib/mergetool.tcl:60 +#: lib/branch_rename.tcl:123 #, tcl-format -msgid "Adding resolution for %s" -msgstr "Lägger till lösning för %s" +msgid "Failed to rename '%s'." +msgstr "Kunde inte byta namn på \"%s\"." -#: lib/mergetool.tcl:141 -msgid "Cannot resolve deletion or link conflicts using a tool" -msgstr "Kan inte lösa borttagnings- eller länkkonflikter med ett verktyg" +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "Ta bort gren från fjärrarkiv" -#: lib/mergetool.tcl:146 -msgid "Conflict file does not exist" -msgstr "Konfliktfil existerar inte" +#: lib/remote_branch_delete.tcl:48 +msgid "From Repository" +msgstr "Från arkiv" -#: lib/mergetool.tcl:264 -#, tcl-format -msgid "Not a GUI merge tool: '%s'" -msgstr "Inte ett grafiskt verktyg för sammanslagning: %s" +#: lib/remote_branch_delete.tcl:88 +msgid "Branches" +msgstr "Grenar" -#: lib/mergetool.tcl:268 -#, tcl-format -msgid "Unsupported merge tool '%s'" -msgstr "Verktyget \"%s\" för sammanslagning stöds inte" +#: lib/remote_branch_delete.tcl:110 +msgid "Delete Only If" +msgstr "Ta endast bort om" -#: lib/mergetool.tcl:303 -msgid "Merge tool is already running, terminate it?" -msgstr "Verktyget för sammanslagning körs redan. Vill du avsluta det?" +#: lib/remote_branch_delete.tcl:112 +msgid "Merged Into:" +msgstr "Sammanslagen i:" + +#: lib/remote_branch_delete.tcl:120 lib/branch_delete.tcl:53 +msgid "Always (Do not perform merge checks)" +msgstr "Alltid (utför inte sammanslagningstest)" + +#: lib/remote_branch_delete.tcl:153 +msgid "A branch is required for 'Merged Into'." +msgstr "En gren krävs för \"Sammanslagen i\"." -#: lib/mergetool.tcl:323 +#: lib/remote_branch_delete.tcl:185 #, tcl-format msgid "" -"Error retrieving versions:\n" -"%s" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" msgstr "" -"Fel vid hämtning av versioner:\n" -"%s" +"Följande grenar har inte helt slagits samman i %s:\n" +"\n" +" - %s" -#: lib/mergetool.tcl:343 +#: lib/remote_branch_delete.tcl:190 #, tcl-format msgid "" -"Could not start the merge tool:\n" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"En eller flera av sammanslagningstesterna misslyckades eftersom du inte har " +"hämtat de nödvändiga incheckningarna. Försök hämta från %s först." + +#: lib/remote_branch_delete.tcl:208 +msgid "Please select one or more branches to delete." +msgstr "Välj en eller flera grenar att ta bort." + +#: lib/remote_branch_delete.tcl:218 lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult.\n" "\n" -"%s" +"Delete the selected branches?" msgstr "" -"Kunde inte starta verktyg för sammanslagning:\n" +"Det kan vara svårt att återställa borttagna grenar.\n" "\n" -"%s" +"Ta bort de valda grenarna?" -#: lib/mergetool.tcl:347 -msgid "Running merge tool..." -msgstr "Kör verktyg för sammanslagning..." +#: lib/remote_branch_delete.tcl:227 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Tar bort grenar från %s" -#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 -msgid "Merge tool failed." -msgstr "Verktyget för sammanslagning misslyckades." +#: lib/remote_branch_delete.tcl:300 +msgid "No repository selected." +msgstr "Inget arkiv markerat." -#: lib/option.tcl:11 +#: lib/remote_branch_delete.tcl:305 #, tcl-format -msgid "Invalid global encoding '%s'" -msgstr "Den globala teckenkodningen \"%s\" är ogiltig" +msgid "Scanning %s..." +msgstr "Söker %s..." -#: lib/option.tcl:19 -#, tcl-format -msgid "Invalid repo encoding '%s'" -msgstr "Arkivets teckenkodning \"%s\" är ogiltig" +#: lib/choose_repository.tcl:33 +msgid "Git Gui" +msgstr "Git Gui" -#: lib/option.tcl:119 -msgid "Restore Defaults" -msgstr "Återställ standardvärden" +#: lib/choose_repository.tcl:92 lib/choose_repository.tcl:412 +msgid "Create New Repository" +msgstr "Skapa nytt arkiv" -#: lib/option.tcl:123 -msgid "Save" -msgstr "Spara" +#: lib/choose_repository.tcl:98 +msgid "New..." +msgstr "Nytt..." -#: lib/option.tcl:133 -#, tcl-format -msgid "%s Repository" -msgstr "Arkivet %s" +#: lib/choose_repository.tcl:105 lib/choose_repository.tcl:496 +msgid "Clone Existing Repository" +msgstr "Klona befintligt arkiv" -#: lib/option.tcl:134 -msgid "Global (All Repositories)" -msgstr "Globalt (alla arkiv)" +#: lib/choose_repository.tcl:116 +msgid "Clone..." +msgstr "Klona..." -#: lib/option.tcl:140 -msgid "User Name" -msgstr "Användarnamn" +#: lib/choose_repository.tcl:123 lib/choose_repository.tcl:1064 +msgid "Open Existing Repository" +msgstr "Öppna befintligt arkiv" -#: lib/option.tcl:141 -msgid "Email Address" -msgstr "E-postadress" +#: lib/choose_repository.tcl:129 +msgid "Open..." +msgstr "Öppna..." -#: lib/option.tcl:143 -msgid "Summarize Merge Commits" -msgstr "Summera sammanslagningsincheckningar" +#: lib/choose_repository.tcl:142 +msgid "Recent Repositories" +msgstr "Senaste arkiven" -#: lib/option.tcl:144 -msgid "Merge Verbosity" -msgstr "Pratsamhet för sammanslagningar" +#: lib/choose_repository.tcl:148 +msgid "Open Recent Repository:" +msgstr "Öppna tidigare arkiv:" -#: lib/option.tcl:145 -msgid "Show Diffstat After Merge" -msgstr "Visa diffstatistik efter sammanslagning" +#: lib/choose_repository.tcl:316 lib/choose_repository.tcl:323 +#: lib/choose_repository.tcl:330 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Kunde inte skapa arkivet %s:" -#: lib/option.tcl:146 -msgid "Use Merge Tool" -msgstr "Använd verktyg för sammanslagning" +#: lib/choose_repository.tcl:407 lib/branch_create.tcl:33 +msgid "Create" +msgstr "Skapa" -#: lib/option.tcl:148 -msgid "Trust File Modification Timestamps" -msgstr "Lita på filändringstidsstämplar" +#: lib/choose_repository.tcl:417 +msgid "Directory:" +msgstr "Katalog:" -#: lib/option.tcl:149 -msgid "Prune Tracking Branches During Fetch" -msgstr "Städa spårade grenar vid hämtning" +#: lib/choose_repository.tcl:447 lib/choose_repository.tcl:573 +#: lib/choose_repository.tcl:1098 +msgid "Git Repository" +msgstr "Gitarkiv" -#: lib/option.tcl:150 -msgid "Match Tracking Branches" -msgstr "Matcha spårade grenar" +#: lib/choose_repository.tcl:472 +#, tcl-format +msgid "Directory %s already exists." +msgstr "Katalogen %s finns redan." -#: lib/option.tcl:151 -msgid "Use Textconv For Diffs and Blames" -msgstr "Använd Textconv för diff och klandring" +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "File %s already exists." +msgstr "Filen %s finns redan." -#: lib/option.tcl:152 -msgid "Blame Copy Only On Changed Files" -msgstr "Klandra kopiering bara i ändrade filer" +#: lib/choose_repository.tcl:491 +msgid "Clone" +msgstr "Klona" -#: lib/option.tcl:153 -msgid "Minimum Letters To Blame Copy On" -msgstr "Minsta antal tecken att klandra kopiering för" +#: lib/choose_repository.tcl:504 +msgid "Source Location:" +msgstr "Plats för källkod:" -#: lib/option.tcl:154 -msgid "Blame History Context Radius (days)" -msgstr "Historikradie för klandring (dagar)" +#: lib/choose_repository.tcl:513 +msgid "Target Directory:" +msgstr "Målkatalog:" -#: lib/option.tcl:155 -msgid "Number of Diff Context Lines" -msgstr "Antal rader sammanhang i differenser" +#: lib/choose_repository.tcl:523 +msgid "Clone Type:" +msgstr "Typ av klon:" -#: lib/option.tcl:156 -msgid "Commit Message Text Width" -msgstr "Textbredd för incheckningsmeddelande" +#: lib/choose_repository.tcl:528 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Standard (snabb, semiredundant, hårda länkar)" -#: lib/option.tcl:157 -msgid "New Branch Name Template" -msgstr "Mall för namn på nya grenar" +#: lib/choose_repository.tcl:533 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Full kopia (långsammare, redundant säkerhetskopia)" -#: lib/option.tcl:158 -msgid "Default File Contents Encoding" -msgstr "Standardteckenkodning för filinnehåll" +#: lib/choose_repository.tcl:538 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Delad (snabbast, rekommenderas ej, ingen säkerhetskopia)" -#: lib/option.tcl:204 -msgid "Change" -msgstr "Ändra" +#: lib/choose_repository.tcl:545 +msgid "Recursively clone submodules too" +msgstr "Klona även rekursivt undermoduler" -#: lib/option.tcl:231 -msgid "Spelling Dictionary:" -msgstr "Stavningsordlista:" +#: 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 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Inte ett Gitarkiv: %s" -#: lib/option.tcl:261 -msgid "Change Font" -msgstr "Byt teckensnitt" +#: lib/choose_repository.tcl:615 +msgid "Standard only available for local repository." +msgstr "Standard är endast tillgängligt för lokala arkiv." + +#: lib/choose_repository.tcl:619 +msgid "Shared only available for local repository." +msgstr "Delat är endast tillgängligt för lokala arkiv." -#: lib/option.tcl:265 +#: lib/choose_repository.tcl:640 #, tcl-format -msgid "Choose %s" -msgstr "Välj %s" +msgid "Location %s already exists." +msgstr "Platsen %s finns redan." -#: lib/option.tcl:271 -msgid "pt." -msgstr "p." +#: lib/choose_repository.tcl:651 +msgid "Failed to configure origin" +msgstr "Kunde inte konfigurera ursprung" -#: lib/option.tcl:285 -msgid "Preferences" -msgstr "Inställningar" +#: lib/choose_repository.tcl:663 +msgid "Counting objects" +msgstr "Räknar objekt" -#: lib/option.tcl:322 -msgid "Failed to completely save options:" -msgstr "Misslyckades med att helt spara alternativ:" +#: lib/choose_repository.tcl:664 +msgid "buckets" +msgstr "hinkar" -#: lib/remote_add.tcl:20 -msgid "Add Remote" -msgstr "Lägg till fjärrarkiv" +#: lib/choose_repository.tcl:688 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Kunde inte kopiera objekt/info/alternativ: %s" -#: lib/remote_add.tcl:25 -msgid "Add New Remote" -msgstr "Lägg till nytt fjärrarkiv" +#: lib/choose_repository.tcl:724 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Ingenting att klona från %s." -#: lib/remote_add.tcl:30 lib/tools_dlg.tcl:37 -msgid "Add" -msgstr "Lägg till" +#: lib/choose_repository.tcl:726 lib/choose_repository.tcl:940 +#: lib/choose_repository.tcl:952 +msgid "The 'master' branch has not been initialized." +msgstr "Grenen \"master\" har inte initierats." -#: lib/remote_add.tcl:39 -msgid "Remote Details" -msgstr "Detaljer för fjärrarkiv" +#: lib/choose_repository.tcl:739 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "Hårda länkar är inte tillgängliga. Faller tillbaka på kopiering." -#: lib/remote_add.tcl:50 -msgid "Location:" -msgstr "Plats:" +#: lib/choose_repository.tcl:751 +#, tcl-format +msgid "Cloning from %s" +msgstr "Klonar från %s" -#: lib/remote_add.tcl:60 -msgid "Further Action" -msgstr "Ytterligare åtgärd" +#: lib/choose_repository.tcl:782 +msgid "Copying objects" +msgstr "Kopierar objekt" -#: lib/remote_add.tcl:63 -msgid "Fetch Immediately" -msgstr "Hämta omedelbart" +#: lib/choose_repository.tcl:783 +msgid "KiB" +msgstr "KiB" -#: lib/remote_add.tcl:69 -msgid "Initialize Remote Repository and Push" -msgstr "Initiera fjärrarkiv och sänd till" +#: lib/choose_repository.tcl:807 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Kunde inte kopiera objekt: %s" -#: lib/remote_add.tcl:75 -msgid "Do Nothing Else Now" -msgstr "Gör ingent mer nu" +#: lib/choose_repository.tcl:817 +msgid "Linking objects" +msgstr "Länkar objekt" -#: lib/remote_add.tcl:100 -msgid "Please supply a remote name." -msgstr "Ange ett namn för fjärrarkivet." +#: lib/choose_repository.tcl:818 +msgid "objects" +msgstr "objekt" -#: lib/remote_add.tcl:113 +#: lib/choose_repository.tcl:826 #, tcl-format -msgid "'%s' is not an acceptable remote name." -msgstr "\"%s\" kan inte användas som namn på fjärrarkivet." +msgid "Unable to hardlink object: %s" +msgstr "Kunde inte hårdlänka objekt: %s" -#: lib/remote_add.tcl:124 -#, tcl-format -msgid "Failed to add remote '%s' of location '%s'." -msgstr "Kunde inte lägga till fjärrarkivet \"%s\" på platsen \"%s\"." +#: lib/choose_repository.tcl:881 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "Kunde inte hämta grenar och objekt. Se konsolutdata för detaljer." -#: lib/remote_add.tcl:132 lib/transport.tcl:6 -#, tcl-format -msgid "fetch %s" -msgstr "hämta %s" +#: lib/choose_repository.tcl:892 +msgid "Cannot fetch tags. See console output for details." +msgstr "Kunde inte hämta taggar. Se konsolutdata för detaljer." -#: lib/remote_add.tcl:133 -#, tcl-format -msgid "Fetching the %s" -msgstr "Hämtar %s" +#: lib/choose_repository.tcl:916 +msgid "Cannot determine HEAD. See console output for details." +msgstr "Kunde inte avgöra HEAD. Se konsolutdata för detaljer." -#: lib/remote_add.tcl:156 +#: lib/choose_repository.tcl:925 #, tcl-format -msgid "Do not know how to initialize repository at location '%s'." -msgstr "Vet inte hur arkivet på platsen \"%s\" skall initieras." +msgid "Unable to cleanup %s" +msgstr "Kunde inte städa upp %s" -#: lib/remote_add.tcl:162 lib/transport.tcl:25 lib/transport.tcl:63 -#: lib/transport.tcl:81 -#, tcl-format -msgid "push %s" -msgstr "sänd %s" +#: lib/choose_repository.tcl:931 +msgid "Clone failed." +msgstr "Kloning misslyckades." -#: lib/remote_add.tcl:163 -#, tcl-format -msgid "Setting up the %s (at %s)" -msgstr "Konfigurerar %s (på %s)" +#: lib/choose_repository.tcl:938 +msgid "No default branch obtained." +msgstr "Hämtade ingen standardgren." -#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 -msgid "Delete Branch Remotely" -msgstr "Ta bort gren från fjärrarkiv" +#: lib/choose_repository.tcl:949 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "Kunde inte slå upp %s till någon incheckning." -#: lib/remote_branch_delete.tcl:48 -msgid "From Repository" -msgstr "Från arkiv" +#: lib/choose_repository.tcl:961 +msgid "Creating working directory" +msgstr "Skapar arbetskatalog" -#: lib/remote_branch_delete.tcl:51 lib/transport.tcl:134 -msgid "Remote:" -msgstr "Fjärrarkiv:" +#: lib/choose_repository.tcl:962 lib/index.tcl:70 lib/index.tcl:136 +#: lib/index.tcl:207 +msgid "files" +msgstr "filer" -#: lib/remote_branch_delete.tcl:72 lib/transport.tcl:154 -msgid "Arbitrary Location:" -msgstr "Godtycklig plats:" +#: lib/choose_repository.tcl:981 +msgid "Cannot clone submodules." +msgstr "Kan inte klona undermoduler." -#: lib/remote_branch_delete.tcl:88 -msgid "Branches" -msgstr "Grenar" +#: lib/choose_repository.tcl:990 +msgid "Cloning submodules" +msgstr "Klonar undermoduler" -#: lib/remote_branch_delete.tcl:110 -msgid "Delete Only If" -msgstr "Ta endast bort om" +#: lib/choose_repository.tcl:1015 +msgid "Initial file checkout failed." +msgstr "Inledande filutcheckning misslyckades." -#: lib/remote_branch_delete.tcl:112 -msgid "Merged Into:" -msgstr "Sammanslagen i:" +#: lib/choose_repository.tcl:1059 +msgid "Open" +msgstr "Öppna" -#: lib/remote_branch_delete.tcl:153 -msgid "A branch is required for 'Merged Into'." -msgstr "En gren krävs för \"Sammanslagen i\"." +#: lib/choose_repository.tcl:1069 +msgid "Repository:" +msgstr "Arkiv:" -#: lib/remote_branch_delete.tcl:185 +#: lib/choose_repository.tcl:1118 #, tcl-format -msgid "" -"The following branches are not completely merged into %s:\n" -"\n" -" - %s" -msgstr "" -"Följande grenar har inte helt slagits samman i %s:\n" -"\n" -" - %s" +msgid "Failed to open repository %s:" +msgstr "Kunde inte öppna arkivet %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 "" -"En eller flera av sammanslagningstesterna misslyckades eftersom du inte har " -"hämtat de nödvändiga incheckningarna. Försök hämta från %s först." +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - ett grafiskt användargränssnitt för Git." -#: lib/remote_branch_delete.tcl:208 -msgid "Please select one or more branches to delete." -msgstr "Välj en eller flera grenar att ta bort." +#: lib/blame.tcl:73 +msgid "File Viewer" +msgstr "Filvisare" -#: lib/remote_branch_delete.tcl:227 -#, tcl-format -msgid "Deleting branches from %s" -msgstr "Tar bort grenar från %s" +#: lib/blame.tcl:79 +msgid "Commit:" +msgstr "Incheckning:" -#: lib/remote_branch_delete.tcl:293 -msgid "No repository selected." -msgstr "Inget arkiv markerat." +#: lib/blame.tcl:280 +msgid "Copy Commit" +msgstr "Kopiera incheckning" -#: lib/remote_branch_delete.tcl:298 -#, tcl-format -msgid "Scanning %s..." -msgstr "Söker %s..." +#: lib/blame.tcl:284 +msgid "Find Text..." +msgstr "Sök text..." -#: lib/remote.tcl:163 -msgid "Remove Remote" -msgstr "Ta bort fjärrarkiv" +#: lib/blame.tcl:288 +msgid "Goto Line..." +msgstr "Gå till rad..." -#: lib/remote.tcl:168 -msgid "Prune from" -msgstr "Ta bort från" +#: lib/blame.tcl:297 +msgid "Do Full Copy Detection" +msgstr "Gör full kopieringsigenkänning" -#: lib/remote.tcl:173 -msgid "Fetch from" -msgstr "Hämta från" +#: lib/blame.tcl:301 +msgid "Show History Context" +msgstr "Visa historiksammanhang" -#: lib/remote.tcl:215 -msgid "Push to" -msgstr "Sänd till" +#: lib/blame.tcl:304 +msgid "Blame Parent Commit" +msgstr "Klandra föräldraincheckning" -#: lib/search.tcl:22 -msgid "Find:" -msgstr "Sök:" +#: lib/blame.tcl:466 +#, tcl-format +msgid "Reading %s..." +msgstr "Läser %s..." -#: lib/search.tcl:24 -msgid "Next" -msgstr "Nästa" +#: lib/blame.tcl:594 +msgid "Loading copy/move tracking annotations..." +msgstr "Läser annoteringar för kopiering/flyttning..." -#: lib/search.tcl:25 -msgid "Prev" -msgstr "Föreg" +#: lib/blame.tcl:614 +msgid "lines annotated" +msgstr "rader annoterade" -#: lib/search.tcl:26 -msgid "Case-Sensitive" -msgstr "Skilj på VERSALER/gemener" +#: lib/blame.tcl:806 +msgid "Loading original location annotations..." +msgstr "Läser in annotering av originalplacering..." -#: lib/shortcut.tcl:21 lib/shortcut.tcl:62 -msgid "Cannot write shortcut:" -msgstr "Kan inte skriva genväg:" +#: lib/blame.tcl:809 +msgid "Annotation complete." +msgstr "Annotering fullbordad." -#: lib/shortcut.tcl:137 -msgid "Cannot write icon:" -msgstr "Kan inte skriva ikon:" +#: lib/blame.tcl:839 +msgid "Busy" +msgstr "Upptagen" -#: lib/spellcheck.tcl:57 -msgid "Unsupported spell checker" -msgstr "Stavningskontrollprogrammet stöds inte" +#: lib/blame.tcl:840 +msgid "Annotation process is already running." +msgstr "Annoteringsprocess körs redan." -#: lib/spellcheck.tcl:65 -msgid "Spell checking is unavailable" -msgstr "Stavningskontroll är ej tillgänglig" +#: lib/blame.tcl:879 +msgid "Running thorough copy detection..." +msgstr "Kör grundlig kopieringsigenkänning..." -#: lib/spellcheck.tcl:68 -msgid "Invalid spell checking configuration" -msgstr "Ogiltig inställning för stavningskontroll" +#: lib/blame.tcl:947 +msgid "Loading annotation..." +msgstr "Läser in annotering..." -#: lib/spellcheck.tcl:70 -#, tcl-format -msgid "Reverting dictionary to %s." -msgstr "Återställer ordlistan till %s." +#: lib/blame.tcl:1000 +msgid "Author:" +msgstr "Författare:" + +#: lib/blame.tcl:1004 +msgid "Committer:" +msgstr "Incheckare:" + +#: lib/blame.tcl:1009 +msgid "Original File:" +msgstr "Ursprunglig fil:" + +#: lib/blame.tcl:1057 +msgid "Cannot find HEAD commit:" +msgstr "Hittar inte incheckning för HEAD:" -#: lib/spellcheck.tcl:73 -msgid "Spell checker silently failed on startup" -msgstr "Stavningskontroll misslyckades tyst vid start" +#: lib/blame.tcl:1112 +msgid "Cannot find parent commit:" +msgstr "Hittar inte föräldraincheckning:" -#: lib/spellcheck.tcl:80 -msgid "Unrecognized spell checker" -msgstr "Stavningskontrollprogrammet känns inte igen" +#: lib/blame.tcl:1127 +msgid "Unable to display parent" +msgstr "Kan inte visa förälder" -#: lib/spellcheck.tcl:186 -msgid "No Suggestions" -msgstr "Inga förslag" +#: lib/blame.tcl:1269 +msgid "Originally By:" +msgstr "Ursprungligen av:" -#: lib/spellcheck.tcl:388 -msgid "Unexpected EOF from spell checker" -msgstr "Oväntat filslut från stavningskontroll" +#: lib/blame.tcl:1275 +msgid "In File:" +msgstr "I filen:" -#: lib/spellcheck.tcl:392 -msgid "Spell Checker Failed" -msgstr "Stavningskontroll misslyckades" +#: lib/blame.tcl:1280 +msgid "Copied Or Moved Here By:" +msgstr "Kopierad eller flyttad hit av:" #: lib/sshkey.tcl:31 msgid "No keys found." @@ -2390,189 +2230,480 @@ msgstr "Lyckades skapa nyckeln, men hittar inte någon nyckel." msgid "Your key is in: %s" msgstr "Din nyckel finns i: %s" -#: lib/status_bar.tcl:86 +#: lib/branch_create.tcl:23 +msgid "Create Branch" +msgstr "Skapa gren" + +#: lib/branch_create.tcl:28 +msgid "Create New Branch" +msgstr "Skapa ny gren" + +#: lib/branch_create.tcl:42 +msgid "Branch Name" +msgstr "Namn på gren" + +#: lib/branch_create.tcl:57 +msgid "Match Tracking Branch Name" +msgstr "Använd namn på spårad gren" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Inledande revision" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Uppdatera befintlig gren:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nej" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Endast snabbspolning" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Checka ut när skapad" + +#: lib/branch_create.tcl:132 +msgid "Please select a tracking branch." +msgstr "Välj en gren att spåra." + +#: lib/branch_create.tcl:141 #, tcl-format -msgid "%s ... %*i of %*i %s (%3i%%)" -msgstr "%s... %*i av %*i %s (%3i%%)" +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Den spårade grenen %s är inte en gren i fjärrarkivet." -#: lib/tools_dlg.tcl:22 -msgid "Add Tool" -msgstr "Lägg till verktyg" +#: lib/shortcut.tcl:21 lib/shortcut.tcl:62 +msgid "Cannot write shortcut:" +msgstr "Kan inte skriva genväg:" -#: lib/tools_dlg.tcl:28 -msgid "Add New Tool Command" -msgstr "Lägg till nytt verktygskommando" +#: lib/shortcut.tcl:137 +msgid "Cannot write icon:" +msgstr "Kan inte skriva ikon:" -#: lib/tools_dlg.tcl:34 -msgid "Add globally" -msgstr "Lägg till globalt" +#: lib/choose_rev.tcl:52 +msgid "This Detached Checkout" +msgstr "Denna frånkopplade utcheckning" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Revisionsuttryck:" + +#: lib/choose_rev.tcl:72 +msgid "Local Branch" +msgstr "Lokal gren" + +#: lib/choose_rev.tcl:77 +msgid "Tracking Branch" +msgstr "Spårande gren" + +#: lib/choose_rev.tcl:82 lib/choose_rev.tcl:544 +msgid "Tag" +msgstr "Tagg" + +#: lib/choose_rev.tcl:321 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Ogiltig revision: %s" + +#: lib/choose_rev.tcl:342 +msgid "No revision selected." +msgstr "Ingen revision vald." + +#: lib/choose_rev.tcl:350 +msgid "Revision expression is empty." +msgstr "Revisionsuttrycket är tomt." + +#: lib/choose_rev.tcl:537 +msgid "Updated" +msgstr "Uppdaterad" + +#: lib/choose_rev.tcl:565 +msgid "URL" +msgstr "Webbadress" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Det finns ingenting att utöka.\n" +"\n" +"Du håller på att skapa den inledande incheckningen. Det finns ingen tidigare " +"incheckning att utöka.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Kan inte utöka vid sammanslagning.\n" +"\n" +"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan inte " +"utöka tidigare incheckningar om du inte först avbryter den pågående " +"sammanslagningen.\n" + +#: lib/commit.tcl:48 +msgid "Error loading commit data for amend:" +msgstr "Fel vid inläsning av incheckningsdata för utökning:" + +#: lib/commit.tcl:75 +msgid "Unable to obtain your identity:" +msgstr "Kunde inte hämta din identitet:" + +#: lib/commit.tcl:80 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Felaktig GIT_COMMITTER_IDENT:" + +#: lib/commit.tcl:129 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." + +#: lib/commit.tcl:149 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan du kan göra en ny incheckning.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" + +#: lib/commit.tcl:173 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Osammanslagna filer kan inte checkas in.\n" +"\n" +"Filen %s har sammanslagningskonflikter. Du måste lösa dem och köa filen " +"innan du checkar in den.\n" + +#: lib/commit.tcl:181 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Okänd filstatus %s upptäckt.\n" +"\n" +"Filen %s kan inte checkas in av programmet.\n" + +#: lib/commit.tcl:189 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Inga ändringar att checka in.\n" +"\n" +"Du måste köa åtminstone en fil innan du kan checka in.\n" + +#: lib/commit.tcl:204 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Ange ett incheckningsmeddelande.\n" +"\n" +"Ett bra incheckningsmeddelande har följande format:\n" +"\n" +"- Första raden: Beskriv i en mening vad du gjorde.\n" +"- Andra raden: Tom\n" +"- Följande rader: Beskriv varför det här är en bra ändring.\n" + +#: lib/commit.tcl:235 +msgid "Calling pre-commit hook..." +msgstr "Anropar kroken före incheckning (pre-commit)..." + +#: lib/commit.tcl:250 +msgid "Commit declined by pre-commit hook." +msgstr "Incheckningen avvisades av kroken före incheckning (pre-commit)." + +#: lib/commit.tcl:269 +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 " +"changes and it can be difficult to retrieve them later from the reflog. You " +"should probably cancel this commit and create a new branch to continue.\n" +" \n" +" Do you really want to proceed with your Commit?" +msgstr "" +"Du är på väg att checka in på ett frånkopplat huvud. Det kan potentiellt " +"vara farligt, eftersom du kommer förlora dina ändringar om du växlar till en " +"annan gren och det kan vara svårt att hämta dem senare från ref-loggen. Du " +"bör troligen avbryta incheckningen och skapa en ny gren för att fortsätta.\n" +" \n" +" Vill du verkligen fortsätta checka in?" + +#: lib/commit.tcl:290 +msgid "Calling commit-msg hook..." +msgstr "Anropar kroken för incheckningsmeddelande (commit-msg)..." + +#: lib/commit.tcl:305 +msgid "Commit declined by commit-msg hook." +msgstr "Incheckning avvisad av kroken för incheckningsmeddelande (commit-msg)." + +#: lib/commit.tcl:318 +msgid "Committing changes..." +msgstr "Checkar in ändringar..." + +#: lib/commit.tcl:334 +msgid "write-tree failed:" +msgstr "write-tree misslyckades:" + +#: lib/commit.tcl:335 lib/commit.tcl:379 lib/commit.tcl:400 +msgid "Commit failed." +msgstr "Incheckningen misslyckades." + +#: lib/commit.tcl:352 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "Incheckningen %s verkar vara trasig" -#: lib/tools_dlg.tcl:46 -msgid "Tool Details" -msgstr "Detaljer för verktyg" +#: lib/commit.tcl:357 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Inga ändringar att checka in.\n" +"\n" +"Inga filer ändrades av incheckningen och det var inte en sammanslagning.\n" +"\n" +"En sökning kommer att startas automatiskt nu.\n" -#: lib/tools_dlg.tcl:49 -msgid "Use '/' separators to create a submenu tree:" -msgstr "Använd \"/\"-avdelare för att skapa ett undermenyträd:" +#: lib/commit.tcl:364 +msgid "No changes to commit." +msgstr "Inga ändringar att checka in." -#: lib/tools_dlg.tcl:60 -msgid "Command:" -msgstr "Kommando:" +#: lib/commit.tcl:378 +msgid "commit-tree failed:" +msgstr "commit-tree misslyckades:" -#: lib/tools_dlg.tcl:71 -msgid "Show a dialog before running" -msgstr "Visa dialog innan programmet startas" +#: lib/commit.tcl:399 +msgid "update-ref failed:" +msgstr "update-ref misslyckades:" -#: lib/tools_dlg.tcl:77 -msgid "Ask the user to select a revision (sets $REVISION)" -msgstr "Be användaren välja en version (sätter $REVISION)" +#: lib/commit.tcl:492 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Skapade incheckningen %s: %s" -#: lib/tools_dlg.tcl:82 -msgid "Ask the user for additional arguments (sets $ARGS)" -msgstr "Be användaren om ytterligare parametrar (sätter $ARGS)" +#: lib/branch_delete.tcl:16 +msgid "Delete Branch" +msgstr "Ta bort gren" -#: lib/tools_dlg.tcl:89 -msgid "Don't show the command output window" -msgstr "Visa inte kommandots utdatafönster" +#: lib/branch_delete.tcl:21 +msgid "Delete Local Branch" +msgstr "Ta bort lokal gren" -#: lib/tools_dlg.tcl:94 -msgid "Run only if a diff is selected ($FILENAME not empty)" -msgstr "Kör endast om en diff har markerats ($FILENAME är inte tomt)" +#: lib/branch_delete.tcl:39 +msgid "Local Branches" +msgstr "Lokala grenar" -#: lib/tools_dlg.tcl:118 -msgid "Please supply a name for the tool." -msgstr "Ange ett namn för verktyget." +#: lib/branch_delete.tcl:51 +msgid "Delete Only If Merged Into" +msgstr "Ta bara bort om sammanslagen med" -#: lib/tools_dlg.tcl:126 +#: lib/branch_delete.tcl:103 #, tcl-format -msgid "Tool '%s' already exists." -msgstr "Verktyget \"%s\" finns redan." +msgid "The following branches are not completely merged into %s:" +msgstr "Följande grenar är inte till fullo sammanslagna med %s:" -#: lib/tools_dlg.tcl:148 +#: lib/branch_delete.tcl:141 #, tcl-format msgid "" -"Could not add tool:\n" +"Failed to delete branches:\n" "%s" msgstr "" -"Kunde inte lägga till verktyget:\n" +"Kunde inte ta bort grenar:\n" "%s" -#: lib/tools_dlg.tcl:187 -msgid "Remove Tool" -msgstr "Ta bort verktyg" +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Kunde inte låsa upp indexet." -#: lib/tools_dlg.tcl:193 -msgid "Remove Tool Commands" -msgstr "Ta bort verktygskommandon" +#: lib/index.tcl:17 +msgid "Index Error" +msgstr "Indexfel" -#: lib/tools_dlg.tcl:198 -msgid "Remove" -msgstr "Ta bort" +#: lib/index.tcl:19 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"Misslyckades med att uppdatera Gitindexet. En omsökning kommer att startas " +"automatiskt för att synkronisera om git-gui." -#: lib/tools_dlg.tcl:231 -msgid "(Blue denotes repository-local tools)" -msgstr "(Blått anger verktyg lokala för arkivet)" +#: lib/index.tcl:30 +msgid "Continue" +msgstr "Fortsätt" -#: lib/tools_dlg.tcl:292 -#, tcl-format -msgid "Run Command: %s" -msgstr "Kör kommandot: %s" +#: lib/index.tcl:33 +msgid "Unlock Index" +msgstr "Lås upp index" -#: lib/tools_dlg.tcl:306 -msgid "Arguments" -msgstr "Argument" +#: lib/index.tcl:298 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "Tar bort %s för incheckningskön" -#: lib/tools_dlg.tcl:341 -msgid "OK" -msgstr "OK" +#: lib/index.tcl:337 +msgid "Ready to commit." +msgstr "Redo att checka in." -#: lib/tools.tcl:75 +#: lib/index.tcl:350 #, tcl-format -msgid "Running %s requires a selected file." -msgstr "För att starta %s måste du välja en fil." +msgid "Adding %s" +msgstr "Lägger till %s" -#: lib/tools.tcl:90 +#: lib/index.tcl:380 #, tcl-format -msgid "Are you sure you want to run %s?" -msgstr "Är du säker på att du vill starta %s?" +msgid "Stage %d untracked files?" +msgstr "Köa %d ospårade filer?" -#: lib/tools.tcl:110 +#: lib/index.tcl:428 #, tcl-format -msgid "Tool: %s" -msgstr "Verktyg: %s" +msgid "Revert changes in file %s?" +msgstr "Återställ ändringarna i filen %s?" -#: lib/tools.tcl:111 +#: lib/index.tcl:430 #, tcl-format -msgid "Running: %s" -msgstr "Exekverar: %s" +msgid "Revert changes in these %i files?" +msgstr "Återställ ändringarna i dessa %i filer?" -#: lib/tools.tcl:149 -#, tcl-format -msgid "Tool completed successfully: %s" -msgstr "Verktyget avslutades framgångsrikt: %s" +#: lib/index.tcl:438 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" +"Alla oköade ändringar kommer permanent gå förlorade vid återställningen." -#: lib/tools.tcl:151 -#, tcl-format -msgid "Tool failed: %s" -msgstr "Verktyget misslyckades: %s" +#: lib/index.tcl:441 +msgid "Do Nothing" +msgstr "Gör ingenting" -#: lib/transport.tcl:7 -#, tcl-format -msgid "Fetching new changes from %s" -msgstr "Hämtar nya ändringar från %s" +#: lib/index.tcl:459 +msgid "Reverting selected files" +msgstr "Återställer valda filer" -#: lib/transport.tcl:18 +#: lib/index.tcl:463 #, tcl-format -msgid "remote prune %s" -msgstr "fjärrborttagning %s" +msgid "Reverting %s" +msgstr "Återställer %s" -#: lib/transport.tcl:19 -#, tcl-format -msgid "Pruning tracking branches deleted from %s" -msgstr "Tar bort spårande grenar som tagits bort från %s" +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "Standard" -#: lib/transport.tcl:26 +#: lib/encoding.tcl:448 #, tcl-format -msgid "Pushing changes to %s" -msgstr "Sänder ändringar till %s" +msgid "System (%s)" +msgstr "Systemets (%s)" -#: lib/transport.tcl:64 -#, tcl-format -msgid "Mirroring to %s" -msgstr "Speglar till %s" +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "Annan" -#: lib/transport.tcl:82 +#: lib/date.tcl:25 #, tcl-format -msgid "Pushing %s %s to %s" -msgstr "Sänder %s %s till %s" +msgid "Invalid date from Git: %s" +msgstr "Ogiltigt datum från Git: %s" -#: lib/transport.tcl:102 -msgid "Push Branches" -msgstr "Sänd grenar" +#: lib/database.tcl:42 +msgid "Number of loose objects" +msgstr "Antal lösa objekt" -#: lib/transport.tcl:117 -msgid "Source Branches" -msgstr "Källgrenar" +#: lib/database.tcl:43 +msgid "Disk space used by loose objects" +msgstr "Diskutrymme använt av lösa objekt" -#: lib/transport.tcl:131 -msgid "Destination Repository" -msgstr "Destinationsarkiv" +#: lib/database.tcl:44 +msgid "Number of packed objects" +msgstr "Antal packade objekt" -#: lib/transport.tcl:172 -msgid "Transfer Options" -msgstr "Överföringsalternativ" +#: lib/database.tcl:45 +msgid "Number of packs" +msgstr "Antal paket" -#: lib/transport.tcl:174 -msgid "Force overwrite existing branch (may discard changes)" -msgstr "Tvinga överskrivning av befintlig gren (kan kasta bort ändringar)" +#: lib/database.tcl:46 +msgid "Disk space used by packed objects" +msgstr "Diskutrymme använt av packade objekt" -#: lib/transport.tcl:178 -msgid "Use thin pack (for slow network connections)" -msgstr "Använd tunt paket (för långsamma nätverksanslutningar)" +#: lib/database.tcl:47 +msgid "Packed objects waiting for pruning" +msgstr "Packade objekt som väntar på städning" -#: lib/transport.tcl:182 -msgid "Include tags" -msgstr "Ta med taggar" +#: lib/database.tcl:48 +msgid "Garbage files" +msgstr "Skräpfiler" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Komprimerar objektdatabasen" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Verifierar objektdatabasen med fsck-objects" + +#: lib/database.tcl:107 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database.\n" +"\n" +"Compress the database now?" +msgstr "" +"Arkivet har för närvarande omkring %i lösa objekt.\n" +"\n" +"För att bibehålla optimal prestanda rekommenderas det å det bestämdaste att " +"du komprimerar databasen.\n" +"\n" +"Komprimera databasen nu?" + +#: lib/error.tcl:20 lib/error.tcl:116 +msgid "error" +msgstr "fel" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "varning" + +#: lib/error.tcl:96 +msgid "You must correct the above errors before committing." +msgstr "Du måste rätta till felen ovan innan du checkar in." + +#~ msgid "Displaying only %s of %s files." +#~ msgstr "Visar endast %s av %s filer." + +#~ msgid "Case-Sensitive" +#~ msgstr "Skilj på VERSALER/gemener" #~ msgid "Cannot use funny .git directory:" #~ msgstr "Kan inte använda underlig .git-katalog:" diff --git a/git-gui/po/vi.po b/git-gui/po/vi.po new file mode 100644 index 0000000000..d956b59a9e --- /dev/null +++ b/git-gui/po/vi.po @@ -0,0 +1,2690 @@ +# Vietnamese translation for GIT-GUI +# Bản dịch Tiếng Việt dành cho gói Git-gui. +# This file is distributed under the same license as the git-core package. +# First translated by Trần Ngọc Quân , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui 0.19.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-06-26 13:42+0700\n" +"PO-Revision-Date: 2014-06-27 07:48+0700\n" +"Last-Translator: Trần Ngọc Quân \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Poedit-Language: Vietnamese\n" +"X-Poedit-Country: VIET NAM\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-Basepath: ../\n" + +#: git-gui.sh:859 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Phông chữ không hợp lệ được đặc tả trong %s:" + +#: git-gui.sh:912 +msgid "Main Font" +msgstr "Phông chữ chính" + +#: git-gui.sh:913 +msgid "Diff/Console Font" +msgstr "Phông chữ cho Bảng điều khiển hay Diff" + +#: git-gui.sh:928 git-gui.sh:942 git-gui.sh:955 git-gui.sh:1045 +#: git-gui.sh:1064 git-gui.sh:3119 +msgid "git-gui: fatal error" +msgstr "git-gui: lỗi nghiêm trọng" + +#: git-gui.sh:929 +msgid "Cannot find git in PATH." +msgstr "Không tìm thấy git trong biến PATH." + +#: git-gui.sh:956 +msgid "Cannot parse Git version string:" +msgstr "Không thể phân tích chuỗi phiên bản Git:" + +#: git-gui.sh:981 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Không thể nhận ra phiên bản của Git.\n" +"\n" +"%s nói đây là phiên bản '%s'.\n" +"\n" +"%s yêu cầu Git phiên bản từ 1.5.0 hay mới hơn.\n" +"\n" +"Cọi '%s' có phiên bản là 1.5.0?\n" + +#: git-gui.sh:1278 +msgid "Git directory not found:" +msgstr "Không tìm thấy thư mục git:" + +#: git-gui.sh:1312 +msgid "Cannot move to top of working directory:" +msgstr "Không thể di chuyển đến đỉnh của thư mục làm việc:" + +#: git-gui.sh:1320 +msgid "Cannot use bare repository:" +msgstr "Không thể dùng kho trần:" + +#: git-gui.sh:1328 +msgid "No working directory" +msgstr "Không có thư mục làm việc" + +#: git-gui.sh:1500 lib/checkout_op.tcl:306 +msgid "Refreshing file status..." +msgstr "Cập nhật lại trạng thái tập tin..." + +#: git-gui.sh:1560 +msgid "Scanning for modified files ..." +msgstr "Đang quét đĩa tìm tập tin thay đổi..." + +#: git-gui.sh:1636 +msgid "Calling prepare-commit-msg hook..." +msgstr "Đang gọi móc prepare-commit-msg..." + +#: git-gui.sh:1653 +msgid "Commit declined by prepare-commit-msg hook." +msgstr "Lần chuyển giao bị chối từ do móc prepare-commit-msg." + +#: git-gui.sh:1811 lib/browser.tcl:252 +msgid "Ready." +msgstr "Sẵn sàng." + +#: git-gui.sh:1969 +#, tcl-format +msgid "Displaying only %s of %s files." +msgstr "Chỉ hiển thị %s trong số %s tập tin." + +#: git-gui.sh:2095 +msgid "Unmodified" +msgstr "Không thay đổi gì" + +#: git-gui.sh:2097 +msgid "Modified, not staged" +msgstr "Đã sửa nhưng chưa đánh dấu để chuyển giao" + +#: git-gui.sh:2098 git-gui.sh:2110 +msgid "Staged for commit" +msgstr "Đánh dấu để chuyển giao" + +#: git-gui.sh:2099 git-gui.sh:2111 +msgid "Portions staged for commit" +msgstr "Các phần được đánh dấu là cần chuyển giao" + +#: git-gui.sh:2100 git-gui.sh:2112 +msgid "Staged for commit, missing" +msgstr "Đã đánh dấu là cần chuyển giao, thiếu" + +#: git-gui.sh:2102 +msgid "File type changed, not staged" +msgstr "Đã đổi kiểu tập tin nhưng chưa được đánh dấu cần chuyển giao" + +#: git-gui.sh:2103 git-gui.sh:2104 +msgid "File type changed, old type staged for commit" +msgstr "Đã đổi kiểu tập tin, kiểu cũ đã được đánh dấu cần chuyển giao" + +#: git-gui.sh:2105 +msgid "File type changed, staged" +msgstr "Đã đổi kiểu tập tin, đã được đánh dấu cần chuyển giao" + +#: git-gui.sh:2106 +msgid "File type change staged, modification not staged" +msgstr "" +"Thay đổi kiểu tập tin đã được đánh dấu cần chuyển giao, nhưng các thay đổi " +"thì chưa" + +#: git-gui.sh:2107 +msgid "File type change staged, file missing" +msgstr "" +"Thay đổi kiểu tập tin đã được đánh dấu cần chuyển giao, tập tin bị thiếu" + +#: git-gui.sh:2109 +msgid "Untracked, not staged" +msgstr "Chưa được theo dõi, chưa đánh dấu là cần chuyển giao" + +#: git-gui.sh:2114 +msgid "Missing" +msgstr "Thiếu" + +#: git-gui.sh:2115 +msgid "Staged for removal" +msgstr "Đã đánh dấu là cần gỡ bỏ" + +#: git-gui.sh:2116 +msgid "Staged for removal, still present" +msgstr "Đã đánh dấu là cần gỡ bỏ, nhưng vẫn hiện diện" + +#: git-gui.sh:2118 git-gui.sh:2119 git-gui.sh:2120 git-gui.sh:2121 +#: git-gui.sh:2122 git-gui.sh:2123 +msgid "Requires merge resolution" +msgstr "Các yêu cầu phân giải hòa trộn" + +#: git-gui.sh:2158 +msgid "Starting gitk... please wait..." +msgstr "Đang khởi động gitk... vui lòng chờ..." + +#: git-gui.sh:2170 +msgid "Couldn't find gitk in PATH" +msgstr "Không thể tìm thấy gitk trong PATH" + +#: git-gui.sh:2229 +msgid "Couldn't find git gui in PATH" +msgstr "Không thể tìm thấy git gui trong PATH" + +#: git-gui.sh:2648 lib/choose_repository.tcl:40 +msgid "Repository" +msgstr "Kho" + +#: git-gui.sh:2649 +msgid "Edit" +msgstr "Chỉnh sửa" + +#: git-gui.sh:2651 lib/choose_rev.tcl:567 +msgid "Branch" +msgstr "Nhánh" + +#: git-gui.sh:2654 lib/choose_rev.tcl:554 +msgid "Commit@@noun" +msgstr "Chuyển giao@@noun" + +#: git-gui.sh:2657 lib/merge.tcl:123 lib/merge.tcl:152 lib/merge.tcl:170 +msgid "Merge" +msgstr "Trộn" + +#: git-gui.sh:2658 lib/choose_rev.tcl:563 +msgid "Remote" +msgstr "Máy chủ" + +#: git-gui.sh:2661 +msgid "Tools" +msgstr "Công cụ" + +#: git-gui.sh:2670 +msgid "Explore Working Copy" +msgstr "Quét dò thư mục làm việc" + +#: git-gui.sh:2676 +msgid "Git Bash" +msgstr "Git Bash" + +#: git-gui.sh:2686 +msgid "Browse Current Branch's Files" +msgstr "Duyệt các Tập tin ở nhánh hiện nay" + +#: git-gui.sh:2690 +msgid "Browse Branch Files..." +msgstr "Duyệt các tập tin nhánh..." + +#: git-gui.sh:2695 +msgid "Visualize Current Branch's History" +msgstr "Hiển thị trực quan lịch sử nhánh hiện nay" + +#: git-gui.sh:2699 +msgid "Visualize All Branch History" +msgstr "Hiển thị trực quan lịch sử mọi nhánh" + +#: git-gui.sh:2706 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Duyệt tập tin của %s..." + +#: git-gui.sh:2708 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Duyệt lịch sử của %s trực quan" + +#: git-gui.sh:2713 lib/database.tcl:40 lib/database.tcl:66 +msgid "Database Statistics" +msgstr "Thống kê cơ sở dữ liệu" + +#: git-gui.sh:2716 lib/database.tcl:33 +msgid "Compress Database" +msgstr "Nén cơ sở dữ liệu" + +#: git-gui.sh:2719 +msgid "Verify Database" +msgstr "Thẩm tra cơ sở dữ liệu" + +#: git-gui.sh:2726 git-gui.sh:2730 git-gui.sh:2734 lib/shortcut.tcl:8 +#: lib/shortcut.tcl:40 lib/shortcut.tcl:72 +msgid "Create Desktop Icon" +msgstr "Tạo lối tắt ở màn hình nền" + +#: git-gui.sh:2742 lib/choose_repository.tcl:192 lib/choose_repository.tcl:200 +msgid "Quit" +msgstr "Thoát" + +#: git-gui.sh:2750 +msgid "Undo" +msgstr "Hủy lệnh vừa rồi" + +#: git-gui.sh:2753 +msgid "Redo" +msgstr "Làm lại" + +#: git-gui.sh:2757 git-gui.sh:3362 +msgid "Cut" +msgstr "Cắt" + +#: git-gui.sh:2760 git-gui.sh:3365 git-gui.sh:3439 git-gui.sh:3524 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Chép" + +#: git-gui.sh:2763 git-gui.sh:3368 +msgid "Paste" +msgstr "Dán" + +#: git-gui.sh:2766 git-gui.sh:3371 lib/branch_delete.tcl:28 +#: lib/remote_branch_delete.tcl:39 +msgid "Delete" +msgstr "Xóa bỏ" + +#: git-gui.sh:2770 git-gui.sh:3375 git-gui.sh:3528 lib/console.tcl:71 +msgid "Select All" +msgstr "Chọn tất cả" + +#: git-gui.sh:2779 +msgid "Create..." +msgstr "Tạo..." + +#: git-gui.sh:2785 +msgid "Checkout..." +msgstr "Lấy ra..." + +#: git-gui.sh:2791 +msgid "Rename..." +msgstr "Đổi tên..." + +#: git-gui.sh:2796 +msgid "Delete..." +msgstr "Xóa..." + +#: git-gui.sh:2801 +msgid "Reset..." +msgstr "Đặt lại.." + +#: git-gui.sh:2811 +msgid "Done" +msgstr "Xong" + +#: git-gui.sh:2813 +msgid "Commit@@verb" +msgstr "Chuyển giao@@verb" + +#: git-gui.sh:2822 git-gui.sh:3303 +msgid "New Commit" +msgstr "Lần chuyển giao mới" + +#: git-gui.sh:2830 git-gui.sh:3310 +msgid "Amend Last Commit" +msgstr "Tu bổ lần chuyển giao cuối" + +#: git-gui.sh:2840 git-gui.sh:3264 lib/remote_branch_delete.tcl:101 +msgid "Rescan" +msgstr "Quét lại" + +#: git-gui.sh:2846 +msgid "Stage To Commit" +msgstr "Đưa lên bệ phóng để chuyển giao" + +#: git-gui.sh:2852 +msgid "Stage Changed Files To Commit" +msgstr "Đánh dấu các tập tin đã thay đổi cần chuyển giao" + +#: git-gui.sh:2858 +msgid "Unstage From Commit" +msgstr "Đưa ra khỏi bệ phóng để không chuyển giao" + +#: git-gui.sh:2864 lib/index.tcl:442 +msgid "Revert Changes" +msgstr "Hoàn nguyên các thay đổi" + +#: git-gui.sh:2872 git-gui.sh:3575 git-gui.sh:3606 +msgid "Show Less Context" +msgstr "Hiện ít nội dung hơn" + +#: git-gui.sh:2876 git-gui.sh:3579 git-gui.sh:3610 +msgid "Show More Context" +msgstr "Hiện chi tiết hơn" + +#: git-gui.sh:2883 git-gui.sh:3277 git-gui.sh:3386 +msgid "Sign Off" +msgstr "Ký tên" + +#: git-gui.sh:2899 +msgid "Local Merge..." +msgstr "Trộn nội bộ..." + +#: git-gui.sh:2904 +msgid "Abort Merge..." +msgstr "Hủy bỏ hòa trộn..." + +#: git-gui.sh:2916 git-gui.sh:2944 +msgid "Add..." +msgstr "Thêm..." + +#: git-gui.sh:2920 +msgid "Push..." +msgstr "Đẩy lên..." + +#: git-gui.sh:2924 +msgid "Delete Branch..." +msgstr "Xoá nhánh..." + +#: git-gui.sh:2934 git-gui.sh:3557 +msgid "Options..." +msgstr "Tùy chọn..." + +#: git-gui.sh:2945 +msgid "Remove..." +msgstr "Gỡ bỏ..." + +#: git-gui.sh:2954 lib/choose_repository.tcl:54 +msgid "Help" +msgstr "Trợ giúp" + +#: git-gui.sh:2958 git-gui.sh:2962 lib/about.tcl:14 +#: lib/choose_repository.tcl:48 lib/choose_repository.tcl:57 +#, tcl-format +msgid "About %s" +msgstr "Giới thiệu về %s" + +#: git-gui.sh:2986 +msgid "Online Documentation" +msgstr "Đọc tài liệu trực tuyến" + +#: git-gui.sh:2989 lib/choose_repository.tcl:51 lib/choose_repository.tcl:60 +msgid "Show SSH Key" +msgstr "Hiện khoá SSH" + +#: git-gui.sh:3008 git-gui.sh:3140 +msgid "Usage" +msgstr "Cách dùng" + +#: git-gui.sh:3089 lib/blame.tcl:573 +msgid "Error" +msgstr "Lỗi" + +#: git-gui.sh:3120 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" +"lỗi nghiêm trọng: không thể lấy thông tin về đường dẫn %s: Không có tập tin " +"hoặc thư mục như vậy" + +#: git-gui.sh:3153 +msgid "Current Branch:" +msgstr "Nhánh hiện hành:" + +#: git-gui.sh:3179 +msgid "Staged Changes (Will Commit)" +msgstr "Đánh dấu các thay đổi (Sẽ chuyển giao)" + +#: git-gui.sh:3199 +msgid "Unstaged Changes" +msgstr "Bỏ ra khỏi bệ phóng các thay đổi" + +#: git-gui.sh:3270 +msgid "Stage Changed" +msgstr "Đặt lên bệ phóng các thay đổi" + +#: git-gui.sh:3289 lib/transport.tcl:137 lib/transport.tcl:229 +msgid "Push" +msgstr "Đẩy lên" + +#: git-gui.sh:3324 +msgid "Initial Commit Message:" +msgstr "Phần chú thích cho lần chuyển giao khởi tạo:" + +#: git-gui.sh:3325 +msgid "Amended Commit Message:" +msgstr "Phần chú giải cho lần chuyển giao tu bổ:" + +#: git-gui.sh:3326 +msgid "Amended Initial Commit Message:" +msgstr "Phần chú giải cho lần chuyển giao tu bổ lần khởi tạo:" + +#: git-gui.sh:3327 +msgid "Amended Merge Commit Message:" +msgstr "Phần chú giải cho lần chuyển giao tu bổ lần hòa trộn" + +#: git-gui.sh:3328 +msgid "Merge Commit Message:" +msgstr "Ghi chú của lần chuyển giao hòa trộn:" + +#: git-gui.sh:3329 +msgid "Commit Message:" +msgstr "Chú thích của lần chuyển giao:" + +#: git-gui.sh:3378 git-gui.sh:3532 lib/console.tcl:73 +msgid "Copy All" +msgstr "Chép tất cả" + +#: git-gui.sh:3402 lib/blame.tcl:105 +msgid "File:" +msgstr "Tập tin:" + +#: git-gui.sh:3520 +msgid "Refresh" +msgstr "Làm tươi lại" + +#: git-gui.sh:3541 +msgid "Decrease Font Size" +msgstr "Giảm kích cỡ phông" + +#: git-gui.sh:3545 +msgid "Increase Font Size" +msgstr "Tăng kích cỡ phông" + +#: git-gui.sh:3553 lib/blame.tcl:294 +msgid "Encoding" +msgstr "Bảng mã" + +#: git-gui.sh:3564 +msgid "Apply/Reverse Hunk" +msgstr "Áp dụng hay đảo ngược cả khối" + +#: git-gui.sh:3569 +msgid "Apply/Reverse Line" +msgstr "Áp dụng hay đảo ngược dòng" + +#: git-gui.sh:3588 +msgid "Run Merge Tool" +msgstr "Chạy công cụ hòa trộn" + +#: git-gui.sh:3593 +msgid "Use Remote Version" +msgstr "Dùng phiên bản ở máy chủ" + +#: git-gui.sh:3597 +msgid "Use Local Version" +msgstr "Dùng phiên bản ở máy nội bộ" + +#: git-gui.sh:3601 +msgid "Revert To Base" +msgstr "Trở lại cơ bản" + +#: git-gui.sh:3619 +msgid "Visualize These Changes In The Submodule" +msgstr "Hiển thị trực quan các thay đổi trong mô-đun con" + +#: git-gui.sh:3623 +msgid "Visualize Current Branch History In The Submodule" +msgstr "Hiển thị trực quan lịch sử nhánh hiện tại trong mô-đun con" + +#: git-gui.sh:3627 +msgid "Visualize All Branch History In The Submodule" +msgstr "Hiển thị trực quan lịch sử mọi nhánh trong mô-đun con" + +#: git-gui.sh:3632 +msgid "Start git gui In The Submodule" +msgstr "Khởi chạy git gui trong mô-đun-con" + +#: git-gui.sh:3667 +msgid "Unstage Hunk From Commit" +msgstr "Bỏ đánh dấu đoạn cần chuyển giao" + +#: git-gui.sh:3669 +msgid "Unstage Lines From Commit" +msgstr "Bỏ đánh dấu các dòng cần chuyển giao" + +#: git-gui.sh:3671 +msgid "Unstage Line From Commit" +msgstr "Bỏ đánh dấu dòng cần chuyển giao" + +#: git-gui.sh:3674 +msgid "Stage Hunk For Commit" +msgstr "Đánh dấu đoạn cần chuyển giao" + +#: git-gui.sh:3676 +msgid "Stage Lines For Commit" +msgstr "Đánh dấu các dòng cần chuyển giao" + +#: git-gui.sh:3678 +msgid "Stage Line For Commit" +msgstr "Đánh dấu dòng cần chuyển giao" + +#: git-gui.sh:3703 +msgid "Initializing..." +msgstr "Đang khởi tạo..." + +#: git-gui.sh:3846 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"Gần như chắc chắn là môi trường tồn tại.\n" +"\n" +"Các biến môi trường sau đây có lẽ sẽ bị bỏ qua bởi các tiến trình con git\n" +"chạy bởi %s:\n" +"\n" + +#: git-gui.sh:3875 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"Cái này có nguyên nhân bởi một lỗi phát ra từ\n" +"Tcl phân phối bởi Cygwin." + +#: git-gui.sh:3880 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"Thay thế tốt cho %s\n" +"là thay thế các giá trị cài đặt cho user.name và\n" +"user.email thành tập tin cá nhân của bạn\n" +"~/.gitconfig.\n" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - công cụ đồ họa dành cho Git." + +#: lib/blame.tcl:73 +msgid "File Viewer" +msgstr "Bộ Xem Tập Tin" + +#: lib/blame.tcl:79 +msgid "Commit:" +msgstr "Lần chuyển giao:" + +#: lib/blame.tcl:280 +msgid "Copy Commit" +msgstr "Chép lần chuyển giao" + +#: lib/blame.tcl:284 +msgid "Find Text..." +msgstr "Tìm chữ..." + +#: lib/blame.tcl:288 +msgid "Goto Line..." +msgstr "Nhảy đến dòng..." + +#: lib/blame.tcl:297 +msgid "Do Full Copy Detection" +msgstr "Thực hiện dò tìm chép toàn bộ" + +#: lib/blame.tcl:301 +msgid "Show History Context" +msgstr "Hiển thị nội dung của lịch sử" + +#: lib/blame.tcl:304 +msgid "Blame Parent Commit" +msgstr "Xem công trạng của lần chuyển giao cha mẹ" + +#: lib/blame.tcl:466 +#, tcl-format +msgid "Reading %s..." +msgstr "Đang đọc %s..." + +#: lib/blame.tcl:594 +msgid "Loading copy/move tracking annotations..." +msgstr "Đang tải phần chú giải theo dõi chép/chuyển..." + +#: lib/blame.tcl:614 +msgid "lines annotated" +msgstr "dòng chú giải" + +#: lib/blame.tcl:806 +msgid "Loading original location annotations..." +msgstr "Đang tải các chú giải vị trí nguyên gốc..." + +#: lib/blame.tcl:809 +msgid "Annotation complete." +msgstr "Chú giải hoàn tất." + +#: lib/blame.tcl:839 +msgid "Busy" +msgstr "Bận" + +#: lib/blame.tcl:840 +msgid "Annotation process is already running." +msgstr "Tiến trình chú giải đang diễn ra." + +#: lib/blame.tcl:879 +msgid "Running thorough copy detection..." +msgstr "Đang chạy dò tìm sao chép toàn diện..." + +#: lib/blame.tcl:947 +msgid "Loading annotation..." +msgstr "Đang tải phần chú giải..." + +#: lib/blame.tcl:1000 +msgid "Author:" +msgstr "Tác giả:" + +#: lib/blame.tcl:1004 +msgid "Committer:" +msgstr "Người chuyển giao:" + +#: lib/blame.tcl:1009 +msgid "Original File:" +msgstr "Tập tin gốc:" + +#: lib/blame.tcl:1057 +msgid "Cannot find HEAD commit:" +msgstr "Không thể tìm thấy HEAD của lần chuyển giao:" + +#: lib/blame.tcl:1112 +msgid "Cannot find parent commit:" +msgstr "Không thể tìm thấy lần chuyển giao mẹ:" + +#: lib/blame.tcl:1127 +msgid "Unable to display parent" +msgstr "Không thể hiển thị cha mẹ" + +#: lib/blame.tcl:1128 lib/diff.tcl:341 +msgid "Error loading diff:" +msgstr "Gặp lỗi khi tải diff:" + +#: lib/blame.tcl:1269 +msgid "Originally By:" +msgstr "Nguyên gốc bởi:" + +#: lib/blame.tcl:1275 +msgid "In File:" +msgstr "Trong tập tin:" + +#: lib/blame.tcl:1280 +msgid "Copied Or Moved Here By:" +msgstr "Đã chép hoặc Di chuyển đến đây bởi:" + +#: lib/branch_checkout.tcl:16 lib/branch_checkout.tcl:21 +msgid "Checkout Branch" +msgstr "Lấy ra nhánh" + +#: lib/branch_checkout.tcl:26 +msgid "Checkout" +msgstr "Lấy ra" + +#: 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:174 +#: 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 "Thôi" + +#: lib/branch_checkout.tcl:35 lib/browser.tcl:297 lib/tools_dlg.tcl:321 +msgid "Revision" +msgstr "Điểm sửa đổi" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:69 lib/option.tcl:309 +msgid "Options" +msgstr "Tùy chọn" + +#: lib/branch_checkout.tcl:42 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Lấy về nhánh được theo dõi" + +#: lib/branch_checkout.tcl:47 +msgid "Detach From Local Branch" +msgstr "Tách rời từ Nhánh nội bộ" + +#: lib/branch_create.tcl:23 +msgid "Create Branch" +msgstr "Tạo nhánh" + +#: lib/branch_create.tcl:28 +msgid "Create New Branch" +msgstr "Tạo nhánh mới" + +#: lib/branch_create.tcl:33 lib/choose_repository.tcl:391 +msgid "Create" +msgstr "Tạo" + +#: lib/branch_create.tcl:42 +msgid "Branch Name" +msgstr "Tên nhánh" + +#: lib/branch_create.tcl:44 lib/remote_add.tcl:41 lib/tools_dlg.tcl:51 +msgid "Name:" +msgstr "Tên:" + +#: lib/branch_create.tcl:57 +msgid "Match Tracking Branch Name" +msgstr "Khớp với tên nhánh được theo dõi" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Điểm đầu" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Cập nhật nhánh sẵn có:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Không" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Chỉ fast-forward" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:571 +msgid "Reset" +msgstr "Đặt lại" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Lấy ra sau khi tạo" + +#: lib/branch_create.tcl:132 +msgid "Please select a tracking branch." +msgstr "Vui lòng chọn nhánh theo dõi." + +#: lib/branch_create.tcl:141 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Nhánh theo dõi %s không phải là một nhánh trên kho chứa máy chủ." + +#: lib/branch_create.tcl:154 lib/branch_rename.tcl:92 +msgid "Please supply a branch name." +msgstr "Hãy cung cấp tên nhánh." + +#: lib/branch_create.tcl:165 lib/branch_rename.tcl:112 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "'%s' không phải là một tên nhánh được chấp nhận." + +#: lib/branch_delete.tcl:16 +msgid "Delete Branch" +msgstr "Xoá nhánh" + +#: lib/branch_delete.tcl:21 +msgid "Delete Local Branch" +msgstr "Xóa nhánh nội bộ" + +#: lib/branch_delete.tcl:39 +msgid "Local Branches" +msgstr "Nhánh nội bộ" + +#: lib/branch_delete.tcl:51 +msgid "Delete Only If Merged Into" +msgstr "Chỉ xóa nếu đã hòa trộn vào" + +#: lib/branch_delete.tcl:53 lib/remote_branch_delete.tcl:120 +msgid "Always (Do not perform merge checks)" +msgstr "Luôn (Không thực hiện kiểm tra hòa trộn)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "Các nhánh sau đây không được hòa trộn hoàn toàn vào %s:" + +#: lib/branch_delete.tcl:115 lib/remote_branch_delete.tcl:218 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Khôi phục các nhánh đã bị xóa là việc khó khăn.\n" +"\n" +"Xóa nhánh đã chọn chứ?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Gặp lỗi khi xóa các nhánh:\n" +"%s" + +#: lib/branch_rename.tcl:15 lib/branch_rename.tcl:23 +msgid "Rename Branch" +msgstr "Đổi tên nhánh" + +#: lib/branch_rename.tcl:28 +msgid "Rename" +msgstr "Đổi tên" + +#: lib/branch_rename.tcl:38 +msgid "Branch:" +msgstr "Nhánh:" + +#: lib/branch_rename.tcl:46 +msgid "New Name:" +msgstr "Tên mới:" + +#: lib/branch_rename.tcl:81 +msgid "Please select a branch to rename." +msgstr "Hãy chọn nhánh cần đổi tên." + +#: lib/branch_rename.tcl:102 lib/checkout_op.tcl:202 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Nhánh '%s' đã có rồi." + +#: lib/branch_rename.tcl:123 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Gặp lỗi khi đổi tên '%s'." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Đang khởi động..." + +#: lib/browser.tcl:27 +msgid "File Browser" +msgstr "Bộ duyệt tập tin" + +#: lib/browser.tcl:132 lib/browser.tcl:149 +#, tcl-format +msgid "Loading %s..." +msgstr "Đang tải %s..." + +#: lib/browser.tcl:193 +msgid "[Up To Parent]" +msgstr "[Tới cha mẹ]" + +#: lib/browser.tcl:275 lib/browser.tcl:282 +msgid "Browse Branch Files" +msgstr "Duyệt các tập tin nhánh" + +#: lib/browser.tcl:288 lib/choose_repository.tcl:406 +#: lib/choose_repository.tcl:493 lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:1029 +msgid "Browse" +msgstr "Tìm duyệt" + +#: lib/checkout_op.tcl:85 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Đang lấy về %s từ %s" + +#: lib/checkout_op.tcl:133 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "gặp lỗi nghiêm trọng: Không thể phân giải %s" + +#: lib/checkout_op.tcl:146 lib/console.tcl:81 lib/database.tcl:30 +#: lib/sshkey.tcl:55 +msgid "Close" +msgstr "Đóng" + +#: lib/checkout_op.tcl:175 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Chưa có nhánh '%s'" + +#: lib/checkout_op.tcl:194 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "Gặp lỗi khi cấu hình git-pull đơn giản dành cho '%s'." + +#: lib/checkout_op.tcl:229 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Nhánh '%s' đã sẵn có.\n" +"\n" +"Không thể fast-forward thành %s.\n" +"Bạn cần phải hòa trộn." + +#: lib/checkout_op.tcl:243 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "Không hỗ trợ chiến lược hòa trộn '%s'." + +#: lib/checkout_op.tcl:262 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Gặp lỗi khi cập nhật '%s'." + +#: lib/checkout_op.tcl:274 +msgid "Staging area (index) is already locked." +msgstr "Vùng bệ phóng (chỉ mục) đã bị khóa rồi." + +#: lib/checkout_op.tcl:289 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Trạng thái quét không khớp với trạng thái kho.\n" +"\n" +"Có Git khác đã sửa kho này kể từ lần quét cuối. Cần quét lại trước khi thực " +"hiện việc chuyển nhánh.\n" +"\n" +"Sẽ thực hiện việc quét lại ngay bây giời.\n" + +#: lib/checkout_op.tcl:345 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Cập nhật thư mục làm việc thành '%s'..." + +#: lib/checkout_op.tcl:346 +msgid "files checked out" +msgstr "các tập tin cần lấy ra" + +#: lib/checkout_op.tcl:376 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "Hủy bỏ lấy ra '%s' (cần hòa trộn mức tập tin)." + +#: lib/checkout_op.tcl:377 +msgid "File level merge required." +msgstr "Cần mức hòa trộn tập tin." + +#: lib/checkout_op.tcl:381 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Đang ở trên nhánh '%s'." + +#: lib/checkout_op.tcl:452 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Bạn hiện không còn ở nhánh nội bộ.\n" +"\n" +"Nếu bạn muốn trên một nhánh, hãy tạo một cái từ 'Đây là lấy ra tách rời'." + +#: lib/checkout_op.tcl:503 lib/checkout_op.tcl:507 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Đã lấy ra '%s'." + +#: lib/checkout_op.tcl:535 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "Đặt lại '%s' thành '%s' sẽ làm mất những lần chuyển giao sau đây:" + +#: lib/checkout_op.tcl:557 +msgid "Recovering lost commits may not be easy." +msgstr "Lấy lại những lần chuyển giao đã mất là không dễ." + +#: lib/checkout_op.tcl:562 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Đặt lại '%s'?" + +#: lib/checkout_op.tcl:567 lib/merge.tcl:166 lib/tools_dlg.tcl:336 +msgid "Visualize" +msgstr "Trực quan" + +#: lib/checkout_op.tcl:635 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Gặp lỗi khi đặt nhánh hiện hành.\n" +"\n" +"Thư mục làm việc chỉ chuyển không hoàn toàn. Chúng tôi cập nhật thành công " +"các tập tin của bạn, nhưng lại gặp lỗi khi cập nhật một tập tin của Git.\n" +"\n" +"Điều này đáng lẽ không thể xảy ra. %s giờ sẽ đóng lại và đầu hàng." + +#: lib/choose_font.tcl:41 +msgid "Select" +msgstr "Chọn" + +#: lib/choose_font.tcl:55 +msgid "Font Family" +msgstr "Họ phông chữ" + +#: lib/choose_font.tcl:76 +msgid "Font Size" +msgstr "Cỡ phông chữ" + +#: lib/choose_font.tcl:93 +msgid "Font Example" +msgstr "Phông chữ ví dụ" + +#: lib/choose_font.tcl:105 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Đây là chữ mẫu.\n" +"Nếu bạn thích chữ như thế này thì chọn phông chữ này." + +#: lib/choose_repository.tcl:32 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:91 lib/choose_repository.tcl:396 +msgid "Create New Repository" +msgstr "Tạo kho mới" + +#: lib/choose_repository.tcl:97 +msgid "New..." +msgstr "Mới..." + +#: lib/choose_repository.tcl:104 lib/choose_repository.tcl:480 +msgid "Clone Existing Repository" +msgstr "Nhân bản một kho sẵn có" + +#: lib/choose_repository.tcl:115 +msgid "Clone..." +msgstr "Nhân bản..." + +#: lib/choose_repository.tcl:122 lib/choose_repository.tcl:1019 +msgid "Open Existing Repository" +msgstr "Mở một kho đã có." + +#: lib/choose_repository.tcl:128 +msgid "Open..." +msgstr "Mở..." + +#: lib/choose_repository.tcl:141 +msgid "Recent Repositories" +msgstr "Các kho mới dùng" + +#: lib/choose_repository.tcl:147 +msgid "Open Recent Repository:" +msgstr "Mở kho mới dùng:" + +#: lib/choose_repository.tcl:315 lib/choose_repository.tcl:322 +#: lib/choose_repository.tcl:329 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Gặp lỗi khi tạo kho %s:" + +#: lib/choose_repository.tcl:401 +msgid "Directory:" +msgstr "Thư mục:" + +#: lib/choose_repository.tcl:431 lib/choose_repository.tcl:552 +#: lib/choose_repository.tcl:1053 +msgid "Git Repository" +msgstr "Kho Git" + +#: lib/choose_repository.tcl:456 +#, tcl-format +msgid "Directory %s already exists." +msgstr "Thư mục %s đã sẵn có." + +#: lib/choose_repository.tcl:460 +#, tcl-format +msgid "File %s already exists." +msgstr "Tập tin %s đã có sẵn." + +#: lib/choose_repository.tcl:475 +msgid "Clone" +msgstr "Nhân bản" + +#: lib/choose_repository.tcl:488 +msgid "Source Location:" +msgstr "Vị trí nguồn:" + +#: lib/choose_repository.tcl:497 +msgid "Target Directory:" +msgstr "Thư mục đích:" + +#: lib/choose_repository.tcl:507 +msgid "Clone Type:" +msgstr "Kiểu nhân bản:" + +#: lib/choose_repository.tcl:512 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Tiêu chuẩn (Nhanh, Semi-Redundant, Hardlinks)" + +#: lib/choose_repository.tcl:517 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Sao chép toàn bộ (Chậm hơn, Redundant Backup)" + +#: lib/choose_repository.tcl:522 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Chia sẻ (Nhanh nhất, Không nên dùng, No Backup)" + +#: lib/choose_repository.tcl:558 lib/choose_repository.tcl:605 +#: lib/choose_repository.tcl:751 lib/choose_repository.tcl:821 +#: lib/choose_repository.tcl:1059 lib/choose_repository.tcl:1067 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Không phải là kho git: %s" + +#: lib/choose_repository.tcl:594 +msgid "Standard only available for local repository." +msgstr "Tiêu chuẩn chỉ sẵn sàng với kho nội bộ." + +#: lib/choose_repository.tcl:598 +msgid "Shared only available for local repository." +msgstr "'Chia sẻ' chỉ sẵn sàng với kho nội bộ." + +#: lib/choose_repository.tcl:619 +#, tcl-format +msgid "Location %s already exists." +msgstr "Miền địa phương %s đã sẵn có." + +#: lib/choose_repository.tcl:630 +msgid "Failed to configure origin" +msgstr "Gặp lỗi khi cấu hình bản gốc" + +#: lib/choose_repository.tcl:642 +msgid "Counting objects" +msgstr "Đang đếm số đối tượng" + +#: lib/choose_repository.tcl:643 +msgid "buckets" +msgstr "xô" + +#: lib/choose_repository.tcl:667 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Không thể sao chép objects/info/alternates: %s" + +#: lib/choose_repository.tcl:703 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Không có gì để nhân bản từ %s" + +#: lib/choose_repository.tcl:705 lib/choose_repository.tcl:919 +#: lib/choose_repository.tcl:931 +msgid "The 'master' branch has not been initialized." +msgstr "Nhánh 'master' chưa được khởi tạo." + +#: lib/choose_repository.tcl:718 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "Liên kết cứng không sẵn sàng. Trở lại chế độ sao chép." + +#: lib/choose_repository.tcl:730 +#, tcl-format +msgid "Cloning from %s" +msgstr "Đang nhân bản từ %s" + +#: lib/choose_repository.tcl:761 +msgid "Copying objects" +msgstr "Đang chép các đối tượng" + +#: lib/choose_repository.tcl:762 +msgid "KiB" +msgstr "KiB" + +#: lib/choose_repository.tcl:786 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Không thể chép đối tượng: %s" + +#: lib/choose_repository.tcl:796 +msgid "Linking objects" +msgstr "Đang liên kết các đối tượng" + +#: lib/choose_repository.tcl:797 +msgid "objects" +msgstr "đối tượng" + +#: lib/choose_repository.tcl:805 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Không thể tạo liên kết cứng đối tượng: %s" + +#: lib/choose_repository.tcl:860 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" +"Không thể lấy các nhánh và đối tượng. Xem kết xuất từ bảng điều khiển để có " +"thêm thông tin." + +#: lib/choose_repository.tcl:871 +msgid "Cannot fetch tags. See console output for details." +msgstr "" +"Không thể lấy về các thẻ. Hãy xem kết xuất từ bảng điều khiển để có thêm " +"thông tin chi tiết." + +#: lib/choose_repository.tcl:895 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" +"Không thể dò tìm HEAD. Hãy xem kết xuất từ bảng điều khiển để có thêm thông " +"tin chi tiết." + +#: lib/choose_repository.tcl:904 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "Không thể dọn sạch %s" + +#: lib/choose_repository.tcl:910 +msgid "Clone failed." +msgstr "Gặp lỗi khi nhân bản." + +#: lib/choose_repository.tcl:917 +msgid "No default branch obtained." +msgstr "Không tìm thấy nhánh mặc định." + +#: lib/choose_repository.tcl:928 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "Không thể phân giải %s như là một lần chuyển giao." + +#: lib/choose_repository.tcl:940 +msgid "Creating working directory" +msgstr "Đang tạo thư mục làm việc" + +#: lib/choose_repository.tcl:941 lib/index.tcl:70 lib/index.tcl:136 +#: lib/index.tcl:207 +msgid "files" +msgstr "tập tin" + +#: lib/choose_repository.tcl:970 +msgid "Initial file checkout failed." +msgstr "Lấy ra tập tin khởi tạo gặp lỗi." + +#: lib/choose_repository.tcl:1014 +msgid "Open" +msgstr "Mở" + +#: lib/choose_repository.tcl:1024 +msgid "Repository:" +msgstr "Kho:" + +#: lib/choose_repository.tcl:1073 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Gặp lỗi khi mở kho %s:" + +#: lib/choose_rev.tcl:52 +msgid "This Detached Checkout" +msgstr "Đây là việc lấy ra bị tách rời" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Biểu thức điểm xét:" + +#: lib/choose_rev.tcl:72 +msgid "Local Branch" +msgstr "Nhánh nội bộ" + +#: lib/choose_rev.tcl:77 +msgid "Tracking Branch" +msgstr "Nhánh Theo dõi" + +#: lib/choose_rev.tcl:82 lib/choose_rev.tcl:544 +msgid "Tag" +msgstr "Thẻ" + +#: lib/choose_rev.tcl:321 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Điểm xét duyệt không hợp lệ: %s" + +#: lib/choose_rev.tcl:342 +msgid "No revision selected." +msgstr "Chưa chọn điểm xét duyệt." + +#: lib/choose_rev.tcl:350 +msgid "Revision expression is empty." +msgstr "Biểu thức chính quy rỗng." + +#: lib/choose_rev.tcl:537 +msgid "Updated" +msgstr "Đã cập nhật" + +#: lib/choose_rev.tcl:565 +msgid "URL" +msgstr "URL" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Ở đây chẳng có gì để tu bổ cả.\n" +"\n" +"Bạn đang tạo lần chuyển giao khởi tạo. Ở đây không có lần chuyển giao trước " +"nào để mà tu bổ.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Không thể tu bổ trong khi hòa trộn.\n" +"\n" +"Bạn hiện đang ở giữa quá trình hòa trôn, mà nó chưa hoàn tất. Bạn không thể " +"tu bổ lần chuyển giao tiền nhiệm trừ phi bạn bãi bỏ lần hòa trộn hiện đang " +"kích hoạt.\n" + +#: lib/commit.tcl:48 +msgid "Error loading commit data for amend:" +msgstr "Gặp lỗi khi tải dữ liệu chuyển giao cho lệnh tu bổ:" + +#: lib/commit.tcl:75 +msgid "Unable to obtain your identity:" +msgstr "Không thể lấy được định danh của bạn:" + +#: lib/commit.tcl:80 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "GIT_COMMITTER_IDENT không hợp lệ:" + +#: lib/commit.tcl:129 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "cảnh báo: Tcl không hỗ trợ bảng mã '%s'." + +#: lib/commit.tcl:149 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Trạng thái quét không khớp với trạng thái kho.\n" +"\n" +"Có Git khác đã sửa kho này kể từ lần quét cuối. Cần quét lại trước khi thực " +"hiện việc chuyển giao khác.\n" +"\n" +"Sẽ thực hiện việc quét lại ngay bây giời.\n" + +#: lib/commit.tcl:173 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Các tập tin chưa hòa trộn không thể được chuyển giao.\n" +"\n" +"Tập tin %s có xung đột hòa trộn. Bạn phải giải quyết chúng và đưa lên bệ " +"phóng trước khi chuyển giao.\n" + +#: lib/commit.tcl:181 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Tìm thấy trạng thái tập tim không hiểu %s.\n" +"\n" +"Tập tin %s không thể được chuyển giao bởi chương trình này.\n" + +#: lib/commit.tcl:189 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Không có thay đổi nào cần chuyển giao.\n" +"\n" +"Bạn phải đưa lên bệ phóng ít nhất là một tập tin trước khi có thể chuyển " +"giao.\n" + +#: lib/commit.tcl:204 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Hãy cung cấp lời chú giải cho lần chuyển giao.\n" +"\n" +"Lời chú giải tốt nhất nên có định dạng sau:\n" +"\n" +"- Dòng đầu tiên: Mô tả những gì bạn đã làm.\n" +"- Dòng thứ hai: Để trống\n" +"- Các dòng còn lại: Mô tả xem vì sao những thay đổi này là cần thiết.\n" + +#: lib/commit.tcl:235 +msgid "Calling pre-commit hook..." +msgstr "Đang gọi móc (hook) pre-commit..." + +#: lib/commit.tcl:250 +msgid "Commit declined by pre-commit hook." +msgstr "Lần chuyển giao bị khước từ do móc pre-commit." + +#: lib/commit.tcl:269 +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 " +"changes and it can be difficult to retrieve them later from the reflog. You " +"should probably cancel this commit and create a new branch to continue.\n" +" \n" +" Do you really want to proceed with your Commit?" +msgstr "" +"Bạn thực hiện chuyển giao ở chỗ đã tách rời khỏi các đầu. Điều này là nguy " +"hiểm bởi nếu bạn chuyển sang nhánh khác thì bạn sẽ mất những thay đổi này và " +"việc lấy lại chúng từ reflog cũng khó khăn. Bạn gần như chắc chắn là nên hủy " +"bỏ lần chuyển giao này và tạo một nhánh mới trước khi tiếp tục.\n" +" \n" +" Bạn có thực sự muốn tiếp tục chuyển giao?" + +#: lib/commit.tcl:290 +msgid "Calling commit-msg hook..." +msgstr "Đang gọi móc commit-msg..." + +#: lib/commit.tcl:305 +msgid "Commit declined by commit-msg hook." +msgstr "Lần chuyển giao bị khước từ do móc commit-msg." + +#: lib/commit.tcl:318 +msgid "Committing changes..." +msgstr "Chuyển giao các thay đổi..." + +#: lib/commit.tcl:334 +msgid "write-tree failed:" +msgstr "gặp lỗi khi write-tree:" + +#: lib/commit.tcl:335 lib/commit.tcl:379 lib/commit.tcl:400 +msgid "Commit failed." +msgstr "Gặp lỗi khi chuyển giao." + +#: lib/commit.tcl:352 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "Lần chuyển giao %s có vẻ đã hư hỏng" + +#: lib/commit.tcl:357 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Không có thay đổi nào để chuyển giao.\n" +"\n" +"Không có tập tin nào được sửa bởi lần chuyển giao này và nó không phải là " +"lần chuyển giao hòa trộn.\n" +"\n" +"Sẽ thực hiện việc quét lại ngay bây giờ.\n" + +#: lib/commit.tcl:364 +msgid "No changes to commit." +msgstr "Không có thay đổi nào để chuyển giao." + +#: lib/commit.tcl:378 +msgid "commit-tree failed:" +msgstr "commit-tree gặp lỗi:" + +#: lib/commit.tcl:399 +msgid "update-ref failed:" +msgstr "cập nhật tham chiếu thất bại:" + +#: lib/commit.tcl:492 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Lần chuyển giao đã tạo %s: %s" + +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "Đang chạy.. vui lòng đợi..." + +#: lib/console.tcl:186 +msgid "Success" +msgstr "Thành công" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "Lỗi: Câu lệnh gặp lỗi" + +#: lib/database.tcl:42 +msgid "Number of loose objects" +msgstr "Số lượng đối tượng bị mất" + +#: lib/database.tcl:43 +msgid "Disk space used by loose objects" +msgstr "Dung lượng đĩa được dùng bởi các đối tượng bị mất" + +#: lib/database.tcl:44 +msgid "Number of packed objects" +msgstr "Số lượng đối tượng được đóng gói" + +#: lib/database.tcl:45 +msgid "Number of packs" +msgstr "Số lượng gói" + +#: lib/database.tcl:46 +msgid "Disk space used by packed objects" +msgstr "Dung lượng đĩa được dùng bởi các đối tượng gói" + +#: lib/database.tcl:47 +msgid "Packed objects waiting for pruning" +msgstr "Các đối tượng gói chờ xén bớt" + +#: lib/database.tcl:48 +msgid "Garbage files" +msgstr "Các tập tin rác" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Nén cơ sở dữ liệu đối tượng" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Đang kiểm tra cơ sở dữ liệu đối tượng bằng lệnh fsck" + +#: lib/database.tcl:107 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database.\n" +"\n" +"Compress the database now?" +msgstr "" +"Hiện kho này mất ước chừng khoảng %i đối tượng.\n" +"\n" +"Để tối ưu hóa hiệu suất, khuyến nghị bạn nên nén cơ sở dữ liệu của mình " +"lại.\n" +"\n" +"Nén cơ sở dữ liệu chứ?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Ngày tháng không hợp lệ từ Git: %s" + +#: lib/diff.tcl:64 +#, 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 "" +"Không tìm thấy khác biệt gì.\n" +"\n" +"%s không thay đổi.\n" +"\n" +"Thời gian sửa đổi của tập tin này được cập nhật bởi ứng dụng khác, nhưng nội " +"dung bên trong tập tin thì không thay đổi.\n" +"\n" +"Sẽ thực hiện quét lại một cách tự động để tìm các tập tin khác cái mà có thể " +"có cùng tình trạng." + +#: lib/diff.tcl:104 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "Đang tải diff của %s..." + +#: lib/diff.tcl:125 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"NỘIBỘ: đã xoá\n" +"MÁYCHỦ:\n" + +#: lib/diff.tcl:130 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"MÁYCHỦ: đã xoá\n" +"NỘIBỘ:\n" + +#: lib/diff.tcl:137 +msgid "LOCAL:\n" +msgstr "NỘI-BỘ:\n" + +#: lib/diff.tcl:140 +msgid "REMOTE:\n" +msgstr "MÁY-CHỦ:\n" + +#: lib/diff.tcl:202 lib/diff.tcl:340 +#, tcl-format +msgid "Unable to display %s" +msgstr "Không thể hiển thị %s" + +#: lib/diff.tcl:203 +msgid "Error loading file:" +msgstr "Lỗi khi tải tập tin:" + +#: lib/diff.tcl:210 +msgid "Git Repository (subproject)" +msgstr "Kho Git (dự án con)" + +#: lib/diff.tcl:222 +msgid "* Binary file (not showing content)." +msgstr "* Tập tin nhị phân (không hiển thị nội dung)." + +#: lib/diff.tcl:227 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" +"* Tập tin chưa theo dõi là %d byte.\n" +"* Chỉ hiển thị %d byte đầu .\n" + +#: lib/diff.tcl:233 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" +"\n" +"* Tập tin chưa theo dõi được cắt tại đây bởi %s.\n" +"* Để xem toàn bộ tập tin, hãy dùng ứng dụng biên soạn bên ngoài.\n" + +#: lib/diff.tcl:560 +msgid "Failed to unstage selected hunk." +msgstr "Gặp lỗi khi bỏ ra khỏi bệ phóng khối đã chọn" + +#: lib/diff.tcl:567 +msgid "Failed to stage selected hunk." +msgstr "Gặp lỗi khi đưa lên bệ phóng khối đã chọn" + +#: lib/diff.tcl:646 +msgid "Failed to unstage selected line." +msgstr "Gặp lỗi khi bỏ ra khỏi bệ phóng dòng đã chọn" + +#: lib/diff.tcl:654 +msgid "Failed to stage selected line." +msgstr "Gặp lỗi khi đưa lên bệ phóng dòng đã chọn" + +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "Mặc định" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "Hệ thống (%s)" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "Khác" + +#: lib/error.tcl:20 lib/error.tcl:116 +msgid "error" +msgstr "lỗi" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "cảnh báo" + +#: lib/error.tcl:96 +msgid "You must correct the above errors before committing." +msgstr "Bạn phải sửa các lỗi trên trước khi chuyển giao." + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Không thể bỏ khóa bảng mục lục" + +#: lib/index.tcl:17 +msgid "Index Error" +msgstr "Lỗi mục lục" + +#: lib/index.tcl:19 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"Cập nhật mục lục cho Git gặp lỗi. Việc quét lại sẽ tự động được khởi chạy để " +"đồng hóa lại với git-gui." + +#: lib/index.tcl:30 +msgid "Continue" +msgstr "Tiếp tục" + +#: lib/index.tcl:33 +msgid "Unlock Index" +msgstr "Bỏ khóa mục lục" + +#: lib/index.tcl:298 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "Bỏ %s ra khỏi việc chuyển giao" + +#: lib/index.tcl:337 +msgid "Ready to commit." +msgstr "Đã chuyển giao rồi." + +#: lib/index.tcl:350 +#, tcl-format +msgid "Adding %s" +msgstr "Đang thêm %s" + +#: lib/index.tcl:380 +#, tcl-format +msgid "Stage %d untracked files?" +msgstr "Đưa %d tập tin chưa theo dõi lên bệ phóng để chuyển giao?" + +#: lib/index.tcl:428 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Hoàn nguyên các thay đổi trong tập tin %s?" + +#: lib/index.tcl:430 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Hoàn nguyên các thay đổi trong %i tập tin?" + +#: lib/index.tcl:438 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" +"Mọi thay đổi chưa được đưa lên bệ phóng sẽ mất vĩnh viễn do lệnh revert." + +#: lib/index.tcl:441 +msgid "Do Nothing" +msgstr "Không làm gì" + +#: lib/index.tcl:459 +msgid "Reverting selected files" +msgstr "Đang hoàn nguyên các tập tin đã chọn" + +#: lib/index.tcl:463 +#, tcl-format +msgid "Reverting %s" +msgstr "Đang hoàn nguyên %s" + +#: lib/line.tcl:17 +msgid "Goto Line:" +msgstr "Nhảy đến dòng:" + +#: lib/line.tcl:23 +msgid "Go" +msgstr "Nhảy" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Không thể hòa trộn trong khi tu bổ.\n" +"\n" +"Bạn phải hoàn tất việc tu bổ lần chuyển giao trước khi bắt đầu bất kỳ kiểu " +"hòa trộn nào.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Trạng thái quét không khớp với trạng thái kho.\n" +"\n" +"Có Git khác đã sửa kho này kể từ lần quét cuối. Cần quét lại trước khi thực " +"hiện việc hòa trộn.\n" +"\n" +"Sẽ thực hiện việc quét lại ngay bây giời.\n" + +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Bạn đang ở giữa việc thay đổi.\n" +"\n" +"Tập tin %s đã bị sửa đổi.\n" +"\n" +"Bạn nên hoàn thiện lần chuyển giao hiện nay trước khi hòa trộn. Chỉ có thế " +"bạn mới có thể bắt đầu hòa trộn cái .\n" + +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Bạn đang ở giữa việc thay đổi.\n" +"\n" +"Tập tin %s đã bị sửa đổi.\n" +"\n" +"Bạn nên hoàn thiện lần chuyển giao hiện nay trước khi hòa trộn. Làm như vậy " +"giúp bạn có thể loại bỏ việc lỗi trong hòa trộn.\n" + +#: lib/merge.tcl:108 +#, tcl-format +msgid "%s of %s" +msgstr "%s trên %s" + +#: lib/merge.tcl:122 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "Đang hòa trộn %s và %s..." + +#: lib/merge.tcl:133 +msgid "Merge completed successfully." +msgstr "Hòa trộn đã thực hiện thành công." + +#: lib/merge.tcl:135 +msgid "Merge failed. Conflict resolution is required." +msgstr "Hòa trộn gặp lỗi. Cần giải quyết các xung đột trước." + +#: lib/merge.tcl:160 +#, tcl-format +msgid "Merge Into %s" +msgstr "Hòa trộn vào %s" + +#: lib/merge.tcl:179 +msgid "Revision To Merge" +msgstr "Điểm cần hòa trộn" + +#: lib/merge.tcl:214 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Không thể hủy bỏ trong khi đang tu bổ.\n" +"\n" +"Bạn cần phải hoàn tất việc tu bổ lần chuyển giao này.\n" + +#: lib/merge.tcl:224 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Bãi bỏ hòa trộn?\n" +"\n" +"Bãi bỏ hòa trộn hiện nay sẽ làm *TẤT CẢ* các thay đổi chưa được chuyển giao " +"bị mất.\n" +"\n" +"Tiếp tục bãi bỏ việc hòa trộn hiện tại?" + +#: lib/merge.tcl:230 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Đặt lại mọi thay đổi?\n" +"\n" +"Việc đặt lại các thay đổi sẽ làm *MỌI* thay đổi chưa chuyển giao biến mất.\n" +"\n" +"Vẫn tiếp tục đặt lại các thay đổi hiện tại?" + +#: lib/merge.tcl:241 +msgid "Aborting" +msgstr "Bãi bỏ" + +#: lib/merge.tcl:241 +msgid "files reset" +msgstr "đặt lại các tập tin" + +#: lib/merge.tcl:269 +msgid "Abort failed." +msgstr "Gặp lỗi khi bãi bỏ." + +#: lib/merge.tcl:271 +msgid "Abort completed. Ready." +msgstr "Đã bãi bỏ xong. Sẵn sàng." + +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "Buộc phân giải thành nhánh cơ sở?" + +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "Buộc phân giải thành nhánh này?" + +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "Buộc phân giải thành nhánh khác?" + +#: 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 "" +"Chú ý là diff chỉ hiển thị những thay đổi xung đột.\n" +"\n" +"%s sẽ bị ghi đè.\n" +"\n" +"Thao tác này chỉ có thể bỏ dở bằng cách khởi động lại việc hòa trộn." + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "" +"Tập tin %s có vẻ chưa được giải quyết xung đột, vẫn đánh dấu là cần chuyển " +"giao?" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "Đang phân giải cho %s" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "Không thể phân giải xung đột xóa hay liên kết dùng một công cụ" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "Tập tin xung đột không tồn tại" + +#: lib/mergetool.tcl:246 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "Không phải là một công cụ hòa trộn GUI: '%s'" + +#: lib/mergetool.tcl:275 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "Không hỗ trợ công cụ trộn '%s'" + +#: lib/mergetool.tcl:310 +msgid "Merge tool is already running, terminate it?" +msgstr "Công cụ hòa trộn đang chạy rồi, chấm dứt nó?" + +#: lib/mergetool.tcl:330 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" +msgstr "" +"Gặp lỗi khi truy lại phiên bản:\n" +"%s" + +#: lib/mergetool.tcl:350 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" +msgstr "" +"Không thể khởi chạy công cụ hòa trộn:\n" +"\n" +"%s" + +#: lib/mergetool.tcl:354 +msgid "Running merge tool..." +msgstr "Đang chạy công cụ trộn..." + +#: lib/mergetool.tcl:382 lib/mergetool.tcl:390 +msgid "Merge tool failed." +msgstr "Công cụ trộn gặp lỗi." + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "Bảng mã toàn cục không hợp lệ '%s'" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "Bảng mã kho chứa không hợp lệ '%s'" + +#: lib/option.tcl:119 +msgid "Restore Defaults" +msgstr "Phục hồi thành mặc định" + +#: lib/option.tcl:123 +msgid "Save" +msgstr "Ghi lại" + +#: lib/option.tcl:133 +#, tcl-format +msgid "%s Repository" +msgstr "%s kho" + +#: lib/option.tcl:134 +msgid "Global (All Repositories)" +msgstr "Toàn cục (Mọi kho)" + +#: lib/option.tcl:140 +msgid "User Name" +msgstr "Tên người dùng" + +#: lib/option.tcl:141 +msgid "Email Address" +msgstr "Địa chỉ thư điện tử" + +#: lib/option.tcl:143 +msgid "Summarize Merge Commits" +msgstr "Tổng hợp về hòa trộn các lần chuyển giao" + +#: lib/option.tcl:144 +msgid "Merge Verbosity" +msgstr "Chi tiết việc hòa trộn" + +#: lib/option.tcl:145 +msgid "Show Diffstat After Merge" +msgstr "Hiển thị thống kê khác biệt sau hòa trộn" + +#: lib/option.tcl:146 +msgid "Use Merge Tool" +msgstr "Dùng Công cụ trộn" + +#: lib/option.tcl:148 +msgid "Trust File Modification Timestamps" +msgstr "Tin dấu vết thời gian sửa đổi tập tin" + +#: lib/option.tcl:149 +msgid "Prune Tracking Branches During Fetch" +msgstr "Xén các nhánh theo dõi trong khi lấy về" + +#: lib/option.tcl:150 +msgid "Match Tracking Branches" +msgstr "Khớp nhánh theo dõi" + +#: lib/option.tcl:151 +msgid "Use Textconv For Diffs and Blames" +msgstr "Dùng Textconv Cho Diffs và Blames" + +#: lib/option.tcl:152 +msgid "Blame Copy Only On Changed Files" +msgstr "Chỉ chép blame trên các tập tin thay đổi" + +#: lib/option.tcl:153 +msgid "Maximum Length of Recent Repositories List" +msgstr "Số lượng kho mới dùng tối đa được lưu trữ" + +#: lib/option.tcl:154 +msgid "Minimum Letters To Blame Copy On" +msgstr "Chữ tối thiểu để blame chép vào" + +#: lib/option.tcl:155 +msgid "Blame History Context Radius (days)" +msgstr "Bán kính ngữ cảnh lịch sử blame (ngày)" + +#: lib/option.tcl:156 +msgid "Number of Diff Context Lines" +msgstr "Số dòng nội dung Diff" + +#: lib/option.tcl:157 +msgid "Additional Diff Parameters" +msgstr "Đối số bổ xung cho Diff" + +#: lib/option.tcl:158 +msgid "Commit Message Text Width" +msgstr "Chiều rộng của phần chú thích" + +#: lib/option.tcl:159 +msgid "New Branch Name Template" +msgstr "Mẫu tên nhánh mới" + +#: lib/option.tcl:160 +msgid "Default File Contents Encoding" +msgstr "Bảng mã dành cho nội dung tập tin mặc định" + +#: lib/option.tcl:161 +msgid "Warn before committing to a detached head" +msgstr "Cảnh báo trước khi chuyển giao một đầu bị tách rời" + +#: lib/option.tcl:162 +msgid "Staging of untracked files" +msgstr "Đánh dấu những tập tin chưa được theo dõi là cần chuyển giao" + +#: lib/option.tcl:163 +msgid "Show untracked files" +msgstr "Hiện các tập tin chưa được theo dõi" + +#: lib/option.tcl:209 +msgid "Change" +msgstr "Thay đổi" + +#: lib/option.tcl:253 +msgid "Spelling Dictionary:" +msgstr "Từ điển chính tả:" + +#: lib/option.tcl:283 +msgid "Change Font" +msgstr "Đổi phông chữ" + +#: lib/option.tcl:287 +#, tcl-format +msgid "Choose %s" +msgstr "Chọn %s" + +#: lib/option.tcl:293 +msgid "pt." +msgstr "pt." + +#: lib/option.tcl:307 +msgid "Preferences" +msgstr "Cá nhân hóa" + +#: lib/option.tcl:344 +msgid "Failed to completely save options:" +msgstr "Gặp lỗi khi hoàn tất ghi lại các tùy chọn:" + +#: lib/remote_add.tcl:20 +msgid "Add Remote" +msgstr "Thêm máy chủ" + +#: lib/remote_add.tcl:25 +msgid "Add New Remote" +msgstr "Thêm máy chủ mới" + +#: lib/remote_add.tcl:30 lib/tools_dlg.tcl:37 +msgid "Add" +msgstr "Thêm vào" + +#: lib/remote_add.tcl:39 +msgid "Remote Details" +msgstr "Chi tiết về máy chủ" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "Vị trí:" + +#: lib/remote_add.tcl:60 +msgid "Further Action" +msgstr "Hành động thêm" + +#: lib/remote_add.tcl:63 +msgid "Fetch Immediately" +msgstr "Lấy về ngay lập tức" + +#: lib/remote_add.tcl:69 +msgid "Initialize Remote Repository and Push" +msgstr "Khởi tạo Kho máy chủ và đẩy dữ liệu lên" + +#: lib/remote_add.tcl:75 +msgid "Do Nothing Else Now" +msgstr "Không làm gì cả" + +#: lib/remote_add.tcl:100 +msgid "Please supply a remote name." +msgstr "Hãy cung cấp tên máy chủ." + +#: lib/remote_add.tcl:113 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "'%s' không phải là tên máy chủ được chấp nhận." + +#: lib/remote_add.tcl:124 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "Gặp lỗi khi thêm máy chủ '%s' của vị trí '%s'." + +#: lib/remote_add.tcl:132 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "lấy về %s" + +#: lib/remote_add.tcl:133 +#, tcl-format +msgid "Fetching the %s" +msgstr "Đang lấy về %s" + +#: lib/remote_add.tcl:156 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "Không hiểu làm thế nào để khởi tạo kho chứa tại vị trí '%s'." + +#: lib/remote_add.tcl:162 lib/transport.tcl:54 lib/transport.tcl:92 +#: lib/transport.tcl:110 +#, tcl-format +msgid "push %s" +msgstr "đẩy %s lên máy chủ" + +#: lib/remote_add.tcl:163 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "Cài đặt '%s' (tại %s)" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "Xóa nhánh trên máy chủ" + +#: lib/remote_branch_delete.tcl:48 +msgid "From Repository" +msgstr "Từ Kho" + +#: lib/remote_branch_delete.tcl:51 lib/transport.tcl:165 +msgid "Remote:" +msgstr "Máy chủ:" + +#: lib/remote_branch_delete.tcl:72 lib/transport.tcl:187 +msgid "Arbitrary Location:" +msgstr "Địa điểm tùy ý:" + +#: lib/remote_branch_delete.tcl:88 +msgid "Branches" +msgstr "Nhánh" + +#: lib/remote_branch_delete.tcl:110 +msgid "Delete Only If" +msgstr "Chỉ xoá Nếu" + +#: lib/remote_branch_delete.tcl:112 +msgid "Merged Into:" +msgstr "Đã trộn vào:" + +#: lib/remote_branch_delete.tcl:153 +msgid "A branch is required for 'Merged Into'." +msgstr "Cần một nhánh cho 'Hòa trộn vào'." + +#: lib/remote_branch_delete.tcl:185 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"Các nhánh sau đây không được hòa trộn hoàn toàn vào %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 "" +"Một hay nhiều hơn kiểm tra hòa trộn không đạt bởi vì bạn đã không lấy về " +"những lần chuyển giao cần thiết. Hãy lấy về từ %s trước đã." + +#: lib/remote_branch_delete.tcl:208 +msgid "Please select one or more branches to delete." +msgstr "Xin hãy chọn một hay nhiều nhánh cần xóa." + +#: lib/remote_branch_delete.tcl:227 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Đang xoá các nhánh từ %s" + +#: lib/remote_branch_delete.tcl:300 +msgid "No repository selected." +msgstr "Chưa chọn kho." + +#: lib/remote_branch_delete.tcl:305 +#, tcl-format +msgid "Scanning %s..." +msgstr "Đang quét: %s..." + +#: lib/remote.tcl:200 +msgid "Push to" +msgstr "Đẩy lên" + +#: lib/remote.tcl:218 +msgid "Remove Remote" +msgstr "Gỡ bỏ Máy chủ" + +#: lib/remote.tcl:223 +msgid "Prune from" +msgstr "Xén từ" + +#: lib/remote.tcl:228 +msgid "Fetch from" +msgstr "Lấy về từ" + +#: lib/search.tcl:48 +msgid "Find:" +msgstr "Tìm:" + +#: lib/search.tcl:50 +msgid "Next" +msgstr "Tiếp" + +#: lib/search.tcl:51 +msgid "Prev" +msgstr "Trước" + +#: lib/search.tcl:52 +msgid "RegExp" +msgstr "BTCQ" + +#: lib/search.tcl:54 +msgid "Case" +msgstr "Hoa" + +#: lib/shortcut.tcl:21 lib/shortcut.tcl:62 +msgid "Cannot write shortcut:" +msgstr "Không thể ghi lối tắt:" + +#: lib/shortcut.tcl:137 +msgid "Cannot write icon:" +msgstr "Không thể ghi biểu tượng:" + +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Không hỗ trợ kiểm tra chính tả" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Kiểm tra chính tả không sẵn sàng" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Cấu hình bộ soát chính tả không hợp lệ" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Đang hoàn nguyên từ điển thành %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Phần kiểm tra chính tả đã gặp lỗi khi khởi động" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Không chấp nhận bộ kiểm tra chính tả" + +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "Không có gợi ý" + +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "Gặp kết thúc bất ngờ từ bộ kiểm tra chính tả" + +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "Kiểm tra chính tả không thành công" + +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "Không tìm thấy khóa nào." + +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "Tìm thấy khoá công khai trong: %s" + +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "Tạo khoá" + +#: lib/sshkey.tcl:58 +msgid "Copy To Clipboard" +msgstr "Chép vào clipboard" + +#: lib/sshkey.tcl:72 +msgid "Your OpenSSH Public Key" +msgstr "Khóa công OpenSSH của bạn" + +#: lib/sshkey.tcl:80 +msgid "Generating..." +msgstr "Đang tạo..." + +#: lib/sshkey.tcl:86 +#, tcl-format +msgid "" +"Could not start ssh-keygen:\n" +"\n" +"%s" +msgstr "" +"Không thể chạy ssh-keygen:\n" +"\n" +"%s" + +#: lib/sshkey.tcl:113 +msgid "Generation failed." +msgstr "Việc tạo khoá đã thất bại." + +#: lib/sshkey.tcl:120 +msgid "Generation succeeded, but no keys found." +msgstr "Việc tạo thành công nhưng lại không tìm thấy khóa." + +#: lib/sshkey.tcl:123 +#, tcl-format +msgid "Your key is in: %s" +msgstr "Khóa của bạn trong: %s" + +#: lib/status_bar.tcl:87 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i trong %*i %s (%3i%%)" + +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "Thêm công cụ" + +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "Thêm lệnh công cụ mới" + +#: lib/tools_dlg.tcl:34 +msgid "Add globally" +msgstr "Thêm toàn cục" + +#: lib/tools_dlg.tcl:46 +msgid "Tool Details" +msgstr "Chi tiết công cụ" + +#: lib/tools_dlg.tcl:49 +msgid "Use '/' separators to create a submenu tree:" +msgstr "Dùng dấu ngăn cách '/' để tạo cây trình đơn con:" + +#: lib/tools_dlg.tcl:60 +msgid "Command:" +msgstr "Lệnh:" + +#: lib/tools_dlg.tcl:71 +msgid "Show a dialog before running" +msgstr "Hiển thị hộp thoại trước khi chạy" + +#: lib/tools_dlg.tcl:77 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "Hỏi người dùng chọn điểm xem xét (đặt biến $REVISION)" + +#: lib/tools_dlg.tcl:82 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "Hỏi người dùng các đối số bổ xung thêm (đặt biến $ARGS)" + +#: lib/tools_dlg.tcl:89 +msgid "Don't show the command output window" +msgstr "Không hiển thị cửa sổ kết xuất câu lệnh" + +#: lib/tools_dlg.tcl:94 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "Chỉ chạy nếu diff được chọn (biến $FILENAME không rỗng)" + +#: lib/tools_dlg.tcl:118 +msgid "Please supply a name for the tool." +msgstr "Hãy cung cấp tên cho công cụ." + +#: lib/tools_dlg.tcl:126 +#, tcl-format +msgid "Tool '%s' already exists." +msgstr "Công cụ '%s' đã sẵn có." + +#: lib/tools_dlg.tcl:148 +#, tcl-format +msgid "" +"Could not add tool:\n" +"%s" +msgstr "" +"Không thể thêm công cụ:\n" +"%s" + +#: lib/tools_dlg.tcl:187 +msgid "Remove Tool" +msgstr "Gỡ bỏ công cụ" + +#: lib/tools_dlg.tcl:193 +msgid "Remove Tool Commands" +msgstr "Gỡ bỏ công cụ lệnh" + +#: lib/tools_dlg.tcl:198 +msgid "Remove" +msgstr "Gỡ bỏ" + +#: lib/tools_dlg.tcl:231 +msgid "(Blue denotes repository-local tools)" +msgstr "(Các công cụ chỉ thị kho-nội-bộ xanh)" + +#: lib/tools_dlg.tcl:292 +#, tcl-format +msgid "Run Command: %s" +msgstr "Chạy lệnh: %s" + +#: lib/tools_dlg.tcl:306 +msgid "Arguments" +msgstr "Đối số" + +#: lib/tools_dlg.tcl:341 +msgid "OK" +msgstr "Đồng ý" + +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "Chạy %s yêu cầu cần phải chọn một tập tin." + +#: lib/tools.tcl:91 +#, tcl-format +msgid "Are you sure you want to run %1$s on file \"%2$s\"?" +msgstr "Bạn có chắc là muốn chạy %1$s trên tập tin \"%2$s\" không?" + +#: lib/tools.tcl:95 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "Bạn có chắc là muốn chạy %s không?" + +#: lib/tools.tcl:116 +#, tcl-format +msgid "Tool: %s" +msgstr "Công cụ: %s" + +#: lib/tools.tcl:117 +#, tcl-format +msgid "Running: %s" +msgstr "Đang chạy: %s" + +#: lib/tools.tcl:155 +#, tcl-format +msgid "Tool completed successfully: %s" +msgstr "Công cụ được biên dịch thành công: %s" + +#: lib/tools.tcl:157 +#, tcl-format +msgid "Tool failed: %s" +msgstr "Công cụ gặp lỗi: %s" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Lấy các thay đổi mới từ %s" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "xén bớt trên máy chủ %s" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Xén bớt các nhánh theo dõi bị xóa từ %s" + +#: lib/transport.tcl:25 +msgid "fetch all remotes" +msgstr "lấy về từ tất cả các máy chủ" + +#: lib/transport.tcl:26 +msgid "Fetching new changes from all remotes" +msgstr "Đang lấy các thay đổi mới từ mọi máy chủ" + +#: lib/transport.tcl:40 +msgid "remote prune all remotes" +msgstr "xén bớt mọi máy chủ" + +#: lib/transport.tcl:41 +msgid "Pruning tracking branches deleted from all remotes" +msgstr "Xén tỉa các nhánh đã theo dõi bị xóa từ mọi máy chủ" + +#: lib/transport.tcl:55 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Đang đẩy các nhánh lên %s" + +#: lib/transport.tcl:93 +#, tcl-format +msgid "Mirroring to %s" +msgstr "Bản sao đến %s" + +#: lib/transport.tcl:111 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Đang (đẩy) %s %s lên %s" + +#: lib/transport.tcl:132 +msgid "Push Branches" +msgstr "Đẩy lên các nhánh" + +#: lib/transport.tcl:147 +msgid "Source Branches" +msgstr "Nhánh nguồn" + +#: lib/transport.tcl:162 +msgid "Destination Repository" +msgstr "Kho chứa đích" + +#: lib/transport.tcl:205 +msgid "Transfer Options" +msgstr "Tùy chọn truyền" + +#: lib/transport.tcl:207 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "Ép buộc ghi đè nhánh sẵn có (có thể sẽ loại bỏ các thay đổi)" + +#: lib/transport.tcl:211 +msgid "Use thin pack (for slow network connections)" +msgstr "Dùng gói mỏng (dành cho kết nối mạng chậm)" + +#: lib/transport.tcl:215 +msgid "Include tags" +msgstr "Bao gồm các thẻ" + +#~ msgid "Case-Sensitive" +#~ msgstr "Có phân biệt HOA/thường" diff --git a/hex.c b/hex.c index cfd9d722fd..899b74a08c 100644 --- a/hex.c +++ b/hex.c @@ -38,7 +38,7 @@ const signed char hexval_table[256] = { int get_sha1_hex(const char *hex, unsigned char *sha1) { int i; - for (i = 0; i < 20; i++) { + for (i = 0; i < GIT_SHA1_RAWSZ; i++) { unsigned int val; /* * hex[1]=='\0' is caught when val is checked below, @@ -56,15 +56,20 @@ int get_sha1_hex(const char *hex, unsigned char *sha1) return 0; } +int get_oid_hex(const char *hex, struct object_id *oid) +{ + return get_sha1_hex(hex, oid->hash); +} + char *sha1_to_hex(const unsigned char *sha1) { static int bufno; - static char hexbuffer[4][41]; + static char hexbuffer[4][GIT_SHA1_HEXSZ + 1]; static const char hex[] = "0123456789abcdef"; char *buffer = hexbuffer[3 & ++bufno], *buf = buffer; int i; - for (i = 0; i < 20; i++) { + for (i = 0; i < GIT_SHA1_RAWSZ; i++) { unsigned int val = *sha1++; *buf++ = hex[val >> 4]; *buf++ = hex[val & 0xf]; @@ -73,3 +78,8 @@ char *sha1_to_hex(const unsigned char *sha1) return buffer; } + +char *oid_to_hex(const struct object_id *oid) +{ + return sha1_to_hex(oid->hash); +} diff --git a/line-log.c b/line-log.c index a490efea07..b43ac58698 100644 --- a/line-log.c +++ b/line-log.c @@ -1099,6 +1099,7 @@ static int process_all_files(struct line_log_data **range_out, rg->pair = diff_filepair_dup(queue->queue[i]); memcpy(&rg->diff, pairdiff, sizeof(struct diff_ranges)); } + free(pairdiff); } return changed; diff --git a/log-tree.c b/log-tree.c index 2c1ed0fa90..cf4646b0f4 100644 --- a/log-tree.c +++ b/log-tree.c @@ -137,7 +137,7 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in static int add_graft_decoration(const struct commit_graft *graft, void *cb_data) { - struct commit *commit = lookup_commit(graft->sha1); + struct commit *commit = lookup_commit(graft->oid.hash); if (!commit) return 0; add_name_decoration(DECORATION_GRAFTED, "grafted", &commit->object); diff --git a/parse-options.h b/parse-options.h index 7940bc71af..c71e9da4f8 100644 --- a/parse-options.h +++ b/parse-options.h @@ -95,8 +95,7 @@ typedef int parse_opt_ll_cb(struct parse_opt_ctx_t *ctx, * * `defval`:: * default value to fill (*->value) with for PARSE_OPT_OPTARG. - * OPTION_{BIT,SET_INT} store the {mask,integer,pointer} to put in - * the value when met. + * OPTION_{BIT,SET_INT} store the {mask,integer} to put in the value when met. * CALLBACKS can use it like they want. */ struct option { diff --git a/path.c b/path.c index e608993801..595da81ca6 100644 --- a/path.c +++ b/path.c @@ -303,14 +303,9 @@ char *expand_user_path(const char *path) * (3) "relative/path" to mean cwd relative directory; or * (4) "/absolute/path" to mean absolute directory. * - * Unless "strict" is given, we try access() for existence of "%s.git/.git", - * "%s/.git", "%s.git", "%s" in this order. The first one that exists is - * what we try. - * - * Second, we try chdir() to that. Upon failure, we return NULL. - * - * Then, we try if the current directory is a valid git repository. - * Upon failure, we return NULL. + * Unless "strict" is given, we check "%s/.git", "%s", "%s.git/.git", "%s.git" + * in this order. We select the first one that is a valid git repository, and + * chdir() to it. If none match, or we fail to chdir, we return NULL. * * If all goes well, we return the directory we used to chdir() (but * before ~user is expanded), avoiding getcwd() resolving symbolic diff --git a/po/TEAMS b/po/TEAMS index a33a38e7d0..d277171d06 100644 --- a/po/TEAMS +++ b/po/TEAMS @@ -36,6 +36,11 @@ Language: pt_PT (Portuguese - Portugal) Repository: https://github.com/marcomsousa/git-l10n-pt_PT/ Leader: Marco Sousa +Language: ru (Russian) +Repository: https://github.com/DJm00n/git-po-ru/ +Leader: Dimitriy Ryazantcev +Members: insolor + Language: sv (Swedish) Repository: https://github.com/nafmo/git-l10n-sv/ Leader: Peter Krefting @@ -46,7 +51,7 @@ Leader: Trần Ngọc Quân Members: Nguyễn Thái Ngọc Duy Language: zh_CN (Simplified Chinese) -Repository: https://github.com/gotgit/git-po-zh_CN/ +Repository: https://github.com/jiangxin/git/ Leader: Jiang Xin Members: Riku Zhuang Ya diff --git a/po/bg.po b/po/bg.po index ccdd11eea9..171f813cd3 100644 --- a/po/bg.po +++ b/po/bg.po @@ -130,8 +130,8 @@ msgid "" msgstr "" "Project-Id-Version: git master\n" "Report-Msgid-Bugs-To: Git Mailing List \n" -"POT-Creation-Date: 2014-11-20 09:42+0800\n" -"PO-Revision-Date: 2014-11-20 16:09+0800\n" +"POT-Creation-Date: 2015-04-03 08:13+0800\n" +"PO-Revision-Date: 2015-04-07 11:21+0300\n" "Last-Translator: Alexander Shopov \n" "Language-Team: Bulgarian \n" "Language: bg\n" @@ -155,7 +155,7 @@ msgstr "" "за да отбележите коригирането им. След това извършете подаването." #: archive.c:11 -msgid "git archive [options] [...]" +msgid "git archive [] [...]" msgstr "git archive [ОПЦИЯ…] УКАЗАТЕЛ_КЪМ_ДЪРВО [ПЪТ…]" #: archive.c:12 @@ -164,7 +164,7 @@ msgstr "git archive --list" #: archive.c:13 msgid "" -"git archive --remote [--exec ] [options] [...]" +"git archive --remote [--exec ] [] [...]" msgstr "" "git archive --remote ХРАНИЛИЩЕ [--exec КОМАНДА] [ОПЦИЯ…] УКАЗАТЕЛ_КЪМ_ДЪРВО " "[ПЪТ…]" @@ -173,80 +173,80 @@ msgstr "" msgid "git archive --remote [--exec ] --list" msgstr "git archive --remote ХРАНИЛИЩЕ [--exec КОМАНДА] --list" -#: archive.c:334 builtin/add.c:137 builtin/add.c:427 builtin/rm.c:328 +#: archive.c:342 builtin/add.c:137 builtin/add.c:427 builtin/rm.c:328 #, c-format msgid "pathspec '%s' did not match any files" msgstr "пътят „%s“ не съвпада с никой файл" -#: archive.c:419 +#: archive.c:427 msgid "fmt" msgstr "ФОРМАТ" -#: archive.c:419 +#: archive.c:427 msgid "archive format" msgstr "ФОРМАТ на архива" -#: archive.c:420 builtin/log.c:1204 +#: archive.c:428 builtin/log.c:1204 msgid "prefix" msgstr "префикс" -#: archive.c:421 +#: archive.c:429 msgid "prepend prefix to each pathname in the archive" msgstr "добавяне на този префикс към всеки път в архива" -#: archive.c:422 builtin/archive.c:88 builtin/blame.c:2517 -#: builtin/blame.c:2518 builtin/config.c:57 builtin/fast-export.c:986 +#: archive.c:430 builtin/archive.c:88 builtin/blame.c:2516 +#: builtin/blame.c:2517 builtin/config.c:57 builtin/fast-export.c:986 #: builtin/fast-export.c:988 builtin/grep.c:712 builtin/hash-object.c:101 -#: builtin/ls-files.c:489 builtin/ls-files.c:492 builtin/notes.c:411 -#: builtin/notes.c:568 builtin/read-tree.c:109 parse-options.h:151 +#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:394 +#: builtin/notes.c:557 builtin/read-tree.c:109 parse-options.h:151 msgid "file" msgstr "файл" -#: archive.c:423 builtin/archive.c:89 +#: archive.c:431 builtin/archive.c:89 msgid "write the archive to this file" msgstr "запазване на архива в този файл" -#: archive.c:425 +#: archive.c:433 msgid "read .gitattributes in working directory" msgstr "изчитане на „.gitattributes“ в работната директория" -#: archive.c:426 +#: archive.c:434 msgid "report archived files on stderr" msgstr "извеждане на архивираните файлове на стандартната грешка" -#: archive.c:427 +#: archive.c:435 msgid "store only" msgstr "само съхранение без компресиране" -#: archive.c:428 +#: archive.c:436 msgid "compress faster" msgstr "бързо компресиране" -#: archive.c:436 +#: archive.c:444 msgid "compress better" msgstr "добро компресиране" -#: archive.c:439 +#: archive.c:447 msgid "list supported archive formats" msgstr "извеждане на списъка с поддържаните формати" -#: archive.c:441 builtin/archive.c:90 builtin/clone.c:85 +#: archive.c:449 builtin/archive.c:90 builtin/clone.c:86 msgid "repo" msgstr "хранилище" -#: archive.c:442 builtin/archive.c:91 +#: archive.c:450 builtin/archive.c:91 msgid "retrieve the archive from remote repository " msgstr "изтегляне на архива от отдалеченото ХРАНИЛИЩЕ" -#: archive.c:443 builtin/archive.c:92 builtin/notes.c:490 +#: archive.c:451 builtin/archive.c:92 builtin/notes.c:478 msgid "command" msgstr "команда" -#: archive.c:444 builtin/archive.c:93 +#: archive.c:452 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "път към отдалечената команда „git-upload-archive“" -#: attr.c:258 +#: attr.c:264 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -376,7 +376,7 @@ msgstr "Файлът „%s“ не изглежда да е пратка на gi msgid "unrecognized header: %s%s (%d)" msgstr "непозната заглавна част: %s%s (%d)" -#: bundle.c:87 builtin/commit.c:788 +#: bundle.c:87 builtin/commit.c:766 #, c-format msgid "could not open '%s'" msgstr "„%s“ не може да се отвори" @@ -385,9 +385,9 @@ msgstr "„%s“ не може да се отвори" msgid "Repository lacks these prerequisite commits:" msgstr "В хранилището липсват следните необходими подавания:" -#: bundle.c:163 sequencer.c:641 sequencer.c:1096 builtin/blame.c:2706 -#: builtin/branch.c:652 builtin/commit.c:1085 builtin/log.c:330 -#: builtin/log.c:823 builtin/log.c:1432 builtin/log.c:1669 builtin/merge.c:357 +#: bundle.c:163 sequencer.c:650 sequencer.c:1105 builtin/blame.c:2705 +#: builtin/branch.c:659 builtin/commit.c:1045 builtin/log.c:330 +#: builtin/log.c:823 builtin/log.c:1432 builtin/log.c:1669 builtin/merge.c:358 #: builtin/shortlog.c:158 msgid "revision walk setup failed" msgstr "неуспешно настройване на обхождането на версиите" @@ -430,26 +430,26 @@ msgid "ref '%s' is excluded by the rev-list options" msgstr "" "указателят „%s“ не е бил включен поради опциите зададени на „git rev-list“" -#: bundle.c:438 builtin/log.c:153 builtin/log.c:1342 builtin/shortlog.c:261 +#: bundle.c:437 builtin/log.c:153 builtin/log.c:1342 builtin/shortlog.c:261 #, c-format msgid "unrecognized argument: %s" msgstr "непознат аргумент: %s" -#: bundle.c:444 +#: bundle.c:443 msgid "Refusing to create empty bundle." msgstr "Създаването на празна пратка е невъзможно." -#: bundle.c:454 +#: bundle.c:453 #, c-format msgid "cannot create '%s'" msgstr "Файлът „%s“ не може да бъде създаден" # FIXME better message -#: bundle.c:475 +#: bundle.c:474 msgid "index-pack died" msgstr "Командата „git index-pack“ не завърши успешно" -#: color.c:157 +#: color.c:260 #, c-format msgid "invalid color value: %.*s" msgstr "неправилна стойност за цвят: %.*s" @@ -468,56 +468,56 @@ msgstr "%s %s не е подаване!" msgid "memory exhausted" msgstr "паметта свърши" -#: config.c:469 config.c:471 +#: config.c:474 config.c:476 #, c-format msgid "bad config file line %d in %s" msgstr "неправилен ред %d в „%s“" -#: config.c:587 +#: config.c:592 #, c-format msgid "bad numeric config value '%s' for '%s' in %s: %s" msgstr "" "неправилна числова стойност „%s“ за настройката „%s“ в раздела „%s“: %s" -#: config.c:589 +#: config.c:594 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "неправилна числова стойност „%s“ за настройката „%s“: %s" -#: config.c:674 +#: config.c:679 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "домашната папка на потребителя не може да бъде открита: „%s“" -#: config.c:752 config.c:763 +#: config.c:757 config.c:768 #, c-format msgid "bad zlib compression level %d" msgstr "неправилно ниво на компресиране: %d" -#: config.c:885 +#: config.c:890 #, c-format msgid "invalid mode for object creation: %s" msgstr "неправилен режим за създаването на обекти: %s" -#: config.c:1201 +#: config.c:1216 msgid "unable to parse command-line config" msgstr "неправилни настройки от командния ред" -#: config.c:1262 +#: config.c:1277 msgid "unknown error occured while reading the configuration files" msgstr "неочаквана грешка при изчитането на конфигурационните файлове" -#: config.c:1586 +#: config.c:1601 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "неразпозната стойност „%s“ от командния ред" -#: config.c:1588 +#: config.c:1603 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "неправилна настройка „%s“ във файла „%s“ на ред №%d" -#: config.c:1647 +#: config.c:1662 #, c-format msgid "%s has multiple values" msgstr "зададени са няколко стойности за „%s“" @@ -609,7 +609,7 @@ msgstr[1] "преди %lu години" msgid "failed to read orderfile '%s'" msgstr "файлът с подредбата на съответствията „%s“ не може да бъде прочетен" -#: diffcore-rename.c:516 +#: diffcore-rename.c:536 msgid "Performing inexact rename detection" msgstr "Търсене на преименувания на обекти съчетани с промени" @@ -639,17 +639,17 @@ msgstr "" "Грешки в настройката „diff.dirstat“:\n" "%s" -#: diff.c:2957 +#: diff.c:2956 #, c-format msgid "external diff died, stopping at %s" msgstr "" "външната програма за разлики завърши неуспешно. Спиране на работата при „%s“" -#: diff.c:3352 +#: diff.c:3351 msgid "--follow requires exactly one pathspec" msgstr "Опцията „--follow“ изисква точно един път" -#: diff.c:3515 +#: diff.c:3514 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -658,7 +658,7 @@ msgstr "" "Неразпознат параметър към опцията „--dirstat/-X“:\n" "%s" -#: diff.c:3529 +#: diff.c:3528 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Неразпознат параметър към опцията „--submodule“: „%s“" @@ -767,11 +767,11 @@ msgstr[1] "" msgid "%s: %s - %s" msgstr "%s: %s — %s" -#: lockfile.c:275 +#: lockfile.c:283 msgid "BUG: reopen a lockfile that is still open" msgstr "ГРЕШКА В GIT: преотваряне на файл-ключалка" -#: lockfile.c:277 +#: lockfile.c:285 msgid "BUG: reopen a lockfile that has been committed" msgstr "ГРЕШКА В GIT: преотваряне на файл-ключалка, който е подаден" @@ -779,8 +779,8 @@ msgstr "ГРЕШКА В GIT: преотваряне на файл-ключалк msgid "failed to read the cache" msgstr "кешът не може да бъде прочетен" -#: merge.c:94 builtin/checkout.c:356 builtin/checkout.c:562 -#: builtin/clone.c:659 +#: merge.c:94 builtin/checkout.c:374 builtin/checkout.c:580 +#: builtin/clone.c:662 msgid "unable to write new index file" msgstr "неуспешно записване на новия индекс" @@ -798,67 +798,67 @@ msgstr "неуспешно изпълнение на „addinfo_cache“ за п msgid "error building trees" msgstr "грешка при изграждане на дърветата" -#: merge-recursive.c:691 +#: merge-recursive.c:688 #, c-format msgid "failed to create path '%s'%s" msgstr "грешка при създаването на пътя „%s“%s" -#: merge-recursive.c:702 +#: merge-recursive.c:699 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Изтриване на „%s“, за да се освободи място за поддиректория\n" # FIXME better message -#: merge-recursive.c:716 merge-recursive.c:737 +#: merge-recursive.c:713 merge-recursive.c:734 msgid ": perhaps a D/F conflict?" msgstr ": възможно е да има конфликт директория/файл." -#: merge-recursive.c:727 +#: merge-recursive.c:724 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "" "преустановяване на действието, за да не се изтрие неследеният файл „%s“" -#: merge-recursive.c:767 +#: merge-recursive.c:764 #, c-format msgid "cannot read object %s '%s'" msgstr "обектът „%s“ (%s) не може да бъде прочетен" -#: merge-recursive.c:769 +#: merge-recursive.c:766 #, c-format msgid "blob expected for %s '%s'" msgstr "обектът „%s“ (%s) се очакваше да е BLOB, а не е" -#: merge-recursive.c:792 builtin/clone.c:318 +#: merge-recursive.c:789 builtin/clone.c:321 #, c-format msgid "failed to open '%s'" msgstr "директорията „%s“ не може да бъде отворена" -#: merge-recursive.c:800 +#: merge-recursive.c:797 #, c-format msgid "failed to symlink '%s'" msgstr "неуспешно създаване на символната връзка „%s“" -#: merge-recursive.c:803 +#: merge-recursive.c:800 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "" "не е ясно какво да се прави с обекта „%2$s“ (%3$s) с права за достъп „%1$06o“" -#: merge-recursive.c:941 +#: merge-recursive.c:938 msgid "Failed to execute internal merge" msgstr "Неуспешно вътрешно сливане" -#: merge-recursive.c:945 +#: merge-recursive.c:942 #, c-format msgid "Unable to add %s to database" msgstr "„%s“ не може да се добави в базата с данни" -#: merge-recursive.c:961 +#: merge-recursive.c:958 msgid "unsupported object type in the tree" msgstr "в дървото има неподдържан вид обект" -#: merge-recursive.c:1036 merge-recursive.c:1050 +#: merge-recursive.c:1033 merge-recursive.c:1047 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -867,7 +867,7 @@ msgstr "" "КОНФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s. Версия %s на „%s“ " "е оставена в дървото." -#: merge-recursive.c:1042 merge-recursive.c:1055 +#: merge-recursive.c:1039 merge-recursive.c:1052 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -876,20 +876,20 @@ msgstr "" "КОНФЛИКТ (%s/изтриване): „%s“ е изтрит в %s, а „%s“ в %s. Версия %s на „%s“ " "е оставена в дървото: %s." -#: merge-recursive.c:1096 +#: merge-recursive.c:1093 msgid "rename" msgstr "преименуване" -#: merge-recursive.c:1096 +#: merge-recursive.c:1093 msgid "renamed" msgstr "преименуван" -#: merge-recursive.c:1152 +#: merge-recursive.c:1149 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "„%s“ е директория в „%s“, затова се добавя като „%s“" -#: merge-recursive.c:1174 +#: merge-recursive.c:1171 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -898,124 +898,124 @@ msgstr "" "КОНФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон " "„%s“, а „%s“ е преименуван на „%s“ в „%s“/%s." -#: merge-recursive.c:1179 +#: merge-recursive.c:1176 msgid " (left unresolved)" msgstr " (некоригиран конфликт)" -#: merge-recursive.c:1233 +#: merge-recursive.c:1230 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "КОНФЛИКТ (преименуване/преименуване): „%s“ е преименуван на „%s“ в клон " "„%s“, а „%s“ е преименуван на „%s“ в „%s“" -#: merge-recursive.c:1263 +#: merge-recursive.c:1260 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "Преименуване на „%s“ на „%s“, а „%s“ на „%s“" -#: merge-recursive.c:1462 +#: merge-recursive.c:1459 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "" "КОНФЛИКТ (преименуване/добавяне): „%s“ е преименуван на „%s“ в клон „%s“, а " "„%s“ е добавен в „%s“" -#: merge-recursive.c:1472 +#: merge-recursive.c:1469 #, c-format msgid "Adding merged %s" msgstr "Добавяне на слетия „%s“" -#: merge-recursive.c:1477 merge-recursive.c:1675 +#: merge-recursive.c:1474 merge-recursive.c:1672 #, c-format msgid "Adding as %s instead" msgstr "Добавяне като „%s“" -#: merge-recursive.c:1528 +#: merge-recursive.c:1525 #, c-format msgid "cannot read object %s" msgstr "обектът „%s“ не може да се прочете" -#: merge-recursive.c:1531 +#: merge-recursive.c:1528 #, c-format msgid "object %s is not a blob" msgstr "обектът „%s“ не е BLOB" -#: merge-recursive.c:1579 +#: merge-recursive.c:1576 msgid "modify" msgstr "промяна" -#: merge-recursive.c:1579 +#: merge-recursive.c:1576 msgid "modified" msgstr "променен" -#: merge-recursive.c:1589 +#: merge-recursive.c:1586 msgid "content" msgstr "съдържание" -#: merge-recursive.c:1596 +#: merge-recursive.c:1593 msgid "add/add" msgstr "добавяне/добавяне" -#: merge-recursive.c:1630 +#: merge-recursive.c:1627 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "Прескачане на „%s“ (слетият резултат е идентичен със сегашния)" -#: merge-recursive.c:1644 +#: merge-recursive.c:1641 #, c-format msgid "Auto-merging %s" msgstr "Автоматично сливане на „%s“" -#: merge-recursive.c:1648 git-submodule.sh:1150 +#: merge-recursive.c:1645 git-submodule.sh:1150 msgid "submodule" msgstr "ПОДМОДУЛ" -#: merge-recursive.c:1649 +#: merge-recursive.c:1646 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "КОНФЛИКТ (%s): Конфликт при сливане на „%s“" -#: merge-recursive.c:1735 +#: merge-recursive.c:1732 #, c-format msgid "Removing %s" msgstr "Изтриване на „%s“" -#: merge-recursive.c:1760 +#: merge-recursive.c:1757 msgid "file/directory" msgstr "файл/директория" -#: merge-recursive.c:1766 +#: merge-recursive.c:1763 msgid "directory/file" msgstr "директория/файл" -#: merge-recursive.c:1771 +#: merge-recursive.c:1768 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "КОНФЛИКТ (%s): Съществува директория на име „%s“ в „%s“. Добавяне на „%s“ " "като „%s“" -#: merge-recursive.c:1781 +#: merge-recursive.c:1778 #, c-format msgid "Adding %s" msgstr "Добавяне на „%s“" -#: merge-recursive.c:1798 +#: merge-recursive.c:1795 msgid "Fatal merge failure, shouldn't happen." msgstr "Фатална грешка при сливане, а такава не трябва да възниква!" -#: merge-recursive.c:1817 +#: merge-recursive.c:1814 msgid "Already up-to-date!" msgstr "Вече е обновено!" -#: merge-recursive.c:1826 +#: merge-recursive.c:1823 #, c-format msgid "merging of trees %s and %s failed" msgstr "неуспешно сливане на дърветата „%s“ и „%s“" # FIXME message -#: merge-recursive.c:1856 +#: merge-recursive.c:1853 #, c-format msgid "Unprocessed path??? %s" msgstr "" @@ -1042,7 +1042,7 @@ msgstr "сливането не върна подаване" msgid "Could not parse object '%s'" msgstr "Неуспешен анализ на обекта „%s“" -#: merge-recursive.c:2019 builtin/merge.c:666 +#: merge-recursive.c:2019 builtin/merge.c:667 msgid "Unable to write index." msgstr "Индексът не може да бъде прочетен" @@ -1051,12 +1051,12 @@ msgid "Cannot commit uninitialized/unreferenced notes tree" msgstr "" "Неинициализирано или нереферирано дърво за бележки не може да бъде подадено" -#: notes-utils.c:83 +#: notes-utils.c:82 #, c-format msgid "Bad notes.rewriteMode value: '%s'" msgstr "Неправилна стойност за „notes.rewriteMode“: „%s“" -#: notes-utils.c:93 +#: notes-utils.c:92 #, c-format msgid "Refusing to rewrite notes in %s (outside of refs/notes/)" msgstr "" @@ -1064,7 +1064,7 @@ msgstr "" #. TRANSLATORS: The first %s is the name of the #. environment variable, the second %s is its value -#: notes-utils.c:120 +#: notes-utils.c:119 #, c-format msgid "Bad %s value: '%s'" msgstr "Зададена е лоша стойност на променливата „%s“: „%s“" @@ -1171,7 +1171,7 @@ msgstr "аргументът към опцията „--pretty“ не може msgid "done" msgstr "действието завърши" -#: read-cache.c:1261 +#: read-cache.c:1275 #, c-format msgid "" "index.version set, but the value is invalid.\n" @@ -1180,7 +1180,7 @@ msgstr "" "Зададена е неправилна стойност на настройката „index.version“.\n" "Ще се ползва версия %i" -#: read-cache.c:1271 +#: read-cache.c:1285 #, c-format msgid "" "GIT_INDEX_VERSION set, but the value is invalid.\n" @@ -1209,32 +1209,32 @@ msgstr "„%s“ следи както „%s“, така и „%s“" msgid "Internal error" msgstr "Вътрешна грешка" -#: remote.c:1968 +#: remote.c:1980 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "Този клон следи „%s“, но следеният клон е изтрит.\n" -#: remote.c:1972 +#: remote.c:1984 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (за да коригирате това, използвайте „git branch --unset-upstream“)\n" -#: remote.c:1975 +#: remote.c:1987 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "Клонът е актуализиран към „%s“.\n" -#: remote.c:1979 +#: remote.c:1991 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Клонът ви е с %2$d подаване пред „%1$s“.\n" msgstr[1] "Клонът ви е с %2$d подавания пред „%1$s“.\n" -#: remote.c:1985 +#: remote.c:1997 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (публикувайте локалните си промени чрез „git push“)\n" -#: remote.c:1988 +#: remote.c:2000 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1244,11 +1244,11 @@ msgstr[0] "" msgstr[1] "" "Клонът ви е с %2$d подавания след „%1$s“ и може да бъде тривиално слят.\n" -#: remote.c:1996 +#: remote.c:2008 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (обновете локалния си клон чрез „git pull“)\n" -#: remote.c:1999 +#: remote.c:2011 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1263,35 +1263,43 @@ msgstr[1] "" "Текущият клон се е отделил от „%s“,\n" "двата имат съответно по %d и %d несъвпадащи подавания.\n" -#: remote.c:2009 +#: remote.c:2021 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (слейте отдалечения клон в локалния чрез „git pull“)\n" -#: run-command.c:87 +#: revision.c:2348 +msgid "--first-parent is incompatible with --bisect" +msgstr "опциите „--first-parent“ и „--bisect“ са несъвместими" + +#: run-command.c:83 msgid "open /dev/null failed" msgstr "неуспешно отваряне на „/dev/null“" -#: run-command.c:89 +#: run-command.c:85 #, c-format msgid "dup2(%d,%d) failed" msgstr "неуспешно изпълнение на dup2(%d,%d)" -#: send-pack.c:265 +#: send-pack.c:272 msgid "failed to sign the push certificate" msgstr "сертификатът за изтласкване не може да бъде подписан" -#: send-pack.c:322 +#: send-pack.c:356 msgid "the receiving end does not support --signed push" msgstr "отсрещната страна не поддържа изтласкване с опцията „--signed“" -#: sequencer.c:172 builtin/merge.c:781 builtin/merge.c:892 -#: builtin/merge.c:1002 builtin/merge.c:1012 +#: send-pack.c:366 +msgid "the receiving end does not support --atomic push" +msgstr "получаващата страна не поддържа изтласкване с опцията „--atomic“" + +#: sequencer.c:172 builtin/merge.c:782 builtin/merge.c:893 builtin/merge.c:995 +#: builtin/merge.c:1005 #, c-format msgid "Could not open '%s' for writing" msgstr "„%s“ не може да бъде отворен за запис" -#: sequencer.c:174 builtin/merge.c:343 builtin/merge.c:784 -#: builtin/merge.c:1004 builtin/merge.c:1017 +#: sequencer.c:174 builtin/merge.c:344 builtin/merge.c:785 builtin/merge.c:997 +#: builtin/merge.c:1010 #, c-format msgid "Could not write to '%s'" msgstr "„%s“ не може да бъде записан" @@ -1316,7 +1324,7 @@ msgstr "" "подайте резултата с командата „git commit'“." # FIXME - must be the same as Could not write to '%s' above -#: sequencer.c:211 sequencer.c:852 sequencer.c:935 +#: sequencer.c:211 sequencer.c:861 sequencer.c:944 #, c-format msgid "Could not write to %s" msgstr "„%s“ не може да бъде записан" @@ -1340,204 +1348,204 @@ msgid "Commit your changes or stash them to proceed." msgstr "Подайте или скатайте промените, за да продължите" #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:304 +#: sequencer.c:321 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: новият индекс не може да бъде запазен" -#: sequencer.c:335 +#: sequencer.c:339 msgid "Could not resolve HEAD commit\n" msgstr "Подаването сочено от указателя „HEAD“ не може да бъде открито\n" -#: sequencer.c:355 +#: sequencer.c:359 msgid "Unable to update cache tree\n" msgstr "Дървото на кеша не може да бъде обновено\n" -#: sequencer.c:402 +#: sequencer.c:411 #, c-format msgid "Could not parse commit %s\n" msgstr "Подаването „%s“ не може да бъде анализирано\n" -#: sequencer.c:407 +#: sequencer.c:416 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Родителското подаване „%s“ не може да бъде анализирано\n" -#: sequencer.c:473 +#: sequencer.c:482 msgid "Your index file is unmerged." msgstr "Индексът не е слят." -#: sequencer.c:492 +#: sequencer.c:501 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "Подаването „%s“ е сливане, но не е дадена опцията „-m“" -#: sequencer.c:500 +#: sequencer.c:509 #, c-format msgid "Commit %s does not have parent %d" msgstr "Подаването „%s“ няма родител %d" -#: sequencer.c:504 +#: sequencer.c:513 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "Указано е базово подаване, но подаването „%s“ не е сливане." #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:517 +#: sequencer.c:526 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: неразпозната стойност за родителското подаване „%s“" -#: sequencer.c:521 +#: sequencer.c:530 #, c-format msgid "Cannot get commit message for %s" msgstr "Неуспешно извличане на съобщението за подаване на „%s“" -#: sequencer.c:607 +#: sequencer.c:616 #, c-format msgid "could not revert %s... %s" msgstr "подаването „%s“… не може да бъде отменено: „%s“" -#: sequencer.c:608 +#: sequencer.c:617 #, c-format msgid "could not apply %s... %s" msgstr "подаването „%s“… не може да бъде приложено: „%s“" -#: sequencer.c:644 +#: sequencer.c:653 msgid "empty commit set passed" msgstr "зададено е празно множество от подавания" -#: sequencer.c:652 +#: sequencer.c:661 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: неуспешно изчитане на индекса" -#: sequencer.c:656 +#: sequencer.c:665 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: неуспешно обновяване на индекса" -#: sequencer.c:716 +#: sequencer.c:725 #, c-format msgid "Cannot %s during a %s" msgstr "По време на „%1$s“ не може да се извърши „%2$s“" -#: sequencer.c:738 +#: sequencer.c:747 #, c-format msgid "Could not parse line %d." msgstr "%d-ят ред не може да се анализира." -#: sequencer.c:743 +#: sequencer.c:752 msgid "No commits parsed." msgstr "Никое от подаванията не може да се разпознае." # FIXME Could not open %s. - full stop for consistence with next message -#: sequencer.c:756 +#: sequencer.c:765 #, c-format msgid "Could not open %s" msgstr "„%s“ не може да се прочете." -#: sequencer.c:760 +#: sequencer.c:769 #, c-format msgid "Could not read %s." msgstr "„%s“ не може да се отвори." -#: sequencer.c:767 +#: sequencer.c:776 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Файлът с описание на предстоящите действия — „%s“ не може да се ползва" -#: sequencer.c:797 +#: sequencer.c:806 #, c-format msgid "Invalid key: %s" msgstr "Неправилен ключ: „%s“" -#: sequencer.c:800 +#: sequencer.c:809 #, c-format msgid "Invalid value for %s: %s" msgstr "Неправилна стойност за „%s“: „%s“" -#: sequencer.c:812 +#: sequencer.c:821 #, c-format msgid "Malformed options sheet: %s" msgstr "Неправилно съдържание на файла с опции: „%s“" -#: sequencer.c:833 +#: sequencer.c:842 msgid "a cherry-pick or revert is already in progress" msgstr "" "в момента вече се извършва отбиране на подавания или пребазиране на клона" -#: sequencer.c:834 +#: sequencer.c:843 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "използвайте „git cherry-pick (--continue | --quit | --abort)“" -#: sequencer.c:838 +#: sequencer.c:847 #, c-format msgid "Could not create sequencer directory %s" msgstr "Директорията за секвенсора „%s“ не може да бъде създадена" -#: sequencer.c:854 sequencer.c:939 +#: sequencer.c:863 sequencer.c:948 #, c-format msgid "Error wrapping up %s." msgstr "Обработката на „%s“ не завърши успешно." -#: sequencer.c:873 sequencer.c:1009 +#: sequencer.c:882 sequencer.c:1018 msgid "no cherry-pick or revert in progress" msgstr "" "в момента не се извършва отбиране на подавания или пребазиране на клона" -#: sequencer.c:875 +#: sequencer.c:884 msgid "cannot resolve HEAD" msgstr "Подаването сочено от указателя „HEAD“ не може да бъде открито" -#: sequencer.c:877 +#: sequencer.c:886 msgid "cannot abort from a branch yet to be born" msgstr "" "действието не може да бъде преустановено, когато сте на клон, който тепърва " "предстои да бъде създаден" -#: sequencer.c:899 builtin/apply.c:4128 +#: sequencer.c:908 builtin/apply.c:4288 #, c-format msgid "cannot open %s: %s" msgstr "файлът „%s“ не може да бъде отворен: %s" -#: sequencer.c:902 +#: sequencer.c:911 #, c-format msgid "cannot read %s: %s" msgstr "файлът „%s“ не може да бъде прочетен: %s" -#: sequencer.c:903 +#: sequencer.c:912 msgid "unexpected end of file" msgstr "неочакван край на файл" -#: sequencer.c:909 +#: sequencer.c:918 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "" "запазеният преди започването на отбирането файл за указателя „HEAD“ — „%s“ е " "повреден" -#: sequencer.c:932 +#: sequencer.c:941 #, c-format msgid "Could not format %s." msgstr "Файлът „%s“ не може да се форматира по подходящия начин." -#: sequencer.c:1077 +#: sequencer.c:1086 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: не може да се отбере „%s“" -#: sequencer.c:1080 +#: sequencer.c:1089 #, c-format msgid "%s: bad revision" msgstr "%s: неправилна версия" -#: sequencer.c:1114 +#: sequencer.c:1123 msgid "Can't revert as initial commit" msgstr "Първоначалното подаване не може да бъде отменено" -#: sequencer.c:1115 +#: sequencer.c:1124 msgid "Can't cherry-pick into empty head" msgstr "При празен връх не могат да се отбират подавания" @@ -1609,38 +1617,38 @@ msgstr "Записът „%s“ във файла „.gitmodules“ не мож msgid "staging updated .gitmodules failed" msgstr "неуспешно добавяне на променения файл „.gitmodules“ в индекса" -#: submodule.c:1111 builtin/init-db.c:363 +#: submodule.c:1109 builtin/init-db.c:371 #, c-format msgid "Could not create git link %s" msgstr "Връзката в Git „%s“ не може да бъде създадена" -#: submodule.c:1122 +#: submodule.c:1120 #, c-format msgid "Could not set core.worktree in %s" msgstr "Настройката „core.worktree“ не може да се зададе в „%s“" -#: trailer.c:499 trailer.c:503 trailer.c:507 trailer.c:561 trailer.c:565 -#: trailer.c:569 +#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 +#: trailer.c:561 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "неправилна стойност „%s“ за настройката „%s“" -#: trailer.c:551 trailer.c:556 builtin/remote.c:288 +#: trailer.c:543 trailer.c:548 builtin/remote.c:290 #, c-format msgid "more than one %s" msgstr "стойността „%s“ се повтаря в настройките" -#: trailer.c:589 +#: trailer.c:581 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "празна завършваща лексема в епилога „%.*s“" -#: trailer.c:709 +#: trailer.c:701 #, c-format msgid "could not read input file '%s'" msgstr "входният файл „%s“ не може да бъде прочетен" -#: trailer.c:712 +#: trailer.c:704 msgid "could not read from stdin" msgstr "от стандартния вход не може да се чете" @@ -1677,26 +1685,26 @@ msgstr "неправилен номер на порт" msgid "invalid '..' path segment" msgstr "неправилна част от пътя „..“" -#: wrapper.c:509 +#: wrapper.c:523 #, c-format msgid "unable to access '%s': %s" msgstr "няма достъп до „%s“: %s" -#: wrapper.c:530 +#: wrapper.c:544 #, c-format msgid "unable to access '%s'" msgstr "няма достъп до „%s“" -#: wrapper.c:541 +#: wrapper.c:555 #, c-format msgid "unable to look up current user in the passwd file: %s" msgstr "текущият потребител не може да бъде открит във файла „/etc/passwd“: %s" -#: wrapper.c:542 +#: wrapper.c:556 msgid "no such user" msgstr "такъв потребител не съществува" -#: wrapper.c:550 +#: wrapper.c:564 msgid "unable to get current working directory" msgstr "текущата работна директория е недостъпна" @@ -1730,11 +1738,11 @@ msgid " (use \"git rm ...\" to mark resolution)" msgstr "" " (използвайте „git rm ФАЙЛ…“, за да укажете разрешаването на конфликта)" -#: wt-status.c:198 +#: wt-status.c:198 wt-status.c:878 msgid "Changes to be committed:" msgstr "Промени, които ще бъдат подадени:" -#: wt-status.c:216 +#: wt-status.c:216 wt-status.c:887 msgid "Changes not staged for commit:" msgstr "Промени, които не са в индекса за подаване:" @@ -1849,15 +1857,15 @@ msgstr "неследено съдържание, " msgid "bug: unhandled diff status %c" msgstr "грешка: състоянието на промяната „%c“ не може да бъде обработено" -#: wt-status.c:761 +#: wt-status.c:753 msgid "Submodules changed but not updated:" msgstr "Подмодулите са променени, но не са обновени:" -#: wt-status.c:763 +#: wt-status.c:755 msgid "Submodule changes to be committed:" msgstr "Промени в подмодулите за подаване:" -#: wt-status.c:842 +#: wt-status.c:835 msgid "" "Do not touch the line above.\n" "Everything below will be removed." @@ -1865,193 +1873,193 @@ msgstr "" "Не променяйте горния ред.\n" "Всичко отдолу ще бъде изтрито." -#: wt-status.c:933 +#: wt-status.c:946 msgid "You have unmerged paths." msgstr "Някои пътища не са слети." -#: wt-status.c:936 +#: wt-status.c:949 msgid " (fix conflicts and run \"git commit\")" msgstr " (коригирайте конфликтите и изпълнете „git commit“)" -#: wt-status.c:939 +#: wt-status.c:952 msgid "All conflicts fixed but you are still merging." msgstr "Всички конфликти са решени, но продължавате сливането." -#: wt-status.c:942 +#: wt-status.c:955 msgid " (use \"git commit\" to conclude merge)" msgstr " (използвайте „git commit“, за да завършите сливането)" -#: wt-status.c:952 +#: wt-status.c:965 msgid "You are in the middle of an am session." msgstr "В момента прилагате поредица от кръпки чрез „git am“." -#: wt-status.c:955 +#: wt-status.c:968 msgid "The current patch is empty." msgstr "Текущата кръпка е празна." -#: wt-status.c:959 +#: wt-status.c:972 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (коригирайте конфликтите и изпълнете „git am --continue“)" -#: wt-status.c:961 +#: wt-status.c:974 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (използвайте „git am --skip“, за да пропуснете тази кръпка)" -#: wt-status.c:963 +#: wt-status.c:976 msgid " (use \"git am --abort\" to restore the original branch)" msgstr "" " (използвайте „git am --abort“, за да възстановите първоначалния клон)" -#: wt-status.c:1023 wt-status.c:1040 +#: wt-status.c:1036 wt-status.c:1053 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "В момента пребазирате клона „%s“ върху „%s“." -#: wt-status.c:1028 wt-status.c:1045 +#: wt-status.c:1041 wt-status.c:1058 msgid "You are currently rebasing." msgstr "В момента пребазирате." -#: wt-status.c:1031 +#: wt-status.c:1044 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (коригирайте конфликтите и използвайте „git rebase --continue“)" -#: wt-status.c:1033 +#: wt-status.c:1046 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (използвайте „git rebase --skip“, за да пропуснете тази кръпка)" -#: wt-status.c:1035 +#: wt-status.c:1048 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" " (използвайте „git rebase --abort“, за да възстановите първоначалния клон)" -#: wt-status.c:1048 +#: wt-status.c:1061 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (всички конфликти са коригирани: изпълнете „git rebase --continue“)" -#: wt-status.c:1052 +#: wt-status.c:1065 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "В момента разделяте подаване докато пребазирате клона „%s“ върху „%s“." -#: wt-status.c:1057 +#: wt-status.c:1070 msgid "You are currently splitting a commit during a rebase." msgstr "В момента разделяте подаване докато пребазирате." -#: wt-status.c:1060 +#: wt-status.c:1073 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (След като работното ви дърво стане чисто, използвайте „git rebase --" "continue“)" -#: wt-status.c:1064 +#: wt-status.c:1077 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "В момента редактирате подаване докато пребазирате клона „%s“ върху „%s“." -#: wt-status.c:1069 +#: wt-status.c:1082 msgid "You are currently editing a commit during a rebase." msgstr "В момента редактирате подаване докато пребазирате." -#: wt-status.c:1072 +#: wt-status.c:1085 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" " (използвайте „git commit --amend“, за да редактирате текущото подаване)" -#: wt-status.c:1074 +#: wt-status.c:1087 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (използвайте „git rebase --continue“, след като завършите промените си)" -#: wt-status.c:1084 +#: wt-status.c:1097 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "В момента отбирате подаването „%s“." -#: wt-status.c:1089 +#: wt-status.c:1102 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (коригирайте конфликтите и изпълнете „git cherry-pick --continue“)" -#: wt-status.c:1092 +#: wt-status.c:1105 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (всички конфликти са коригирани, изпълнете „git cherry-pick --continue“)" -#: wt-status.c:1094 +#: wt-status.c:1107 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (използвайте „git cherry-pick --abort“, за да отмените всички действия с " "отбиране)" -#: wt-status.c:1103 +#: wt-status.c:1116 #, c-format msgid "You are currently reverting commit %s." msgstr "В момента отменяте подаване „%s“." -#: wt-status.c:1108 +#: wt-status.c:1121 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (коригирайте конфликтите и изпълнете „git revert --continue“)" -#: wt-status.c:1111 +#: wt-status.c:1124 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (всички конфликти са коригирани, изпълнете „git revert --continue“)" -#: wt-status.c:1113 +#: wt-status.c:1126 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr "" " (използвайте „git revert --abort“, за да преустановите отмяната на " "подаване)" -#: wt-status.c:1124 +#: wt-status.c:1137 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "В момента търсите двоично, като сте стартирали от клон „%s“." -#: wt-status.c:1128 +#: wt-status.c:1141 msgid "You are currently bisecting." msgstr "В момента търсите двоично." -#: wt-status.c:1131 +#: wt-status.c:1144 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" " (използвайте „git bisect reset“, за да се върнете към първоначалното " "състояние и клон)" -#: wt-status.c:1306 +#: wt-status.c:1321 msgid "On branch " msgstr "На клон " -#: wt-status.c:1313 +#: wt-status.c:1328 msgid "rebase in progress; onto " msgstr "извършвате пребазиране върху " -#: wt-status.c:1320 +#: wt-status.c:1333 msgid "HEAD detached at " -msgstr "Указателят „HEAD“ не е свързан и е при подаване " +msgstr "Указателят „HEAD“ не е свързан и е при " -#: wt-status.c:1322 +#: wt-status.c:1335 msgid "HEAD detached from " msgstr "Указателят „HEAD“ не е свързан и е отделѐн от " -#: wt-status.c:1325 +#: wt-status.c:1338 msgid "Not currently on any branch." msgstr "Извън всички клони." -#: wt-status.c:1342 +#: wt-status.c:1355 msgid "Initial commit" msgstr "Първоначално подаване" -#: wt-status.c:1356 +#: wt-status.c:1369 msgid "Untracked files" msgstr "Неследени файлове" -#: wt-status.c:1358 +#: wt-status.c:1371 msgid "Ignored files" msgstr "Игнорирани файлове" -#: wt-status.c:1362 +#: wt-status.c:1375 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -2063,32 +2071,32 @@ msgstr "" "изпълнението, но не трябва да забравяте ръчно да добавяте новите файлове.\n" "За повече подробности погледнете „git status help“." -#: wt-status.c:1368 +#: wt-status.c:1381 #, c-format msgid "Untracked files not listed%s" msgstr "Неследените файлове не са изведени%s" -#: wt-status.c:1370 +#: wt-status.c:1383 msgid " (use -u option to show untracked files)" msgstr " (използвайте опцията „-u“, за да изведете неследените файлове)" -#: wt-status.c:1376 +#: wt-status.c:1389 msgid "No changes" msgstr "Няма промени" -#: wt-status.c:1381 +#: wt-status.c:1394 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "към индекса за подаване не са добавени промени (използвайте „git add“ и/или " "„git commit -a“)\n" -#: wt-status.c:1384 +#: wt-status.c:1397 #, c-format msgid "no changes added to commit\n" msgstr "към индекса за подаване не са добавени промени\n" -#: wt-status.c:1387 +#: wt-status.c:1400 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -2097,58 +2105,58 @@ msgstr "" "към индекса за подаване не са добавени промени, но има нови файлове " "(използвайте „git add“, за да започне тяхното следене)\n" -#: wt-status.c:1390 +#: wt-status.c:1403 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "към индекса за подаване не са добавени промени, но има нови файлове\n" -#: wt-status.c:1393 +#: wt-status.c:1406 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "липсват каквито и да е промени (създайте или копирайте файлове и използвайте " "„git add“, за да започне тяхното следене)\n" -#: wt-status.c:1396 wt-status.c:1401 +#: wt-status.c:1409 wt-status.c:1414 #, c-format msgid "nothing to commit\n" msgstr "липсват каквито и да е промени\n" -#: wt-status.c:1399 +#: wt-status.c:1412 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "липсват каквито и да е промени (използвайте опцията „-u“, за да се изведат и " "неследените файлове)\n" -#: wt-status.c:1403 +#: wt-status.c:1416 #, c-format msgid "nothing to commit, working directory clean\n" msgstr "липсват каквито и да е промени, работното дърво е чисто\n" -#: wt-status.c:1512 +#: wt-status.c:1525 msgid "HEAD (no branch)" msgstr "HEAD (извън клон)" -#: wt-status.c:1518 +#: wt-status.c:1531 msgid "Initial commit on " msgstr "Първоначално подаване на клон" -#: wt-status.c:1550 +#: wt-status.c:1563 msgid "gone" msgstr "изтрит" -#: wt-status.c:1552 wt-status.c:1560 +#: wt-status.c:1565 wt-status.c:1573 msgid "behind " msgstr "назад с " -#: compat/precompose_utf8.c:55 builtin/clone.c:357 +#: compat/precompose_utf8.c:55 builtin/clone.c:360 #, c-format msgid "failed to unlink '%s'" msgstr "неуспешно изтриване на „%s“" #: builtin/add.c:22 -msgid "git add [options] [--] ..." +msgid "git add [] [--] ..." msgstr "git add [ОПЦИЯ…] [--] ПЪТ…" #: builtin/add.c:65 @@ -2156,7 +2164,7 @@ msgstr "git add [ОПЦИЯ…] [--] ПЪТ…" msgid "unexpected diff status %c" msgstr "неочакван изходен код при генериране на разлика: %c" -#: builtin/add.c:70 builtin/commit.c:275 +#: builtin/add.c:70 builtin/commit.c:277 msgid "updating files failed" msgstr "неуспешно обновяване на файловете" @@ -2201,14 +2209,14 @@ msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Следните пътища ще бъдат игнорирани според някой от файловете „.gitignore“:\n" -#: builtin/add.c:248 builtin/clean.c:875 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/push.c:499 builtin/remote.c:1375 +#: builtin/add.c:248 builtin/clean.c:876 builtin/fetch.c:107 builtin/mv.c:110 +#: builtin/prune-packed.c:55 builtin/push.c:508 builtin/remote.c:1372 #: builtin/rm.c:269 msgid "dry run" msgstr "пробно изпълнeние" -#: builtin/add.c:249 builtin/apply.c:4415 builtin/check-ignore.c:19 -#: builtin/commit.c:1362 builtin/count-objects.c:63 builtin/fsck.c:608 +#: builtin/add.c:249 builtin/apply.c:4577 builtin/check-ignore.c:19 +#: builtin/commit.c:1322 builtin/count-objects.c:63 builtin/fsck.c:608 #: builtin/log.c:1617 builtin/mv.c:109 builtin/read-tree.c:114 msgid "be verbose" msgstr "повече подробности" @@ -2217,7 +2225,7 @@ msgstr "повече подробности" msgid "interactive picking" msgstr "интерактивно отбиране на промени" -#: builtin/add.c:252 builtin/checkout.c:1108 builtin/reset.c:286 +#: builtin/add.c:252 builtin/checkout.c:1126 builtin/reset.c:286 msgid "select hunks interactively" msgstr "интерактивен избор на парчета код" @@ -2267,10 +2275,6 @@ msgstr "" msgid "Use -f if you really want to add them.\n" msgstr "Използвайте опцията „-f“, за да ги добавите наистина.\n" -#: builtin/add.c:287 -msgid "no files added" -msgstr "не са добавени файлове" - #: builtin/add.c:293 msgid "adding files failed" msgstr "неуспешно добавяне на файлове" @@ -2293,83 +2297,83 @@ msgstr "Нищо не е зададено и нищо не е добавено.\ msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Вероятно искахте да използвате „git add .“?\n" -#: builtin/add.c:363 builtin/check-ignore.c:172 builtin/clean.c:919 -#: builtin/commit.c:333 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:299 +#: builtin/add.c:363 builtin/check-ignore.c:172 builtin/clean.c:920 +#: builtin/commit.c:335 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:299 msgid "index file corrupt" msgstr "файлът с индекса е повреден" -#: builtin/add.c:446 builtin/apply.c:4510 builtin/mv.c:279 builtin/rm.c:431 +#: builtin/add.c:446 builtin/apply.c:4675 builtin/mv.c:279 builtin/rm.c:431 msgid "Unable to write new index file" msgstr "Новият индекс не може да бъде записан" -#: builtin/apply.c:58 -msgid "git apply [options] [...]" +#: builtin/apply.c:59 +msgid "git apply [] [...]" msgstr "git apply [ОПЦИЯ…] [КРЪПКА…]" -#: builtin/apply.c:111 +#: builtin/apply.c:112 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "непозната опция за знаците за интервали „%s“" -#: builtin/apply.c:126 +#: builtin/apply.c:127 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "непозната опция за игнориране на знаците за интервали „%s“" -#: builtin/apply.c:826 +#: builtin/apply.c:822 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "Регулярният израз за времето „%s“ не може за бъде компилиран" -#: builtin/apply.c:835 +#: builtin/apply.c:831 #, c-format msgid "regexec returned %d for input: %s" msgstr "Регулярният израз върна %d при подадена последователност „%s“ на входа" -#: builtin/apply.c:916 +#: builtin/apply.c:912 #, c-format msgid "unable to find filename in patch at line %d" msgstr "Липсва име на файл на ред %d от кръпката" -#: builtin/apply.c:948 +#: builtin/apply.c:944 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %2$d се очакваше „/dev/" "null“, а бе получен „%1$s“" -#: builtin/apply.c:952 +#: builtin/apply.c:948 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %d бе получено " "неправилно име на нов файл" -#: builtin/apply.c:953 +#: builtin/apply.c:949 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %d бе получено " "неправилно име на стар файл" -#: builtin/apply.c:960 +#: builtin/apply.c:956 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "" "git apply: лош изход от командата „git-diff“ — на ред %d се очакваше „/dev/" "null“" -#: builtin/apply.c:1423 +#: builtin/apply.c:1419 #, c-format msgid "recount: unexpected line: %.*s" msgstr "при повторното преброяване бе получен неочакван ред: „%.*s“" -#: builtin/apply.c:1480 +#: builtin/apply.c:1476 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "част от кръпка без заглавна част на ред %d: %.*s" -#: builtin/apply.c:1497 +#: builtin/apply.c:1493 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -2384,66 +2388,66 @@ msgstr[1] "" "След съкращаването на първите %d части от компонентите на пътя, в заглавната " "част на „git diff“ липсва информация за име на файл (ред: %d)" -#: builtin/apply.c:1657 +#: builtin/apply.c:1656 msgid "new file depends on old contents" msgstr "новият файл зависи от старото съдържание на файла" -#: builtin/apply.c:1659 +#: builtin/apply.c:1658 msgid "deleted file still has contents" msgstr "изтритият файл не е празен" -#: builtin/apply.c:1685 +#: builtin/apply.c:1684 #, c-format msgid "corrupt patch at line %d" msgstr "грешка в кръпката на ред %d" -#: builtin/apply.c:1721 +#: builtin/apply.c:1720 #, c-format msgid "new file %s depends on old contents" msgstr "новият файл „%s“ зависи от старото съдържание на файла" -#: builtin/apply.c:1723 +#: builtin/apply.c:1722 #, c-format msgid "deleted file %s still has contents" msgstr "изтритият файл „%s“ не е празен" # FIXME - double **?? -#: builtin/apply.c:1726 +#: builtin/apply.c:1725 #, c-format msgid "** warning: file %s becomes empty but is not deleted" msgstr "●● предупреждение: файлът „%s“ вече е празен, но не е изтрит" -#: builtin/apply.c:1872 +#: builtin/apply.c:1871 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "грешка в двоичната кръпка на ред %d: %.*s" -#: builtin/apply.c:1901 +#: builtin/apply.c:1900 #, c-format msgid "unrecognized binary patch at line %d" msgstr "неразпозната двоичната кръпка на ред %d" -#: builtin/apply.c:2052 +#: builtin/apply.c:2051 #, c-format msgid "patch with only garbage at line %d" msgstr "кръпката е с изцяло повредени данни на ред %d" -#: builtin/apply.c:2142 +#: builtin/apply.c:2141 #, c-format msgid "unable to read symlink %s" msgstr "символната връзка „%s“ не може да бъде прочетена" -#: builtin/apply.c:2146 +#: builtin/apply.c:2145 #, c-format msgid "unable to open or read %s" msgstr "файлът „%s“ не може да бъде отворен или прочетен" -#: builtin/apply.c:2754 +#: builtin/apply.c:2778 #, c-format msgid "invalid start of line: '%c'" msgstr "неправилно начало на ред: „%c“" -#: builtin/apply.c:2872 +#: builtin/apply.c:2897 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." @@ -2452,13 +2456,13 @@ msgstr[0] "" msgstr[1] "" "%d-то парче код бе успешно приложено на ред %d (отместване от %d реда)." -#: builtin/apply.c:2884 +#: builtin/apply.c:2909 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "" "Контекстът е намален на (%ld/%ld) за прилагането на парчето код на ред %d" -#: builtin/apply.c:2890 +#: builtin/apply.c:2915 #, c-format msgid "" "while searching for:\n" @@ -2467,326 +2471,345 @@ msgstr "" "при търсене за:\n" "%.*s" -#: builtin/apply.c:2909 +#: builtin/apply.c:2935 #, c-format msgid "missing binary patch data for '%s'" msgstr "липсват данните за двоичната кръпка за „%s“" -#: builtin/apply.c:3010 +#: builtin/apply.c:3036 #, c-format msgid "binary patch does not apply to '%s'" msgstr "двоичната кръпка не може да бъде приложена върху „%s“" -#: builtin/apply.c:3016 +#: builtin/apply.c:3042 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "двоичната кръпка за „%s“ води до неправилни резултати (очакваше се SHA1: " "„%s“, а бе получено: „%s“)" -#: builtin/apply.c:3037 +#: builtin/apply.c:3063 #, c-format msgid "patch failed: %s:%ld" msgstr "неуспешно прилагане на кръпка: „%s:%ld“" -#: builtin/apply.c:3161 +#: builtin/apply.c:3187 #, c-format msgid "cannot checkout %s" msgstr "„%s“ не може да се изтегли" -#: builtin/apply.c:3206 builtin/apply.c:3215 builtin/apply.c:3260 +#: builtin/apply.c:3232 builtin/apply.c:3243 builtin/apply.c:3288 #, c-format msgid "read of %s failed" msgstr "неуспешно прочитане на „%s“" -#: builtin/apply.c:3240 builtin/apply.c:3462 +#: builtin/apply.c:3240 +#, c-format +msgid "reading from '%s' beyond a symbolic link" +msgstr "изчитане на „%s“ след проследяване на символна връзка" + +#: builtin/apply.c:3268 builtin/apply.c:3490 #, c-format msgid "path %s has been renamed/deleted" msgstr "обектът с път „%s“ е преименуван или изтрит" -#: builtin/apply.c:3321 builtin/apply.c:3476 +#: builtin/apply.c:3349 builtin/apply.c:3504 #, c-format msgid "%s: does not exist in index" msgstr "„%s“ не съществува в индекса" -#: builtin/apply.c:3325 builtin/apply.c:3468 builtin/apply.c:3490 +#: builtin/apply.c:3353 builtin/apply.c:3496 builtin/apply.c:3518 #, c-format msgid "%s: %s" msgstr "„%s“: %s" -#: builtin/apply.c:3330 builtin/apply.c:3484 +#: builtin/apply.c:3358 builtin/apply.c:3512 #, c-format msgid "%s: does not match index" msgstr "„%s“ не съответства на индекса" -#: builtin/apply.c:3432 +#: builtin/apply.c:3460 msgid "removal patch leaves file contents" msgstr "изтриващата кръпка оставя файла непразен" -#: builtin/apply.c:3501 +#: builtin/apply.c:3529 #, c-format msgid "%s: wrong type" msgstr "„%s“: неправилен вид" -#: builtin/apply.c:3503 +#: builtin/apply.c:3531 #, c-format msgid "%s has type %o, expected %o" msgstr "„%s“ е от вид „%o“, а се очакваше „%o“" -#: builtin/apply.c:3604 +#: builtin/apply.c:3690 builtin/apply.c:3692 +#, c-format +msgid "invalid path '%s'" +msgstr "неправилен път: „%s“" + +#: builtin/apply.c:3747 #, c-format msgid "%s: already exists in index" msgstr "„%s“: вече съществува в индекса" -#: builtin/apply.c:3607 +#: builtin/apply.c:3750 #, c-format msgid "%s: already exists in working directory" msgstr "„%s“: вече съществува в работната директория" -#: builtin/apply.c:3627 +#: builtin/apply.c:3770 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "новите права за достъп (%o) на „%s“ не съвпадат със старите (%o)" -#: builtin/apply.c:3632 +#: builtin/apply.c:3775 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "" "новите права за достъп (%o) на „%s“ не съвпадат със старите (%o) на „%s“" -#: builtin/apply.c:3640 +#: builtin/apply.c:3795 +#, c-format +msgid "affected file '%s' is beyond a symbolic link" +msgstr "засегнатият файл „%s“ е след символна връзка" + +#: builtin/apply.c:3799 #, c-format msgid "%s: patch does not apply" msgstr "Кръпката „%s“ не може да бъде приложена" -#: builtin/apply.c:3653 +#: builtin/apply.c:3813 #, c-format msgid "Checking patch %s..." msgstr "Проверяване на кръпката „%s“…" -#: builtin/apply.c:3746 builtin/checkout.c:213 builtin/reset.c:135 +#: builtin/apply.c:3906 builtin/checkout.c:231 builtin/reset.c:135 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "неуспешно създаване на запис в кеша чрез „make_cache_entry“ за „%s“" -#: builtin/apply.c:3889 +#: builtin/apply.c:4049 #, c-format msgid "unable to remove %s from index" msgstr "„%s“ не може да се извади от индекса" -#: builtin/apply.c:3918 +#: builtin/apply.c:4078 #, c-format msgid "corrupt patch for submodule %s" msgstr "повредена кръпка за модула „%s“" -#: builtin/apply.c:3922 +#: builtin/apply.c:4082 #, c-format msgid "unable to stat newly created file '%s'" msgstr "" "не може да се получи информация чрез „stat“ за новосъздадения файл „%s“" -#: builtin/apply.c:3927 +#: builtin/apply.c:4087 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "" "не може да се за създаде мястото за съхранение на новосъздадения файл „%s“" -#: builtin/apply.c:3930 builtin/apply.c:4038 +#: builtin/apply.c:4090 builtin/apply.c:4198 #, c-format msgid "unable to add cache entry for %s" msgstr "не може да се добави запис в кеша за „%s“" -#: builtin/apply.c:3963 +#: builtin/apply.c:4123 #, c-format msgid "closing file '%s'" msgstr "затваряне на файла „%s“" -#: builtin/apply.c:4012 +#: builtin/apply.c:4172 #, c-format msgid "unable to write file '%s' mode %o" msgstr "файлът „%s“ не може да се запише с режим на достъп „%o“" -#: builtin/apply.c:4099 +#: builtin/apply.c:4259 #, c-format msgid "Applied patch %s cleanly." msgstr "Кръпката „%s“ бе приложена чисто." -#: builtin/apply.c:4107 +#: builtin/apply.c:4267 msgid "internal error" msgstr "вътрешна грешка" -#: builtin/apply.c:4110 +#: builtin/apply.c:4270 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." msgstr[0] "Прилагане на кръпката „%%s“ с %d отхвърлено парче…" msgstr[1] "Прилагане на кръпката „%%s“ с %d отхвърлени парчета…" -#: builtin/apply.c:4120 +#: builtin/apply.c:4280 #, c-format msgid "truncating .rej filename to %.*s.rej" msgstr "съкращаване на името на файла с отхвърлените парчета на „ %.*s.rej“" -#: builtin/apply.c:4141 +#: builtin/apply.c:4301 #, c-format msgid "Hunk #%d applied cleanly." msgstr "%d-то парче бе успешно приложено." -#: builtin/apply.c:4144 +#: builtin/apply.c:4304 #, c-format msgid "Rejected hunk #%d." msgstr "%d-то парче бе отхвърлено." -#: builtin/apply.c:4234 +#: builtin/apply.c:4394 msgid "unrecognized input" msgstr "непознат вход" -#: builtin/apply.c:4245 +#: builtin/apply.c:4405 msgid "unable to read index file" msgstr "индексът не може да бъде записан" -#: builtin/apply.c:4362 builtin/apply.c:4365 builtin/clone.c:91 -#: builtin/fetch.c:93 +#: builtin/apply.c:4522 builtin/apply.c:4525 builtin/clone.c:92 +#: builtin/fetch.c:92 msgid "path" msgstr "път" -#: builtin/apply.c:4363 +#: builtin/apply.c:4523 msgid "don't apply changes matching the given path" msgstr "без прилагане на промените напасващи на дадения път" -#: builtin/apply.c:4366 +#: builtin/apply.c:4526 msgid "apply changes matching the given path" msgstr "прилагане на промените напасващи на дадения път" -#: builtin/apply.c:4368 +#: builtin/apply.c:4528 msgid "num" msgstr "БРОЙ" -#: builtin/apply.c:4369 +#: builtin/apply.c:4529 msgid "remove leading slashes from traditional diff paths" msgstr "премахване на този БРОЙ водещи елементи от пътищата в разликата" -#: builtin/apply.c:4372 +#: builtin/apply.c:4532 msgid "ignore additions made by the patch" msgstr "игнориране на редовете добавени от тази кръпка" -#: builtin/apply.c:4374 +#: builtin/apply.c:4534 msgid "instead of applying the patch, output diffstat for the input" msgstr "извеждане на статистика на промените без прилагане на кръпката" -#: builtin/apply.c:4378 +#: builtin/apply.c:4538 msgid "show number of added and deleted lines in decimal notation" msgstr "извеждане на броя на добавените и изтритите редове" -#: builtin/apply.c:4380 +#: builtin/apply.c:4540 msgid "instead of applying the patch, output a summary for the input" msgstr "извеждане на статистика на входните данни без прилагане на кръпката" -#: builtin/apply.c:4382 +#: builtin/apply.c:4542 msgid "instead of applying the patch, see if the patch is applicable" msgstr "проверка дали кръпката може да се приложи, без действително прилагане" -#: builtin/apply.c:4384 +#: builtin/apply.c:4544 msgid "make sure the patch is applicable to the current index" msgstr "проверка дали кръпката може да бъде приложена към текущия индекс" -#: builtin/apply.c:4386 +#: builtin/apply.c:4546 msgid "apply a patch without touching the working tree" msgstr "прилагане на кръпката без промяна на работното дърво" -#: builtin/apply.c:4388 +#: builtin/apply.c:4548 +msgid "accept a patch that touches outside the working area" +msgstr "прилагане на кръпка, която променя и файлове извън работното дърво" + +#: builtin/apply.c:4550 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "" "кръпката да бъде приложена. Опцията се комбинира с „--check“/„--stat“/„--" "summary“" -#: builtin/apply.c:4390 +#: builtin/apply.c:4552 msgid "attempt three-way merge if a patch does not apply" msgstr "пробване с тройно сливане, ако кръпката не може да се приложи директно" -#: builtin/apply.c:4392 +#: builtin/apply.c:4554 msgid "build a temporary index based on embedded index information" msgstr "" "създаване на временен индекс на база на включената информация за индекса" -#: builtin/apply.c:4394 builtin/checkout-index.c:198 builtin/ls-files.c:455 +#: builtin/apply.c:4556 builtin/checkout-index.c:198 builtin/ls-files.c:412 msgid "paths are separated with NUL character" msgstr "разделяне на пътищата с нулевия знак „NUL“" -#: builtin/apply.c:4397 +#: builtin/apply.c:4559 msgid "ensure at least lines of context match" msgstr "да се осигури контекст от поне такъв БРОЙ съвпадащи редове" -#: builtin/apply.c:4398 +#: builtin/apply.c:4560 msgid "action" msgstr "действие" -#: builtin/apply.c:4399 +#: builtin/apply.c:4561 msgid "detect new or modified lines that have whitespace errors" msgstr "засичане на нови или променени редове с грешки в знаците за интервали" -#: builtin/apply.c:4402 builtin/apply.c:4405 +#: builtin/apply.c:4564 builtin/apply.c:4567 msgid "ignore changes in whitespace when finding context" msgstr "" "игнориране на промените в знаците за интервали при откриване на контекста" -#: builtin/apply.c:4408 +#: builtin/apply.c:4570 msgid "apply the patch in reverse" msgstr "прилагане на кръпката в обратна посока" -#: builtin/apply.c:4410 +#: builtin/apply.c:4572 msgid "don't expect at least one line of context" msgstr "без изискване на дори и един ред контекст" -#: builtin/apply.c:4412 +#: builtin/apply.c:4574 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "оставяне на отхвърлените парчета във файлове с разширение „.rej“" -#: builtin/apply.c:4414 +#: builtin/apply.c:4576 msgid "allow overlapping hunks" msgstr "позволяване на застъпващи се парчета" -#: builtin/apply.c:4417 +#: builtin/apply.c:4579 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "пренебрегване на неправилно липсващ знак за нов ред в края на файл" -#: builtin/apply.c:4420 +#: builtin/apply.c:4582 msgid "do not trust the line counts in the hunk headers" msgstr "без доверяване на номерата на редовете в заглавните части на парчетата" -#: builtin/apply.c:4422 +#: builtin/apply.c:4584 msgid "root" msgstr "НАЧАЛНА_ДИРЕКТОРИЯ" -#: builtin/apply.c:4423 +#: builtin/apply.c:4585 msgid "prepend to all filenames" msgstr "добавяне на тази НАЧАЛНА_ДИРЕКТОРИЯ към имената на всички файлове" -#: builtin/apply.c:4445 +#: builtin/apply.c:4607 msgid "--3way outside a repository" msgstr "като „--3way“, но извън хранилище" -#: builtin/apply.c:4453 +#: builtin/apply.c:4615 msgid "--index outside a repository" msgstr "като „--index“, но извън хранилище" -#: builtin/apply.c:4456 +#: builtin/apply.c:4618 msgid "--cached outside a repository" msgstr "като „--cached“, но извън хранилище" -#: builtin/apply.c:4472 +#: builtin/apply.c:4637 #, c-format msgid "can't open patch '%s'" msgstr "кръпката „%s“ не може да бъде отворена" -#: builtin/apply.c:4486 +#: builtin/apply.c:4651 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "пренебрегната е %d грешка в знаците за интервали" msgstr[1] "пренебрегнати са %d грешки в знаците за интервали" -#: builtin/apply.c:4492 builtin/apply.c:4502 +#: builtin/apply.c:4657 builtin/apply.c:4667 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -2842,119 +2865,119 @@ msgstr "" "обновяване на указателя „BISECT_HEAD“ вместо да се използва текущото подаване" #: builtin/blame.c:30 -msgid "git blame [options] [rev-opts] [rev] [--] file" -msgstr "git blame [ОПЦИЯ…] [ОПЦИИ_ЗА_ВЕРСИЯТА] [ВЕРСИЯ] [--] ФАЙЛ" +msgid "git blame [] [] [] [--] file" +msgstr "git blame [ОПЦИЯ…] [ОПЦИЯ_ЗА_ВЕРСИЯТА…] [ВЕРСИЯ] [--] ФАЙЛ" #: builtin/blame.c:35 -msgid "[rev-opts] are documented in git-rev-list(1)" +msgid " are documented in git-rev-list(1)" msgstr "ОПЦИИте_ЗА_ВЕРСИЯТА са документирани в ръководството git-rev-list(1)" -#: builtin/blame.c:2501 +#: builtin/blame.c:2500 msgid "Show blame entries as we find them, incrementally" msgstr "Извеждане на анотациите с намирането им, последователно" # FIXME SHA-1 -> SHA1 -#: builtin/blame.c:2502 +#: builtin/blame.c:2501 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" "Извеждане на празни суми по SHA1 за граничните подавания (стандартно опцията " "е изключена)" -#: builtin/blame.c:2503 +#: builtin/blame.c:2502 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" "Началните подавания да не се считат за гранични (стандартно опцията е " "изключена)" -#: builtin/blame.c:2504 +#: builtin/blame.c:2503 msgid "Show work cost statistics" msgstr "Извеждане на статистика за извършените действия" -#: builtin/blame.c:2505 +#: builtin/blame.c:2504 msgid "Show output score for blame entries" msgstr "Извеждане на допълнителна информация за определянето на анотациите" -#: builtin/blame.c:2506 +#: builtin/blame.c:2505 msgid "Show original filename (Default: auto)" msgstr "" "Извеждане на първоначалното име на файл (стандартно това е автоматично)" -#: builtin/blame.c:2507 +#: builtin/blame.c:2506 msgid "Show original linenumber (Default: off)" msgstr "" "Извеждане на първоначалният номер на ред (стандартно опцията е изключена)" -#: builtin/blame.c:2508 +#: builtin/blame.c:2507 msgid "Show in a format designed for machine consumption" msgstr "Извеждане във формат за по-нататъшна обработка" -#: builtin/blame.c:2509 +#: builtin/blame.c:2508 msgid "Show porcelain format with per-line commit information" msgstr "" "Извеждане във формат за команди от потребителско ниво с информация на всеки " "ред" -#: builtin/blame.c:2510 +#: builtin/blame.c:2509 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" "Използване на същия формат като „git-annotate“ (стандартно опцията е " "изключена)" -#: builtin/blame.c:2511 +#: builtin/blame.c:2510 msgid "Show raw timestamp (Default: off)" msgstr "Извеждане на неформатирани времена (стандартно опцията е изключена)" -#: builtin/blame.c:2512 +#: builtin/blame.c:2511 msgid "Show long commit SHA1 (Default: off)" msgstr "Извеждане на пълните суми по SHA1 (стандартно опцията е изключена)" -#: builtin/blame.c:2513 +#: builtin/blame.c:2512 msgid "Suppress author name and timestamp (Default: off)" msgstr "Без име на автор и време на промяна (стандартно опцията е изключена)" -#: builtin/blame.c:2514 +#: builtin/blame.c:2513 msgid "Show author email instead of name (Default: off)" msgstr "" "Извеждане на е-пощата на автора, а не името му (стандартно опцията е " "изключена)" -#: builtin/blame.c:2515 +#: builtin/blame.c:2514 msgid "Ignore whitespace differences" msgstr "Без разлики в знаците за интервали" -#: builtin/blame.c:2516 +#: builtin/blame.c:2515 msgid "Spend extra cycles to find better match" msgstr "Допълнителни изчисления за по-добри резултати" -#: builtin/blame.c:2517 +#: builtin/blame.c:2516 msgid "Use revisions from instead of calling git-rev-list" msgstr "Изчитане на версиите от ФАЙЛ, а не чрез изпълнение на „git-rev-list“" -#: builtin/blame.c:2518 +#: builtin/blame.c:2517 msgid "Use 's contents as the final image" msgstr "Използване на съдържанието на ФАЙЛа като крайно положение" -#: builtin/blame.c:2519 builtin/blame.c:2520 +#: builtin/blame.c:2518 builtin/blame.c:2519 msgid "score" msgstr "напасване на редовете" -#: builtin/blame.c:2519 +#: builtin/blame.c:2518 msgid "Find line copies within and across files" msgstr "" "Търсене на копирани редове както в рамките на един файл, така и от един файл " "към друг" -#: builtin/blame.c:2520 +#: builtin/blame.c:2519 msgid "Find line movements within and across files" msgstr "" "Търсене на преместени редове както в рамките на един файл, така и от един " "файл към друг" -#: builtin/blame.c:2521 +#: builtin/blame.c:2520 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2521 +#: builtin/blame.c:2520 msgid "Process only line range n,m, counting from 1" msgstr "" "Информация само за редовете в интервала от n до m включително. Броенето " @@ -2966,24 +2989,24 @@ msgstr "" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2602 +#: builtin/blame.c:2601 msgid "4 years, 11 months ago" msgstr "преди 4 години и 11 месеца" #: builtin/branch.c:24 -msgid "git branch [options] [-r | -a] [--merged | --no-merged]" +msgid "git branch [] [-r | -a] [--merged | --no-merged]" msgstr "git branch [ОПЦИЯ…] [-r | -a] [--merged | --no-merged]" #: builtin/branch.c:25 -msgid "git branch [options] [-l] [-f] []" +msgid "git branch [] [-l] [-f] []" msgstr "git branch [ОПЦИЯ…] [-l] [-f] ИМЕ_НА_КЛОН [НАЧАЛО]" #: builtin/branch.c:26 -msgid "git branch [options] [-r] (-d | -D) ..." +msgid "git branch [] [-r] (-d | -D) ..." msgstr "git branch [ОПЦИЯ…] [-r] (-d | -D) ИМЕ_НА_КЛОН…" #: builtin/branch.c:27 -msgid "git branch [options] (-m | -M) [] " +msgid "git branch [] (-m | -M) [] " msgstr "git branch [ОПЦИЯ…] (-m | -M) [СТАР_КЛОН] НОВ_КЛОН" #: builtin/branch.c:152 @@ -3125,198 +3148,203 @@ msgstr "(извън клон, пребазиране на „%s“)" msgid "(no branch, bisect started on %s)" msgstr "(извън клон, двоично търсене от „%s“)" -#: builtin/branch.c:593 +#: builtin/branch.c:596 #, c-format -msgid "(detached from %s)" -msgstr "(състояние, несвързано към „%s“)" +msgid "(HEAD detached at %s)" +msgstr "(Указателят „HEAD“ не е свързан и е при „%s“)" -#: builtin/branch.c:596 +#: builtin/branch.c:599 +#, c-format +msgid "(HEAD detached from %s)" +msgstr "Указателят „HEAD“ не е свързан и е отделѐн от „%s“" + +#: builtin/branch.c:603 msgid "(no branch)" msgstr "(извън клон)" -#: builtin/branch.c:643 +#: builtin/branch.c:650 #, c-format msgid "object '%s' does not point to a commit" msgstr "обектът „%s“ не сочи към подаване" -#: builtin/branch.c:691 +#: builtin/branch.c:698 msgid "some refs could not be read" msgstr "някои указатели не могат да бъдат прочетени" -#: builtin/branch.c:704 +#: builtin/branch.c:711 msgid "cannot rename the current branch while not on any." msgstr "" "не можете да преименувате текущия клон, защото сте извън който и да е клон" -#: builtin/branch.c:714 +#: builtin/branch.c:721 #, c-format msgid "Invalid branch name: '%s'" msgstr "Неправилно име на клон: „%s“" -#: builtin/branch.c:729 +#: builtin/branch.c:736 msgid "Branch rename failed" msgstr "Неуспешно преименуване на клон" -#: builtin/branch.c:733 +#: builtin/branch.c:740 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "На клона с неправилно име „%s“ е дадено служебно име" -#: builtin/branch.c:737 +#: builtin/branch.c:744 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Клонът е преименуван на „%s“, но указателят „HEAD“ не е обновен" -#: builtin/branch.c:744 +#: builtin/branch.c:751 msgid "Branch is renamed, but update of config-file failed" msgstr "Клонът е преименуван, но конфигурационният файл не е обновен" -#: builtin/branch.c:759 +#: builtin/branch.c:766 #, c-format msgid "malformed object name %s" msgstr "неправилно име на обект „%s“" -#: builtin/branch.c:783 +#: builtin/branch.c:790 #, c-format msgid "could not write branch description template: %s" msgstr "шаблонът за описание на клон не бе записан: „%s“" -#: builtin/branch.c:813 +#: builtin/branch.c:820 msgid "Generic options" msgstr "Общи настройки" -#: builtin/branch.c:815 +#: builtin/branch.c:822 msgid "show hash and subject, give twice for upstream branch" msgstr "" "извеждане на хеша и темата. Повтарянето на опцията прибавя отдалечените клони" -#: builtin/branch.c:816 +#: builtin/branch.c:823 msgid "suppress informational messages" msgstr "без информационни съобщения" -#: builtin/branch.c:817 +#: builtin/branch.c:824 msgid "set up tracking mode (see git-pull(1))" msgstr "задаване на режима на следене (виж git-pull(1))" -#: builtin/branch.c:819 +#: builtin/branch.c:826 msgid "change upstream info" msgstr "смяна на следения клон" -#: builtin/branch.c:823 +#: builtin/branch.c:830 msgid "use colored output" msgstr "цветен изход" -#: builtin/branch.c:824 +#: builtin/branch.c:831 msgid "act on remote-tracking branches" msgstr "действие върху следящите клони" -#: builtin/branch.c:827 builtin/branch.c:833 builtin/branch.c:854 -#: builtin/branch.c:860 builtin/commit.c:1622 builtin/commit.c:1623 -#: builtin/commit.c:1624 builtin/commit.c:1625 builtin/tag.c:616 +#: builtin/branch.c:834 builtin/branch.c:840 builtin/branch.c:861 +#: builtin/branch.c:867 builtin/commit.c:1582 builtin/commit.c:1583 +#: builtin/commit.c:1584 builtin/commit.c:1585 builtin/tag.c:616 #: builtin/tag.c:622 msgid "commit" msgstr "подаване" -#: builtin/branch.c:828 builtin/branch.c:834 +#: builtin/branch.c:835 builtin/branch.c:841 msgid "print only branches that contain the commit" msgstr "извеждане само на клоните, които съдържат това подаване" -#: builtin/branch.c:840 +#: builtin/branch.c:847 msgid "Specific git-branch actions:" msgstr "Специални действия на „git-branch“:" -#: builtin/branch.c:841 +#: builtin/branch.c:848 msgid "list both remote-tracking and local branches" msgstr "извеждане както на следящите, така и на локалните клони" -#: builtin/branch.c:843 +#: builtin/branch.c:850 msgid "delete fully merged branch" msgstr "изтриване на клони, които са напълно слети" -#: builtin/branch.c:844 +#: builtin/branch.c:851 msgid "delete branch (even if not merged)" msgstr "изтриване и на клони, които не са напълно слети" -#: builtin/branch.c:845 +#: builtin/branch.c:852 msgid "move/rename a branch and its reflog" msgstr "" "преместване/преименуване на клон и принадлежащият му журнал на указателите" -#: builtin/branch.c:846 +#: builtin/branch.c:853 msgid "move/rename a branch, even if target exists" msgstr "преместване/преименуване на клон, дори ако има вече клон с такова име" -#: builtin/branch.c:847 +#: builtin/branch.c:854 msgid "list branch names" msgstr "извеждане на имената на клоните" -#: builtin/branch.c:848 +#: builtin/branch.c:855 msgid "create the branch's reflog" msgstr "създаване на журнала на указателите на клона" -#: builtin/branch.c:850 +#: builtin/branch.c:857 msgid "edit the description for the branch" msgstr "редактиране на описанието на клона" -#: builtin/branch.c:851 -msgid "force creation (when already exists)" -msgstr "принудително създаване, дори ако съществува клон с такова име" +#: builtin/branch.c:858 +msgid "force creation, move/rename, deletion" +msgstr "принудително създаване, преместване, преименуване, изтриване" -#: builtin/branch.c:854 +#: builtin/branch.c:861 msgid "print only not merged branches" msgstr "извеждане само на неслетите клони" -#: builtin/branch.c:860 +#: builtin/branch.c:867 msgid "print only merged branches" msgstr "извеждане само на слетите клони" -#: builtin/branch.c:864 +#: builtin/branch.c:871 msgid "list branches in columns" msgstr "извеждане по колони" -#: builtin/branch.c:877 +#: builtin/branch.c:884 msgid "Failed to resolve HEAD as a valid ref." msgstr "Не може да се открие към какво сочи указателят „HEAD“" -#: builtin/branch.c:881 builtin/clone.c:634 +#: builtin/branch.c:888 builtin/clone.c:637 msgid "HEAD not found below refs/heads!" msgstr "В директорията „refs/heads“ липсва файл „HEAD“" -#: builtin/branch.c:903 +#: builtin/branch.c:910 msgid "--column and --verbose are incompatible" msgstr "Опциите „--column“ и „--verbose“ са несъвместими" -#: builtin/branch.c:909 builtin/branch.c:948 +#: builtin/branch.c:921 builtin/branch.c:960 msgid "branch name required" msgstr "Необходимо е име на клон" -#: builtin/branch.c:924 +#: builtin/branch.c:936 msgid "Cannot give description to detached HEAD" msgstr "Не може да зададете описание на „HEAD“ извън клон" -#: builtin/branch.c:929 +#: builtin/branch.c:941 msgid "cannot edit description of more than one branch" msgstr "Не може да редактирате описанието на повече от един клон едновременно" -#: builtin/branch.c:936 +#: builtin/branch.c:948 #, c-format msgid "No commit on branch '%s' yet." msgstr "В клона „%s“ все още няма подавания." -#: builtin/branch.c:939 +#: builtin/branch.c:951 #, c-format msgid "No branch named '%s'." msgstr "Липсва клон на име „%s“." -#: builtin/branch.c:954 +#: builtin/branch.c:966 msgid "too many branches for a rename operation" msgstr "Прекалено много клони за преименуване" -#: builtin/branch.c:959 +#: builtin/branch.c:971 msgid "too many branches to set new upstream" msgstr "Прекалено много клони за задаване на следене" -#: builtin/branch.c:963 +#: builtin/branch.c:975 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -3324,39 +3352,39 @@ msgstr "" "Следеното от „HEAD“ не може да се зададе да е „%s“, защото то не сочи към " "никой клон." -#: builtin/branch.c:966 builtin/branch.c:988 builtin/branch.c:1009 +#: builtin/branch.c:978 builtin/branch.c:1000 builtin/branch.c:1021 #, c-format msgid "no such branch '%s'" msgstr "Няма клон на име „%s“." -#: builtin/branch.c:970 +#: builtin/branch.c:982 #, c-format msgid "branch '%s' does not exist" msgstr "Не съществува клон на име „%s“." -#: builtin/branch.c:982 +#: builtin/branch.c:994 msgid "too many branches to unset upstream" msgstr "Прекалено много клони за махане на следене" -#: builtin/branch.c:986 +#: builtin/branch.c:998 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "Следеното от „HEAD“ не може да махне, защото то не сочи към никой клон." -#: builtin/branch.c:992 +#: builtin/branch.c:1004 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Няма информация клонът „%s“ да следи някой друг" -#: builtin/branch.c:1006 +#: builtin/branch.c:1018 msgid "it does not make sense to create 'HEAD' manually" msgstr "Няма никакъв смисъл ръчно да създавате „HEAD“." -#: builtin/branch.c:1012 +#: builtin/branch.c:1024 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "Опциите „-a“ и „-r“ на „git branch“ са несъвместими с име на клон" -#: builtin/branch.c:1015 +#: builtin/branch.c:1027 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3365,7 +3393,7 @@ msgstr "" "Опцията „--set-upstream“ вече е остаряла и предстои да бъде махната. " "Използвайте „--track“ или „--set-upstream-to“\n" -#: builtin/branch.c:1032 +#: builtin/branch.c:1044 #, c-format msgid "" "\n" @@ -3376,12 +3404,12 @@ msgstr "" "За да накарате „%s“ да следи „%s“, изпълнете следната команда:\n" "\n" -#: builtin/branch.c:1033 +#: builtin/branch.c:1045 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:1034 +#: builtin/branch.c:1046 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3399,57 +3427,57 @@ msgstr "За създаването на пратка е необходимо х msgid "Need a repository to unbundle." msgstr "За приемането на пратка е необходимо хранилище." -#: builtin/cat-file.c:332 -msgid "git cat-file (-t|-s|-e|-p||--textconv) " -msgstr "git cat-file (-t|-s|-e|-p|ВИД|--textconv) ОБЕКТ" +#: builtin/cat-file.c:326 +msgid "git cat-file (-t | -s | -e | -p | | --textconv) " +msgstr "git cat-file (-t | -s | -e | -p | ВИД | --textconv) ОБЕКТ" -#: builtin/cat-file.c:333 -msgid "git cat-file (--batch|--batch-check) < " -msgstr "git cat-file (--batch|--batch-check) < СПИСЪК_С_ОБЕКТИ" +#: builtin/cat-file.c:327 +msgid "git cat-file (--batch | --batch-check) < " +msgstr "git cat-file (--batch | --batch-check) < СПИСЪК_С_ОБЕКТИ" -#: builtin/cat-file.c:370 +#: builtin/cat-file.c:364 msgid " can be one of: blob, tree, commit, tag" msgstr "" "ВИДът може да е: „blob“ (обект BLOB), „tree“ (дърво), „commit“ (подаване), " "„tag“ (етикет)" -#: builtin/cat-file.c:371 +#: builtin/cat-file.c:365 msgid "show object type" msgstr "извеждане на вида на обект" -#: builtin/cat-file.c:372 +#: builtin/cat-file.c:366 msgid "show object size" msgstr "извеждане на размера на обект" -#: builtin/cat-file.c:374 +#: builtin/cat-file.c:368 msgid "exit with zero when there's no error" msgstr "изход с 0, когато няма грешка" -#: builtin/cat-file.c:375 +#: builtin/cat-file.c:369 msgid "pretty-print object's content" msgstr "форматирано извеждане на съдържанието на обекта" -#: builtin/cat-file.c:377 +#: builtin/cat-file.c:371 msgid "for blob objects, run textconv on object's content" msgstr "" "да се стартира програмата зададена в настройката „textconv“ за преобразуване " "на съдържанието на обекта" -#: builtin/cat-file.c:379 +#: builtin/cat-file.c:373 msgid "show info and content of objects fed from the standard input" msgstr "" "извеждане на информация и съдържание на обектите подадени на стандартния вход" -#: builtin/cat-file.c:382 +#: builtin/cat-file.c:376 msgid "show info about objects fed from the standard input" msgstr "извеждане на информация за обектите подадени на стандартния вход" #: builtin/check-attr.c:11 -msgid "git check-attr [-a | --all | attr...] [--] pathname..." +msgid "git check-attr [-a | --all | ...] [--] ..." msgstr "git check-attr [-a | --all | АТРИБУТ…] [--] ПЪТ…" #: builtin/check-attr.c:12 -msgid "git check-attr --stdin [-z] [-a | --all | attr...] < " +msgid "git check-attr --stdin [-z] [-a | --all | ...] < " msgstr "git check-attr --stdin [-z] [-a | --all | АТРИБУТ…] < СПИСЪК_С_ПЪТИЩА" #: builtin/check-attr.c:19 @@ -3468,7 +3496,7 @@ msgstr "изчитане на имената на файловете от ста msgid "terminate input and output records by a NUL character" msgstr "разделяне на входните и изходните записи с нулевия знак „NUL“" -#: builtin/check-ignore.c:18 builtin/checkout.c:1089 builtin/gc.c:274 +#: builtin/check-ignore.c:18 builtin/checkout.c:1107 builtin/gc.c:274 msgid "suppress progress reporting" msgstr "без показване на напредъка" @@ -3508,7 +3536,7 @@ msgid "--non-matching is only valid with --verbose" msgstr "опцията „--non-matching“ изисква „--verbose“" #: builtin/check-mailmap.c:8 -msgid "git check-mailmap [options] ..." +msgid "git check-mailmap [] ..." msgstr "git check-mailmap [ОПЦИЯ…] КОНТАКТ…" #: builtin/check-mailmap.c:13 @@ -3525,7 +3553,7 @@ msgid "no contacts specified" msgstr "не са указани контакти" #: builtin/checkout-index.c:126 -msgid "git checkout-index [options] [--] [...]" +msgid "git checkout-index [] [--] [...]" msgstr "git checkout-index [ОПЦИЯ…] [--] [ФАЙЛ…]" #: builtin/checkout-index.c:188 @@ -3569,116 +3597,116 @@ msgid "copy out the files from named stage" msgstr "копиране на файловете от това състояние на сливане" #: builtin/checkout.c:25 -msgid "git checkout [options] " +msgid "git checkout [] " msgstr "git checkout [ОПЦИЯ…] КЛОН" #: builtin/checkout.c:26 -msgid "git checkout [options] [] -- ..." +msgid "git checkout [] [] -- ..." msgstr "git checkout [ОПЦИЯ…] [КЛОН] -- ФАЙЛ…" -#: builtin/checkout.c:114 builtin/checkout.c:147 +#: builtin/checkout.c:132 builtin/checkout.c:165 #, c-format msgid "path '%s' does not have our version" msgstr "вашата версия липсва в пътя „%s“" -#: builtin/checkout.c:116 builtin/checkout.c:149 +#: builtin/checkout.c:134 builtin/checkout.c:167 #, c-format msgid "path '%s' does not have their version" msgstr "чуждата версия липсва в пътя „%s“" # FIXME SAME AS [1] -#: builtin/checkout.c:132 +#: builtin/checkout.c:150 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "някоя от необходимите версии липсва в пътя „%s“" # FIXME SAME AS [1] -#: builtin/checkout.c:176 +#: builtin/checkout.c:194 #, c-format msgid "path '%s' does not have necessary versions" msgstr "някоя от необходимите версии липсва в пътя „%s“" -#: builtin/checkout.c:193 +#: builtin/checkout.c:211 #, c-format msgid "path '%s': cannot merge" msgstr "пътят „%s“ не може да бъде слян" -#: builtin/checkout.c:210 +#: builtin/checkout.c:228 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Резултатът за „%s“ не може да бъде слян" -#: builtin/checkout.c:231 builtin/checkout.c:234 builtin/checkout.c:237 -#: builtin/checkout.c:240 +#: builtin/checkout.c:249 builtin/checkout.c:252 builtin/checkout.c:255 +#: builtin/checkout.c:258 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "Опцията „%s“ е несъвместима с обновяването на пътища" -#: builtin/checkout.c:243 builtin/checkout.c:246 +#: builtin/checkout.c:261 builtin/checkout.c:264 #, c-format msgid "'%s' cannot be used with %s" msgstr "Опцията „%s“ е несъвместима с „%s“" -#: builtin/checkout.c:249 +#: builtin/checkout.c:267 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Невъзможно е едновременно да обновявате пътища и да се прехвърлите към клона " "„%s“." -#: builtin/checkout.c:260 builtin/checkout.c:449 +#: builtin/checkout.c:278 builtin/checkout.c:467 msgid "corrupt index file" msgstr "повреден файл на индекса" -#: builtin/checkout.c:320 builtin/checkout.c:327 +#: builtin/checkout.c:338 builtin/checkout.c:345 #, c-format msgid "path '%s' is unmerged" msgstr "пътят „%s“ не е слят" -#: builtin/checkout.c:471 +#: builtin/checkout.c:489 msgid "you need to resolve your current index first" msgstr "първо трябва да коригирате индекса си" -#: builtin/checkout.c:597 +#: builtin/checkout.c:615 #, c-format msgid "Can not do reflog for '%s'\n" msgstr "Журналът на указателите за „%s“ не може да бъде създаден\n" -#: builtin/checkout.c:635 +#: builtin/checkout.c:653 msgid "HEAD is now at" msgstr "Указателят „HEAD“ в момента сочи към" -#: builtin/checkout.c:642 +#: builtin/checkout.c:660 #, c-format msgid "Reset branch '%s'\n" msgstr "Зануляване на клона „%s“\n" -#: builtin/checkout.c:645 +#: builtin/checkout.c:663 #, c-format msgid "Already on '%s'\n" msgstr "Вече сте на „%s“\n" -#: builtin/checkout.c:649 +#: builtin/checkout.c:667 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Преминаване към клона „%s“ и зануляване на промените\n" -#: builtin/checkout.c:651 builtin/checkout.c:1032 +#: builtin/checkout.c:669 builtin/checkout.c:1050 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Преминахте към новия клон „%s“\n" -#: builtin/checkout.c:653 +#: builtin/checkout.c:671 #, c-format msgid "Switched to branch '%s'\n" msgstr "Преминахте към клона „%s“\n" -#: builtin/checkout.c:705 +#: builtin/checkout.c:723 #, c-format msgid " ... and %d more.\n" msgstr "… и още %d.\n" -#: builtin/checkout.c:711 +#: builtin/checkout.c:729 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3700,158 +3728,158 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:729 +#: builtin/checkout.c:747 #, c-format msgid "" "If you want to keep them by creating a new branch, this may be a good time\n" "to do so with:\n" "\n" -" git branch new_branch_name %s\n" +" git branch %s\n" "\n" msgstr "" -"Ако все пак искате да запазите тези промени, сега е най-подходящият\n" -"момент да създадете нов клон за тях чрез командата:\n" +"Ако все пак искате да запазите тези промени чрез създаване на клон,\n" +"сега е най-подходящият за това чрез командата:\n" "\n" " git branch ИМЕ_НА_НОВИЯ_КЛОН %s\n" "\n" -#: builtin/checkout.c:759 +#: builtin/checkout.c:777 msgid "internal error in revision walk" msgstr "вътрешна грешка при обхождането на версиите" -#: builtin/checkout.c:763 +#: builtin/checkout.c:781 msgid "Previous HEAD position was" msgstr "Преди това „HEAD“ сочеше към" -#: builtin/checkout.c:790 builtin/checkout.c:1027 +#: builtin/checkout.c:808 builtin/checkout.c:1045 msgid "You are on a branch yet to be born" msgstr "В момента сте на клон, който предстои да бъде създаден" -#: builtin/checkout.c:934 +#: builtin/checkout.c:952 #, c-format msgid "only one reference expected, %d given." msgstr "очакваше се един указател, а сте подали %d." -#: builtin/checkout.c:973 +#: builtin/checkout.c:991 #, c-format msgid "invalid reference: %s" msgstr "неправилен указател: %s" -#: builtin/checkout.c:1002 +#: builtin/checkout.c:1020 #, c-format msgid "reference is not a tree: %s" msgstr "указателят не сочи към обект-дърво: %s" -#: builtin/checkout.c:1041 +#: builtin/checkout.c:1059 msgid "paths cannot be used with switching branches" msgstr "задаването на път е несъвместимо с преминаването от един клон към друг" -#: builtin/checkout.c:1044 builtin/checkout.c:1048 +#: builtin/checkout.c:1062 builtin/checkout.c:1066 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "опцията „%s“ е несъвместима с преминаването от един клон към друг" -#: builtin/checkout.c:1052 builtin/checkout.c:1055 builtin/checkout.c:1060 -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1070 builtin/checkout.c:1073 builtin/checkout.c:1078 +#: builtin/checkout.c:1081 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "опцията „%s“ е несъвместима с „%s“" -#: builtin/checkout.c:1068 +#: builtin/checkout.c:1086 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "" "За да преминете към клон, подайте указател, който сочи към подаване. „%s“ не " "е такъв" -#: builtin/checkout.c:1090 builtin/checkout.c:1092 builtin/clone.c:89 +#: builtin/checkout.c:1108 builtin/checkout.c:1110 builtin/clone.c:90 #: builtin/remote.c:159 builtin/remote.c:161 msgid "branch" msgstr "клон" -#: builtin/checkout.c:1091 +#: builtin/checkout.c:1109 msgid "create and checkout a new branch" msgstr "създаване и преминаване към нов клон" -#: builtin/checkout.c:1093 +#: builtin/checkout.c:1111 msgid "create/reset and checkout a branch" msgstr "създаване/зануляване на клон и преминаване към него" -#: builtin/checkout.c:1094 +#: builtin/checkout.c:1112 msgid "create reflog for new branch" msgstr "създаване на журнал на указателите за нов клон" -#: builtin/checkout.c:1095 +#: builtin/checkout.c:1113 msgid "detach the HEAD at named commit" msgstr "отделяне на указателя „HEAD“ към указаното подаване" -#: builtin/checkout.c:1096 +#: builtin/checkout.c:1114 msgid "set upstream info for new branch" msgstr "задаване на кой клон бива следен при създаването на новия клон" -#: builtin/checkout.c:1098 +#: builtin/checkout.c:1116 msgid "new-branch" msgstr "НОВ_КЛОН" -#: builtin/checkout.c:1098 +#: builtin/checkout.c:1116 msgid "new unparented branch" msgstr "нов клон без родител" -#: builtin/checkout.c:1099 +#: builtin/checkout.c:1117 msgid "checkout our version for unmerged files" msgstr "изтегляне на вашата версия на неслетите файлове" -#: builtin/checkout.c:1101 +#: builtin/checkout.c:1119 msgid "checkout their version for unmerged files" msgstr "изтегляне на чуждата версия на неслетите файлове" -#: builtin/checkout.c:1103 +#: builtin/checkout.c:1121 msgid "force checkout (throw away local modifications)" msgstr "принудително изтегляне (вашите промени ще бъдат занулени)" -#: builtin/checkout.c:1104 +#: builtin/checkout.c:1122 msgid "perform a 3-way merge with the new branch" msgstr "извършване на тройно сливане с новия клон" -#: builtin/checkout.c:1105 builtin/merge.c:226 +#: builtin/checkout.c:1123 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "обновяване на игнорираните файлове (стандартно)" -#: builtin/checkout.c:1106 builtin/log.c:1239 parse-options.h:245 +#: builtin/checkout.c:1124 builtin/log.c:1239 parse-options.h:245 msgid "style" msgstr "стил" -#: builtin/checkout.c:1107 +#: builtin/checkout.c:1125 msgid "conflict style (merge or diff3)" msgstr "действие при конфликт (сливане или тройна разлика)" -#: builtin/checkout.c:1110 +#: builtin/checkout.c:1128 msgid "do not limit pathspecs to sparse entries only" msgstr "без ограничаване на изброените пътища само до частично изтеглените" -#: builtin/checkout.c:1112 -msgid "second guess 'git checkout no-such-branch'" +#: builtin/checkout.c:1130 +msgid "second guess 'git checkout '" msgstr "" -"последващ опит за отгатване след неуспешен опит с „git checkout no-such-" -"branch“" +"опит за отгатване на име на клон след неуспешен опит с „git checkout " +"НЕСЪЩЕСТВУВАЩ_КЛОН“" -#: builtin/checkout.c:1135 +#: builtin/checkout.c:1153 msgid "-b, -B and --orphan are mutually exclusive" msgstr "Опциите „-b“, „-B“ и „--orphan“ са несъвместими една с друга" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1170 msgid "--track needs a branch name" msgstr "опцията „--track“ изисква име на клон" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1175 msgid "Missing branch name; try -b" msgstr "Липсва име на клон, използвайте опцията „-b“" -#: builtin/checkout.c:1194 +#: builtin/checkout.c:1212 msgid "invalid path specification" msgstr "указан е неправилен път" -#: builtin/checkout.c:1201 +#: builtin/checkout.c:1219 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -3860,12 +3888,12 @@ msgstr "" "Не можете едновременно да обновявате пътища и да преминете към клона „%s“.\n" "Дали не искате да изтеглите „%s“, който не сочи към подаване?" -#: builtin/checkout.c:1206 +#: builtin/checkout.c:1224 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: опцията „--detach“ не приема аргумент-път „%s“" -#: builtin/checkout.c:1210 +#: builtin/checkout.c:1228 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -3956,17 +3984,18 @@ msgstr "ПРЕДУПРЕЖДЕНИЕ: Никой обект не напасва msgid "Select items to delete" msgstr "Избиране на обекти за изтриване" -#: builtin/clean.c:757 +#. TRANSLATORS: Make sure to keep [y/N] as is +#: builtin/clean.c:758 #, c-format -msgid "remove %s? " -msgstr "Да се изтрие ли „%s“? " +msgid "Remove %s [y/N]? " +msgstr "Да се изтрие ли „%s“? „y“ — да, „N“ — НЕ" # FIXME improve message -#: builtin/clean.c:782 +#: builtin/clean.c:783 msgid "Bye." msgstr "Изход." -#: builtin/clean.c:790 +#: builtin/clean.c:791 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -3985,63 +4014,63 @@ msgstr "" "? — подсказка за шаблоните" # FIXME how many *** -#: builtin/clean.c:817 +#: builtin/clean.c:818 msgid "*** Commands ***" msgstr "●●● Команди ●●●" # FIXME improve message -#: builtin/clean.c:818 +#: builtin/clean.c:819 msgid "What now" msgstr "Избор на следващо действие" -#: builtin/clean.c:826 +#: builtin/clean.c:827 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Следният обект ще бъде изтрит:" msgstr[1] "Следните обекти ще бъдат изтрити:" -#: builtin/clean.c:843 +#: builtin/clean.c:844 msgid "No more files to clean, exiting." msgstr "Файловете за изчистване свършиха. Изход от програмата." -#: builtin/clean.c:874 +#: builtin/clean.c:875 msgid "do not print names of files removed" msgstr "без извеждане на имената на файловете, които ще бъдат изтрити" -#: builtin/clean.c:876 +#: builtin/clean.c:877 msgid "force" msgstr "принудително изтриване" -#: builtin/clean.c:877 +#: builtin/clean.c:878 msgid "interactive cleaning" msgstr "интерактивно изтриване" -#: builtin/clean.c:879 +#: builtin/clean.c:880 msgid "remove whole directories" msgstr "изтриване на цели директории" -#: builtin/clean.c:880 builtin/describe.c:407 builtin/grep.c:714 -#: builtin/ls-files.c:486 builtin/name-rev.c:311 builtin/show-ref.c:185 +#: builtin/clean.c:881 builtin/describe.c:407 builtin/grep.c:714 +#: builtin/ls-files.c:443 builtin/name-rev.c:311 builtin/show-ref.c:185 msgid "pattern" msgstr "шаблон" -#: builtin/clean.c:881 +#: builtin/clean.c:882 msgid "add to ignore rules" msgstr "добавяне на ШАБЛОН от файлове, които да не се трият" -#: builtin/clean.c:882 +#: builtin/clean.c:883 msgid "remove ignored files, too" msgstr "изтриване и на игнорираните файлове" -#: builtin/clean.c:884 +#: builtin/clean.c:885 msgid "remove only ignored files" msgstr "изтриване само на игнорирани файлове" -#: builtin/clean.c:902 +#: builtin/clean.c:903 msgid "-x and -X cannot be used together" msgstr "опциите „-x“ и „-X“ са несъвместими" -#: builtin/clean.c:906 +#: builtin/clean.c:907 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -4049,7 +4078,7 @@ msgstr "" "Настройката „clean.requireForce“ е зададена като истина, което изисква някоя " "от опциите „-i“, „-n“ или „-f“. Няма да се извърши изчистване" -#: builtin/clean.c:909 +#: builtin/clean.c:910 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4059,152 +4088,156 @@ msgstr "" "изчистване" #: builtin/clone.c:37 -msgid "git clone [options] [--] []" +msgid "git clone [] [--] []" msgstr "git clone [ОПЦИЯ…] [--] ХРАНИЛИЩЕ [ДИРЕКТОРИЯ]" -#: builtin/clone.c:65 builtin/fetch.c:112 builtin/merge.c:223 -#: builtin/push.c:514 +#: builtin/clone.c:66 builtin/fetch.c:111 builtin/merge.c:224 +#: builtin/push.c:523 msgid "force progress reporting" msgstr "извеждане на напредъка" -#: builtin/clone.c:67 +#: builtin/clone.c:68 msgid "don't create a checkout" msgstr "без създаване на работно дърво" -#: builtin/clone.c:68 builtin/clone.c:70 builtin/init-db.c:488 +#: builtin/clone.c:69 builtin/clone.c:71 builtin/init-db.c:496 msgid "create a bare repository" msgstr "създаване на голо хранилище" -#: builtin/clone.c:72 +#: builtin/clone.c:73 msgid "create a mirror repository (implies bare)" msgstr "" "създаване на хранилище-огледало (включва опцията „--bare“ за голо хранилище)" -#: builtin/clone.c:74 +#: builtin/clone.c:75 msgid "to clone from a local repository" msgstr "клониране от локално хранилище" -#: builtin/clone.c:76 +#: builtin/clone.c:77 msgid "don't use local hardlinks, always copy" msgstr "без твърди връзки, файловете винаги да се копират" -#: builtin/clone.c:78 +#: builtin/clone.c:79 msgid "setup as shared repository" msgstr "настройване за споделено хранилище" -#: builtin/clone.c:80 builtin/clone.c:82 +#: builtin/clone.c:81 builtin/clone.c:83 msgid "initialize submodules in the clone" msgstr "инициализиране на подмодулите при това клониране" -#: builtin/clone.c:83 builtin/init-db.c:485 +#: builtin/clone.c:84 builtin/init-db.c:493 msgid "template-directory" msgstr "директория с шаблони" -#: builtin/clone.c:84 builtin/init-db.c:486 +#: builtin/clone.c:85 builtin/init-db.c:494 msgid "directory from which templates will be used" msgstr "директория, която съдържа шаблоните, които да се ползват" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "reference repository" msgstr "еталонно хранилище" -#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:88 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "ИМЕ" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "use instead of 'origin' to track upstream" msgstr "използване на това ИМЕ вместо „origin“ при проследяване на клони" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "checkout instead of the remote's HEAD" msgstr "изтегляне на този КЛОН, а не соченият от отдалечения указател „HEAD“" -#: builtin/clone.c:92 +#: builtin/clone.c:93 msgid "path to git-upload-pack on the remote" msgstr "път към командата „git-upload-pack“ на отдалеченото хранилище" -#: builtin/clone.c:93 builtin/fetch.c:113 builtin/grep.c:659 +#: builtin/clone.c:94 builtin/fetch.c:112 builtin/grep.c:659 msgid "depth" msgstr "ДЪЛБОЧИНА" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "create a shallow clone of that depth" msgstr "плитко клониране до тази ДЪЛБОЧИНА" -#: builtin/clone.c:96 +#: builtin/clone.c:97 msgid "clone only one branch, HEAD or --branch" msgstr "" "клониране само на един клон — или сочения от отдалечения „HEAD“, или изрично " "зададения с „--branch“" -#: builtin/clone.c:97 builtin/init-db.c:494 +#: builtin/clone.c:99 +msgid "use --reference only while cloning" +msgstr "опцията „--reference“ може да се използва само при клониране" + +#: builtin/clone.c:100 builtin/init-db.c:502 msgid "gitdir" msgstr "СЛУЖЕБНА_ДИРЕКТОРИЯ" -#: builtin/clone.c:98 builtin/init-db.c:495 +#: builtin/clone.c:101 builtin/init-db.c:503 msgid "separate git dir from working tree" msgstr "отделна СЛУЖЕБНА_ДИРЕКТОРИЯ за git извън работното дърво" -#: builtin/clone.c:99 +#: builtin/clone.c:102 msgid "key=value" msgstr "КЛЮЧ=СТОЙНОСТ" -#: builtin/clone.c:100 +#: builtin/clone.c:103 msgid "set config inside the new repository" msgstr "задаване на настройките на новото хранилище" -#: builtin/clone.c:253 +#: builtin/clone.c:256 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "еталонното хранилище „%s“ не е локално" -#: builtin/clone.c:257 +#: builtin/clone.c:260 #, c-format msgid "reference repository '%s' is shallow" msgstr "еталонното хранилище „%s“ е плитко" -#: builtin/clone.c:260 +#: builtin/clone.c:263 #, c-format msgid "reference repository '%s' is grafted" msgstr "еталонното хранилище „%s“ е с присаждане" -#: builtin/clone.c:322 +#: builtin/clone.c:325 #, c-format msgid "failed to create directory '%s'" msgstr "директорията „%s“ не може да бъде създадена" -#: builtin/clone.c:324 builtin/diff.c:84 +#: builtin/clone.c:327 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "не може да бъде получена информация чрез „stat“ за „%s“" -#: builtin/clone.c:326 +#: builtin/clone.c:329 #, c-format msgid "%s exists and is not a directory" msgstr "„%s“ съществува и не е директория" -#: builtin/clone.c:340 +#: builtin/clone.c:343 #, c-format msgid "failed to stat %s\n" msgstr "не може да бъде получена информация чрез „stat“ за „%s“\n" -#: builtin/clone.c:362 +#: builtin/clone.c:365 #, c-format msgid "failed to create link '%s'" msgstr "връзката „%s“ не може да бъде създадена" -#: builtin/clone.c:366 +#: builtin/clone.c:369 #, c-format msgid "failed to copy file to '%s'" msgstr "файлът не може да бъде копиран като „%s“" -#: builtin/clone.c:389 builtin/clone.c:563 +#: builtin/clone.c:392 builtin/clone.c:566 #, c-format msgid "done.\n" msgstr "действието завърши.\n" -#: builtin/clone.c:401 +#: builtin/clone.c:404 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4215,7 +4248,7 @@ msgstr "" "клон в момента са изтеглени с командата „git status“. Можете да\n" "завършите изтеглянето на клона с командата „git checkout -f HEAD“.\n" -#: builtin/clone.c:478 +#: builtin/clone.c:481 #, c-format msgid "Could not find remote branch %s to clone." msgstr "" @@ -4223,112 +4256,124 @@ msgstr "" "и който следва да бъде изтеглен, не съществува." # FIXME translator note that the space at end is necesssary -#: builtin/clone.c:558 +#: builtin/clone.c:561 #, c-format msgid "Checking connectivity... " msgstr "Проверка на връзката… " -#: builtin/clone.c:561 +#: builtin/clone.c:564 msgid "remote did not send all necessary objects" msgstr "отдалеченото хранилище не изпрати всички необходими обекти." -#: builtin/clone.c:625 +#: builtin/clone.c:628 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "указателят „HEAD“ от отдалеченото хранилище сочи към нещо,\n" "което не съществува. Не може да се изтегли определен клон.\n" -#: builtin/clone.c:656 +#: builtin/clone.c:659 msgid "unable to checkout working tree" msgstr "работното дърво не може да бъде подготвено" -#: builtin/clone.c:765 +#: builtin/clone.c:746 +msgid "cannot repack to clean up" +msgstr "не може да се извърши пакетиране за изчистване на файловете" + +#: builtin/clone.c:748 +msgid "cannot unlink temporary alternates file" +msgstr "временният файл за алтернативни обекти не може да бъде изтрит" + +#: builtin/clone.c:778 msgid "Too many arguments." msgstr "Прекалено много аргументи." -#: builtin/clone.c:769 +#: builtin/clone.c:782 msgid "You must specify a repository to clone." msgstr "Трябва да укажете кое хранилище искате да клонирате." -#: builtin/clone.c:780 +#: builtin/clone.c:793 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "опциите „--bare“ и „--origin %s“ са несъвместими." -#: builtin/clone.c:783 +#: builtin/clone.c:796 msgid "--bare and --separate-git-dir are incompatible." msgstr "опциите „--bare“ и „--separate-git-dir“ са несъвместими." -#: builtin/clone.c:796 +#: builtin/clone.c:809 #, c-format msgid "repository '%s' does not exist" msgstr "не съществува хранилище „%s“" -#: builtin/clone.c:802 builtin/fetch.c:1155 +#: builtin/clone.c:815 builtin/fetch.c:1156 #, c-format msgid "depth %s is not a positive number" msgstr "дълбочината трябва да е положително цяло число, а не „%s“" -#: builtin/clone.c:812 +#: builtin/clone.c:825 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "целевият път „%s“ съществува и не е празна директория." -#: builtin/clone.c:822 +#: builtin/clone.c:835 #, c-format msgid "working tree '%s' already exists." msgstr "в „%s“ вече съществува работно дърво." -#: builtin/clone.c:835 builtin/clone.c:847 +#: builtin/clone.c:850 builtin/clone.c:861 #, c-format msgid "could not create leading directories of '%s'" msgstr "родителските директории на „%s“ не могат да бъдат създадени" -#: builtin/clone.c:838 +#: builtin/clone.c:853 #, c-format -msgid "could not create work tree dir '%s'." +msgid "could not create work tree dir '%s'" msgstr "работното дърво в „%s“ не може да бъде създадено." -#: builtin/clone.c:857 +#: builtin/clone.c:871 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Клониране и създаване на голо хранилище в „%s“…\n" -#: builtin/clone.c:859 +#: builtin/clone.c:873 #, c-format msgid "Cloning into '%s'...\n" msgstr "Клониране и създаване на хранилище в „%s“…\n" -#: builtin/clone.c:895 +#: builtin/clone.c:898 +msgid "--dissociate given, but there is no --reference" +msgstr "Опцията „--dissociate“ е несъвместима с „--reference“" + +#: builtin/clone.c:913 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "При локално клониране опцията „--depth“ се игнорира. Ползвайте схемата " "„file://“." -#: builtin/clone.c:898 +#: builtin/clone.c:916 msgid "source repository is shallow, ignoring --local" msgstr "клонираното хранилище е плитко, затова опцията „--local“ се игнорира" -#: builtin/clone.c:903 +#: builtin/clone.c:921 msgid "--local is ignored" msgstr "опцията „--local“ се игнорира" -#: builtin/clone.c:907 +#: builtin/clone.c:925 #, c-format msgid "Don't know how to clone %s" msgstr "Не се поддържа клониране на връзки от вида „%s“ " -#: builtin/clone.c:958 builtin/clone.c:966 +#: builtin/clone.c:976 builtin/clone.c:984 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Отдалеченият клон „%s“ липсва в клонираното хранилище „%s“" -#: builtin/clone.c:969 +#: builtin/clone.c:987 msgid "You appear to have cloned an empty repository." msgstr "Изглежда клонирахте празно хранилище." #: builtin/column.c:9 -msgid "git column [options]" +msgid "git column []" msgstr "git column [ОПЦИЯ…]" #: builtin/column.c:26 @@ -4360,11 +4405,11 @@ msgid "--command must be the first argument" msgstr "опцията „--command“ трябва да е първият аргумент" #: builtin/commit.c:37 -msgid "git commit [options] [--] ..." +msgid "git commit [] [--] ..." msgstr "git commit [ОПЦИЯ…] [--] ПЪТ…" #: builtin/commit.c:42 -msgid "git status [options] [--] ..." +msgid "git status [] [--] ..." msgstr "git status [ОПЦИЯ…] [--] ПЪТ…" #: builtin/commit.c:47 @@ -4467,75 +4512,70 @@ msgstr "" "Чрез командата „git cherry-pick --continue“ ще продължите отбирането на\n" "останалите подавания.\n" -#: builtin/commit.c:302 +#: builtin/commit.c:304 msgid "failed to unpack HEAD tree object" msgstr "върховото дърво (HEAD tree object) не може да бъде извадено от пакет" -#: builtin/commit.c:342 +#: builtin/commit.c:344 msgid "unable to create temporary index" msgstr "временният индекс не може да бъде създаден" -#: builtin/commit.c:348 +#: builtin/commit.c:350 msgid "interactive add failed" msgstr "неуспешно интерактивно добавяне" -#: builtin/commit.c:359 +#: builtin/commit.c:361 msgid "unable to write index file" msgstr "индексът не може да бъде записан" -#: builtin/commit.c:361 +#: builtin/commit.c:363 msgid "unable to update temporary index" msgstr "временният индекс не може да бъде обновен" -#: builtin/commit.c:363 +#: builtin/commit.c:365 msgid "Failed to update main cache tree" msgstr "Дървото на основния кеш не може да бъде обновено" -#: builtin/commit.c:387 builtin/commit.c:412 builtin/commit.c:461 +#: builtin/commit.c:389 builtin/commit.c:414 builtin/commit.c:463 msgid "unable to write new_index file" msgstr "новият индекс не може да бъде записан" -#: builtin/commit.c:443 +#: builtin/commit.c:445 msgid "cannot do a partial commit during a merge." msgstr "по време на сливане не може да се извърши частично подаване." -#: builtin/commit.c:445 +#: builtin/commit.c:447 msgid "cannot do a partial commit during a cherry-pick." msgstr "по време на отбиране не може да се извърши частично подаване." -#: builtin/commit.c:454 +#: builtin/commit.c:456 msgid "cannot read the index" msgstr "индексът не може да бъде прочетен" -#: builtin/commit.c:473 +#: builtin/commit.c:475 msgid "unable to write temporary index file" msgstr "временният индекс не може да бъде записан" -#: builtin/commit.c:592 +#: builtin/commit.c:580 #, c-format msgid "commit '%s' lacks author header" msgstr "заглавната част за автор в подаването „%s“ липсва" -#: builtin/commit.c:594 +#: builtin/commit.c:582 #, c-format msgid "commit '%s' has malformed author line" msgstr "заглавната част за автор в подаването „%s“ е неправилна" -#: builtin/commit.c:613 +#: builtin/commit.c:601 msgid "malformed --author parameter" msgstr "неправилен параметър към опцията „--author“" -#: builtin/commit.c:621 +#: builtin/commit.c:609 #, c-format msgid "invalid date format: %s" msgstr "неправилен формат на дата: %s" -#: builtin/commit.c:642 -#, c-format -msgid "Malformed ident string: '%s'" -msgstr "Неправилен низ за идентичност: „%s“" - -#: builtin/commit.c:675 +#: builtin/commit.c:653 msgid "" "unable to select a comment character that is not used\n" "in the current commit message" @@ -4543,44 +4583,44 @@ msgstr "" "не може да се избере знак за коментар — в текущото съобщение за подаване са " "използвани всички подобни знаци" -#: builtin/commit.c:712 builtin/commit.c:745 builtin/commit.c:1120 +#: builtin/commit.c:690 builtin/commit.c:723 builtin/commit.c:1080 #, c-format msgid "could not lookup commit %s" msgstr "следното подаване не може да бъде открито: %s" -#: builtin/commit.c:724 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:273 #, c-format msgid "(reading log message from standard input)\n" msgstr "(изчитане на съобщението за подаване от стандартния вход)\n" -#: builtin/commit.c:726 +#: builtin/commit.c:704 msgid "could not read log from standard input" msgstr "съобщението за подаване не бе прочетено стандартния вход" -#: builtin/commit.c:730 +#: builtin/commit.c:708 #, c-format msgid "could not read log file '%s'" msgstr "файлът със съобщението за подаване „%s“ не може да бъде прочетен" -#: builtin/commit.c:752 +#: builtin/commit.c:730 msgid "could not read MERGE_MSG" msgstr "съобщението за сливане MERGE_MSG не може да бъде прочетено" -#: builtin/commit.c:756 +#: builtin/commit.c:734 msgid "could not read SQUASH_MSG" msgstr "съобщението за смачкване SQUASH_MSG не може да бъде прочетено" -#: builtin/commit.c:760 +#: builtin/commit.c:738 #, c-format msgid "could not read '%s'" msgstr "файлът „%s“ не може да бъде прочетен" -#: builtin/commit.c:831 +#: builtin/commit.c:785 msgid "could not write commit template" msgstr "шаблонът за подаване не може да бъде запазен" # FIXME -#: builtin/commit.c:849 +#: builtin/commit.c:803 #, c-format msgid "" "\n" @@ -4596,7 +4636,7 @@ msgstr "" "и опитайте отново.\n" # FIXME -#: builtin/commit.c:854 +#: builtin/commit.c:808 #, c-format msgid "" "\n" @@ -4612,7 +4652,7 @@ msgstr "" " %s\n" "и опитайте отново.\n" -#: builtin/commit.c:867 +#: builtin/commit.c:821 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4621,7 +4661,7 @@ msgstr "" "Въведете съобщението за подаване на промените. Редовете, които започват\n" "с „%c“, ще бъдат пропуснати, а празно съобщение преустановява подаването.\n" -#: builtin/commit.c:874 +#: builtin/commit.c:828 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4632,94 +4672,96 @@ msgstr "" "с „%c“, също ще бъдат включени — може да ги изтриете вие. Празно \n" "съобщение преустановява подаването.\n" -#: builtin/commit.c:888 +#: builtin/commit.c:848 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sАвтор: %.*s <%.*s>" -#: builtin/commit.c:896 +#: builtin/commit.c:856 #, c-format msgid "%sDate: %s" msgstr "%sДата: %s" -#: builtin/commit.c:903 +#: builtin/commit.c:863 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sПодаващ: %.*s <%.*s>" -#: builtin/commit.c:921 +#: builtin/commit.c:881 msgid "Cannot read index" msgstr "Индексът не може да бъде прочетен" -#: builtin/commit.c:978 +#: builtin/commit.c:938 msgid "Error building trees" msgstr "Грешка при изграждане на дърветата" -#: builtin/commit.c:993 builtin/tag.c:495 +#: builtin/commit.c:953 builtin/tag.c:495 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Подайте съобщението с някоя от опциите „-m“ или „-F“.\n" -#: builtin/commit.c:1095 +#: builtin/commit.c:1055 #, c-format -msgid "No existing author found with '%s'" -msgstr "Не е открит автор с име „%s“." +msgid "--author '%s' is not 'Name ' and matches no existing author" +msgstr "" +"Опцията „--author '%s'“ не отговаря на форма̀та „Име <е-поща>“ и не съвпада с " +"никой автор" -#: builtin/commit.c:1110 builtin/commit.c:1350 +#: builtin/commit.c:1070 builtin/commit.c:1310 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Неправилна стойност за неследените файлове: „%s“" -#: builtin/commit.c:1147 +#: builtin/commit.c:1107 msgid "--long and -z are incompatible" msgstr "Опциите „--long“ и „-z“ са несъвместими." -#: builtin/commit.c:1177 +#: builtin/commit.c:1137 msgid "Using both --reset-author and --author does not make sense" msgstr "Опциите „--reset-author“ и „--author“ са несъвместими." -#: builtin/commit.c:1186 +#: builtin/commit.c:1146 msgid "You have nothing to amend." msgstr "Няма какво да бъде поправено." -#: builtin/commit.c:1189 +#: builtin/commit.c:1149 msgid "You are in the middle of a merge -- cannot amend." msgstr "В момента се извършва сливане, не можете да поправяте." -#: builtin/commit.c:1191 +#: builtin/commit.c:1151 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "В момента се извършва отбиране на подаване, не можете да поправяте." -#: builtin/commit.c:1194 +#: builtin/commit.c:1154 msgid "Options --squash and --fixup cannot be used together" msgstr "Опциите „--squash“ и „--fixup“ са несъвместими." -#: builtin/commit.c:1204 +#: builtin/commit.c:1164 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Опциите „-c“, „-C“, „-F“ и „--fixup““ са несъвместими." -#: builtin/commit.c:1206 +#: builtin/commit.c:1166 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "Опцията „-m“ е несъвместима с „-c“, „-C“, „-F“ и „--fixup“." -#: builtin/commit.c:1214 +#: builtin/commit.c:1174 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" "Опцията „--reset-author“ може да се използва само заедно с „-C“, „-c“ или\n" "„--amend“." -#: builtin/commit.c:1231 +#: builtin/commit.c:1191 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Опциите „--include“, „--only“, „--all“, „--interactive“ и „--patch“ са\n" "несъвместими." -#: builtin/commit.c:1233 +#: builtin/commit.c:1193 msgid "No paths with --include/--only does not make sense." msgstr "Опциите „--include“ и „--only“ изискват аргументи." # FIXME bad message -#: builtin/commit.c:1235 +#: builtin/commit.c:1195 msgid "Clever... amending the last one with dirty index." msgstr "" "Чудесно сте се сетили как да поправите съобщението на последното подаване " @@ -4727,63 +4769,63 @@ msgstr "" "променен индекс. Споделете и с друг потребител трика с „git commit --amend -" "o“." -#: builtin/commit.c:1237 +#: builtin/commit.c:1197 msgid "Explicit paths specified without -i or -o; assuming --only paths..." msgstr "" "Зададени са изрични пътища без опциите „-i“ или „-o“. Приема се, че все едно " "сте\n" "ползвали опцията „--only“ с ПЪТища…" -#: builtin/commit.c:1249 builtin/tag.c:728 +#: builtin/commit.c:1209 builtin/tag.c:728 #, c-format msgid "Invalid cleanup mode %s" msgstr "Несъществуващ режим на изчистване „%s“" -#: builtin/commit.c:1254 +#: builtin/commit.c:1214 msgid "Paths with -a does not make sense." msgstr "Опцията „-a“ е несъвместима със задаването на пътища." -#: builtin/commit.c:1364 builtin/commit.c:1644 +#: builtin/commit.c:1324 builtin/commit.c:1604 msgid "show status concisely" msgstr "кратка информация за състоянието" -#: builtin/commit.c:1366 builtin/commit.c:1646 +#: builtin/commit.c:1326 builtin/commit.c:1606 msgid "show branch information" msgstr "информация за клоните" -#: builtin/commit.c:1368 builtin/commit.c:1648 builtin/push.c:500 +#: builtin/commit.c:1328 builtin/commit.c:1608 builtin/push.c:509 msgid "machine-readable output" msgstr "формат на изхода за четене от програма" -#: builtin/commit.c:1371 builtin/commit.c:1650 +#: builtin/commit.c:1331 builtin/commit.c:1610 msgid "show status in long format (default)" msgstr "подробна информация за състоянието (стандартно)" -#: builtin/commit.c:1374 builtin/commit.c:1653 +#: builtin/commit.c:1334 builtin/commit.c:1613 msgid "terminate entries with NUL" msgstr "разделяне на елементите с нулевия знак „NUL“" -#: builtin/commit.c:1376 builtin/commit.c:1656 builtin/fast-export.c:980 +#: builtin/commit.c:1336 builtin/commit.c:1616 builtin/fast-export.c:980 #: builtin/fast-export.c:983 builtin/tag.c:603 msgid "mode" msgstr "режим" -#: builtin/commit.c:1377 builtin/commit.c:1656 +#: builtin/commit.c:1337 builtin/commit.c:1616 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "извеждане на неследените файлове. Възможните режими са „all“ (подробна\n" "информация), „normal“ (кратка информация), „no“ (без неследените файлове).\n" "Стандартният режим е: „all“." -#: builtin/commit.c:1380 +#: builtin/commit.c:1340 msgid "show ignored files" msgstr "извеждане на игнорираните файлове" -#: builtin/commit.c:1381 parse-options.h:153 +#: builtin/commit.c:1341 parse-options.h:153 msgid "when" msgstr "кога" -#: builtin/commit.c:1382 +#: builtin/commit.c:1342 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -4792,213 +4834,213 @@ msgstr "" "една от\n" "„all“ (всички), „dirty“ (тези с неподадени промени), „untracked“ (неследени)" -#: builtin/commit.c:1384 +#: builtin/commit.c:1344 msgid "list untracked files in columns" msgstr "извеждане на неследените файлове в колони" -#: builtin/commit.c:1471 +#: builtin/commit.c:1431 msgid "couldn't look up newly created commit" msgstr "току що създаденото подаване не може да бъде открито" -#: builtin/commit.c:1473 +#: builtin/commit.c:1433 msgid "could not parse newly created commit" msgstr "току що създаденото подаване не може да бъде анализирано" -#: builtin/commit.c:1518 +#: builtin/commit.c:1478 msgid "detached HEAD" msgstr "несвързан връх „HEAD“" -#: builtin/commit.c:1521 +#: builtin/commit.c:1481 msgid " (root-commit)" msgstr " (начално подаване)" -#: builtin/commit.c:1614 +#: builtin/commit.c:1574 msgid "suppress summary after successful commit" msgstr "без информация след успешно подаване" -#: builtin/commit.c:1615 +#: builtin/commit.c:1575 msgid "show diff in commit message template" msgstr "добавяне на разликата към шаблона за съобщението при подаване" -#: builtin/commit.c:1617 +#: builtin/commit.c:1577 msgid "Commit message options" msgstr "Опции за съобщението при подаване" -#: builtin/commit.c:1618 builtin/tag.c:601 +#: builtin/commit.c:1578 builtin/tag.c:601 msgid "read message from file" msgstr "взимане на съобщението от файл" -#: builtin/commit.c:1619 +#: builtin/commit.c:1579 msgid "author" msgstr "автор" -#: builtin/commit.c:1619 +#: builtin/commit.c:1579 msgid "override author for commit" msgstr "задаване на автор за подаването" -#: builtin/commit.c:1620 builtin/gc.c:275 +#: builtin/commit.c:1580 builtin/gc.c:275 msgid "date" msgstr "дата" -#: builtin/commit.c:1620 +#: builtin/commit.c:1580 msgid "override date for commit" msgstr "задаване на дата за подаването" -#: builtin/commit.c:1621 builtin/merge.c:217 builtin/notes.c:408 -#: builtin/notes.c:565 builtin/tag.c:599 +#: builtin/commit.c:1581 builtin/merge.c:218 builtin/notes.c:391 +#: builtin/notes.c:554 builtin/tag.c:599 msgid "message" msgstr "съобщение" -#: builtin/commit.c:1621 +#: builtin/commit.c:1581 msgid "commit message" msgstr "съобщение при подаване" -#: builtin/commit.c:1622 +#: builtin/commit.c:1582 msgid "reuse and edit message from specified commit" msgstr "преизползване и редактиране на съобщението от указаното подаване" -#: builtin/commit.c:1623 +#: builtin/commit.c:1583 msgid "reuse message from specified commit" msgstr "преизползване на съобщението от указаното подаване" -#: builtin/commit.c:1624 +#: builtin/commit.c:1584 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "използване на автоматичното съобщение при смачкване за вкарване на " "указаното\n" "подаване в предното без следа" -#: builtin/commit.c:1625 +#: builtin/commit.c:1585 msgid "use autosquash formatted message to squash specified commit" msgstr "" "използване на автоматичното съобщение при смачкване за смачкване на " "указаното\n" "подаване в предното" -#: builtin/commit.c:1626 +#: builtin/commit.c:1586 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "смяна на автора да съвпада с подаващия (използва се с „-C“/„-c“/„--amend“)" -#: builtin/commit.c:1627 builtin/log.c:1191 builtin/revert.c:86 +#: builtin/commit.c:1587 builtin/log.c:1191 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "добавяне на поле за подпис — „Signed-off-by:“" -#: builtin/commit.c:1628 +#: builtin/commit.c:1588 msgid "use specified template file" msgstr "използване на указания шаблонен файл" -#: builtin/commit.c:1629 +#: builtin/commit.c:1589 msgid "force edit of commit" msgstr "редактиране на подаване" -#: builtin/commit.c:1630 +#: builtin/commit.c:1590 msgid "default" msgstr "стандартно" -#: builtin/commit.c:1630 builtin/tag.c:604 +#: builtin/commit.c:1590 builtin/tag.c:604 msgid "how to strip spaces and #comments from message" msgstr "кои празни знаци и #коментари да се махат от съобщенията" -#: builtin/commit.c:1631 +#: builtin/commit.c:1591 msgid "include status in commit message template" msgstr "вмъкване на състоянието в шаблона за съобщението при подаване" -#: builtin/commit.c:1632 builtin/merge.c:224 builtin/revert.c:92 +#: builtin/commit.c:1592 builtin/merge.c:225 builtin/revert.c:92 #: builtin/tag.c:605 msgid "key-id" msgstr "ИДЕНТИФИКАТОР_НА_КЛЮЧ" -#: builtin/commit.c:1633 builtin/merge.c:225 builtin/revert.c:93 +#: builtin/commit.c:1593 builtin/merge.c:226 builtin/revert.c:93 msgid "GPG sign commit" msgstr "подписване на подаването с GPG" -#: builtin/commit.c:1636 +#: builtin/commit.c:1596 msgid "Commit contents options" msgstr "Опции за избор на файлове при подаване" -#: builtin/commit.c:1637 +#: builtin/commit.c:1597 msgid "commit all changed files" msgstr "подаване на всички променени файлове" -#: builtin/commit.c:1638 +#: builtin/commit.c:1598 msgid "add specified files to index for commit" msgstr "добавяне на указаните файлове към индекса за подаване" -#: builtin/commit.c:1639 +#: builtin/commit.c:1599 msgid "interactively add files" msgstr "интерактивно добавяне на файлове" -#: builtin/commit.c:1640 +#: builtin/commit.c:1600 msgid "interactively add changes" msgstr "интерактивно добавяне на промени" -#: builtin/commit.c:1641 +#: builtin/commit.c:1601 msgid "commit only specified files" msgstr "подаване само на указаните файлове" -#: builtin/commit.c:1642 +#: builtin/commit.c:1602 msgid "bypass pre-commit hook" msgstr "без изпълнение на куката преди подаване (pre-commit)" -#: builtin/commit.c:1643 +#: builtin/commit.c:1603 msgid "show what would be committed" msgstr "отпечатване на това, което би било подадено" -#: builtin/commit.c:1654 +#: builtin/commit.c:1614 msgid "amend previous commit" msgstr "поправяне на предишното подаване" -#: builtin/commit.c:1655 +#: builtin/commit.c:1615 msgid "bypass post-rewrite hook" msgstr "без изпълнение на куката след презаписване (post-rewrite)" -#: builtin/commit.c:1660 +#: builtin/commit.c:1620 msgid "ok to record an empty change" msgstr "позволяване на празни подавания" -#: builtin/commit.c:1662 +#: builtin/commit.c:1622 msgid "ok to record a change with an empty message" msgstr "позволяване на подавания с празни съобщения" -#: builtin/commit.c:1691 +#: builtin/commit.c:1651 msgid "could not parse HEAD commit" msgstr "върховото подаване „HEAD“ не може да бъде прочетено" -#: builtin/commit.c:1730 builtin/merge.c:518 +#: builtin/commit.c:1690 builtin/merge.c:519 #, c-format msgid "could not open '%s' for reading" msgstr "файлът не може да бъде прочетен: „%s“" -#: builtin/commit.c:1737 +#: builtin/commit.c:1697 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Повреден файл за върха за сливането „MERGE_HEAD“ (%s)" -#: builtin/commit.c:1744 +#: builtin/commit.c:1704 msgid "could not read MERGE_MODE" msgstr "режимът на сливане „MERGE_MODE“ не може да бъде прочетен" -#: builtin/commit.c:1763 +#: builtin/commit.c:1723 #, c-format msgid "could not read commit message: %s" msgstr "съобщението за подаване не може да бъде прочетено: %s" -#: builtin/commit.c:1774 +#: builtin/commit.c:1734 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Неизвършване на подаване поради нередактирано съобщение.\n" -#: builtin/commit.c:1779 +#: builtin/commit.c:1739 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Неизвършване на подаване поради празно съобщение.\n" -#: builtin/commit.c:1794 builtin/merge.c:850 builtin/merge.c:875 +#: builtin/commit.c:1754 builtin/merge.c:851 builtin/merge.c:876 msgid "failed to write commit object" msgstr "обектът за подаването не може да бъде записан" -#: builtin/commit.c:1827 +#: builtin/commit.c:1787 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" @@ -5009,7 +5051,7 @@ msgstr "" "превишили дисковата си квота. След това изпълнете „git reset HEAD“." #: builtin/config.c:8 -msgid "git config [options]" +msgid "git config []" msgstr "git config [ОПЦИЯ…]" #: builtin/config.c:53 @@ -5097,17 +5139,13 @@ msgstr "изброяване на всички" msgid "open an editor" msgstr "отваряне на редактор" -#: builtin/config.c:72 builtin/config.c:73 -msgid "slot" -msgstr "настройка" - #: builtin/config.c:72 -msgid "find the color configured: [default]" -msgstr "извеждане на зададения цвят: [стандартно]" +msgid "find the color configured: slot [default]" +msgstr "извеждане на зададения цвят: номер [стандартно]" #: builtin/config.c:73 -msgid "find the color setting: [stdout-is-tty]" -msgstr "извеждане на зададения цвят: [стандартният изход е терминал]" +msgid "find the color setting: slot [stdout-is-tty]" +msgstr "извеждане на зададения цвят: номер [стандартният изход е терминал]" #: builtin/config.c:74 msgid "Type" @@ -5142,11 +5180,11 @@ msgstr "разделяне на стойностите с нулевия зна msgid "respect include directives on lookup" msgstr "при търсене да се уважат и директивите за включване" -#: builtin/config.c:315 +#: builtin/config.c:316 msgid "unable to parse default color value" msgstr "неразпозната стойност на стандартния цвят" -#: builtin/config.c:455 +#: builtin/config.c:457 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5161,7 +5199,7 @@ msgstr "" "#\tuser = %s\n" "#\temail = %s\n" -#: builtin/config.c:590 +#: builtin/config.c:589 #, c-format msgid "cannot create configuration file %s" msgstr "конфигурационният файл „%s“ не може да бъде създаден" @@ -5176,11 +5214,11 @@ msgstr "извеждане на размерите на обектите във # FIXME ... instead of *??? #: builtin/describe.c:17 -msgid "git describe [options] *" +msgid "git describe [] [...]" msgstr "git describe [ОПЦИЯ…] УКАЗАТЕЛ_КЪМ_ПОДАВАНЕ…" #: builtin/describe.c:18 -msgid "git describe [options] --dirty" +msgid "git describe [] --dirty" msgstr "git describe [ОПЦИЯ…] --dirty" #: builtin/describe.c:217 @@ -5399,180 +5437,180 @@ msgstr "Прилагане на указателя на версия към из msgid "anonymize output" msgstr "анонимизиране на извежданата информация" -#: builtin/fetch.c:20 +#: builtin/fetch.c:19 msgid "git fetch [] [ [...]]" msgstr "git fetch [ОПЦИЯ…] [ХРАНИЛИЩЕ [УКАЗАТЕЛ…]]" -#: builtin/fetch.c:21 +#: builtin/fetch.c:20 msgid "git fetch [] " msgstr "git fetch [ОПЦИЯ…] ГРУПА" -#: builtin/fetch.c:22 +#: builtin/fetch.c:21 msgid "git fetch --multiple [] [( | )...]" msgstr "git fetch --multiple [ОПЦИЯ…] [(ХРАНИЛИЩЕ | ГРУПА)…]" -#: builtin/fetch.c:23 +#: builtin/fetch.c:22 msgid "git fetch --all []" msgstr "git fetch --all [ОПЦИЯ…]" -#: builtin/fetch.c:90 +#: builtin/fetch.c:89 msgid "fetch from all remotes" msgstr "доставяне от всички отдалечени хранилища" -#: builtin/fetch.c:92 +#: builtin/fetch.c:91 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "добавяне към „.git/FETCH_HEAD“ вместо замяна" -#: builtin/fetch.c:94 +#: builtin/fetch.c:93 msgid "path to upload pack on remote end" msgstr "отдалечен път, където да се качи пакетът" -#: builtin/fetch.c:95 +#: builtin/fetch.c:94 msgid "force overwrite of local branch" msgstr "принудително презаписване на локалния клон" -#: builtin/fetch.c:97 +#: builtin/fetch.c:96 msgid "fetch from multiple remotes" msgstr "доставяне от множество отдалечени хранилища" -#: builtin/fetch.c:99 +#: builtin/fetch.c:98 msgid "fetch all tags and associated objects" msgstr "доставяне на всички етикети и принадлежащи обекти" -#: builtin/fetch.c:101 +#: builtin/fetch.c:100 msgid "do not fetch all tags (--no-tags)" msgstr "без доставянето на всички етикети „--no-tags“" -#: builtin/fetch.c:103 +#: builtin/fetch.c:102 msgid "prune remote-tracking branches no longer on remote" msgstr "окастряне на клоните следящи вече несъществуващи отдалечени клони" -#: builtin/fetch.c:104 +#: builtin/fetch.c:103 msgid "on-demand" msgstr "при нужда" -#: builtin/fetch.c:105 +#: builtin/fetch.c:104 msgid "control recursive fetching of submodules" msgstr "управление на рекурсивното доставяне на подмодулите" -#: builtin/fetch.c:109 +#: builtin/fetch.c:108 msgid "keep downloaded pack" msgstr "запазване на изтеглените пакети с обекти" -#: builtin/fetch.c:111 +#: builtin/fetch.c:110 msgid "allow updating of HEAD ref" msgstr "позволяване на обновяването на указателя „HEAD“" -#: builtin/fetch.c:114 +#: builtin/fetch.c:113 msgid "deepen history of shallow clone" msgstr "задълбочаване на историята на плитко хранилище" -#: builtin/fetch.c:116 +#: builtin/fetch.c:115 msgid "convert to a complete repository" msgstr "превръщане в пълно хранилище" -#: builtin/fetch.c:118 builtin/log.c:1208 +#: builtin/fetch.c:117 builtin/log.c:1208 msgid "dir" msgstr "директория" -#: builtin/fetch.c:119 +#: builtin/fetch.c:118 msgid "prepend this to submodule path output" msgstr "добавяне на това пред пътя на подмодула" -#: builtin/fetch.c:122 +#: builtin/fetch.c:121 msgid "default mode for recursion" msgstr "стандартен режим на рекурсия" -#: builtin/fetch.c:124 +#: builtin/fetch.c:123 msgid "accept refs that update .git/shallow" msgstr "приемане на указатели, които обновяват „.git/shallow“" -#: builtin/fetch.c:125 +#: builtin/fetch.c:124 msgid "refmap" msgstr "карта с указатели" -#: builtin/fetch.c:126 +#: builtin/fetch.c:125 msgid "specify fetch refmap" msgstr "указване на картата с указатели за доставяне" -#: builtin/fetch.c:376 +#: builtin/fetch.c:375 msgid "Couldn't find remote ref HEAD" msgstr "Указателят „HEAD“ в отдалеченото хранилище не може да бъде открит" -#: builtin/fetch.c:454 +#: builtin/fetch.c:455 #, c-format msgid "object %s not found" msgstr "обектът „%s“ липсва" -#: builtin/fetch.c:459 +#: builtin/fetch.c:460 msgid "[up to date]" msgstr "[актуализиран]" -#: builtin/fetch.c:473 +#: builtin/fetch.c:474 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s → %s (в текущия клон не може да се доставя)" -#: builtin/fetch.c:474 builtin/fetch.c:560 +#: builtin/fetch.c:475 builtin/fetch.c:561 msgid "[rejected]" msgstr "[отхвърлен]" -#: builtin/fetch.c:485 +#: builtin/fetch.c:486 msgid "[tag update]" msgstr "[обновяване на етикетите]" -#: builtin/fetch.c:487 builtin/fetch.c:522 builtin/fetch.c:540 +#: builtin/fetch.c:488 builtin/fetch.c:523 builtin/fetch.c:541 msgid " (unable to update local ref)" msgstr " (локалните указатели не могат да бъдат обновени)" -#: builtin/fetch.c:505 +#: builtin/fetch.c:506 msgid "[new tag]" msgstr "[нов етикет]" -#: builtin/fetch.c:508 +#: builtin/fetch.c:509 msgid "[new branch]" msgstr "[нов клон]" -#: builtin/fetch.c:511 +#: builtin/fetch.c:512 msgid "[new ref]" msgstr "[нов указател]" -#: builtin/fetch.c:556 +#: builtin/fetch.c:557 msgid "unable to update local ref" msgstr "локален указател не може да бъде обновен" -#: builtin/fetch.c:556 +#: builtin/fetch.c:557 msgid "forced update" msgstr "принудително обновяване" -#: builtin/fetch.c:562 +#: builtin/fetch.c:563 msgid "(non-fast-forward)" msgstr "(сливането не е тривиално)" -#: builtin/fetch.c:595 builtin/fetch.c:828 +#: builtin/fetch.c:596 builtin/fetch.c:829 #, c-format msgid "cannot open %s: %s\n" msgstr "файлът „%s“ не може да бъде отворен: %s\n" -#: builtin/fetch.c:604 +#: builtin/fetch.c:605 #, c-format msgid "%s did not send all necessary objects\n" msgstr "хранилището „%s“ не изпрати всички необходими обекти\n" -#: builtin/fetch.c:622 +#: builtin/fetch.c:623 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" "отхвърляне на върха „%s“, защото плитките хранилища не могат да бъдат " "обновявани" -#: builtin/fetch.c:710 builtin/fetch.c:793 +#: builtin/fetch.c:711 builtin/fetch.c:794 #, c-format msgid "From %.*s\n" msgstr "От %.*s\n" # FIXME - is the space necessary -#: builtin/fetch.c:721 +#: builtin/fetch.c:722 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -5582,55 +5620,55 @@ msgstr "" "„git remote prune %s“, за да премахнете остарелите клони, които\n" "предизвикват конфликта" -#: builtin/fetch.c:773 +#: builtin/fetch.c:774 #, c-format msgid " (%s will become dangling)" msgstr " (обектът „%s“ ще се окаже извън клон)" -#: builtin/fetch.c:774 +#: builtin/fetch.c:775 #, c-format msgid " (%s has become dangling)" msgstr " (обектът „%s“ вече е извън клон)" -#: builtin/fetch.c:798 +#: builtin/fetch.c:799 msgid "[deleted]" msgstr "[изтрит]" -#: builtin/fetch.c:799 builtin/remote.c:1063 +#: builtin/fetch.c:800 builtin/remote.c:1060 msgid "(none)" msgstr "(нищо)" -#: builtin/fetch.c:818 +#: builtin/fetch.c:819 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Не може да изтегляте в текущия клон „%s“ на хранилище, което не е голо" -#: builtin/fetch.c:837 +#: builtin/fetch.c:838 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Стойността „%2$s“ за опцията „%1$s“ не е съвместима с „%3$s“" -#: builtin/fetch.c:840 +#: builtin/fetch.c:841 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Опцията „%s“ се игнорира при „%s“\n" -#: builtin/fetch.c:896 +#: builtin/fetch.c:897 #, c-format msgid "Don't know how to fetch from %s" msgstr "Не се поддържа доставяне от „%s“" -#: builtin/fetch.c:1058 +#: builtin/fetch.c:1059 #, c-format msgid "Fetching %s\n" msgstr "Доставяне на „%s“\n" -#: builtin/fetch.c:1060 builtin/remote.c:90 +#: builtin/fetch.c:1061 builtin/remote.c:90 #, c-format msgid "Could not fetch %s" msgstr "„%s“ не може да се достави" -#: builtin/fetch.c:1078 +#: builtin/fetch.c:1079 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -5638,114 +5676,116 @@ msgstr "" "Не сте указали отдалечено хранилище. Задайте или адрес, или име\n" "на отдалечено хранилище, откъдето да се доставят новите версии." -#: builtin/fetch.c:1101 +#: builtin/fetch.c:1102 msgid "You need to specify a tag name." msgstr "Трябва да укажете име на етикет." -#: builtin/fetch.c:1143 +#: builtin/fetch.c:1144 msgid "--depth and --unshallow cannot be used together" msgstr "опциите „--depth“ и „--unshallow“ са несъвместими" -#: builtin/fetch.c:1145 +#: builtin/fetch.c:1146 msgid "--unshallow on a complete repository does not make sense" msgstr "не можете да използвате опцията „--unshallow“ върху пълно хранилище" -#: builtin/fetch.c:1168 +#: builtin/fetch.c:1169 msgid "fetch --all does not take a repository argument" msgstr "към „git fetch --all“ не можете да добавите аргумент — хранилище" -#: builtin/fetch.c:1170 +#: builtin/fetch.c:1171 msgid "fetch --all does not make sense with refspecs" msgstr "" "към „git fetch --all“ не можете да добавите аргумент — указател на версия" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1182 #, c-format msgid "No such remote or remote group: %s" msgstr "Няма нито отдалечено хранилище, нито група от хранилища на име „%s“" -#: builtin/fetch.c:1189 +#: builtin/fetch.c:1190 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Указването на група и указването на версия са несъвместими" #: builtin/fmt-merge-msg.c:13 -msgid "git fmt-merge-msg [-m ] [--log[=]|--no-log] [--file ]" -msgstr "git fmt-merge-msg [-m СЪОБЩЕНИЕ] [--log[=БРОЙ]|--no-log] [--file ФАЙЛ]" +msgid "" +"git fmt-merge-msg [-m ] [--log[=] | --no-log] [--file ]" +msgstr "" +"git fmt-merge-msg [-m СЪОБЩЕНИЕ] [--log[=БРОЙ] | --no-log] [--file ФАЙЛ]" -#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:698 -#: builtin/merge.c:197 builtin/repack.c:179 builtin/repack.c:183 -#: builtin/show-branch.c:654 builtin/show-ref.c:178 builtin/tag.c:590 +#: builtin/fmt-merge-msg.c:662 builtin/fmt-merge-msg.c:665 builtin/grep.c:698 +#: builtin/merge.c:198 builtin/repack.c:178 builtin/repack.c:182 +#: builtin/show-branch.c:657 builtin/show-ref.c:178 builtin/tag.c:590 #: parse-options.h:132 parse-options.h:239 msgid "n" msgstr "БРОЙ" -#: builtin/fmt-merge-msg.c:664 +#: builtin/fmt-merge-msg.c:663 msgid "populate log with at most entries from shortlog" msgstr "" "вмъкване на журнал състоящ се от не повече от БРОЙ записа от съкратения " "журнал" -#: builtin/fmt-merge-msg.c:667 +#: builtin/fmt-merge-msg.c:666 msgid "alias for --log (deprecated)" msgstr "синоним на „--log“ (остаряло)" -#: builtin/fmt-merge-msg.c:670 +#: builtin/fmt-merge-msg.c:669 msgid "text" msgstr "ТЕКСТ" -#: builtin/fmt-merge-msg.c:671 +#: builtin/fmt-merge-msg.c:670 msgid "use as start of message" msgstr "за начало на съобщението да се ползва ТЕКСТ" -#: builtin/fmt-merge-msg.c:672 +#: builtin/fmt-merge-msg.c:671 msgid "file to read from" msgstr "файл, от който да се чете" -#: builtin/for-each-ref.c:676 +#: builtin/for-each-ref.c:675 msgid "unable to parse format" msgstr "форматът не може да бъде анализиран" -#: builtin/for-each-ref.c:1057 -msgid "git for-each-ref [options] []" +#: builtin/for-each-ref.c:1063 +msgid "git for-each-ref [] []" msgstr "git for-each-ref [ОПЦИЯ…] [ШАБЛОН]" -#: builtin/for-each-ref.c:1072 +#: builtin/for-each-ref.c:1078 msgid "quote placeholders suitably for shells" msgstr "цитиране подходящо за командни интерпретатори на обвивката" -#: builtin/for-each-ref.c:1074 +#: builtin/for-each-ref.c:1080 msgid "quote placeholders suitably for perl" msgstr "цитиране подходящо за perl" -#: builtin/for-each-ref.c:1076 +#: builtin/for-each-ref.c:1082 msgid "quote placeholders suitably for python" msgstr "цитиране подходящо за python" -#: builtin/for-each-ref.c:1078 -msgid "quote placeholders suitably for tcl" +#: builtin/for-each-ref.c:1084 +msgid "quote placeholders suitably for Tcl" msgstr "цитиране подходящо за tcl" -#: builtin/for-each-ref.c:1081 +#: builtin/for-each-ref.c:1087 msgid "show only matched refs" msgstr "извеждане само на този БРОЙ напаснати указатели" -#: builtin/for-each-ref.c:1082 builtin/replace.c:438 +#: builtin/for-each-ref.c:1088 builtin/replace.c:438 msgid "format" msgstr "ФОРМАТ" -#: builtin/for-each-ref.c:1082 +#: builtin/for-each-ref.c:1088 msgid "format to use for the output" msgstr "ФОРМАТ за изхода" -#: builtin/for-each-ref.c:1083 +#: builtin/for-each-ref.c:1089 msgid "key" msgstr "ключ" -#: builtin/for-each-ref.c:1084 +#: builtin/for-each-ref.c:1090 msgid "field name to sort on" msgstr "име на полето, по което да е подредбата" -#: builtin/fsck.c:147 builtin/prune.c:136 +#: builtin/fsck.c:147 builtin/prune.c:137 msgid "Checking connectivity" msgstr "Проверка на връзката" @@ -5754,7 +5794,7 @@ msgid "Checking object directories" msgstr "Проверка на директориите с обекти" #: builtin/fsck.c:603 -msgid "git fsck [options] [...]" +msgid "git fsck [] [...]" msgstr "git fsck [ОПЦИЯ…] [ОБЕКТ…]" #: builtin/fsck.c:609 @@ -5804,7 +5844,7 @@ msgstr "Проверка на обектите" # FIXME plural with ... #: builtin/gc.c:24 -msgid "git gc [options]" +msgid "git gc []" msgstr "git gc [ОПЦИЯ…]" #: builtin/gc.c:79 @@ -5871,7 +5911,7 @@ msgstr "" # FIXME plural ... options #: builtin/grep.c:23 -msgid "git grep [options] [-e] [...] [[--] ...]" +msgid "git grep [] [-e] [...] [[--] ...]" msgstr "git grep [ОПЦИЯ…] [-e] ШАБЛОН [ВЕРСИЯ…] [[--] ПЪТ…]" #: builtin/grep.c:218 @@ -5912,8 +5952,8 @@ msgid "search in both tracked and untracked files" msgstr "търсене и в следените, и в неследените файлове" #: builtin/grep.c:644 -msgid "search also in ignored files" -msgstr "търсене и в игнорираните файлове" +msgid "ignore files specified via '.gitignore'" +msgstr "игнориране на файловете указани в „.gitignore“" #: builtin/grep.c:647 msgid "show non-matching lines" @@ -6112,17 +6152,18 @@ msgstr "опцията „--cached“ е несъвместима със зад #: builtin/hash-object.c:82 msgid "" -"git hash-object [-t ] [-w] [--path=|--no-filters] [--stdin] [--] " -"..." +"git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] " +"[--] ..." msgstr "" -"git hash-object [-t ВИД] [-w] [--path=ФАЙЛ|--no-filters] [--stdin] [--] ФАЙЛ…" +"git hash-object [-t ВИД] [-w] [--path=ФАЙЛ | --no-filters] [--stdin] [--] " +"ФАЙЛ…" # FIXME - list of paths or path... #: builtin/hash-object.c:83 msgid "git hash-object --stdin-paths < " msgstr "git hash-object --stdin-paths < ПЪТ…" -#: builtin/hash-object.c:94 builtin/tag.c:610 +#: builtin/hash-object.c:94 builtin/tag.c:612 msgid "type" msgstr "ВИД" @@ -6174,8 +6215,8 @@ msgid "show info page" msgstr "показване на информационна страница" #: builtin/help.c:52 -msgid "git help [--all] [--guides] [--man|--web|--info] [command]" -msgstr "git help [--all] [--guides] [--man|--web|--info] [КОМАНДА]" +msgid "git help [--all] [--guides] [--man | --web | --info] []" +msgstr "git help [--all] [--guides] [--man | --web | --info] [КОМАНДА]" #: builtin/help.c:64 #, c-format @@ -6218,63 +6259,63 @@ msgstr "" "„%s“: команда за поддържана програма за преглед на\n" " ръководството. Вместо нея пробвайте „man..path“." -#: builtin/help.c:352 +#: builtin/help.c:354 #, c-format msgid "'%s': unknown man viewer." msgstr "„%s“: непозната програма за преглед на ръководството." -#: builtin/help.c:369 +#: builtin/help.c:371 msgid "no man viewer handled the request" msgstr "никоя програма за преглед на ръководство не успя да обработи заявката" -#: builtin/help.c:377 +#: builtin/help.c:379 msgid "no info viewer handled the request" msgstr "" "никоя програма за преглед на информационните страници не успя да обработи " "заявката" -#: builtin/help.c:423 +#: builtin/help.c:428 msgid "Defining attributes per path" msgstr "Указване на атрибути към път" -#: builtin/help.c:424 +#: builtin/help.c:429 msgid "Everyday Git With 20 Commands Or So" msgstr "Ежедневието в Git в рамките на 20-ина команди" -#: builtin/help.c:425 +#: builtin/help.c:430 msgid "A Git glossary" msgstr "Речник с термините на Git" -#: builtin/help.c:426 +#: builtin/help.c:431 msgid "Specifies intentionally untracked files to ignore" msgstr "Указване на неследени файлове, които да бъдат нарочно пренебрегвани" -#: builtin/help.c:427 +#: builtin/help.c:432 msgid "Defining submodule properties" msgstr "Дефиниране на свойствата на подмодулите" -#: builtin/help.c:428 +#: builtin/help.c:433 msgid "Specifying revisions and ranges for Git" msgstr "Указване на версии и интервали в Git" -#: builtin/help.c:429 +#: builtin/help.c:434 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "Въвеждащ урок за Git (версии поне 1.5.1)" -#: builtin/help.c:430 +#: builtin/help.c:435 msgid "An overview of recommended workflows with Git" msgstr "Общ преглед на препоръчваните начини за работа с Git" -#: builtin/help.c:442 +#: builtin/help.c:447 msgid "The common Git guides are:\n" msgstr "Популярните пътеводители в Git са:\n" -#: builtin/help.c:463 builtin/help.c:480 +#: builtin/help.c:468 builtin/help.c:485 #, c-format msgid "usage: %s%s" msgstr "употреба: %s%s" -#: builtin/help.c:496 +#: builtin/help.c:501 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "„git %s“ е синоним на „%s“" @@ -6388,8 +6429,8 @@ msgstr "" "СЪВПАДЕНИЕ НА СТОЙНОСТИТЕ ЗА СУМИТЕ ЗА SHA1: „%s“ НА ДВА РАЗЛИЧНИ ОБЕКТА!" # FIXME merge with next? -#: builtin/index-pack.c:689 builtin/pack-objects.c:164 -#: builtin/pack-objects.c:256 +#: builtin/index-pack.c:689 builtin/pack-objects.c:162 +#: builtin/pack-objects.c:254 #, c-format msgid "unable to read %s" msgstr "обектът „%s“ не може да бъде прочетен" @@ -6487,74 +6528,74 @@ msgid_plural "pack has %d unresolved deltas" msgstr[0] "в пакета има %d ненапасваща разлика" msgstr[1] "в пакета има %d ненапасващи разлики" -#: builtin/index-pack.c:1220 +#: builtin/index-pack.c:1219 #, c-format msgid "unable to deflate appended object (%d)" msgstr "добавеният обект не може да се компресира с „deflate“: %d" -#: builtin/index-pack.c:1299 +#: builtin/index-pack.c:1298 #, c-format msgid "local object %s is corrupt" msgstr "локалният обект „%s“ е повреден" -#: builtin/index-pack.c:1323 +#: builtin/index-pack.c:1322 msgid "error while closing pack file" msgstr "грешка при затварянето на пакетния файл" -#: builtin/index-pack.c:1336 +#: builtin/index-pack.c:1335 #, c-format msgid "cannot write keep file '%s'" msgstr "" "грешка при записването на файла „%s“, осигуряващ запазване на директория" -#: builtin/index-pack.c:1344 +#: builtin/index-pack.c:1343 #, c-format msgid "cannot close written keep file '%s'" msgstr "" "грешка при затварянето на записания файл „%s“, осигуряващ запазване на " "директория" -#: builtin/index-pack.c:1357 +#: builtin/index-pack.c:1356 msgid "cannot store pack file" msgstr "пакетният файл не може да бъде запазен" -#: builtin/index-pack.c:1368 +#: builtin/index-pack.c:1367 msgid "cannot store index file" msgstr "файлът за индекса не може да бъде съхранен" -#: builtin/index-pack.c:1401 +#: builtin/index-pack.c:1400 #, c-format msgid "bad pack.indexversion=%" msgstr "зададена е неправилна версия пакетиране: „pack.indexversion=%“" -#: builtin/index-pack.c:1407 +#: builtin/index-pack.c:1406 #, c-format msgid "invalid number of threads specified (%d)" msgstr "зададен е неправилен брой нишки: %d" -#: builtin/index-pack.c:1411 builtin/index-pack.c:1590 +#: builtin/index-pack.c:1410 builtin/index-pack.c:1589 #, c-format msgid "no threads support, ignoring %s" msgstr "липсва поддръжка за нишки. „%s“ ще се пренебрегне" -#: builtin/index-pack.c:1469 +#: builtin/index-pack.c:1468 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Съществуващият пакетен файл „%s“ не може да бъде отворен" -#: builtin/index-pack.c:1471 +#: builtin/index-pack.c:1470 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Съществуващият индекс за пакетния файл „%s“ не може да бъде отворен" -#: builtin/index-pack.c:1518 +#: builtin/index-pack.c:1517 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "%d обект не е разлика" msgstr[1] "%d обекта не са разлика" -#: builtin/index-pack.c:1525 +#: builtin/index-pack.c:1524 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" @@ -6562,26 +6603,26 @@ msgstr[0] "дължината на веригата е %d: %lu обект" msgstr[1] "дължината на веригата е %d: %lu обекта" # FIXME it is not the cwd it is the previous cwd -#: builtin/index-pack.c:1554 +#: builtin/index-pack.c:1553 msgid "Cannot come back to cwd" msgstr "Процесът не може да се върне към предишната работна директория" -#: builtin/index-pack.c:1602 builtin/index-pack.c:1605 -#: builtin/index-pack.c:1617 builtin/index-pack.c:1621 +#: builtin/index-pack.c:1601 builtin/index-pack.c:1604 +#: builtin/index-pack.c:1616 builtin/index-pack.c:1620 #, c-format msgid "bad %s" msgstr "неправилна стойност „%s“" -#: builtin/index-pack.c:1635 +#: builtin/index-pack.c:1634 msgid "--fix-thin cannot be used without --stdin" msgstr "опцията „--fix-thin“ изисква „--stdin“" -#: builtin/index-pack.c:1639 builtin/index-pack.c:1648 +#: builtin/index-pack.c:1638 builtin/index-pack.c:1647 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "името на пакетния файл „%s“ не завършва на „.pack“" -#: builtin/index-pack.c:1656 +#: builtin/index-pack.c:1655 msgid "--verify with no packfile name given" msgstr "опцията „--verify“ изисква име на пакетен файл" @@ -6638,38 +6679,38 @@ msgid "ignoring template %s" msgstr "игнориране на шаблона „%s“" # FIXME bad word insanely -#: builtin/init-db.c:133 +#: builtin/init-db.c:136 #, c-format msgid "insanely long template path %s" msgstr "твърде дълъг път към шаблон: „%s“" -#: builtin/init-db.c:141 +#: builtin/init-db.c:144 #, c-format msgid "templates not found %s" msgstr "директорията с шаблоните не е открита: „%s“" -#: builtin/init-db.c:154 +#: builtin/init-db.c:157 #, c-format msgid "not copying templates of a wrong format version %d from '%s'" msgstr "" "шаблоните с неправилен номер на формата %d няма да бъдат копирани от „%s“" -#: builtin/init-db.c:192 +#: builtin/init-db.c:197 #, c-format msgid "insane git directory %s" msgstr "твърде дълго име на директория на Git: „%s“" -#: builtin/init-db.c:323 builtin/init-db.c:326 +#: builtin/init-db.c:331 builtin/init-db.c:334 #, c-format msgid "%s already exists" msgstr "Директорията „%s“ вече съществува" -#: builtin/init-db.c:355 +#: builtin/init-db.c:363 #, c-format msgid "unable to handle file type %d" msgstr "файлове от вид %d не се поддържат" -#: builtin/init-db.c:358 +#: builtin/init-db.c:366 #, c-format msgid "unable to move %s to %s" msgstr "„%s“ не може да се премести в „%s“" @@ -6677,56 +6718,56 @@ msgstr "„%s“ не може да се премести в „%s“" #. TRANSLATORS: The first '%s' is either "Reinitialized #. existing" or "Initialized empty", the second " shared" or #. "", and the last '%s%s' is the verbatim directory name. -#: builtin/init-db.c:418 +#: builtin/init-db.c:426 #, c-format msgid "%s%s Git repository in %s%s\n" msgstr "%s%s хранилище на Git в „%s%s“\n" -#: builtin/init-db.c:419 +#: builtin/init-db.c:427 msgid "Reinitialized existing" msgstr "Наново инициализирано, съществуващо" -#: builtin/init-db.c:419 +#: builtin/init-db.c:427 msgid "Initialized empty" msgstr "Инициализирано празно" -#: builtin/init-db.c:420 +#: builtin/init-db.c:428 msgid " shared" msgstr ", споделено" -#: builtin/init-db.c:467 +#: builtin/init-db.c:475 msgid "" "git init [-q | --quiet] [--bare] [--template=] [--" -"shared[=]] [directory]" +"shared[=]] []" msgstr "" "git init [-q | --quiet] [--bare] [--template=ДИРЕКТОРИЯ_С_ШАБЛОНИ] [--" "shared[=ПРАВА]] [ДИРЕКТОРИЯ]" -#: builtin/init-db.c:490 +#: builtin/init-db.c:498 msgid "permissions" msgstr "права" -#: builtin/init-db.c:491 +#: builtin/init-db.c:499 msgid "specify that the git repository is to be shared amongst several users" msgstr "" "указване, че хранилището на Git ще бъде споделено от повече от един " "потребител" -#: builtin/init-db.c:493 builtin/prune-packed.c:57 builtin/repack.c:172 +#: builtin/init-db.c:501 builtin/prune-packed.c:57 builtin/repack.c:171 msgid "be quiet" msgstr "без извеждане на информация" -#: builtin/init-db.c:525 builtin/init-db.c:530 +#: builtin/init-db.c:533 builtin/init-db.c:538 #, c-format msgid "cannot mkdir %s" msgstr "директорията „%s“ не може да бъде създадена" -#: builtin/init-db.c:534 +#: builtin/init-db.c:542 #, c-format msgid "cannot chdir to %s" msgstr "не може да се влезе в директорията „%s“" -#: builtin/init-db.c:555 +#: builtin/init-db.c:563 #, c-format msgid "" "%s (or --work-tree=) not allowed without specifying %s (or --git-" @@ -6735,7 +6776,7 @@ msgstr "" "%s (или --work-tree=ДИРЕКТОРИЯ) изисква указването на %s (или --git-" "dir=ДИРЕКТОРИЯ)" -#: builtin/init-db.c:583 +#: builtin/init-db.c:591 #, c-format msgid "Cannot access work tree '%s'" msgstr "Работното дърво в „%s“ е недостъпно" @@ -6761,12 +6802,12 @@ msgid "trailer(s) to add" msgstr "епилог(зи) за добавяне" #: builtin/log.c:41 -msgid "git log [] [] [[--] ...]\n" -msgstr "git log [ОПЦИЯ…] [ДИАПАЗОН_НА_ВЕРСИИТЕ] [[--] ПЪТ…]\n" +msgid "git log [] [] [[--] ...]" +msgstr "git log [ОПЦИЯ…] [ДИАПАЗОН_НА_ВЕРСИИТЕ] [[--] ПЪТ…]" #: builtin/log.c:42 -msgid " or: git show [options] ..." -msgstr " или: git show [ОПЦИЯ…] ОБЕКТ…" +msgid "git show [] ..." +msgstr "git show [ОПЦИЯ…] ОБЕКТ…" #: builtin/log.c:81 #, c-format @@ -6849,7 +6890,7 @@ msgid "insane in-reply-to: %s" msgstr "неправилен формат на заглавната част за отговор „in-reply-to“: %s" #: builtin/log.c:1026 -msgid "git format-patch [options] [ | ]" +msgid "git format-patch [] [ | ]" msgstr "git format-patch [ОПЦИЯ…] [ОТ | ДИАПАЗОН_НА_ВЕРСИИТЕ]" # FIXME message WTF why ask it @@ -7057,98 +7098,98 @@ msgstr "" msgid "Unknown commit %s" msgstr "Непознато подаване „%s“" -#: builtin/ls-files.c:401 -msgid "git ls-files [options] [...]" +#: builtin/ls-files.c:358 +msgid "git ls-files [] [...]" msgstr "git ls-files [ОПЦИЯ…] [ФАЙЛ…]" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:415 msgid "identify the file status with tags" msgstr "извеждане на състоянието на файловете с еднобуквени флагове" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:417 msgid "use lowercase letters for 'assume unchanged' files" msgstr "малки букви за файловете, които да се счетат за непроменени" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:419 msgid "show cached files in the output (default)" msgstr "извеждане на кешираните файлове (стандартно)" -#: builtin/ls-files.c:464 +#: builtin/ls-files.c:421 msgid "show deleted files in the output" msgstr "извеждане на изтритите файлове" -#: builtin/ls-files.c:466 +#: builtin/ls-files.c:423 msgid "show modified files in the output" msgstr "извеждане на променените файлове" -#: builtin/ls-files.c:468 +#: builtin/ls-files.c:425 msgid "show other files in the output" msgstr "извеждане на другите файлове" -#: builtin/ls-files.c:470 +#: builtin/ls-files.c:427 msgid "show ignored files in the output" msgstr "извеждане на игнорираните файлове" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:430 msgid "show staged contents' object name in the output" msgstr "извеждане на името на обекта за съдържанието на индекса" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:432 msgid "show files on the filesystem that need to be removed" msgstr "извеждане на файловете, които трябва да бъдат изтрити" -#: builtin/ls-files.c:477 +#: builtin/ls-files.c:434 msgid "show 'other' directories' names only" msgstr "извеждане само на името на другите (неследените) директории" -#: builtin/ls-files.c:480 +#: builtin/ls-files.c:437 msgid "don't show empty directories" msgstr "без извеждане на празните директории" -#: builtin/ls-files.c:483 +#: builtin/ls-files.c:440 msgid "show unmerged files in the output" msgstr "извеждане на неслетите файлове" # FIXME not clear about what this option does -#: builtin/ls-files.c:485 +#: builtin/ls-files.c:442 msgid "show resolve-undo information" msgstr "извеждане на информацията за отмяна на разрешените подавания" -#: builtin/ls-files.c:487 +#: builtin/ls-files.c:444 msgid "skip files matching pattern" msgstr "прескачане на файловете напасващи ШАБЛОНа" -#: builtin/ls-files.c:490 +#: builtin/ls-files.c:447 msgid "exclude patterns are read from " msgstr "шаблоните за игнориране да се прочетат от този ФАЙЛ" -#: builtin/ls-files.c:493 +#: builtin/ls-files.c:450 msgid "read additional per-directory exclude patterns in " msgstr "" "изчитане на допълнителните шаблони за игнориране по директория от този ФАЙЛ" -#: builtin/ls-files.c:495 +#: builtin/ls-files.c:452 msgid "add the standard git exclusions" msgstr "добавяне на стандартно игнорираните от Git файлове" -#: builtin/ls-files.c:498 +#: builtin/ls-files.c:455 msgid "make the output relative to the project top directory" msgstr "пътищата да са относителни спрямо основната директория на проекта" -#: builtin/ls-files.c:501 +#: builtin/ls-files.c:458 msgid "if any is not in the index, treat this as an error" msgstr "грешка, ако някой от тези ФАЙЛове не е в индекса" -#: builtin/ls-files.c:502 +#: builtin/ls-files.c:459 msgid "tree-ish" msgstr "УКАЗАТЕЛ_КЪМ_ДЪРВО" -#: builtin/ls-files.c:503 +#: builtin/ls-files.c:460 msgid "pretend that paths removed since are still present" msgstr "" "считане, че пътищата изтрити след УКАЗАТЕЛя_КЪМ_ДЪРВО все още съществуват" -#: builtin/ls-files.c:505 +#: builtin/ls-files.c:462 msgid "show debugging data" msgstr "извеждане на информацията за изчистване на грешки" @@ -7156,219 +7197,219 @@ msgstr "извеждане на информацията за изчистван msgid "git ls-tree [] [...]" msgstr "git ls-tree [ОПЦИЯ…] УКАЗАТЕЛ_КЪМ_ДЪРВО [ПЪТ…]" -#: builtin/ls-tree.c:126 +#: builtin/ls-tree.c:127 msgid "only show trees" msgstr "извеждане само на дървета" -#: builtin/ls-tree.c:128 +#: builtin/ls-tree.c:129 msgid "recurse into subtrees" msgstr "рекурсивно обхождане поддърветата" -#: builtin/ls-tree.c:130 +#: builtin/ls-tree.c:131 msgid "show trees when recursing" msgstr "извеждане на дърветата при рекурсивното обхождане" -#: builtin/ls-tree.c:133 +#: builtin/ls-tree.c:134 msgid "terminate entries with NUL byte" msgstr "разделяне на обектите с нулевия знак „NUL“" -#: builtin/ls-tree.c:134 +#: builtin/ls-tree.c:135 msgid "include object size" msgstr "извеждане на размера на обекта" -#: builtin/ls-tree.c:136 builtin/ls-tree.c:138 +#: builtin/ls-tree.c:137 builtin/ls-tree.c:139 msgid "list only filenames" msgstr "извеждане само имената на файловете" -#: builtin/ls-tree.c:141 +#: builtin/ls-tree.c:142 msgid "use full path names" msgstr "използване на пълните имена на пътищата" -#: builtin/ls-tree.c:143 +#: builtin/ls-tree.c:144 msgid "list entire tree; not just current directory (implies --full-name)" msgstr "" "извеждане на цялото дърво, не само на текущата директория (включва опцията " "„--full-name“)" -#: builtin/merge.c:44 -msgid "git merge [options] [...]" +#: builtin/merge.c:45 +msgid "git merge [] [...]" msgstr "git merge [ОПЦИЯ…] [ПОДАВАНЕ…]" -#: builtin/merge.c:45 -msgid "git merge [options] HEAD " +#: builtin/merge.c:46 +msgid "git merge [] HEAD " msgstr "git merge [ОПЦИЯ…] СЪОБЩЕНИЕ HEAD ПОДАВАНЕ" -#: builtin/merge.c:46 +#: builtin/merge.c:47 msgid "git merge --abort" msgstr "git merge --abort" # FIXME -m rather than just m -#: builtin/merge.c:99 +#: builtin/merge.c:100 msgid "switch `m' requires a value" msgstr "опцията „-m“ изисква стойност" -#: builtin/merge.c:136 +#: builtin/merge.c:137 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "Няма такава стратегия за сливане: „%s“.\n" -#: builtin/merge.c:137 +#: builtin/merge.c:138 #, c-format msgid "Available strategies are:" msgstr "Наличните стратегии са:" -#: builtin/merge.c:142 +#: builtin/merge.c:143 #, c-format msgid "Available custom strategies are:" msgstr "Допълнителните стратегии са:" -#: builtin/merge.c:192 +#: builtin/merge.c:193 msgid "do not show a diffstat at the end of the merge" msgstr "без извеждане на статистиката след завършване на сливане" -#: builtin/merge.c:195 +#: builtin/merge.c:196 msgid "show a diffstat at the end of the merge" msgstr "извеждане на статистиката след завършване на сливане" -#: builtin/merge.c:196 +#: builtin/merge.c:197 msgid "(synonym to --stat)" msgstr "(синоним на „--stat“)" -#: builtin/merge.c:198 +#: builtin/merge.c:199 msgid "add (at most ) entries from shortlog to merge commit message" msgstr "" "добавяне (на максимум такъв БРОЙ) записи от съкратения журнал в съобщението " "за подаване" -#: builtin/merge.c:201 +#: builtin/merge.c:202 msgid "create a single commit instead of doing a merge" msgstr "създаване на едно подаване вместо извършване на сливане" -#: builtin/merge.c:203 +#: builtin/merge.c:204 msgid "perform a commit if the merge succeeds (default)" msgstr "извършване на подаване при успешно сливане (стандартно действие)" -#: builtin/merge.c:205 +#: builtin/merge.c:206 msgid "edit message before committing" msgstr "редактиране на съобщението преди подаване" -#: builtin/merge.c:206 +#: builtin/merge.c:207 msgid "allow fast-forward (default)" msgstr "позволяване на тривиално сливане (стандартно действие)" -#: builtin/merge.c:208 +#: builtin/merge.c:209 msgid "abort if fast-forward is not possible" msgstr "преустановяване, ако сливането не е тривиално" -#: builtin/merge.c:212 +#: builtin/merge.c:213 msgid "Verify that the named commit has a valid GPG signature" msgstr "Проверка, че именуваното подаване е с правилен подпис на GPG" -#: builtin/merge.c:213 builtin/notes.c:741 builtin/revert.c:89 +#: builtin/merge.c:214 builtin/notes.c:753 builtin/revert.c:89 msgid "strategy" msgstr "стратегия" -#: builtin/merge.c:214 +#: builtin/merge.c:215 msgid "merge strategy to use" msgstr "стратегия за сливане, която да се ползва" -#: builtin/merge.c:215 +#: builtin/merge.c:216 msgid "option=value" msgstr "опция=стойност" -#: builtin/merge.c:216 +#: builtin/merge.c:217 msgid "option for selected merge strategy" msgstr "опция за избраната стратегия за сливане" -#: builtin/merge.c:218 +#: builtin/merge.c:219 msgid "merge commit message (for a non-fast-forward merge)" msgstr "съобщение при подаването със сливане (при нетривиални сливания)" -#: builtin/merge.c:222 +#: builtin/merge.c:223 msgid "abort the current in-progress merge" msgstr "преустановяване на текущото сливане" -#: builtin/merge.c:250 +#: builtin/merge.c:251 msgid "could not run stash." msgstr "не може да се извърши скатаване" -#: builtin/merge.c:255 +#: builtin/merge.c:256 msgid "stash failed" msgstr "неуспешно скатаване" -#: builtin/merge.c:260 +#: builtin/merge.c:261 #, c-format msgid "not a valid object: %s" msgstr "неправилен обект: „%s“" -#: builtin/merge.c:279 builtin/merge.c:296 +#: builtin/merge.c:280 builtin/merge.c:297 msgid "read-tree failed" msgstr "неуспешно прочитане на обект-дърво" -#: builtin/merge.c:326 +#: builtin/merge.c:327 msgid " (nothing to squash)" msgstr " (няма какво да се смачка)" -#: builtin/merge.c:339 +#: builtin/merge.c:340 #, c-format msgid "Squash commit -- not updating HEAD\n" msgstr "Подаване със смачкване — указателят „HEAD“ няма да бъде обновен\n" -#: builtin/merge.c:371 +#: builtin/merge.c:372 msgid "Writing SQUASH_MSG" msgstr "Записване на съобщението за смачкване SQUASH_MSG" -#: builtin/merge.c:373 +#: builtin/merge.c:374 msgid "Finishing SQUASH_MSG" msgstr "Завършване на съобщението за смачкване SQUASH_MSG" -#: builtin/merge.c:396 +#: builtin/merge.c:397 #, c-format msgid "No merge message -- not updating HEAD\n" msgstr "" "Липсва съобщение при подаване — указателят „HEAD“ няма да бъде обновен\n" -#: builtin/merge.c:446 +#: builtin/merge.c:447 #, c-format msgid "'%s' does not point to a commit" msgstr "„%s“ не сочи към подаване" -#: builtin/merge.c:558 +#: builtin/merge.c:559 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Неправилен низ за настройката „branch.%s.mergeoptions“: „%s“" -#: builtin/merge.c:653 +#: builtin/merge.c:654 msgid "git write-tree failed to write a tree" msgstr "Командата „git write-tree“ не успя да запише обект-дърво" -#: builtin/merge.c:677 +#: builtin/merge.c:678 msgid "Not handling anything other than two heads merge." msgstr "Поддържа се само сливане на точно две истории." -#: builtin/merge.c:691 +#: builtin/merge.c:692 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Непозната опция за рекурсивното сливане „merge-recursive“: „-X%s“" -#: builtin/merge.c:704 +#: builtin/merge.c:705 #, c-format msgid "unable to write %s" msgstr "„%s“ не може да бъде записан" -#: builtin/merge.c:793 +#: builtin/merge.c:794 #, c-format msgid "Could not read from '%s'" msgstr "От „%s“ не може да се чете" -#: builtin/merge.c:802 +#: builtin/merge.c:803 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Сливането няма да бъде подадено. За завършването му и подаването му " "използвайте командата „git commit“.\n" -#: builtin/merge.c:808 +#: builtin/merge.c:809 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7383,50 +7424,50 @@ msgstr "" "Редовете, които започват с „%c“ ще бъдат пропуснати, а празно съобщение\n" "преустановява подаването.\n" -#: builtin/merge.c:832 +#: builtin/merge.c:833 msgid "Empty commit message." msgstr "Празно съобщение при подаване." # FIXME - WTF is wonderful. -#: builtin/merge.c:844 +#: builtin/merge.c:845 #, c-format msgid "Wonderful.\n" msgstr "Първият етап на тривиалното сливане завърши.\n" -#: builtin/merge.c:907 +#: builtin/merge.c:900 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "Неуспешно сливане — коригирайте конфликтите и подайте резултата.\n" -#: builtin/merge.c:923 +#: builtin/merge.c:916 #, c-format msgid "'%s' is not a commit" msgstr "„%s“ не е подаване" -#: builtin/merge.c:964 +#: builtin/merge.c:957 msgid "No current branch." msgstr "Няма текущ клон." -#: builtin/merge.c:966 +#: builtin/merge.c:959 msgid "No remote for the current branch." msgstr "Текущият клон не следи никой." -#: builtin/merge.c:968 +#: builtin/merge.c:961 msgid "No default upstream defined for the current branch." msgstr "Текущият клон не следи никой клон." -#: builtin/merge.c:973 +#: builtin/merge.c:966 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Никой клон не следи клона „%s“ от хранилището „%s“" -#: builtin/merge.c:1129 +#: builtin/merge.c:1122 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "" "Не може да преустановите сливане, защото в момента не се извършва такова " "(липсва указател „MERGE_HEAD“)." -#: builtin/merge.c:1145 +#: builtin/merge.c:1138 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7434,11 +7475,11 @@ msgstr "" "Не сте завършили сливане. (Указателят „MERGE_HEAD“ съществува).\n" "Подайте промените си, преди да започнете ново сливане." -#: builtin/merge.c:1148 git-pull.sh:34 +#: builtin/merge.c:1141 git-pull.sh:34 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Не сте завършили сливане. (Указателят „MERGE_HEAD“ съществува)." -#: builtin/merge.c:1152 +#: builtin/merge.c:1145 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7446,111 +7487,111 @@ msgstr "" "Не сте завършили отбиране на подаване (указателят „CHERRY_PICK_HEAD“\n" "съществува). Подайте промените си, преди да започнете ново сливане." -#: builtin/merge.c:1155 +#: builtin/merge.c:1148 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "" "Не сте завършили отбиране на подаване (указателят „CHERRY_PICK_HEAD“\n" "съществува)." -#: builtin/merge.c:1164 +#: builtin/merge.c:1157 msgid "You cannot combine --squash with --no-ff." msgstr "Опцията „--squash“ е несъвместима с „--no-ff“." -#: builtin/merge.c:1173 +#: builtin/merge.c:1166 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "" "Не е указано подаване и настройката „merge.defaultToUpstream“ не е зададена." -#: builtin/merge.c:1205 +#: builtin/merge.c:1198 msgid "Can merge only exactly one commit into empty head" msgstr "Можете да слеете точно едно подаване във връх без история" -#: builtin/merge.c:1208 +#: builtin/merge.c:1201 msgid "Squash commit into empty head not supported yet" msgstr "Подаване със смачкване във връх без история все още не се поддържа" -#: builtin/merge.c:1210 +#: builtin/merge.c:1203 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" "Понеже върхът е без история, всички сливания са тривиални, не може да се " "извърши нетривиално сливане изисквано от опцията „--no-ff“" -#: builtin/merge.c:1215 +#: builtin/merge.c:1208 #, c-format msgid "%s - not something we can merge" msgstr "„%s“ — не е нещо, което може да се слее" -#: builtin/merge.c:1266 +#: builtin/merge.c:1259 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "Подаването „%s“ е с недоверен подпис от GPG, който твърди, че е на „%s“." -#: builtin/merge.c:1269 +#: builtin/merge.c:1262 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "" "Подаването „%s“ е с неправилен подпис от GPG, който твърди, че е на „%s“." -#: builtin/merge.c:1272 +#: builtin/merge.c:1265 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Подаването „%s“ е без подпис от GPG." -#: builtin/merge.c:1275 +#: builtin/merge.c:1268 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Подаването „%s“ е с коректен подпис от GPG на „%s“.\n" -#: builtin/merge.c:1356 +#: builtin/merge.c:1349 #, c-format msgid "Updating %s..%s\n" msgstr "Обновяване „%s..%s“\n" -#: builtin/merge.c:1395 +#: builtin/merge.c:1388 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Проба с най-тривиалното сливане в рамките на индекса…\n" # FIXME WTF message -#: builtin/merge.c:1402 +#: builtin/merge.c:1395 #, c-format msgid "Nope.\n" msgstr "Неуспешно сливане.\n" -#: builtin/merge.c:1434 +#: builtin/merge.c:1427 msgid "Not possible to fast-forward, aborting." msgstr "" "Не може да се извърши тривиално сливане, преустановяване на действието." -#: builtin/merge.c:1457 builtin/merge.c:1536 +#: builtin/merge.c:1450 builtin/merge.c:1529 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Привеждане на дървото към първоначалното…\n" -#: builtin/merge.c:1461 +#: builtin/merge.c:1454 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Пробване със стратегията за сливане „%s“…\n" -#: builtin/merge.c:1527 +#: builtin/merge.c:1520 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Никоя стратегия за сливане не може да извърши сливането.\n" -#: builtin/merge.c:1529 +#: builtin/merge.c:1522 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Неуспешно сливане със стратегия „%s“.\n" -#: builtin/merge.c:1538 +#: builtin/merge.c:1531 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "" "Ползва се стратегията „%s“, която ще подготви дървото за коригиране на " "ръка.\n" -#: builtin/merge.c:1550 +#: builtin/merge.c:1543 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -7558,12 +7599,12 @@ msgstr "" "защото бе зададена опцията „--no-commit“.\n" #: builtin/merge-base.c:29 -msgid "git merge-base [-a|--all] ..." -msgstr "git merge-base [-a|--all] ПОДАВАНЕ ПОДАВАНЕ…" +msgid "git merge-base [-a | --all] ..." +msgstr "git merge-base [-a | --all] ПОДАВАНЕ ПОДАВАНЕ…" #: builtin/merge-base.c:30 -msgid "git merge-base [-a|--all] --octopus ..." -msgstr "git merge-base [-a|--all] --octopus ПОДАВАНЕ…" +msgid "git merge-base [-a | --all] --octopus ..." +msgstr "git merge-base [-a | --all] --octopus ПОДАВАНЕ…" #: builtin/merge-base.c:31 msgid "git merge-base --independent ..." @@ -7600,8 +7641,8 @@ msgstr "откриване къде ПОДАВАНЕто се е отклони #: builtin/merge-file.c:8 msgid "" -"git merge-file [options] [-L name1 [-L orig [-L name2]]] file1 orig_file " -"file2" +"git merge-file [] [-L [-L [-L ]]] " +" " msgstr "" "git merge-file [ОПЦИЯ…] [-L ИМЕ_1 [-L ОРИГИНАЛ [-L ИМЕ_2]]] ФАЙЛ_1 ОРИГ_ФАЙЛ " "ФАЙЛ_2" @@ -7635,7 +7676,7 @@ msgid "do not warn about conflicts" msgstr "без предупреждения при конфликти" #: builtin/merge-file.c:45 -msgid "set labels for file1/orig_file/file2" +msgid "set labels for file1/orig-file/file2" msgstr "задаване на етикети за ФАЙЛ_1/ОРИГИНАЛ/ФАЙЛ_2" #: builtin/mktree.c:64 @@ -7655,7 +7696,7 @@ msgid "allow creation of more than one tree" msgstr "разрешаване на създаването на повече от едно дърво" #: builtin/mv.c:15 -msgid "git mv [options] ... " +msgid "git mv [] ... " msgstr "git mv [ОПЦИЯ…] ОБЕКТ… ЦЕЛ" # FIXME message< @@ -7745,21 +7786,21 @@ msgstr "%s, обект: „%s“, цел: „%s“" msgid "Renaming %s to %s\n" msgstr "Преименуване на „%s“ на „%s“\n" -#: builtin/mv.c:256 builtin/remote.c:726 builtin/repack.c:358 +#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:359 #, c-format msgid "renaming '%s' failed" msgstr "неуспешно преименуване на „%s“" #: builtin/name-rev.c:255 -msgid "git name-rev [options] ..." +msgid "git name-rev [] ..." msgstr "git name-rev [ОПЦИЯ…] ПОДАВАНЕ…" #: builtin/name-rev.c:256 -msgid "git name-rev [options] --all" +msgid "git name-rev [] --all" msgstr "git name-rev [ОПЦИЯ…] --all" #: builtin/name-rev.c:257 -msgid "git name-rev [options] --stdin" +msgid "git name-rev [] --stdin" msgstr "git name-rev [ОПЦИЯ…] --stdin" # FIXME sha @@ -7794,41 +7835,41 @@ msgid "dereference tags in the input (internal use)" msgstr "извеждане на идентификаторите на обекти-етикети (за вътрешни нужди)" #: builtin/notes.c:24 -msgid "git notes [--ref ] [list []]" +msgid "git notes [--ref ] [list []]" msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] [list [ОБЕКТ]]" #: builtin/notes.c:25 msgid "" -"git notes [--ref ] add [-f] [-m | -F | (-c | -C) " -"] []" +"git notes [--ref ] add [-f] [--allow-empty] [-m | -F " +"| (-c | -C) ] []" msgstr "" -"git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] add [-f] [-m СЪОБЩЕНИЕ | -F ФАЙЛ | (-c " -"| -C) ОБЕКТ] [ОБЕКТ]" +"git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] add [-f] [--allow-empty] [-m СЪОБЩЕНИЕ " +"| -F ФАЙЛ | (-c | -C) ОБЕКТ] [ОБЕКТ]" #: builtin/notes.c:26 -msgid "git notes [--ref ] copy [-f] " +msgid "git notes [--ref ] copy [-f] " msgstr "" "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] copy [-f] ОБЕКТ_ИЗТОЧНИК ОБЕКТ_ЦЕЛ" #: builtin/notes.c:27 msgid "" -"git notes [--ref ] append [-m | -F | (-c | -C) " -"] []" +"git notes [--ref ] append [--allow-empty] [-m | -F | " +"(-c | -C) ] []" msgstr "" -"git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] append [-m СЪОБЩЕНИЕ | -F ФАЙЛ | (-c | " -"-C) ОБЕКТ] [ОБЕКТ]" +"git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] append [--allow-empty] [-m СЪОБЩЕНИЕ | " +"-F ФАЙЛ | (-c | -C) ОБЕКТ] [ОБЕКТ]" #: builtin/notes.c:28 -msgid "git notes [--ref ] edit []" -msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] edit [ОБЕКТ]" +msgid "git notes [--ref ] edit [--allow-empty] []" +msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] edit [--allow-empty] [ОБЕКТ]" #: builtin/notes.c:29 -msgid "git notes [--ref ] show []" +msgid "git notes [--ref ] show []" msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] show [ОБЕКТ]" #: builtin/notes.c:30 msgid "" -"git notes [--ref ] merge [-v | -q] [-s ] " +"git notes [--ref ] merge [-v | -q] [-s ] " msgstr "" "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] merge [-v | -q] [-s СТРАТЕГИЯ] " "УКАЗАТЕЛ_ЗА_БЕЛЕЖКА" @@ -7842,15 +7883,15 @@ msgid "git notes merge --abort [-v | -q]" msgstr "git notes merge --abort [-v | -q]" #: builtin/notes.c:33 -msgid "git notes [--ref ] remove [...]" +msgid "git notes [--ref ] remove [...]" msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] remove [ОБЕКТ…]" #: builtin/notes.c:34 -msgid "git notes [--ref ] prune [-n | -v]" +msgid "git notes [--ref ] prune [-n | -v]" msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] prune [-n | -v]" #: builtin/notes.c:35 -msgid "git notes [--ref ] get-ref" +msgid "git notes [--ref ] get-ref" msgstr "git notes [--ref УКАЗАТЕЛ_ЗА_БЕЛЕЖКА] get-ref" #: builtin/notes.c:40 @@ -7882,7 +7923,7 @@ msgid "git notes show []" msgstr "git notes show [ОБЕКТ]" #: builtin/notes.c:71 -msgid "git notes merge [] " +msgid "git notes merge [] " msgstr "git notes merge [ОПЦИЯ…] УКАЗАТЕЛ_ЗА_БЕЛЕЖКА" #: builtin/notes.c:72 @@ -7905,119 +7946,118 @@ msgstr "git notes prune [ОПЦИЯ…]" msgid "git notes get-ref" msgstr "git notes get-ref" -#: builtin/notes.c:136 +#: builtin/notes.c:146 #, c-format msgid "unable to start 'show' for object '%s'" msgstr "действието „show“ не може да се изпълни за обект „%s“" -#: builtin/notes.c:140 +#: builtin/notes.c:150 msgid "could not read 'show' output" msgstr "изведената информация от действието „show“ не може да се прочете" -#: builtin/notes.c:148 +#: builtin/notes.c:158 #, c-format msgid "failed to finish 'show' for object '%s'" msgstr "действието „show“ не може да се завърши за обект „%s“" -#: builtin/notes.c:166 builtin/tag.c:477 +#: builtin/notes.c:173 builtin/tag.c:477 #, c-format msgid "could not create file '%s'" msgstr "файлът „%s“ не може да бъде създаден" -#: builtin/notes.c:185 +#: builtin/notes.c:192 msgid "Please supply the note contents using either -m or -F option" msgstr "Задайте съдържанието на бележката с някоя от опциите „-m“ или „-F“" -#: builtin/notes.c:206 builtin/notes.c:847 -#, c-format -msgid "Removing note for object %s\n" -msgstr "Изтриване на бележката за обекта „%s“\n" - -#: builtin/notes.c:211 +#: builtin/notes.c:201 msgid "unable to write note object" msgstr "обектът-бележка не може да бъде записан" -#: builtin/notes.c:213 +#: builtin/notes.c:203 #, c-format msgid "The note contents have been left in %s" msgstr "Съдържанието на бележката е във файла „%s“" -#: builtin/notes.c:247 builtin/tag.c:693 +#: builtin/notes.c:231 builtin/tag.c:693 #, c-format msgid "cannot read '%s'" msgstr "файлът „%s“ не може да бъде прочетен" -#: builtin/notes.c:249 builtin/tag.c:696 +#: builtin/notes.c:233 builtin/tag.c:696 #, c-format msgid "could not open or read '%s'" msgstr "файлът „%s“ не може да бъде отворен или прочетен" -#: builtin/notes.c:268 builtin/notes.c:319 builtin/notes.c:321 -#: builtin/notes.c:381 builtin/notes.c:435 builtin/notes.c:518 -#: builtin/notes.c:523 builtin/notes.c:598 builtin/notes.c:640 -#: builtin/notes.c:842 builtin/tag.c:709 +#: builtin/notes.c:252 builtin/notes.c:303 builtin/notes.c:305 +#: builtin/notes.c:365 builtin/notes.c:420 builtin/notes.c:506 +#: builtin/notes.c:511 builtin/notes.c:589 builtin/notes.c:652 +#: builtin/notes.c:854 builtin/tag.c:709 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Не може да се открие към какво сочи „%s“." -#: builtin/notes.c:271 +#: builtin/notes.c:255 #, c-format msgid "Failed to read object '%s'." msgstr "Обектът „%s“ не може да бъде прочетен." -#: builtin/notes.c:275 +#: builtin/notes.c:259 #, c-format msgid "Cannot read note data from non-blob object '%s'." msgstr "" "Съдържанието на бележка не може да се вземе от обект, който не е BLOB: „%s“." -#: builtin/notes.c:315 +#: builtin/notes.c:299 #, c-format msgid "Malformed input line: '%s'." msgstr "Даденият входен ред е с неправилен формат: „%s“." -#: builtin/notes.c:330 +#: builtin/notes.c:314 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "Бележката не може да се копира от „%s“ към „%s“" -#: builtin/notes.c:374 builtin/notes.c:428 builtin/notes.c:501 -#: builtin/notes.c:513 builtin/notes.c:586 builtin/notes.c:633 -#: builtin/notes.c:907 +#: builtin/notes.c:358 builtin/notes.c:413 builtin/notes.c:489 +#: builtin/notes.c:501 builtin/notes.c:577 builtin/notes.c:645 +#: builtin/notes.c:919 msgid "too many parameters" msgstr "прекалено много параметри" -#: builtin/notes.c:387 builtin/notes.c:646 +#: builtin/notes.c:371 builtin/notes.c:658 #, c-format msgid "No note found for object %s." msgstr "Няма бележки за обекта „%s“." -#: builtin/notes.c:409 builtin/notes.c:566 +#: builtin/notes.c:392 builtin/notes.c:555 msgid "note contents as a string" msgstr "низ, който е съдържанието на бележката" -#: builtin/notes.c:412 builtin/notes.c:569 +#: builtin/notes.c:395 builtin/notes.c:558 msgid "note contents in a file" msgstr "файл със съдържанието на бележката" -#: builtin/notes.c:414 builtin/notes.c:417 builtin/notes.c:571 -#: builtin/notes.c:574 builtin/tag.c:628 +#: builtin/notes.c:397 builtin/notes.c:400 builtin/notes.c:560 +#: builtin/notes.c:563 builtin/tag.c:628 msgid "object" msgstr "обект" -#: builtin/notes.c:415 builtin/notes.c:572 +#: builtin/notes.c:398 builtin/notes.c:561 msgid "reuse and edit specified note object" msgstr "преизползване и редактиране на указания обект-бележка" -#: builtin/notes.c:418 builtin/notes.c:575 +#: builtin/notes.c:401 builtin/notes.c:564 msgid "reuse specified note object" msgstr "преизползване на указания обект-бележка" -#: builtin/notes.c:420 builtin/notes.c:488 +#: builtin/notes.c:404 builtin/notes.c:567 +msgid "allow storing empty note" +msgstr "приемане и на празни бележки" + +#: builtin/notes.c:405 builtin/notes.c:476 msgid "replace existing notes" msgstr "замяна на съществуващите бележки" -#: builtin/notes.c:454 +#: builtin/notes.c:430 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8026,27 +8066,32 @@ msgstr "" "Не може да се добави бележка, защото такава вече съществува за обекта „%s“. " "Използвайте опцията „-f“, за да презапишете съществуващи бележки." -#: builtin/notes.c:459 builtin/notes.c:536 +#: builtin/notes.c:445 builtin/notes.c:524 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "Презаписване на съществуващите бележки за обекта „%s“\n" -#: builtin/notes.c:489 +#: builtin/notes.c:456 builtin/notes.c:617 builtin/notes.c:859 +#, c-format +msgid "Removing note for object %s\n" +msgstr "Изтриване на бележката за обекта „%s“\n" + +#: builtin/notes.c:477 msgid "read objects from stdin" msgstr "изчитане на обектите от стандартния вход" # FIXME imporve message -#: builtin/notes.c:491 +#: builtin/notes.c:479 msgid "load rewriting config for (implies --stdin)" msgstr "" "зареждане на настройките за КОМАНДАта, която презаписва подавания (включва " "опцията „--stdin“)" -#: builtin/notes.c:509 +#: builtin/notes.c:497 msgid "too few parameters" msgstr "прекалено малко параметри" -#: builtin/notes.c:530 +#: builtin/notes.c:518 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8055,14 +8100,14 @@ msgstr "" "Не може да се копира бележка, защото такава вече съществува за обекта „%s“. " "Използвайте опцията „-f“, за да презапишете съществуващи бележки." -#: builtin/notes.c:542 +#: builtin/notes.c:530 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "" "Не може да се копира бележка, която не съществува — няма бележки за обекта-" "източник „%s“." -#: builtin/notes.c:591 +#: builtin/notes.c:582 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8073,15 +8118,15 @@ msgstr "" "Вместо това ги използвайте с командата „add“: „git notes add -f -m/-F/-c/-" "C“.\n" -#: builtin/notes.c:738 +#: builtin/notes.c:750 msgid "General options" msgstr "Общи опции" -#: builtin/notes.c:740 +#: builtin/notes.c:752 msgid "Merge options" msgstr "Опции при сливане" -#: builtin/notes.c:742 +#: builtin/notes.c:754 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" @@ -8091,44 +8136,44 @@ msgstr "" "„union“ (обединяване), „cat_sort_uniq“ (обединяване, подреждане, уникални " "резултати)" -#: builtin/notes.c:744 +#: builtin/notes.c:756 msgid "Committing unmerged notes" msgstr "Подаване на неслети бележки" -#: builtin/notes.c:746 +#: builtin/notes.c:758 msgid "finalize notes merge by committing unmerged notes" msgstr "завършване на сливането чрез подаване на неслети бележки" -#: builtin/notes.c:748 +#: builtin/notes.c:760 msgid "Aborting notes merge resolution" msgstr "Преустановяване на корекцията при сливането на бележки" -#: builtin/notes.c:750 +#: builtin/notes.c:762 msgid "abort notes merge" msgstr "преустановяване на сливането на бележки" -#: builtin/notes.c:845 +#: builtin/notes.c:857 #, c-format msgid "Object %s has no note\n" msgstr "Няма бележки за обекта „%s“\n" -#: builtin/notes.c:857 +#: builtin/notes.c:869 msgid "attempt to remove non-existent note is not an error" msgstr "опитът за изтриването на несъществуваща бележка не се счита за грешка" -#: builtin/notes.c:860 +#: builtin/notes.c:872 msgid "read object names from the standard input" msgstr "изчитане на имената на обектите от стандартния вход" -#: builtin/notes.c:941 +#: builtin/notes.c:953 msgid "notes-ref" msgstr "УКАЗАТЕЛ_ЗА_БЕЛЕЖКА" -#: builtin/notes.c:942 -msgid "use notes from " +#: builtin/notes.c:954 +msgid "use notes from " msgstr "да се използва бележката сочена от този УКАЗАТЕЛ_ЗА_БЕЛЕЖКА" -#: builtin/notes.c:977 builtin/remote.c:1624 +#: builtin/notes.c:989 builtin/remote.c:1621 #, c-format msgid "Unknown subcommand: %s" msgstr "Непозната подкоманда: %s" @@ -8145,197 +8190,201 @@ msgstr "" "git pack-objects [ОПЦИЯ…] ПРЕФИКС_НА_ИМЕТО [< СПИСЪК_С_ВЕРСИИ | < " "СПИСЪК_С_ОБЕКТИ]" -#: builtin/pack-objects.c:177 builtin/pack-objects.c:180 +#: builtin/pack-objects.c:175 builtin/pack-objects.c:178 #, c-format msgid "deflate error (%d)" msgstr "грешка при декомпресиране с „deflate“ (%d)" -#: builtin/pack-objects.c:773 +#: builtin/pack-objects.c:771 msgid "Writing objects" msgstr "Записване на обектите" -#: builtin/pack-objects.c:1015 +#: builtin/pack-objects.c:1013 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "изключване на записването на битовата маска, защото някои обекти няма да се " "пакетират" -#: builtin/pack-objects.c:2175 +#: builtin/pack-objects.c:2173 msgid "Compressing objects" msgstr "Компресиране на обектите" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2570 #, c-format msgid "unsupported index version %s" msgstr "неподдържана версия на индекса „%s“" -#: builtin/pack-objects.c:2576 +#: builtin/pack-objects.c:2574 #, c-format msgid "bad index version '%s'" msgstr "неправилна версия на индекса „%s“" -#: builtin/pack-objects.c:2599 +#: builtin/pack-objects.c:2597 #, c-format msgid "option %s does not accept negative form" msgstr "опцията „%s“ не притежава отрицателна версия" -#: builtin/pack-objects.c:2603 +#: builtin/pack-objects.c:2601 #, c-format msgid "unable to parse value '%s' for option %s" msgstr "неразпозната стойност „%s“ за опцията „%s“" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2621 msgid "do not show progress meter" msgstr "без извеждане на напредъка" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2623 msgid "show progress meter" msgstr "извеждане на напредъка" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2625 msgid "show progress meter during object writing phase" msgstr "извеждане на напредъка във фазата на запазване на обектите" -#: builtin/pack-objects.c:2629 +#: builtin/pack-objects.c:2628 msgid "similar to --all-progress when progress meter is shown" msgstr "" "същото действие като опцията „--all-progress“ при извеждането на напредъка" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2629 msgid "version[,offset]" msgstr "ВЕРСИЯ[,ОТМЕСТВАНЕ]" -#: builtin/pack-objects.c:2631 +#: builtin/pack-objects.c:2630 msgid "write the pack index file in the specified idx format version" msgstr "" "запазване на индекса на пакетните файлове във форма̀та с указаната версия" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2633 msgid "maximum size of each output pack file" msgstr "максимален размер на всеки пакетен файл" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2635 msgid "ignore borrowed objects from alternate object store" msgstr "игнориране на обектите заети от други хранилища на обекти" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2637 msgid "ignore packed objects" msgstr "игнориране на пакетираните обекти" -#: builtin/pack-objects.c:2640 +#: builtin/pack-objects.c:2639 msgid "limit pack window by objects" msgstr "ограничаване на прозореца за пакетиране по брой обекти" -#: builtin/pack-objects.c:2642 +#: builtin/pack-objects.c:2641 msgid "limit pack window by memory in addition to object limit" msgstr "" "ограничаване на прозореца за пакетиране и по памет освен по брой обекти" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2643 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "максимална дължина на веригата от разлики, която е позволена в пакетния файл" -#: builtin/pack-objects.c:2646 +#: builtin/pack-objects.c:2645 msgid "reuse existing deltas" msgstr "преизползване на съществуващите разлики" -#: builtin/pack-objects.c:2648 +#: builtin/pack-objects.c:2647 msgid "reuse existing objects" msgstr "преизползване на съществуващите обекти" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2649 msgid "use OFS_DELTA objects" msgstr "използване на обекти „OFS_DELTA“" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2651 msgid "use threads when searching for best delta matches" msgstr "" "стартиране на нишки за претърсване на най-добрите съвпадения на разликите" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2653 msgid "do not create an empty pack output" msgstr "без създаване на празен пакетен файл" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2655 msgid "read revision arguments from standard input" msgstr "изчитане на версиите от стандартния вход" -#: builtin/pack-objects.c:2658 +#: builtin/pack-objects.c:2657 msgid "limit the objects to those that are not yet packed" msgstr "ограничаване до все още непакетираните обекти" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2660 msgid "include objects reachable from any reference" msgstr "" "включване на всички обекти, които могат да се достигнат от произволен " "указател" -#: builtin/pack-objects.c:2664 +#: builtin/pack-objects.c:2663 msgid "include objects referred by reflog entries" msgstr "включване и на обектите сочени от записите в журнала на указателите" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2666 msgid "include objects referred to by the index" msgstr "включване и на обектите сочени от индекса" -#: builtin/pack-objects.c:2670 +#: builtin/pack-objects.c:2669 msgid "output pack to stdout" msgstr "извеждане на пакета на стандартния изход" -#: builtin/pack-objects.c:2672 +#: builtin/pack-objects.c:2671 msgid "include tag objects that refer to objects to be packed" msgstr "" "включване и на обектите-етикети, които сочат към обектите, които ще бъдат " "пакетирани" -#: builtin/pack-objects.c:2674 +#: builtin/pack-objects.c:2673 msgid "keep unreachable objects" msgstr "запазване на недостижимите обекти" -#: builtin/pack-objects.c:2675 parse-options.h:140 +#: builtin/pack-objects.c:2674 parse-options.h:140 msgid "time" msgstr "ВРЕМЕ" -#: builtin/pack-objects.c:2676 +#: builtin/pack-objects.c:2675 msgid "unpack unreachable objects newer than